Release notes
Django 1.5 release notes
Backwards incompatible changes in 1.5
django.forms.ModelMultipleChoiceField now returns an empty QuerySet as the empty value instead of an empty list. int_to_base36() properly raises a TypeError instead of ValueError for non-integer inputs. The slugify template filter is now available as a standard Python function at django.utils.text.slugify().
4.2
5.0
5.1
5.2
6.0
Release notes
Django 1.5 release notes
Features deprecated in 1.5
The depth keyword argument in select_related() has been deprecated. You should use field names instead.
4.2
5.0
5.1
5.2
6.0
Release notes
Django 1.7 release notes
What’s new in Django 1.7
The new Prefetch object allows customizing prefetch operations. You can specify the QuerySet used to traverse a given relation or customize the storage location of prefetch results.
4.2
5.0
5.1
5.2
6.0
Release notes
Django 1.8.6 release notes
Fixed a regression causing ModelChoiceField to ignore prefetch_related() on its queryset (#25496). Allowed “mode=memory” in SQLite test database name if supported (#12118). Fixed system check crash on ForeignKey to abstract model (#25503).
4.2
5.0
5.1
5.2
6.0
Release notes
Django 2.0.4 release notes
Fixed a crash when filtering with an Exists() annotation of a queryset containing a single field (#29195). Fixed admin autocomplete widget’s translations for zh-hans and zh-hant languages (#29213). Corrected admin’s autocomplete widget to add a space after custom classes (#29221).
4.2
5.0
5.1
5.2
6.0
Release notes
Django 2.1.13 release notes
Fixed a crash when filtering with a Subquery() annotation of a queryset containing django.contrib.postgres.fields.JSONField or HStoreField (#30769).
4.2
5.0
5.1
5.2
6.0
Release notes
Django 2.1.15 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).
4.2
5.0
5.1
5.2
6.0
Release notes
Django 2.2.11 release notes
Fixed a data loss possibility in the select_for_update(). When using related fields or parent link fields with Multi-table inheritance in the of argument, the corresponding models were not locked (#31246).
4.2
5.0
5.1
5.2
6.0
Release notes
Django 2.2.16 release notes
Fixed a data loss possibility in the select_for_update(). When using related fields pointing to a proxy model in the of argument, the corresponding model was not locked (#31866).
4.2
5.0
5.1
5.2
6.0
Release notes
Django 3.0.10 release notes
Fixed a data loss possibility in the select_for_update(). When using related fields pointing to a proxy model in the of argument, the corresponding model was not locked (#31866).
4.2
5.0
5.1
5.2
6.0
Release notes
Django 3.2.5 release notes
Fixed a regression in Django 3.2 that caused a crash of QuerySet.values_list(…, named=True) after prefetch_related() (#32812). Fixed a bug in Django 3.2 that caused a migration crash on MySQL 8.0.13+ when altering BinaryField, JSONField, or TextField to non-nullable (#32503).
4.2
5.0
5.1
5.2
6.0
Release notes
Django 4.2.1 release notes
Fixed a regression in Django 4.2 that caused a crash of QuerySet.defer() when deferring fields by attribute names (#34458). Fixed a regression in Django 4.2 that caused a crash of SearchVector function with % characters (#34459).
4.2
5.0
5.1
5.2
6.0
Release notes
Django 4.2.24 release notes
FilteredRelation was subject to SQL injection in column aliases, using a suitably crafted dictionary, with dictionary expansion, as the **kwargs passed to QuerySet.annotate() or QuerySet.alias().
4.2
5.1
5.2
6.0
Release notes
Django 4.2.27 release notes
FilteredRelation was subject to SQL injection in column aliases, using a suitably crafted dictionary, with dictionary expansion, as the **kwargs passed to QuerySet.annotate() or QuerySet.alias() on PostgreSQL.
4.2
5.1
5.2
6.0
Release notes
Django 4.2.28 release notes
FilteredRelation was subject to SQL injection in column aliases via control characters, using a suitably crafted dictionary, with dictionary expansion, as the **kwargs passed to QuerySet.annotate(), aggregate(), extra(), values(), values_list(), and alias().
4.2
5.2
6.0
Release notes
Django 4.2.4 release notes
Fixed a regression in Django 4.2 that caused a crash of QuerySet.aggregate() with aggregates referencing window functions (#34717). Fixed a regression in Django 4.2 that caused a crash when grouping by a reference in a subquery (#34748).
4.2
5.0
5.1
5.2
6.0
Release notes
Django 4.2.7 release notes
Fixed a regression in Django 4.2 that caused a crash of QuerySet.aggregate() with aggregates referencing expressions containing subqueries (#34798). Restored, following a regression in Django 4.2, creating varchar/text_pattern_ops indexes on CharField and TextField with deterministic collations on PostgreSQL (#34932).
4.2
5.0
5.1
5.2
6.0
Release notes
Django 5.1.12 release notes
FilteredRelation was subject to SQL injection in column aliases, using a suitably crafted dictionary, with dictionary expansion, as the **kwargs passed to QuerySet.annotate() or QuerySet.alias().
5.1
5.2
6.0
Release notes
Django 5.1.15 release notes
FilteredRelation was subject to SQL injection in column aliases, using a suitably crafted dictionary, with dictionary expansion, as the **kwargs passed to QuerySet.annotate() or QuerySet.alias() on PostgreSQL.
5.1
5.2
6.0
Release notes
Django 5.2.11 release notes
FilteredRelation was subject to SQL injection in column aliases via control characters, using a suitably crafted dictionary, with dictionary expansion, as the **kwargs passed to QuerySet.annotate(), aggregate(), extra(), values(), values_list(), and alias().
5.2
6.0