Note: this file is in reversed chronological order (bottom to top).


July 5, 2025:
 - BRLTTY 6.8 released:
   General changes:
      The --helpers-directory (-H) command line option has been added.
      The Learn Mode prompt now includes the number of seconds before it times out.
   Speech changes:
      The "most" punctuation level has been added (in between "some", and "all").
      The SPK_PUNCT_LEVEL command has been added (cycles through all four levels).
   Message changes:
      Message content can now be copied to the clipboard.
      Messages are now rendered in contracted braille when that's being used.
      Messages now honour the Word Wrap setting (when using computer braille).
   Pasting clipboard content:
      The PASTE_ALTMODE and PASTE_HISTORY_ALTMODE commands have been added.
      PASTE_ALTMODE has been bound to a long-press of the key combination for PASTE.
   Preferences Menu changes:
      The preferences file can no longer be lost during a reboot or shutdown.
      Alternate Paste Mode Enabled has been added to the Input Options submenu.
      The Command Options (advanced) submenu has been added.
   BrlAPI braille driver changes:
      The correct BrlAPI client priority is now being set.
   DotPad braille driver changes:
      These driver properties have been defined (prefix is DP_PROP_):
         DISPLAY: can be set to TEXT or GRAPHIC (prefix is DP_DISPLAY_)
         STATUS_CELLS: can be set to 0 (no) or 1 (status cells in text area)
         HORIZONTAL_SPACING: number of dot columns between cells (default is 1)
         VERTICAL_SPACING: number of dot rows between lines (default is 2)
      These can be changed at run-time via BRLAPI_PARAM_DRIVER_PROPERTY_VALUE.
      The driver's README contains this list along with examples.
   HandyTech braille driver changes:
      Input mode on an Activator Pro model can now be toggled with Space + dots 7-8.
   ExternalSpeech speech driver changes:
      The current settings are now sent to the server on each connect or reconnect.
   SpeechDispatcher speech driver changes:
      The Address= parameter has been added.
      The Autospawn= parameter has been added.
      The Port= parameter has been removed (use Address= instead).
   Linux screen driver changes:
      Automatically detect if a paste should be bracketed (starting with kernel 6.16).
      A screen with more than 255 columns and/or lines is now rendered properly
      (although, if the kernel is earlier than 6.16, the cursor isn't shown when
      its position is beyond column and/or line 255).
      The LargeScreenBug= parameter (defaults to No) has been added
      (might be needed if the kernel is earlier than 5.1).
      The handling of foreground console switching has been improved.
   AtSpi2 screen driver changes:
      Widgets which don't have a text interface are now ignored.
      The handling of double-width and zero-width characters has been improved.
   BrlAPI changes:
      The version is now 0.8.7 (it was 0.8.6).
      Driver properties are now changed on the core's (not the client's) thread.
      The handling of braille display size changes has been improved.
   Text table changes:
      The he_IL (Hebrew, Israel) table has been added - it can be used to read
         Hebrew, Arabic, Russian, English, and some western european languages.
      The he (Hebrew, generic) table is now an alias for the (new) he_IL table.
      The older he (Hebrew, generic) table is still (for now) available as he-old.
      The pt (Portuguese) table has been improved.
      Support for Esperanto and Greek has been added to the pt (Portuguese) table.
   Contraction table changes:
      The de-2015 (German) table has been improved.
      The de-1998 (German) table is deprecated and will be removed soon.
   TCL build changes:
      The TCL-8.6.15 change to the format of TCL_PACKAGE_PATH is now supported.
      Building against TCL-9.0 is now supported.
   Android build changes:
      The crash on startup when using Android 14 (or later) has been fixed.

October 15, 2024:
 - BRLTTY 6.7 released:
   General changes:
      The -g [--gui-keyboard=] command line option has been added.
      The -G (--gui-keyboard-table) command line option has been added.
      The Speak Empty Line preference (default is yes) has been added.
      The ASPK_EMP_LINE toggle command has been added.
   BrailleMemo braille driver changes:
      The KGS Next Touch models are now supported.
   FreedomScientific braille driver changes:
      Bluetooth service discovery is now used to find the serial channel.
   HandyTech braille driver changes:
      The Activator Pro models are now supported.
      USB support for the Basic Braille Plus models has been enabled.
   HIMS braille driver changes:
      The eMotion is now supported.
      USB detection of the BrailleSense 6 has been fixed.
   Linux screen driver changes:
      Keyboard input when in graphical mode is now supported.
      Modifying a character with the Left Alt key is now supported.
      The CapsLock key is now supported as a modifier (for Orca's laptop mode).
      Shifted keys have been added to the XT key entry table.
   AtSpi screen driver changes:
      The Enter key is now mapped to the Return key rather than to Keypad Enter.
   FileViewer screen driver changes:
      The show=yes,no parameter has been added.
      Typing any character now beeps as that's invalid on a read-only screen.
      Home/End now go to the start/end of the current line.
      Home/End with the Control modifier now go to the start/end of the file.
   Speech FIFO changes:
      A single write may now contain several packets.
      Packet options for each of the autospeak echo settings have been added.
      A packet option allowing a tune to be written has been added.
   BrlAPI changes:
      The version is now 0.8.6 (it was 0.8.5).
      Setting a subparameter value has been fixed.
      The BRLAPI_PARAM_DRIVER_PROPERTY_VALUE parameter has been added.
      The WM_COMMAND window manager property is now monitored for changes.
      The --write-window and --write-command options have been added to xbrlapi.
   Key table changes:
      The assignGlobal directive has been added.
   Windows changes:
      The winsetup script now supports the python-location symbolic link.
   Android changes:
      The release version is no longer allowed to upgrade itself.
      Translations for the Ukrainian language have been added.
   Language changes:
      The German contraction table has been updated.
      A message catalog for the Georgian language has been added.

July 22, 2023:
 - BRLTTY 6.6 released:
   General changes:
      The -H (uppercase) option and the concept of hidden options have been removed.
      For consistency (with -A, -B, -S, -X), the -z and -Z short options have been swapped:
	 -z is now --stay-privileged
	 -Z is now --privilege-parameters
      Multi-line contracted braille is now supported.
      The cursor style can now be set to no dots.
      A rectangular append to the clipboard now ensures a leading newline.
      README.CommandReference has been added.
   Speech changes:
      Speech can now be interrupted when writing new text to the input FIFO.
      Autospeak now provides correct character highlighting to the speech driver.
      A word is now a whitespace-delimited (rather than an alphanumeric) sequence of characters.
      Word completion for single-character words now works correctly.
      The ROUTE_SPEECH command (go to the speech cursor) has been added.
      The DESC_CURR_CHAR command now speaks phonetically.
   Preferences Menu changes:
      The PREFRESET command has been added.
      Space + p + Dots 7-8 is bound to the new PREFRESET command.
      If the preferences file can't be found then try loading /etc/brltty/default.prefs.
      Save on Exit now also saves the preferences on program termination.
      The Speak Key Context preference has been added.
      The Speak Modifier Key preference has been added.
   Baum braille driver changes:
      More recent Orbit Reader models have routing keys.
   BrlAPI braille driver changes:
      The speechChanges (no, yes) parameter has been added.
   CombiBraille braille driver changes:
      Upgraded to use generic (rather than direct serial) I/O.
      The routing keys are now supported.
   DotPad braille driver:
      New - its two-letter driver code is dp.
      A multi-line text display is supported within its graphic area.
   Freedom Scientific braille driver changes:
      Minor Focus key binding changes:
	 LeftShift + RoutingKey -> SETLEFT
	 RightShift + RoutingKey -> SWITCHVT
	 LeftSelector + NavrowKey -> PRDIFCHAR
	 RightSelector + NavrowKey -> NXDIFCHAR
   HandyTech braille driver changes:
      Bluetooth service discovery now needs to be performed (for newer models).
   External Speech speech driver changes:
      The volume and pitch can now be set.
      Now disconnects from the server when a write error or timeout occurs.
      Now tries to reconnect to the server if disconnected.
      Now correctly handles the receipt of tracking data.
   AtSpi2 screen driver changes:
      A potential crash on receipt of a cursor routing request has been resolved.
   File Viewer screen driver:
      New. Its two-letter driver code is fv.
      A virtual screen presents the specified file (via its file parameter).
      The height of the screen is the number of lines within the file.
      The width of the screen is the length of the file's longest line.
   Linux screen driver changes:
      A message is shown on the braille display if character injection (TIOCSTI) is disabled.
   Terminal Emulator screen driver:
      New. Its two-letter driver code is em.
      It monitors a shared memory segment maintained by a terminal emulator
      for screen content and size, cursor position, etc.
      It uses a message queue to know when the segment has been updated
      and to send input typed on the braille device to the terminal emulator.
      BRLTTY's provided terminal emulator is the new brltty-pty command (in libexec/brltty/).
      The new brltty-term command runs a shell or terminal manager via brltty-pty,
      and also runs BRLTTY with its Terminal Emulator screen driver to interact with it.
   BrlAPI changes:
      The version is now 0.8.5 (it was 0.8.4).
      Fuzzing support has been added to the server (see README.APIFuzzing).
      Various fuzzer-detected issues have been resolved.
   Contraction tables:
      The en-ueb-g1 (English, Unified, Grade 1) contraction table has been added.
   Key tables:
      A possible stack overflow during table compilation has been resolved.
      The run directive has been added.
      The macro directive has been added.
      The isolated directive has been added.
      The ktbcheck tool has been added.
   Windows changes:
      The batch scripts have been improved.
      The tasks-brltty.bat script has been added.
      The regquery-brlapi.bat script has been added.
      The build now includes the Debug\ directory, which contains:
         The build's config.h, config.mk, and config.log files.
         Unstripped executables (.exe) and libraries (.dll).

June 9, 2022:
 - BRLTTY 6.5 released:
   General changes:
      Help (-h) output lines are now wrapped at the screen width (not at 79).
      Parameter errors no longer prevent a driver from starting.
      Word Wrap when using contracted braille has been fixed.
      The Quiet setting can now be specified within brltty.conf.
      In data files, \R now represents the Unicode replacement character.
      Chord-6/8 now toggle between 6- and 8-dot computer braille.
      Bindings for the Emacs editor have been added.
      Bindings for the Lua language have been added.
      An Arabic message catalog has been added.
   Logging changes:
      The ingio log category has been renamed to gio.
      The bluetooth log category has been renamed to bt.
      The hid log category has been added.
   Baum braille driver changes:
      The Orbit Reader 40 is now supported.
   Canute braille driver changes:
      Driver startup is now much faster.
      Lines that haven't effectively changed are no longer rewritten.
   HumanWare braille driver changes:
      An easy way to revert to the legacy thumb key bindings has been added.
      The newer models can now be used via Bluetooth on Linux.
   Linux screen driver changes:
      The WidecharPadding= parameter has been added.
      The FixUnicodeSpaces= parameter has been renamed to RpiSpacesBug=.
   AtSpi2 screen driver changes:
      Control characters are now mapped to their corresponding special keys.
      Brltty is now shut down if the driver fails to start.
      The driver no longer crashes when the X server is shut down.
   BrlAPI changes:
      The version is now 0.8.4 (it was 0.8.3).
      The permissions on local server sockets are now set correctly.
      The cursor is now represented correctly when using six-dot cells.
      Some locking issues have been resolved.
      A text console can now create its own client session.
   Text table changes:
      The Russian (ru) table has been significantly updated.
      The Arabic (ar) table has been significantly updated.
      Typing when using the Arabic (ar) table now yields Arabic (not English) letters.
      The input directive has been added.
   Key table changes:
      The +escaped character modifier has been added.
   Udev changes:
      The rules for customized and generic devices can now be installed separately.
      The device and uinput rules can now be installed separately.
      Filtering is now also done on the manufacturer and product strings.
      Filtering on a parent hub's vendor/product identifiers is now supported.
      A HID rules file has been added.
      Symlinks for USB-connected devices are now in /dev/brltty/.
   Linux changes:
      Bluetooth HID is now supported.
   Windows changes:
      Brltty no longer crashes when started as a service.
   Android changes:
      Now targeting API level 30 and setting isAccessibilityTool.
      The Actions screen now scrolls vertically.
      Settings -> Accessibility -> BRLTTY -> Settings now goes to the Actions screen.
      Arabic string translations have been added.
   Tool changes:
      brltty-clip now has better long options.
      brltty-hid has been added.
      brltty-ttysize has been added.
      xbrlapi now ignores keyboard remapping errors from the X server.
   Build changes:
      The LD, STRIP, and RANLIB commands are no longer hard-coded.

September 24, 2021:
 - BRLTTY 6.4 released:
   General changes:
      Dynamically changing the text table to auto now works.
      The keyboard table can now be explicitly set to off.
      Vertical scrolling for multi-line displays has been improved.
      Trailing whitespace (except for the first one) is now trimmed when pasting.
      The internationalization of date phrases has been improved.
      Emoji using characters like the hash (#) or asterisk (*) are now ignored.
   Sliding braille window changes:
      Cursor tracking always moves the window all the way to the left
      if the whole line is short enough to fit on it.
      Sliding the window triggers when the screen cursor moves to
      (rather than beyond) the first/last cell of the text portion of the display.
   Contracted braille changes:
      Contraction table support can no longer be excluded.
      An internal contraction table can now be configured.
      Contracted braille is automatically enabled on startup if:
         The contraction table has been either specified or automatically selected.
         The text table hasn't been either specified or automatically selected.
      Cursor tracking has been improved.
      Panning left when there are wide characters has been fixed.
      A buffer overrun that occasionally caused a crash has been fixed.
   Preferences menu changes:
      The autospeak settings have been moved into their own submenu.
      Contracted Braille and 6-dot Computer Braille are now configured separately.
      Blinking properties are now configured by period and percent visible
      rather than by visible and invisible times.
      The Space status field type has been added.
      Three-digit status field types have been added.
   New navigation commands:
      SAY_ALL: Speak the entire screen (SAY_ABOVE + SAY_BELOW).
      LOWER and HIGHER: Adjust the speech pitch.
      CONTRACTED: Toggle between contracted (on) and computer (off) braille.
      COMPBRL6: Toggle between six- and eight-dot computer braille.
      Chord-G (Space + dots 1245) is bound to the CONTRACTED toggle.
   Status summary (info line) changes:
      Indicator character changes:
         c: The screen cursor is being rendered.
         s: The speech cursor is being rendered.
         t: Cursor tracking is on.
         u: The attributes underline is being rendered.
	 Braille display content:
	    6: six-dot computer braille
	    8: eight-dot computer braille
	    c: contracted braille
	    a: character attributes
	 Braille keyboard mode:
	    space: typing in text mode
	    b: typing in Unicode braille patterns mode
	    d: keyboard is disabled
      Dot indicator changes:
         Dot5: rendering the attributes underline (was cursor style)
