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
- ๐ Updates to CLDR version 35.0.0 released on March 27th 2019.
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
and100000.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 useCldr.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
- ๐ Fix
-
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 withex_cldr_numbers
.
- Exclude
-
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 istrue
. For example:
defmodule MyApp.Cldr do use Cldr, default_locale: "en-001", locales: ["en", "ja"], gettext: MyApp.Gettext, generate_docs: false end
- ๐ Makes generation of documentation for backend modules optional. This is implemented by the
-
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 configuredPoison
if configured
- the key
-
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.
- ๐ Fix dialyzer errors. In some cases, notably related to
-
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 aCldr.LanguageTag{}
into a language tag string. This is useful when creating a collator that is based uponlibicu
since that collator will apply the configuration specified by theu
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
- โ Adds
-
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: %{} }}