djangodocs.org

158 sections in Django dev Search all versions →

Minor features

Release notes Django 1.6 release notes What’s new in Django 1.6

Authentication backends can raise PermissionDenied to immediately fail the authentication chain. The HttpOnly flag can be set on the CSRF cookie with CSRF_COOKIE_HTTPONLY. The assertQuerysetEqual() now checks for undefined order and raises ValueError if undefined order is spotted.

Miscellaneous

Release notes Django 1.11 release notes Features deprecated in 1.11

CSRF failures are logged to the django.security.csrf logger instead of django.request. ALLOWED_HOSTS validation is no longer disabled when running tests. If your application includes tests with custom host names, you must include those host names in ALLOWED_HOSTS.

Overview

Release notes Django 1.2 release notes

Vastly improved protection against Cross-Site Request Forgery (CSRF). A new user “messages” framework with support for cookie- and session-based message for both anonymous and authenticated users. Hooks for object-level permissions, permissions for anonymous users, and more flexible username requirements.

SameSite cookies

Release notes Django 2.1 release notes Backwards incompatible changes in 2.1

The cookies used for django.contrib.sessions, django.contrib.messages, and Django’s CSRF protection now set the SameSite flag to Lax by default. Browsers that respect this flag won’t send these cookies on cross-origin requests.

Miscellaneous

Release notes Django 4.1 release notes Features deprecated in 4.1

CSRF_COOKIE_MASKED transitional setting is deprecated. The name argument of django.utils.functional.cached_property() is deprecated as it’s unnecessary as of Python 3.6. The opclasses argument of django.contrib.postgres.constraints.ExclusionConstraint is deprecated in favor of using OpClass() in ExclusionConstraint.expressions.

One new feature

Release notes Django 1.2.2 release notes

In order to test a bug fix that forms part of the 1.2.2 release, it was necessary to add a feature – the enforce_csrf_checks flag – to the test client.

Release notes Django 1.6 release notes Features deprecated in 1.6

… HTTP header, and this header is being set on a variety of occasions, such as: accessing the session, or using CSRF protection, which is turned on by default, or using a client-side library which sets cookies, like Google Analytics. This …

Bugfixes

Release notes Django 1.7.3 release notes

Fixed a crash in the CSRF middleware when handling non-ASCII referer header (#23815). Fixed a crash in the django.contrib.auth.redirect_to_login view when passing a reverse_lazy() result on Python 3 (#24097). Added correct formats for Greek (el) (#23967).

Bugfixes

Release notes Django 1.8.3 release notes

Corrected HStoreField.has_changed() (#24844). Reverted an optimization to the CSRF template context processor which caused a regression (#24836). Fixed a regression which caused template context processors to overwrite variables set on a RequestContext after it’s created (#24847).

Release notes Django 1.2 release notes Backwards-incompatible changes in 1.2

For example, you would change code from this: to this: or: For those of you who’ve been following the development trunk, this change also applies to other decorators introduced since 1.1, including csrf_protect, cache_control and anything created using decorator_from_middleware.

Overview

Release notes Django 1.4 release notes

Some nice security additions, including improved password hashing (featuring PBKDF2 and bcrypt support), new tools for cryptographic signing, several CSRF improvements, and simple clickjacking protection. An updated default project layout and manage.py that removes the “magic” from prior versions.

Release notes Django 1.4 release notes Backwards incompatible changes in 1.4

CSRF check Note: This is actually a Django 1.1 fallback, not Django 1.2, and it applies only if you’re upgrading from 1.1. Consequences: The user will see a 403 error with any CSRF-protected POST form.

Miscellaneous

Release notes Django 4.0 release notes Features deprecated in 4.0

CsrfViewMiddleware now uses request.META['CSRF_COOKIE_NEEDS_UPDATE'] in place of request.META['CSRF_COOKIE_USED'], request.csrf_cookie_needs_reset, and response.csrf_cookie_set to track whether the CSRF cookie should be sent. This is an undocumented, private API. The undocumented TRANSLATOR_COMMENT_MARK constant is moved from django.template.base to django.utils.translation.template.

Features removed in 5.0

Release notes Django 5.0 release notes

The SitemapIndexItem.__str__() method is removed. The CSRF_COOKIE_MASKED transitional setting is removed. The name argument of django.utils.functional.cached_property() is removed. The opclasses argument of django.contrib.postgres.constraints.ExclusionConstraint is removed. The undocumented ability to pass errors=None to SimpleTestCase.assertFormError() and assertFormsetError() is removed. django.contrib.sessions.serializers.PickleSerializer is removed.