<feed xmlns='http://www.w3.org/2005/Atom'>
<title>django.git/django/db/models/sql, branch 5.1.14</title>
<subtitle>django
</subtitle>
<id>http://cgit.adnoto.dev/django.git/atom?h=5.1.14</id>
<link rel='self' href='http://cgit.adnoto.dev/django.git/atom?h=5.1.14'/>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/'/>
<updated>2025-10-01T12:53:17Z</updated>
<entry>
<title>[5.1.x] Fixed CVE-2025-59681 -- Protected QuerySet.annotate(), alias(), aggregate(), and extra() against SQL injection in column aliases on MySQL/MariaDB.</title>
<updated>2025-10-01T12:53:17Z</updated>
<author>
<name>Mariusz Felisiak</name>
<email>felisiak.mariusz@gmail.com</email>
</author>
<published>2025-09-10T07:53:52Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=01d2d770e22bffe53c7f1e611e2bbca94cb8a2e7'/>
<id>urn:sha1:01d2d770e22bffe53c7f1e611e2bbca94cb8a2e7</id>
<content type='text'>
Thanks sw0rd1ight for the report.

Follow up to 93cae5cb2f9a4ef1514cf1a41f714fef08005200.

Backport of 41b43c74bda19753c757036673ea9db74acf494a from main.
</content>
</entry>
<entry>
<title>[5.1.x] Fixed CVE-2025-57833 -- Protected FilteredRelation against SQL injection in column aliases.</title>
<updated>2025-09-03T11:31:32Z</updated>
<author>
<name>Jake Howard</name>
<email>git@theorangeone.net</email>
</author>
<published>2025-08-13T12:13:42Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=102965ea93072fe3c39a30be437c683ec1106ef5'/>
<id>urn:sha1:102965ea93072fe3c39a30be437c683ec1106ef5</id>
<content type='text'>
Thanks Eyal Gabay (EyalSec) for the report.

Backport of 51711717098d3f469f795dfa6bc3758b24f69ef7 from main.
</content>
</entry>
<entry>
<title>[5.1.x] Fixed CVE-2024-42005 -- Mitigated QuerySet.values() SQL injection attacks against JSON fields.</title>
<updated>2024-08-06T06:51:22Z</updated>
<author>
<name>Simon Charette</name>
<email>charette.s@gmail.com</email>
</author>
<published>2024-07-25T16:19:13Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=e2583fbc2ebffce11b4444a7cec6336513e81f8b'/>
<id>urn:sha1:e2583fbc2ebffce11b4444a7cec6336513e81f8b</id>
<content type='text'>
Thanks Eyal (eyalgabay) for the report.
</content>
</entry>
<entry>
<title>[5.1.x] Fixed #35643 -- Fixed a crash when ordering a QuerySet by a reference containing "__".</title>
<updated>2024-08-02T19:22:05Z</updated>
<author>
<name>Simon Charette</name>
<email>charette.s@gmail.com</email>
</author>
<published>2024-08-02T19:21:12Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=55f529270125e17bf428585734dbcb33332a46de'/>
<id>urn:sha1:55f529270125e17bf428585734dbcb33332a46de</id>
<content type='text'>
Regression in b0ad41198b3e333f57351e3fce5a1fb47f23f376.

Refs #34013. The initial logic did not consider that annotation aliases
can include lookup or transform separators.

Thanks Gert Van Gool for the report and Mariusz Felisiak for the review.
Backport of a16f13a8661297eda12c4177bb01fa2e5b5ccc56 from main.
</content>
</entry>
<entry>
<title>Refs #35356 -- Clarified select related with masked field logic.</title>
<updated>2024-04-23T16:17:17Z</updated>
<author>
<name>Simon Charette</name>
<email>charette.s@gmail.com</email>
</author>
<published>2024-04-06T03:20:41Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=195d885ca01b14e3ce9a1881c3b8f7074f953736'/>
<id>urn:sha1:195d885ca01b14e3ce9a1881c3b8f7074f953736</id>
<content type='text'>
By always including related objects in the select mask via adjusting the
defer logic (_get_defer_select_mask()), it becomes possible for
select_related_descend() to treat forward and reverse relationships
indistinctively.

This work also simplifies and adds comments to
select_related_descend() to make it easier to understand.
</content>
</entry>
<entry>
<title>Fixed #35356 -- Deferred self-referential foreign key fields adequately.</title>
<updated>2024-04-23T16:17:17Z</updated>
<author>
<name>Simon Charette</name>
<email>charette.s@gmail.com</email>
</author>
<published>2024-04-06T03:08:49Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=83f5478225588f31e7cbbfed63a4a2b936abc03f'/>
<id>urn:sha1:83f5478225588f31e7cbbfed63a4a2b936abc03f</id>
<content type='text'>
While refs #34612 surfaced issues with reverse one-to-one fields
deferrals, it missed that switching to storing remote fields would break
self-referential relationships.

This change switches to storing related objects in the select mask
instead of remote fields to prevent collisions when dealing with
self-referential relationships that might have a different directional
mask.

Despite fixing #21204 introduced a crash under some self-referential
deferral conditions, it was simply not working even before that as it
aggregated the sets of deferred fields by model.

Thanks Joshua van Besouw for the report and Mariusz Felisiak for the
review.
</content>
</entry>
<entry>
<title>Fixed #35294 -- Fixed TEXT format of QuerySet.explain() for long plans.</title>
<updated>2024-03-15T05:58:14Z</updated>
<author>
<name>Adam Johnson</name>
<email>me@adamj.eu</email>
</author>
<published>2024-03-13T18:10:54Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=cbf1e87398a58737e27e1b680283903caf661f90'/>
<id>urn:sha1:cbf1e87398a58737e27e1b680283903caf661f90</id>
<content type='text'>
co-authored-by: Gordon &lt;gordon.wrigley@gmail.com&gt;
co-authored-by: Simon Charette &lt;charette.s@gmail.com&gt;
</content>
</entry>
<entry>
<title>Fixed #35241 -- Cached model's full parent list.</title>
<updated>2024-02-26T04:38:31Z</updated>
<author>
<name>Adam Johnson</name>
<email>me@adamj.eu</email>
</author>
<published>2024-02-23T22:50:09Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=73d5eb808435bcf27ebc935847196ac9e97b6ddc'/>
<id>urn:sha1:73d5eb808435bcf27ebc935847196ac9e97b6ddc</id>
<content type='text'>
co-authored-by: Keryn Knight &lt;keryn@kerynknight.com&gt;
co-authored-by: Natalia &lt;124304+nessita@users.noreply.github.com&gt;
co-authored-by: David Smith &lt;smithdc@gmail.com&gt;
co-authored-by: Paolo Melchiorre &lt;paolo@melchiorre.org&gt;
</content>
</entry>
<entry>
<title>Fixed #35099 -- Prevented mutating queryset when combining with &amp; and | operators.</title>
<updated>2024-02-07T11:36:30Z</updated>
<author>
<name>Hisham Mahmood</name>
<email>hishammahmood41@gmail.com</email>
</author>
<published>2024-02-06T14:40:01Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=d79fba7d8e7bbcdf53535a14d57ead5a6863cd8d'/>
<id>urn:sha1:d79fba7d8e7bbcdf53535a14d57ead5a6863cd8d</id>
<content type='text'>
Thanks Alan for the report.

Co-authored-by: Mariusz Felisiak &lt;felisiak.mariusz@gmail.com&gt;
</content>
</entry>
<entry>
<title>Fixed #35135 -- Made FilteredRelation raise ValueError on querysets as rhs.</title>
<updated>2024-01-29T19:29:49Z</updated>
<author>
<name>Nicolas Delaby</name>
<email>nicolas.delaby@infarm.com</email>
</author>
<published>2024-01-23T10:51:24Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=820c5f1bacd41713bd30d8b5fefb66752ff15c4c'/>
<id>urn:sha1:820c5f1bacd41713bd30d8b5fefb66752ff15c4c</id>
<content type='text'>
Regression in 59f475470494ce5b8cbff816b1e5dafcbd10a3a3.
</content>
</entry>
</feed>
