NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #2440 most downloaded on PyPI
Ensure your migrations are linear.
Last release 1 years ago
18 Sep 2025
Release timing varies
gaps range from 9 days to 8 months
Nearly every release is documented
notes for 32 of 32 stable releases
Nothing withdrawn
no release was ever pulled
6 years old
32 releases · first in 2020
One column per quarter.
* Support Django 6.0.
Support Django 6.0.
Support tuples for Migration.dependencies in rebase_migration.
Support Python 3.14.
Support tuples for Migration.dependencies in rebase_migration.
Thanks to Tom Grainger for the report in Issue #368.
* Support Django 5.2.
Support Django 5.2.
Drop Django 3.2 to 4.1 support.
Drop Django 3.2 to 4.1 support.
Make makemigrations --merge update max_migration.txt files as well.
Make makemigrations --merge update max_migration.txt files as well.
Thanks to Gordon Wrigley for the report in Issue #78.
Make squashmigrations update max_migration.txt files as well.
Make squashmigrations update max_migration.txt files as well.
Thanks to Gordon Wrigley for the report in Issue #329.
Drop Python 3.8 support.
Support Python 3.13.
* Support Django 5.1.
Support Django 5.1.
* Support Django 5.0.
Support Django 5.0.
* Drop Python 3.7 support.
Drop Python 3.7 support.
Support Django 4.2’s --update option for makemigrations.
Support Django 4.2’s --update option for makemigrations.
Thanks to Elliott Omosheye in PR #270.
* Support Python 3.12.
Support Python 3.12.
Extend rebase_migration to detect Git in-progress merges and select the correct migration to rebase.
Extend rebase_migration to detect Git in-progress merges and select the correct migration to rebase.
Thanks to Dmitry Sleptsov in PR #260.
* Support Django 4.2.
Support Django 4.2.
Use Django’s MigrationLoader to find the latest migrations. This also means django-linear-migrations operations detect migration conflicts.
Use Django’s MigrationLoader to find the latest migrations. This also means django-linear-migrations operations detect migration conflicts.
Thanks to q0w in PR #208.
The rebase_migration command now runs black on the modified file, if it is found on your PATH. This copies Django 4.1’s behaviour __ in commands that
The rebase_migration command now runs black on the modified file, if it is found on your PATH. This copies Django 4.1’s behaviour in commands that generate and modify migration files.
* Support Python 3.11. * Support Django 4.1.
Support Python 3.11.
Support Django 4.1.
Drop support for Django 2.2, 3.0, and 3.1.
Drop support for Django 2.2, 3.0, and 3.1.
* Drop Python 3.6 support.
Drop Python 3.6 support.
* Support Python 3.10.
Support Python 3.10.
* Support Django 4.0.
Support Django 4.0.
Renamed commands from using hyphens to underscores. This makes them importable and therefore extensible. The new names are:
Renamed commands from using hyphens to underscores. This makes them importable and therefore extensible. The new names are:
create-max-migration-files -> create_max_migration_files
rebase-migration -> rebase_migration
Added --recreate flag to create_max_migration_files.
Thanks to Gordon Wrigley for the feature request in Issue #79.
Add type hints.
Make FIRST_PARTY_APPS handling match the behaviour of INSTALLED_APPS.
Make FIRST_PARTY_APPS handling match the behaviour of INSTALLED_APPS.
Thanks to Martin Bächtold for the report in Pull Request #62.
Stop distributing tests to reduce package size. Tests are not intended to be run outside of the tox setup in the repository. Repackagers can use GitHub's tarballs per tag.
Fix rebase-migration to handle swappable dependencies and other dynamic constructs in the dependencies list.
Fix rebase-migration to handle swappable dependencies and other dynamic constructs in the dependencies list.
Thanks to James Singleton for the report in Issue #52.
* Support Django 3.2.
Support Django 3.2.
Add the ability to define the list of first-party apps, for cases where the automatic detection does not work.
Add the ability to define the list of first-party apps, for cases where the automatic detection does not work.
Made rebase-migration abort if the migration to be rebased has been applied in any local database.
Made rebase-migration abort if the migration to be rebased has been applied in any local database.
Handle apps with whose migrations have been disabled by mapping them to None in the MIGRATION_MODULES setting.
Handle apps with whose migrations have been disabled by mapping them to None in the MIGRATION_MODULES setting.
Thanks to Helmut for the report in Issue #23.
Made check for whether migrations exist consistent between the system checks and create-max-migration-files.
Made check for whether migrations exist consistent between the system checks and create-max-migration-files.
Thanks to @ahumeau for the report in Issue #20.
Also assume modules in dist-packages are third-party apps.
Thanks to Serkan Hosca for Pull Request #21.
Rename app config class to DjangoLinearMigrationsAppConfig.
Rename app config class to DjangoLinearMigrationsAppConfig.
Fix create-max-migration-files for apps without migrations folders or files.
Fix create-max-migration-files for apps without migrations folders or files.
Thanks to Ferran Jovell for the report in Issue #13.
Move initial max_migration.txt file creation into a separate management command, create-max-migration-files.
Move initial max_migration.txt file creation into a separate management command, create-max-migration-files.
Thanks to Ferran Jovell for the report in Issue #11.
* Initial release.
Initial release.
Your coding agent can read these notes before it upgrades. Set up the MCP server →