[liblouis-liblouisxml] Re: liblouis 3.8.0 has been released

  • From: Leonard de Ruijter <alderuijter@xxxxxxxxx>
  • To: liblouis-liblouisxml@xxxxxxxxxxxxx
  • Date: Mon, 3 Dec 2018 18:46:01 +0100

Dear Christian and other developers,


First, I'd like to congratulate you with the new release. Keep up the good work. Small addition to the release notes, the Python wrapper has been updated to support UCS4 on Windows.


However, I'd like to express my concerns with the current release process, especially the fact that releases are scheduled for predetermined dates. I'm afraid that this has a negative impact on code quality and contributors motivation.

I'd like to take the python wrapper as an example. I updated this in https://github.com/liblouis/liblouis/pull/633, which was merged 13 days ago. However, I discovered an issue in the wrapper, for which I filed https://github.com/liblouis/liblouis/pull/668 a day or 10 ago. Where the milestone of this pr was initially set to version 3.8, this has been tacitly changed into 3.9. This pr contained a bug fix for #633. Idially, I think that either one of the two options below should have happened:


1. #668 should have been merged before the release of 3.8

2. #633 should have been reverted, since it contains a bug.


A similar pr is https://github.com/liblouis/liblouis/pull/639, to which I last commuted more than a month ago. While I respect Christians comment saying that he did not have time to address it, I must admit that it feels a bit demotivating to have a pr ready to be included in a next release, only finding it not being included due to time constrains caused by a fixed release schedule.


I think it would help improve the quality of releases of liblouis to do something like this:


1. Have a predetermined date for every release in order for pull requests to be filed that provide new features (or simply spoken, a feature freeze date). Bug fixes that fix regressions caused by new code introduced after the last release should be excluded from this restriction.

2. Also have a fixed date for milestones to be set for new features or bug fixes for non-regressions.

3. Do not release on a predetermined day. Do so idially, but if there are pull requests with their milestone set for release, have these pull requests included regardless whether the release date has to be changed.


This ensures that milestones don't have to be touched on the release date.


To make sure, this message wasn't at all meant to be harsh or blame someone in particular. I just wanted to share my thoughts in the hope that it will contribute to the quality of liblouis.


Kind regards,

Leonard



On 03/12/2018 17:33, Christian Egli wrote:

The liblouis developer team is proud to announce the liblouis release
3.8.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.

Changes in this release
=======================

The major focus of this release is on braille table updates. There are
major updates to German, Arabic, Chinese, Turkish, Dutch, Czech,
Latvian, Spanish and Ethiopic. Some of these new tables have only been
possible because Bert Frees fixed some nasty long standing bugs behind
the scene. Also there is the usual assortment of code improvements and
cleanups.

For a detailed list of all the changes refer to the list of closed
issues[3].

New features
~~~~~~~~~~~~

- None

Bug fixes
~~~~~~~~~

- Fix support more than 4 classes thanks to Bert Frees.
- Fix capitalization of words that match `nocont' rules thanks to Bert
   Frees.

Braille table improvements
~~~~~~~~~~~~~~~~~~~~~~~~~~

- Defined the undefined character for the Czech tables thanks to Jan
   Hegr.
- Improvements to Unified English braille thanks to Mike Gray
- Updated the Dutch table to the new 2017.1 braille standard thanks to
   Davy Kager.
- Improvements to the Polish grade 1 table, to make back-translations
   of diacritics working
- Fixes to Latvian braille table thanks to Gatis Grintals and Artis
   Raugulis.
- Improvements to traditional Mainland Chinese braille and two-cell
   Chinese Braille thanks to Sunian Loomee.
- Update Bopomofo-based Chinese Braille to version 2018-11 thanks to
   Bo-Cheng Jhan
   - Correct the default braille pattern of many Chinese characters
   - Add various Chinese phrases involving exceptions of braille
     patterns
   - Modify dot patterns of dashes for readability reasons
- Added a table for Turkish grade 2 thanks to Uğur Gürbüz and Simon
   Aittamaa
- Major upgrade to the German tables. They have been upgraded to /Das
   System der deutschen Brailleschrift/ (2018). They are much smaller
   now as they are based on `lou_maketable'. As they now work for any
   locale (be it Switzerland or Germany) they have been merged into one
   set of tables for the different grades. Thanks to Christian
   Waldvogel.
- New table for Arabic contracted braille thanks to Ikrami Ahmad.
- New table for Arabic computer braille thanks to Ikrami Ahmad.
- Improvements to Ethiopic thanks to Tamru E. Belay.
- New table for Spanish contracted braille thanks to Juan Pablo Bello.

Other changes
~~~~~~~~~~~~~

- Updated the `lou_allround' and `lou_trace' test tools to include all
   the mode flags described in the documentation of the
   `lou_translateString()' function, thanks to Bue Vester-Andersen

Deprecation notice
~~~~~~~~~~~~~~~~~~

- None

Backwards incompatible changes
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

- The `pass1Only' flag has been deprecated for a while and is now
   removed from the code, thanks to Bue Vester-Andersen.

New, renamed or removed tables
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

New
---

   - tr-g2.ctb
   - ar-ar-g2.ctb
   - ar-ar-comp8.utb
   - es-g2.ctb

Renamed
-------

   - de-de-accents.cti -> de-accents.cti
   - de-de-g0.utb -> de-g0.utb
   - de-de-g1.ctb -> de-g1.ctb
   - de-de-g2.ctb -> de-g2.ctb
   - de-ch-g0.utb -> de-g0.utb
   - de-ch-g1.ctb -> de-g1.ctb
   - de-ch-g2.ctb -> de-g2.ctb

Removed
-------

   - ar-fa.utb
   - Es-Es-g1.utb

Next release
============

The next release will be published on March 4 2019 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/18?closed=1


Other related posts: