# Changelog
## 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](https://github.com/elixir-unicode/unicode_transform/tags)
### 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](https://github.com/elixir-unicode/unicode_transform/tags)
### Breaking Changes
* This release is a complete re-implementation of the [CLDR Transform](https://unicode.org/reports/tr35/tr35-general.html#Transforms) 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](README.md) for information on how to install and use the library.
* See [TRANSFORMS](TRANSFORMS.md) 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](https://github.com/elixir-unicode/unicode_transform/tags)
### 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](https://github.com/elixir-unicode/unicode_transform/tags)
### 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](https://github.com/elixir-unicode/unicode_transform/tags)
### Enhancements
* Update to use [Unicode 14](https://unicode.org/versions/Unicode14.0.0) release data.
## 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](https://github.com/elixir-unicode/unicode_transform/tags)
### Enhancements
* Initial release. Supports the transform of Latin-1 to ASCII. See `Unicode.Transform.LatinAscii.transform/1`.