Release notes
Django 2.1 release notes
Features deprecated in 2.1
QuerySet.raw() now caches its results like regular querysets. Use iterator() if you don’t want caching. The database router allow_relation() method is called in more cases. Improperly written routers may need to be updated accordingly.
4.2
5.0
5.1
5.2
6.0
Release notes
Django 3.2 release notes
What’s new in Django 3.2Minor features
TransactionTestCase.assertQuerysetEqual() now supports direct comparison against another queryset rather than being restricted to comparison against a list of string representations of objects when using the default value for the transform argument.
4.2
5.0
5.1
5.2
6.0
Release notes
Django 4.1 release notes
Features deprecated in 4.1
Use errors=[] instead. django.contrib.sessions.serializers.PickleSerializer is deprecated due to the risk of remote code execution. The usage of QuerySet.iterator() on a queryset that prefetches related objects without providing the chunk_size argument is deprecated. In older versions, no prefetching was done.
4.2
5.0
5.1
5.2
6.0
Release notes
Django 5.0 release notes
Features deprecated in 5.0
Filtering querysets against overflowing integer values now always returns an empty queryset. As a consequence, you may need to use ExpressionWrapper() to explicitly wrap arithmetic against integer fields in such cases.
5.0
5.1
5.2
6.0
Release notes
Django 5.1 release notes
Features deprecated in 5.1
To improve performance, the delete_selected admin action now uses QuerySet.bulk_create() when creating multiple LogEntry objects. As a result, pre_save and post_save signals for LogEntry are not sent when multiple objects are deleted via this admin action.
5.1
5.2
6.0
Release notes
Django 6.2 release notes - UNDER DEVELOPMENT
Omitting the argument is equivalent to the prior safe=False usage. Calling QuerySet.aiterator() after prefetch_related() without providing a chunk_size is deprecated. It currently falls back to a chunk_size of 2000, but a ValueError will be raised in Django 2029.
dev
Release notes
Django 1.1 release notes
Other new features and changes introduced since Django 1.0 include: The CSRF protection middleware has been split into two classes – CsrfViewMiddleware checks incoming requests, and CsrfResponseMiddleware processes outgoing responses.
dev
Release notes
Django 1.9 release notes
django.core.cache.get_cache is removed. django.db.models.loading is removed. Passing callable arguments to querysets is no longer possible. BaseCommand.requires_model_validation is removed in favor of requires_system_checks. Admin validators is replaced by admin checks. The ModelAdmin.validator_class and default_validator_class attributes are removed. ModelAdmin.validate() is removed.
dev
Release notes
Django 3.0 release notes
Added hash database functions MD5, SHA1, SHA224, SHA256, SHA384, and SHA512. Added the Sign database function. The new is_dst parameter of the Trunc database functions determines the treatment of nonexistent and ambiguous datetimes.
dev
Release notes
Django 1.1 release notes
What’s new in Django 1.1
Other new features and changes introduced since Django 1.0 include: The CSRF protection middleware has been split into two classes – CsrfViewMiddleware checks incoming requests, and CsrfResponseMiddleware processes outgoing responses.
4.2
5.0
5.1
5.2
6.0
Release notes
Django 1.9 release notes
django.core.cache.get_cache is removed. django.db.models.loading is removed. Passing callable arguments to querysets is no longer possible. BaseCommand.requires_model_validation is removed in favor of requires_system_checks. Admin validators is replaced by admin checks. The ModelAdmin.validator_class and default_validator_class attributes are removed. ModelAdmin.validate() is removed.
4.2
5.0
5.1
5.2
6.0
Release notes
Django 3.0 release notes
What’s new in Django 3.0Minor features
Added hash database functions MD5, SHA1, SHA224, SHA256, SHA384, and SHA512. Added the Sign database function. The new is_dst parameter of the Trunc database functions determines the treatment of nonexistent and ambiguous datetimes.
4.2
5.0
5.1
5.2
6.0
Release notes
Django 6.1.2 release notes
Fixed a class of bugs in Django 6.1 that allowed bypassing the depth limiter for deeply nested geometry collections (CVE 2026-15830).
dev
Reference
Built-in template tags and filters
Outputs a URL-encoded formatted query string based on the provided parameters. This tag accepts positional arguments, which must be mappings (such as QueryDict or dict).
dev
Reference
Built-in template tags and filters
Built-in tag reference
Outputs a URL-encoded formatted query string based on the provided parameters. This tag accepts positional arguments, which must be mappings (such as QueryDict or dict).
5.1
5.2
6.0
Reference
Built-in template tags and filters
Outputs the current query string verbatim. So if the query string in the request is ?color=green, the output would be ?color=green. If the current query string is empty, the output will be ?.
dev
Reference
Built-in template tags and filters
Adds or modifies parameters in the query string. Each keyword argument will be added to the query string, replacing any existing value for that key. For instance, if the current query string is ?color=green, the output will be ?color=red&size=S.
dev
Reference
Built-in template tags and filters
Passing None as the value removes the parameter from the query string. For example, if the current query string is ?color=green&size=M, the output will be ?size=M.
dev
Reference
Built-in template tags and filters
If my_list is ["red", "blue"], the output will be ?color=red&color=blue, preserving the list structure in the query string.
dev
Reference
Built-in template tags and filters
Built-in tag referencequerystring
Outputs the current query string verbatim. So if the query string in the request is ?color=green, the output would be ?color=green. If the current query string is empty, the output will be ?.
5.1
5.2
6.0