SaJH
a9fe98d5bd
Fixed #35533 -- Prevented urlize creating broken links given a markdown link input.
...
Docs / spelling (push) Waiting to run
Docs / blacken-docs (push) Waiting to run
Docs / lint-docs (push) Waiting to run
Linters / flake8 (push) Waiting to run
Linters / isort (push) Waiting to run
Linters / black (push) Waiting to run
Tests / Windows, SQLite, Python 3.13 (push) Waiting to run
Tests / JavaScript tests (push) Waiting to run
Signed-off-by: SaJH <wogur981208@gmail.com>
2025-08-28 08:54:56 +02:00
Tim Graham
1285de557b
Fixed incorrect IDs in test_in_bulk_preserve_ordering.
Linters / flake8 (push) Waiting to run
Linters / isort (push) Waiting to run
Linters / black (push) Waiting to run
Tests / Windows, SQLite, Python 3.13 (push) Waiting to run
Tests / JavaScript tests (push) Waiting to run
2025-08-27 18:23:42 -04:00
Sarah Boyce
d0e4dd5cdd
Fixed #36572 -- Revert "Fixed #36546 -- Deprecated django.utils.crypto.constant_time_compare() in favor of hmac.compare_digest()."
...
Docs / spelling (push) Waiting to run
Docs / blacken-docs (push) Waiting to run
Docs / lint-docs (push) Waiting to run
Linters / flake8 (push) Waiting to run
Linters / isort (push) Waiting to run
Linters / black (push) Waiting to run
Tests / Windows, SQLite, Python 3.13 (push) Waiting to run
Tests / JavaScript tests (push) Waiting to run
This reverts commit 0246f47888 .
2025-08-27 10:50:50 +02:00
Jacob Walls
d454aefbd1
Refs #15727 -- Captured failed request log in CSPMiddlewareTest.
Docs / spelling (push) Waiting to run
Docs / blacken-docs (push) Waiting to run
Docs / lint-docs (push) Waiting to run
Linters / flake8 (push) Waiting to run
Linters / isort (push) Waiting to run
Linters / black (push) Waiting to run
Tests / Windows, SQLite, Python 3.13 (push) Waiting to run
Tests / JavaScript tests (push) Waiting to run
2025-08-26 17:26:01 -04:00
antoliny0919
3e7aedfb2e
Fixed #36556 -- Fixed TabularInline width overflowing the page.
Linters / flake8 (push) Waiting to run
Linters / isort (push) Waiting to run
Linters / black (push) Waiting to run
Tests / Windows, SQLite, Python 3.13 (push) Waiting to run
Tests / JavaScript tests (push) Waiting to run
2025-08-26 13:45:28 +02:00
SaJH
0246f47888
Fixed #36546 -- Deprecated django.utils.crypto.constant_time_compare() in favor of hmac.compare_digest().
...
Docs / blacken-docs (push) Waiting to run
Docs / spelling (push) Waiting to run
Linters / flake8 (push) Waiting to run
Linters / isort (push) Waiting to run
Linters / black (push) Waiting to run
Tests / Windows, SQLite, Python 3.13 (push) Waiting to run
Tests / JavaScript tests (push) Waiting to run
Signed-off-by: SaJH <wogur981208@gmail.com>
2025-08-25 14:45:16 +02:00
SaJH
3ba24c18e7
Fixed #36251 -- Avoided mutating form Meta.fields in BaseInlineFormSet.
...
Signed-off-by: SaJH <wogur981208@gmail.com>
2025-08-25 10:05:45 +02:00
Mariusz Felisiak
b3166e1e15
Refs #35530 -- Corrected deprecation message in auth.alogin().
...
Docs / spelling (push) Waiting to run
Linters / flake8 (push) Waiting to run
Linters / isort (push) Waiting to run
Docs / blacken-docs (push) Waiting to run
Linters / black (push) Waiting to run
Tests / Windows, SQLite, Python 3.13 (push) Waiting to run
Tests / JavaScript tests (push) Waiting to run
Follow up to ceecd518b1 .
2025-08-22 16:14:09 +02:00
Natalia
d6a8e5f5e1
Fixed failing bulk_create test raising IntegrityError when run in reverse.
...
When running the `bulk_create` tests with Postgres settings and
`--reverse`, the following IntegrityError was raised in
bulk_create.tests.BulkCreateTransactionTests.test_objs_with_and_without_pk:
django.db.utils.IntegrityError: duplicate key value violates unique
constraint "bulk_create_country_pkey"
DETAIL: Key (id)=(1) already exists.
This branch fixes this by ensuring the ID is unique since DB sequences
are not resetted between tests.
2025-08-21 12:25:57 -03:00
antoliny0919
aae7836cc0
Refs #36366 -- Fixed page number layout in admin pagination on small screens.
...
Regression in 3f59711581 .
2025-08-21 17:04:28 +02:00
SaJH
f2a6c0477f
Fixed #36399 -- Added support for multiple Cookie headers in HTTP/2 for ASGIRequest.
...
Signed-off-by: SaJH <wogur981208@gmail.com>
2025-08-21 16:48:54 +02:00
mengxun
ed7c1a5640
Fixed #36560 -- Prevented UpdateCacheMiddleware from caching responses with Cache-Control 'no-cache' or 'no-store'.
2025-08-21 16:48:36 +02:00
Jacob Walls
d3cf24e9b4
Refs #36430 , #36416 , #34378 -- Simplified batch size calculation in QuerySet.in_bulk().
2025-08-21 16:47:41 +02:00
Jacob Walls
a2ce4900a6
Fixed #36430 -- Removed artificially low limit on single field bulk operations on SQLite.
2025-08-21 16:47:41 +02:00
David Smith
fb0d463b1f
Fixed #36382 -- Confirmed support for GDAL 3.11.
...
TIGER driver was removed in GDAL 3.11.
eb793be039
2025-08-21 16:46:41 +02:00
Xinyi Rong
cd7554e551
Fixed #36561 -- Used request.auser() in contrib.auth.aupdate_session_auth_hash().
2025-08-20 09:14:50 +02:00
Artyom Kotovskiy
f02b49d2f3
Fixed #27489 -- Renamed permissions upon model renaming in migrations.
2025-08-19 16:36:52 +02:00
antoliny0919
4187da258f
Fixed #35892 -- Supported Widget.use_fieldset in admin forms.
2025-08-19 16:35:56 +02:00
Simon Charette
cd0966cd4e
Avoided usage of DEBUG setting override in bulk_create tests.
...
Linters / flake8 (push) Has been cancelled
Linters / isort (push) Has been cancelled
Linters / black (push) Has been cancelled
Tests / Windows, SQLite, Python 3.13 (push) Has been cancelled
Tests / JavaScript tests (push) Has been cancelled
Asserting an upper bound for the number of executed queries can be achieved by
using CaptureQueriesContext instead of enabling the whole DEBUG machinery.
2025-08-15 10:45:02 +02:00
Simon Charette
e1671278e8
Fixed #36490 -- Avoided unnecessary transaction in bulk_create.
...
When dealing with an heterogeneous set of object with regards to primary key
assignment that fits in a single batch there's no need to wrap the single
INSERT statement in a transaction.
2025-08-15 10:45:02 +02:00
farhan
5e06b97095
Fixed #36410 -- Added support for Template Partials to the Django Template Language.
...
Linters / flake8 (push) Waiting to run
Linters / isort (push) Waiting to run
Linters / black (push) Waiting to run
Tests / Windows, SQLite, Python 3.13 (push) Waiting to run
Tests / JavaScript tests (push) Waiting to run
Docs / spelling (push) Has been cancelled
Docs / blacken-docs (push) Has been cancelled
Introduced `{% partialdef %}` and `{% partial %}` template tags to
define and render reusable named fragments within a template file.
Partials can also be accessed using the `template_name#partial_name`
syntax via `get_template()`, `render()`, `{% include %}`, and other
template-loading tools.
Adjusted `get_template()` behavior to support partial resolution, with
appropriate error handling for invalid names and edge cases. Introduced
`PartialTemplate` to encapsulate partial rendering behavior.
Includes tests and internal refactors to support partial context
binding, exception reporting, and tag validation.
Co-authored-by: Carlton Gibson <carlton@noumenal.es>
Co-authored-by: Natalia <124304+nessita@users.noreply.github.com>
Co-authored-by: Nick Pope <nick@nickpope.me.uk>
2025-08-14 21:53:14 -03:00
Natalia
2980627502
Fixed #36499 -- Adjusted utils_tests.test_html.TestUtilsHtml.test_strip_tags following Python's HTMLParser new behavior.
...
Python fixed a quadratic complexity processing for HTMLParser in:
6eb6c5db .
2025-08-12 23:04:09 -03:00
Natalia
e4515dad7a
Fixed test_utils.tests.HTMLEqualTests.test_parsing_errors following Python's HTMLParser fixed parsing.
...
Further details about Python changes can be found in:
0243f97cba .
Thank you Clifford Gama for the thorough review!
2025-08-12 23:04:09 -03:00
michalpokusa
2c99fbcf95
Fixed #36368 -- Prevented duplicate locale paths and write_po_file calls in makemessages.
Linters / flake8 (push) Waiting to run
Linters / isort (push) Waiting to run
Linters / black (push) Waiting to run
Tests / Windows, SQLite, Python 3.13 (push) Waiting to run
Tests / JavaScript tests (push) Waiting to run
2025-08-12 09:47:16 +02:00
James Bligh
c1aa4a7a79
Fixed #36525 -- Silenced individual deleted file messages in collectstatic --clear's default verbosity.
Docs / docs (push) Waiting to run
Docs / blacken-docs (push) Waiting to run
Linters / flake8 (push) Waiting to run
Linters / isort (push) Waiting to run
Linters / black (push) Waiting to run
Tests / Windows, SQLite, Python 3.13 (push) Waiting to run
Tests / JavaScript tests (push) Waiting to run
2025-08-08 09:52:16 +02:00
Xinyi Rong
31a43c571f
Fixed #36540 -- Updated request.auser() in contrib.auth.alogin() and contrib.auth.alogout().
2025-08-08 09:51:03 +02:00
Jacob Walls
fd569dd45b
Fixed #36210 , Refs #36181 -- Allowed Subquery usage in further lookups against composite pks.
...
Linters / flake8 (push) Waiting to run
Linters / isort (push) Waiting to run
Linters / black (push) Waiting to run
Tests / Windows, SQLite, Python 3.13 (push) Waiting to run
Tests / JavaScript tests (push) Waiting to run
Follow-up to 8561100425 .
Co-authored-by: Simon Charette <charette.s@gmail.com>
2025-08-07 14:28:44 +02:00
Jacob Walls
de7bb7eab8
Refs #36210 -- Added missing limits in Subquery tests.
2025-08-07 14:28:44 +02:00
James Bligh
6142e3f347
Fixed #26583 -- Silenced individual clashing name warnings in collectstatic's default verbosity.
...
Made collectstatic report individual destination conflicts only at verbosity 2+.
Made verbosity level 1 report a summary count of skipped files.
2025-08-05 16:37:43 +02:00
antoliny0919
6537732585
Fixed #36079 -- Fixed text size of TabularInline object titles.
2025-08-05 16:36:06 +02:00
Matthias Kestenholz
0a262c8407
Fixed #36537 -- Ensured unique HTML IDs for geometry widget option scripts in the admin.
...
This work amends the code from f2f6046c0f
where multiple geometry widgets rendered `<script>` elements in the
admin with the same HTML `id`, resulting in invalid HTML and fragile
JavaScript selectors. Refs #25706 .
This change uses the widget's textarea ID to generate a unique `id` for
each JSON options `<script>`, ensuring valid and robust markup.
Co-authored-by: Natalia <124304+nessita@users.noreply.github.com>
2025-08-05 11:35:04 -03:00
jkhall81
2013092b69
Fixed #36530 -- Extended fields.E347 to check for ManyToManyField involving CompositePrimaryKey on either side.
...
Thanks to Jacob Walls for the report.
2025-08-05 08:34:40 -03:00
Mariusz Felisiak
e664c5afa9
Refs #36282 -- Fixed PrefetchRelatedMTICacheTests test ordering expectations.
Linters / flake8 (push) Waiting to run
Linters / isort (push) Waiting to run
Linters / black (push) Waiting to run
Tests / Windows, SQLite, Python 3.13 (push) Waiting to run
Tests / JavaScript tests (push) Waiting to run
2025-08-05 10:13:00 +02:00
Jacob Walls
8914f4703c
Fixed #35972 -- Fixed lookup crashes after subquery annotations.
Docs / docs (push) Waiting to run
Docs / blacken-docs (push) Waiting to run
Linters / flake8 (push) Waiting to run
Linters / isort (push) Waiting to run
Linters / black (push) Waiting to run
Tests / Windows, SQLite, Python 3.13 (push) Waiting to run
Tests / JavaScript tests (push) Waiting to run
2025-08-04 10:14:01 +02:00
Simon Charette
079d31e698
Fixed #34871 , #36518 -- Implemented unresolved lookups expression replacement.
...
This allows the proper resolving of lookups when performing constraint
validation involving Q and Case objects.
Thanks Andrew Roberts for the report and Sarah for the tests and review.
2025-08-04 09:22:53 +02:00
Mariusz Felisiak
500bd42b96
Refs #35844 -- Readded optional requirements on daily builds for Python 3.14.
Linters / flake8 (push) Has been cancelled
Linters / isort (push) Has been cancelled
Linters / black (push) Has been cancelled
Tests / Windows, SQLite, Python 3.13 (push) Has been cancelled
Tests / JavaScript tests (push) Has been cancelled
2025-08-01 09:43:22 +02:00
antoliny0919
6ea3319079
Fixed #36511 -- Ensured filters came before table in keyboard navigation in admin changelist.
Linters / black (push) Waiting to run
Linters / flake8 (push) Waiting to run
Linters / isort (push) Waiting to run
Tests / Windows, SQLite, Python 3.13 (push) Waiting to run
Tests / JavaScript tests (push) Waiting to run
Docs / docs (push) Has been cancelled
Docs / blacken-docs (push) Has been cancelled
2025-07-30 17:32:39 +02:00
antoliny0919
792ca148a2
Fixed #36528 , Refs #34917 -- Removed role="button" from object-tools links.
...
Regression in 849f8307a5 .
In order to prevent underlines on links styled like buttons, role="button" was added.
This has been removed and the style updated to reflect that these are links.
2025-07-30 15:36:56 +02:00
antoliny0919
94c2f3b993
Fixed #36055 -- Prevented overlap of object-tools buttons and page header in the admin.
2025-07-30 11:09:45 +02:00
Mariusz Felisiak
d55979334d
Fixed #36531 -- Added forkserver support to parallel test runner.
Docs / docs (push) Waiting to run
Docs / blacken-docs (push) Waiting to run
Linters / flake8 (push) Waiting to run
Linters / isort (push) Waiting to run
Tests / Windows, SQLite, Python 3.13 (push) Waiting to run
Linters / black (push) Waiting to run
Tests / JavaScript tests (push) Waiting to run
2025-07-29 14:11:22 -03:00
mriduldhall
d4dd3e503c
Fixed #36519 -- Made center template filter consistent for even/odd padding.
...
Docs / docs (push) Waiting to run
Docs / blacken-docs (push) Waiting to run
Linters / flake8 (push) Waiting to run
Linters / isort (push) Waiting to run
Linters / black (push) Waiting to run
Tests / Windows, SQLite, Python 3.13 (push) Waiting to run
Tests / JavaScript tests (push) Waiting to run
Refactored `center` template filter to match f-string behaviour,
producing consistent padding for both odd and even fillings.
Thanks Lily Acorn for the report and Natalia Bidart for the review.
Co-authored-by: Lily Acorn <code@lilyf.org>
2025-07-28 16:41:06 -03:00
mriduldhall
2d4ca62170
Added test for various widths in tests/template_tests/filter_tests/test_center.py.
2025-07-28 16:41:06 -03:00
Simon Charette
0a4999b422
Fixed #36522 -- Added support for filtering composite pks using a tuple of expressions.
...
Thanks Jacob Walls for the report, and Sarah Boyce and Mariusz Felisiak
for reviews.
2025-07-28 16:39:28 -03:00
Clifford Gama
45ba7683a6
Refs #36438 -- Made FieldOperation.references_field() detect references in GeneratedField.expression.
...
Linters / flake8 (push) Has been cancelled
Linters / isort (push) Has been cancelled
Linters / black (push) Has been cancelled
Docs / docs (push) Has been cancelled
Docs / blacken-docs (push) Has been cancelled
Tests / Windows, SQLite, Python 3.13 (push) Has been cancelled
Tests / JavaScript tests (push) Has been cancelled
Thanks to Simon Charette for the suggestion and review.
2025-07-25 13:59:13 +02:00
Clifford Gama
1a7fc0f65d
Fixed #36438 -- Made MigrationAutodetector remove generated fields before their base fields.
...
Thanks to Colton Saska for the report and to Simon Charette for the review.
2025-07-25 13:59:13 +02:00
Mike Edmunds
9ab1991689
Fixed #35581 -- Updated django.core.mail to Python's modern email API.
...
- Changed EmailMessage.message() to construct a "modern email API"
email.message.EmailMessage and added policy keyword arg.
- Added support for modern MIMEPart objects in EmailMessage.attach()
(and EmailMessage constructor, EmailMessage.attachments list).
- Updated SMTP EmailBackend to use modern email.policy.SMTP.
Deprecated:
- Attaching MIMEBase objects (replace with MIMEPart)
- BadHeaderError (modern email uses ValueError)
- SafeMIMEText, SafeMIMEMultipart (unnecessary for modern email)
- django.core.mail.forbid_multi_line_headers()
(undocumented, but exposed via `__all__` and in wide use)
- django.core.mail.message.sanitize_address()
(undocumented, but in wide use)
Removed without deprecation (all undocumented):
- EmailMessage.mixed_subtype
- EmailMultiAlternatives.alternative_subtype
- Support for setting (undocumented) EmailMessage.encoding property
to a legacy email.charset.Charset object
Related changes:
- Dropped tests for incorrect RFC 2047 encoding of non-ASCII email
address localparts. This is specifically prohibited by RFC 2047, and
not supported by any known MTA or email client. (Python still
mis-applies encoded-word to non-ASCII localparts, but it is a bug that
may be fixed in the future.)
- Added tests that try to discourage using Python's legacy email APIs
in future updates to django.core.mail.
2025-07-25 13:50:02 +02:00
Mike Edmunds
20c62199ff
Refs #35581 -- Added missing test for lazy email headers.
...
EmailMessage is intended to support lazy strings in any header field
(via coercion to `str` in forbid_multi_line_headers() called from
SafeMIMEMessage/Text/Multipart.__setitem__).
2025-07-25 13:50:02 +02:00
antoliny0919
d90bea1b06
Fixed #36516 , Refs #36366 -- Fixed changelist footer layout with list_editable and list_filter.
...
Regression in 3f59711581 .
2025-07-24 08:38:43 +02:00
Mike Edmunds
78298b5162
Refs #36500 -- Corrected rewrapped long lines fixed via a script.
...
Manually reformatted some comments and docstrings where autofix_w505.py
changed the meaning of the formatting.
2025-07-23 20:17:55 -03:00
django-bot
69a93a88ed
Refs #36500 -- Rewrapped long docstrings and block comments via a script.
...
Rewrapped long docstrings and block comments to 79 characters + newline
using script from https://github.com/medmunds/autofix-w505 .
2025-07-23 20:17:55 -03:00