| Age | Commit message (Collapse) | Author |
|
|
|
|
|
available backends.
Backport of d3f142f2cd36ba0458cc679397555bd5ee7db744 from main.
|
|
Backport of ea4920174e3231ff5b72b3ffb2b20432671047d9 from main.
|
|
Backport of fe42aa6100a2df4702e2399cffb375dbc986b036 from main.
|
|
|
|
|
|
Backport of d0d596042e958809a13b681d7a184ac7b95e0aa3 from main.
|
|
Backport of 8d4ec9949aedc11a258d718689550eea61ae8d4c from main.
|
|
in XML serializer.
Previously, `getInnerText()` recursively used `list.extend()` on strings,
which added each character from child nodes as a separate list element.
On deeply nested XML content, this caused the overall deserialization
work to grow quadratically with input size, potentially allowing
disproportionate CPU consumption for crafted XML.
The fix separates collection of inner texts from joining them, so that
each subtree is joined only once, reducing the complexity to linear in
the size of the input. These changes also include a mitigation for a
xml.dom.minidom performance issue.
Thanks Seokchan Yoon (https://ch4n3.kr/) for report.
Co-authored-by: Jacob Walls <jacobtylerwalls@gmail.com>
Co-authored-by: Natalia <124304+nessita@users.noreply.github.com>
Backport of 50efb718b31333051bc2dcb06911b8fa1358c98c from main.
|
|
injection in column aliases on PostgreSQL.
Follow-up to CVE-2025-57833.
Thanks Stackered for the report, and Simon Charette and Mariusz Felisiak
for the reviews.
Backport of 5b90ca1e7591fa36fccf2d6dad67cf1477e6293e from main.
|
|
Backport of cb1d2854ed2b13799f2b0cc6e04019df181bacd4 from main
|
|
registration.
Ideally, this will be reverted when an upstream solution is available for
https://github.com/python/cpython/issues/141560.
Thanks Patrick Rauscher for the report and Augusto Pontes for the
first iteration and test.
Backport of 34186e731ca20a2344b1f88fd543a854d6b13a00 from main.
|
|
Backport of ce36c35e76f82f76cdfa5777456e794d481e5afc from main.
|
|
OverwritingStorageTests.test_save_overwrite_behavior_temp_file().
Backport of a08f1693f37e9aae9eca395020cce0638cb5aa5f from main.
|
|
test_simple_block_tag_parens().
Backport of e94b19f6abdda70689aa17e399ce5fdef7897674 from main.
|
|
Co-authored-by: Rida Zouga <ridazouga@gmail.com>
Backport of 3ea0195ca57790d7bd6921ecaa32312eabec78d0 from main
|
|
Backport of 7b32485ee98edf7e8b94ad9c8acdccee562bf216 from main
|
|
docs/howto/upgrade-version.txt.
Backport of bd7940982d6cab386dae7698ab097b91e5d8145e from main.
|
|
docs/internals/howto-release-django.txt.
Backport of 60b08ad5e1701b1a9b2a03e5897670d5af32d379 from main.
|
|
This also fixed a small bash issue in `confirm_release.sh` script.
Backport of 532c1058a7dd2616181259c94eb92f2477038d2c from main.
|
|
The fix landed in a8cf8c292cfee98fe6cc873ca5221935f1d02271 will be
backported to 5.1 and 4.2 since the 2048 limit was rolled out as part of
the security release for CVE-2025-64458.
Backport of 18b13cf6c48ff0a20b2a74d3b90d1fc1602608e4 from main.
|
|
HttpResponseRedirectBase.
Refs CVE-2025-64458.
The previous limit of 2048 characters reused the URLValidator constant
and proved too restrictive for legitimate redirects to some third-party
services. This change introduces a separate `MAX_URL_REDIRECT_LENGTH`
constant (defaulting to 16384) and uses it in HttpResponseRedirectBase.
Thanks Jacob Walls for report and review.
Backport of a8cf8c292cfee98fe6cc873ca5221935f1d02271 from main.
|
|
database casts.
Added warning in DateField documentation about type differences when using
timedelta on PostgreSQL and MySQL. Mentioned Cast() and integer arithmetic
solutions.
Backport of 55af4749b9a48b2978e893e7d7be313c0b2abdb1 from main.
|
|
GitHub Actions defaults to a 360-minute (6-hour) timeout. We've had jobs
hang due to issues in the parallel test runner, causing them to run for
the full 6 hours. This wastes resources and negatively impacts CI
availability, so explicit timeouts have been added to prevent
long-running hangs.
Backport of e48527f91d341c85a652499a5baaf725d36ae54f from main.
|
|
Backport of d62e811acfc6a056e847bfcc460092a98511ed00 from main.
|
|
tests/auth_tests/test_handlers.py.
Backport of d08ae991a83950aba5043f5a34f5af12d2effe9e from main.
|
|
annotated queryset.
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.
Backport of 2a6e0bd72d4a69725b957d6748a4b834f21b12b5 from main
|
|
Backport of 846613e521104fa2f2e1c2023e4a1a9886a2ff48 from main.
|
|
Backport of 86b8058b40145fb5ba4fd859676225f533eca986 from main.
|
|
Backport of 08f4901b3fd3f352ef9cea830d000aee73152556 from main.
|
|
Backport of e8958c4690faef27b6715524ecb5c49c3ecb6a09 from main.
|
|
At the direction of the Security Team. Thanks Markus Holtermann,
Jake Howard, and Natalia Bidart for reviews.
Backport of 09d4bf5cd9c95c588d3ec22edea5db1f5f146900 from main.
|
|
Backport of a523d5c8336f5f7f5e24a1cc8034ce65aedec3c6 from main.
|
|
Backport of 971c76f735d2d61051d887b62a244d743794699a from main.
|
|
Backport of 8ce3e1f9d0cdfdcba91e7e544804fa33f6fa9177 from main.
|
|
Backport of 5834643f43a767fe19f2c6d10217b204e7584ec8 from main.
|
|
docs/ref/contrib/sitemaps.txt.
Backport of ee2e0e202874db31449d3c7c292504652fa87f69 from main.
|
|
|
|
Thanks Mustafa Barakat for the report, Baptiste Mispelon for
the triage, and Jake Howard for the review.
Backport of e05f2a75695b5f5faa7682d4053db4776d4d6f93 from main.
|
|
Regression in 64b1ac7292c72d3551b2ad70b2a78c8fe4af3249.
Backport of b07298a73a8d444b3618aad8005055bee5ead8cb from main.
|
|
relation is sticky.
Backport of 3c005b5f79bf6d71f3f4c3692ed670e1722b0fb6 from main.
|
|
Backport of 7e765a68598b2b798e49bf1f4b431a7bcac085a4 from main.
|
|
attnames.
Regression in e44e8327d3d88d86895735c0e427102063ff5b55.
Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com>
Backport of abfa4619fb818ff694c22e962a280673e085239e from main
|
|
Backport of 2b0f24e6223bf7e294fba63741f58eb7b0bf49ff from main.
|
|
This mostly reverts 6436ec321073bf0622af815e0af08f54c97f9b30,
which was fragile. Instead, if black is present, we use it to format the
expected and actual results, instead of hard-coding the expected
formatted value.
Co-authored-by: Natalia <124304+nessita@users.noreply.github.com>
|
|
Thank you Davide Netti for the report and initial patch.
Co-authored-by: Davide Netti <davide.netti4@gmail.com>
Backport of 01c70ba14899409e86dc3f6c6bcae0afc48094e7 from main.
|
|
docs/ref/models/fields.txt.
Backport of c135be349ddd9fd71b15d4b20e7fc46814e4ca7c from main.
|
|
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.
Backport of a4f76741340fb23566795e83f830a3f2d49acce0 from main.
|
|
Backport of 5ef870fbc5a65cce65b42a8f9cdb208a32d3dd31 from main.
|