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 1.10 release notes
django.template.resolve_variable is removed. The following private APIs are removed from django.db.models.options.Options (Model._meta): get_field_by_name() get_all_field_names() get_fields_with_model() get_concrete_fields_with_model() get_m2m_with_model() get_all_related_objects() get_all_related_objects_with_model() get_all_related_many_to_many_objects() get_all_related_m2m_objects_with_model() The error_message argument of django.forms.RegexField is removed. The unordered_list filter no longer supports old style lists.
Release notes
Django 1.7 release notes
What’s new in Django 1.7Minor features
You can specify a descending ordering for a ModelAdmin.list_display value by prefixing the admin_order_field value with a hyphen. The ModelAdmin.get_changeform_initial_data() method may be overridden to define custom behavior for setting initial change form data.
Release notes
Django 1.8 release notes
Backwards incompatible changes in 1.8
This behavior could affect performance on IE7 and later. It was removed. URLField.to_python no longer adds a trailing slash to pathless URLs. The length template filter now returns 0 for an undefined variable, rather than an empty string.
Release notes
Django 1.9 release notes
What’s new in Django 1.9Minor features
Added jQuery events when an inline form is added or removed on the change form page. The time picker widget includes a ‘6 p.m’ option for consistency of having predefined options every 6 hours.
Release notes
Django 3.1 release notes
What’s new in Django 3.1Minor features
django.forms.DateTimeField now accepts dates in a subset of ISO 8601 datetime formats, including optional timezone, e.g. 2019-10-10T06:47, 2019-10-10T06:47:23+04:00, or 2019-10-10T06:47:23Z. The timezone will always be retained if provided, with timezone-aware datetimes being returned even when USE_TZ is False.
Release notes
Django 3.1.3 release notes
Fixed displaying Unicode characters in forms.JSONField and read-only models.JSONField values in the admin (#32080). Fixed a regression in Django 3.1 that caused a crash of ArrayAgg and StringAgg with ordering on key transforms for JSONField (#32096).
Release notes
Django 3.2 release notes
Features deprecated in 3.2
makemessages command no longer processes invalid locales specified using makemessages --locale option, when they contain hyphens ('-'). The django.contrib.auth.forms.ReadOnlyPasswordHashField form field is now disabled by default. Therefore UserChangeForm.clean_password() is no longer required to return the initial value.
Release notes
Django 4.0 release notes
Features deprecated in 4.0
Use ModelAdmin and GISModelAdmin instead. Since form rendering now uses the template engine, the undocumented BaseForm._html_output() helper method is deprecated. The ability to return a str from ErrorList and ErrorDict is deprecated. It is expected these methods return a SafeString.