Release notes
Django 2.0 release notes
Backwards incompatible changes in 2.0
If you want to preserve the 30 character limit for last names, use a custom form: If you wish to keep this restriction in the admin when editing users, set UserAdmin.form to use this form:
Release notes
Django 2.1 release notes
What’s new in Django 2.1Minor features
The new ModelAdmin.get_deleted_objects() method allows customizing the deletion process of the delete view and the “delete selected” action. The actions.html, change_list_results.html, date_hierarchy.html, pagination.html, prepopulated_fields_js.html, search_form.html, and submit_line.html templates can now be overridden per app or per model (besides overridden globally).
Release notes
Django 2.1 release notes
Features deprecated in 2.1
Support for SQLite < 3.7.15 is removed. The date format of Set-Cookie’s Expires directive is changed to follow RFC 7231 Section 7.1.1.1 instead of Netscape’s cookie standard. Hyphens present in dates like Tue, 25-Dec-2018 22:26:13 GMT are removed.
Release notes
Django 2.1.1 release notes
Fixed translation failure of DurationField’s “overflow” error message (#29623). Fixed a regression where the admin change form crashed if the user doesn’t have the ‘add’ permission to a model that uses TabularInline (#29637).
Release notes
Django 2.1.15 release notes
… parent model but edit permissions to the inline model, would display a read-only view of the parent model but editable forms for the inline. Submitting these forms would not allow direct edits to the parent model, but would trigger the …
Release notes
Django 2.1.2 release notes
Fixed a crash when a user with the view (but not change) permission made a POST request to an admin user change form (#29809).
Release notes
Django 2.2.8 release notes
… parent model but edit permissions to the inline model, would display a read-only view of the parent model but editable forms for the inline. Submitting these forms would not allow direct edits to the parent model, but would trigger the …
Release notes
Django 3.1 release notes
What’s new in Django 3.1
Django now includes models.JSONField and forms.JSONField that can be used on all supported database backends. Both fields support the use of custom JSON encoders and decoders.
Release notes
Django 3.1 release notes
Backwards incompatible changes in 3.1
If you want to preserve the 30 character limit for first names, use a custom form: If you wish to keep this restriction in the admin when editing users, set UserAdmin.form to use this form:
Release notes
Django 3.2 release notes
What’s new in Django 3.2Minor features
The new absolute_max argument for formset_factory(), inlineformset_factory(), and modelformset_factory() allows customizing the maximum number of forms that can be instantiated when supplying POST data. See Limiting the maximum number of instantiated forms for more details.
Release notes
Django 4.1 release notes
What’s new in Django 4.1Minor features
The admin history view is now paginated. Related widget wrappers now have a link to object’s change form. The AdminSite.get_app_list() method now allows changing the order of apps and models on the admin index page.
Release notes
Django 4.1 release notes
What’s new in Django 4.1Minor features
A nested atomic block marked as durable in django.test.TestCase now raises a RuntimeError, the same as outside of tests. SimpleTestCase.assertFormError() and assertFormsetError() now support passing a form/formset object directly.
Release notes
Django 5.1 release notes
What’s new in Django 5.1Minor features
The new AdminUserCreationForm and the existing AdminPasswordChangeForm now support disabling password-based authentication by setting an unusable password on form save. This is now available in the admin when visiting the user creation and password change pages.
5.1
5.2
6.0
dev
Release notes
Django 5.2 release notes
What’s new in Django 5.2
Django now supports specifying the following attributes to customize form rendering: BaseRenderer.bound_field_class at the project level, Form.bound_field_class at the form level, and Field.bound_field_class at the field level.
5.2
6.0
dev
Release notes
Django 5.2.2 release notes
Fixed a regression in Django 5.2 where admin’s filter_horizontal buttons lacked type="button", causing them to intercept form submission when pressing the Enter key (#36423).
5.2
6.0
dev
Release notes
Django 6.0 release notes
The DjangoDivFormRenderer and Jinja2DivFormRenderer transitional form renderers are removed. BaseDatabaseOperations.field_cast_sql() is removed. request is required in the signature of ModelAdmin.lookup_allowed() subclasses. Support for calling format_html() without passing args or kwargs is removed.
6.0
dev
Release notes
Django 6.0.1 release notes
Fixed a visual regression in Django 6.0 for admin form fields grouped under a <fieldset> in Safari (#36807). Fixed a crash in Django 6.0 caused by infinite recursion when calling repr() on an unevaluated django.utils.csp.LazyNonce instance (#36810).
6.0
dev
Release notes
Django 5.2.17 release notes
A maximum depth of 198 GEOMETRYCOLLECTIONs is now enforced for the well-known text (WKT) format, and a maximum number of 198 GEOMETRYCOLLECTIONs in total (breadth and depth) is enforced for well-known binary (WKB).
5.2
6.0
dev
Release notes
Django 6.0.8 release notes
A maximum depth of 198 GEOMETRYCOLLECTIONs is now enforced for the well-known text (WKT) format, and a maximum number of 198 GEOMETRYCOLLECTIONs in total (breadth and depth) is enforced for well-known binary (WKB).
6.0
dev
Release notes
Django 6.1.1 release notes
Fixed a regression in Django 6.1 where HTML-safe strings, such as those created with mark_safe(), used as form media assets were treated as asset paths rather than being rendered verbatim (#37262).
dev