Release notes
Django 4.2 release notes
What’s new in Django 4.2Minor features
UserCreationForm now saves many-to-many form fields for a custom user model. The new BaseUserCreationForm is now the recommended base class for customizing the user creation form.
Release notes
Django 5.0 release notes
What’s new in Django 5.0
Field.choices (for model fields) and ChoiceField.choices (for form fields) allow for more flexibility when declaring their values.
Release notes
Django 5.0 release notes
What’s new in Django 5.0Minor features
In order to improve accessibility, the following changes are made: Form fields now include the aria-describedby HTML attribute to enable screen readers to associate form fields with their help text. Invalid form fields now include the aria-invalid="true" HTML attribute.
Release notes
Django 5.1 release notes
What’s new in Django 5.1Minor features
In order to improve accessibility and enable screen readers to associate fieldsets with their help text, the form fieldset now includes the aria-describedby HTML attribute.
Release notes
Django 6.0 release notes
What’s new in Django 6.0Minor features
The new AdminSite.password_change_form attribute allows customizing the form used in the admin site password change view. Message levels messages.DEBUG and messages.INFO now have distinct icons and CSS styling. Previously, both levels shared the same appearance as messages.SUCCESS.
Release notes
Django 6.0.2 release notes
Fixed a visual regression in Django 6.0 for admin form fields grouped under a <fieldset> aligned horizontally (#36788).
Release notes
Archive of security issues
Issues under Django’s security process
Potential account hijack via password reset form. Full description
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.