Release notes
Django 4.1 release notes
What’s new in Django 4.1
QuerySet now provides an asynchronous interface for all data access operations. These are named as-per the existing synchronous operations but with an a prefix, for example acreate(), aget(), and so on.
Release notes
Django 1.10 release notes
Features deprecated in 1.10
The repr() of a QuerySet is wrapped in <QuerySet > to disambiguate it from a plain list when debugging. utils.version.get_version() returns PEP 440 compliant release candidate versions (e.g. ‘1.10rc1’ instead of ‘1.10c1’).
Release notes
Django 1.11.16 release notes
Fixed a race condition in QuerySet.update_or_create() that could result in data loss (#29499).
Release notes
Django 1.5.4 release notes
Fixed a bug that prevented a QuerySet that uses prefetch_related() from being pickled and unpickled more than once (the second pickling attempt raised an exception) (#21102).
Release notes
Django 2.0.3 release notes
Fixed a regression that caused sliced QuerySet.distinct().order_by() followed by count() to crash (#29108). Prioritized the datetime and time input formats without %f for the Thai locale to fix the admin time picker widget displaying “undefined” (#29109).
Release notes
Django 2.0.9 release notes
Fixed a race condition in QuerySet.update_or_create() that could result in data loss (#29499).
Release notes
Django 2.1.1 release notes
Fixed a race condition in QuerySet.update_or_create() that could result in data loss (#29499). Fixed a regression where QueryDict.urlencode() crashed if the dictionary contains a non-string value (#29627).
Release notes
Django 2.2 release notes
What’s new in Django 2.2Minor features
Added result streaming for QuerySet.iterator() on SQLite.
Release notes
Django 3.2 release notes
What’s new in Django 3.2Minor features
The new no_key parameter for QuerySet.select_for_update(), supported on PostgreSQL, allows acquiring weaker locks that don’t block the creation of rows that reference locked rows through a foreign key. When() expression now allows using the condition argument with lookups.
Release notes
Django 5.0 release notes
What’s new in Django 5.0Minor features
The new create_defaults argument of QuerySet.update_or_create() and QuerySet.aupdate_or_create() methods allows specifying a different field values for the create operation. The new violation_error_code attribute of BaseConstraint, CheckConstraint, and UniqueConstraint allows customizing the code of ValidationError raised during model validation.
Release notes
Django 1.11 release notes
What’s new in Django 1.11Minor features
Added the skip_locked argument to QuerySet.select_for_update() on PostgreSQL 9.5+ and Oracle to execute queries with FOR UPDATE SKIP LOCKED. Added the TEST['TEMPLATE'] setting to let PostgreSQL users specify a template for creating the test database.
Release notes
Django 1.11 release notes
What’s new in Django 1.11Minor features
Added support for callable values in the defaults argument of QuerySet.update_or_create() and get_or_create(). ImageField now has a default validate_image_file_extension validator. (This validator moved to the form field in Django 1.11.2.) Added support for time truncation to Trunc functions.
Release notes
Django 1.11 release notes
Backwards incompatible changes in 1.11
The change to make QuerySet.iterator() use server-side cursors on PostgreSQL prevents running Django with PgBouncer in transaction pooling mode. To reallow that, use the DISABLE_SERVER_SIDE_CURSORS setting (added in Django 1.11.1) in DATABASES.
Release notes
Django 1.4 release notes
What’s new in Django 1.4
Django 1.4 includes a QuerySet.select_for_update() method, which generates a SELECT ... FOR UPDATE SQL query. This will lock rows until the end of the transaction, meaning other transactions cannot modify or delete rows matched by a FOR UPDATE query.
Release notes
Django 1.5.2 release notes
Fixed a crash with prefetch_related() (#19607) as well as some pickle regressions with prefetch_related (#20157 and #20257). Fixed a regression in django.contrib.gis in the Google Map output on Python 3 (#20773).
Release notes
Django 2.2.4 release notes
Fixed a regression in Django 2.2 when ordering a QuerySet.union(), intersection(), or difference() by a field type present more than once results in the wrong ordering being used (#30628).
Release notes
Django 5.0 release notes
What’s new in Django 5.0Minor features
QuerySet.prefetch_related() now supports prefetching GenericForeignKey with non-homogeneous set of results.
Release notes
Django 1.7.11 release notes
Fixed a data loss possibility with Prefetch if to_attr is set to a ManyToManyField (#25693).
Release notes
Django 1.11.1 release notes
The change in Django 1.11 to make QuerySet.iterator() use server-side cursors on PostgreSQL prevents running Django with PgBouncer in transaction pooling mode. To reallow that, use the DISABLE_SERVER_SIDE_CURSORS setting in DATABASES. See Transaction pooling and server-side cursors for more discussion.
Release notes
Django 1.11.25 release notes
Fixed a crash when filtering with a Subquery() annotation of a queryset containing django.contrib.postgres.fields.JSONField or HStoreField (#30769).