Changelog for Cldr v3.4.2

This is the changelog for Cldr v3.4.2 released on April 16th, 2019. For older changelogs please consult the release tag on GitHub

Bug Fixes

Enhancements

  • Money.round/2 allows setting :currency_digits to an integer number of digits in addition to the options :iso, :cash and :accounting. The default remains :iso.

  • Improves the documentation for Money.to_string/2.

Changelog for Cldr v3.4.1

This is the changelog for Cldr v3.4.1 released on April 5th, 2019. For older changelogs please consult the release tag on GitHub

Bug Fixes

  • Fix README.md markdown formatting error. Thanks to @fireproofsocks for the report and @lostkobrakai for the fix. Closes #99.

Changelog for Cldr v3.4.0

This is the changelog for Cldr v3.4.0 released on March 28th, 2019. For older changelogs please consult the release tag on GitHub

Enhancements

Changelog for Cldr v3.3.1

This is the changelog for Cldr v3.3.1 released on March 8th, 2019. For older changelogs please consult the release tag on GitHub

Bug Fixes

  • Fix or silence dialyzer warnings

Changelog for Cldr v3.3.0

This is the changelog for Cldr v3.3.0 released on February 24th, 2019. For older changelogs please consult the release tag on GitHub

Enhancements

  • Adds Money.put_fraction/2. This will set the fractional part of a money to the specified integer amount. Examples:
  iex> Money.put_fraction Money.new(:USD, "2.49"), 99
  #Money<:USD, 2.99>

  iex> Money.put_fraction Money.new(:USD, "2.49"), 999
  {:error,
   {Money.InvalidAmountError, "Rounding up to 999 is invalid for currency :USD"}}

Bug Fixes

  • Parsing money strings now uses a more complete set of character definitions for decimal and grouping separators based upon the characters.json file of the "en" locale.

Changelog for Money v3.2.4

This is the changelog for Money v3.2.4 released on February 13th, 2019. For older changelogs please consult the release tag on GitHub

Bug Fixes

Enhancements

  iex> Money.parse("100 eurosports", fuzzy: 0.8)
  #Money<:EUR, 100>

  iex> Money.parse("100 eurosports", fuzzy: 0.9)
  {:error,
   {Money.Invalid, "Unable to create money from \\"eurosports\\" and \\"100\\""}}

Changelog for Money v3.2.3

This is the changelog for Money v3.2.3 released on February 12th, 2019. For older changelogs please consult the release tag on GitHub

Bug Fixes

  • Correctly parse money strings with unicode currency symbols like "€". Closes #95. Thanks to @crbelaus.

Changelog for Money v3.2.2

This is the changelog for Money v3.2.2 released on February 10th, 2019. For older changelogs please consult the release tag on GitHub

Enhancements

  • Improves parsing of money strings. Parsing now uses various strings that CLDR knows about. Some examples:
  iex> Money.parse "$au 12 346", locale: "fr"
  #Money<:AUD, 12346>
  iex> Money.parse "12 346 dollar australien", locale: "fr"
  #Money<:AUD, 12346>
  iex> Money.parse "A$ 12346", locale: "en"
  #Money<:AUD, 12346>
  iex> Money.parse "australian dollar 12346.45", locale: "en"
  #Money<:AUD, 12346.45>
  iex> Money.parse "AU$ 12346,45", locale: "de"
  #Money<:AUD, 12346.45>

  # Can also return the strings available for a given currency
  # and locale
  iex> Cldr.Currency.strings_for_currency :AUD, "de"
  ["aud", "au$", "australischer dollar", "australische dollar"]

  # Round trip formatting also seems to be ok
  iex> {:ok, string} = Cldr.Number.to_string 1234, Money.Cldr, currency: :AUD
  {:ok, "A$1,234.00"}
  iex> Money.parse string
  #Money<:AUD, 1234.00>

Changelog for Money v3.2.1

This is the changelog for Money v3.2.1 released on February 2nd, 2019. For older changelogs please consult the release tag on GitHub

Bug Fixes

Changelog for Money v3.2.0

This is the changelog for Money v3.2.0 released on February 1st, 2019. For older changelogs please consult the release tag on GitHub

Bug Fixes

  • Correctly generate migrations_path/1 function based upon whether Ecto is configured and which version

Enhancements

  • Adds Money.parse/2 which will parse a string comprising a currency code and an amount. It will return a Money.t or an error. This function may be helpful in supporting money input in HTML forms.

Changelog for Money v3.1.0

This is the changelog for Money v3.1.0 released on December 30th, 2018. For older changelogs please consult the release tag on GitHub

Bug Fixes

  • Fix typo in exchange_rates_retriever.ex. Thanks to @lostkobrakai. Closes #91.

  • Remove obsolete cldr compiler

  • Changes the sum aggregate function for money_with_currency to be STRICT which means it handles NULL columns in the same way as the standard SUM function. Thanks to @lostkobrakai. Closes #88.

  • Fixes documentation link errors

  • Fix unhandled terminate typo error in exchange rates server. Thanks to @xavier. Closes #90.

Changelog for Money v3.0.0

This is the changelog for Money v3.0.0 released on November 23rd, 2018. For older changelogs please consult the release tag on GitHub

The primary purpose of this release is to support ex_cldr version 2.0

Breaking changes

  • Money.from_tuple/1 has been removed
  • Uses ex_cldr version 2. Please see the changelog for configuration changes that are required.
  • Requires a default_cldr_backend to be configured in config.exs. For example:
  config :ex_money,
    ...
    default_cldr_backend: MyApp.Cldr
  end