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


February 17, 2026:
 - BRLTTY 6.9 released:
   General changes:
      Cursor routing no longer spawns an additional process or thread.
      Soft cursor detection (for applications that use a visual cursor) has been added
      (must be enabled within the Navigation Options submenu).
      Multi-line cursor routing has been fixed.
      A screen driver can now provide full (RGB) color for each character.
      The DESCCHAR command now shows actual color names if RGB is provided.
      Time selectors within the Preferences Menu now adjust by 0.05 (rather than 0.1) seconds.
      Timestamps within the Log Messages submenu now contain their milliseconds component.
      Command line and configuration file parsing errors are now written to the log file.
      Failure to connect to a Bluetooth device no longer spams the log.
      Failure to open a HID device no longer spams the log.
   New braille navigation commands:
      COLOR: Show just the VGA or RGB color of the selected character.
      It's been bound to a long press of a routing key.
      Use this command, rather than DESCCHAR, if you just want to know the color.
   New speech navigation commands:
      SPEAK_CURR_PWRD: Say the current partial word.
      SPEAK_PREV_PWRD: Move to and say the previous partial word.
      SPEAK_NEXT_PWRD: Move to and say the next partial word.
      SPELL_CURR_PWRD: Spell the current partial word.
      SPELL_CURR_LINE: Spell the current line.
      See the laptop and keypad keyboard tables for related binding changes
      (more specifically, see the kp_speak and kp_say keyboard subtables).
   EuroBraille braille driver changes:
      The b.note and b.book models are now supported.
      Missing dependency rules for building the eutp command have been added.
   HandyTech braille driver changes:
      The Android-specific key bindings now work.
   HIMS braille driver:
      The BrailleSense 6 is now detected properly when using Bluetooth.
   HumanWare braille driver changes:
      All of the models that support Bluetooth HID are now recognized by Udev.
   Virtual braille driver:
      This driver has been removed.
   AtSpi2 screen driver changes:
      Helpful text is now shown for widgets that don't have a text interface.
   Linux screen driver changes:
      Disabling wide character padding now actually works when using a newer kernel.
   Tmux screen driver:
      This is a new screen driver.
      Its two-letter code is tx.
      It supports full (RGB) color.
      The scrollback buffer, choose-tree, and display-menu features aren't supported.
      The brltty-tmux command has been added.
   Speech changes:
      Navigating by partial words has been restored to the original bindings.
      Navigating by full words has been retained with different bindings.
      A command to spell the current line has been added.
      Spelling a word or line now speaks all of the punctuation symbols.
      Autorepeat for navigating by character, word, and line has bee slowed down so it can be heard.
      These selectors have been added to the Speech Options submenu:
         Character Autorepeat Interval: defaults to 0.25 seconds
         Word Autorepeat Interval:      defaults to 0.4 seconds
         Line Autorepeat Interval:      defaults to 0.6 seconds
   BrlAPI changes:
      The version is now 0.8.8 (it was 0.8.7).
      Pending braille output is now flushed whenever a client leaves a tty.
      A problem when determining the tty number for a client session has been resolved.
   Text table changes:
      The no-break space - U+00A0 - has been added to en-nabcc as dots 7,8.
   Contraction table changes:
      de-1998 is now deprecated and has been removed.
      de-2015 is now folded into de-g2 and has been removed.
      de-g2 has been updated.
   Linux changes:
      Missing special devices are now created within an isolated file system.
   Windows changes:
      64-bit builds using Msys2 are now supported.
      The speech drivers for the Alva, BrailleLite, and CombiBraille are now included.
   Android changes:
      The targeted API level has been increased to 36 (Android 16).
      The minimum API level has been increased to 27 (Android 8.1).
      The NDK (native development kit) now being used is r27b.
      The new 16-kilobyte page size requirement is now supported.
      The top-level build is now configured for arm 64-bit (rather than for arm 32-bit).
      The edge-to-edge screen rendering model is now supported.
      The DESCCHAR command now includes the character's name.
      The Canute braille driver is now included.
   brltty-pty changes:
      The screen, screen-256color, tmux, and tmux-256color terminal types are now supported.
      The RGB escape sequence - 38;2 - is now supported.
      The bright color escape sequences - 90-97 and 100-107 - are now supported.
   Build Changes:
      Scripts now use the screen's width (rather than assume 72) for help (-h) output.
      The brltty-lscmds command has been renamed to brltty-cmdref.
      brltty-ctb's --reformat-text [-r] option has been fixed and is now documented.
      The brltty-tmux command has been added.
      The cmdtest command has been added.
      The colortest command has been added.
      The all action of the msgtest command has been renamed to list.
      Cross-compiling the Java bindings is now supported.
      The Lua bindings are no longer installed in a local directory unless there's no other alternative.

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:
