• Language: en
  • Documentation version: development

Django 6.0 release notes - UNDER DEVELOPMENT

Expected December 2025

Welcome to Django 6.0!

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 5.2 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.

Python compatibility

Django 6.0 supports Python 3.12 and 3.13. We highly recommend and only officially support the latest release of each series.

Third-party library support for older version of Django

Following the release of Django 6.0, we suggest that third-party app authors drop support for all versions of Django prior to 5.2. At that time, you should be able to run your package’s tests using python -Wd so that deprecation warnings appear. After making the deprecation warning fixes, your app should be compatible with Django 6.0.

What’s new in Django 6.0

Minor features

django.contrib.admin

django.contrib.admindocs

django.contrib.auth

  • The default iteration count for the PBKDF2 password hasher is increased from 1,000,000 to 1,200,000.

django.contrib.contenttypes

django.contrib.gis

django.contrib.messages

django.contrib.postgres

django.contrib.redirects

django.contrib.sessions

django.contrib.sitemaps

django.contrib.sites

django.contrib.staticfiles

django.contrib.syndication

Cache

CSRF

Decorators

Email

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 6.0

Database backend API

This section describes changes that may be needed in third-party database backends.

Miscellaneous

Features deprecated in 6.0

Miscellaneous

Features removed in 6.0

These features have reached the end of their deprecation cycle and are removed in Django 6.0.

See Features deprecated in 5.0 for details on these changes, including how to remove usage of these features.

  • Support for passing positional arguments to BaseConstraint is removed.

  • The DjangoDivFormRenderer and Jinja2DivFormRenderer transitional form renderers are removed.

  • BaseDatabaseOperations.field_cast_sql() is removed.

  • request is required in the signature of ModelAdmin.lookup_allowed() subclasses.

  • Support for calling format_html() without passing args or kwargs is removed.

  • The default scheme for forms.URLField changed from "http" to "https".

  • The FORMS_URLFIELD_ASSUME_HTTPS transitional setting is removed.

  • The django.db.models.sql.datastructures.Join no longer fallback to get_joining_columns().

  • The get_joining_columns() method of ForeignObject and ForeignObjectRel is removed.

  • The ForeignObject.get_reverse_joining_columns() method is be removed.

  • Support for cx_Oracle is removed.

  • The ChoicesMeta alias to django.db.models.enums.ChoicesType is removed.

  • The Prefetch.get_current_queryset() method is removed.

  • The get_prefetch_queryset() method of related managers and descriptors is removed.

  • get_prefetcher() and prefetch_related_objects() no longer fallback to get_prefetch_queryset().

See Features deprecated in 5.1 for details on these changes, including how to remove usage of these features.

  • django.urls.register_converter() no longer allows overriding existing converters.

  • The ModelAdmin.log_deletion() and LogEntryManager.log_action() methods are removed.

  • The undocumented django.utils.itercompat.is_iterable() function and the django.utils.itercompat module is removed.

  • The django.contrib.gis.geoip2.GeoIP2.coords() method is removed.

  • The django.contrib.gis.geoip2.GeoIP2.open() method is removed.

  • Support for passing positional arguments to Model.save() and Model.asave() is removed.

  • The setter for django.contrib.gis.gdal.OGRGeometry.coord_dim is removed.

  • The check keyword argument of CheckConstraint is removed.

  • The get_cache_name() method of FieldCacheMixin is removed.

  • The OS_OPEN_FLAGS attribute of FileSystemStorage is removed.

Back to Top