Christian Egli | 9700847 | 2022-06-07 11:07:12 +0200 | [diff] [blame^] | 1 | liblouis 3.22.0 has been released |
Christian Egli | 15c482e | 2009-01-27 16:23:57 +0000 | [diff] [blame] | 2 | |
Christian Egli | 554b70f | 2014-09-01 13:47:30 +0200 | [diff] [blame] | 3 | The liblouis developer team is proud to announce the liblouis release |
Christian Egli | 9700847 | 2022-06-07 11:07:12 +0200 | [diff] [blame^] | 4 | 3.22.0. The release is available for download at: |
Christian Egli | 15c482e | 2009-01-27 16:23:57 +0000 | [diff] [blame] | 5 | |
Christian Egli | 67ab8e9 | 2019-09-02 13:29:53 +0200 | [diff] [blame] | 6 | https://github.com/liblouis/liblouis/releases |
Christian Egli | 15c482e | 2009-01-27 16:23:57 +0000 | [diff] [blame] | 7 | |
| 8 | Introduction |
Christian Egli | 554b70f | 2014-09-01 13:47:30 +0200 | [diff] [blame] | 9 | ============ |
Christian Egli | 15c482e | 2009-01-27 16:23:57 +0000 | [diff] [blame] | 10 | |
| 11 | Liblouis is an open-source braille translator and back-translator. It |
Christian Egli | 183d9e7 | 2011-05-09 07:38:36 +0000 | [diff] [blame] | 12 | features support for computer, literary and math braille, supports |
Christian Egli | 67ab8e9 | 2019-09-02 13:29:53 +0200 | [diff] [blame] | 13 | contracted and uncontracted translation for many, many languages [1]_. |
| 14 | It plays an important role in an open source accessibility stack and is |
| 15 | used by screenreaders such as NVDA, Orca and JAWS. A companion project |
| 16 | liblouisutdml [2]_ deals with formatting of braille. |
Christian Egli | 15c482e | 2009-01-27 16:23:57 +0000 | [diff] [blame] | 17 | |
Christian Egli | 67ab8e9 | 2019-09-02 13:29:53 +0200 | [diff] [blame] | 18 | Noteworthy changes in this release |
| 19 | ================================== |
Christian Egli | 15c482e | 2009-01-27 16:23:57 +0000 | [diff] [blame] | 20 | |
Christian Egli | 9700847 | 2022-06-07 11:07:12 +0200 | [diff] [blame^] | 21 | This is a major release. On the Braille tables side there is a new table |
| 22 | for German grade 2 with capitalization and there are updates to the |
| 23 | Dutch, German Hungarian, Punjabi, Russian, UK Braille Computer Notation |
| 24 | and Slovak tables. Christian added a new opcode to indicate the end of a |
| 25 | number where the number doesn't end at a space character. Last but not |
| 26 | least Samuel, Martin and Han have put a lot of work into checking for |
| 27 | and fixing memory problems. |
Christian Egli | 6e5a637 | 2021-06-07 18:26:56 +0200 | [diff] [blame] | 28 | |
| 29 | I'd like to thank everybody for helping to bring liblouis forward. |
Christian Egli | 343b1ae | 2016-07-14 17:40:54 +0200 | [diff] [blame] | 30 | |
Christian Egli | 8923b3a | 2018-06-04 18:18:47 +0200 | [diff] [blame] | 31 | For a detailed list of all the changes refer to the list of closed |
Christian Egli | 67ab8e9 | 2019-09-02 13:29:53 +0200 | [diff] [blame] | 32 | issues [3]_. |
Christian Egli | 1f0ae09 | 2017-09-04 17:23:22 +0200 | [diff] [blame] | 33 | |
Christian Egli | 4c2865b | 2021-12-06 18:43:23 +0100 | [diff] [blame] | 34 | New features |
| 35 | ------------ |
| 36 | |
Christian Egli | 9700847 | 2022-06-07 11:07:12 +0200 | [diff] [blame^] | 37 | - 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 Egli | 4c2865b | 2021-12-06 18:43:23 +0100 | [diff] [blame] | 41 | |
Christian Egli | 6e5a637 | 2021-06-07 18:26:56 +0200 | [diff] [blame] | 42 | Bug fixes |
| 43 | --------- |
| 44 | |
Christian Egli | 9700847 | 2022-06-07 11:07:12 +0200 | [diff] [blame^] | 45 | - 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 Egli | 6e5a637 | 2021-06-07 18:26:56 +0200 | [diff] [blame] | 52 | |
Christian Egli | b4b192b | 2015-03-02 10:54:30 +0100 | [diff] [blame] | 53 | Braille table improvements |
Christian Egli | 67ab8e9 | 2019-09-02 13:29:53 +0200 | [diff] [blame] | 54 | -------------------------- |
Christian Egli | 695316a | 2017-12-04 16:51:01 +0100 | [diff] [blame] | 55 | |
Christian Egli | 9700847 | 2022-06-07 11:07:12 +0200 | [diff] [blame^] | 56 | - Improvements to German braille: |
Christian Egli | 8eef81b | 2019-12-02 17:41:35 +0100 | [diff] [blame] | 57 | |
Christian Egli | 9700847 | 2022-06-07 11:07:12 +0200 | [diff] [blame^] | 58 | - 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 Egli | 8eef81b | 2019-12-02 17:41:35 +0100 | [diff] [blame] | 63 | |
Christian Egli | 9700847 | 2022-06-07 11:07:12 +0200 | [diff] [blame^] | 64 | - 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 Egli | 4c2865b | 2021-12-06 18:43:23 +0100 | [diff] [blame] | 76 | |
Christian Egli | 9700847 | 2022-06-07 11:07:12 +0200 | [diff] [blame^] | 77 | - 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 Egli | 695316a | 2017-12-04 16:51:01 +0100 | [diff] [blame] | 82 | |
| 83 | Other changes |
Christian Egli | 67ab8e9 | 2019-09-02 13:29:53 +0200 | [diff] [blame] | 84 | ------------- |
Christian Egli | 695316a | 2017-12-04 16:51:01 +0100 | [diff] [blame] | 85 | |
Christian Egli | 9700847 | 2022-06-07 11:07:12 +0200 | [diff] [blame^] | 86 | - 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 Egli | 29692a3 | 2022-03-07 17:10:51 +0100 | [diff] [blame] | 95 | |
Christian Egli | 10f66b2 | 2021-09-03 11:15:15 +0200 | [diff] [blame] | 96 | Deprecation notice |
| 97 | ------------------ |
| 98 | |
| 99 | - None |
| 100 | |
| 101 | Backwards incompatible changes |
| 102 | ------------------------------ |
| 103 | |
Christian Egli | 9700847 | 2022-06-07 11:07:12 +0200 | [diff] [blame^] | 104 | - None |
| 105 | |
Christian Egli | 10f66b2 | 2021-09-03 11:15:15 +0200 | [diff] [blame] | 106 | Invisible changes |
| 107 | ----------------- |
| 108 | |
Christian Egli | d1998f2 | 2017-06-06 14:46:08 +0200 | [diff] [blame] | 109 | New, renamed or removed tables |
Christian Egli | 67ab8e9 | 2019-09-02 13:29:53 +0200 | [diff] [blame] | 110 | ------------------------------ |
Christian Egli | d1998f2 | 2017-06-06 14:46:08 +0200 | [diff] [blame] | 111 | |
| 112 | New |
Christian Egli | 67ab8e9 | 2019-09-02 13:29:53 +0200 | [diff] [blame] | 113 | ~~~ |
Christian Egli | 695316a | 2017-12-04 16:51:01 +0100 | [diff] [blame] | 114 | |
Christian Egli | 9700847 | 2022-06-07 11:07:12 +0200 | [diff] [blame^] | 115 | - de-g2-detailed.ctb |
Christian Egli | d1998f2 | 2017-06-06 14:46:08 +0200 | [diff] [blame] | 116 | |
| 117 | Renamed |
Christian Egli | 67ab8e9 | 2019-09-02 13:29:53 +0200 | [diff] [blame] | 118 | ~~~~~~~ |
Christian Egli | 695316a | 2017-12-04 16:51:01 +0100 | [diff] [blame] | 119 | |
Christian Egli | 9700847 | 2022-06-07 11:07:12 +0200 | [diff] [blame^] | 120 | - None |
Christian Egli | 695316a | 2017-12-04 16:51:01 +0100 | [diff] [blame] | 121 | |
| 122 | Removed |
Christian Egli | 67ab8e9 | 2019-09-02 13:29:53 +0200 | [diff] [blame] | 123 | ~~~~~~~ |
Christian Egli | 0dee1fc | 2018-03-05 17:09:58 +0100 | [diff] [blame] | 124 | |
Christian Egli | 9700847 | 2022-06-07 11:07:12 +0200 | [diff] [blame^] | 125 | - None |
Christian Egli | 2d6ae7e | 2014-12-01 14:37:01 +0100 | [diff] [blame] | 126 | |
Christian Egli | b4b192b | 2015-03-02 10:54:30 +0100 | [diff] [blame] | 127 | Next release |
| 128 | ============ |
Christian Egli | 2d6ae7e | 2014-12-01 14:37:01 +0100 | [diff] [blame] | 129 | |
Christian Egli | 9700847 | 2022-06-07 11:07:12 +0200 | [diff] [blame^] | 130 | The next release will be published on September 5 2022 so please keep up |
| 131 | the excellent work and keep those improvements coming. |
Christian Egli | 15c482e | 2009-01-27 16:23:57 +0000 | [diff] [blame] | 132 | |
| 133 | Share and Enjoy! |
| 134 | |
Christian Egli | 67ab8e9 | 2019-09-02 13:29:53 +0200 | [diff] [blame] | 135 | – Christian Egli, on behalf of the liblouis developers |
Christian Egli | 971d4e8 | 2009-01-30 10:09:52 +0000 | [diff] [blame] | 136 | |
| 137 | Footnotes |
Christian Egli | 554b70f | 2014-09-01 13:47:30 +0200 | [diff] [blame] | 138 | ========= |
Christian Egli | 971d4e8 | 2009-01-30 10:09:52 +0000 | [diff] [blame] | 139 | |
Christian Egli | 67ab8e9 | 2019-09-02 13:29:53 +0200 | [diff] [blame] | 140 | .. [1] |
| 141 | https://github.com/liblouis/liblouis/tree/master/tables |
Christian Egli | 8c46e1b | 2018-12-03 16:47:51 +0100 | [diff] [blame] | 142 | |
Christian Egli | 67ab8e9 | 2019-09-02 13:29:53 +0200 | [diff] [blame] | 143 | .. [2] |
| 144 | https://github.com/liblouis/liblouisutdml |
| 145 | |
| 146 | .. [3] |
Christian Egli | 9700847 | 2022-06-07 11:07:12 +0200 | [diff] [blame^] | 147 | https://github.com/liblouis/liblouis/milestone/32?closed=1 |
| 148 | |
| 149 | .. [4] |
| 150 | https://github.com/advisories/GHSA-xrp8-mw8v-p6mq |