# Changelog

## Unreleased

…

## 3.6.1 - 2026-06-07

Added

- `UniRateBackend` exchange-rate backend for UniRateAPI. Configure via `EXCHANGE_BACKEND = "djmoney.contrib.exchange.backends.UniRateBackend"` and set `UNIRATE_ACCESS_KEY`.

Changed

- Upsert rates instead of deleting and recreating them #818 (@2tunnels:github.com)

- Update README to reflect currently supported Python (3.10–3.13) and Django (4.2–5.2) versions. #820 (@smhtbtb:github.com)

## 3.6 - 2026-01-27

Added

- Support for callable `default` and `currency_default`, and `currency_choices` #683 (@benjaoming:github.com)

- Add `backend` kwarg to `convert_money` function #787 (@heckad:github.com)

- Add getting a limit value from a callable #810 (@heckad:github.com)

Fixed

- The auto-generated hidden input field that tracks initial data in formsets with MoneyField should now work #803 (@benjaoming:github.com)

Changed

- Migrate to pyproject.toml and uv #791 (@browniebroke:github.com)

Removed

- Python 3.8 and 3.9 support was dropped to give way for typehints #781 (@benjaoming:github.com)

## 3.5.4 - 2025-04-17

Added

- Django 5.2 and Python 3.13 support #785 (@gvangool:github.com and @browniebroke:github.com)

## 3.5.3 - 2024-08-01

Fixed

- django-rest-framework: MoneyField does not work anymore with custom serializer fields #768 (@apjama:github.com)

Added

- Django 5.1 support #767 (@benjaoming:github.com)

## 3.5.2 - 2024-05-07

Fixed

- django-rest-framework: Fix regression from 3.5 #762 (@dariusmazeika:github.com)

## 3.5.1 - 2024-05-05

Fixed

- django-rest-framework: Fix regression from 3.5 #757 (@phillipuniverse:github.com)

- Add base parameter to openexchangerates.org backend #751 (@foarsitter:github.com)

## 3.5 - 2024-05-04

Important

If you generated `MoneyField` migrations in the previous series 3.4.x, you may have to manually edit subsequent migrations. Please share your successful approaches in #731.

Fixed

- Revert 3.4 patch, meaning that auto-generated CurrencyField is once again part of migrations #731 (@benjaoming:github.com)

- django-rest-framework: MinMoneyValidator and MaxMoneyValidator fixed, may require default_currency defined #722 (@hosamhamdy258:github.com @errietta:github.com @benjaoming:github.com)

Added

- Django 5.0 support #753 (@benjaoming:github.com)

Removed

- Official support for Django 2.2, 3.2, 4.0, 4.1 #753 (@benjaoming:github.com)

## 3.4.1 - 2023-11-30

Fixed

- The default setting for `CURRENCY_CHOICES` excluded the currency choice defined by `DEFAULT_CURRENCY`. #739 (@Naggafin:github.com)

## 3.4 - 2023-10-17

Note

If you are using Django REST Framework or any other mechanism that relies on a custom serializer, please note that you now manually have to register the serializer. See this code snippet.

Changed

- Don’t register Django Money serializers by default, instead the user should actively register a serializer in the `settings.py` #636 (@emorozov:github.com)

## 3.3 - 2023-09-10

Fixed

- Fix detection of necessary migrations. Note that this means that previously undetected migrations will be detected as of this version #725 (@vanschelven:github.com)

## 3.2 - 2023-07-03

Changed

- Explicitly define `id` in `djmoney.contrib.exchange.Rate` model - This ensures that the database table will use `AutoField` even if `DEFAULT_AUTO_FIELD` is set to `BigAutoField` in the Django project’s settings #716

Fixed

- Downgrade asgiref to 3.6 to work with pypy3

## 3.1 - 2023-04-20

Added

- Python 3.11 support #700 (@sdarmofal:github.com)

- Django 4.2 support #700 (@sdarmofal:github.com)

- Pyright support for .pyi files #686 (@karolyi:github.com)

- Support for `Coalesce` #678 (@stianjensen:github.com)

Fixed

- Support for `Money` type with `Coalesce` in `QuerySet.update()` #678 (@stianjensen:github.com)

- pre-commit config for moved flake8 repo (@sdarmofal:github.com)

- Use latest setup-python GitHub Action #692 (@sondrelg:github.com)

- Optimize: Rate is always 1 if source and target are equal #689 (@nschlemm:github.com)

- Fixer.io backend: Avoid 403 errors #681 (@spaut33:github.com)

## 3.0 - 2022-06-20

Changed - Update py-moneyed to 2.0. #638 (@antonagestam:github.com, @flaeppe:github.com, @paoloxnet:github.com) - Remove the deprecated `Money.decimal_places_display` property and argument. #638 (@antonagestam:github.com, @flaeppe:github.com, @paoloxnet:github.com) - Remove the deprecated `CURRENCY_DECIMAL_PLACES_DISPLAY` setting. #638 (@antonagestam:github.com, @flaeppe:github.com, @paoloxnet:github.com) - Null constraint on an implicit `CurrencyField` is now declared from `null=...` argument to `MoneyField`. #638 (@antonagestam:github.com, @flaeppe:github.com, @paoloxnet:github.com)

Fixed

- Improve the internal check for whether a currency is provided #657 (@davidszotten:github.com)

- Fix test suite for django main branch #657 (@davidszotten:github.com)

- `MoneyField` raises `TypeError` when default contains a valid amount but no currence, i.e. `Money(123, None)`. #661 (@flaeppe:github.com)

- `MoneyField` supports default of type `bytes` #661 (@flaeppe:github.com)

Added

- Add support for Django 4.0 and 4.1.

- Add support for Python 3.10.

Removed

- Drop support for Django 3.1.

- Drop support for Python 3.6.

## 2.1.1 - 2022-01-02

Changed

- Renamed `master` branch to `main` (@benjaoming:github.com)

Fixed

- Make Django REST Framework integration always raise lower-level errors as `ValidationError`. #601, #637 (@flaeppe:github.com)

- False positives in Migration changes, improvements to `MoneyField.deconstruct`. #646, #648 (@flaeppe:github.com)

## 2.1 - 2021-09-17

Added

- Add support for Django 3.2. #612 (@antonagestam:github.com)

Removed

- Drop support for Django 1.11, 2.1 and 3.0. #612 (@antonagestam:github.com)

- Drop support for Python 3.5. #612 (@antonagestam:github.com)

## 2.0.3 - 2021-09-04

Fixed

- Inconsistent `Money._copy_attributes` behaviour when non-`Money` instances are involved. #630 (@tned73:github.com)

## 2.0.2 - 2021-09-04

Fixed

- Inconsistent `Money._copy_attributes` behaviour. #629 (@tned73:github.com)

## 2.0.1 - 2021-07-09

Fixed

- Invalid deprecation warning behavior. #624 (@nerdoc:github.com)

## 2.0 - 2021-05-23

Added

- New setting `CURRENCY_CODE_MAX_LENGTH` configures default max_length for MoneyField and `exchange` app models.

Changed

- BREAKING: Update `py-moneyed` to `>=1.2,<2`. It uses `babel` to format `Money`, which formats it differently than `py-moneyed<1`. #567 (@antonagestam:github.com)

Deprecated

- `Money.decimal_places_display` will be removed in django-money 3.0.

- `CURRENCY_DECIMAL_PLACES_DISPLAY` will be removed in django-money 3.0.

## 1.3.1 - 2021-02-04

Fixed

- Do not mutate the input `moneyed.Money` class to `djmoney.money.Money` in `MoneyField.default` and F-expressions. #603 (@moser:github.com)

## 1.3 - 2021-01-10

Added

- Improved localization: New setting `CURRENCY_DECIMAL_PLACES_DISPLAY` configures decimal places to display for each configured currency. #521 (@wearebasti:github.com)

Changed

- Set the default value for `models.fields.MoneyField` to `NOT_PROVIDED`. (@tned73:github.com)

Fixed

- Pin `pymoneyed<1.0` as it changed the `repr` output of the `Money` class. (@Stranger6667:github.com)

- Subtracting `Money` from `moneyed.Money`. Regression, introduced in `1.2`. #593 (@Stranger6667:github.com)

- Missing the right `Money.decimal_places` and `Money.decimal_places_display` values after some arithmetic operations. #595 (@Stranger6667:github.com)

## 1.2.2 - 2020-12-29

Fixed

- Confusing “number-over-money” division behavior by backporting changes from `py-moneyed`. #586 (@wearebasti:github.com)

- `AttributeError` when a `Money` instance is divided by `Money`. #585 (@niklasb:github.com)

## 1.2.1 - 2020-11-29

Fixed

- Aggregation through a proxy model. #583 (@tned73:github.com)

## 1.2 - 2020-11-26

Fixed

- Resulting Money object from arithmetics (add / sub / …) inherits maximum decimal_places from arguments #522 (@wearebasti:github.com)

- `DeprecationWarning` related to the usage of `cafile` in `urlopen`. #553 (@Stranger6667:github.com)

Added

- Django 3.1 support

## 1.1 - 2020-04-06

Fixed

- Optimize money operations on MoneyField instances with the same currencies. #541 (@horpto:github.com)

Added

- Support for `Money` type in `QuerySet.bulk_update()` #534 (@satels:github.com)

## 1.0 - 2019-11-08

Added

- Support for money descriptor customization. (@Stranger6667:github.com)

- Fix `order_by()` not returning money-compatible queryset #519 (@lieryan:github.com)

- Django 3.0 support

Removed

- Support for Django 1.8 & 2.0. (@Stranger6667:github.com)

- Support for Python 2.7. #515 (@benjaoming:github.com)

- Support for Python 3.4. (@Stranger6667:github.com)

- `MoneyPatched`, use `djmoney.money.Money` instead. (@Stranger6667:github.com)

Fixed

- Support instances with `decimal_places=0` #509 (@fara:github.com)

## 0.15.1 - 2019-06-22

Fixed

- Respect field `decimal_places` when instantiating `Money` object from field db values. #501 (@astutejoe:github.com)

- Restored linting in CI tests (@benjaoming:github.com)

## 0.15 - 2019-05-30

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. #411 (@washeck:github.com)

- Remove support for calling `float` on `Money` instances. Use the `amount` attribute instead. (@Stranger6667:github.com)

- `MinMoneyValidator` and `MaxMoneyValidator` are not inherited from Django’s `MinValueValidator` and `MaxValueValidator` anymore. #376

- In model and non-model forms `forms.MoneyField` uses `CURRENCY_DECIMAL_PLACES` as the default value for `decimal_places`. #434 (@Stranger6667:github.com, @andytwoods:github.com)

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. #480 (@Stranger6667:github.com, @MrFus10n:github.com)

- Add `default_currency` option for REST Framework field. #475 (@butorov:github.com)

Fixed

- Failing certificates checks when accessing 3rd party exchange rates backends. Fixed by adding certifi to the dependencies list. #403 (@Stranger6667:github.com)

- Fixed model-level `validators` behavior in REST Framework. #376 (@rapIsKal:github.com, @Stranger6667:github.com)

- Setting keyword argument `default_currency=None` for `MoneyField` did not revert to `settings.DEFAULT_CURRENCY` and set `str(None)` as database value for currency. #490 (@benjaoming:github.com)

Changed

- Allow using patched `django.core.serializers.python._get_model` in serializers, which could be helpful for migrations. (@Formulka:github.com, @Stranger6667:github.com)

## 0.14.4 - 2019-01-07

Changed

- Re-raise arbitrary exceptions in JSON deserializer as DeserializationError. (@Stranger6667:github.com)

Fixed

- Invalid Django 1.8 version check in `djmoney.models.fields.MoneyField.value_to_string`. (@Stranger6667:github.com)

- InvalidOperation in `djmoney.contrib.django_rest_framework.fields.MoneyField.get_value` when amount is None and currency is not None. #458 (@carvincarl:github.com)

## 0.14.3 - 2018-08-14

Fixed

- `djmoney.forms.widgets.MoneyWidget` decompression on Django 2.1+. #443 (@Stranger6667:github.com)

## 0.14.2 - 2018-07-23

Fixed

- Validation of `djmoney.forms.fields.MoneyField` when `disabled=True` is passed to it. #439 (@stinovlas:github.com, @Stranger6667:github.com)

## 0.14.1 - 2018-07-17

Added

- Support for indirect rates conversion through maximum 1 extra step (when there is no direct conversion rate: converting by means of a third currency for which both source and target currency have conversion rates). #425 (@Stranger6667:github.com, @77cc33:github.com)

Fixed

- Error was raised when trying to do a query with a ModelWithNullableCurrency. #427 (@Woile:github.com)

## 0.14 - 2018-06-09

Added

- Caching of exchange rates. #398 (@Stranger6667:github.com)

- Added support for nullable `CurrencyField`. #260 (@Stranger6667:github.com)

Fixed

- Same currency conversion getting MissingRate exception #418 (@humrochagf:github.com)

- TypeError during templatetag usage inside a for loop on Django 2.0. #402 (@f213:github.com)

Removed

- Support for Python 3.3 #410 (@benjaoming:github.com)

- Deprecated `choices` argument from `djmoney.forms.fields.MoneyField`. Use `currency_choices` instead. (@Stranger6667:github.com)

## 0.13.5 - 2018-05-19

Fixed

- Missing in dist, `djmoney/__init__.py`. #417 (@benjaoming:github.com)

## 0.13.4 - 2018-05-19

Fixed

- Packaging of `djmoney.contrib.exchange.management.commands`. #412 (@77cc33:github.com, @Stranger6667:github.com)

## 0.13.3 - 2018-05-12

Added

- Rounding support via `round` built-in function on Python 3. (@Stranger6667:github.com)

## 0.13.2 - 2018-04-16

Added

- Django Admin integration for exchange rates. #392 (@Stranger6667:github.com)

Fixed

- Exchange rates. TypeError when decoding JSON on Python 3.3-3.5. #399 (@kcyeu:github.com)

- Managers patching for models with custom `Meta.default_manager_name`. #400 (@Stranger6667:github.com)

## 0.13.1 - 2018-04-07

Fixed

- Regression: Could not run w/o `django.contrib.exchange` #388 (@Stranger6667:github.com)

## 0.13 - 2018-04-07

Added

- Currency exchange #385 (@Stranger6667:github.com)

Removed

- Support for `django-money-rates` #385 (@Stranger6667:github.com)

- Deprecated `Money.__float__` which is implicitly called on some `sum()` operations #347. (@jonashaag:github.com)

### Migration from django-money-rates

The new application is a drop-in replacement for `django-money-rates`. To migrate from `django-money-rates`:

- In `INSTALLED_APPS` replace `djmoney_rates` with `djmoney.contrib.exchange`

- Set `OPEN_EXCHANGE_RATES_APP_ID` setting with your app id

- Run `python manage.py migrate`

- Run `python manage.py update_rates`

For more information, look at `Working with Exchange Rates` section in README.

## 0.12.3 - 2017-12-13

Fixed

- Fixed `BaseMoneyValidator` with falsy limit values. #371 (@1337:github.com)

## 0.12.2 - 2017-12-12

Fixed

- Django master branch compatibility. #361 (@Stranger6667:github.com)

- Fixed `get_or_create` for models with shared currency. #364 (@Stranger6667:github.com)

Changed

- Removed confusing rounding to integral value in `Money.__repr__`. #366 (@Stranger6667:github.com, @evenicoulddoit:github.com)

## 0.12.1 - 2017-11-20

Fixed

- Fixed migrations on SQLite. #139, #338 (@Stranger6667:github.com)

- Fixed `Field.rel.to` usage for Django 2.0. #349 (@richardowen:github.com)

- Fixed Django REST Framework behaviour for serializers without `*_currency` field in serializer’s `Meta.fields`. #351 (@elcolie:github.com, @Stranger6667:github.com)

## 0.12 - 2017-10-22

Added

- Ability to specify name for currency field. #195 (@Stranger6667:github.com)

- Validators for `MoneyField`. #308 (@Stranger6667:github.com)

Changed

- Improved `Money` support. Now `django-money` fully relies on `pymoneyed` localization everywhere, including Django admin. #276 (@Stranger6667:github.com)

- Implement `__html__` method. If used in Django templates, an `Money` object’s amount and currency are now separated with non-breaking space (`&nbsp;`) #337 (@jonashaag:github.com)

Deprecated

- `djmoney.models.fields.MoneyPatched` and `moneyed.Money` are deprecated. Use `djmoney.money.Money` instead.

Fixed

- Fixed model field validation. #308 (@Stranger6667:github.com).

- Fixed managers caching for Django >= 1.10. #318 (@Stranger6667:github.com).

- Fixed `F` expressions support for `in` lookups. #321 (@Stranger6667:github.com).

- Fixed money comprehension on querysets. #331 (@Stranger6667:github.com, @jaavii1988:github.com).

- Fixed errors in Django Admin integration. #334 (@Stranger6667:github.com, @adi-:github.com).

Removed

- Dropped support for Python 2.6 and 3.2. (@Stranger6667:github.com)

- Dropped support for Django 1.4, 1.5, 1.6, 1.7 and 1.9. (@Stranger6667:github.com)

## 0.11.4 - 2017-06-26

Fixed

- Fixed money parameters processing in update queries. #309 (@Stranger6667:github.com)

## 0.11.3 - 2017-06-19

Fixed

- Restored support for Django 1.4, 1.5, 1.6, and 1.7 & Python 2.6 #304 (@Stranger6667:github.com)

## 0.11.2 - 2017-05-31

Fixed

- Fixed field lookup regression. #300 (@lmdsp:github.com, @Stranger6667:github.com)

## 0.11.1 - 2017-05-26

Fixed

- Fixed access to models properties. #297 (@mithrilstar:github.com, @Stranger6667:github.com)

Removed

- Dropped support for Python 2.6. (@Stranger6667:github.com)

- Dropped support for Django < 1.8. (@Stranger6667:github.com)

## 0.11 - 2017-05-19

Added

- An ability to set custom currency choices via `CURRENCY_CHOICES` settings option. #211 (@Stranger6667:github.com, @ChessSpider:github.com)

Fixed

- Fixed `AttributeError` in `get_or_create` when the model have no default. #268 (@Stranger6667:github.com, @lobziik:github.com)

- Fixed `UnicodeEncodeError` in string representation of `MoneyPatched` on Python 2. #272 (@Stranger6667:github.com)

- Fixed various displaying errors in Django Admin . #232, #220, #196, #102, #90 (@Stranger6667:github.com, @arthurk:github.com, @mstarostik:github.com, @eriktelepovsky:github.com, @jplehmann:github.com, @graik:github.com, @benjaoming:github.com, @k8n:github.com, @yellow-sky:github.com)

- Fixed non-Money values support for `in` lookup. #278 (@Stranger6667:github.com)

- Fixed available lookups with removing of needless lookup check. #277 (@Stranger6667:github.com)

- Fixed compatibility with `py-moneyed`. (@Stranger6667:github.com)

- Fixed ignored currency value in Django REST Framework integration. #292 (@gonzalobf:github.com)

## 0.10.2 - 2017-02-18

Added

- Added ability to configure decimal places output. #154, #251 (@ivanchenkodmitry:github.com)

Fixed

- Fixed handling of `defaults` keyword argument in `get_or_create` method. #257 (@kjagiello:github.com)

- Fixed handling of currency fields lookups in `get_or_create` method. #258 (@Stranger6667:github.com)

- Fixed `PendingDeprecationWarning` during form initialization. #262 (@Stranger6667:github.com, @spookylukey:github.com)

- Fixed handling of `F` expressions which involve non-Money fields. #265 (@Stranger6667:github.com)

## 0.10.1 - 2016-12-26

Fixed

- Fixed default value for `djmoney.forms.fields.MoneyField`. #249 (@tsouvarev:github.com)

## 0.10 - 2016-12-19

Changed

- Do not fail comparisons because of different currency. Just return `False` #225 (@benjaoming:github.com and @ivirabyan:github.com)

Fixed

- Fixed `understands_money` behaviour. Now it can be used as a decorator #215 (@Stranger6667:github.com)

- Fixed: Not possible to revert MoneyField currency back to default #221 (@benjaoming:github.com)

- Fixed invalid `creation_counter` handling. #235 (@msgre:github.com and @Stranger6667:github.com)

- Fixed broken field resolving. #241 (@Stranger6667:github.com)

## 0.9.1 - 2016-08-01

Fixed

- Fixed packaging.

## 0.9.0 - 2016-07-31

NB! If you are using custom model managers not named `objects` and you expect them to still work, please read below.

Added

- Support for `Value` and `Func` expressions in queries. (@Stranger6667:github.com)

- Support for `in` lookup. (@Stranger6667:github.com)

- Django REST Framework support. #179 (@Stranger6667:github.com)

- Django 1.10 support. #198 (@Stranger6667:github.com)

- Improved South support. (@Stranger6667:github.com)

Changed

- Changed auto conversion of currencies using djmoney_rates (added in 0.7.3) to be off by default. You must now add `AUTO_CONVERT_MONEY = True` in your `settings.py` if you want this feature. #199 (@spookylukey:github.com)

- Only make `objects` a MoneyManager instance automatically. #194 and #201 (@inureyes:github.com)

Fixed

- Fixed default currency value for nullable fields in forms. #138 (@Stranger6667:github.com)

- Fixed `_has_changed` deprecation warnings. #206 (@Stranger6667:github.com)

- Fixed `get_or_create` crash, when `defaults` is passed. #213 (@Stranger6667:github.com, @spookylukey:github.com)

### Note about automatic model manager patches

In 0.8, Django-money automatically patches every model managers with `MoneyManager`. This causes migration problems if two or more managers are used in the same model.

As a side effect, other managers are also finally wrapped with `MoneyManager`. This effect leads Django migration to point to fields with other managers to `MoneyManager`, and raises `ValueError` (`MoneyManager` only exists as a return of `money_manager`, not a class-form. However migration procedure tries to find `MoneyManager` to patch other managers.)

From 0.9, Django-money only patches `objects` with `MoneyManager` by default (as documented). To patch other managers (e.g. custom managers), patch them by wrapping with `money_manager`.

    from djmoney.models.managers import money_manager

    class BankAccount(models.Model):
        balance = MoneyField(max_digits=10, decimal_places=2, default_currency='USD')
        accounts = money_manager(MyCustomManager())

## 0.8 - 2016-04-23

Added

- Support for serialization of `MoneyPatched` instances in migrations. (@AlexRiina:github.com)

- Improved django-money-rates support. #173 (@Stranger6667:github.com)

- Extended `F` expressions support. (@Stranger6667:github.com)

- Pre-commit hooks support. (@benjaoming:github.com)

- Isort integration. (@Stranger6667:github.com)

- Makefile for common commands. (@Stranger6667:github.com)

- Codecov.io integration. (@Stranger6667:github.com)

- Python 3.5 builds to tox.ini and travis.yml. (@Stranger6667:github.com)

- Django master support. (@Stranger6667:github.com)

- Python 3.2 compatibility. (@Stranger6667:github.com)

Changed

- Refactored test suite (@Stranger6667:github.com)

Fixed

- Fixed fields caching. #186 (@Stranger6667:github.com)

- Fixed m2m fields data loss on Django < 1.8. #184 (@Stranger6667:github.com)

- Fixed managers access via instances. #86 (@Stranger6667:github.com)

- Fixed currency handling behaviour. #172 (@Stranger6667:github.com)

- Many PEP8 & flake8 fixes. (@benjaoming:github.com)

- Fixed filtration with `F` expressions. #174 (@Stranger6667:github.com)

- Fixed querying on Django 1.8+. #166 (@Stranger6667:github.com)

## 0.7.6 - 2016-01-08

Added

- Added correct paths for py.test discovery. (@benjaoming:github.com)

- Mention Django 1.9 in tox.ini. (@benjaoming:github.com)

Fixed

- Fix for `get_or_create` / `create` manager methods not respecting currency code. (@toudi:github.com)

- Fix unit tests. (@toudi:github.com)

- Fix for using `MoneyField` with `F` expressions when using Django >= 1.8. (@toudi:github.com)

## 0.7.5 - 2015-12-22

Fixed

- Fallback to `_meta.fields` if `_meta.get_fields` raises `AttributeError` #149 (@browniebroke:github.com)

- pip instructions updated. (@GheloAce:github.com)

## 0.7.4 - 2015-11-02

Added

- Support for Django 1.9 (@kjagiello:github.com)

Fixed

- Fixed loaddata. (@jack-cvr:github.com)

- Python 2.6 fixes. (@jack-cvr:github.com)

- Fixed currency choices ordering. (@synotna:github.com)

## 0.7.3 - 2015-10-16

Added

- Sum different currencies. (@dnmellen:github.com)

- `__eq__` method. (@benjaoming:github.com)

- Comparison of different currencies. (@benjaoming:github.com)

- Default currency. (@benjaoming:github.com)

Fixed

- Fix using Choices for setting currency choices. (@benjaoming:github.com)

- Fix tests for Python 2.6. (@plumdog:github.com)

## 0.7.2 - 2015-09-01

Fixed

- Better checks on `None` values. (@tsouvarev:github.com, @sjdines:github.com)

- Consistency with South declarations and calling `str` function. (@sjdines:github.com)

## 0.7.1 - 2015-08-11

Fixed

- Fix bug in printing `MoneyField`. (@YAmikep:github.com)

- Added fallback value for current locale getter. (@sjdines:github.com)

## 0.7.0 - 2015-06-14

Added

- Django 1.8 compatibility. (@willhcr:github.com)

## 0.6.0 - 2015-05-23

Added

- Python 3 trove classifier. (@dekkers:github.com)

Changed

- Tox cleanup. (@edwinlunando:github.com)

- Improved `README`. (@glarrain:github.com)

- Added/Cleaned up tests. (@spookylukey:github.com, @AlexRiina:github.com)

Fixed

- Append `_currency` to non-money ExpressionFields. #101 (@alexhayes:github.com, @AlexRiina:github.com, @briankung:github.com)

- Data truncated for column. #103 (@alexhayes:github.com)

- Fixed `has_changed` not working. #95 (@spookylukey:github.com)

- Fixed proxy model with `MoneyField` returns wrong class. #80 (@spookylukey:github.com)

## 0.5.0 - 2014-12-15

Added

- Django 1.7 compatibility. (@w00kie:github.com)

Fixed

- Added `choices=` to instantiation of currency widget. (@davidstockwell:github.com)

- Nullable `MoneyField` should act as `default=None`. (@jakewins:github.com)

- Fixed bug where a non-required `MoneyField` threw an exception. (@spookylukey:github.com)

## 0.4.2 - 2014-07-31

## 0.4.1 - 2013-11-28

## 0.4.0.0 - 2013-11-26

Added

- Python 3 compatibility.

- tox tests.

- Format localization.

- Template tag `money_localize`.

## 0.3.4 - 2013-11-25

## 0.3.3.2 - 2013-10-31

## 0.3.3.1 - 2013-10-01

## 0.3.3 - 2013-02-17

Added

- South support via implementing the `south_triple_field` method. (@mattions:github.com)

Fixed

- Fixed issues with money widget not passing attrs up to django’s render method, caused id attribute to not be set in html for widgets. (@adambregenzer:github.com)

- Fixed issue of default currency not being passed on to widget. (@snbuchholz:github.com)

- Return the right default for South. (@mattions:github.com)

- Django 1.5 compatibility. (@devlocal:github.com)

## 0.3.2 - 2012-11-30

Fixed

- Fixed issues with `display_for_field` not detecting fields correctly. (@adambregenzer:github.com)

- Added South ignore rule to avoid duplicate currency field when using the frozen ORM. (@rach:github.com)

- Disallow override of objects manager if not setting it up with an instance. (@rach:github.com)

## 0.3.1 - 2012-10-11

Fixed

- Fix `AttributeError` when Model inherit a manager. (@rach:github.com)

- Correctly serialize the field. (@akumria:github.com)

## 0.3 - 2012-09-30

Added

- Allow django-money to be specified as read-only in a model. (@akumria:github.com)

- South support: Declare default attribute values. (@pjdelport:github.com)

## 0.2 - 2012-04-10

- Initial public release