Release notes Archive of security issues Issues under Django’s security process
Potential account hijack via password reset form. Full description
698 sections in Django 5.2 Search all versions →
Release notes Archive of security issues Issues under Django’s security process
Potential account hijack via password reset form. Full description
Release notes Django 5.2.18 release notes
Model formsets incorrectly allowed forged POST data to either delete instances outside the limiting queryset or create instances via edit-only formsets when the model’s primary key could be set through the form, such as with: a OneToOneField (or parent link …
Release notes Django version 0.96 release notes Backwards-incompatible changes
The format of the constraint names Django generates for foreign key references have changed slightly.
Release notes Porting your apps from Django 0.96 to 1.0 Common changes
The Django administrative interface (django.contrib.admin) has been completely refactored; admin definitions are now completely decoupled from model definitions, the framework has been rewritten to use Django’s new form-handling library and redesigned with extensibility and customization in mind.
Release notes Porting your apps from Django 0.96 to 1.0 Less-common changesInternationalization
This means you can no longer use a link to access the view, but must use a form submission of some kind (e.g. a button).
Release notes Django 1.1 release notes What’s new in Django 1.1
Instances of Django forms (see the forms overview) now have two additional methods, hidden_fields() and visible_fields(), which return the list of hidden – i.e., <input type="hidden"> – and visible fields on the form, respectively.
Release notes Django 1.1.2 release notes
Django 1.2 (the next major release of Django) will contain a feature that will improve protection against Cross-Site Request Forgery (CSRF) attacks. This feature requires the use of a new csrf_token template tag in all forms that Django renders.
Release notes Django 1.10 release notes What’s new in Django 1.10Minor features
The success message that appears after adding or editing an object now contains a link to the object’s change form. All inline JavaScript is removed so you can enable the Content-Security-Policy HTTP header if you wish.
Release notes Django 1.10 release notes What’s new in Django 1.10Minor features
To protect against BREACH attacks, the CSRF protection mechanism now changes the form token value on every request (while keeping an invariant secret which can be used to validate the different tokens).
Release notes Django 1.10 release notes Backwards incompatible changes in 1.10
If you want to preserve the 30 character limit for usernames, use a custom form when creating a user or changing usernames: If you wish to keep this restriction in the admin, set UserAdmin.add_form to use this form:
Release notes Django 1.10 release notes Backwards incompatible changes in 1.10
File uploads don’t count toward this limit. DATA_UPLOAD_MAX_NUMBER_FIELDS limits the number of GET/POST parameters that are parsed. Applications that receive unusually large form posts may need to tune these settings.
Release notes Django 1.10.1 release notes
Fixed a checks framework crash with an empty Meta.default_permissions (#26997). Fixed a regression in the number of queries when using RadioSelect with a ModelChoiceField form field (#27001). Fixed a crash if request.META['CONTENT_LENGTH'] is an empty string (#27005).
Release notes Django 1.11 release notes Backwards incompatible changes in 1.11
The OpenLayers-based form widgets now use OpenLayers.js from https://cdnjs.cloudflare.com which is more suitable for production use than the old https://openlayers.org/ source. They are also updated to use OpenLayers 3. PostGIS migrations can now change field dimensions.
Release notes Django 1.11 release notes What’s new in Django 1.11Minor features
Three fields are provided: CICharField, CIEmailField, and CITextField. The new JSONBAgg allows aggregating values as a JSON array. The HStoreField (model field) and HStoreField (form field) allow storing null values.
Release notes Django 1.11 release notes What’s new in Django 1.11Minor features
The new empty_value attribute on CharField, EmailField, RegexField, SlugField, and URLField allows specifying the Python value to use to represent “empty”. The new Form.get_initial_for_field() method returns initial data for a form field.
Release notes Django 1.11 release notes Backwards incompatible changes in 1.11
The GEOSGeometry equality operator now also compares SRID. The OpenLayers-based form widgets now use OpenLayers 3, and the gis/openlayers.html and gis/openlayers-osm.html templates have been updated. Check your project if you subclass these widgets or extend the templates.
Release notes Django 1.11.4 release notes
Fixed a regression in 1.11.3 on Python 2 where non-ASCII format values for date/time widgets results in an empty value in the widget’s HTML (#28355). Fixed QuerySet.union() and difference() when combining with a queryset raising EmptyResultSet (#28378).
Release notes Django 1.4 release notes Backwards incompatible changes in 1.4
This is wrong for URLs whose unquoted form contains a %xx sequence, but such URLs are very unlikely to happen in the wild, because they would confuse browsers too.
Release notes Django 1.4 release notes Backwards incompatible changes in 1.4
In Django 1.3, the get_initial method of the django.views.generic.edit.FormMixin class was returning the class initial dictionary.
Release notes Django 1.4.11 release notes
The CSRF-protection system is based on a random nonce sent to the client in a cookie which must be sent by the client on future requests and, in forms, a hidden value which must be submitted back with the form.