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.
Release notes
Django 4.1 release notes
Features deprecated in 4.1
Move the generated operations into the state_operations argument of SeparateDatabaseAndState. For example: The undocumented ability to pass errors=None to SimpleTestCase.assertFormError() and assertFormsetError() is deprecated. Use errors=[] instead. django.contrib.sessions.serializers.PickleSerializer is deprecated due to the risk of remote code execution.
Release notes
Django 5.0 release notes
Features deprecated in 5.0
The instance argument of the undocumented BaseModelFormSet.save_existing() method is renamed to obj. The undocumented django.contrib.admin.helpers.checkbox is removed. Integer fields are now validated as 64-bit integers on SQLite to match the behavior of sqlite3.
Release notes
Django 5.0 release notes
The undocumented BaseForm._html_output() method is removed. The ability to return a str, rather than a SafeString, when rendering an ErrorDict and ErrorList is removed.