=====
0.4.0
=====

For users

* LSR now supports Braille output using the current development snapshot of
  BrlAPI 0.5.0. Basic input commands are also supported such as scrolling,
  touch cursor clicking, etc. Many options are available such as caret padding,
  scrolling behavior, custom ellipsis rendering, custom caret rendering, and
  dead Braille cell skipping. Thanks to Scott Haeger for his hard work in
  adding initial Braille support.
* Screen magnification is now available using the GNOME magnifier. All options
  supported by the magnifier are available in LSR's settings dialog. Additional
  features such as independent mouse, focus, and caret tracking and smooth
  panning are also configurable. Thanks to Eitan Isaacson for his efforts in
  supporting the GNOME magnifier.
* Supporting Firefox 3.0 (Minefield) remains a top priority. Item, word, and
  character navigation function properly on many pages. How to treat trivial
  elements is now user configurable. The next LSR release will focus heavily on
  the Firefox user experience.
* Cyclic commands are now supported. Press a hotkey once to get some
  information. Press it again to get more detailed information.
* Spelling and NATO phonetic spelling of words and characters is now available.
* Pronunciation of many unicode characters is now supported.
* Responsiveness is improved overall thanks to a more intelligent caching
  strategy.
* Color names and decimal values at the point of regard are now spoken.
* Table, list, tree, and menu headers, indices, and levels are now spoken.
* Word and character echo are now separate options.
* Information about an active text selection is now spoken.
* LSR has its first icon(s) thanks to James Stipp. The smaller icon is a simple
  box with the letters LSR to aid low-vision users in the identification of LSR
  windows. The large icon features the same letters plus a "Braille balloon"
  drawn on a 3D computer screen. The larger icon follows the Tango specs to fit
  the style of the GNOME desktop.
* Numerous bug fixes.

For developers

* You can register observers for changes on any Perk or device setting. The
  observer can take any action as a result of the setting change.
* Named Tasks can now be chained before and after one another much like they
  can be using the advice facility of elisp. This is how T.V. Raman's powerful
  Emacspeak system operates. In LSR, it enables a feature like the review
  commands to simply move the current point of regard, while Perks for specific
  devices (e.g. speech, Braille, magnifier) can tap into the review commands
  and provide the appropriate output after the move.
* A new color setting is available for user configuration and persistence.
* Defining settings for devices now involves only one class, rather than a
  default and a flyweight.
* Devices can be referenced by capabilities in addition to an exact name. This
  allows, for instance, a magnifier Perk to work with any available magnifier
  device assuming it provides some baseline set of features.
* The AEOutput base class now has only a generic send method which can be used
  to send arbitrary commands which a device may interpret as it sees fit. This
  more abstract base interface allows for a wider variety of device types.
* Basic audio and Braille interfaces are defined for future device support.
* The last pressed key code, key sym, and modifiers are available to Perks as
  extra information for correcting caret/text accessibility problems.
* Numerous bug fixes and documentation improvements to the core and tools API.

Translations

* dz(Pema Geyleg)
* es(Francisco Javier F. Serrador)

=====
0.3.2
=====

The purpose of this release is to make the change of license on the LSR code 
base from the Common Public License to the New Berkeley Software Distribution 
License (BSD) official and public. The BSD license is GPL-compatible but has
no copyleft restriction. Overall, this change helps LSR better fit into the
GNOME ecosystem.

Some of the features planned for 0.4.0 are present in this release. A full
record of those features will appear in the announcement for that version and
are available in the ChangeLog in the meantime.

Translations

* ar(Djihed Afifi)

=====
0.3.1
=====

This version is a bug fix release. It rectifies differences between 
accessibility for gtk widgets on FC5 (GNOME 2.14) and on FC6 (GNOME 2.16).

Translations

* fi(Ilkka Tuohela)
* es(Francisco Javier F. Serrador)

=====
0.3.0
=====

For users

* The new settings dialog allows for configuration of settings defined by a 
  particular device or script as well as the current user profile. For 
  instance, a user can change their speech synthesizer without restarting LSR.
* Settings are now persistent across sessions. More settings will be added
  in future versions.
* New keyboard commands are now available such as reading accessible 
  descriptions, reporting text attributes, routing focus and caret, etc. See
  the list of defined commands at 
* The LSR review keys now function on web pages in Firefox 3.0. The FirefoxPerk
  will grow new commands for rich document navigation in future releases.
* The Perk chooser dialog allows users to manually load and unload scripts for 
  the current application. This allows users to dynamically load/unload tool
  scripts at runtime, kind of like Emacs modes.
* DECtalk is now supported through gnome-speech.
* SpeechDispatcher is now supported.
* A script to better support accessible login has been added. Instructions for
  configuring Fedora Core to start LSR at login are now available in the LSR
  FAQ. (http://live.gnome.org/LSR/FrequentlyAskedQuestions)

For developers

* The developer scripting API has grown a tremendous number of new convenience 
  methods. See the epydoc on the LSR homepage for details.
* Three developer monitors now exist in LSR for watching raw accessibility 
  events from at-spi, execution of LSR scripts, and I/O streams to devices.
* User configurable settings may now be defined by LSR scripts. The settings 
  dialog automatically generates an accessible user interface for changing 
  their values.
* Developers can now add new dialogs and debugging monitors to LSR just as they
  can add scripts and input/output devices. They're all just extensions to LSR.
* The command line interface for managing extensions is now simpler.
* Extensions may now be added by the root user and made available system-wide,
  or added by an unpriviledged user and available for his/her use only.
* The spec is updated to support the building of relocatable RPMs.

Translations

* en_GB(David Lodge)
* vi(Clytie Siddall)
* zh_CN(Funda Wang)
* pt_BR(Raphael Higino)

=====
0.2.1
=====

User interface

* Better reporting of accessible components
 * Combobox current text reported on focus
 * Tree level reported on level change and first focus (bug #343388)
 * Menu role and name announced before menu items when switching between menus
* Review of visible items works on text, trees, lists, and tables now
* Added mute indefinitely key command

Scripting

* Added DeveloperPerk with the following commands
 * Refresh all loaded scripts without restarting LSR
 * Report names of all loaded scripts
 * Show or hide all development monitor windows
* Added -g command line parameter to generate a new extension template
* Update of TaskTools to support new output semantics
* Added support for text selection events
* Added support for storing script and application state separately

Devices

* Updated Keyboard device to support stateful keys as modifiers (e.g. CapsLock) 
 
Architecture

* Complete refactor of output interface to support device Style objects
* Mapping from semantics (role, title, level, etc.) to styles
* Plumbing to support persistence and configuration of extension settings
* Plumbing to support auto-generation of settings dialogs for extensions

Documentation

* Posted Gaim Perk tutorial as hands-on example of writing a script extension
* Updated user guide to mention new key bindings
* Regenerated epydoc to match latest API

Translations

* sv(Christian Rose)

=====
0.2.0
=====

User interface

* Improvements to GaimPerk 
  * Incoming messages, message history review, conversation status
* MetacityPerk for app and desktop switch reporting
* GTerminalPerk for mitigating some a11y problems in gnome-terminal
* Direct support for IBM TTS via pyibmtts
* Support for gnome-speech devices
* Support for Festival speech via gnome-speech
* Support for device fallback (i.e. try preferred, try next, etc.)

Scripting

* Script access to additional common events (state, property, table, etc.)
* Support for event layers (focus, application, background)
* Command line "say" option for testing output
* Script for initial configuration profiles
* Automatic script exception handling and reporting based on user settings

Architecture

* On-demand at-spi event registration
* Refactor of widget adapters (tree, list, table, combobox)
* Default profile configuration support
* Unicode character handling

Documentation

* Workbook pages about extensions that ship with the LSR core
* Draft of script tutorial (to be posted with 0.2.1)

See http://live.gnome.org/LSR/Timeline for planned features.
