All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Added support for Django 5
- Dropped Python 3.7, 3.8, and Django 2 from tox tests. They should still work however.
- Added search_fields to CountryAdmin, thanks DanyPM
- Replaced deprecated ugettext with gettext, supported in Django 2.2, 3, & 4, thanks to @niSeRdiSeR
- Updated tox config
- Django 4, python 3.10 test added to matrix
- Dropped support for Python 2 and Django 1
- Fixed update_countries_plus, thanks to @jeyeong and @buff0k
- Restored support for Django 1.11+
- Updated to use poetry & pytest
- Added tests for Django 3
- Dropped explicit support for Django <=1.10, may still work fine though.
- Fixtures dir is now properly included in pip package
- Cleaned up project & improved documentation
- Added tests for Django 2.0
- Dropped tested support for Django versions < 1.11
- Fixed Geonames.org file format error
- Improved test coverage.
- The Country model has had all fields with undefined lengths (ex: name) expanded to max_length=255. Defined length fields (ex: Iso, Iso3) are unchanged.
- Two countries (Dominican Republic and Puerto Rico) have two phone number prefixes instead of 1. These prefixes are now comma separated.
- The Country model will now validate on save and reject values of the wrong length. The test suite has been expanded to test this.
- Fixed update_countries_plus command for python 3
- Added feature to update data from geonames.org.
- Test coverage has been substantially improved.
- The data migration has been removed in favour of the new management command and manually loading the fixture.
- The fixture is no longer named initial_data and so must be loaded manually, if desired.
- In order to provide better compatibility with the way Django loads apps the Country model is no longer importable directly from countries_plus.
- The get_country_by_request utility function has been moved into the Country model, and is available as Country.get_by_request(request)
- General code cleanup & improved test coverage.
- If you have been running an earlier version you should run python manage.py update_countries_plus to update your data tables as they may contain incorrect data.
- Now uses Django 1.7 data migration pattern
- Corrected version number on setup.py
- Now compatible with Python 3 thanks to luiscberrocal
- Now compatible with Django 1.7 thanks to mrben
- Added middleware that adds the request country to the request object.
- Corrected model max_length attributes to properly match data.
- Initial release.