--------------------
.. warning:: This release contains backwards incompatibility, please read the release notes below.
Backwards incompatible changes
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Remove implicit default value on non-nullable MoneyFields.
Backwards incompatible change: set explicit ``default=0.0`` to keep previous behavior. :github-issue:`411` (:github-user:`washeck`)
- Remove support for calling ``float`` on ``Money`` instances. Use the ``amount`` attribute instead. (:github-user:`Stranger6667`)
- ``MinMoneyValidator`` and ``MaxMoneyValidator`` are not inherited from Django's ``MinValueValidator`` and ``MaxValueValidator`` anymore. :github-issue:`376`
- In model and non-model forms ``forms.MoneyField`` uses ``CURRENCY_DECIMAL_PLACES`` as the default value for ``decimal_places``. :github-issue:`434` (:github-user:`Stranger6667`, :github-user:`andytwoods`)
**Added**
- Add ``Money.decimal_places`` for per-instance configuration of decimal places in the string representation.
- Support for customization of ``CurrencyField`` length. Some cryptocurrencies could have codes longer than three characters. :github-issue:`480` (:github-user:`Stranger6667`, :github-user:`MrFus10n`)
- Add ``default_currency`` option for REST Framework field. :github-issue:`475` (:github-user:`butorov`)
**Fixed**
- Failing certificates checks when accessing 3rd party exchange rates backends.
Fixed by adding `certifi` to the dependencies list. :github-issue:`403` (:github-user:`Stranger6667`)
- Fixed model-level ``validators`` behavior in REST Framework. :github-issue:`376` (:github-user:`rapIsKal`, :github-user:`Stranger6667`)
- Setting keyword argument ``default_currency=None`` for ``MoneyField`` did not revert to ``settings.DEFAULT_CURRENCY`` and set ``str(None)`` as database value for currency. :github-issue:`490` (:github-user:`benjaoming`)
**Changed**
- Allow using patched ``django.core.serializers.python._get_model`` in serializers, which could be helpful for
migrations. (:github-user:`Formulka`, :github-user:`Stranger6667`)