| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2025-11-25 | Added stub release notes and release date for 5.2.9, 5.1.15, and 4.2.27. | Natalia | |
| 2025-11-25 | Fixed #36756 -- Dropped support for GDAL 3.1 and 3.2. | Mariusz Felisiak | |
| 2025-11-25 | Fixed #35783 -- Added NumDimensions GIS database function and ↵ | David Smith | |
| __num_dimensions lookup. | |||
| 2025-11-24 | Fixed #36738 -- Confirmed support for GDAL 3.12. | Varun Kasyap Pentamaraju | |
| Thanks David Smith for reviews. | |||
| 2025-11-24 | Fixed #36751 -- Fixed empty filtered aggregation crash over annotated queryset. | Simon Charette | |
| Regression in b8e5a8a9a2a767f584cbe89a878a42363706f939. Refs #36404. The replace_expressions method was innapropriately dealing with falsey but not None source expressions causing them to also be potentially evaluated when __bool__ was invoked (e.g. QuerySet.__bool__ evaluates the queryset). The changes introduced in b8e5a8a9a2, which were to deal with a similar issue, surfaced the problem as aggregation over an annotated queryset requires an inlining (or pushdown) of aggregate references which is achieved through replace_expressions. In cases where an empty Q object was provided as an aggregate filter, such as when the admin facetting feature was used as reported, it would wrongly be turned into None, instead of an empty WhereNode, causing a crash at aggregate filter compilation. Note that the crash signature differed depending on whether or not the backend natively supports aggregate filtering (supports_aggregate_filter_clause) as the fallback, which makes use Case / When expressions, would result in a TypeError instead of a NoneType AttributeError. Thanks Rafael Urben for the report, Antoliny and Youngkwang Yang for the triage. | |||
| 2025-11-23 | Refs #21961 -- Added DatabaseFeatures.supports_on_delete_db_(cascade/null) ↵ | Tim Graham | |
| feature flags. Needed on MongoDB. Co-Authored-By: Mariusz Felisiak <felisiak.mariusz@gmail.com> | |||
| 2025-11-22 | Removed outdated build guidance in release docs. | Jacob Walls | |
| Follow-up to 4686541691dbe986f58ac87630c3b7a04db4ff93. | |||
| 2025-11-22 | Fixed #35774 -- Dropped support for GEOS 3.8. | David Smith | |
| GEOS 3.8 (released Oct-2019) will be more than 5 years old when Django 6.1 is released (Aug-2026). | |||
| 2025-11-21 | Fixed #36741 -- Linked to custom save()/delete() caveats in ↵ | VIZZARD-X | |
| docs/ref/models/querysets.txt. | |||
| 2025-11-21 | Fixed #36620 -- Added coverage workflow to summarize coverage in pull requests. | saurabh | |
| Part of GSoC 2025. Thanks Lily for mentorship, and Sarah Boyce and Jacob Walls for reviews. | |||
| 2025-11-21 | Added GitHub Actions linter (zizmor). | Jacob Walls | |
| At the direction of the Security Team. Thanks Markus Holtermann, Jake Howard, and Natalia Bidart for reviews. | |||
| 2025-11-21 | Fixed #36718 -- Added JSONField support for negative array indexing on ↵ | Clifford Gama | |
| Oracle 21c+. | |||
| 2025-11-20 | Added missing ticket links in docs/releases/5.2.8.txt. | Jacob Walls | |
| 2025-11-20 | Fixed #36748 -- Filtered non-standard placeholders from UNNEST queries. | Chris Wesseling | |
| 2025-11-20 | Fixed #36734 -- Clarified the behavior of View.http_method_not_allowed. | Zubair Hassan | |
| 2025-11-20 | Fixed #36321 -- Defaulted suggest_on_error=True in management commands. | kihuni | |
| Python 3.15 defaults suggest_on_error=True, but the feature is available from 3.14, so this change opts in earlier. This change can be reverted when Python 3.15 is the minimum supported version. | |||
| 2025-11-20 | Ensured that Sitemap.items is described as a method in ↵ | nessita | |
| docs/ref/contrib/sitemaps.txt. | |||
| 2025-11-20 | Fixed typo in docs/howto/deployment/wsgi/apache-auth.txt. | Jacob Walls | |
| 2025-11-20 | Refs #36663, #36739 -- Added release note for running checks against all ↵ | Storm B. Heg | |
| databases. | |||
| 2025-11-19 | Fixed #26609 -- Extended fields.E004 system check for unordered iterables. | Mariusz Felisiak | |
| Co-authored-by: Karl Wooster <karl.wooster@alleima.com> | |||
| 2025-11-18 | Fixed #36733 -- Escaped attributes in Stylesheet.__str__(). | varunkasyap | |
| Thanks Mustafa Barakat for the report, Baptiste Mispelon for the triage, and Jake Howard for the review. | |||
| 2025-11-17 | Fixed #26379 -- Doc'd that the first filter() on a many-to-many relation is ↵ | Annabelle Wiegart | |
| sticky. | |||
| 2025-11-17 | Fixed #24920 -- Added support for DecimalField with no precision. | Mariusz Felisiak | |
| Thanks Lily for the review. | |||
| 2025-11-14 | Refs #24928 -- Added introspection support for PostgreSQL HStoreField. | Mariusz Felisiak | |
| 2025-11-13 | Fixed #36686 -- Clarified Meta.ordering is ignored in GROUP BY queries. | Kasyap Pentamaraju | |
| 2025-11-12 | Fixed #36717 -- Redirect authenticated users on admin login view to next URL. | Benedict Etzel | |
| Co-authored-by: Natalia <124304+nessita@users.noreply.github.com> | |||
| 2025-11-10 | Fixed typo in docs/ref/databases.txt. | Clifford Gama | |
| 2025-11-10 | Clarified "get_db_prep_value" default result in docs/ref/models/fields.txt. | Clifford Gama | |
| 2025-11-10 | Clarified EmailValidator docs to specify it validates an email address. | Hong Xu | |
| Updated the EmailValidator docs in docs/ref/validators.txt to explicitly state that it validates an email address, to avoid confusion with validating email message content. | |||
| 2025-11-07 | Fixed #36705 -- Avoided string concatenation in utils. | Kasyap Pentamaraju | |
| Repeated string concatenation performs poorly on PyPy. Thanks Seokchan Yoon for the report. | |||
| 2025-11-07 | Fixed #36315 -- Used TaskGroup instead of asyncio.gather(). | Thomas Grainger | |
| 2025-11-06 | Removed community packages admonition from settings docs. | Tim Schilling | |
| 2025-11-06 | Added community package email backends mention to docs. | Tim Schilling | |
| Co-authored-by: Clifford Gama <cliffygamy@gmail.com> | |||
| 2025-11-05 | Added CVE-2025-64458 and CVE-2025-64459 to security archive. | Natalia | |
| 2025-11-05 | Added stub release notes for 5.2.9. | Natalia | |
| 2025-11-05 | Fixed CVE-2025-64459 -- Prevented SQL injections in Q/QuerySet via the ↵ | Jacob Walls | |
| _connector kwarg. Thanks cyberstan for the report, Sarah Boyce, Adam Johnson, Simon Charette, and Jake Howard for the reviews. | |||
| 2025-11-05 | Fixed CVE-2025-64458 -- Mitigated potential DoS in ↵ | Jacob Walls | |
| HttpResponseRedirect/HttpResponsePermanentRedirect on Windows. Thanks Seokchan Yoon for the report, Markus Holtermann for the triage, and Jake Howard for the review. Follow-up to CVE-2025-27556 and 39e2297210d9d2938c75fc911d45f0e863dc4821. | |||
| 2025-11-04 | Fixed #36704 -- Fixed system check error for proxy model with a composite pk. | Hal Blackburn | |
| Proxy models subclassing a model with a CompositePrimaryKey were incorrectly reporting check errors because the check that requires only local fields to be used in a composite pk was evaluated against the proxy subclass, which has no fields. To fix this, composite pk field checks are not evaluated against proxy subclasses, as none of the checks are applicable to proxy subclasses. This also has the benefit of not double-reporting real check errors from an invalid superclass pk. Thanks Clifford Gama for the review. | |||
| 2025-11-04 | Updated ticket triage process diagram and contributing docs. | ontowhee | |
| 2025-10-31 | Fixed #36661 -- Added introspection of database-level delete options. | Mariusz Felisiak | |
| 2025-10-30 | Added community package storage backends mention to docs. | Tim Schilling | |
| Co-authored-by: Jacob Walls <jacobtylerwalls@gmail.com> | |||
| 2025-10-29 | Refs #35381 -- Clarified key and index lookup handling of None in exact ↵ | Clifford Gama | |
| lookup docs. | |||
| 2025-10-29 | Refs #35381 -- Deprecated using None in JSONExact rhs to mean JSON null. | Clifford Gama | |
| Key and index lookups are exempt from the deprecation. Co-authored-by: Jacob Walls <jacobtylerwalls@gmail.com> | |||
| 2025-10-29 | Refs #35381 -- Delegated ArrayField element prepping to ↵ | Clifford Gama | |
| base_field.get_db_prep_save. Previously, ArrayField always used base_field.get_db_prep_value when saving, which could differ from how base_field prepares data for save. This change overrides ArrayField.get_db_prep_save to delegate to the base_field's get_db_prep_save, ensuring elements like None in JSONField arrays are saved correctly as SQL NULL instead of JSON null. | |||
| 2025-10-29 | Fixed #35381 -- Added JSONNull() expression. | Clifford Gama | |
| Thanks Jacob Walls for the review. | |||
| 2025-10-29 | Added stub release notes and release date for 5.2.8, 5.1.14, and 4.2.26. | Jacob Walls | |
| 2025-10-29 | Fixed #36329 -- Removed non-code custom link text when cross-referencing ↵ | Clifford Gama | |
| Python objects. Thanks Bruno Alla, Sarah Boyce, and Jacob Walls for reviews. Co-authored-by: Sarah Boyce <42296566+sarahboyce@users.noreply.github.com> | |||
| 2025-10-27 | Fixed #36681 -- Removed English pluralization bias from example in ↵ | Kasyap Pentamaraju | |
| docs/topics/i18n/translation.txt. | |||
| 2025-10-27 | Fixed #36624 -- Dropped support for MySQL < 8.4. | Mariusz Felisiak | |
| 2025-10-23 | Fixed #35095 -- Clarified Swiss number formatting in ↵ | Annabelle Wiegart | |
| docs/topics/i18n/formatting.txt. Co-authored-by: Ahmed Nassar <a.moh.nassar00@gmail.com> | |||
