# What's New in NVDA

## 2014.2

### New Features

- Announcement of text selection is now possible in some custom edit fields where display information is used. (#770)
- In accessible Java applications, position information is now announced for radio buttons and other controls that expose group information. (#3754)
- In accessible Java applications, keyboard shortcuts are now announced for controls that have them. (#3881)
- In browse mode, labels on landmarks are now reported. They are also included in the Elements List dialog. (#1195)
- In browse mode, labelled regions are now treated as landmarks. (#3741)
- In Internet Explorer documents and applications, Live Regions (part of the W3c ARIA standard) are now supported, thus allowing web authors to mark particular content to be automatically spoken as it changes. (#1846)

### Changes

- When exiting a dialog or application within a browse mode document, the browse mode document's name and type is no longer announced. (#4069)

### Bug Fixes

- The standard Windows System menu is no longer accidentally silenced in Java applications. (#3882)
- When copying text from screen review, line breaks are no longer ignored. (#3900)
- Pointless whitespace objects are no longer reported in some applications when the focus changes or when using object navigation with simple review enabled. (#3839)
- Message boxes and other dialogs produced by NVDA again cause previous speech to be canceled before announcing the dialog.
- In browse mode, the labels of controls such as links and buttons are now rendered correctly where the label has been overridden by the author for accessibility purposes (specifically, using aria-label or aria-labelledby). (#1354)
- In Browse mode in Internet Explorer, text contained within an element marked as presentational (ARIA role="presentation") is no longer inappropriately ignored. (#4031)
- It is now again possible to type Vietnamese text using the Unikey software. To do this, uncheck the new Handle keys from other applications checkbox in NVDA's Keyboard settings dialog. (#4043)
- In browse mode, radio and check menu items are reported as controls instead of just clickable text. (#4092)
- NVDA no longer incorrectly switches from focus mode to browse mode when a radio or check menu item is focused. (#4092)
- In Microsoft PowerPoint with speaking of typed words enabled, characters erased with backspace are no longer announced as part of the typed word. (#3231)
- In Microsoft Office 2010 Options dialogs, the labels of combo boxes are reported correctly. (#4056)
- In browse mode in Mozilla applications, using quick navigation commands to move to the next or previous button or form field now includes toggle buttons as expected. (#4098)
- The content of alerts in Mozilla applications is no longer reported twice. (#3481)
- In browse mode, containers and landmarks are no longer inappropriately repeated while navigating within them at the same time as page content is changing (e.g. navigating the Facebook and Twitter websites). (#2199)
- NVDA recovers in more cases when switching away from applications that stop responding. (#3825)
- The caret (insertion point) again correctly updates when doing a sayAll command while in editable text drawn directly to the screen. (#4125)

## 2014.1

### New Features

- Support for Microsoft PowerPoint 2013. Note that protected view is not supported. (#3578)
- In Microsoft word and Excel, NVDA can now read the selected symbol when choosing symbols using the Insert Symbols dialog. (#3538)
- It is now possible to choose if content in documents should be identified as clickable via a new option in the Document Formatting settings dialog. This option is on by default in accordance with the previous behavior. (#3556)
- Support for braille displays connected via Bluetooth on a computer running the Widcomm Bluetooth Software. (#2418)
- When editing text in PowerPoint, hyperlinks are now reported. (#3416)
- When in ARIA applications or dialogs on the web, it is now possible to force NVDA to switch to browse mode with NVDA+space allowing document-style navigation of the application or dialog. (#2023)
- In Outlook Express / Windows Mail / Windows Live Mail, NVDA now reports if a message has an attachment or is flagged. (#1594)
- When navigating tables in accessible Java applications, row and column coordinates are now reported, including column and row headers if they exist. (#3756)

### Changes

- For Papenmeier braille displays, the move to flat review/focus command has been removed. Users can assign their own keys using the Input Gestures dialog. (#3652)
- NVDA now relies on the Microsoft VC runtime version 11, which means it can no longer be run on Operating systems older than Windows XP Service Pack 2 or Windows Server 2003 Service Pack 1.
- Punctuation level Some will now speak star (*) and plus (+) characters. (#3614)
- Upgraded eSpeak to version 1.48.04 which includes many language fixes and fixes several crashes. (#3842, #3739, #3860)

### Bug Fixes

- When moving around or selecting cells in Microsoft Excel, NVDA should no longer inappropriately announce the old cell rather than the new cell when Microsoft Excel is slow to move the selection. (#3558)
- NVDA properly handles opening a dropdown list for a cell in Microsoft Excel via the context menu. (#3586)
- New page content in iTunes 11 store pages is now shown properly in browse mode when following a link in the store or when opening the store initially. (#3625)
- Buttons for previewing songs in the iTunes 11 store now show their label in browse mode. (#3638)
- In browse mode in Google Chrome, the labels of check boxes and radio buttons are now rendered correctly. (#1562)
- In Instantbird, NVDA no longer reports useless information every time you move to a contact in the Contacts list. (#2667)
- In browse mode in Adobe Reader, the correct text is now rendered for buttons, etc. where the label has been overridden using a tooltip or other means. (#3640)
- In browse mode in Adobe Reader, extraneous graphics containing the text "mc-ref" will no longer be rendered. (#3645)
- NVDA no longer reports all cells in Microsoft Excel as underlined in their formatting information. (#3669)
- No longer show meaningless characters in browse mode documents such as those found in the Unicode private usage range. In some cases these were stopping more useful labels from being shown. (#2963)
- Input composition for entering east-asian characters no longer fails in PuTTY. (#3432)
- Navigating in a document after a canceled say all no longer results in NVDA sometimes incorrectly announcing that you have left a field (such as a table) lower in the document that the say all never actually spoke. (#3688)
- When using browse mode quick navigation commands while in say all with skim reading enabled, NVDA more accurately announces the new field; e.g. it now says a heading is a heading, rather than just its text. (#3689)
- The jump to end or start of container quick navigation commands now honor the skim reading during say all setting; i.e. they will no longer cancel the current say all. (#3675)
- Touch gesture names listed in NVDA's Input Gestures dialog are now friendly and localized. (#3624)
- NVDA no longer causes certain programs to crash when moving the mouse over their rich edit (TRichEdit) controls. Programs include Jarte 5.1 and BRfácil. (#3693, #3603, #3581)
- In Internet Explorer and other MSHTML controls, containers such as tables marked as presentation by ARIA are no longer reported to the user. (#3713)
- in Microsoft Word, NVDA no longer inappropriately repeats table row and column information for a cell on a braille display multiple times. (#3702)
- In languages which use a space as a digit group/thousands separator such as French and German, numbers from separate chunks of text are no longer pronounced as a single number. This was particularly problematic for table cells containing numbers. (#3698)
- Braille no longer sometimes fails to update when the system caret is moved in Microsoft Word 2013. (#3784)
- When positioned on the first character of a heading in Microsoft Word, the text communicating it is a heading (including the level) no longer disappears off a braille display. (#3701)
- When a configuration profile is triggered for an application and that application is exited, NVDA no longer sometimes fails to deactivate the profile. (#3732)
- When entering Asian input into a control within NVDA itself (e.g. the browse mode Find dialog), "NVDA" is no longer incorrectly reported in place of the candidate. (#3726)
- The tabs in the Outlook 2013 options dialog are now reported. (#3826)
- Improved support for ARIA live regions in Firefox and other Mozilla Gecko applications:
  - Support for aria-atomic updates and filtering of aria-busy updates. (#2640)
  - Alternative text (such as alt attribute or aria-label) is included if there is no other useful text. (#3329)
  - Live region updates are no longer silenced if they occur at the same time as the focus moves. (#3777)
- Certain presentation elements in Firefox and other Mozilla Gecko applications are no longer inappropriately shown in browse mode (specifically, when the element is marked with aria-presentation but it is also focusable). (#3781)
- A performance improvement when navigating a document in Microsoft Word with spelling errors enabled. (#3785)
- Several fixes to the support for accessible Java applications:
  - The initially focused control in a frame or dialog no longer fails to be reported when the frame or dialog comes to the foreground. (#3753)
  - Unuseful position information is no longer announced for radio buttons (e.g. 1 of 1). (#3754)
  - Better reporting of JComboBox controls (html no longer reported, better reporting of expanded and collapsed states). (#3755)
  - When reporting the text of dialogs, some text that was previously missing is now included. (#3757)
  - Changes to the name, value or description of the focused control is now reported more accurately. (#3770)
- Fix a crash in NVDA seen in Windows 8 when focusing on certain RichEdit controls containing large amounts of text (e.g. NVDA's log viewer, windbg). (#3867)
- On systems with a high DPI display setting (which occurs by default for many modern screens), NVDA no longer routes the mouse to the wrong location in some applications. (#3758, #3703)
- Fixed an occasional problem when browsing the web where NVDA would stop working correctly until restarted, even though it didn't crash or freeze. (#3804)
- A Papenmeier braille display can now be used even if a Papenmeier display has never been connected via USB. (#3712)
- NVDA no longer freezes when the Papenmeier BRAILLEX older models braille display is selected without a display connected.

### Changes for Developers

- AppModules now contain productName and productVersion properties. This info is also now included in Developer Info (NVDA+f1). (#1625)
- In the Python Console, you can now press the tab key to complete the current identifier. (#433)
  - If there are multiple possibilities, you can press tab a second time to choose from a list.

## 2013.3

### New Features

- Form fields are now reported in Microsoft word documents. (#2295)
- NVDA can now announce revision information in Microsoft Word when Track Changes is enabled. Note that Report editor revisions in NVDA's document settings dialog (off by default) must be enabled also for them to be announced. (#1670)
- Dropdown lists in Microsoft Excel 2003 through 2010 are now announced when opened and navigated around. (#3382)
- a new 'Allow Skim Reading in Say All' option in the Keyboard settings dialog allows navigating through a document with browse mode quick navigation and line / paragraph movement commands, while remaining in say all. This option is off by default. (#2766)
- There is now an Input Gestures dialog to allow simpler customization of the input gestures (such as keys on the keyboard) for NVDA commands. (#1532)
- You can now have different settings for different situations using configuration profiles. Profiles can be activated manually or automatically (e.g. for a particular application). (#87, #667, #1913)
- In Microsoft Excel, cells that are links are now announced as links. (#3042)
- In Microsoft Excel, the existance of comments on a cell is now reported to the user. (#2921)

### Bug Fixes

- Zend Studio now functions the same as Eclipse. (#3420)
- The changed state of certain checkboxes in the Microsoft Outlook 2010 message rules dialog are now reported automatically. (#3063)
- NVDA will now report the pinned state for pinned controls such as tabs in Mozilla Firefox. (#3372)
- It is now possible to bind scripts to keyboard gestures containing Alt and/or Windows keys as modifiers. Previously, if this was done, performing the script would cause the Start Menu or menu bar to be activated. (#3472)
- Selecting text in browse mode documents (e.g. using control+shift+end) no longer causes the keyboard layout to be switched on systems with multiple keyboard layouts installed. (#3472)
- Internet Explorer should no longer crash or become unusable when closing NVDA. (#3397)
- Physical movement and other events on some newer computers are no longer treated as inappropriate key presses. Previously, this silenced speech and sometimes triggered NVDA commands. (#3468)
- NVDA now behaves as expected in Poedit 1.5.7. Users using earlier versions will need to update. (#3485)
- NVDA can now read protected documents in Microsoft Word 2010, no longer causing Microsoft Word to crash. (#1686)
- If an unknown command line switch is given when launching the NVDA distribution package, it no longer causes an endless loop of error message dialogs. (#3463)
- NVDA no longer fails to report alt text of graphics and objects in Microsoft Word if the alt text contains quotes or other non-standard characters. (#3579)
- The number of items for certain horizontal lists in Browse mode is now correct. Previously it may have been double the actual amount. (#2151)
- When pressing control+a in a Microsoft Excel worksheet, the updated selection will now be reported. (#3043)
- NVDA can now correctly read XHTML documents in Microsoft Internet Explorer and other MSHTML controls. (#3542)
- Keyboard settings dialog: if no key has been chosen to be used as the NVDA key, an error is presented to the user when dismissing the dialog. At least one key must be chosen for proper usage of NVDA. (#2871)
- In Microsoft Excel, NVDA now announces merged cells differently to multiple selected cells. (#3567)
- The browse mode cursor is no longer positioned incorrectly when leaving a dialog or application inside the document. (#3145)
- Fixed an issue where the HumanWare Brailliant BI/B series braille display driver wasn't presented as an option in the Braille Settings dialog on some systems, even though such a display was connected via USB.
- NVDA no longer fails to switch to screen review when the navigator object has no actual screen location. In this case the review cursor is now placed at the top of the screen. (#3454)
- Fixed an issue which caused the Freedom Scientific braille display driver to fail when the port was set to USB in some circumstances. (#3509, #3662)
- Fixed an issue where keys on Freedom Scientific braille displays weren't detected in some circumstances. (#3401, #3662)

### Changes for Developers

- You can specify the category to be displayed to the user for scripts using the scriptCategory attribute on ScriptableObject classes and the category attribute on script methods. See the documentation for baseObject.ScriptableObject for more details. (#1532)
- config.save is deprecated and may be removed in a future release. Use config.conf.save instead. (#667)
- config.validateConfig is deprecated and may be removed in a future release. Add-ons which need this should provide their own implementation. (#667, #3632)

## 2013.2

### New Features

- Support for the Chromium Embedded Framework, which is a web browser control used in several applications. (#3108)
- New eSpeak voice variant: Iven3.
- In Skype, new chat messages are reported automatically while the conversation is focused. (#2298)
- Support for Tween, including reporting of tab names and less verbosity when reading tweets.
- You can now disable displaying of NVDA messages on a braille display by setting the message timeout to 0 in the Braille Settings dialog. (#2482)
- In the Add-ons Manager, there is now a Get Add-ons button to open the NVDA Add-ons web site where you can browse and download available add-ons. (#3209)
- In the NVDA Welcome dialog which always appears the first time you run NVDA, you can now specify whether NVDA starts automatically after you log on to Windows. (#2234)
- Sleep mode is automatically enabled when using Dolphin Cicero. (#2055)
- The Windows x64 version of Miranda IM/Miranda NG is now supported. (#3296)
- Search suggestions in the Windows 8.1 Start Screen are automatically reported. (#3322)
- Support for navigating and editing spreadsheets in Microsoft Excel 2013. (#3360)
- The Freedom Scientific Focus 14 Blue and Focus 80 Blue braille displays, as well as the Focus 40 Blue in certain configurations that weren't supported previously, are now supported when connected via Bluetooth. (#3307)
- Auto complete suggestions are now reported in Outlook 2010. (#2816)
- New braille translation tables: English (U.K.) computer braille, Korean grade 2, Russian braille for computer code.
- New language: Farsi. (#1427)

### Changes

- On a touch screen, performing a single finger flick left or right when in object mode now moves previous or next through all objects, not just those in the current container. Use 2-finger flick left or right to perform the original action of moving to the previous or next object in the current container.
- the Report layout tables checkbox found in the Browse Mode settings dialog has now been renamed to Include layout tables to reflect that quick navigation also will not locate them if the checkbox is unchecked. (#3140)
- Flat review has been replaced with object, document and screen review modes. (#2996)
  - Object review reviews text just within the navigator object, document review reviews all text in a browse mode document (if any) and screen review reviews text on the screen for the current application.
  - The commands that previously move to/from flat review now toggle between these new review modes.
  - The navigator object automatically follows the review cursor such that it remains the deepest object at the position of the review cursor when in document or screen review modes.
  - After switching to screen review mode, NVDA will stay in this mode until you explicitly switch back to document or object review mode.
  - When in document or object review mode, NVDA may automatically switch between these two modes depending on whether you are moving around a browse mode document or not.
- Updated liblouis braille translator to 2.5.3. (#3371)

### Bug Fixes

- Activating an object now announces the action before the activation, rather than the action after the activation (e.g. expand when expanding rather than collapse). (#2982)
- More accurate reading and cursor tracking in various input fields for recent versions of Skype, such as chat and search fields. (#1601, #3036)
- In the Skype recent conversations list, the number of new events is now read for each conversation if relevant. (#1446)
- Improvements to cursor tracking and reading order for right-to-left text written to the screen; e.g. editing Arabic text in Microsoft Excel. (#1601)
- Quick navigation to buttons and form fields will now locate links marked as buttons for accessibility purposes in Internet Explorer. (#2750)
- In browse mode, the content inside tree views is no longer rendered, as a flattened representation isn't useful. You can press enter on a tree view to interact with it in focus mode. (#3023)
- Pressing alt+downArrow or alt+upArrow to expand a combo box while in focus mode no longer incorrectly switches to browse mode. (#2340)
- In Internet Explorer 10, table cells no longer activate focus mode, unless they have been explicitly made focusable by the web author. (#3248)
- NVDA no longer fails to start if the system time is earlier than the last check for an update. (#3260)
- If a progress bar is shown on a braille display, the braille display is updated when the progress bar changes. (#3258)
- In browse mode in Mozilla applications, table captions are no longer rendered twice. In addition, the summary is rendered when there is also a caption. (#3196)
- When changing input languages in Windows 8, NVDA now speaks the correct language rather than the previous one.
- NVDA now announces IME conversion mode changes in Windows 8.
- NVDA no longer announces garbage on the Desktop when the Google Japanese or Atok IME input methods are in use. (#3234)
- In Windows 7 and above, NVDA no longer inappropriately announces speech recognition or touch input as a keyboard language change.
- NVDA no longer announces a particular special character (0x7f) when pressing control+backspace in some editors when speak typed characters is enabled. (#3315)
- eSpeak no longer inappropriately changes in pitch, volume, etc. when NVDA reads text containing certain control characters or XML. (#3334) (regression of #437)
- In Java applications, changes to the label or value of the focused control are now announced automatically, and are reflected when subsequently querying the control. (#3119)
- In Scintilla controls, lines are now reported correctly when word wrap is enabled. (#885)
- In Mozilla applications, the name of read-only list items is now correctly reported; e.g. when navigating tweets in focus mode on twitter.com. (#3327)
- Confirmation dialogs in Microsoft Office 2013 now have their content automatically read when they appear.
- Performance improvements when navigating certain tables in Microsoft Word. (#3326)
- NVDA's table navigation commands (control+alt+arrows) function better in certain Microsoft Word tables where a cell spans multiple rows.
- If the Add-ons Manager is already open, activating it again (either from the Tools menu or by opening an add-on file) no longer fails or makes it impossible to close the Add-ons Manager. (#3351)
- NVDA no longer freezes in certain dialogs when Japanese or Chinese Office 2010 IME is in use. (#3064)
- Multiple spaces are no longer compressed to just one space on braille displays. (#1366)
- Zend Eclipse PHP Developer Tools now functions the same as Eclipse. (#3353)
- In Internet Explorer, It is again not necessary to press tab to interact with an embedded object (such as Flash content) after pressing enter on it. (#3364)
- When editing text in Microsoft PowerPoint, the last line is no longer reported as the line above, if the final line is blank. (#3403)
- In Microsoft PowerPoint, objects are no longer sometimes spoken twice when you select them or choose to edit them. (#3394)
- NVDA no longer causes Adobe Reader to crash or freeze for certain badly formed PDF documents containing rows outside of tables. (#3399)
- NVDA now correctly detects the next slide with focus when deleting a slide in Microsoft PowerPoint's thumbnails view. (#3415)

### Changes for Developers

- windowUtils.findDescendantWindow has been added to search for a descendant window (HWND) matching the specified visibility, control ID and/or class name.
- The remote Python console no longer times out after 10 seconds while waiting for input. (#3126)
- Inclusion of the bisect module in binary builds is deprecated and may be removed in a future release. (#3368)
  - Add-ons which depend on bisect (including the urllib2 module) should be updated to include this module.

## 2013.1.1

This release fixes the problem where NVDA crashed when started if configured to use the Irish language, as well as including updates to translations and some other bug fixes.

### Bug Fixes

- Correct characters are produced when typing in NVDA's own user interface while using a Korean or Japanese input method while it is the default method. (#2909)
- In Internet Explorer and other MSHTML controls, fields marked as containing an invalid entry are now handled correctly. (#3256)
- NVDA no longer crashes when started if it is configured to use the Irish language.

## 2013.1

Highlights of this release include a more intuitive and consistent laptop keyboard layout; basic support for Microsoft PowerPoint; support for long descriptions in web browsers; and support for input of computer braille for braille displays which have a braille keyboard.

### Important

#### New Laptop Keyboard Layout

The laptop keyboard layout has been completely redesigned in order to make it more intuitive and consistent. The new layout uses the arrow keys in combination with the NVDA key and other modifiers for review commands.

Please note the following changes to commonly used commands:

Name | Key
--- | ---
Say all | NVDA+a
Read current line | NVDA+l
Read current text selection | NVDA+shift+s
Report status bar | NVDA+shift+end

In addition, among other changes, all of the object navigation, text review, mouse click and synth settings ring commands have changed. Please see the Commands Quick Reference document for the new keys.

### New Features

- Basic support for editing and reading Microsoft PowerPoint presentations. (#501)
- Basic support for reading and writing messages in Lotus Notes 8.5. (#543)
- Support for automatic language switching when reading documents in Microsoft Word. (#2047)
- In Browse mode for MSHTML (e.g. Internet Explorer) and Gecko (e.g. Firefox), the existance of long descriptions are now announced. It's also possible to open the long description in a new window by pressing NVDA+d. (#809)
- Notifications in Internet Explorer 9 and above are now spoken (such as content blocking or file downloads). (#2343)
- Automatic reporting of table row and column headers is now supported for browse mode documents in Internet Explorer and other MSHTML controls. (#778)
- New language: Aragonese, Irish
- New braille translation tables: Danish grade 2, Korean grade 1. (#2737)
- Support for braille displays connected via bluetooth on a computer running the Bluetooth Stack for Windows by Toshiba. (#2419)
- Support for port selection when using Freedom Scientific displays (Automatic, USB or Bluetooth).
- Support for the BrailleNote family of notetakers from HumanWare when acting as a braille terminal for a screen reader. (#2012)
- Support for older models of Papenmeier BRAILLEX braille displays. (#2679)
- Support for input of computer braille for braille displays which have a braille keyboard. (#808)
- New keyboard settings that allow the choice for whether NVDA should interrupt speech for typed characters and/or the Enter key. (#698)
- Support for several browsers based on Google Chrome: Rockmelt, BlackHawk, Comodo Dragon and SRWare Iron. (#2236, #2813, #2814, #2815)

### Changes

- Updated liblouis braille translator to 2.5.2. (#2737)
- The laptop keyboard layout has been completely redesigned in order to make it more intuitive and consistent. (#804)
- Updated eSpeak speech synthesizer to 1.47.11. (#2680, #3124, #3132, #3141, #3143, #3172)

### Bug Fixes

- The quick navigation keys for jumping to the next or previous separator in Browse Mode now work in Internet Explorer and other MSHTML controls. (#2781)
- If NVDA falls back to eSpeak or no speech due to the configured speech synthesizer failing when NVDA starts, the configured choice is no longer automatically set to the fallback synthesizer. This means that now, the original synthesizer will be tried again next time NVDA starts. (#2589)
- If NVDA falls back to no braille due to the configured braille display failing when NVDA starts, the configured display is no longer automatically set to no braille. This means that now, the original display will be tried again next time NVDA starts. (#2264)
- In browse mode in Mozilla applications, updates to tables are now rendered correctly. For example, in updated cells, row and column coordinates are reported and table navigation works as it should. (#2784)
- In browse mode in web browsers, certain clickable unlabelled graphics which weren't previously rendered are now rendered correctly. (#2838)
- Earlier and newer versions of SecureCRT are now supported. (#2800)
- For input methods such as Easy Dots IME under XP, the reading string is now correctly reported.
- The candidate list in the Chinese Simplified Microsoft Pinyin input method under Windows 7 is now correctly read when changing pages with left and right arrow, and when first opening it with Home.
- When custom symbol pronunciation information is saved, the advanced "preserve" field is no longer removed. (#2852)
- When disabling automatic checking for updates, NVDA no longer has to be restarted in order for the change to fully take effect.
- NVDA no longer fails to start if an add-on cannot be removed due to its directory currently being in use by another application. (#2860)
- Tab labels in DropBox's preferences dialog can now be seen with Flat Review.
- If the input language is changed to something other than the default, NVDA now detects keys correctly for commands and input help mode.
- For languages such as German where the + (plus) sign is a single key on the keyboard, it is now possible to bind commands to it by using the word "plus". (#2898)
- In Internet Explorer and other MSHTML controls, block quotes are now reported where appropriate. (#2888)
- The HumanWare Brailliant BI/B series braille display driver can now be selected when the display is connected via Bluetooth but has never been connected via USB.
- Filtering elements in the Browse Mode Elements list with uppercase filter text now returns case-insensitive results just like lowercase rather than nothing at all. (#2951)
- In Mozilla browsers, browse mode can again be used when Flash content is focused. (#2546)
- When using a contracted braille table and expand to computer braille for the word at the cursor is enabled, the braille cursor is now positioned correctly when located after a word wherein a character is represented by multiple braille cells (e.g. capital sign, letter sign, number sign, etc.). (#2947)
- Text selection is now correctly shown on a braille display in applications such as Microsoft word 2003 and Internet Explorer edit controls.
- It is again possible to select text in a backward direction in Microsoft Word while Braille is enabled.
- When reviewing, backspacing or deleting characters In Scintilla edit controls, NVDA correctly announces multibyte characters. (#2855)
- NVDA will no longer fail to install when the user's profile path contains certain multibyte characters. (#2729)
- Reporting of groups for List View controls (SysListview32) in 64-bit applications no longer causes an error.
- In browse mode in Mozilla applications, text content is no longer incorrectly treated as editable in some rare cases. (#2959)
- In IBM Lotus Symphony and OpenOffice, moving the caret now moves the review cursor if appropriate.
- Adobe Flash content is now accessible in Internet Explorer in Windows 8. (#2454)
- Fixed Bluetooth support for Papenmeier Braillex Trio. (#2995)
- Fixed inability to use certain Microsoft Speech API version 5 voices such as Koba Speech 2 voices. (#2629)
- In applications using the Java Access Bridge, braille displays are now updated correctly when the caret moves in editable text fields . (#3107)
- Support the form landmark in browse mode documents that support landmarks. (#2997)
- The eSpeak synthesizer driver now handles reading by character more appropriately (e.g. announcing a foreign letter's name or value rather than just its sound or generic name). (#3106)
- NVDA no longer fails to copy user settings for use on logon and other secure screens when the user's profile path contains non-ASCII characters. (#3092)
- NVDA no longer freezes when using Asian character input in some .NET applications. (#3005)
- it is now possible to use browse mode for pages in Internet Explorer 10 when in standards mode; e.g. www.gmail.com login page. (#3151)

### Changes for Developers

- Braille display drivers can now support manual port selection. (#426)
  - This is most useful for braille displays which support connection via a legacy serial port.
  - This is done using the getPossiblePorts class method on the BrailleDisplayDriver class.
- Braille input from braille keyboards is now supported. (#808)
  - Braille input is encompassed by the brailleInput.BrailleInputGesture class or a subclass thereof.
  - Subclasses of braille.BrailleDisplayGesture (as implemented in braille display drivers) can also inherit from brailleInput.BrailleInputGesture. This allows display commands and braille input to be handled by the same gesture class.
- You can now use comHelper.getActiveObject to get an active COM object from a normal process when NVDA is running with the UIAccess privilege. (#2483)

## 2012.3

Highlights of this release include support for Asian character input; experimental support for touch screens on Windows 8; reporting of page numbers and improved support for tables in Adobe Reader; table navigation commands in focused table rows and Windows list-view controls; support for several more braille displays; and reporting of row and column headers in Microsoft Excel.

### New Features

- NVDA can now support Asian character input using IME and text service input methods in all applications, Including:
  - Reporting and navigation of candidate lists;
  - Reporting and navigation of composition strings; and
  - Reporting of reading strings.
- The presence of underline and strikethrough is now reported in Adobe Reader documents. (#2410)
- When the Windows Sticky Keys function is enabled, the NVDA modifier key will now behave like other modifier keys. This allows you to use the NVDA modifier key without needing to hold it down while you press other keys. (#230)
- Automatic reporting of column and row headers is now supported in Microsoft Excel. Press NVDA+shift+c to set the row containing column headers and NVDA+shift+r to set the column containing row headers. Press either command twice in quick succession to clear the setting. (#1519)
- Support for HIMS Braille Sense, Braille EDGE and SyncBraille braille displays. (#1266, #1267)
- When Windows 8 Toast notifications appear, NVDA will report them if reporting of help balloons is enabled. (#2143)
- Experimental support for Touch screens on Windows 8, including:
  - Reading text directly under your finger while moving it around
  - Many gestures for performing object navigation, text review, and other NVDA commands.
- Support for VIP Mud. (#1728)
- In Adobe Reader, if a table has a summary, it is now presented. (#2465)
- In Adobe Reader, table row and column headers can now be reported. (#2193, #2527, #2528)
- New languages: Amharic, Korean, Nepali, Slovenian.
- NVDA can now read auto complete suggestions when entering email addresses in Microsoft Outlook 2007. (#689)
- New eSpeak voice variants: Gene, Gene2. (#2512)
- In Adobe Reader, page numbers can now be reported. (#2534)
  - In Reader XI, page labels are reported where present, reflecting changes to page numbering in different sections, etc. In earlier versions, this is not possible and only sequential page numbers are reported.
- It is now possible to reset NVDA's configuration to factory defaults either by pressing NVDA+control+r three times quickly or by choosing Reset to Factory Defaults from the NVDA menu. (#2086)
- Support for the Seika Version 3, 4 and 5 and Seika80 braille displays from Nippon Telesoft. (#2452)
- The first and last top routing buttons on Freedom Scientific PAC Mate and Focus Braille displays can now be used to scroll backward and forward. (#2556)
- Many more features are supported on Freedom Scientific Focus Braille displays such as advance bars, rocker bars and certain dot combinations for common actions. (#2516)
- In applications using IAccessible2 such as Mozilla applications, table row and column headers can now be reported outside of browse mode. (#926)
- Preliminary support for the document control in Microsoft Word 2013. (#2543)
- Text alignment can now be reported in applications using IAccessible2 such as Mozilla applications. (#2612)
- When a table row or standard Windows list-view control with multiple columns is focused, you can now use the table navigation commands to access individual cells. (#828)
- New braille translation tables: Estonian grade 0, Portuguese 8 dot computer braille, Italian 6 dot computer braille. (#2319, #2662)
- If NVDA is installed on the system, directly opening an NVDA add-on package (e.g. from Windows Explorer or after downloading in a web browser) will install it into NVDA. (#2306)
- Support for newer models of Papenmeier BRAILLEX braille displays. (#1265)
- Position information (e.g. 1 of 4) is now reported for Windows Explorer list items on Windows 7 and above. This also includes any UIAutomation controls that support the itemIndex and itemCount custom properties. (#2643)

### Changes

- In the NVDA Review Cursor preferences dialog, the Follow keyboard focus option has been renamed to Follow system focus for consistency with terminology used elsewhere in NVDA.
- When braille is tethered to review and the cursor is on an object which is not a text object (e.g. an editable text field), cursor routing keys will now activate the object. (#2386)
- The Save Settings On Exit option is now on by default for new configurations.
- When updating a previously installed copy of NVDA, the desktop shortcut key is no longer forced back to control+alt+n if it was manually changed to something different by the user. (#2572)
- The add-ons list in the Add-ons Manager now shows the package name before its status. (#2548)
- If installing the same or another version of a currently installed add-on, NVDA will ask if you wish to update the add-on, rather than just showing an error and aborting installation. (#2501)
- Object navigation commands (except the report current object command) now report with less verbosity. You can still obtain the extra information by using the report current object command. (#2560)
- Updated liblouis braille translator to 2.5.1. (#2319, #2480, #2662, #2672)
- The NVDA Key Commands Quick Reference document has been renamed to Commands Quick Reference, as it now includes touch commands as well as keyboard commands.
- The Elements list in Browse mode will now remember the last element type shown (e.g. links, headings or landmarks) each time the dialog is shown within the same session of NVDA. (#365)
- Most Metro apps in Windows 8 (e.g. Mail, Calendar) no longer activate Browse Mode for the entire app.
- Updated Handy Tech BrailleDriver COM-Server to 1.4.2.0.

### Bug Fixes

- In Windows Vista and later, NVDA no longer incorrectly treats the Windows key as being held down when unlocking Windows after locking it by pressing Windows+l. (#1856)
- In Adobe Reader, row headers are now correctly recognised as table cells; i.e. coordinates are reported and they can be accessed using table navigation commands. (#2444)
- In Adobe Reader, table cells spanning more than one column and/or row are now handled correctly. (#2437, #2438, #2450)
- The NVDA distribution package now checks its integrity before executing. (#2475)
- Temporary download files are now removed if downloading of an NVDA update fails. (#2477)
- NVDA will no longer freeze when it is running as an administrator while copying the user configuration to the system configuration (for use on Windows logon and other secure screens). (#2485)
- Tiles on the Windows 8 Start Screen are now presented better in speech and braille. The name is no longer repeated, unselected is no longer reported on all tiles, and live status information is presented as the description of the tile (e.g. current temperature for the Weather tile).
- Passwords are no longer announced when reading password fields in Microsoft Outlook and other standard edit controls that are marked as protected. (#2021)
- In Adobe Reader, changes to form fields are now correctly reflected in browse mode. (#2529)
- Improvements to support for the Microsoft Word Spell Checker, including more accurate reading of the current spelling error, and the ability to support the spell checker when running an Installed copy of NVDA on Windows Vista or higher.
- Add-ons which include files containing non-English characters can now be installed correctly in most cases. (#2505)
- In Adobe Reader, the language of text is no longer lost when it is updated or scrolled to. (#2544)
- When installing an add-on, the confirmation dialog now correctly shows the localized name of the add-on if available. (#2422)
- In applications using UI Automation (such as .net and Silverlight applications), the calculation of numeric values for controls such as sliders has been corrected. (#2417)
- The configuration for reporting of progress bars is now honoured for the indeterminate progress bars displayed by NVDA when installing, creating a portable copy, etc. (#2574)
- NVDA commands can no longer be executed from a braille display while a secure Windows screen (such as the Lock screen) is active. (#2449)
- In browse mode, braille is now updated if the text being displayed changes. (#2074)
- When on a secure Windows screen such as the Lock screen, messages from applications speaking or displaying braille directly via NVDA are now ignored.
- In Browse mode, it is no longer possible to fall off the bottom of the document with the right arrow key when on the final character, or by jumping to the end of a container when that container is the last item in the document. (#2463)
- Extraneous content is no longer incorrectly included when reporting the text of dialogs in web applications (specifically, ARIA dialogs with no aria-describedby attribute). (#2390)
- NVDA no longer incorrectly reports or locates certain edit fields in MSHTML documents (e.g. Internet Explorer), specifically where an explicit ARIA role has been used by the web page author. (#2435)
- The backspace key is now handled correctly when speaking typed words in Windows command consoles. (#2586)
- Cell coordinates in Microsoft Excel are now shown again in Braille.
- In Microsoft Word, NVDA no longer leaves you stuck on a paragraph with list formatting when trying to navigate out over a bullet or number with left arrow or control + left arrow. (#2402)
- In browse mode in Mozilla applications, the items in certain list boxes (specifically, ARIA list boxes) are no longer incorrectly rendered.
- In browse mode in Mozilla applications, certain controls that were rendered with an incorrect label or just whitespace are now rendered with the correct label.
- In browse mode in Mozilla applications, some extraneous whitespace has been eliminated.
- In browse mode in web browsers, certain graphics that are explicitly marked as presentational (specifically, with an alt="" attribute) are now correctly ignored.
- In web browsers, NVDA now hides content which is marked as hidden from screen readers (specifically, using the aria-hidden attribute). (#2117)
- Negative currency amounts (e.g. -$123) are now correctly spoken as negative, regardless of symbol level. (#2625)
- During say all, NVDA will no longer incorrectly revert to the default language where a line does not end a sentence. (#2630)
- Font information is now correctly detected in Adobe Reader 10.1 and later. (#2175)
- In Adobe Reader, if alternate text is provided, only that text will be rendered. Previously, extraneous text was sometimes included. (#2174)
- Where a document contains an application, the content of the application is no longer included in browse mode. This prevents unexpectedly moving inside the application when navigating. You can interact with the application in the same way as for embedded objects. (#990)
- In Mozilla applications, the value of spin buttons is now correctly reported when it changes. (#2653)
- Updated support for Adobe Digital Editions so that it works in version 2.0. (#2688)
- Pressing NVDA+upArrow while on a combo box in Internet Explorer and other MSHTML documents will no longer incorrectly read all items. Rather, just the active item will be read. (#2337)
- Speech dictionaries will now properly save when using a number (#) sign within the pattern or replacement fields. (#961)
- Browse mode for MSHTML documents (e.g. Internet Explorer) now correctly displays visible content contained within hidden content (specifically, elements with a style of visibility:visible inside an element with style visibility:hidden). (#2097)
- Links in Windows XP's Security Center no longer report random junk after their names. (#1331)
- UI Automation text controls (e.g. the search field in the Windows 7 Start Menu) are now correctly announced when moving the mouse over them rather than staying silent.
- Keyboard layout changes are no longer reported during say all, which was particularly problematic for multilingual documents including Arabic text. (#1676)
- The entire content of some UI Automation editable text controls (e.g. the Search Box in the Windows 7/8 Start Menu) is no longer announced every time it changes.
- When moving between groups on the Windows 8 start screen, unlabeled groups no longer announce their first tile as the name of the group. (#2658)
- When opening the Windows 8 start screen, the focus is correctly placed on the first tile, rather than jumping to the root of the start screen which can confuse navigation. (#2720)
- NVDA will no longer fail to start when the user's profile path contains certain multibyte characters. (#2729)
- In browse mode in Google Chrome, the text of tabs is now rendered correctly.
- In browse mode, menu buttons are now reported correctly.
- In OpenOffice.org/LibreOffice Calc, reading spreadsheet cells now works correctly. (#2765)
- NVDA can again function in the Yahoo! Mail message list when used from Internet Explorer. (#2780)

### Changes for Developers

- Previous log file is now copied to nvda-old.log on NVDA initialization. Therefore, if NVDA crashes or is restarted, logging information from that session is still accessible for inspection. (#916)
- Fetching the role property in chooseNVDAObjectOverlayClasses no longer causes the role to be incorrect and thus not reported on focus for certain objects such as Windows command consoles and Scintilla controls. (#2569)
- The NVDA Preferences, Tools and Help menus are now accessible as attributes on gui.mainFrame.sysTrayIcon named preferencesMenu, toolsMenu and helpMenu, respectively. This allows plugins to more easily add items to these menus.
- The navigatorObject_doDefaultAction script in globalCommands has been renamed to review_activate.
- Gettext message contexts are now supported. This allows multiple translations to be defined for a single English message depending on the context. (#1524)
  - This is done using the pgettext(context, message) function.
  - This is supported for both NVDA itself and add-ons.
  - xgettext and msgfmt from GNU gettext must be used to create any PO and MO files. The Python tools do not support message contexts.
  - For xgettext, pass the --keyword=pgettext:1c,2 command line argument to enable inclusion of message contexts.
  - See http://www.gnu.org/software/gettext/manual/html_node/Contexts.html#Contexts for more information.
- It is now possible to access built-in NVDA modules where they have been overridden by third party modules. See the nvdaBuiltin module for details.
- Add-on translation support can now be used within the add-on installTasks module. (#2715)

## 2012.2.1

This release addresses several potential security issues (by upgrading Python to 2.7.3).

## 2012.2

Highlights of this release include an in-built installer and portable creation feature, automatic updates, easy management of new NVDA add-ons, announcement of graphics in Microsoft Word, support for Windows 8 Metro style apps, and several important bug fixes.

### New Features

- NVDA can now automatically check for, download and install updates. (#73)
- Extending NVDA's functionality has been made easier with the addition of an Add-ons Manager (found under Tools in the NVDA menu) allowing you to install and uninstall new NVDA add-on packages (.nvda-addon files) containing plugins and drivers. Note the Add-on manager does not show older custom plugins and drivers manually copied in to your configuration directory. (#213)
- Many more common NVDA features now work in Windows 8 Metro style apps when using an installed release of NVDA, including speaking of typed characters, and browse mode for web documents (includes support for metro version of Internet Explorer 10). Portable copies of NVDA cannot access metro style apps. (#1801)
- In browse mode documents (Internet Explorer, Firefox, etc.), you can now jump to the start and past the end of certain containing elements (such as lists and tables) with shift+, and , respectively. (#123)
- New language: Greek.
- Graphics and alt text are now reported in Microsoft Word Documents. (#2282, #1541)

### Changes

- Announcement of cell coordinates in Microsoft Excel is now after the content rather than before, and is now only included if the report tables and report table cell coordinates settings are enabled in the Document formatting settings dialog. (#320)
- NVDA is now distributed in one package. Rather than separate portable and installer versions, there is now just one file that, when run, will start a temporary copy of NVDA and will allow you to install or generate a portable distribution. (#1715)
- NVDA is now always installed in to Program Files on all systems. Updating a previous install will also automatically move it if it was not previously installed there.

### Bug Fixes

- With auto language switching enabled, Content such as alt text for graphics and labels for other certain controls in Mozilla Gecko (e.g. Firefox) are now reported in the correct language if marked up appropriately.
- SayAll in BibleSeeker (and other TRxRichEdit controls) no longer stops in the middle of a passage.
- Lists found in the Windows 8 Explorer file properties (permitions tab) and in Windows 8 Windows Update now read correctly.
- Fixed possible freezes in MS Word which would result when it took more than 2 seconds to fetch text from a document (extremely long lines or tables of contents). (#2191)
- Detection of word breaks now works correctly where whitespace is followed by certain punctuation. (#1656)
- In browse mode in Adobe Reader, it is now possible to navigate to headings without a level using quick navigation and the Elements List. (#2181)
- In Winamp, braille is now correctly updated when you move to a different item in the Playlist Editor. (#1912)
- The tree in the Elements List (available for browse mode documents) is now properly sized to show the text of each element. (#2276)
- In applications using the Java Access Bridge, editable text fields are now presented correctly in braille. (#2284)
- In applications using the java Access Bridge, editable text fields no longer report strange characters in certain circumstances. (#1892)
- In applications using the Java Access Bridge, when at the end of an editable text field, the current line is now reported correctly. (#1892)
- In browse mode in applications using Mozilla Gecko 14 and later (e.g. Firefox 14), quick navigation now works for block quotes and embedded objects. (#2287)
- In Internet Explorer 9, NVDA no longer reads unwanted content when focus moves inside certain landmarks or focusable elements (specifically, a div element which is focusable or has an ARIA landmark role).
- The NVDA icon for the NVDA Desktop and Start Menu shortcuts is now displayed correctly on 64 bit editions of Windows. (#354)

### Changes for Developers

- Due to the replacement of the previous NSIS installer for NVDA with a built-in installer in Python, it is no longer necessary for translaters to maintain a langstrings.txt file for the installer. All localization strings are now managed by gettext po files.

## 2012.1

Highlights of this release include features for more fluent reading of braille; indication of document formatting in braille; access to much more formatting information and improved performance in Microsoft Word; and support for the iTunes Store.

### New Features

- NVDA can announce the number of leading tabs and spaces of the current line in the order that they are entered. This can be enabled by selecting report line indentation in the document formatting dialogue. (#373)
- NVDA can now detect key presses generated from alternative keyboard input emulation such as on-screen keyboards and speech recognition software.
- NVDA can now detect colors in Windows command consoles.
- Bold, italic and underline are now indicated in braille using signs appropriate to the configured translation table. (#538)
- Much more information is now reported in Microsoft Word documents, including:
  - Inline information such as footnote and endnote numbers, heading levels, the existance of comments, table nesting levels, links, and text color;
  - Reporting when entering document sections such as the comments story, footnotes and endnotes stories, and header and footer stories.
- Braille now indicates selected text using dots 7 and 8. (#889)
- Braille now reports information about controls within documents such as links, buttons and headings. (#202)
- Support for the hedo ProfiLine and MobilLine USB braille displays. (#1863, #1897)
- NVDA now avoids splitting words in braille when possible by default. This can be disabled in the Braille Settings dialog. (#1890, #1946)
- It is now possible to have braille displayed by paragraphs instead of lines, which may allow for more fluent reading of large amounts of text. This is configurable using the Read by paragraphs option in the Braille Settings dialog. (#1891)
- In browse mode, you can activate the object under the cursor using a braille display. This is done by pressing the cursor routing key where the cursor is located (which means pressing it twice if the cursor is not already there). (#1893)
- Basic support for web areas in iTunes such as the Store. Other applications using WebKit 1 may also be supported. (#734)
- In books in Adobe Digital Editions 1.8.1 and later, pages are now turned automatically when using say all. (#1978)
- New braille translation tables: Portuguese grade 2, Icelandic 8 dot computer braille, Tamil grade 1, Spanish 8 dot computer braille, Farsi grade 1. (#2014)
- You can now configure whether frames in documents are reported from the Document Formatting preferences dialog. (#1900)
- Sleep mode is automatically enabled when using OpenBook. (#1209)
- In Poedit, translators can now read translator added and automatically extracted comments. Messages that are untranslated or fuzzy are marked with a star and a beep is heard when you navigate onto them. (#1811)
- Support for the HumanWare Brailliant BI and B series displays. (#1990)
- New languages: Norwegian Bokmål, Traditional Chinese (Hong Kong).

### Changes

- Commands to describe the current character or to spell the current word or line now will spell in the appropriate language according to the text, if auto language switching is turned on and the appropriate language information is available.
- Updated eSpeak speech synthesizer to 1.46.02.
- NVDA will now truncate extremely long (30 characters or greater) names guessed from graphic and link URLs as they are most likely garbage that gets in the way of reading. (#1989)
- Some information displayed in braille has been abbreviated. (#1955, #2043)
- When the caret or review cursor moves, braille is now scrolled in the same way as when it is manually scrolled. This makes it more appropriate when braille is configured to read by paragraphs and/or avoid splitting words. (#1996)
- Updated to new Spanish grade 1 braille translation table.
- Updated liblouis braille translator to 2.4.1.

### Bug Fixes

- In Windows 8, focus is no longer incorrectly moved away from the Windows Explorer search field, which was not allowing NVDA to interact with it.
- Major performance improvements when reading and navigating Microsoft Word documents while automatic reporting of formatting is enabled, thus now making it quite comfortable to proof read formatting etc. Performance may be also improved over all for some users.
- Browse mode is now used for full screen Adobe Flash content.
- Fixed poor audio quality in some cases when using Microsoft Speech API version 5 voices with the audio output device set to something other than the default (Microsoft Sound Mapper). (#749)
- Again allow NVDA to be used with the "no speech" synthesizer, relying purely on braille or the speech viewer. (#1963)
- Object navigation commands no longer report "No children" and "No parents", but instead report messages consistent with the documentation.
- When NVDA is configured to use a language other than English, the name of the tab key is now reported in the correct language.
- In Mozilla Gecko (e.g. Firefox), NVDA no longer intermittently switches to browse mode while navigating menus in documents. (#2025)
- In Calculator, the backspace key now reports the updated result instead of reporting nothing. (#2030)
- In browse mode, the move mouse to current navigator object command now routes to the center of the object at the review cursor instead of the top left, making it more accurate it some cases. (#2029)
- In browse mode with automatic focus mode for focus changes enabled, focusing on a toolbar will now switch to focus mode. (#1339)
- The report title command works correctly again in Adobe Reader.
- With automatic focus mode for focus changes enabled, focus mode is now correctly used for focused table cells; e.g. in ARIA grids. (#1763)
- In iTunes, position information in certain lists is now reported correctly.
- In Adobe Reader, some links are no longer treated as containing read-only editable text fields.
- The labels of some editable text fields are no longer incorrectly included when reporting the text of a dialog. (#1960)
- The description of groupings is once again reported if reporting of object descriptions is enabled.
- The human readable sizes are now included in the text of the Windows Explorer drive properties dialog.
- Double reporting of property page text has been suppressed in some cases. (#218)
- Improved tracking of the caret in editable text fields which rely on text written to the screen. In particular, this improves editing in the Microsoft Excel cell editor and the Eudora message editor. (#1658)
- In Firefox 11, the move to containing virtual buffer command (NVDA+control+space) now works as it should to escape embedded objects such as Flash content.
- NVDA now restarts itself correctly (e.g. after changing the configured language) when it is located in a directory which contains non-ASCII characters. (#2079)
- Braille correctly respects the settings for reporting of object shortcut keys, position information and descriptions.
- In Mozilla applications, switching between browse and focus modes is no longer slow with braille enabled. (#2095)
- Routing the cursor to the space at the end of the line/paragraph using braille cursor routing keys in some editable text fields now works correctly instead of routing to the start of the text. (#2096)
- NVDA again works correctly with the Audiologic Tts3 synthesizer. (#2109)
- Microsoft Word documents are correctly treated as multi-line. This causes braille to behave more appropriately when a document is focused.
- In Microsoft Internet Explorer, errors no longer occur when focusing on certain rare controls. (#2121)
- Changing the pronunciation of punctuation/symbols by the user will now take effect straight away, rather than requiring NVDA to be restarted or auto language switching to be disabled.
- When using eSpeak, speech no longer goes silent in some cases in the Save As dialog of the NVDA Log Viewer. (#2145)

### Changes for Developers

- There is now a remote Python console for situations where remote debugging is useful. See the Developer Guide for details.
- The base path of NVDA's code is now stripped from tracebacks in the log to improve readability. (#1880)
- TextInfo objects now have an activate() method to activate the position represented by the TextInfo.
  - This is used by braille to activate the position using cursor routing keys on a braille display. However, there may be other callers in future.
- TreeInterceptors and NVDAObjects which only expose one page of text at a time can support automatic page turns during say all by using the textInfos.DocumentWithPageTurns mix-in. (#1978)
- Several control and output constants have been renamed or moved. (#228)
  - speech.REASON_* constants have been moved to controlTypes.
  - In controlTypes, speechRoleLabels and speechStateLabels have been renamed to just roleLabels and stateLabels, respectively.
- Braille output is now logged at level input/output. First, the untranslated text of all regions is logged, followed by the braille cells of the window being displayed. (#2102)
- subclasses of the sapi5 synthDriver can now override _getVoiceTokens and extend init to support custom voice tokens such as with sapi.spObjectTokenCategory to get tokens from a custom registry location.

## 2011.3

Highlights of this release include automatic speech language switching when reading documents with appropriate language information; support for 64 bit Java Runtime Environments; reporting of text formatting in browse mode in Mozilla applications; better handling of application crashes and freezes; and initial fixes for Windows 8.

### New Features

- NVDA can now change the eSpeak synthesizer language on the fly when reading certain web/pdf documents with appropriate language information. Automatic language/dialect switching can be toggled on and off from the Voice Settings dialog. (#845)
- Java Access Bridge 2.0.2 is now supported, which includes support for 64 bit Java Runtime Environments.
- In Mozilla Gecko (e.g. Firefox) Heading levels are now announced when using object navigation.
- Text formatting can now be reported when using browse mode in Mozilla Gecko (e.g. Firefox and Thunderbird). (#394)
- Text with underline and/or strikethrough can now be detected and reported in standard IAccessible2 text controls such as in Mozilla applications.
- In browse mode in Adobe Reader, table row and column counts are now reported.
- Added support for the Microsoft Speech Platform synthesizer. (#1735)
- Page and line numbers are now reported for the caret in IBM Lotus Symphony. (#1632)
- The percentage of how much the pitch changes when speaking a capital letter is now configurable from the voice settings dialog. However, this does replace the older raise pitch for capitals checkbox (therefore to turn off this feature set the percentage to 0). (#255)
- Text and background color is now included in the reporting of formatting for cells in Microsoft Excel. (#1655)
- In applications using the Java Access Bridge, the activate current navigator object command now works on controls where appropriate. (#1744)
- New language: Tamil.
- Basic support for Design Science MathPlayer.

### Changes

- NVDA will now restart itself if it crashes.
- Some information displayed in braille has been abbreviated. (#1288)
- the Read active window script (NVDA+b) has been improved to filter out unuseful controls and also is now much more easy to silence. (#1499)
- Automatic say all when a browse mode document loads is now optional via a setting in the Browse Mode settings dialog. (#414)
- When trying to read the status bar (Desktop NVDA+end), If a real status bar object cannot be located, NVDA will instead resort to using the bottom line of text written to the display for the active application. (#649)
- When reading with say all in browse mode documents, NVDA will now pause at the end of headings and other block-level elements, rather than speaking the text together with the next lot of text as one long sentence.
- In browse mode, pressing enter or space on a tab now activates it instead of switching to focus mode. (#1760)
- Updated eSpeak speech synthesizer to 1.45.47.

### Bug Fixes

- NVDA no longer shows bullets or numbering for lists in Internet Explorer and other MSHTML controls when the author has indicated that these should not be shown (i.e. the list style is "none"). (#1671)
- Restarting NVDA when it has frozen (e.g. by pressing control+alt+n) no longer exits the previous copy without starting a new one.
- Pressing backspace or arrow keys in a Windows command console no longer causes strange results in some cases. (#1612)
- The selected item in WPF combo boxes (and possibly some other combo boxes exposed using UI Automation) which do not allow text editing is now reported correctly.
- In browse mode in Adobe Reader, it is now always possible to move to the next row from the header row and vice versa using the move to next row and move to previous row commands. Also, the header row is no longer reported as row 0. (#1731)
- In browse mode in Adobe Reader, it is now possible to move to (and therefore past) empty cells in a table.
- Pointless position information (e.g. 0 of 0 level 0) is no longer reported in braille.
- When braille is tethered to review, it is now able to show content in flat review. (#1711)
- A text control's text is no longer presented twice on a braille display in some cases, e.g. scrolling back from the start of Wordpad documents.
- In browse mode in Internet Explorer, pressing enter on a file upload button now correctly presents the dialog to choose a file to upload instead of switching to focus mode. (#1720)
- Dynamic content changes such as in Dos consoles are no longer announced if sleep mode for that application is currently on. (#1662)
- In browse mode, the behaviour of alt+upArrow and alt+downArrow to collapse and expand combo boxes has been improved. (#1630)
- NVDA now recovers from many more situations such as applications that stop responding which previously caused it to freeze completely. (#1408)
- For Mozilla Gecko (Firefox etc) browse mode documents NVDA will no longer fail to render text in a very specific situation where an element is styled as display:table. (#1373)
- NVDA will no longer announce label controls when focus moves inside of them. Stops double announcements of labels for some form fields in Firefox (Gecko) and Internet Explorer (MSHTML). (#1650)
- NVDA no longer fails to read a cell in Microsoft Excel after pasting in to it with control+v. (#1781)
- In Adobe Reader, extraneous information about the document is no longer announced when moving to a control on a different page in focus mode. (#1659)
- In browse mode in Mozilla Gecko applications (e.g. Firefox), toggle buttons are now detected and reported correctly. (#1757)
- NVDA can now correctly read the Windows Explorer Address Bar in Windows 8 developer preview.
- NVDA will no longer crash apps such as winver and wordpad in Windows 8 developer preview due to bad glyph translations.
- In browse mode in applications using Mozilla Gecko 10 and later (e.g. Firefox 10), the cursor is more often positioned correctly when loading a page with a target anchor. (#360)
- In browse mode in Mozilla Gecko applications (e.g. Firefox), labels for image maps are now rendered.
- With mouse tracking enabled, moving the mouse over certain editable text fields (such as in Synaptics Pointing Device Settings and SpeechLab SpeakText) no longer causes the application to crash. (#672)
- NVDA now functions correctly in several about dialogs in applications distributed with Windows XP, including the About dialog in Notepad and the About Windows dialog. (#1853, #1855)
- Fixed reviewing by word in Windows Edit controls. (#1877)
- Moving out of an editable text field with leftArrow, upArrow or pageUp while in focus mode now correctly switches to browse mode when automatic focus mode for caret movement is enabled. (#1733)

### Changes for Developers

- NVDA can now instruct speech synthesizers to switch languages for particular sections of speech.
  - To support this, drivers must handle speech.LangChangeCommand in sequences past to SynthDriver.speak().
  - SynthDriver objects should also provide the language argument to VoiceInfo objects (or override the language attribute to retrieve the current language). Otherwise, NVDA's user interface language will be used.

## 2011.2

Highlights of this release include major improvements concerning punctuation and symbols, including configurable levels, custom labelling and character descriptions; no pauses at the end of lines during say all; improved support for ARIA in Internet Explorer; better support for XFA/LiveCycle PDF documents in Adobe Reader; access to text written to the screen in more applications; and access to formatting and color information for text written to the screen.

### New Features

- It is now possible to hear the description for any given character by pressing the review current character script twice in quick succession. For English characters this is the standard English phonetic alphabet. For pictographic languages such as traditional Chinese, one or more example phrases using the given symbol are provided. Also pressing review current word or review current line three times will spell the word/line using the first of these descriptions. (#55)
- More text can be seen in flat review for applications such as Mozilla Thunderbird that write their text directly to the display as glyphs.
- It is now possible to choose from several levels of punctuation and symbol announcement. (#332)
- When punctuation or other symbols are repeated more than four times, the number of repetitions is now announced instead of speaking the repeated symbols. (#43)
- New braille translation tables: Norwegian 8 dot computer braille, Ethiopic grade 1, Slovene grade 1, Serbian grade 1. (#1456)
- Speech no longer unnaturally pauses at the end of each line when using the say all command. (#149)
- NVDA will now announce whether something is sorted (according to the aria-sort property) in web browsers. (#1500)
- Unicode Braille Patterns are now displayed correctly on braille displays. (#1505)
- In Internet Explorer and other MSHTML controls when focus moves inside a group of controls (surrounded by a fieldset), NVDA will now announce the name of the group (the legend). (#535)
- In Internet Explorer and other MSHTML controls, the aria-labelledBy and aria-describedBy properties are now honoured.
- in Internet Explorer and other MSHTML controls, support for ARIA list, gridcell, slider and progressbar controls has been improved.
- Users can now change the pronunciation of punctuation and other symbols, as well as the symbol level at which they are spoken. (#271, #1516)
- In Microsoft Excel, the name of the active sheet is now reported when switching sheets with control+pageUp or control+pageDown. (#760)
- When navigating a table in Microsoft Word with the tab key NVDA will now announce the current cell as you move. (#159)
- You can now configure whether table cell coordinates are reported from the Document Formatting preferences dialog. (#719)
- NVDA can now detect formatting and color for text written to the screen.
- In the Outlook Express/Windows Mail/Windows Live Mail message list, NVDA will now announce the fact that a message is unread and also if it's expanded or collapsed in the case of conversation threads. (#868)
- eSpeak now has a rate boost setting which triples the speaking rate.
- Support for the calendar control found in the Date and Time Information dialog accessed from the Windows 7 clock. (#1637)
- Additional key bindings have been added for the MDV Lilli braille display. (#241)
- New languages: Bulgarian, Albanian.

### Changes

- To move the caret to the review cursor, now press the move focus to navigator object script (desktop NVDA+shift+numpadMinus, laptop NVDA+shift+backspace) twice in quick succession. This frees up more keys on the keyboard. (#837)
- To hear the decimal and hexadecimal representation of the character under the review cursor, now press review current character three times rather than twice, as twice now speaks the character description.
- Updated eSpeak speech synthesiser to 1.45.03. (#1465)
- Layout tables are no longer announced in Mozilla Gecko applications while moving the focus when in focus mode or outside of a document.
- In Internet Explorer and other MSHTML controls, browse mode now works for documents inside ARIA applications. (#1452)
- Updated liblouis braille translator to 2.3.0.
- When in browse mode and jumping to a control with quicknav or focus, the description of the control is now announced if it has one.
- Progress bars are now announced in brows mode.
- Nodes marked with an ARIA role of presentation in Internet Explorer and other MSHTML controls are now filtered out of simple review and the focus ancestry.
- NVDA's user interface and documentation now refer to virtual buffers as browse mode, as the term "virtual buffer" is rather meaningless to most users. (#1509)
- When the user wishes to copy their user settings to the system profile for use on the logon screen, etc., and their settings contain custom plugins, they are now warned that this could be a security risk. (#1426)
- The NVDA service no longer starts and stops NVDA on user input desktops.
- On Windows XP and Windows Vista, NVDA no longer makes use of UI Automation even if it is available via the platform update. Although using UI Automation can improve the accessibility of some modern applications, on XP and Vista there were too many freezes, crashes and over all performance loss while using it. (#1437)
- In applications using Mozilla Gecko 2 and later (such as Firefox 4 and later), a document can now be read in browse mode before it is fully finished loading.
- NVDA now announces the state of a container when focus moves to a control inside it (e.g. if focus moves inside a document that is still loading it will report it as busy).
- NVDA's user interface and documentation no longer use the terms "first child" and "parent" with respect to object navigation, as these terms are confusing for many users.
- Collapsed is no longer reported for some menu items which have sub-menus.
- The reportCurrentFormatting script (NVDA+f) now reports the formatting at the position of the review cursor rather than the system caret / focus. As by default the review cursor follows the caret, most people should not notice a difference. However this now enables the user to find out the formatting when moving the review cursor, such as in flat review.

### Bug Fixes

- Collapsing combo boxes in browse mode documents when focus mode has been forced with NVDA+space no longer auto-switches back to browse mode. (#1386)
- In Gecko (e.g. Firefox) and MSHTML (e.g. Internet Explorer) documents, NVDA now correctly renders certain text on the same line which was previously rendered on separate lines. (#1378)
- When Braille is tethered to review and the navigator object is moved to a browse mode document, either manually or due to a focus change, braille will appropriately show the browse mode content. (#1406, #1407)
- When speaking of punctuation is disabled, certain punctuation is no longer incorrectly spoken when using some synthesisers. (#332)
- Problems no longer occur when loading configuration for synthesisers which do not support the voice setting such as Audiologic Tts3. (#1347)
- The Skype Extras menu is now read correctly. (#648)
- Checking the Brightness controls volume checkbox in the Mouse Settings dialog should no longer cause a major lag for beeps when moving the mouse around the screen on Windows Vista/Windows 7 with Aero enabled. (#1183)
- When NVDA is configured to use the laptop keyboard layout, NVDA+delete now works as documented to report the dimensions of the current navigator object. (#1498)
- NVDA now Appropriately honours the aria-selected attribute in Internet Explorer documents.
- When NVDA automatically switches to focus mode in browse mode documents, it now announces information about the context of the focus. For example, if a list box item receives focus, the list box will be announced first. (#1491)
- In Internet Explorer and other MSHTML controls, ARIA listbox controls are now treeted as lists, rather than list items.
- When a read-only editable text control receives focus, NVDA now reports that it is read-only. (#1436)
- In browse mode, NVDA now behaves correctly with respect to read-only editable text fields.
- In browse mode documents, NVDA no longer incorrectly switches out of focus mode when aria-activedescendant is set; e.g. when the completion list appeared in some auto complete controls.
- In Adobe Reader, the name of controls is now reported when moving focus or using quick navigation in browse mode.
- In XFA PDF documents in Adobe Reader, buttons, links and graphics are now rendered correctly.
- In XFA PDF documents in Adobe Reader, all elements are now rendered on separate lines. This change was made because large sections (sometimes even the entire document) were being rendered without breaks due to the general lack of structure in these documents.
- Fixed problems when moving focus to or away from editable text fields in XFA PDF documents in Adobe Reader.
- In XFA PDF documents in Adobe Reader, changes to the value of a focused combo box will now be reported.
- Owner-drawn Combo boxes such as the ones to choose colors in Outlook Express are now accessible with NVDA. (#1340)
- In languages which use a space as a digit group/thousands separator such as French and German, numbers from separate chunks of text are no longer pronounced as a single number. This was particularly problematic for table cells containing numbers. (#555)
- nodes with an ARIA role of description in Internet Explorer and other MSHTML controls now are classed as static text, not edit fields.
- Fixed various issues when pressing tab while focus is on a document in browse mode (e.g. tab inappropriately moving to the address bar in Internet Explorer). (#720, #1367)
- When entering lists while reading text, NVDA now says, for example, "list with 5 items" instead of "listwith 5 items". (#1515)
- In input help mode, gestures are logged even if their scripts bypass input help such as the scroll braille display forward and back commands.
- In input help mode, when a modifier is held down on the keyboard, NVDA no longer reports the modifier as if it is modifying itself; e.g. NVDA+NVDA.
- In Adobe Reader documents, pressing c or shift+c to navigate to a combo box now works.
- The selected state of selectable table rows is now reported the same way it is for list and tree view items.
- Controls in Firefox and other Gecko applications can now be activated while in browse mode even if their content has been floated off-screen. (#801)
- You can no longer show an NVDA settings dialog while a message dialog is being shown, as the settings dialog was frozen in this case. (#1451)
- In Microsoft Excel, there is no longer a lag when holding down or rapidly pressing keys to move between or select cells.
- Fixed intermittent crashes of the NVDA service which meant that NVDA stopped running on secure Windows screens.
- Fixed problems that sometimes occurred with braille displays when a change caused text that was being displayed to disappear. (#1377)
- The downloads window in Internet Explorer 9 can now be navigated and read with NVDA. (#1280)
- It is no longer possible to accidentally start multiple copies of NVDA at the same time. (#507)
- On slow systems, NVDA no longer inappropriately causes its main window to be shown all the time while running. (#726)
- NVDA no longer crashes on Windows xP when starting a WPF application. (#1437)
- Say all and say all with review are now able to work in UI automation text controls that support all required functionality. For example, you can now use say all with review on XPS Viewer documents.
- NVDA no longer inappropriately classes some list items in the Outlook Express / Windows Live Mail message rules Apply Now dialog as being checkboxes. (#576)
- Combo boxes are no longer reported as having a sub-menu.
- NVDA is now able to read the recipiants in the To, CC and BCC fields in Microsoft Outlook. (#421)
- Fixed the issue in NVDA's Voice Settings dialog where the value of sliders was sometimes not reported when changed. (#1411)
- NVDA no longer fails to announce the new cell when moving in an Excel spreadsheet after cutting and pasting. (#1567)
- NVDA no longer becomes worse at guessing color names the more colors it announces.
- In Internet Explorer and other MSHTML controls, fixed the inability to read parts of rare pages which contain iframes marked with an ARIA role of presentation. (#1569)
- In Internet Explorer and other MSHTML controls, fixed a rare problem where the focus kept bouncing infinitely between the document and a multi-line editable text field in focus mode. (#1566)
- In Microsoft Word 2010 NVDA will now automatically read confirmation dialogs. (#1538)
- In multi-line editable text fields in Internet Explorer and other MSHTML controls, selection on lines after the first is now reported correctly. (#1590)
- Improved moving by word in many cases, including browse mode and Windows Edit controls. (#1580)
- The NVDA installer no longer shows garbled text for Hong Kong versions of Windows Vista and Windows 7. (#1596)
- NVDA no longer fails to load the Microsoft Speech API version 5 synthesizer if the configuration contains settings for that synthesizer but is missing the voice setting. (#1599)
- In editable text fields in Internet Explorer and other MSHTML controls, NVDA no longer lags or freezes when braille is enabled.
- In firefox brows mode, NVDA no longer refuses to include content that is inside a focusable node with an ARIA role of presentation.
- In Microsoft Word with braille enabled, lines on pages after the first page are now reported correctly. (#1603)
- In Microsoft Word 2003, lines of right-to-left text can once again be read with braille enabled. (#627)
- In Microsoft Word, say all now works correctly when the document does not end with a sentence ending.
- When opening a plain text message in Windows Live Mail 2011, NVDA will correctly focus on the message document allowing it to be read.
- NVDA no longer temporarily freezes or refuses to speak when in the Move to / Copy to dialogs in Windows Live Mail. (#574)
- In Outlook 2010, NVDA will now correctly track the focus in the message list. (#1285)
- Some USB connection issues have been resolved with the MDV Lilli braille display. (#241)
- In Internet explorer and other MSHTML controls, spaces are no longer ignored in browse mode in certain cases (e.g. after a link).
- In Internet Explorer and other MSHTML controls, some extraneous line breaks have been eliminated in browse mode. specifically, HTML elements with a display style of None no longer force a line break. (#1685)
- If NVDA is unable to start, failure to play the Windows critical stop sound no longer clobbers the critical error message in the log file.

### Changes for Developers

- Developer documentation can now be generated using SCons. See readme.txt at the root of the source distribution for details, including associated dependencies.
- Locales can now provide descriptions for characters. See the Character Descriptions section of the Developer Guide for details. (#55)
- Locales can now provide information about the pronunciation of specific punctuation and other symbols. See the Symbol Pronunciation section of the Developer Guide for details. (#332)
- You can now build NVDAHelper with several debugging options using the nvdaHelperDebugFlags SCons variable. See readme.txt at the root of the source distribution for details. (#1390)
- Synth drivers are now passed a sequence of text and speech commands to speak, instead of just text and an index.
  - This allows for embedded indexes, parameter changes, etc.
  - Drivers should implement SynthDriver.speak() instead of SynthDriver.speakText() and SynthDriver.speakCharacter().
  - The old methods will be used if SynthDriver.speak() is not implemented, but they are deprecated and will be removed in a future release.
- gui.execute() has been removed. wx.CallAfter() should be used instead.
- gui.scriptUI has been removed.
  - For message dialogs, use wx.CallAfter(gui.messageBox, ...).
  - For all other dialogs, real wx dialogs should be used instead.
  - A new gui.runScriptModalDialog() function simplifies using modal dialogs from scripts.
- Synth drivers can now support boolean settings. See SynthDriverHandler.BooleanSynthSetting.
- SCons now accepts a certTimestampServer variable specifying the URL of a timestamping server to use to timestamp authenticode signatures. (#1644)

## 2011.1.1

This release fixes several security and other important issues found in NVDA 2011.1.

### Bug Fixes

- The Donate item in the NVDA menu is now disabled when running on the logon, lock, UAC and other secure Windows screens, as this is a security risk. (#1419)
- It is now impossible to copy or paste within NVDA's user interface while on secure desktops (lock screen, UAC screen and windows logon) as this is a security risk. (#1421)
- In Firefox 4, the move to containing virtual buffer command (NVDA+control+space) now works as it should to escape embedded objects such as Flash content. (#1429)
- When speaking of command keys is enabled, shifted characters are no longer incorrectly spoken as command keys. (#1422)
- When speaking of command keys is enabled, pressing space with modifiers other than shift (such as control and alt) is now reported as a command key. (#1424)
- Logging is now completely disabled when running on the logon, lock, UAC and other secure Windows screens, as this is a security risk. (#1435)
- In input help mode, Gestures are now logged even if they are not bound to a script (in accordance with the user guide). (#1425)

## 2011.1

Highlights of this release include automatic reporting of new text output in mIRC, PuTTY, Tera Term and SecureCRT; support for global plugins; announcement of bullets and numbering in Microsoft Word; additional key bindings for braille displays, including keys to move to the next and previous line; support for several Baum, HumanWare and APH braille displays; and reporting of colors for some controls, including IBM Lotus Symphony text controls.

### New Features

- Colors can now be reported for some controls. Automatic announcement can be configured in the Document Formatting preferences dialog. It can also be reported on demand using the report text formatting command (NVDA+f).
  - Initially, this is supported in standard IAccessible2 editable text controls (such as in Mozilla applications), RichEdit controls (such as in Wordpad) and IBM Lotus Symphony text controls.
- In virtual buffers, you can now select by page (using shift+pageDown and shift+pageUp) and paragraph (using shift+control+downArrow and shift+control+upArrow). (#639)
- NVDA now automatically reports new text output in mIRC, PuTTY, Tera Term and SecureCRT. (#936)
- Users can now add new key bindings or override existing ones for any script in NVDA by providing a single user input gesture map. (#194)
- Support for global plugins. Global plugins can add new functionality to NVDA which works across all applications. (#281)
- A small beep is now heard when typing characters with the shift key while capslock is on. This can be turned off by unchecking the related new option in the Keyboard settings dialog. (#663)
- hard page breaks are now announced when moving by line in Microsoft Word. (#758)
- Bullets and numbering are now spoken in Microsoft Word when moving by line. (#208)
- A command to toggle Sleep mode for the current application (NVDA+shift+s) is now available. Sleep mode (previously known as self voicing mode) disables all screen reading functionality in NVDA for a particular application. Very useful for applications that provide their own speech and or screen reading features. Press this command again to disable Sleep mode.
- Some additional braille display key bindings have been added. See the Supported Braille Displays section of the User Guide for details. (#209)
- For the convenience of third party developers, app modules as well as global plugins can now be reloaded without restarting NVDA. Use tools -> Reload plugins in the NVDA menu or NVDA+control+f3. (#544)
- NVDA now remembers the position you were at when returning to a previously visited web page. This applies until either the browser or NVDA is exited. (#132)
- Handy Tech braille displays can now be used without installing the Handy Tech universal driver. (#854)
- Support for several Baum, HumanWare and APH braille displays. (#937)
- The status bar in Media Player Classic Home Cinema is now recognised.
- The Freedom Scientific Focus 40 Blue braille display can now be used when connected via bluetooth. (#1345)

### Changes

- Position information is no longer reported by default in some cases where it was usually incorrect; e.g. most menus, the Running Applications bar, the Notification Area, etc. However, this can be turned on again by an added option in the Object Presentation settings dialog.
- Keyboard help has been renamed to input help to reflect that it handles input from sources other than the keyboard.
- Input Help no longer reports a script's code location via speech and braille as it is cryptic and irrelevant to the user. However, it is now logged for developers and advanced users.
- When NVDA detects that it has frozen, it continues to intercept NVDA modifier keys, even though it passes all other keys through to the system. This prevents the user from unintentionally toggling caps lock, etc. if they press an NVDA modifier key without realising NVDA has frozen. (#939)
- If keys are held down after using the pass next key through command, all keys (including key repeats) are now passed through until the last key is released.
- If an NVDA modifier key is pressed twice in quick succession to pass it through and the second press is held down, all key repeats will now be passed through as well.
- The volume up, down and mute keys are now reported in input help. This could be helpful if the user is uncertain as to what these keys are.
- The hotkey for the Review Cursor item in the NVDA Preferences menu has been changed from r to c to eliminate the conflict with the Braille Settings item.

### Bug Fixes

- When adding a new speech dictionary entry, the title of the dialog is now "Add dictionary entry" instead of "Edit dictionary entry". (#924)
- In speech dictionary dialogs, the content of the Regular expression and Case sensitive columns of the Dictionary entries list is now presented in the configured NVDA language instead of always in English.
- In AIM, position information is now announced in tree views.
- On sliders in the Voice Settings dialog, up arrow/page up/home now increase the setting and down arrow/page down/end decrease it. Previously, the opposite occurred, which is not logical and is inconsistent with the synth settings ring. (#221)
- In virtual buffers with screen layout disabled, some extraneous blank lines no longer appear.
- If an NVDA modifier key is pressed twice quickly but there is an intervening key press, the NVDA modifier key is no longer passed through on the second press.
- Punctuation keys are now spoken in input help even when speaking of punctuation is disabled. (#977)
- In the Keyboard Settings dialog, the keyboard layout names are now presented in the configured NVDA language instead of always in English. (#558)
- Fixed an issue where some items were rendered as empty in Adobe Reader documents; e.g. the links in the table of contents of the Apple iPhone IOS 4.1 User Guide.
- The "Use currently saved settings on the logon and other secure screens" button in NVDA's General Settings dialog now works if used immediately after NVDA is newly installed but before a secure screen has appeared. Previously, NVDA reported that copying was successful, but it actually had no effect. (#1194)
- It is no longer possible to have two NVDA settings dialogs open simultaneously. This fixes issues where one open dialog depends on another open dialog; e.g. changing the synthesiser while the Voice Settings dialog is open. (#603)
- On systems with UAC enabled, the "Use currently saved settings on the logon and other secure screens" button in NVDA's General Settings dialog no longer fails after the UAC prompt if the user's account name contains a space. (#918)
- In Internet Explorer and other MSHTML controls, NVDA now uses the URL as a last resort to determine the name of a link, rather than presenting empty links. (#633)
- NVDA no longer ignores the focus in AOL Instant Messenger 7 menus. (#655)
- Announce the correct label for errors in the Microsoft Word Spell Check dialog (e.g. Not in dictionary, Grammar error, punctuation). Previously they were all announced as grammar error. (#883)
- Typing in Microsoft Word while using a braille display should no longer cause garbled text to be typed, and a rare freeze when pressing a braille routing key in Word documents has been fixed. (#1212) However a limitation is that Arabic text can no longer be read in Word 2003 and below, while using a braille display. (#627)
- When pressing the delete key in an edit field, the text/cursor on a braille display should now always be updated appropriately to reflect the change. (#947)
- Changes on dynamic pages in Gecko2 documents (E.g. Firefox 4) while multiple tabs are open are now properly reflected by NVDA. Previously only changes in the first tab were reflected. (Mozilla bug 610985)
- NVDA can now properly announce the suggestions for grammar and punctuation errors in Microsoft Word spell check dialog. (#704)
- In Internet Explorer and other MSHTML controls, NVDA no longer presents destination anchors as empty links in its virtual buffer. Instead, these anchors are hidden as they should be. (#1326)
- Object navigation around and within standard groupbox windows is no longer broken and asymmetrical.
- In Firefox and other Gecko-based controls, NVDA will no longer get stuck in a subframe if it finishes loading before the outer document.
- NVDA now appropriately announces the next character when deleting a character with numpadDelete. (#286)
- On the Windows XP logon screen, the user name is once again reported when the selected user is changed.
- Fixed problems when reading text in Windows command consoles with reporting of line numbers enabled.
- The Elements List dialog for virtual buffers is now usable by sighted users. All controls are visible on screen. (#1321)
- The list of entries in the Speech Dictionary dialog is now more readable by sighted users. The list is now large enough to show all of its columns on screen. (#90)
- On ALVA BC640/BC680 braille displays, NVDA no longer disregards display keys that are still held down after another key is released.
- Adobe Reader X no longer crashes after leaving the untagged document options before the processing dialog appears. (#1218)
- NVDA now switches to the appropriate braille display driver when you revert to saved configuration. (#1346)
- The Visual Studio 2008 Project Wizard is read correctly again. (#974)
- NVDA no longer completely fails to work in applications which contain non-ASCII characters in their executable name. (#1352)
- When reading by line in AkelPad with word wrap enabled, NVDA no longer reads the first character of the following line at the end of the current line.
- In the Visual Studio 2005/2008 code editor, NVDA no longer reads the entire text after every typed character. (#975)
- Fixed the issue where some braille displays weren't cleared properly when NVDA was exited or the display was changed.
- The initial focus is no longer sometimes spoken twice when NVDA starts. (#1359)

### Changes for Developers

- SCons is now used to prepare the source tree and create binary builds, portable archives, installers, etc. See readme.txt at the root of the source distribution for details.
- The key names used by NVDA (including key maps) have been made more friendly/logical; e.g. upArrow instead of extendedUp and numpadPageUp instead of prior. See the vkCodes module for a list.
- All input from the user is now represented by an inputCore.InputGesture instance. (#601)
  - Each source of input subclasses the base InputGesture class.
  - Key presses on the system keyboard are encompassed by the keyboardHandler.KeyboardInputGesture class.
  - Presses of buttons, wheels and other controls on a braille display are encompassed by subclasses of the braille.BrailleDisplayGesture class. These subclasses are provided by each braille display driver.
- Input gestures are bound to ScriptableObjects using the ScriptableObject.bindGesture() method on an instance or an __gestures dict on the class which maps gesture identifiers to script names. See baseObject.ScriptableObject for details.
- App modules no longer have key map files. All input gesture bindings must be done in the app module itself.
- All scripts now take an InputGesture instance instead of a key press.
  - KeyboardInputGestures can be sent on to the OS using the send() method of the gesture.
- To send an arbitrary key press, you must now create a KeyboardInputGesture using KeyboardInputGesture.fromName() and then use its send() method.
- Locales may now provide an input gesture map file to add new bindings or override existing bindings for scripts anywhere in NVDA. (#810)
  - Locale gesture maps should be placed in locale\LANG\gestures.ini, where LANG is the language code.
  - See inputCore.GlobalGestureMap for details of the file format.
- The new LiveText and Terminal NVDAObject behaviors facilitate automatic reporting of new text. See those classes in NVDAObjects.behaviors for details. (#936)
  - The NVDAObjects.window.DisplayModelLiveText overlay class can be used for objects which must retrieve text written to the display.
  - See the mirc and putty app modules for usage examples.
- There is no longer an _default app module. App modules should instead subclass appModuleHandler.AppModule (the base AppModule class).
- Support for global plugins which can globally bind scripts, handle NVDAObject events and choose NVDAObject overlay classes. (#281) See globalPluginHandler.GlobalPlugin for details.
- On SynthDriver objects, the available* attributes for string settings (e.g. availableVoices and availableVariants) are now OrderedDicts keyed by ID instead of lists.
- synthDriverHandler.VoiceInfo now takes an optional language argument which specifies the language of the voice.
- SynthDriver objects now provide a language attribute which specifies the language of the current voice.
  - The base implementation uses the language specified on the VoiceInfo objects in availableVoices. This is suitable for most synthesisers which support one language per voice.
- Braille display drivers have been enhanced to allow buttons, wheels and other controls to be bound to NVDA scripts:
  - Drivers can provide a global input gesture map to add bindings for scripts anywhere in NVDA.
  - They can also provide their own scripts to perform display specific functions.
  - See braille.BrailleDisplayDriver for details and existing braille display drivers for examples.
- The 'selfVoicing' property on AppModule classes has now been renamed to 'sleepMode'.
- The app module events event_appLoseFocus and event_appGainFocus have now been renamed to event_appModule_loseFocus and event_appModule_gainFocus, respectivly, in order to make the naming convention consistent with app modules and tree interceptors.
- All braille display drivers should now use braille.BrailleDisplayDriver instead of braille.BrailleDisplayDriverWithCursor.
  - The cursor is now managed outside of the driver.
  - Existing drivers need only change their class statement accordingly and rename their _display method to display.

## 2010.2

Notable features of this release include greatly simplified object navigation; virtual buffers for Adobe Flash content; access to many previously inaccessible controls by retrieving text written to the screen; flat review of screen text; support for IBM Lotus Symphony documents; reporting of table row and column headers in Mozilla Firefox; and significantly improved user documentation.

### New Features

- Navigating through objects with the review cursor has been greatly simplified. The review cursor now excludes objects which aren't useful to the user; i.e. objects only used for layout purposes and unavailable objects.
- In applications using the Java Access Bridge (including OpenOffice.org), formatting can now be reported in text controls. (#358, #463)
- When moving the mouse over cells in Microsoft Excel, NVDA will appropriately announce them.
- In applications using the Java Access Bridge, the text of a dialog is now reported when the dialog appears. (#554)
- A virtualBuffer can now be used to navigate adobe Flash content. Object navigation and interacting with the controls directly (by turning on focus mode) is still supported. (#453)
- Editable text controls in the Eclipse IDE, including the code editor, are now accessible. You must be using Eclipse 3.6 or later. (#256, #641)
- NVDA can now retrieve most text written to the screen. (#40, #643)
  - This allows for reading of controls which do not expose information in more direct/reliable ways.
  - Controls made accessible by this feature include: some menu items which display icons (e.g. the Open With menu on files in Windows XP) (#151), editable text fields in Windows Live applications (#200), the errors list in Outlook Express (#582), the editable text control in TextPad (#605), lists in Eudora, many controls in Australian E-tax and the formula bar in Microsoft Excel.
- Support for the code editor in Microsoft Visual Studio 2005 and 2008. At least Visual Studio Standard is required; this does not work in the Express editions. (#457)
- Support for IBM Lotus Symphony documents.
- Early experimental support for Google Chrome. Please note that Chrome's screen reader support is far from complete and additional work may also be required in NVDA. You will need a recent development build of Chrome to try this.
- The state of toggle keys (caps lock, num lock and scroll lock) is now displayed in braille when they are pressed. (#620)
- Help balloons are now displayed in braille when they appear. (#652)
- Added a driver for the MDV Lilli braille display. (#241)
- When selecting an entire row or column in Microsoft Excel with the shortcut keys shift+space and control+space, the new selection is now reported. (#759)
- Table row and column headers can now be reported. This is configurable from the Document Formatting preferences dialog.
  - Currently, this is supported in documents in Mozilla applications such as Firefox (version 3.6.11 and later) and Thunderbird (version 3.1.5 and later). (#361)
- Introduced commands for flat review: (#58)
  - NVDA+numpad7 switches to flat review, placing the review cursor at the position of the current object, allowing you to review the screen (or a document if within one) with the text review commands.
  - NVDA+numpad1 moves the review cursor into the object represented by the text at the position of the review cursor, allowing you to navigate by object from that point.
- Current NVDA user settings can be copied to be used on secure Windows screens such as the logon and UAC screens by pressing a button in the General Settings dialog. (#730)
- Support for Mozilla Firefox 4.
- Support for Microsoft Internet Explorer 9.

### Changes

- The sayAll by Navigator object (NVDA+numpadAdd), navigator object next in flow (NVDA+shift+numpad6) and navigator object previous in flow (NVDA+shift+numpad4) commands have been removed for the time being, due to bugginess and to free up the keys for other possible features.
- In the NVDA Synthesizer dialog, only the display name of the synthesizer is now listed. Previously, it was prefixed by the driver's name, which is only relevant internally.
- When in embedded applications or virtual buffers inside another virtualBuffer (e.g. Flash), you can now press nvda+control+space to move out of the embedded application or virtual buffer to the containing document. Previously nvda+space was used for this. Now nvda+space is specifically only for toggling brows/focus modes on virtualBuffers.
- If the speech viewer (enabled under the tools menu) is given the focus (e.g. it was clicked in) new text will not appear in the control until focus is moved away. This allows for selecting the text with greater ease (e.g. for copying).
- The Log Viewer and Python Console are maximised when activated.
- When focusing on a worksheet in Microsoft Excel and there is more than one cell selected, the selection range is announced, rather than just the active cell. (#763)
- Saving configuration and changing of particular sensitive options is now disabled when running on the logon, UAC and other secure Windows screens.
- Updated eSpeak speech synthesiser to 1.44.03.
- If NVDA is already running, activating the NVDA shortcut on the desktop (which includes pressing control+alt+n) will restart NVDA.
- Removed the report text under the mouse checkbox from the Mouse settings dialog and replaced it with an Enable mouse tracking checkbox, which better matches the toggle mouse tracking script (NVDA+m).
- Updates to the laptop keyboard layout so that it includes all commands available in the desktop layout and works correctly on non-English keyboards. (#798, #800)
- Significant improvements and updates to the user documentation, including documentation of the laptop keyboard commands and synchronisation of the Keyboard Commands Quick Reference with the User Guide. (#455)
- Updated liblouis braille translator to 2.1.1. Notably, this fixes some issues related to Chinese braille as well as characters which are undefined in the translation table. (#484, #499)

### Bug Fixes

- In µTorrent, the focused item in the torrents list no longer reports repeatedly or steals focus when a menu is open.
- In µTorrent, the names of the files in the Torrent Contents list are now reported.
- In Mozilla applications, focus is now correctly detected when it lands on an empty table or tree.
- In Mozilla applications, "not checked" is now correctly reported for checkable controls such as checkable table cells. (#571)
- In Mozilla applications, the text of correctly implemented ARIA dialogs is no longer ignored and will now be reported when the dialog appears. (#630)
- in Internet Explorer and other MSHTML controls, the ARIA level attribute is now honoured correctly.
- In Internet Explorer and other MSHTML controls, the ARIA role is now chosen over other type information to give a much more correct and predictable ARIA experience.
- Stopped a rare crash in Internet Explorer when navigating through frames or iFrames.
- In Microsoft Word documents, right-to-left lines (such as Arabic text) can be read again. (#627)
- Greatly reduced lag when large amounts of text are displayed in a Windows command console on 64-bit systems. (#622)
- If Skype is already started when NVDA starts, it is no longer necessary to restart Skype to enable accessibility. This may also be true for other applications which check the system screen reader flag.
- In Microsoft Office applications, NVDA no longer crashes when speak foreground (NVDA+b) is pressed or when navigating some objects on toolbars. (#616)
- Fixed incorrect speaking of numbers containing a 0 after a separator; e.g. 1,023. (#593)
- Adobe Acrobat Pro and Reader 9 no longer crash when closing a file or performing certain other tasks. (#613)
- The selection is now announced when control+a is pressed to select all text in some editable text controls such as in Microsoft Word. (#761)
- In Scintilla controls (e.g. Notepad++), text is no longer incorrectly selected when NVDA moves the caret such as during say all. (#746)
- It is again possible to review the contents of cells in Microsoft Excel with the review cursor.
- NVDA can again read by line in certain problematic textArea fields in Internet Explorer 8. (#467)
- Windows Live Messenger 2009 no longer exits immediately after it is started while NVDA is running. (#677)
- In web browsers, It is no longer necessary to press tab to interact with an embedded object (such as Flash content) after pressing enter on the embedded object or returning from another application. (#775)
- In Scintilla controls (e.g. Notepad++), the beginning of long lines is no longer truncated when it scrolls off the screen. Also, these long lines will be correctly displayed in braille when they are selected.
- In Loudtalks, it is now possible to access the contact list.
- The URL of the document and "MSAAHTML Registered Handler" are no longer sometimes spuriously reported in Internet Explorer and other MSHTML controls. (#811)
- In tree views in the Eclipse IDE, the previously focused item is no longer incorrectly announced when focus moves to a new item.
- NVDA now functions correctly on a system where the current working directory has been removed from the DLL search path (by setting the CWDIllegalInDllSearch registry entry to 0xFFFFFFFF). Note that this is not relevant to most users. (#907)
- When the table navigation commands are used outside of a table in Microsoft Word, "edge of table" is no longer spoken after "not in table". (#921)
- When the table navigation commands cannot move due to being at the edge of a table in Microsoft Word, "edge of table" is now spoken in the configured NVDA language rather than always in English. (#921)
- In Outlook Express, Windows Mail and Windows Live Mail, the state of the checkboxes in message rules lists is now reported. (#576)
- The description of message rules can now be read in Windows Live Mail 2010.

## 2010.1

This release focuses primarily on bug fixes and improvements to the user experience, including some significant stability fixes.

### New Features

- NVDA no longer fails to start on a system with no audio output devices. Obviously, a braille display or the Silence synthesiser in conjunction with the Speech Viewer will need to be used for output in this case. (#425)
- A report landmarks checkbox has been added to the Document Formatting settings dialog which allows you to configure whether NVDA should announce landmarks in web documents. For compatibility with the previous release, the option is on by default.
- If speak command keys is enabled, NVDA will now announce the names of multimedia keys (e.g. play, stop, home page, etc.) on many keyboards when they are pressed. (#472)
- NVDA now announces the word being deleted when pressing control+backspace in controls that support it. (#491)
- Arrow keys can now be used in the Web formator window to navigate and read the text. (#452)
- The entry list in the Microsoft Office Outlook address book is now supported.
- NVDA better supports embedded editable (design mode) documents in Internet Explorer. (#402)
- a new script (nvda+shift+numpadMinus) allows you to move the system focus to the current navigator object.
- New scripts to lock and unlock the left and right mouse buttons. Useful for performing drag and drop operations. shift+numpadDivide to lock/unlock the left, shift+numpadMultiply to lock/unlock the right.
- New braille translation tables: German 8 dot computer braille, German grade 2, Finnish 8 dot computer braille, Chinese (Hong Kong, Cantonese), Chinese (Taiwan, Manderin). (#344, #369, #415, #450)
- It is now possible to disable the creation of the desktop shortcut (and thus the shortcut key) when installing NVDA. (#518)
- NVDA can now use IAccessible2 when present in 64 bit applications. (#479)
- Improved support for live regions in Mozilla applications. (#246)
- The NVDA Controller Client API is now provided to allow applications to control NVDA; e.g. to speak text, silence speech, display a message in Braille, etc.
- Information and error messages are now read in the logon screen in Windows Vista and Windows 7. (#506)
- In Adobe Reader, PDF interactive forms developed with Adobe LiveCycle are now supported. (#475)
- In Miranda IM, NVDA now automatically reads incoming messages in chat windows if reporting of dynamic content changes is enabled. Also, commands have been added to report the three most recent messages (NVDA+control+number). (#546)
- Input text fields are now supported in Adobe Flash content. (#461)

### Changes

- The extremely verbose keyboard help message in the Windows 7 Start menu is no longer reported.
- The Display synth has now been replaced with a new Speech Viewer. To activate it, choose Speech Viewer from the Tools menu. The speech viewer can be used independently of what ever speech synthesizer you are using. (#44)
- Messages on the braille display will automatically be dismissed if the user presses a key that results in a change such as the focus moving. Previously the message would always stay around for its configured time.
- Setting whether braille should be tethered to the focus or the review cursor (NVDA+control+t) can now be also set from the braille settings dialog, and is also now saved in the user's configuration.
- Updated eSpeak speech synthesiser to 1.43.
- Updated liblouis braille translator to 1.8.0.
- In virtual buffers, the reporting of elements when moving by character or word has been greatly improved. Previously, a lot of irrelevant information was reported and the reporting was very different to that when moving by line. (#490)
- The Control key now simply stops speech like other keys, rather than pausing speech. To pause/resume speech, use the shift key.
- Table row and column counts are no longer announced when reporting focus changes, as this announcement is rather verbose and usually not useful.

### Bug Fixes

- NVDA no longer fails to start if UI Automation support appears to be available but fails to initialise for some reason. (#483)
- The entire contents of a table row is no longer sometimes reported when moving focus inside a cell in Mozilla applications. (#482)
- NVDA no longer lags for a long time when expanding tree view items that contain a very large amount of sub-items.
- When listing SAPI 5 voices, NVDA now tries to detect buggy voices and excludes them from the Voice Settings dialog and synthesiser settings ring. Previously, when there was just one problematic voice, NVDA's SAPI 5 driver would sometimes fail to start.
- Virtual buffers now honour the report object shortcut keys setting found in the Object Presentation dialog. (#486)
- In virtual buffers, row/column coordinates are no longer incorrectly read for row and column headers when reporting of tables is disabled.
- In virtual buffers, row/column coordinates are now correctly read when you leave a table and then re-enter the same table cell without visiting another cell first; e.g. pressing upArrow then downArrow on the first cell of a table. (#378)
- Blank lines in Microsoft Word documents and Microsoft HTML edit controls are now shown appropriately on braille displays. Previously NVDA was displaying the current sentence on the display, not the current line for these situations. (#420)
- Multiple security fixes when running NVDA at Windows logon and on other secure desktops. (#515)
- The cursor position (caret) is now correctly updated when performing a Say All that goes off the bottom of the screen, in standard Windows edit fields and Microsoft Word documents. (#418)
- In virtual buffers, text is no longer incorrectly included for images inside links and clickables that are marked as being irrelevant to screen readers. (#423)
- Fixes to the laptop keyboard layout. (#517)
- When Braille is tethered to review when you focus on a Dos console window, the review cursor can now properly navigate the text in the console.
- While working with TeamTalk3 or TeamTalk4 Classic, the VU meter progress bar in the main window is no longer announced as it updates. Also, special characters can be read properly in the incoming chat window.
- Items are no longer spoken twice in the Windows 7 Start Menu. (#474)
- Activating same-page links in Firefox 3.6 appropriately moves the cursor in the virtualBuffer to the correct place on the page.
- Fixed the issue where some text was not rendered in Adobe Reader in certain PDF documents.
- NVDA no longer incorrectly speaks certain numbers separated by a dash; e.g. 500-1000. (#547)
- In Windows XP, NVDA no longer causes Internet Explorer to freeze when toggling checkboxes in Windows Update. (#477)
- When using the in-built eSpeak synthesiser, simultaneous speech and beeps no longer intermittently cause freezes on some systems. This was most noticeable, for example, when copying large amounts of data in Windows Explorer.
- NVDA no longer announces that a Firefox document has become busy (e.g. due to an update or refresh) when that document is in the background. This also caused the status bar of the foreground application to be spuriously announced.
- When switching Windows keyboard layouts (with control+shift or alt+shift), the full name of the layout is reported in both speech and braille. Previously it was only reported in speech, and alternative layouts (e.g. Dvorak) were not reported at all.
- If reporting of tables is disabled, table information is no longer announced when the focus changes.
- Certain standard tree view controls in 64 bit applications (e.g. the Contents tree view in Microsoft HTML Help) are now accessible. (#473)
- Fixed some problems with logging of messages containing non-ASCII characters. This could cause spurious errors in some cases on non-English systems. (#581)
- The information in the About NVDA dialog now appears in the user's configured language instead of always appearing in English. (#586)
- Problems are no longer encountered when using the synthesiser settings ring after the voice is changed to one which has less settings than the previous voice.
- In Skype 4.2, contact names are no longer spoken twice in the contact list.
- Fixed some potentially major memory leaks in the GUI and in virtual buffers. (#590, #591)
- Work around a nasty bug in some SAPI 4 synthesisers which was causing frequent errors and crashes in NVDA. (#597)

## 2009.1

Major highlights of this release include support for 64 bit editions of Windows; greatly improved support for Microsoft Internet Explorer and Adobe Reader documents; support for Windows 7; reading of the Windows logon, control+alt+delete and User Account Control (UAC) screens; and the ability to interact with Adobe Flash and Sun Java content on web pages. There have also been several significant stability fixes and improvements to the general user experience.

### New Features

- Official support for 64 bit editions of Windows! (#309)
- Added a synthesizer driver for the Newfon synthesizer. Note that this requires a special version of Newfon. (#206)
- In virtual buffers, focus mode and browse mode can now be reported using sounds instead of speech. This is enabled by default. It can be configured from the Virtual buffers dialog. (#244)
- NVDA no longer cancels speech when volume control keys are pressed on the keyboard, allowing the user to change the volume and listen to actual results immediately. (#287)
- Completely rewritten support for Microsoft Internet Explorer and Adobe Reader documents. This support has been unified with the core support used for Mozilla Gecko, so features such as fast page rendering, extensive quick navigation, links list, text selection, auto focus mode and braille support are now available with these documents.
- Improved support for the date selection control found in the Windows Vista Date / Time properties dialog.
- improved support for the Modern XP/Vista start menu (specifically the all programs, and places menus). Appropriate level information is now announced.
- The amount of text that is announced when moving the mouse is now configurable from the Mouse settings dialog. A choice of paragraph, line, word or character can be made.
- announce spelling errors under the cursor in Microsoft Word.
- support for the Microsoft Word 2007 spell checker. Partial support may be available for prior Microsoft Word versions.
- Better support for Windows Live Mail. Plain text messages can now be read and both the plain text and HTML message composers are useable.
- In Windows Vista, if the user moves to the secure desktop (either because a UAC control dialog appeared, or because control+alt+delete was pressed), NVDA will announce the fact that the user is now on the secure desktop.
- NVDA can announce text under the mouse within dos console windows.
- Support for UI Automation via the UI Automation client API available in Windows 7, as well as fixes to improve the experience of NVDA in Windows 7.
- NVDA can be configured to start automatically after you log on to Windows. The option is in the General Settings dialog.
- NVDA can read secure Windows screens such as the Windows logon, control+alt+delete and User Account Control (UAC) screens in Windows XP and above. Reading of the Windows logon screen can be configured from the General Settings dialog. (#97)
- Added a driver for the Optelec ALVA BC6 series braille displays.
- When browsing web documents, you can now press n and shift+n to skip forward and backward past blocks of links, respectively.
- When browsing web documents, ARIA landmarks are now reported, and you can move forward and backward through them using d and shift+d, respectively. (#192)
- The Links List dialog available when browsing web documents has now become an Elements List dialog which can list links, headings and landmarks. Headings and landmarks are presented hierarchically. (#363)
- The new Elements List dialog contains a "Filter by" field which allows you to filter the list to contain only those items including the text that was typed. (#173)
- Portable versions of NVDA now look in the 'userConfig' directory inside the NVDA directory, for the user's configuration. Like for the installer version, this keeps the user's configuration separate from NVDA itself.
- Custom app modules, braille display drivers and synth drivers can now be stored in the user's configuration directory. (#337)
- Virtual buffers are now rendered in the background, allowing the user to interact with the system to some extent during the rendering process. The user will be notified that the document is being rendered if it takes longer than a second.
- If NVDA detects that it has frozen for some reason, it will automatically pass all keystrokes through so that the user has a better chance of recovering the system.
- Support for ARIA drag and drop in Mozilla Gecko. (#239)
- The document title and current line or selection is now spoken when you move focus inside a virtual buffer. This makes the behaviour when moving focus into virtual buffers consistent with that for normal document objects. (#210)
- In virtual buffers, you can now interact with embedded objects (such as Adobe Flash and Sun Java content) by pressing enter on the object. If it is accessible, you can then tab around it like any other application. To return focus to the document, press NVDA+space. (#431)
- In virtual buffers, o and shift+o move to the next and previous embedded object, respectively.
- NVDA can now fully access applications running as administrator in Windows Vista and later. You must install an official release of NVDA for this to work. This does not work for portable versions and snapshots. (#397)

### Changes

- NVDA no longer announces "NVDA started" when it starts.
- The startup and exit sounds are now played using NVDA's configured audio output device instead of the Windows default audio output device. (#164)
- Progress bar reporting has been improved. Most notably you can now configure NVDA to announce via both speech and beeps at the same time.
- Some generic roles, such as pane, application and frame, are no longer reported on focus unless the control is unnamed.
- The review copy command (NVDA+f10) copies the text from the start marker up to and including the current review position, rather than excluding the current position. This allows the last character of a line to be copied, which was not previously possible. (#430)
- the navigatorObject_where script (ctrl+NVDA+numpad5) has been removed. This key combination did not work on some keyboards, nore was the script found to be that useful.
- the navigatorObject_currentDimentions script has been remapped to NVDA+numpadDelete. The old key combination did not work on some keyboards. This script also now reports the width and height of the object instead of the right/bottom coordinates.
- Improved performance (especially on netbooks) when many beeps occur in quick succession; e.g. fast mouse movement with audio coordinates enabled. (#396)
- The NVDA error sound is no longer played in release candidates and final releases. Note that errors are still logged.

### Bug Fixes

- When NVDA is run from an 8.3 dos path, but it is installed in the related long path (e.g. progra~1 verses program files) NVDA will correctly identify that it is an installed copy and properly load the user's settings.
- speaking the title of the current foreground window with nvda+t now works correctly when in menus.
- braille no longer shows useless information in its focus context such as unlabeled panes.
- stop announcing some useless information when the focus changes such as root panes, layered panes and scroll panes in Java or Lotus applications.
- Make the keyword search field in Windows Help (CHM) viewer much more usable. Due to buggyness in that control, the current keyword could not be read as it would be continually changing.
- report correct page numbers in Microsoft Word if the page numbering has been specifically offset in the document.
- Better support for edit fields found in Microsoft Word dialogs (e.g. the Font dialog). It is now possible to navigate these controls with the arrow keys.
- better support for Dos consoles. specifically: NVDA can now read the content of particular consoles it always used to think were blank. Pressing control+break no longer terminates NVDA.
- On Windows Vista and above, the NVDA installer now starts NVDA with normal user privileges when requested to run NVDA on the finish screen.
- Backspace is now handled correctly when speaking typed words. (#306)
- Don't incorrectly report "Start menu" for certain context menus in Windows Explorer/the Windows shell. (#257)
- NVDA now correctly handles ARIA labels in Mozilla Gecko when there is no other useful content. (#156)
- NVDA no longer incorrectly enables focus mode automatically for editable text fields which update their value when the focus changes; e.g. http://tigerdirect.com/. (#220)
- NVDA will now attempt to recover from some situations which would previously cause it to freeze completely. It may take up to 10 seconds for NVDA to detect and recover from such a freeze.
- When the NVDA language is set to "User default", use the user's Windows display language setting instead of the Windows locale setting. (#353)
- NVDA now recognises the existence of controls in AIM 7.
- The pass key through command no longer gets stuck if a key is held down. Previously, NVDA stopped accepting commands if this occurred and had to be restarted. (#413)
- The taskbar is no longer ignored when it receives focus, which often occurs when exiting an application. Previously, NVDA behaved as if the focus had not changed at all.
- When reading text fields in applications which use the Java Access Bridge (including OpenOffice.org), NVDA now functions correctly when reporting of line numbers is enabled.
- The review copy command (NVDA+f10) gracefully handles the case where it is used on a position before the start marker. Previously, this could cause problems such as crashes in Notepad++.
- A certain control character (0x1) no longer causes strange eSpeak behaviour (such as changes in volume and pitch) when it is encountered in text. (#437)
- The report text selection command (NVDA+shift+upArrow) now gracefully reports that there is no selection in objects which do not support text selection.
- Fixed the issue where pressing the enter key on certain Miranda-IM buttons or links was causing NVDA to freeze. (#440)
- The current line or selection is now properly respected when spelling or copying the current navigator object.
- Worked around a Windows bug which was causing garbage to be spoken after the name of link controls in Windows Explorer and Internet Explorer dialogs. (#451)
- Fixed a problem with the report date and time command (NVDA+f12). Previously, date reporting was truncated on some systems. (#471)
- Fixed the issue where the system screen reader flag was sometimes inappropriately cleared after interacting with secure Windows screens. This could cause problems in applications which check the screen reader flag, including Skype, Adobe Reader and Jart. (#462)
- In an Internet Explorer 6 combo box, the active item is now reported when it is changed. (#342)

## 0.6p3

### New Features

- As Microsoft Excel's formula bar is inaccessible to NVDA, provide an NVDA specific dialog box for editing when the user presses f2 on a cell.
- Support for formatting in IAccessible2 text controls, including Mozilla applications.
- Spelling errors can now be reported where possible. This is configurable from the Document Formatting preferences dialog.
- NVDA can be configured to beep for either all or only visible progress bars. Alternatively, it can be configured to speak progress bar values every 10%.
- Links can now be identified in richedit controls.
- The mouse can now be moved to the character under the review cursor in most editable text controls. Previously, the mouse could only be moved to the center of the control.
- In virtual buffers, the review cursor now reviews the text of the buffer, rather than just the internal text of the navigator object (which is often not useful to the user). This means that you can navigate the virtual buffer hierarchically using object navigation and the review cursor will move to that point in the buffer.
- Handle some additional states on Java controls.
- If the title command (NVDA+t) is pressed twice, it spells the title. If pressed thrice, it is copied to the clipboard.
- Keyboard help now reads the names of modifier keys when pressed alone.
- Key names announced by keyboard help are now translatable.
- Added support for the recognized text field in SiRecognizer. (#198)
- Support for braille displays!
- Added a command (NVDA+c) to report the text on the Windows clipboard. (#193)
- In virtualBuffers, if NVDA automatically switches to focus mode, you can use the escape key to switch back to browse mode. NVDA+space can still also be used.
- In virtual buffers, when the focus changes or the caret is moved, NVDA can automatically switch to focus mode or browse mode as appropriate for the control under the caret. This is configured from the Virtual Buffers dialog. (#157)
- Rewritten SAPI4 synthesizer driver which replaces the sapi4serotek and sapi4activeVoice drivers and should fix the problems encountered with these drivers.
- The NVDA application now includes a manifest, which means that it no longer runs in compatibility mode in Windows Vista.
- The configuration file and speech dictionaries are now saved in the user's application data directory if NVDA was installed using the installer. This is necessary for Windows Vista and also allows multiple users to have individual NVDA configurations.
- Added support for position information for IAccessible2 controls.
- Added the ability to copy text to the clipboard using the review cursor. NVDA+f9 sets the start marker to the current position of the review cursor. NVDA+f10 retrieves the text between the start marker and the current position of the review cursor and copies it to the clipboard. (#240)
- Added support for some edit controls in pinacle tv software.
- When announcing selected text for long selections (512 characters or more), NVDA now speaks the number of selected characters, rather than speaking the entire selection. (#249)

### Changes

- If the audio output device is set to use the Windows default device (Microsoft Sound Mapper), NVDA will now switch to the new default device for eSpeak and tones when the default device changes. For example, NVDA will switch to a USB audio device if it automatically becomes the default device when it is connected.
- Improve performance of eSpeak with some Windows Vista audio drivers.
- reporting of links, headings, tables, lists and block quotes can now be configured from the Document Formatting settings dialog. Previously to configure these settings for virtual buffers, the virtual buffer settings dialog would have been used. Now all documents share this configuration.
- Rate is now the default setting in the speech synthesizer settings ring.
- Improve the loading and unloading of appModules.
- The title command (NVDA+t) now only reports the title instead of the entire object. If the foreground object has no name, the application's process name is used.
- Instead of virtual buffer pass through on and off, NVDA now reports focus mode (pass through on) and browse mode (pass through off).
- Voices are now stored in the configuration file by ID instead of by index. This makes voice settings more reliable across systems and configuration changes. The voice setting will not be preserved in old configurations and an error may be logged the first time a synthesizer is used. (#19)
- The level of a tree view item is now announced first if it has changed from the previously focused item for all tree views. Previously, this was only occurring for native Windows (SysTreeView32) tree views.

### Bug Fixes

- The last chunk of audio is no longer cut off when using NVDA with eSpeak on a remote desktop server.
- Fix problems with saving speech dictionaries for certain voices.
- Eliminate the lag when moving by units other than character (word, line, etc.) towards the bottom of large plain text documents in Mozilla Gecko virtual buffers. (#155)
- If speak typed words is enabled, announce the word when enter is pressed.
- Fix some character set issues in richedit documents.
- The NVDA log viewer now uses richedit instead of just edit to display the log. This improves reading by word with NVDA.
- Fix some issues related to embedded objects in richedit controls.
- NVDA now reads page numbers in Microsoft Word. (#120)
- Fix the issue where tabbing to a checked checkbox in a Mozilla Gecko virtual buffer and pressing space would not announce that the checkbox was being unchecked.
- Correctly report partially checked checkboxes in Mozilla applications.
- If the text selection expands or shrinks in both directions, read the selection as one chunk instead of two.
- When reading with the mouse, text in Mozilla Gecko edit fields should now be read.
- Say all should no longer cause certain SAPI5 synthesizers to crash.
- Fixed an issue which meant that text selection changes were not being read in Windows standard edit controls before the first focus change after NVDA was started.
- Fix mouse tracking in Java objects. (#185)
- NVDA no longer reports Java tree view items with no children as being collapsed.
- Announce the object with focus when a Java window comes to the foreground. Previously, only the top-level Java object was announced.
- The eSpeak synthesizer driver no longer stops speaking completely after a single error.
- Fix the issue whereby updated voice parameters (rate, pitch, etc.) were not saved when the voice was changed from the synthesizer settings ring.
- Improved the speaking of typed characters and words.
- Some new text that was previously not spoken in text console applications (such as some text adventure games) is now spoken.
- NVDA now ignores focus changes in background windows. Previously, a background focus change could be treated as if the real focus changed.
- Improved the detection of the focus when leaving context menus. Previously, NVDA often didn't react at all when leaving a context menu.
- NVDA now announces when the context menu is activated in the Start menu.
- The classic Start menu is now announced as Start menu instead of Application menu.
- Improved the reading of alerts such as those encountered in Mozilla Firefox. The text should no longer be read multiple times and other extraneous information will no longer be read. (#248)
- The text of focusable, read-only edit fields will no longer be included when retrieving the text of dialogs. This fixes, for example, the automatic reading of the entire license agreement in installers.
- NVDA no longer announces the unselection of text when leaving some edit controls (example: Internet Explorer address bar, Thunderbird 3 email address fields).
- When opening plain text emails in Outlook Express and Windows Mail, focus is correctly placed in the message ready for the user to read it. Previously the user had to press tab or click on the message in order to use cursor keys to read it.
- Fixed several major issues with the "Speak command keys" functionality.
- NVDA can now read text past 65535 characters in standard edit controls (e.g. a large file in Notepad).
- Improved line reading in MSHTML edit fields (Outlook Express editable messages and Internet Explorer text input fields).
- NVDA no longer sometimes freezes completely when editing text in OpenOffice. (#148, #180)

## 0.6p2

- Improved the default ESpeak voice in NVDA
- Added a laptop keyboard layout. Keyboard layouts can be configured from NVDA's Keyboard settings dialog. (#60)
- Support for grouping items in SysListView32 controls, mainly found in Windows Vista. (#27)
- Report the checked state of treeview items in SysTreeview32 controls.
- Added shortcut keys for many of NVDA's configuration dialogs
- Support for IAccessible2 enabled applications such as Mozilla Firefox when running NVDA from portable media, with out having to register any special Dll files
- Fix a crash with the virtualBuffers Links List in Gecko applications. (#48)
- NVDA should no longer crash Mozilla Gecko applications such as Firefox and Thunderbird if NVDA is running with higher privilages than the Mozilla Gecko application. E.g. NVDA is running as Administrator.
- Speech dictionaries (previously User dictionaries) now can be either case sensitive or insensitive, and the patterns can optionally be regular expressions. (#39)
- Whether or not NVDA uses a 'screen layout' mode for virtual buffer documents can now be configured from a settings dialog
- No longer report anchor tags with no href in Gecko documents as links. (#47)
- The NVDA find command now remembers what you last searched for, across all applications. (#53)
- Fix issues where the checked state would not be announced for some checkboxes and radio buttons in virtualBuffers
- VirtualBuffer pass-through mode is now specific to each document, rather than NVDA globally. (#33)
- Fixed some sluggishness with focus changes and incorrect speech interuption which sometimes occured when using NVDA on a system that had been on standby or was rather slow
- Improve support for combo boxes in Mozilla Firefox. Specifically when arrowing around them text isn't repeated, and when jumping out of them, ancestor controls are not announced unnecessarily. Also virtualBuffer commands now work when focused on one when you are in a virtualBuffer.
- Improve accuracy of finding the statusbar in many applications. (#8)
- Added the NVDA interactive Python console tool, to enable developers to look at and manipulate NVDA's internals as it is running
- sayAll, reportSelection and reportCurrentLine scripts now work properly when in virtualBuffer pass-through mode. (#52)
- The increase rate and decrease rate scripts have been removed. Users should use the synth settings ring scripts (control+nvda+arrows) or the Voice settings dialog
- Improve the range and scale of the progress bar beeps
- Added more quick keys to the new virtualBuffers: l for list, i for list item, e for edit field, b for button, x for checkbox, r for radio button, g for graphic, q for blockquote, c for combo box, 1 through 6 for respective heading levels, s for separator, m for frame. (#67, #102, #108)
- Canceling the loading of a new document in Mozilla Firefox now allows the user to keep using the old document's virtualBuffer if the old document hadn't yet really been destroyed. (#63)
- Navigating by words in virtualBuffers is now more accurate as words do not accidentally contain text from more than one field. (#70)
- Improved accuracy of focus tracking and focus updating when navigating in Mozilla Gecko virtualBuffers.
- Added a findPrevious script (shift+NVDA+f3) for use in new virtualBuffers
- Improved sluggishness in Mozilla Gecko dialogs (in Firefox and Thunderbird). (#66)
- Add the ability to view the current log file for NVDA. it can be found in the NVDA menu -> Tools
- Scripts such as say time and date now take the current language in to account; punctuation and ordering of words now reflects the language
- The language combo box in NVDA's General settings dialog now shows full language names for ease of use
- When reviewing text in the current navigator object, the text is always up to date if it changes dynamically. E.g. reviewing the text of a list item in Task Manager. (#15)
- When moving with the mouse, the current paragraph of text under the mouse is now announced, rather than either all the text in that particular object or just the current word. Also audio coordinates, and announcement of object roles is optional, they are turned off by default
- Support for reading text with the mouse in Microsoft Word
- Fixed bug where leaving the menu bar in applications such as Wordpad would cause text selection to not be announced anymore
- In Winamp, the title of the track is no longer announced again and again when switching tracks, or pausing/resuming/stopping playback.
- In Winamp, Added ability to announce state of the shuffle and repeat controls as they are switched. Works in the main window and in the playlist editor
- Improve the ability to activate particular fields in Mozilla Gecko virtualBuffers. May include clickable graphics, links containing paragraphs, and other weird structures
- Fixed an initial lag when opening NVDA dialogs on some systems. (#65)
- Add specific support for the Total Commander application
- Fix bug in the sapi4serotek driver where the pitch could get locked at a particular value, i.e. stays high after reading a capital letter. (#89)
- Announce clickable text and other fields as clickable in Mozilla Gecko VirtualBuffers. e.g. a field which has an onclick HTML attribute. (#91)
- When moving around Mozilla Gecko virtualBuffers, scroll the current field in to view -- useful so sighted peers have an idea of where the user is up to in the document. (#57)
- Add basic support for ARIA live region show events in IAccessible2 enabled applications. Useful in the Chatzilla IRC application, new messages will now be read automatically
- Some slight improvements to help use ARIA enabled web applications, e.g. Google Docs
- Stop adding extra blank lines to text when copying it from a virtualBuffer
- Stop the space key from activating a link in the Links List. Now it can be used like other letters in order to start typing the name of a particular link you wish to go to
- The moveMouseToNavigator script (NVDA+numpadSlash) now moves the mouse to the centre of the navigator object, rather than the top left
- Added scripts to click the left and right mouse buttons (numpadSlash and numpadStar respectively)
- Improve access to the Windows System Tray. Focus hopefully should no longer seem to keep jumping back to one particular item. Reminder: to get to the System Tray use the Windows command WindowsKey+b. (#10)
- Improve performance and stop announcing extra text when holding down a cursor key in an edit field and it hits the end
- Stop the ability for NVDA to make the user wait while particular messages are spoken. Fixes some crashes/freezes with particular speech synthesizers. (#117)
- Added support for the Audiologic Tts3 speech synthesizer, contribution by Gianluca Casalino. (#105)
- Possibly improve performance when navigating around documents in Microsoft Word
- Improved accuracy when reading text of alerts in Mozilla Gecko applications
- Stop possible crashes when trying to save configuration on non-English versions of Windows. (#114)
- Add an NVDA welcome dialog. This dialog is designed to provide essential information for new users and allows CapsLock to be configured as an NVDA modifier key. This dialog will be displayed when NVDA is started by default until it is disabled.
- Fix basic support for Adobe Reader so it is possible to read documents in versions 8 and 9
- Fix some errors that may have occured when holding down keys before NVDA is properly initialized
- If the user has configured NVDA to save configuration on exit, make sure the configuration is properly saved when shutting down or logging out of Windows.
- Added an NVDA logo sound to the beginning of the installer, contributed by Victer Tsaran
- NVDA, both running in the installer and otherwise, should properly clean up its system tray icon when it exits
- Labels for standard controls in NVDA's dialogs (such as Ok and cancel buttons) should now show in the language NVDA is set to, rather than just staying in English.
- NVDA's icon should now be used for the NVDA shortcuts in the start menu and on the Desktop, rather than a default application icon.
- Read cells in MS Excel when moving with tab and shift+tab. (#146)
- Fix some double speaking in particular lists in Skype.
- Improved caret tracking in IAccessible2 and Java applications; e.g. in Open Office and Lotus Symphony, NVDA properly waits for the caret to move in documents rather than accidentally reading the wrong word or line at the end of some paragraphs. (#119)
- Support for AkelEdit controls found in Akelpad 4.0
- NVDA no longer locks up in Lotus Synphony when moving from the document to the menu bar.
- NVDA no longer freezes in the Windows XP Add/Remove programs applet when launching an uninstaller. (#30)
- NVDA no longer freezes when opening Spybot Search and Destroy

## 0.6p1

### Access to web content with new in-process virtualBuffers (so far for Mozilla Gecko applications including Firefox3 and Thunderbird3)

- Load times have been improved almost by a factor of thirty (you no longer have to wait at all for most web pages to load in to the buffer)
- Added a links list (NVDA+f7)
- Improved the find dialog (control+nvda+f) so that it performs a case-insencitive search, plus fixed a few focus issues with that dialog box.
- It is now possible to select and copy text in the new virtualBuffers
- By default the new virtualBuffers represent the document in a screen layout (links and controls are not on separate lines unless they really are visually). You can toggle this feature with NVDA+v.
- It is possible to move by paragraph with control+upArrow and control+downArrow.
- Improved support for dynamic content
- Improved over all accuracy of reading lines and fields when arrowing up and down.

### Internationalization

- It is now possible to type accented characters that rely on a "dead character", while NVDA is running.
- NVDA now announces when the keyboard layout is changed (when pressing alt+shift).
- The announce date and time feature now takes the system's current regional and language options in to account.
- added czech translation (by Tomas Valusek with help from Jaromir Vit)
- added vietnamese translation by Dang Hoai Phuc
- Added Africaans (af_ZA) translation, by Willem van der Walt.
- Added russian translation by Dmitry Kaslin
- Added polish translation by DOROTA CZAJKA and friends.
- Added Japanese translation by Katsutoshi Tsuji.
- added Thai translation by Amorn Kiattikhunrat
- added croatian translation by Mario Percinic and Hrvoje Katic
- Added galician translation by Juan C. buno
- added ukrainian translation by Aleksey Sadovoy

### Speech

- NVDA now comes packaged with eSpeak 1.33 which contains many improvements, among those are improved languages, named variants, ability to speak faster.
- The voice settings dialog now allows you to change the variant of a synthesizer if it supports one. Variant is usually a slight variation on the current voice. (eSpeak supports variants).
- Added the ability to change the inflection of a voice in the voice settings dialog if the current synthesizer supports this. (eSpeak supports inflection).
- Added the ability to turn off speaking of object position information(e.g. 1 of 4). This option can be found in the Object presentation settings dialog.
- NVDA can now beep when speaking a capital letter. This can be turned on and off with a check box in the voice settings dialog. Also added a raise pitch for capitals check box to configure whether NVDA should actually do its normal pitch raise for capitals. So now you can have either raise pitch, say cap, or beep, for capitals.
- Added the ability to pause speech in NVDA (like found in Voice Over for the Mac). When NVDA is speaking something, you can press the control or shift keys to silence speech just like normal, but if you then tap the shift key again (as long as you havn't pressed any other keys) speech will continue from exactly where it left off.
- Added a virtual synthDriver which outputs text to a window instead of speaking via a speech synthesiser. This should be more pleasant for sighted developers who are not used to speech synthesis but want to know what is spoken by NVDA. There are probably still some bugs, so feedback is most definitely welcome.
- NVDA no longer by default speaks punctuation, you can enable speaking of punctuation with NVDA+p.
- eSpeak by default now speaks quite a bit slower, which should make it easier for people who are using eSpeak for the first time, when installing or starting to use NVDA.
- Added user dictionaries to NVDA. These allow you to make NVDA speak certain text differently. There are three dictionaries: default, voice, and temporary. Entries you add to the default dictionary will happen all the time in NVDA. Voice dictionaries are specific to the current synthesizer and voice you currently have set. And temporary dictionary is for those times you quickly want to set a rule while you are doing a particular task, but you don't want it to be perminant (it will disappear if you close NVDA). For now the rules are regular expressions, not just normal text.
- Synthesizers can now use any audio output device on your system, by setting the output device combo box in the Synthesizer dialog before selecting the synthesizer you want.

### Performance

- NVDA no longer takes up a huge amount of system memory , when editing messages in mshtml edit controls
- Improved performance when reviewing text inside many controls that do not actually have a real cursor. e.g. MSN Messenger history window, treeview items, listview items etc.
- Improved performance in rich edit documents.
- NVDA should no longer slowly creep up in system memory size for no reason
- Fixed bugs when trying to focus on a dos console window more than three or so times. NVDA did have a tendency to completely crash.

### Key commands

- NVDA+shift+numpad6 and NVDA+shift+numpad4 allow you to navigate to the next or previous object in flow respectively. This means that you can navigate in an application by only using these two keys with out having to worry about going up by parent, or down to first child as you move around the object hyerarchy. For instance in a web browser such as firefox, you could navigate the document by object, by just using these two keys. If next in flow or previous in flow takes you up and out of an object, or down in to an object, ordered beeps indicate the direction.
- You can now configure voice settings with out opening the voice settings dialog, by using the Synth Settings Ring. The synth settings ring is a group of voice settings you can toggle through by pressing control+NVDA+right and control+NVDA+left. To change a setting use control+NVDA+up and control+NVDA+down.
- Added a command to report the current selection in edit fields (NVDA+shift+upArrow).
- Quite a few NVDA commands that speak text (such as report current line etc) now can spell the text if pressed twice quickly.
- the capslock, numpad insert and extended insert can all be used as the NVDA modifier key. Also if one of these keys is used, pressing the key twice with out pressing any other keys will send the key through to the operating system, just like you'd pressed the key with out NVDA running. To make one of these keys be the NVDA modifier key, check its checkbox in the Keyboard settings dialog (used to be called the keyboard echo dialog).

### Application support

- Improved support for Firefox3 and Thunderbird3 documents. Load times have been improved by almost a factor of thirty, a screen layout is used by default (press nvda+v to toggle between this and no screen layout), a links list (nvda+f7 has been added), the find dialog (control+nvda+f) is now case-insensitive, much better support for dynamic content, selecting and copying text is now possible.
- In the MSN Messenger and Windows Live Messenger history windows, it is now possible to select and copy text.
- Improved support for the audacity application
- Added support for a few edit/text controls in Skype
- Improved support for Miranda instant messenger application
- Fixed some focus issues when opening html and plain text messages in Outlook Express.
- Outlook express newsgroup message fields are now labeled correctly
- NVDA can now read the addresses in the Outlook Express message fields (to/from/cc etc)
- NVDA should be now more accurate at announcing the next message in out look express when deleting a message from the message list.

### APIs and toolkits

- Improved object navigation for MSAA objects. If a window has a system menu, title bar, or scroll bars, you can now navigate to them.
- Added support for the IAccessible2 accessibility API. A part from the ability to announce more control types, this also allows NVDA to access the cursor in applications such as Firefox 3 and Thunderbird 3, allowing you to navigate, select or edit text.
- Added support for Scintilla edit controls (such controls can be found in Notepad++ or Tortoise SVN).
- Added support for Java applications (via the Java Access Bridge). This can provide basic support for Open Office (if Java is enabled), and any other stand-alone Java application. Note that java applets with in a web browser may not work yet.

### Mouse

- Improved support for reading what is under the mouse pointer as it moves. It is now much faster, and it also now has the ability in some controls such as standard edit fields, Java and IAccessible2 controls, to read the current word, not just the current object. This may be of some used to vision impared people who just want to read a specific bit of text with the mouse.
- Added a new config option, found in the mouse settings dialog. Play audio when mouse moves, when checked, plays a 40 ms beep each time the mouse moves, with its pitch (between 220 and 1760 hz) representing the y axis, and left/right volume, representing the x axis. This enables a blind person to get a rough idea of where the mouse is on the screen as its being moved. This feature also depends on reportObjectUnderMouse also being turned on. So this means that if you quickly need to disable both beeps and announcing of objects, then just press NVDA+m. The beeps are also louder or softer depending on how bright the screen is at that point.

### Object presentation and interaction

- Improved support for most common treeview controls. NVDA now tells you how many items are in the branch when you expand it. It also announces the level when moving in and out of branches. And, it announces the current item number and number of items, according to the current branch, not the entire treeview.
- Improved what is announced when focus changes as you move around applications or the operating system. Now instead of just hearing the control you land on, you hear information about any controls this control is positioned inside of. For instance if you tab and land on a button inside a groupbox, the groupbox will also get announced.
- NVDA now tries to speak the message inside many dialog boxes as they appear. This is accurate most of the time, though there are still many dialogs that arn't as good as they could be.
- Added a report object descriptions checkbox to the object presentation settings dialog. Power users may wish to sometimes uncheck this to stop NVDA announcing a lot of extra descriptions on particular controls, such as in Java applications.
- NVDA automatically announces selected text in edit controls when focus moves to them. If there isn't any selected text, then it just announces the current line like usual.
- NVDA is a lot more careful now when it plays beeps to indicate progress bar changes in applications. It no longer goes crazy in Eclipse applications such as Lotus Notes/Symphony, and Accessibility Probe.

### User Interface

- Removed the NVDA interface window, and replaced it with a simple NVDA popup menu.
- NVDA's user interface settings dialog is now called General Settings. It also contains an extra setting: a combo box to set the log level, for what messages should go to NVDA's log file. Note that NVDA's log file is now called nvda.log not debug.log.
- Removed the report object group names checkBox from the object presentation settings dialog, reporting of group names now is handled differently.

## 0.5

- NVDA now has a built-in synthesizer called eSpeak, developed by Jonathan Duddington.It is very responsive and lite-weight, and has support for many different languages. Sapi synthesizers can still be used, but eSpeak will be used by default.
  - eSpeak does not depend on any special software to be installed, so it can be used with NVDA on any computer, on a USB thumb drive, or anywhere.
  - For more info on eSpeak, or to find other versions, go to http://espeak.sourceforge.net/.
- Fix bug where the wrong character was being announced when pressing delete in Internet Explorer / Outlook Express editable panes.
- Added support for more edit fields in Skype.
- VirtualBuffers only get loaded when focus is on the window that needs to be loaded. This fixes some problems when the preview pane is turned on in Outlook Express.
- Added commandline arguments to NVDA:
  - -m, --minimal: do not play startup/exit sounds and do not show the interface on startup if set to do so.
  - -q, --quit: quit any other already running instance of NVDA and then exit
  - -s, --stderr-file fileName: specify where NVDA should place uncaught errors and exceptions
  - -d, --debug-file fileName: specify where NVDA should place debug messages
  - -c, --config-file: specify an alternative configuration file
  - -h, -help: show a help message listing commandline arguments
- Fixed bug where punctuation symbols would not be translated to the appropriate language, when using a language other than english, and when speak typed characters was turned on.
- Added Slovak language files thanks to Peter Vagner
- Added a Virtual Buffer settings dialog and a Document Formatting settings dialog, from Peter Vagner.
- Added French translation thanks to Michel Such
- Added a script to toggle beeping of progress bars on and off (insert+u). Contributed by Peter Vagner.
- Made more messages in NVDA be translatable for other languages. This includes script descriptions when in keyboard help.
- Added a find dialog to the virtualBuffers (internet Explorer and Firefox). Pressing control+f when on a page brings up a dialog in which you can type some text to find. Pressing enter will then search for this text and place the virtualBuffer cursor on this line. Pressing f3 will also search for the next occurance of the text.
- When speak typed characters is turned on, more characters should be now spoken. Technically, now ascii characters from 32 to 255 can now be spoken.
- Renamed some control types for better readability. Editable text is now edit, outline is now tree view and push button is now button.
- When arrowing around list items in a list, or tree view items in a tree view, the control type (list item, tree view item) is no longer spoken, to speed up navigation.
- Has Popup (to indicate that a menu has a submenu) is now spoken as submenu.
- Where some language use control and alt (or altGR) to enter a special character, NVDA now will speak these characters when speak typed characters is on.
- Fixed some problems with reviewing static text controls.
- Added Translation for Traditional Chinese, thanks to Coscell Kao.
- Re-structured an important part of the NVDA code, which should now fix many issues with NVDA's user interface (including settings dialogs).
- Added Sapi4 support to NVDA. Currently there are two sapi4 drivers, one based on code contributed by Serotek Corporation, and one using the ActiveVoice.ActiveVoice com Interface. Both these drivers have issues, see which one works best for you.
- Now when trying to run a new copy of NVDA while an older copy is still running will cause the new copy to just exit. This fixes a major problem where running multiple copies of NVDA makes your system very unusable.
- Renamed the title of the NVDA user interface from NVDA Interface to NVDA.
- Fixed a bug in Outlook Express where pressing backspace at the start of an editable message would cause an error.
- Added patch from Rui Batista that adds a script to report the current battery status on laptops (insert+shift+b).
- Added a synth driver called Silence. This is a synth driver that does not speak anything, allowing NVDA to stay completely silent at all times. Eventually this could be used along with Braille support, when we have it.
- Added capitalPitchChange setting for synthesizers thanks to J.J. Meddaugh
- Added patch from J.J. Meddaugh that makes the toggle report objects under mouse script more like the other toggle scripts (saying on/off rather than changing the whole statement).
- Added spanish translation (es) contributed by Juan C. buo.
- Added Hungarian language file from Tamas Gczy.
- Added Portuguese language file from Rui Batista.
- Changing the voice in the voice settings dialog now sets the rate, pitch and volume sliders to the new values according to the synthesizer, rather than forcing the synthesizer to be set to the old values. This fixes issues where a synth like eloquence or viavoice seems to speek at a much faster rate than all other synths.
- Fixed a bug where either speech would stop, or NVDA would entirely crash, when in a Dos console window.
- If support for a particular language exists, NVDA now automatically can show its interface and speak its messages in the language Windows is set to. A particular language can still be chosen manualy from the user interface settings dialog as well.
- Added script 'toggleReportDynamicContentChanges' (insert+5). This toggles whether new text, or other dynamic changes should be automatically announced. So far this only works in Dos Console Windows.
- Added script 'toggleCaretMovesReviewCursor' (insert+6). This toggles whether the review cursor should be automatically repositioned when the system caret moves. This is useful in Dos console windows when trying to read information as the screen is updating.
- Added script 'toggleFocusMovesNavigatorObject' (insert+7). This toggles whether the navigator object is repositioned on the object with focus as it changes.
- Added some documentation translated in to various languages. So far there is French, Spannish and Finish.
- Removed some developer documentation from the binary distribution of NVDA, it is only now in the source version.
- Fixed a possible bug in Windows Live Messanger and MSN Messenger where arrowing up and down the contact list would cause errors.
- New messages are now automatically spoken when in a conversation using Windows Live Messenger. (only works for English versions so far)
- The history window in a Windows Live Messenger conversation can now be read by using the arrow keys. (Only works for English versions so far)
- Added script 'passNextKeyThrough' (insert+f2). Press this key, and then the next key pressed will be passed straight through to Windows. This is useful if you have to press a certain key in an application but NVDA uses that key for something else.
- NVDA no longer freezes up for more than a minute when opening very large documents in MS Word.
- Fixed a bug where moving out of a table in MS Word, and then moving back in, caused the current row/column numbers not to be spoken if moving back in to exactly the same cell.
- When starting NVDA with a synthesizer that doesn't exist, or is not working, the sapi5 synth will try and be loaded in stead, or if sapi5 isn't working, then speech will be set to silence.
- Increasing and decreasing rate scripts can no longer take the rate above 100 or below 0.
- If there is an error with a language when choosing it in the User Interface Settings dialog, a message box will alert the user to the fact.
- NVDA now asks if it should save configuration and restart if the user has just changed the language in the User Interface Settings Dialog. NVDA must be restarted for the language change to fully take effect.
- If a synthesizer can not be loaded, when choosing it from the synthesizer dialog, a message box alerts the user to the fact.
- When loading a synthesizer for the first time, NVDA lets the synthesizer choose the most suitable voice, rate and pitch parameters, rather than forcing it to defaults it thinks are ok. This fixes a problem where Eloquence and Viavoice sapi4 synths start speaking way too fast for the first time.