Translate Toolkit 2.4.0 *********************** *Released on 24 June 2019* This release contains improvements and bug fixes. Changes ======= Formats and Converters ---------------------- - PO - Allow unicode in PO headers (:issue:`3896`). - Improve finding out newline format for a file. - Strip UTF-8 BOM from input (:issue:`1640`). - XLIFF - Adjustments on how output is indented (:issue:`3424`). - Properties - Do not fail when parsing empty file. - Android resources - Multiple adjustments so output is closer to Android Studio's. - YAML - Switched to `ruamel.yaml` to simplify codebase and support YAML 1.2. - Added support for Ruby plurals. - Fixed handling dict in list (:issue:`3895`). - Fixed parsing of empty YAML file. - JSON - Fixed serialization of JSON arrays. - Placeholders are now kept in WebExtension dialect round trip conversion. - RESX - Several improvements on formatting to align with Visual Studio's output. - TS - Improved tags indentation. - Added support for new `vanished` type. - Flat XML - Added support for this new format including `flatxml2po` and `po2flatxml` converters (:issue:`3776`). - CSV - No longer hardcode escape character (:issue:`3246`). - Rewrote default dialect to make it more flexible. - web2py - Updated converters code. - Subtitles - Initialize duration on subtitle unit `__init__`. Tools ----- - Tmserver: Fixed execution of unit API on Python 3. Languages --------- - Updated plural definitions to CLDR 35.0. - Removed trailing semicolon in Romanian plural definition. Placeables ---------- - Allow any character for Python mapping keys in `PythonFormattingPlaceable`. API changes ----------- - Altered storage code to have a consistent API for `removenotes`. - Removed dependency on diff-match-patch. - Removed embedded CherryPy wsgi server. - Removed deprecated `has_key` implementation. General ------- - Dropped no longer supported Python 3.3 and Python 3.4. - Minor docs improvements. - Updated requirements. - Added and updated tests. Contributors ============ This release was made possible by the following people: Michal Čihař, Leandro Regueiro, Vinyl Darkscratch, Vitaly Novichkov, Stuart Prescott, Alex Tomkins, Darío Hereñú, BhaaL. And to all our bug finders and testers, a Very BIG Thank You.