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

Changelog History
Page 8

  • v2.6.0 Changes

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

    โœจ Enhancements

    There is one unresolved issue in this implementation related to plural rules for the locale "kw" (Cornish).

    The plural rule definition for :other in the repository is:

    "pluralRule-count-other": " @integer 4~19, 100, 1000000, โ€ฆ @decimal 0.1~0.9, 1.1~1.7, 10.0, 100.0, 1000.0 100000.0 1000000.0, โ€ฆ",
    

    ๐Ÿšš However in rules testing, the values 1000.0, 10000.0 and 100000.0 are resolving to category :two rather than :other. Until this is resolved, these data points are removed from the test data.

  • v2.5.0 Changes

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

    โœจ Enhancements

    • ๐Ÿ”ง Adds the global :ex_cldr configuration key :default_backend.

    • โž• Adds Cldr.default_backend/0 which will return the configured default backend or will raise an exception if not is configured.

    • 0๏ธโƒฃ Where appropriate, Cldr.* will now use Cldr.default_backend() as a default parameter.

  • v2.4.3 Changes

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

    ๐Ÿ› Bug Fixes

    • ๐Ÿ›  Fix Cldr.validate_locale/1 @spec error and remove spurious @dialyzer directives
  • v2.4.2 Changes

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

    ๐Ÿ› Bug Fixes

    • Exclude Cldr.Currency from the list of known providers so that it won't be compiled twice when working with ex_cldr_numbers.
  • v2.4.1 Changes

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

    โœจ Enhancements

    • ๐Ÿ“š Makes generation of documentation for backend modules optional. This is implemented by the :generate_docs option to the backend configuration. The default is true. For example:
    defmodule MyApp.Cldr do
      use Cldr,
        default_locale: "en-001",
        locales: ["en", "ja"],
        gettext: MyApp.Gettext,
        generate_docs: false
    end
    
  • v2.4.0 Changes

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

    โœจ Enhancements

    • Minor restructuring of the locale files. Calendar map keys are harmonised to have the same names and meanings. This would not normally be user visible but a change in data format suggests a minor version bump to easy version management.

    • Restructure the data returned by Cldr.Config.week_info/0 to also encode week days as numbers in the range 1..7 where 1 is Monday.

  • v2.3.2 Changes

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

    ๐Ÿ› Bug Fixes

    • ๐Ÿ‘ท Does a better job of detecting a required JSON library and raising at compile time if no such library can be found. In order of priority the search for a JSON library is:

      • the key :json_library under the application key :ex_cldr
      • a configured Phoenix json_library
      • a configured Ecto json_library
      • Jason if configured
      • Poison if configured
  • v2.3.1 Changes

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

    ๐Ÿ› Bug Fixes

    • ๐Ÿ“œ Fix dialyzer errors. In some cases, notably related to nimble_parsec, errors are generated that need to be fixed in a dependency. These errors are added to the .dialyzer_ignore_warnings file for now.
  • 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: %{}
    }}