Releases: kipcole9/money
Money version 3.2.0
Bug Fixes
- Correctly generate
migrations_path/1
function based upon whetherEcto
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 aMoney.t
or an error. This function may be helpful in supporting money input in HTML forms.
Money version 3.1.0
Bug Fixes
-
Fix type in
exchange_rates_retriever.ex
. Thanks to @LostKobrakai. Closes #91. -
Remove obsolete
cldr
compiler -
Changes the
sum
aggregate function formoney_with_currency
to beSTRICT
which means it handlesNULL
columns in the same way as the standardSUM
function. Thanks to @LostKobrakai. Closes #88. -
Fixes documentation link errors
-
Fix unhandled terminate typo error in exchange rates server. Thanks to @xavier. Closes #90.
Money version 3.0.0
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
Money version 2.12.2
Money version 2.12.1
Bug Fixes
-
Fixed error which assumed that
Mix.Dep.loaded_by_name/2
was renamed in Elixir 1.6 but in fact it was renamed toMix.Dep.loaded_by_name/2
in Elixir 1.7. -
Fix and error in defining compiler paths for tests to ensure compatibility for Elixir 1.5, 1.6 and 1.7
Money version 2.12.0
Enhancements
Supports Ecto version 3.x (ecto_sql) release candidate. When upgrading from Ecto 2 to Ecto 3 the following configuration changes are applied:
In config.exs
you would likely have:
defp deps do
[
{:ecto, "~> 2.1"},
{:postgrex, "> 0.0.0"},
{:ex_money, "~> 2.6"},
{:jason, "~> 1.0"}
...
]
end
With Ecto 3 (ecto_sql) the configuration would be:
# Change to the release versions when
# available on hex
defp deps do
[
{:ecto_sql, "~> 3.0-rc"},
{:postgrex, "~> 0.14-rc"},
{:ex_money, "~> 2.12"},
{:jason, "~> 1.0"}
...
]
end
Note that :ecto_sql
uses :db_connection
version 2.0 which has its own connection pooling and :poolboy
is no longer required.
Money version 2.11.0
Enhancements
- Updated dependency on ex_cldr to version 1.8 which uses CLDR version 34 data.
Money version 2.10.0
Enhancements
Adds an optional parameter options
to Money.new/2
which is now Money.new/3
. options
is a keyword list of options. Only one option is valid, :locale
which, if specified must be in Cldr.known_locales
The locale is used to transform any binary amounts passed to Money.new/3
such that localised grouping characters and decimal characters are normalised to the Elixir requirements. For example before this change the following example would error because the decimal point is a separator in the "de" locale and the decimal character ,
is invalid in Elixir number literals.
iex> Money.new("1.000,99", :EUR)
{:error, {Money.InvalidAmountError, "Amount cannot be converted to a number: \"1.000,99\""}}
Using the :locale
parameter it is now possible to specify the locale transform for number string literals:
iex> Money.new("1.000,99", :EUR, locale: "de")
#Money<:EUR, 1000.99>
Thanks to @f34nk for the suggestion.
Money version 2.8.0
Enhancements
- Separates the caching of etags from the caching of exchange rates. Previously the same cache behaviour (and therefore each implementation) was expected to support a key/value store but this is an unreasonable assumption. Etags are now cached in an
ets
table separate from the exchange rates cache. As a result, theget/1
andput/2
functions are removed from theMoney.ExchangeRates.Cache
behaviour. Thanks to @LostKobrakai. Closes #74.