summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
18 hoursFixed #37075 -- Allowed overriding the PostgreSQL pool's "check" callable.HEADmainRaoni Timo
Setting "check" in OPTIONS["pool"] previously raised TypeError because the PostgreSQL backend always passed check= to ConnectionPool() and unpacked **pool_options on top, regardless of CONN_HEALTH_CHECKS. The user's callable now takes precedence via setdefault(); pool_options is copied first to avoid mutating the user's settings dict.
28 hoursFixed typo in stub release notes for 5.2.14.Jacob Walls
30 hoursFixed #36919 -- Allowed Task and TaskResult to be pickled.varunkasyap
45 hoursRefs #35738 -- Improved release note for '..' template deprecation.Adam Johnson
47 hoursFixed #16429 -- Extracted set_choices() method from FilePathField.__init__().TildaDares
2 daysFixed #37067 -- Added trailing slash in django_file_prefixes().Fashad Ahmed
Ensure skip_file_prefixes does not match sibling packages like django*. Bug in f42b89f1bf49a5b89ed852b60f79342320a81c5e and 34bd3ed944bf38792c631b55e581963d44d52284.
2 daysFixed #35951 -- Mentioned server timezone in admin DateTime widgets.Vedran Karacic
The existing note that is shown to the users when entering a time value from a different timezone than the server's timezone was not descriptive enough and led to confusion. This commit updates the note to explicitly state that the user should enter times in the server's timezone.
3 daysRefs CVE-2026-25674 -- Clarified role of umask in upload permissions.Shai Berger
3 daysRefs #15759 -- Fixed ModelAdmin.list_editable form submission for ↵Artyom Kotovskiy
non-editable instances. Added formset that excludes objects for which user has no permission for POST formset as well. Fixed regression test: the test was not simulating real behaviour properly. By providing full form data for the post request we skipped the part where the user was actually limited in permissions and only modified some of the rows. Improved tests by getting rid of obj.id % 2 approach for granting permissions per object for users, since it is not the safest. Instead granting permissions simply by 'alive' parameter, which is simpler and more stable. Bug in 84db026228413dda4cd195464554d51c0b208e32.
3 daysFixed #36990 -- Bumped OpenLayers to 10.9.0.VIZZARD-X
3 daysFixed #35738 -- Deprecated double-dot variable lookups.David Smith
3 daysAdded stub release notes and release date for 6.0.5 and 5.2.14.Sarah Boyce
3 daysFixed #36912 -- Added connector validation to Q.create().Anna Makarudze
Co-authored-by: Jacob Walls <jacobtylerwalls@gmail.com>
4 daysRefs #35514 -- Added warn_about_external_use() deprecation utility.Mike Edmunds
Implemented a new `warn_about_external_use()` helper to conditionally issue warnings depending on whether a deprecated feature is used from within Django. Fixed `LazySettings._show_deprecation_warning()` (Refs #26029) to work correctly when called from anywhere in `LazySettings`. Previously, it assumed a specific code path through `LazyObject.__getattribute__()` and an `@property` getter on `LazySettings`.
4 daysMoved QuerySet.extra() assertions to a separate test.Tim Graham
This allows backends that don't support extra() to skip it.
4 daysFixed #36901 -- Centralized auth timing attack mitigations.afenoum
Thank you Mar Bartolome and Tim Schilling for reviews.
6 daysRefs #35007 -- Pinned exact biome version.Jacob Walls
Avoid drift against the following in biome.json: "$schema": "https://biomejs.dev/schemas/2.4.12/schema.json"
7 daysFixed #36542 -- Marked authenticate() with @sensitive_variables() decorator.KANIN KEARPIMY
Thanks Olivier Dalang, Tim McCurrach, Sarah Boyce, and Mar Bartolome for reviews.
7 daysReverted inadvertent changes to PK formatting in tests.Tim Graham
Bad conflict resolution in 63c56cda133a85a158502891c40465bc0331d3d9 reverted bits of d007fcf7291cc3c24d4545e23c759bde22b6a8a6.
7 daysReplaced references in docs to accepted PEPs with specific Python docs links.Mike Edmunds
Where the docs used `:pep:` links for established Python language features, replaced them with direct references to the Python docs (usually glossary terms).
8 daysRefs #12090 -- Documented parameters for contrib.admin.decorators.action().Sarah Boyce
8 daysRefs #35943 -- Fixed admin_views.test_related_object_lookups crash when ↵Mariusz Felisiak
selenium is not installed.
9 daysFixed #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.
9 daysRefs #10919 -- Refactored walk_items as module-level _walk_items and added ↵Rodrigo Vieira
truncated_unordered_list filter.
9 daysFixed #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.
9 daysFixed #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>
9 daysFixed #36991 -- Raised BadRequest for invalid encodings in Content-Type headers.Dinesh
9 daysFixed #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>
9 daysFixed #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.
9 daysRefs #15759 -- Factored out _save_formset() in ModelAdmin.Artyom Kotovskiy
11 daysRefs #36005 -- Made OperationCategory subclass StrEnum.Clifford Gama
11 daysRefs #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.
12 daysRefs #28586 -- Added DEFAULT_FETCH_MODE module constant.Jacob Walls
This is a more attractive target for alteration than all of QuerySet.__init__().
12 daysFixed #37046 -- Allowed Ready for checkin Trac status in PR checks.varunkasyap
12 daysRefs #35007 -- Ignored JS formatting changes in git blame.Jacob Walls
12 daysFormatted JavaScript files.Tom Carrick
12 daysRefs #35007 -- Removed eslint disable in a test.Jacob Walls
12 daysFixed #35007 -- Replaced ESLint with Biome for JavaScript linting and ↵Tom Carrick
formatting.
12 daysAdded support for nested fields to XML deserializer.Tim Graham
Needed by Django MongoDB Backend's EmbeddedModelField.
12 daysUpdated release procedure with new CVE workflows.Jacob Walls
Now that the DSF is a CVE Numbering Authority (CNA), we manage our own CVE assignments.
12 daysFixed #37048, Refs #36728 -- Added release notes for changes to ↵Anže Pečar
InclusionAdminNode and parse_bits().
12 daysFixed #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.
13 daysRemoved OrderedDict representer from PyYAML serializer.Tim Graham
Added in 5bc3123479bd97dc9d8a36fa9a3421a71063d1da (refs #24558), it was obsoleted when OrderedDict usage was removed in 24b82cd201e21060fbc02117dc16d1702877a1f3 (refs #30159).
13 daysFixed #37024 -- Made SITE_ID system check validation use Site._meta.pk.Tim Graham
13 daysRefs #36986 -- Replaced yaml's Serializer._value_from_field() time handling ↵Tim Graham
with a representer.
13 daysReplaced 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).
13 daysRefs #35007 -- Ignored CSS formatting changes in git blame.Jacob Walls
13 daysFixed #37036 -- Added missing flat=True arg in DeferredAttribute.fetch_many().garybadwal
13 daysFormatted CSS files.Tom Carrick
13 daysRefs #35007 -- Added biome to lint and format CSS files.Tom Carrick