• Language: en
  • Documentation version: development

Django 4.1 release notes - UNDER DEVELOPMENT

Expected August 2022

Welcome to Django 4.1!

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 4.0 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 4.1 supports Python 3.8, 3.9, and 3.10. We highly recommend and only officially support the latest release of each series.

What’s new in Django 4.1

Minor features

django.contrib.auth

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

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 4.1

Database backend API

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

Dropped support for MariaDB 10.2

Upstream support for MariaDB 10.2 ends in May 2022. Django 4.1 supports MariaDB 10.3 and higher.

Miscellaneous

Features deprecated in 4.1

Miscellaneous

Features removed in 4.1

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

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

  • Support for assigning objects which don’t support creating deep copies with copy.deepcopy() to class attributes in TestCase.setUpTestData() is removed.
  • Support for using a boolean value in BaseCommand.requires_system_checks is removed.
  • The whitelist argument and domain_whitelist attribute of django.core.validators.EmailValidator are removed.
  • The default_app_config application configuration variable is removed.
  • TransactionTestCase.assertQuerysetEqual() no longer calls repr() on a queryset when compared to string values.
  • The django.core.cache.backends.memcached.MemcachedCache backend is removed.
  • Support for the pre-Django 3.2 format of messages used by django.contrib.messages.storage.cookie.CookieStorage is removed.
Back to Top