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.
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.
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.
Release notes
Archive of security issues
Issues under Django’s security process
CSRF protection bypass on a site with Google Analytics. Full description
Release notes
Archive of security issues
Issues under Django’s security process
Potential CSRF via Host header. Full description
Release notes
Archive of security issues
Issues under Django’s security process
CSRF via forged HTTP headers. Full description
Release notes
Archive of security issues
Issues under Django’s security process
CSRF via preservation of POST data during admin login. Full description
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 …
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).
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.
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.
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.
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.