blob: 2286978858ca6c4e2e1a5d1820a3592baeeca7c6 [file] [log] [blame]
liblouis 3.6.0 has been released
The liblouis developer team is proud to announce the liblouis release
3.6.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][2] deals with formatting of braille.
Changes in this release
=======================
This release contains the usual assortment of braille table
improvements, cleanups and bug fixes. The most prominent change is the
refactoring of the call APIs by Bert Frees that makes the code much
more manageable and solid and will help us in the future to evolve the
library.
For a detailed list of all the changes refer to the list of closed
issues[3].
New features
~~~~~~~~~~~~
- Add metadata fields `name' and `display-name' to tables thanks to
Bert Frees. The `name' contains a description of the table in the
native language. `display-name' contains an English description.
- YAML test enhancements
- You can now test both forward and backwards translation with in
the same YAML file and for the same set of tables tests thanks to
Bue Vester-Andersen. See the documentation for the
`bothDirections' testmode.
- Add `maxOutputLength' option in YAML tests.
Bug fixes
~~~~~~~~~
- Fix a bunch of buffer overflow errors in table parsing thanks to
Samuel Thibault and Christian Egli (CVE-2018-11410 and
CVE-2018-11440).
- Fix input-output mapping of context rules thanks to Bert Frees.
- Fix back tracking with all caps words thanks to Bert Frees.
- Fix context rules with lookback thanks to Bert Frees.
- Fix a memory leak in default table resolver thanks to Timothy Lee.
- Fix an array out of bounds error which caused a crash on i386 thanks
to Samuel Thibault.
- Fix numerous stack-based buffer overflow in table parsing thanks
that were reported by Henri Salo thanks to Christian Egli
(CVE-2018-11683, CVE-2018-11684 and CVE-2018-11685).
Braille table improvements
~~~~~~~~~~~~~~~~~~~~~~~~~~
- Fix some forward- and back-translation errors in Unified French
Grade 2 thanks to André-Abush Clause.
- Updates to the Simplified-Chinese Braille Translation Table thanks
to Roshanson
- Added many polygraphs to distinguish different meanings of a word
- Letter identifiers have been modified. In China's school for the
blind, when many visually impaired students learn, the lowercase
letters often do not have to mark the identifiers deliberately. So
in this version, we this item has been deleted.
- Fixed a bug in the braille code that revises the space and 0
- Updates to Bopomofo-based Chinese Braille Table thanks to Bo-Cheng
Jhan
- Redefine some Chinese words and phrases
- Add various Nemeth symbols such as arrows and parenthesis
- Complete the support of CJK Compatibility block
- Fix the support of various parentheses, brackets, and braces
- Minor fixes (kana rules, punctuation marks, Greek alphabets)
- New 8 dot computer braille table for Czech thanks to Jan Hegr.
- Fixes to Czech 6 dot table thanks to Jan Hegr
- Fixed curly brackets representation
- Fixed number sign representation
- Added copyright sign
- Minor fixes to Hebrew thanks to Erez Kugler.
Other changes
~~~~~~~~~~~~~
- Refactoring thanks to Bert Frees
- Simplify the emphasis class handling by combining all related vars
in a struct `EmphasisClass'
- Simplify input/output buffer handling
- Combine `emphasisBuffer' and `transnoteBuffer'
- Group match related vars in a struct `PassRuleMatch'
- Remove dead code
- Fixed many warnings thanks to Christian Egli
Deprecation notice
~~~~~~~~~~~~~~~~~~
- The `mode' parameter in `lou_dotsToChar' never had any effect and is
now deprecated.
- In 2012 a new way to specify the test and action part in context and
multipass opcodes was introduced. It was never documented and has no
known usage in the wild. However it opens up the attack surface to
the table parsing code. Therefore it is deprecated and will be
removed in the next release.
Backwards incompatible changes
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- None
New, renamed or removed tables
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
New
---
- cs-comp8.utb
Renamed
-------
- None
Removed
-------
- Cz-Cz-g1.utb
Next release
============
The next release will be published on June 4 2018 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/16?closed=1