Release notes Django 2.2.8 release notes
Fixed a data loss possibility in the select_for_update(). When using 'self' in the of argument with multi-table inheritance, a parent model was locked instead of the queryset’s model (#30953).
705 sections in Django 5.1 Search all versions →
Release notes Django 2.2.8 release notes
Fixed a data loss possibility in the select_for_update(). When using 'self' in the of argument with multi-table inheritance, a parent model was locked instead of the queryset’s model (#30953).
Release notes Django 3.0 release notes Backwards incompatible changes in 3.0
Attempts to use a new Model instance to update an existing row will result in an IntegrityError. In order to update an existing model for a specific primary key value, use the update_or_create() method or QuerySet.filter(pk=…).update(…) instead. For example:
Release notes Django 3.0 release notes
The field_name keyword argument of QuerySet.earliest() and latest() is removed. See Features deprecated in 2.1 for details on these changes, including how to remove usage of these features. The ForceRHR GIS function is removed. django.utils.http.cookie_date() is removed.
Release notes Django 3.0.1 release notes
Reallowed, following a regression in Django 3.0, Window expressions to be used in conditions outside of queryset filters, e.g. in When conditions (#31060). Fixed a data loss possibility in SplitArrayField.
Release notes Django 3.1.1 release notes
Reverted a deprecation in Django 3.1 that caused a crash when passing deprecated keyword arguments to a queryset in TemplateView.get_context_data() (#31877). Enforced thread sensitivity of the MiddlewareMixin.process_request() and process_response() hooks when in an async context (#31905).
Release notes Django 3.1.4 release notes
Fixed a regression in Django 3.1 that caused suppressing connection errors when JSONField is used on SQLite (#32224). Fixed a crash on SQLite, when QuerySet.values()/values_list() contained key transforms for JSONField returning non-string primitive values (#32203).
Release notes Django 3.2 release notes Features deprecated in 3.2
See What’s new in Django 3.2 for more details. Automatically calling repr() on a queryset in TransactionTestCase.assertQuerysetEqual(), when compared to string values, is deprecated. If you need the previous behavior, explicitly set transform to repr.
Release notes Django 3.2.1 release notes
Fixed a regression in Django 3.2 that caused a crash of QuerySet.values()/values_list() after QuerySet.union(), intersection(), and difference() when it was ordered by an unannotated field (#32627).
Release notes Django 4.0 release notes Features deprecated in 4.0
Unsupported operations on a sliced queryset now raise TypeError instead of AssertionError. The undocumented django.test.runner.reorder_suite() function is renamed to reorder_tests(). It now accepts an iterable of tests rather than a test suite, and returns an iterator of tests.
Release notes Django 4.0 release notes
Support for passing raw column aliases to QuerySet.order_by() is removed. The NullBooleanField model field is removed, except for support in historical migrations. django.conf.urls.url() is removed. The django.contrib.postgres.fields.JSONField model field is removed, except for support in historical migrations.
Release notes Django 4.0.2 release notes
Fixed a bug in Django 4.0 that caused a crash of QuerySet.aggregate() after annotate() on an aggregate function with a default (#33468).
Release notes Django 4.1 release notes What’s new in Django 4.1Minor features
after database server restart. QuerySet.bulk_create() now supports updating fields when a row insertion fails uniqueness constraints. This is supported on MariaDB, MySQL, PostgreSQL, and SQLite 3.24+. QuerySet.iterator() now supports prefetching related objects as long as the chunk_size argument is provided.
Release notes Django 4.1 release notes
The default_app_config application configuration variable is removed. TransactionTestCase.assertQuerysetEqual() no longer calls repr() on a queryset when compared to string values. The django.core.cache.backends.memcached.MemcachedCache backend is removed. Support for the pre-Django 3.2 format of messages used by django.contrib.messages.storage.cookie.CookieStorage is removed.
Release notes Django 4.1.4 release notes
Fixed a bug in Django 4.1 that caused a crash of QuerySet.bulk_create() with "pk" in unique_fields (#34177). Fixed a bug in Django 4.1 that caused a crash of QuerySet.bulk_create() on fields with db_column (#34171).
Release notes Django 4.2 release notes What’s new in Django 4.2Minor features
The new trigram_strict_word_similar lookup, and the TrigramStrictWordSimilarity() and TrigramStrictWordDistance() expressions allow using trigram strict word similarity. The arrayfield.overlap lookup now supports QuerySet.values() and values_list() as a right-hand side.
Release notes Django 4.2.2 release notes
Fixed a regression in Django 4.2 that caused a crash of QuerySet.defer() when passing a ManyToManyField or GenericForeignKey reference. While doing so is a no-op, it was allowed in older version (#34570).
Release notes Django 4.2.5 release notes
Fixed a regression in Django 4.2 that caused a crash of a queryset when filtering against deeply nested OuterRef() annotations (#34803).
Release notes Django 5.0 release notes
Support for pytz timezones is removed. The is_dst argument is removed from: QuerySet.datetimes() django.utils.timezone.make_aware() django.db.models.functions.Trunc() django.db.models.functions.TruncSecond() django.db.models.functions.TruncMinute() django.db.models.functions.TruncHour() django.db.models.functions.TruncDay() django.db.models.functions.TruncWeek() django.db.models.functions.TruncMonth() django.db.models.functions.TruncQuarter() django.db.models.functions.TruncYear() The django.contrib.gis.admin.GeoModelAdmin and OSMGeoAdmin classes are removed. The undocumented BaseForm._html_output() method is removed.
Release notes Django 5.0.2 release notes
Fixed a regression in Django 5.0 that caused a crash of FilteredRelation() with querysets as right-hand sides (#35135). FilteredRelation() now raises a ValueError on querysets as right-hand sides.
Release notes Django 5.0.3 release notes
Fixed a regression in Django 5.0 that caused a crash when reloading a test database and a base queryset for a base manager used prefetch_related() (#35238).