- Language: en
- Documentation version: development
Django 3.2 release notes - UNDER DEVELOPMENT¶
Expected April 2021
Welcome to Django 3.2!
These release notes cover the new features, as well as some backwards incompatible changes you’ll want to be aware of when upgrading from Django 3.1 or earlier. We’ve begun the deprecation process for some features.
See the Upgrading Django to a newer version guide if you’re updating an existing project.
Django 3.2 is designated as a long-term support release. It will receive security updates for at least three years after its release. Support for the previous LTS, Django 2.2, will end in April 2022.
Django 3.2 supports Python 3.6, 3.7, and 3.8. We highly recommend and only officially support the latest release of each series.
What’s new in Django 3.2¶
- The default iteration count for the PBKDF2 password hasher is increased from 216,000 to 260,000.
CreateExtensionoperation now checks that the extension already exists in the database and skips the migration if so.
loaddatanow supports fixtures stored in XZ archives (
.xz) and LZMA archives (
makemigrationscan now be called without an active database connection. In that case, check for a consistent migration history is skipped.
BaseCommand.requires_system_checksnow supports specifying a list of tags. System checks registered in the chosen tags will be checked for errors prior to executing the command. In previous versions, either all or none of the system checks were performed.
- The new
Operation.migration_name_fragmentproperty allows providing a filename fragment that will be used to name a migration containing only that operation.
Requests and Responses¶
- Objects assigned to class attributes in
TestCase.setUpTestData()are now isolated for each test method. Such objects are now required to support creating deep copies with
copy.deepcopy(). Assigning objects which don’t support
deepcopy()is deprecated and will be removed in Django 4.1.
Clientnow preserves the request query string when following 307 and 308 redirects.
Backwards incompatible changes in 3.2¶
Database backend API¶
This section describes changes that may be needed in third-party database backends.
Dropped support for PostgreSQL 9.5¶
Upstream support for PostgreSQL 9.5 ends in February 2021. Django 3.2 supports PostgreSQL 9.6 and higher.
Dropped support for MySQL 5.6¶
The end of upstream support for MySQL 5.6 is April 2021. Django 3.2 supports MySQL 5.7 and higher.
- The undocumented
SpatiaLiteOperations.proj4_version()method is renamed to
ModelAdmin.prepopulated_fieldsno longer strips English stop words, such as
slugify()now removes leading and trailing dashes and underscores.
intwordtemplate filters no longer depend on the