blob: 00ede0b97a6b3f7888a04eaab0f83c72b1d9d039 [file] [log] [blame]
Christian Egli97008472022-06-07 11:07:12 +02001liblouis 3.22.0 has been released
Christian Egli15c482e2009-01-27 16:23:57 +00002
Christian Egli554b70f2014-09-01 13:47:30 +02003The liblouis developer team is proud to announce the liblouis release
Christian Egli97008472022-06-07 11:07:12 +020043.22.0. The release is available for download at:
Christian Egli15c482e2009-01-27 16:23:57 +00005
Christian Egli67ab8e92019-09-02 13:29:53 +02006https://github.com/liblouis/liblouis/releases
Christian Egli15c482e2009-01-27 16:23:57 +00007
8Introduction
Christian Egli554b70f2014-09-01 13:47:30 +02009============
Christian Egli15c482e2009-01-27 16:23:57 +000010
11Liblouis is an open-source braille translator and back-translator. It
Christian Egli183d9e72011-05-09 07:38:36 +000012features support for computer, literary and math braille, supports
Christian Egli67ab8e92019-09-02 13:29:53 +020013contracted and uncontracted translation for many, many languages [1]_.
14It plays an important role in an open source accessibility stack and is
15used by screenreaders such as NVDA, Orca and JAWS. A companion project
16liblouisutdml [2]_ deals with formatting of braille.
Christian Egli15c482e2009-01-27 16:23:57 +000017
Christian Egli67ab8e92019-09-02 13:29:53 +020018Noteworthy changes in this release
19==================================
Christian Egli15c482e2009-01-27 16:23:57 +000020
Christian Egli97008472022-06-07 11:07:12 +020021This is a major release. On the Braille tables side there is a new table
22for German grade 2 with capitalization and there are updates to the
23Dutch, German Hungarian, Punjabi, Russian, UK Braille Computer Notation
24and Slovak tables. Christian added a new opcode to indicate the end of a
25number where the number doesn't end at a space character. Last but not
26least Samuel, Martin and Han have put a lot of work into checking for
27and fixing memory problems.
Christian Egli6e5a6372021-06-07 18:26:56 +020028
29I'd like to thank everybody for helping to bring liblouis forward.
Christian Egli343b1ae2016-07-14 17:40:54 +020030
Christian Egli8923b3a2018-06-04 18:18:47 +020031For a detailed list of all the changes refer to the list of closed
Christian Egli67ab8e92019-09-02 13:29:53 +020032issues [3]_.
Christian Egli1f0ae092017-09-04 17:23:22 +020033
Christian Egli4c2865b2021-12-06 18:43:23 +010034New features
35------------
36
Christian Egli97008472022-06-07 11:07:12 +020037- Add a new opcode ``nonumsign`` that helps with indicating the end of
38 a number when it doesn't occur at the end at the end of a word such
39 as '123abc' for example. For more details see the documentation.
40 Thanks to Christian Egli.
Christian Egli4c2865b2021-12-06 18:43:23 +010041
Christian Egli6e5a6372021-06-07 18:26:56 +020042Bug fixes
43---------
44
Christian Egli97008472022-06-07 11:07:12 +020045- Prevent a memory overflow in ``compilePassOpcode`` thanks to Martin
46 Gieseking. This was reported in CVE-2022-26981 [4]_ and should now
47 be fixed.
48- Prevent processing of characters beyond the string end in
49 ``parseChars`` thanks to Martin Gieseking.
50- Prevent an invalid memory writes in ``compileRule``. Thanks to Han
51 Zheng for reporting it and to Christian Egli for fixing it.
Christian Egli6e5a6372021-06-07 18:26:56 +020052
Christian Eglib4b192b2015-03-02 10:54:30 +010053Braille table improvements
Christian Egli67ab8e92019-09-02 13:29:53 +020054--------------------------
Christian Egli695316a2017-12-04 16:51:01 +010055
Christian Egli97008472022-06-07 11:07:12 +020056- Improvements to German braille:
Christian Egli8eef81b2019-12-02 17:41:35 +010057
Christian Egli97008472022-06-07 11:07:12 +020058 - Improve handling of single letters in grade 2 thanks to Mischa
59 Künzle.
60 - Improve handling of emphasis thanks to Bert Frees.
61 - Add a table for grade 2 *with capitalization* thanks to Christian
62 Egli.
Christian Egli8eef81b2019-12-02 17:41:35 +010063
Christian Egli97008472022-06-07 11:07:12 +020064- Fix a problem with Ñ in Dutch braille thanks to Paul Rambags
65- Updated Slovak Braille table to be inline with the 2021 Slovak
66 braille usage guidelines.
67- Fixed a problem with the '+' symbol in UK Braille Computer Notation
68 thanks to Mario Arias.
69- Major improvements to the Hungarian braille tables thanks to Attila
70 Hammer.
71- Make Punjabi table to behave the same as Duxbury in forward
72 translation and more reliably than Duxbury in back translation.
73 Thanks to Jake Kyle.
74- Improvements to the Russian and other Cyrillic tables thanks to
75 Andrey Yakuboy:
Christian Egli4c2865b2021-12-06 18:43:23 +010076
Christian Egli97008472022-06-07 11:07:12 +020077 - Now all Russian based tables return braille Unicode braille by
78 default when forward translating, no need to include
79 ``ru-unicode.dis`` manually.
80 - French letters (æ, ë and ï) have been added to the Russian
81 literary braille table.
Christian Egli695316a2017-12-04 16:51:01 +010082
83Other changes
Christian Egli67ab8e92019-09-02 13:29:53 +020084-------------
Christian Egli695316a2017-12-04 16:51:01 +010085
Christian Egli97008472022-06-07 11:07:12 +020086- Integrate sanitizer tests in the CI pipeline and fix a large number
87 of memory problems (leaks, overflow and undefined behavior) thanks to
88 Samuel Thibault.
89- Removed the "experimental" label from the functions
90 ``lou_indexTables``, ``lou_findTable``, ``lou_findTables``,
91 ``lou_getTableInfo`` and ``lou_listTables`` (the meta data query
92 API).
93- Fix a build problem when using Clang 11 on macOS thanks to Robert
94 Scott.
Christian Egli29692a32022-03-07 17:10:51 +010095
Christian Egli10f66b22021-09-03 11:15:15 +020096Deprecation notice
97------------------
98
99- None
100
101Backwards incompatible changes
102------------------------------
103
Christian Egli97008472022-06-07 11:07:12 +0200104- None
105
Christian Egli10f66b22021-09-03 11:15:15 +0200106Invisible changes
107-----------------
108
Christian Eglid1998f22017-06-06 14:46:08 +0200109New, renamed or removed tables
Christian Egli67ab8e92019-09-02 13:29:53 +0200110------------------------------
Christian Eglid1998f22017-06-06 14:46:08 +0200111
112New
Christian Egli67ab8e92019-09-02 13:29:53 +0200113~~~
Christian Egli695316a2017-12-04 16:51:01 +0100114
Christian Egli97008472022-06-07 11:07:12 +0200115- de-g2-detailed.ctb
Christian Eglid1998f22017-06-06 14:46:08 +0200116
117Renamed
Christian Egli67ab8e92019-09-02 13:29:53 +0200118~~~~~~~
Christian Egli695316a2017-12-04 16:51:01 +0100119
Christian Egli97008472022-06-07 11:07:12 +0200120- None
Christian Egli695316a2017-12-04 16:51:01 +0100121
122Removed
Christian Egli67ab8e92019-09-02 13:29:53 +0200123~~~~~~~
Christian Egli0dee1fc2018-03-05 17:09:58 +0100124
Christian Egli97008472022-06-07 11:07:12 +0200125- None
Christian Egli2d6ae7e2014-12-01 14:37:01 +0100126
Christian Eglib4b192b2015-03-02 10:54:30 +0100127Next release
128============
Christian Egli2d6ae7e2014-12-01 14:37:01 +0100129
Christian Egli97008472022-06-07 11:07:12 +0200130The next release will be published on September 5 2022 so please keep up
131the excellent work and keep those improvements coming.
Christian Egli15c482e2009-01-27 16:23:57 +0000132
133Share and Enjoy!
134
Christian Egli67ab8e92019-09-02 13:29:53 +0200135– Christian Egli, on behalf of the liblouis developers
Christian Egli971d4e82009-01-30 10:09:52 +0000136
137Footnotes
Christian Egli554b70f2014-09-01 13:47:30 +0200138=========
Christian Egli971d4e82009-01-30 10:09:52 +0000139
Christian Egli67ab8e92019-09-02 13:29:53 +0200140.. [1]
141 https://github.com/liblouis/liblouis/tree/master/tables
Christian Egli8c46e1b2018-12-03 16:47:51 +0100142
Christian Egli67ab8e92019-09-02 13:29:53 +0200143.. [2]
144 https://github.com/liblouis/liblouisutdml
145
146.. [3]
Christian Egli97008472022-06-07 11:07:12 +0200147 https://github.com/liblouis/liblouis/milestone/32?closed=1
148
149.. [4]
150 https://github.com/advisories/GHSA-xrp8-mw8v-p6mq