blob: 2adeaf7cba94d0c9e9ed72542b0899e051aa5646 [file] [log] [blame]
liblouis 3.37.0 has been released
The liblouis developer team is proud to announce the liblouis release
3.37.0. The release is available for download at:
https://github.com/liblouis/liblouis/releases
Introduction
============
Liblouis is an open-source braille translator and back-translator. It
features support for computer, literary and math braille, supports
contracted and uncontracted translation for many, many languages [1]_.
It plays an important role in an open source accessibility stack and is
used by screenreaders such as NVDA, Orca and JAWS. A companion project
liblouisutdml [2]_ deals with formatting of braille.
Noteworthy changes in this release
==================================
The nice thing about creating a release is that you get to bring in all
these wonderful contributions that people have provided. This time we
have new and improved braille tables for Danish, Devanagari, English
grade 3, Estonian 6-dot, Hungarian, Italian 6-dot, Norwegian and UK
8-dot computer. Anthony has done incredible work to fix obscure opcode
bugs. XANOY and PGZXB have patched many security problems and finally
Benedict Carling has improved typeform handling for back-translation so
that it is finally usable.
I'd like to thank everybody for helping to bring liblouis forward.
For a detailed list of all the changes refer to the list of closed
issues [3]_.
New features
------------
- The typeform buffer is now populated during back-translation. This
allows applications to detect emphasis (italic, bold, underline) when
translating braille back to text. Thanks to Benedict Carling of Paige
Braille.
- The YAML test format has a new ``expected_typeform`` field to test
that emphasis in braille is correctly detected during
back-translation.
Bug fixes
---------
- Both ``sufword`` and ``prfword`` now correctly recognize
``seqdelimiter`` characters as word boundaries during forward
translation and respect ``nocontractsign`` during back-translation,
thanks to Anthony Tibbs.
- Fix contraction opcode bugs when using ``nocontractsign`` thanks to
Anthony Tibbs.
- Fix a NULL pointer dereference ``lou_readCharFromFile`` thanks to
XANOY.
- Fix a memory leak in ``parseLanguageTag`` when parsing invalid
queries and a heap buffer overflow in ``syllableBreak``. Both thanks
to PGZXB.
- Fix a stack overflow when an invalid ``LOUIS_LOGLEVEL`` string is
provided and avoid a crash when the table resolver is NULL. Both
thanks to Anthony Tibbs.
- Fix an infinite loop in ``isEmphasizable`` caused if characters
mistakenly reference one another thanks to Anthony Tibbs.
- Fix ``capsword`` translation with ``endword`` apostrophe'd letters
(e.g. AA's, FBI's) again thanks to Anthony Tibbs.
- Fix a heap buffer overflow in ``translateString`` when handling
``joinnum`` or ``joinword`` rules. Thanks to Christian Egli for
fixing and zerojackyi for reporting it.
- Various code cleanups thanks to Bert Frees.
- Fix a stack buffer overflow in ``pattern_compile_expression`` and a
stack buffer overflow in ``_lou_getTablePath`` when
``LOUIS_TABLEPATH`` is too long, both thanks to PGZXB.
Braille table improvements
--------------------------
- Add a complete implementation for UK 8-dot computer braille according
to the standard created by the BAUK (Braille Authority of the UK) and
currently maintained by the successor organization, UKAAF thanks to
Seeing Hands.
- Vastly improved Italian 6-dot braille table thanks to Tommaso Nonis
of Vision Dept S.r.l.
- The table has been completely redesigned, and various mathematical
symbols, capitalization and punctuation were fixed.
- inputting characters from A to J no longer results in numbers
being inserted instead.
- Parentheses, quotation marks, brackets and braces now display
correctly
- Emphasis marks have been introduced for bold, italic and
underline, allowing these to be viewed in screen reader utilities
that support them.
- Improvements to Norwegian thanks to Lars Bjørndal.
- Corrections to Danish Grade 2 thanks to Bue Vester-Andersen.
- Improvements to Hungarian forward and backward translation thanks to
Attila Hammer.
- Major updates to Devanagari to comply with the new Bharti Braille
rules 2.1. Also support for back-translation support was added thanks
to Dipendra Manocha and Jake Kyle.
- Add an Estonian 6-dot braille table based on the official Estonian
Braille Standard (March 2009) and Eesti punktkirja käsiraamat (2011)
thanks to Artur Räpp and Taniel Kirikal.
- Improvements to English grade 3 thanks to Bue Vester-Andersen.
Other changes
-------------
- None
Deprecation notice
------------------
- None
Backwards incompatible changes
------------------------------
- The ``literal`` opcode has been removed as it was synonymous with the
``compbrl`` opcode.
Invisible changes
-----------------
- None
New, renamed or removed tables
------------------------------
New
~~~
- et-6dot.utb
Renamed
~~~~~~~
- None
Removed
~~~~~~~
- it.tbl
- use it-it-comp6.utb instead
Next release
============
The next release will be published on June 1 2026 so please keep up the
excellent work and keep those improvements coming.
Share and Enjoy!
Christian Egli, on behalf of the liblouis developers
Footnotes
=========
.. [1]
https://github.com/liblouis/liblouis/tree/master/tables
.. [2]
https://github.com/liblouis/liblouisutdml
.. [3]
https://github.com/liblouis/liblouis/milestone/47?closed=1