Commit graph

14146 commits

Author SHA1 Message Date
Clifford Gama
adc25a9a66 Fixed #35381 -- Added JSONNull() expression.
Thanks Jacob Walls for the review.
2025-10-29 15:00:52 -04:00
Jacob Walls
1aa69a7491 Fixed #36678 -- Limited retries in ParallelTestRunner.
Thanks Natalia Bidart for the review.
2025-10-29 09:11:31 -03:00
Jacob Walls
787cc96ef6 Refs #35972 -- Returned params in a tuple in further lookups. 2025-10-29 07:38:20 -04:00
Jacob Walls
43933a1dca Reverted "Fixed #26434 -- Removed faulty clearing of ordering field when missing from explicit grouping."
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.14 (push) Has been cancelled
Tests / JavaScript tests (push) Has been cancelled
This reverts commit ea3a71c2d0.

The implementation was flawed, as self.group_by contains Cols, not aliases.
2025-10-28 11:40:01 -04:00
Jacob Walls
6436ec3210 Fixed #36680 -- Parametrized formatter discovery in AdminScriptTestCase. 2025-10-28 08:02:10 -04:00
Michal Mládek
ea3a71c2d0 Fixed #26434 -- Removed faulty clearing of ordering field when missing from explicit grouping.
Some checks failed
Docs / spelling (push) Has been cancelled
Docs / blacken-docs (push) Has been cancelled
Docs / lint-docs (push) Has been cancelled
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
Co-authored-by: Simon Charette <charette.s@gmail.com>
2025-10-27 15:11:19 -04:00
Mariusz Felisiak
c87daabbf3
Fixed #36624 -- Dropped support for MySQL < 8.4.
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 / JavaScript tests (push) Waiting to run
Tests / Windows, SQLite, Python 3.14 (push) Waiting to run
2025-10-27 15:05:23 +01:00
Matthew Shirley
4744e9939b Fixed #36683 -- Added error message on QuerySet.update() following distinct(*fields).
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.14 (push) Has been cancelled
Tests / JavaScript tests (push) Has been cancelled
2025-10-25 12:21:27 -04:00
Ken Nzioka
3ff32c50d1 Fixed #36674 -- Fixed memory leak in select_related().
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-24 15:51:39 -04:00
Natalia
6fcbbe0b85 Fixed IntegrityError in bulk_create.tests.BulkCreateTransactionTests due to duplicate primary keys.
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
Some tests in BulkCreateTransactionTests were inserting Country objects
with hardcoded primary keys, which could conflict with existing rows
(if the sequence value wasn't bumped by another test).

Updated the tests to dynamically select an unused primary key instead.

Thanks to Simon Charette for the exhaustive and enlightening review.
2025-10-24 11:33:40 -03:00
Mariusz Felisiak
5e2bbebed9
Refs #36664 -- Added Python 3.15 to daily builds.
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-22 15:36:10 +02:00
Mariusz Felisiak
185b049e9e
Refs #36499 -- Made TestUtilsHtml.test_strip_tags() assume behavior change in X.Y.0 version for Python 3.14+.
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
This also removes unsupported versions of Python from the test dict.
2025-10-22 10:04:38 +02:00
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