Commit graph

14134 commits

Author SHA1 Message Date
Mariusz Felisiak
548209e620 Made RemoteTestResultTest.test_pickle_errors_detection() compatible with tblib 3.2+.
tblib 3.2+ makes exception subclasses with __init__() and the default
__reduce__() picklable. This broke the test for
RemoteTestResult._confirm_picklable(), which expects a specific
exception to fail unpickling.

https://github.com/ionelmc/python-tblib/blob/master/CHANGELOG.rst#320-2025-10-21

This fix defines ExceptionThatFailsUnpickling.__reduce__() in a way
that pickle.dumps(obj) succeeds, but pickle.loads(pickle.dumps(obj))
raises TypeError.

Refs #27301. This preserves the intent of the regression test from
52188a5ca6 without skipping it.
2025-10-21 23:10:31 -03:00
Adam Johnson
a0323a0c44 Fixed #36656 -- Avoided truncating async streaming responses in GZipMiddleware.
Some checks are pending
Linters / flake8 (push) Waiting to run
Linters / isort (push) Waiting to run
Linters / black (push) Waiting to run
Tests / Windows, SQLite, Python 3.14 (push) Waiting to run
Tests / JavaScript tests (push) Waiting to run
2025-10-21 10:45:12 -04:00
YashRaj1506
9bb83925d6 Fixed #36470 -- Prevented log injection in runserver when handling NOT FOUND.
Some checks are pending
Linters / flake8 (push) Waiting to run
Linters / isort (push) Waiting to run
Linters / black (push) Waiting to run
Tests / Windows, SQLite, Python 3.14 (push) Waiting to run
Tests / JavaScript tests (push) Waiting to run
Migrated `WSGIRequestHandler.log_message()` to use a more robust
`log_message()` helper, which was based of `log_response()` via factoring out
the common bits.

Refs CVE-2025-48432.

Co-authored-by: Natalia <124304+nessita@users.noreply.github.com>
2025-10-20 16:21:32 -03:00
Emmanuel Ferdman
5625bd5907
Removed duplicate display_raw key in expected data in GeometryWidgetTests.
Signed-off-by: Emmanuel Ferdman <emmanuelferdman@gmail.com>
2025-10-20 14:52:02 -03:00
Mariusz Felisiak
344ae16e1e
Fixed RelatedGeoModelTest.test_related_union_aggregate() test on Oracle and GEOS 3.12+.
Some checks are pending
Linters / isort (push) Waiting to run
Linters / black (push) Waiting to run
Linters / flake8 (push) Waiting to run
Tests / Windows, SQLite, Python 3.14 (push) Waiting to run
Tests / JavaScript tests (push) Waiting to run
2025-10-20 16:03:39 +02:00
Mariusz Felisiak
ca3e0484ef
Refs #36005 -- Bumped minimum supported versions of docutils to 0.22.
Some checks failed
Linters / flake8 (push) Waiting to run
Linters / isort (push) Waiting to run
Linters / black (push) Waiting to run
Tests / Windows, SQLite, Python 3.14 (push) Waiting to run
Tests / JavaScript tests (push) Waiting to run
Docs / blacken-docs (push) Has been cancelled
Docs / spelling (push) Has been cancelled
Docs / lint-docs (push) Has been cancelled
2025-10-19 20:13:16 +02:00
Mariusz Felisiak
d506e4a528
Fixed #36671 -- Dropped support for SQLite < 3.37.
Some checks are pending
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.14 (push) Waiting to run
Tests / JavaScript tests (push) Waiting to run
2025-10-18 21:04:11 +02:00
Mariusz Felisiak
0c487aa3a7
Fixed #21961 -- Added support for database-level delete options for ForeignKey.
Some checks are pending
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.14 (push) Waiting to run
Tests / JavaScript tests (push) Waiting to run
Thanks Simon Charette for pair programming.

Co-authored-by: Nick Stefan <NickStefan12@gmail.com>
Co-authored-by: Akash Kumar Sen <71623442+Akash-Kumar-Sen@users.noreply.github.com>
Co-authored-by: Simon Charette <charette.s@gmail.com>
2025-10-18 15:03:50 +02:00
Mariusz Felisiak
56977b466c Refs #35844 -- Doc'd Python 3.14 compatibility. 2025-10-17 19:25:02 +02:00
Mariusz Felisiak
2d9c194d5a Refs #35844 -- Relaxed GEOSIOTest.test02_wktwriter() test assertion. 2025-10-17 19:25:02 +02:00
Jacob Walls
d980d68609 Bumped minimum isort version to 7.0.0.
Some checks are pending
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
Added ignores relating to https://github.com/PyCQA/isort/issues/2352.
2025-10-16 14:59:02 -04:00
Adam Johnson
e244d8bbb7 Refs #28586 - Copied fetch mode in QuerySet.create().
This change allows the pattern `MyModel.objects.fetch_mode(...).create(...)` to
set the fetch mode for a new object.
2025-10-16 14:52:22 -04:00
Adam Johnson
6dc9b04018 Refs #28586 -- Copied fetch modes to related objects.
This change ensures that behavior and performance remain consistent when
traversing relationships.
2025-10-16 14:52:22 -04:00
Adam Johnson
a321d961b0 Refs #28586 -- Made fetch modes pickle as singletons.
This change ensures that we don’t create new instances of fetch modes
when pickling and unpickling, saving memory and preserving their singleton
nature.
2025-10-16 14:52:22 -04:00
Adam Johnson
e097e8a12f Fixed #28586 -- Added model field fetch modes.
May your database queries be much reduced with minimal effort.

co-authored-by: Andreas Pelme <andreas@pelme.se>
co-authored-by: Simon Charette <charette.s@gmail.com>
co-authored-by: Jacob Walls <jacobtylerwalls@gmail.com>
2025-10-16 14:52:22 -04:00
Jacob Walls
bee64561a6 Refs #36648 -- Removed hardcoded pk in CompositePKAggregateTests.
Some checks are pending
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-10-15 23:44:14 -04:00
Clifford Gama
6862d46dd9 Fixed 36622 -- Prevented LazyObject FileField storages from evaluating at boot time.
Co-authored-by: Fabien MICHEL <fmichel@adista.fr>
2025-10-15 18:25:08 -03:00
Mariusz Felisiak
5a2490a19d Skipped GISFunctionsTests.test_geometry_type() test for MultiPoint on MariaDB and GEOS 3.12+.
GEOSWKTWriter_write() behavior was changed in GEOS 3.12+ to include
parentheses for sub-members (https://github.com/libgeos/geos/pull/903).

MariaDB doesn't accept WKT representations with additional parentheses
for MultiPoint. This is an accepted bug (MDEV-36166) in MariaDB that
should be fixed in the future:

- https://jira.mariadb.org/browse/MDEV-36166
2025-10-15 15:03:07 +02:00
Mariusz Felisiak
118df57d8d Moved object creation to subTest() in GISFunctionsTests.test_geometry_type() test. 2025-10-15 15:03:07 +02:00
Jacob Walls
02eed4f378 Fixed #36648, Refs #33772 -- Accounted for composite pks in first()/last() when aggregating.
Some checks failed
Linters / flake8 (push) Waiting to run
Linters / isort (push) Waiting to run
Linters / black (push) Waiting to run
Tests / JavaScript tests (push) Waiting to run
Tests / Windows, SQLite, Python 3.13 (push) Waiting to run
Docs / lint-docs (push) Has been cancelled
Docs / spelling (push) Has been cancelled
Docs / blacken-docs (push) Has been cancelled
2025-10-14 15:48:29 -04:00
Thibaut Decombe
d0c8f89c94 Refs #31223 -- Added __class_getitem__() to SetPasswordMixin.
Some checks are pending
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-10-14 08:13:52 -04:00
antoliny0919
bc03f1064e Fixed #34041 -- Added aria-current attribute to admin breadcrumbs.
Co-authored by: farita1699 <uwanjerry25@gmail.com>
2025-10-14 08:10:43 -04:00
Jacob Walls
1ae8a42af1 Removed reference to "manager" in ForeignKeyTests.
Follow-up to 0de89b6f8d.
2025-10-13 16:12:44 -04:00
Sarah Boyce
5b51e6f759 Fixed #36611, Refs #36580 -- Added system check for multicolumn ForeignObject in Meta.indexes/constraints/unique_together.
Some checks are pending
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
ForeignObjects with multiple `from_fields` are not supported in these
options.

Co-authored-by: Jacob Walls <jacobtylerwalls@gmail.com>
Co-authored-by: Natalia <124304+nessita@users.noreply.github.com>
2025-10-13 14:53:39 -03:00
Simon Charette
edde2891c3 Fixed #36660 -- Fixed a regression in descending Index local field checks.
Regression in 8638d8bf74.

Refs #36273.

Thanks Federico Bond for the report.
2025-10-13 10:42:23 -03:00
Mariusz Felisiak
5bd775703c Fixed #36623 -- Dropped support for PostgreSQL 14 and PostGIS 3.1. 2025-10-03 17:12:57 -04:00
Mariusz Felisiak
6cb641ba75
Refs #36491 -- Skipped ParallelTestSuiteTest.test_buffer_mode_reports_setupclass_failure() without tblib.
Some checks failed
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-10-02 13:20:01 +02:00
Sarah Boyce
924a0c092e Fixed CVE-2025-59682 -- Fixed potential partial directory-traversal via archive.extract().
Thanks stackered for the report.

Follow up to 05413afa8c.
2025-10-01 08:12:07 -04:00
Mariusz Felisiak
41b43c74bd Fixed CVE-2025-59681 -- Protected QuerySet.annotate(), alias(), aggregate(), and extra() against SQL injection in column aliases on MySQL/MariaDB.
Thanks sw0rd1ight for the report.

Follow up to 93cae5cb2f.
2025-10-01 08:11:45 -04:00
Adam Johnson
8b241f84e2 Fixed #36614 -- Deprecated QuerySet.values_list(flat=True) without a field.
Some checks failed
Docs / spelling (push) Waiting to run
Docs / blacken-docs (push) Waiting to run
Docs / lint-docs (push) Waiting to run
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
Thanks to Jacob Walls and Simon Charette for their input.

co-authored-by: Sarah Boyce <42296566+sarahboyce@users.noreply.github.com>
2025-09-30 08:46:28 +02:00
Mariusz Felisiak
8b84364d46
Fixed assertIndexExists() crash when non-index constraint exists on the same columns. 2025-09-29 23:01:12 +02:00
Shubham Singh
be581ff473 Fixed #36491 -- Fixed crash in ParallelTestRunner with --buffer.
Some checks failed
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
Thanks Javier Buzzi and Adam Johnson for reviews.

Co-authored-by: Simon Charette <charette.s@gmail.com>
2025-09-26 10:55:30 -04:00
Jacob Walls
7894776bc9 Refs #28526 -- Provided URLResolver namespace in technical 404 template.
Some checks are pending
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 avoids looking up the nonexistent "name" attribute on URLResolver,
which logs verbosely.
2025-09-26 14:06:39 +02:00
John Parton
1820d35b17 Fixed #36605 -- Added support for QuerySet.in_bulk() after .values() or .values_list().
co-authored-by: Adam Johnson <me@adamj.eu>
co-authored-by: Simon Charette <charette.s@gmail.com>
2025-09-25 08:51:43 -04:00
SaJH
68aae8878f Fixed #36434 -- Preserved unbuffered stdio (-u) in autoreloader child.
Some checks are pending
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-09-25 11:38:28 +02:00
Mridul Dhall
b67a36ec6f Fixed #36543 -- Fixed time formats for fr_CA.
Thanks Chris Anderson for the report.
2025-09-23 16:52:47 +02:00
saJaeHyukc
748551fea0 Fixed #36264 -- Excluded proxy neighbors of parents from deletion collection when keep_parents=True.
Signed-off-by: saJaeHyukc <wogur981208@gmail.com>
2025-09-23 16:40:57 +02:00
David Smith
e20e189045 Refs #33783 -- Added IsEmpty GIS database function and __isempty lookup on SpatiaLite.
Some checks are pending
Docs / blacken-docs (push) Waiting to run
Docs / spelling (push) Waiting to run
Tests / JavaScript tests (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
2025-09-22 22:04:42 -04:00
Mariusz Felisiak
6fe96639ba
Bumped versions in pre-commit and npm configurations.
Some checks are pending
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-09-22 17:25:19 +02:00
Ryan P Kilby
f9a44cc0fa Fixed #35453 -- Made ManyToManyField.concrete False.
ManyToManyField was already excluded from fields, concrete_fields,
and local_concrete_fields in Options.
2025-09-22 09:52:22 -04:00
Shubham Singh
dce1b9c2de Fixed #36480 -- Made values() resolving error mention unselected aliases.
Follow-up to cb13792938. Refs #34437.
2025-09-22 08:35:53 -04:00
Simon Charette
af84cfba59 Fixed #36612 -- Fixed a KeyTextTransform crash on MySQL against annotations.
Some checks are pending
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
MySQL only supports the ->> when used directly against columns, this can be
inferred by the presence of lhs.output_field.model as model bounds fields are
directly tied to columns.

Purposely don't systematically switch to using JSON_QUOTE(JSON_EXTRACT(...))
as there might be functional indices out there that rely on the SQL remaining
stable between versions.

Thanks Jacob Tavener for the report.
2025-09-22 09:00:24 +02:00
Samriddha9619
a36df6890d Fixed #36488 -- Fixed merging of query strings in RedirectView.
Co-authored-by: Ethan Jucovy <ethan.jucovy@gmail.com>
Co-authored-by: Natalia <124304+nessita@users.noreply.github.com>
2025-09-22 08:54:08 +02:00
Senthil Kumar
5ee651f255 Fixed #36369 -- Cleared additional cached properties in apps.clear_cache().
Thanks Clifford Gama for the report.

Co-authored-by: Jacob Walls <jacobtylerwalls@gmail.com>
2025-09-19 14:57:05 -04:00
사재혁
23b6594026
Fixed #36584, Refs #36149 -- Allowed subquery values against tuple in lookup via ForeignObject. 2025-09-19 13:15:41 -04:00
Sarah Boyce
7528979153 Added cleanup of cache clearing to DjangoFilePrefixesTests.setUp().
Some checks failed
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
Docs / lint-docs (push) Has been cancelled
2025-09-19 09:49:03 +02:00
Adam Johnson
74a9c2711c Refs #28586 -- Split descriptor from GenericForeignKey.
Some checks are pending
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 makes GenericForeignKey more similar to other fields which act as
descriptors, preparing it to add “fetcher protocol” support in a clear and
consistent way.
2025-09-18 19:44:16 -04:00
Jacob Walls
cebbd5a6ad Advanced deprecation warnings for Django 6.1. 2025-09-17 15:17:05 -03:00
Jacob Walls
b83204a06e Increased the default PBKDF2 iterations for Django 6.1. 2025-09-17 15:17:05 -03:00
Jacob Walls
0655d958bd Refs #36390 -- Removed support for RemoteUserMiddleware subclasses missing aprocess_request().
Per deprecation timeline.
2025-09-17 15:17:05 -03:00