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

Changelog History
Page 6

  • v2.3.0 Changes

    ๐Ÿš€ This is the changelog for Cldr v2.3.0 released on March 4th, 2019. For older changelogs please consult the release tag on GitHub

    โœจ Enhancements

    • โž• Adds Cldr.LanguageTag.to_string/1 which converts a Cldr.LanguageTag{} into a language tag string. This is useful when creating a collator that is based upon libicu since that collator will apply the configuration specified by the u extension in the language tag. For example:
    iex> {:ok, locale} = Cldr.validate_locale "en-US-u-co-phonebk-nu-arab", MyApp.Cldr
    iex> Cldr.LanguageTag.to_string(locale)
    "en-Latn-US-u-ca-phonebk-nu-arab"
    

    ๐Ÿ› Bug Fixes

    • ๐Ÿ›  Fix a bug when parsing some locale strings which have extensions. An extension may have a list of "keyword-type" pairs or simply "keyword". Parsing was failing when only the "keyword" form was used. For example the following used to fail, but is now parsed correctly:

      iex> {:ok, locale} = Cldr.validate_locale "en-US-u-co-ca", MyApp.Cldr
      {:ok,
      %Cldr.LanguageTag{
      canonical_locale_name: "en-Latn-US",
      cldr_locale_name: "en",
      extensions: %{},
      gettext_locale_name: nil,
      language: "en",
      language_subtags: [],
      language_variant: nil,
      locale: %{calendar: "gregory", collation: "standard"},
      private_use: [],
      rbnf_locale_name: "en",
      requested_locale_name: "en-US",
      script: "Latn",
      territory: "US",
      transform: %{}
      }}
      
    • ๐Ÿ›  Fix a race condition when starting up the compile-time locale cache

  • v2.2.7 Changes

    ๐Ÿš€ This is the changelog for Cldr v2.2.7 released on February 23rd, 2019. For older changelogs please consult the release tag on GitHub

    ๐Ÿ› Bug Fixes

    ๐Ÿ”ง Correctly validates locales that are not pre-compiled into a backend. At compile time, all configured locales are generated from the CLDR data. However not all valid locales can be predefined - especially those that have variants, subtags or extensions or use a different casing to the canonical form.

    ๐Ÿš€ For example, the following would fail in prior releases even though it is perfectly valid since language tags are defined to be case insensitive:

    iex> MyApp.Cldr.validate_locale "en-au"
    {:error, {Cldr.UnknownLocaleError, "The locale \"en-au\" is not known."}}
    
    

    ๐Ÿš€ Similarly, it is expected that both the POSIX and IEEE formats of a language tag are acceptable, meaning that a - or _ should be acceptable. Again, in prior releases this would result in an error:

    iex> MyApp.Cldr.validate_locale "en_AU"
    {:error, {Cldr.UnknownLocaleError, "The locale \"en_AU\" is not known."}}
    
    

    Lastly, when using locale extensions, subtags or variants the validation would fail:

    MyApp.Cldr.validate_locale "en-u-ca-buddhist"
    {:error, {Cldr.UnknownLocaleError, "The locale \"en_AU\" is not known."}}
    

    Each of these examples now correctly validates:

    iex> TestBackend.Cldr.validate_locale "en-au"
    {:ok,
     %Cldr.LanguageTag{
       canonical_locale_name: "en-Latn-AU",
       cldr_locale_name: "en-AU",
       extensions: %{},
       gettext_locale_name: "en",
       language: "en",
       language_subtags: [],
       language_variant: nil,
       locale: %{},
       private_use: [],
       rbnf_locale_name: "en",
       requested_locale_name: "en-AU",
       script: "Latn",
       territory: "AU",
       transform: %{}
     }}
    iex> TestBackend.Cldr.validate_locale "en_au"
    {:ok,
     %Cldr.LanguageTag{
       canonical_locale_name: "en-Latn-AU",
       cldr_locale_name: "en-AU",
       extensions: %{},
       gettext_locale_name: "en",
       language: "en",
       language_subtags: [],
       language_variant: nil,
       locale: %{},
       private_use: [],
       rbnf_locale_name: "en",
       requested_locale_name: "en-AU",
       script: "Latn",
       territory: "AU",
       transform: %{}
     }}
    iex> TestBackend.Cldr.validate_locale "en-u-ca-buddhist"
    {:ok,
      %Cldr.LanguageTag{
        canonical_locale_name: "en-Latn-US",
        cldr_locale_name: "en",
        extensions: %{},
        gettext_locale_name: "en",
        language: "en",
        language_subtags: [],
        language_variant: nil,
        locale: %{calendar: :buddhist},
        private_use: [],
        rbnf_locale_name: "en",
        requested_locale_name: "en",
        script: "Latn",
        territory: "US",
        transform: %{}
    }}
    
  • v2.2.6 Changes

    ๐Ÿš€ This is the changelog for Cldr v2.2.6 released on February 23rd, 2019. For older changelogs please consult the release tag on GitHub

    โœจ Enhancements

    • Adds Cldr.Config.territory_currency_data/0 that maps a territory code (like "US") to a list of currencies reflecting the historic and current usage of currencies in that territory.
  • v2.2.5 Changes

    ๐Ÿš€ This is the changelog for Cldr v2.2.5 released on February 18th, 2019. For older changelogs please consult the release tag on GitHub

    ๐Ÿ› Bug Fixes

    • โœ‚ Remove most dialyzer errors

    • ๐Ÿ›  Fix documentation syntax errors

    • ๐Ÿ›  Fix regex for parsing currency names into currency strings

  • v2.2.4 Changes

    ๐Ÿš€ This is the changelog for Cldr v2.2.4 released on February 10th, 2019. For older changelogs please consult the release tag on GitHub

    ๐Ÿ› Bug Fixes

    • ๐Ÿ”ง Ensure the global default locale (currently "en-001") is always configured

    โœจ Enhancements

    • โš  Log a warning if a CLDR provider module could not be found
  • v2.2.3 Changes

    ๐Ÿš€ This is the changelog for Cldr v2.2.3 released on February 9th, 2019. For older changelogs please consult the release tag on GitHub

    ๐Ÿ› Bug Fixes

    • ๐Ÿ›  Fix parsing of currency names that have date ranges or annotations within them like "US dollar (next day)" and "Afghan afghani (1927โ€“2002)"
  • v2.2.2 Changes

    ๐Ÿš€ This is the changelog for Cldr v2.2.2 released on February 9th, 2019. For older changelogs please consult the release tag on GitHub

    โœจ Enhancements

    • โž• add Cldr.Config.currencies_for/2 to return a map of the currency definition for a locale
  • v2.2.1 Changes

    ๐Ÿš€ This is the changelog for Cldr v2.2.1 released on January 30th, 2019. For older changelogs please consult the release tag on GitHub

    ๐Ÿ› Bug Fixes

    • 0๏ธโƒฃ Correctly add the gettext locale to the language tag returned by <backend>.default_locale and Cldr.default_locale/2. Thanks to @erikreedstrom. Closes #106.

    โœจ Enhancements

    • โž• Added a section on migrating from Cldr 1.x to 2.x.
  • v2.2.0 Changes

    ๐Ÿš€ This is the changelog for Cldr v2.2.0 released on December 23nd, 2018. For older changelogs please consult the release tag on GitHub

    โœจ Enhancements

    • โฌ†๏ธ Bump nimble_parsec to version 0.5 which has some breaking changes from 0.4 that affects the language tag parser.

    • ๐Ÿ”ง Use IO.warn/1 for compiler warnings related to global configuration and Cldr providers configuration for a backend.

  • v2.1.0 Changes

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

    ๐Ÿ› Bug Fixes

    • ๐Ÿ—„ Don't issue a bogus global config deprecation warning.

    โœจ Enhancements

    • ๐Ÿ”ง Revises the Cldr provider strategy - again. Rather than try to auto-discover available provider modules and configuring them automatically they are now configured under the :provider key. The readme contains further information on configuring providers. For example:
    defmodule MyApp.Cldr do
      use Cldr,
        locales: ["en", "zh"],
        default_locale: "en",
        providers: [Cldr.Number, Cldr.List]
    end
    

    ๐Ÿ”ง The default behaviour is the same as Cldr 2.0 in that all known cldr providers are configured.