Adds built-in Content Security Policy support, template partials, a background tasks framework and a modern email API. Requires Python 3.12 or newer, and DEFAULT_AUTO_FIELD now defaults to BigAutoField.
Download Django 6.0 PDF Official release notes
Release notes
- Released: December 3, 2025
- Python: 3.12 – 3.14
- Support: Standard release
Read the full notes, including backwards-incompatible changes, at docs.djangoproject.com.
New features
- Content Security Policy: ContentSecurityPolicyMiddleware, SECURE_CSP and nonces through the csp() context processor.
- Template partials: {% partialdef %} and {% partial %}, plus "template#partial" names.
- Background Tasks framework: the @task decorator and .enqueue(), with backends set in TASKS.
- Modern email API built on Python's email.message.EmailMessage.
- StringAgg on every database backend, a new AnyValue aggregate, and order_by on Aggregate.
- AsyncPaginator and AsyncPage.
- forloop.length inside {% for %}.
Deprecated features
- Passing optional arguments positionally to django.core.mail APIs.
- SafeMIMEText, SafeMIMEMultipart and BadHeaderError.
- ADMINS / MANAGERS given as (name, address) tuples: use address strings.
- The PostgreSQL-specific StringAgg and OrderableAggMixin.
- The URLIZE_ASSUME_HTTPS transitional setting.