summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2026-04-23Refs #12090 -- Documented parameters for contrib.admin.decorators.action().Sarah Boyce
2026-04-23Refs #35943 -- Fixed admin_views.test_related_object_lookups crash when ↵Mariusz Felisiak
selenium is not installed.
2026-04-22Fixed #10919 -- Added delete_confirmation_max_display to ModelAdmin.Rodrigo Vieira
The new ModelAdmin.delete_confirmation_max_display attribute allows limiting the number of related objects shown on the delete confirmation page. When the limit is reached, a "…and N more objects." message is shown. The feature relies on a new truncated_unordered_list template filter added to django.contrib.admin.templatetags.admin_filters. Thanks Jacob Tyler Walls for the review and guidance, Tobias McNulty for the report, and terminator14 for the solution suggested.
2026-04-22Refs #10919 -- Refactored walk_items as module-level _walk_items and added ↵Rodrigo Vieira
truncated_unordered_list filter.
2026-04-22Fixed #37057 -- Adjusted UniqueConstraint handling of UNKNOWN condition.Simon Charette
When we adjusted UNKNOWN handling for CheckConstraint in refs #33996 we assumed that all usage of Q.check would benefit from this approach. However while CHECK constraints enforcement do ignore conditions involving NULL that resolve to UNKNOWN it's not the case for other type of constraints such as UNIQUE ones. Given how UNKNOWN should be treated depends on the callers context it appears that a better strategy for COALESCE wrapping is to force them to apply it if necessary. Thanks Drew Shapiro for the report.
2026-04-22Fixed #35870 -- Made blank choice label in forms more accessible.Annabelle Wiegart
Added new constant django.db.models.fields.BLANK_CHOICE_LABEL for an accessible and translatable blank choice label in forms. Deprecated django.db.models.fields.BLANK_CHOICE_DASH constant. Added the immediately deprecated transitional setting USE_BLANK_CHOICE_DASH. Co-Authored-By: Marijke Luttekes <mail@marijkeluttekes.dev>
2026-04-22Fixed #36991 -- Raised BadRequest for invalid encodings in Content-Type headers.Dinesh
2026-04-22Fixed #35943 -- Replaced unload event listener with pagehide.Amar
Co-authored-by: Peter van der Does <peter@oneilinteractive.com> Co-authored-by: Jacob Walls <jacobtylerwalls@gmail.com>
2026-04-22Fixed #15759 -- Excluded fields by per-object permissions for ↵Artyom Kotovskiy
ModelAdmin.list_editable. Instead of going over all objects in a queryset and filtering by user permissions, added skipping while saving the formset so there is no need to refetch objects again.
2026-04-22Refs #15759 -- Factored out _save_formset() in ModelAdmin.Artyom Kotovskiy
2026-04-20Refs #36005 -- Made OperationCategory subclass StrEnum.Clifford Gama
2026-04-20Refs #373, #34122 -- Removed warning that ForeignObject is an internal tool.Mariusz Felisiak
ForeignObject should not be treated as an internal tool. In the past we made changes in its API with a proper deprecation, e.g. 8b1ff0da4b162e87edebd94e61f2cd153e9e159d.
2026-04-19Refs #28586 -- Added DEFAULT_FETCH_MODE module constant.Jacob Walls
This is a more attractive target for alteration than all of QuerySet.__init__().
2026-04-19Fixed #37046 -- Allowed Ready for checkin Trac status in PR checks.varunkasyap
2026-04-19Refs #35007 -- Ignored JS formatting changes in git blame.Jacob Walls
2026-04-19Formatted JavaScript files.Tom Carrick
2026-04-19Refs #35007 -- Removed eslint disable in a test.Jacob Walls
2026-04-19Fixed #35007 -- Replaced ESLint with Biome for JavaScript linting and ↵Tom Carrick
formatting.
2026-04-19Added support for nested fields to XML deserializer.Tim Graham
Needed by Django MongoDB Backend's EmbeddedModelField.
2026-04-19Updated release procedure with new CVE workflows.Jacob Walls
Now that the DSF is a CVE Numbering Authority (CNA), we manage our own CVE assignments.
2026-04-19Fixed #37048, Refs #36728 -- Added release notes for changes to ↵Anže Pečar
InclusionAdminNode and parse_bits().
2026-04-19Fixed #37047 -- Fixed crash in Query.orderby_issubset_groupby for descending ↵Anže Pečar
and random order_by strings. Run this example: ```python User.objects.values("is_staff").annotate(latest=Max("date_joined")).order_by("-latest").count() ``` You should see the following exception: ``` django.core.exceptions.FieldError: Cannot resolve keyword '-latest' into field. ``` Regression in 2ce5cb0f7a4618dfdc5f5c10e53e2e9b9543d298.
2026-04-19Removed OrderedDict representer from PyYAML serializer.Tim Graham
Added in 5bc3123479bd97dc9d8a36fa9a3421a71063d1da (refs #24558), it was obsoleted when OrderedDict usage was removed in 24b82cd201e21060fbc02117dc16d1702877a1f3 (refs #30159).
2026-04-19Fixed #37024 -- Made SITE_ID system check validation use Site._meta.pk.Tim Graham
2026-04-19Refs #36986 -- Replaced yaml's Serializer._value_from_field() time handling ↵Tim Graham
with a representer.
2026-04-19Replaced yaml serializer workaround to preserve dict order with PyYAML's ↵Tim Graham
sort_keys=False. The sort_keys parameter was added in PyYAML 5.1 (released March 2019). The workaround was added in 24b82cd201e21060fbc02117dc16d1702877a1f3 (refs #30159).
2026-04-18Refs #35007 -- Ignored CSS formatting changes in git blame.Jacob Walls
2026-04-18Fixed #37036 -- Added missing flat=True arg in DeferredAttribute.fetch_many().garybadwal
2026-04-18Formatted CSS files.Tom Carrick
2026-04-18Refs #35007 -- Added biome to lint and format CSS files.Tom Carrick
2026-04-18Fixed #37028 -- Added BitAnd(), BitOr(), and BitXor() aggregates.Mariusz Felisiak
2026-04-17Clarified that reporters shouldn't set their own tickets as "Accepted".Jonathan Biemond
2026-04-16Refs #35514 -- Cleaned up email docs.Mike Edmunds
* Indented get_connection() details into its function block. * Updated introductory paragraph to better reflect current capabilities. * Changed link in "Quick examples" to go to descriptive text rather than reference for send_mail(). * Avoided implying that send_mail() is only reliable "in most cases." * Improved description of development SMTP server. * Expanded information on third-party backends. * Moved "Email backends" introductory paragraph above API methods and expanded it to match section content.
2026-04-16Refs #35514 -- Added "Configuring email" section to email docs.Mike Edmunds
2026-04-16Refs #35514 -- Moved and renamed "Sending multiple emails" in email docs.Mike Edmunds
Moved "Sending multiple emails" from the "Email backends" section to the "Sending messages" section and renamed it to "Sending many messages efficiently" to better reflect its content. Moved the related connection manager example from the "Email backends" intro into the same section.
2026-04-16Refs #35514 -- Moved get_connection() after backends in email docs.Mike Edmunds
Moved "Obtaining an instance of an email backend" after documentation for individual backends (matching similar approach in Tasks docs).
2026-04-16Added automated quality checks for PRs as a GitHub Actions workflow.Natalia
This work adds automated PR quality checks as a GitHub Actions workflow to enforce contribution requirements consistently and reduce the manual burden on reviewers for incoming PRs. Thanks to the many reviewers providing meaningful feedback. Co-authored-by: Frank Wiles <frank@revsys.com>
2026-04-16Added DatabaseFeatures.disallowed_simple_test_case_connection_methods.Tim Graham
2026-04-15Refs #35514 -- Corrected email backends' outline levels in email docs.Mike Edmunds
Moved documentation section for each email backend to be a direct child of "Email backends" (rather than subsections of "Obtaining an instance of an email backend"). Added a section header for "Third-party backends" to surface it in the outline and separate it from "Dummy backend."
2026-04-15Refs #35514 -- Moved EmailMessage class up in email docs.Mike Edmunds
Moved the "Preventing header injection" discussion below sections on EmailMessage and related classes.
2026-04-15Refs #35514 -- Grouped sending-related features in email docs.Mike Edmunds
Introduced a top-level "Sending messages" section to group together send_mail(), send_mass_mail(), mail_admins(), mail_managers(), the EmailMessage and EmailMultiAlternatives classes, and other topics related to sending.
2026-04-15Refs #35514 -- Moved email docs examples to relevant section.Mike Edmunds
The top-level "Examples" section of docs/topics/email.txt seemed intended to illustrate the difference between send_mail() and send_mass_mail(), not to provide general examples of sending email. Moved it into the existing "send_mass_mail() vs. send_mail()" section. (There's already a "Quick examples" section at the top of the page with general examples.)
2026-04-15Fixed broken link in email docs.Mike Edmunds
2026-04-15Fixed incomplete comment in email docs.Natalia
2026-04-14Fixed #27150 -- Made base File objects truthy by default.VIZZARD-X
2026-04-14Fixed #37029 -- Corrected placement of </div> in change_list.html's ↵Tim Graham
pagination block. Bug in 3f59711581bd22ebd0f13fb040b15b69c0eee21f.
2026-04-13Removed unused code checkout step from labels.yml GitHub Action.Jacob Walls
2026-04-13Clarified "Add another question" as the plus sign button.Sarah Boyce
2026-04-13Fixed #33113 -- Documented usage and caveats of HTML5 date input in ↵Samriddha9619
DateInput widget.
2026-04-11Fixed #36953 -- Split EmailBackend tests to separate file.Mike Edmunds
Moved tests for specific email backends from tests/mail/tests.py to test_backends.py to reduce file size and discourage adding non-backend-specific tests to BaseEmailBackendTests.