Django 5.2 release notes - UNDER DEVELOPMENT¶
Expected April 2025
Welcome to Django 5.2!
These release notes cover the new features, as well as some backwards incompatible changes you should be aware of when upgrading from Django 5.1 or earlier. We’ve begun the deprecation process for some features.
See the How to upgrade Django to a newer version guide if you’re updating an existing project.
Django 5.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 4.2, will end in April 2026.
Python compatibility¶
Django 5.2 supports Python 3.10, 3.11, 3.12, and 3.13. We highly recommend and only officially support the latest release of each series.
What’s new in Django 5.2¶
Minor features¶
django.contrib.admin
¶
- The
admin/base.html
template now has a new block extrabody for adding custom code before the closing</body>
tag.
django.contrib.auth
¶
- The default iteration count for the PBKDF2 password hasher is increased from 870,000 to 1,000,000.
django.contrib.syndication
¶
- All
SyndicationFeed
classes now support astylesheets
attribute. If specified, an<? xml-stylesheet ?>
processing instruction will be added to the top of the document for each stylesheet in the given list. See Feed stylesheets for more details.
Asynchronous views¶
- …
Cache¶
- …
CSRF¶
- …
Database backends¶
- …
Decorators¶
- …
Email¶
- Tuple items of
EmailMessage.attachments
andEmailMultiAlternatives.attachments
are now named tuples, as opposed to regular tuples. EmailMultiAlternatives.alternatives
is now a list of named tuples, as opposed to regular tuples.- The new
body_contains()
method returns a boolean indicating whether a provided text is contained in the emailbody
and in all attached MIME typetext/*
alternatives.
Error Reporting¶
- …
File Storage¶
- …
File Uploads¶
- …
Forms¶
- …
Generic Views¶
- …
Internationalization¶
- …
Logging¶
- …
Management Commands¶
- …
Migrations¶
- …
Models¶
- …
Requests and Responses¶
- …
Security¶
- …
Serialization¶
- …
Signals¶
- …
Templates¶
- …
Tests¶
- …
URLs¶
- …
Utilities¶
- …
Validators¶
- …
Backwards incompatible changes in 5.2¶
Database backend API¶
This section describes changes that may be needed in third-party database backends.
- …
django.contrib.gis
¶
- Support for PostGIS 3.0 is removed.
Dropped support for PostgreSQL 13¶
Upstream support for PostgreSQL 13 ends in November 2025. Django 5.2 supports PostgreSQL 14 and higher.
Miscellaneous¶
- …