All Versions
93
Latest Version
Avg Release Cycle
14 days
Latest Release
-

Changelog History
Page 3

  • v2.24.0-rc.5 Changes

    ๐Ÿš€ This is the changelog for Cldr v2.24.0-rc.5 released on October 23rd, 2021. For older changelogs please consult the release tag on GitHub

    ๐Ÿ—„ Deprecations

    • Deprecated Cldr.Config.get_locale/2 in favour of Cldr.Locale.Loader.get_locale/2.
  • v2.24.0-rc.4 Changes

    ๐Ÿš€ This is the changelog for Cldr v2.24.0-rc.4 released on October 21st, 2021. For older changelogs please consult the release tag on GitHub

    ๐Ÿ› Bug Fixes

    • ๐Ÿ›  Fixes an issue with the locale loader which was incorrectly atomizing date part keys in date/time formats and conversely incorrectly stringifying the number system in the same formats.
  • v2.24.0-rc.3 Changes

    ๐Ÿš€ This is the changelog for Cldr v2.24.0-rc.3 released on October 18th, 2021. For older changelogs please consult the release tag on GitHub

    ๐Ÿ› Bug Fixes

    • Cldr.validate_territory_subdivision/1 was case sensitive and didn't correctly handle atoms and binaries. Now fixed. Required to support ex_cldr_territories properly.
  • v2.24.0-rc.2 Changes

    ๐Ÿš€ This is the changelog for Cldr v2.24.0-rc.2 released on October 18th, 2021. For older changelogs please consult the release tag on GitHub

    ๐Ÿ› Bug Fixes

    • Correctly atomize the keys for the locale display names "language" types.
  • v2.24.0-rc.1 Changes

    ๐Ÿš€ This is the changelog for Cldr v2.24.0-rc.1 released on October 18th, 2021. For older changelogs please consult the release tag on GitHub

    โœจ Enhancements

    • ๐Ÿš€ This release updates the CLDR 40 data to the latest pre-release (it's likely the final release data). In addition, the canonical format of some data has changed; for example subdivisions are now atoms, not strings.
  • v2.24.0-rc.0 Changes

    ๐Ÿš€ This is the changelog for Cldr v2.24.0-rc.0 released on October 3rd, 2021. For older changelogs please consult the release tag on GitHub

    ๐ŸŽ There has been a significant amount of refactoring of the code that packages the locale files and the code that loads a locale. This has a very minor performance improvement at compile time but the major benefit is for maintainability.

    ๐Ÿ› Bug Fixes

    • Cldr.Plug.PutSession now uses the locale key :canonical_locale_name to serialize to the session. Previously it was using :cldr_locale_name which does not include any of the extension information. Extension information encodes user preferences and is required to properly support localisation.

    • ๐Ÿ—„ Cldr.known_territories/1 no longer includes reserved, deprecated, special use or private use territory codes.

    โœจ Enhancements

    • ๐Ÿš€ Updates to CLDR release 40

    ๐Ÿ—„ Soft Deprecations

    • ๐Ÿ—„ Deprecated the :put_session? option in Cldr.Plug.SetLocale. Use the plug Cldr.Plug.PutSession instead.
  • v2.23.2 Changes

    ๐Ÿš€ This is the changelog for Cldr v2.23.2 released on September 8th, 2021. For older changelogs please consult the release tag on GitHub

    ๐Ÿ› Bug Fixes

    • โœ‚ Remove telemetry as a dependency. It is not required by ex_cldr. Thanks for the report from @benregn. Closes #154.

    • Integerize all the numeric keys in calendars, including the 60 days of the Chinese calendar cycle and the 239 Japanese eras.

    • โšก๏ธ Change from use Mix.Config to import Config for configuration. This has been the standard since Elixir 1.9 and since only Elixir 1.10 is supported, the update can be made.

  • v2.23.1 Changes

    ๐Ÿš€ This is the changelog for Cldr v2.23.1 released on August 20th, 2021. For older changelogs please consult the release tag on GitHub

    ๐Ÿ› Bug Fixes

    • ๐Ÿ›  Fix doc errors. Thanks to @maennchen for the report. Doc errors in other ex_cldr packages are also updated. Closes #149.
  • v2.23.0 Changes

    ๐Ÿš€ This is the changelog for Cldr v2.23.0 released on July 1st, 2021. For older changelogs please consult the release tag on GitHub

    ๐Ÿ› Bug Fixes

    • ๐Ÿš€ Corrects the formation of a canonical language tag. In previous releases, the script tag was always included as part of the canonical locale name. For example, en-US would become en-Latn-US because Latn is defined as a likely subtag of en. However TR35 specifies that if the script is the only script specified for this language then it should be omitted from the canonical name. Fixing this conformance is also a prerequisite for generating local display names.

    • Fixes Cldr.Locale.normalize_locale_name/1 to correctly case all keys in lower case except script (capital case) and region (upper case). It will now also process arbitrary locale names.

    • 0๏ธโƒฃ A language tag can have more than one variant and this was not correctly implemented. As a result, the t:Cldr.LanguageTag struct field variant is renamed variants and is now a list with a default of [] rather than nil.

    • Fix a race condition which could return incorrect results for a backend known_gettext_locale_names/0

    • Cldr.validate_locale/2 will now return an error if the territory for a locale is unknown to CLDR. Note that Cldr.Locale.new/1,2 checks only if the territory is valid - not if it is known to CLDR.

    • Locale inheritance no longer includes the "root" locale. In alignment with BCP 47, the "root" locale is now longer a valid locale. Parsing a locale name "root" is still valid but it will return the "und" language instead. While parsing is still correct, it remains a locale that is not valid for use in ex_cldr. The "root" locale is used only for a limited set of rules-based number formats.

    • Correct territory containment chain for the territory US.

    • ๐Ÿ“œ Correctly parses and validates the -t- extension of a language tag.

    • ๐Ÿ›  Fixes inspecting a language tag that has a -t- extension and/or a private use (-x-) extension.

    โœจ Enhancements

    • โž• Add Cldr.DisplayName protocol definition to return a localised string representation of CLDR-based structs such as t:Cldr.LanguageTag, t:Cldr.Unit and t:Cldr.Currency

    • Cldr.Locale.new/1,2 now passes all ~1600 validation tests for parsing and forming the canonical locale name. This is a prerequisite to implementing the Locale Display Algorithm in ex_cldr_locale_display.

    • Cldr.locale_and_backend_from/1 now supports a map of options as the argument.

    • Cldr.validate_territory/1 now correctly substitutes for known aliases. For example MyApp.Cldr.validate_locale("en-UK") will correctly return en-GB.

    • ๐Ÿ‘ Implement the String.Chars protocol to support Kernel.to_string/1 for t:Cldr.LanguageTag structs.

    • ๐Ÿ‘ Implement the Inspect protocol to support inspect/2 for t:Cldr.LanguageTag structs.

    • โž• Add Cldr.LanguageTag.sigil_l/2 to simplify creating t:Cldr.LanguageTag structs.

    • โž• Add Cldr.validate_script/1 to normalize and validate a script code (which is now in atom format as its canonical form)

    • ๐ŸŽ Pre-compiled language tags (which are stored in priv/cldr/language_tags.ebin) are now cached during compilation resulting in a minor performance improvement in compile times.

    • ๐Ÿ“œ Pre-generate the rfc5646 parser which improves overall compile times. As a result the nimble_parsec dependency is marked as optional since it is no long required by library consumers.

  • v2.22.1 Changes

    ๐Ÿš€ This is the changelog for Cldr v2.22.1 released on May 20th, 2021. For older changelogs please consult the release tag on GitHub

    ๐Ÿ› Bug Fixes

    • ๐Ÿ”ง Cldr.Number.PluralRule.plural_type/2 correctly returns a plural type when no backend is provided, no default backend is configured and the locale is a t:Cldr.LanguageTag

    • ๐Ÿ”ง Cldr.validate_locale/1 doesn't raise if there is no default backend configured and the locale is a t:Cldr.LanguageTag