Elixir Cldr Cldr Versions Save

Elixir implementation of CLDR/ICU

v2.38.1

2 weeks ago

Bug Fixes

  • Fix warnings on Elixir 1.17. This primarily relates to charlists constants now required to use sigil_c to avoid warnings. As a result, tests will only work on Elixir 1.16 and later even though support for the library is for Elixir 1.11 and later.

  • Make Cldr.Config.cldr_data_dir/0 a runtime result, not a compile time result.

  • Sort currency data in Cldr.Config.territories/0 so ensure deterministic order. Closes #227.

v2.38.0

1 month ago

Cldr v2.38.0

This is the changelog for Cldr v2.38.0 released on April 21st, 2024. For older changelogs please consult the release tag on GitHub

Enhancements

iex> MyApp.Cldr.Locale.new!("en-US")
MyApp.Cldr.Locale.new!("en-US")
  • Fix dialyzer warnings. Thanks to @Munksgaard for the PR. Closes #220. Also fixes :underspecs warning and the :underspecs dialyzer flag is now configured.

  • Add configuration for the new ex_cldr_person_names backend module generator.

v2.37.5

6 months ago

Bug Fixes

  • Fix warnings on Elixir 1.16.

  • Fix dialyzer warnings. Thanks to @Munksgaard for the PR. Closes #220.

v2.37.4

7 months ago

Bug Fixes

  • Reverts a change to the format of the alias data for subdivisions which was causing an exception in ex_cldr_territories. The change, which normalizes subdivision codes to be upcase atoms when the subdivision has its own ISO 3166 territory code, will be be added back for ex_cldr version 2.38.0 which will align with CLDR 44. Closes #216.

v2.37.3

7 months ago

Bug Fixes

  • Fix spec for Cldr.with_locale/3 and MyApp.Cldr.with_locale/2. Thanks to @nTraum for the PR. Closes #215.

Enhancements

  • Adds <backend>.put_gettext_locale/1.

v2.37.2

10 months ago

Bug Fixes

  • Remove checking Phoenix and Ecto json_library configurations. Ecto no longer configures its :json_library in config.exs and checking for Phoenix configuration can cause config failures when building in Docker. Thanks to @maciej-szlosarczyk for the report. Closes #208.

Enhancements

  • Improves parsing of language tag extensions. Primarily intended to improve support for tempo.

v2.37.1

1 year ago

Bug Fixes

  • Don't include :und in the list returned by Cldr.known_locale_names/1 since that function is commonly used to enumerate the configured locales and ultimately used to generate UI elements. :und is not a useful locale to select so its inclusion, which was added in ex_cldr version 2.37.0 is inappropriate and now reverted.

v2.37.0

1 year ago

Bug Fixes

  • Fixes Cldr.Locale.parent/1 to use :und as the ultimate parent rather than the default locale. This brings closer conformance to the CLDR specification.

Enhancements

  • Upgrade to CLDR 43 data.

  • Locale data is now versioned. If a locale file is found but if has no version (data prior to this release) or a version that does not match, the appropriate locale file is downloaded. This ensures locale files and ex_cldr are kept in sync. Closes #188.

  • Changes Cldr.version/0 to return the version of CLDR data as a t:Version.t/0. This is then used to check the version of the locale data and forcing a download if the locale data is out of date for this release of ex_cldr.

  • Adds Cldr.Locale.script_direction_from_locale/1 and MyApp.Cldr.Locale.script_direction_from_locale/1 to return :ltr (for left-to-right scripts) or :rtl (for right-to-left scripts). Closes #196. Thanks to @Doerge for the suggestion.

  • Adds Cldr.Validity.Script.unicode_script_to_subtag/1 as public, undocumented function. This function is required by ex_cldr_person_names and may be documented in a future release. It maps between a unicode script name (like that returned by Unicode.script/1 in the unicode library) to the appropriate subtag used by CLDR.

  • Unit data is now kept as Decimal not Ratio so :ratio is no longer a dependency here, or in ex_cldr_units.

v2.36.0

1 year ago

Note that ex_cldr version 2.36.0 data for interval formats is keyed differently than that of previous releases. The bug fix noted below means that this version of ex_cldr is only compatible with ex_cldr_dates_times version 2.13.3 and later. Only ex_cldr_dates_times is affected, other ex_cldr libraries are insensitive to this change.

Bug Fixes

  • Fixes the date time interval format keys. In previous releases, the locale ingestion process would treat keys like :Hm as being the same as :hm and as a result only the lower case version would be saved. This means that locales that rely upon 0..23 or 1..24 hour formats could not be formatted correctly.

  • Fixes the mix cldr.download.iso_currency to use the Cldr.Http.get/2 function to download the data. Doing so ensures that peer verification happens and no error log message is emitted.

v2.35.1

1 year ago

Bug Fixes

  • Fix bug that prevented setting :default_currency_format that slipped into the release (tests added).