Just a few months ago, we released Django Evolution 2.0, the first release to support database upgrades using both Django’s migrations and our own evolutions.
Django Evolution 2.1 builds on this by introducing enhanced dependency management for evolutions and migrations. Now, an evolution (or its app) can specify other evolutions or migrations that must be applied either before or after.
Django applications that make use of swappable models can benefit from this, as an evolution defining that model can now be applied before a migration that requires it.
See the guide on adding dependencies to learn more.
Other highlights include:
- Compatibility with Python 3.9
- Workarounds for MySQL/MariaDB bugs in Django 1.8 through 1.10
- Enhanced transaction management, providing safer upgrades and recovery in the event that something goes wrong
See the release notes for the complete list of changes.