<feed xmlns='http://www.w3.org/2005/Atom'>
<title>django.git/tests/utils_tests/test_text.py, branch stable/5.2.x</title>
<subtitle>django
</subtitle>
<id>http://cgit.adnoto.dev/django.git/atom?h=stable%2F5.2.x</id>
<link rel='self' href='http://cgit.adnoto.dev/django.git/atom?h=stable%2F5.2.x'/>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/'/>
<updated>2026-02-25T16:12:17Z</updated>
<entry>
<title>[5.2.x] Fixed #36944 -- Removed MAX_LENGTH_HTML and related 5M chars limit references from HTML truncation docs.</title>
<updated>2026-02-25T16:12:17Z</updated>
<author>
<name>Natalia</name>
<email>124304+nessita@users.noreply.github.com</email>
</author>
<published>2026-02-25T13:37:38Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=703777cbbc268f62083c703fa27fa582b54bcc93'/>
<id>urn:sha1:703777cbbc268f62083c703fa27fa582b54bcc93</id>
<content type='text'>
Backport of bbc6818bc12f14c1764a7eb68556018195f56b59 from main.
</content>
</entry>
<entry>
<title>[5.2.x] Fixed CVE-2026-1285 -- Mitigated potential DoS in django.utils.text.Truncator for HTML input.</title>
<updated>2026-02-03T13:15:39Z</updated>
<author>
<name>Natalia</name>
<email>124304+nessita@users.noreply.github.com</email>
</author>
<published>2026-01-21T12:53:10Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=9f2ada875bbee62ac46032e38ddb22755d67ae5a'/>
<id>urn:sha1:9f2ada875bbee62ac46032e38ddb22755d67ae5a</id>
<content type='text'>
The `TruncateHTMLParser` used `deque.remove()` to remove tags from the
stack when processing end tags. With crafted input containing many
unmatched end tags, this caused repeated full scans of the tag stack,
leading to quadratic time complexity.

The fix uses LIFO semantics, only removing a tag from the stack when it
matches the most recently opened tag. This avoids linear scans for
unmatched end tags and reduces complexity to linear time.

Refs #30686 and 6ee37ada3241ed263d8d1c2901b030d964cbd161.

Thanks Seokchan Yoon for the report, and Jake Howard and Jacob Walls for
reviews.

Backport of a33540b3e20b5d759aa8b2e4b9ca0e8edd285344 from main.
</content>
</entry>
<entry>
<title>[5.2.x] Applied Black's 2025 stable style.</title>
<updated>2025-03-01T18:47:17Z</updated>
<author>
<name>Mariusz Felisiak</name>
<email>felisiak.mariusz@gmail.com</email>
</author>
<published>2025-03-01T18:41:37Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=53bb1d5a240a39d35abc11c6477ac5465c5fac2c'/>
<id>urn:sha1:53bb1d5a240a39d35abc11c6477ac5465c5fac2c</id>
<content type='text'>
https://github.com/psf/black/releases/tag/25.1.0
Backport of ff3aaf036f0cb66cd8f404cd51c603e68aaa7676 from main
</content>
</entry>
<entry>
<title>Refs CVE-2024-27351 -- Forwardported release notes and tests.</title>
<updated>2024-03-04T07:22:00Z</updated>
<author>
<name>Shai Berger</name>
<email>shai@platonix.com</email>
</author>
<published>2024-02-19T12:56:37Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=f6ad8c7676f85dfde5a279b6b1469251421289e2'/>
<id>urn:sha1:f6ad8c7676f85dfde5a279b6b1469251421289e2</id>
<content type='text'>
Co-Authored-By: Mariusz Felisiak &lt;felisiak.mariusz@gmail.com&gt;
</content>
</entry>
<entry>
<title>Fixed #30686 -- Used Python HTMLParser in utils.text.Truncator.</title>
<updated>2024-02-07T08:46:25Z</updated>
<author>
<name>David Smith</name>
<email>smithdc@gmail.com</email>
</author>
<published>2023-01-03T20:48:06Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=6ee37ada3241ed263d8d1c2901b030d964cbd161'/>
<id>urn:sha1:6ee37ada3241ed263d8d1c2901b030d964cbd161</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Refs #30686 -- Fixed text truncation for negative or zero lengths.</title>
<updated>2024-02-07T04:18:35Z</updated>
<author>
<name>David Smith</name>
<email>smithdc@gmail.com</email>
</author>
<published>2024-02-06T19:52:52Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=70f39e46f86b946c273340d52109824c776ffb4c'/>
<id>urn:sha1:70f39e46f86b946c273340d52109824c776ffb4c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Refs #30686 -- Improved test coverage of Truncator.</title>
<updated>2024-02-06T15:35:08Z</updated>
<author>
<name>David Smith</name>
<email>smithdc@gmail.com</email>
</author>
<published>2023-01-03T08:17:56Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=48a469395191e87d3b84ad35bae2c8b53d91ed61'/>
<id>urn:sha1:48a469395191e87d3b84ad35bae2c8b53d91ed61</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fixed CVE-2023-43665 -- Mitigated potential DoS in django.utils.text.Truncator when truncating HTML text.</title>
<updated>2023-10-04T12:22:26Z</updated>
<author>
<name>Natalia</name>
<email>124304+nessita@users.noreply.github.com</email>
</author>
<published>2023-09-19T12:51:48Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=17b51094d778b421bb2b3aae0c270894b050455d'/>
<id>urn:sha1:17b51094d778b421bb2b3aae0c270894b050455d</id>
<content type='text'>
Thanks Wenchao Li of Alibaba Group for the report.
</content>
</entry>
<entry>
<title>Removed unnecessary trailing commas in tests.</title>
<updated>2023-08-22T10:42:57Z</updated>
<author>
<name>konsti</name>
<email>konstin@mailbox.org</email>
</author>
<published>2023-08-22T10:42:57Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=48a1929ca050f1333927860ff561f6371706968a'/>
<id>urn:sha1:48a1929ca050f1333927860ff561f6371706968a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Refs #33476 -- Refactored code to strictly match 88 characters line length.</title>
<updated>2022-02-07T19:37:05Z</updated>
<author>
<name>Mariusz Felisiak</name>
<email>felisiak.mariusz@gmail.com</email>
</author>
<published>2022-02-04T07:08:27Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=7119f40c9881666b6f9b5cf7df09ee1d21cc8344'/>
<id>urn:sha1:7119f40c9881666b6f9b5cf7df09ee1d21cc8344</id>
<content type='text'>
</content>
</entry>
</feed>
