Unicode Transform 1.2.0

This is the changelog for Unicode Transform 1.2.0 released on October 28th, 2026. For older changelogs please consult the release tag on GitHub

Bug Fixes

  • Remove fourteen stale Ethiopic-* rule files left over from before CLDR renamed them to their BCP-47 identifiers; they shadowed the current reverse-direction rules, so und-Ethi-t-und-latn-m0-sera and its siblings resolved to outdated rule sets. See TRANSFORMS.md for the current Ethiopic identifiers.

Enhancements

  • Update the bundled transform rules and the conformance test data to CLDR 49. Han-Latin gains the Unihan 18 readings, ug-Latin moves to the new-style rule format, and de-ASCII, Latin-NumericPinyin and blt-fonipa-t-blt receive upstream set-syntax corrections.

  • Require unicode_set ~> 1.9 (and therefore unicode ~> 2.2), which resolves every UCD property value including @missing defaults, and raise the Elixir floor to 1.17 to match.

  • Update the CI matrix to the latest OTP 27, 28 and 29 patch releases with Elixir 1.20.4 on the lint row, and add a docs warnings-as-errors gate.

Unicode Transform 1.1.0

This is the changelog for Unicode Transform 1.1.0 released on July 8th, 2026. For older changelogs please consult the release tag on GitHub

Bug Fixes

  • The pure-Elixir transform engine (backend: :elixir) now conforms to 99.99% of the official CLDR transform test data, up from ~81%. Around twenty root-cause fixes across the parser, compiler, engine and resolver correct Unicode-script variable names, text-boundary and ^/$ anchor matching, BCP-47 m0 keyword aliases, '' apostrophe and backslash escaping, greedy (possessive) matching, backreferences to context groups, ASCII rule operators (> < <>), multi-line set definitions, filtered transforms, and CRLF test data.

  • Correct the Unicode.Transform.Builtin.apply/2 NFD documentation example, which showed a precomposed result where NFD produces a decomposed one.

  • Georgian-Latin-BGN (ka-Latn-t-ka-m0-bgn-2009) now emits U+02BC to match CLDR's golden test data, working around an upstream CLDR inconsistency where the rule file itself ships U+2019.

Enhancements

  • Added a strict CLDR transform conformance suite (mix test --only cldr_conformance) driven by ~297k vendored CLDR test cases — one test per transform, red until the engine is fully conformant.

  • Confirm the library compiles cleanly under Elixir 1.20 with --warnings-as-errors, and add Credo strict linting, a 90% test-coverage gate, a formatting pre-commit hook, and OTP/Elixir-scoped CI cache keys.

Unicode Transform 1.0.0

This is the changelog for Unicode Transform 1.0.0 released on March 17th, 2026. For older changelogs please consult the release tag on GitHub

Breaking Changes

  • This release is a complete re-implementation of the CLDR Transform specification. It implements the full suite of transformations. See Cldr.Transform.transform/2 for the primary public API.

  • The library has now moved on from a proof-of-concept that code-generated one transform module at compile time to a full runtime implementation of the Unicode CLDR Transform specification with currently 394 transforms, a unified API, optional ICU NIF backend, OTP supervision, caching, CI, and comprehensive property-based testing.

  • The transformations are those available in CLDR version 48 which is the current version as of March 17th, 2026.

  • Consult the README for information on how to install and use the library.

  • See TRANSFORMS for a complete listing of all available transforms.

Unicode Transform 0.4.0

This is the changelog for Unicode Transform 0.4.0 released on 8th December, 2025. For older changelogs please consult the release tag on GitHub

Bug Fixes

  • Fix rules generator to ensure that a transform to an ASCII space is not trimmed (thereby causing an empty string). Thanks to @arcanemachine for the report. Closes #2.

Enhancements

  • Updates to CLDR 47 Transform rules (most of which remain unimplemented in this release)

Unicode Transform 0.3.0

This is the changelog for Unicode Transform 0.3.0 released on April 18th, 2022. For older changelogs please consult the release tag on GitHub

Enhancements

  • Generate some additional simple transforms and remove compiler warnings.

Unicode Transform 0.2.0

This is the changelog for Unicode Transform 0.2.0 released on September 14th, 2021. For older changelogs please consult the release tag on GitHub

Enhancements

Unicode Transform 0.1.0

This is the changelog for Unicode Transform 0.1.0 released on March 29th, 2021. For older changelogs please consult the release tag on GitHub

Enhancements