<feed xmlns='http://www.w3.org/2005/Atom'>
<title>django.git/docs/topics/serialization.txt, branch main</title>
<subtitle>django
</subtitle>
<id>http://cgit.adnoto.dev/django.git/atom?h=main</id>
<link rel='self' href='http://cgit.adnoto.dev/django.git/atom?h=main'/>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/'/>
<updated>2026-01-12T21:38:32Z</updated>
<entry>
<title>Refs #36769 -- Raised SuspiciousOperation for unexpected nested tags in XML Deserializer.</title>
<updated>2026-01-12T21:38:32Z</updated>
<author>
<name>Jacob Walls</name>
<email>jacobtylerwalls@gmail.com</email>
</author>
<published>2026-01-07T21:23:48Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=73c5e94521c5b97e27cd2fe2d5b5c2e65f402755'/>
<id>urn:sha1:73c5e94521c5b97e27cd2fe2d5b5c2e65f402755</id>
<content type='text'>
Thanks Shai Berger and Natalia Bidart for reviews.
</content>
</entry>
<entry>
<title>Fixed #35729 -- Enabled natural key serialization opt-out for subclasses.</title>
<updated>2025-12-03T20:04:52Z</updated>
<author>
<name>rimi0108</name>
<email>hyerimc858@gmail.com</email>
</author>
<published>2025-10-04T04:52:59Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=93540b34d4ef46f68df2c8bfe90447d0f649a852'/>
<id>urn:sha1:93540b34d4ef46f68df2c8bfe90447d0f649a852</id>
<content type='text'>
Refactored serialization logic to allow models inheriting a natural_key()
method (e.g. AbstractBaseUser) to explicitly opt out of natural key
serialization by returning an empty tuple from the method.

Thanks Jonas Dittrich for the report.

Co-authored-by: Jacob Walls &lt;jacobtylerwalls@gmail.com&gt;
</content>
</entry>
<entry>
<title>Fixed CVE-2025-64460 -- Corrected quadratic inner text accumulation in XML serializer.</title>
<updated>2025-12-02T12:21:07Z</updated>
<author>
<name>Shai Berger</name>
<email>shai@platonix.com</email>
</author>
<published>2025-10-11T18:42:56Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=50efb718b31333051bc2dcb06911b8fa1358c98c'/>
<id>urn:sha1:50efb718b31333051bc2dcb06911b8fa1358c98c</id>
<content type='text'>
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 &lt;jacobtylerwalls@gmail.com&gt;
Co-authored-by: Natalia &lt;124304+nessita@users.noreply.github.com&gt;
</content>
</entry>
<entry>
<title>Fixed #36581 -- Updated serialization examples from XML to JSON.</title>
<updated>2025-09-18T13:44:05Z</updated>
<author>
<name>CodingWithSaksham</name>
<email>sakshamthecoder@gmail.com</email>
</author>
<published>2025-09-06T09:10:37Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=762d3be8c559b0abf415be8d6117f04fb6347983'/>
<id>urn:sha1:762d3be8c559b0abf415be8d6117f04fb6347983</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Removed versionadded/changed annotations for 5.2.</title>
<updated>2025-09-17T18:17:05Z</updated>
<author>
<name>Jacob Walls</name>
<email>jacobtylerwalls@gmail.com</email>
</author>
<published>2025-09-05T17:49:08Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=00a84fc6f3bb8cca15113e4d41e710123d182b4a'/>
<id>urn:sha1:00a84fc6f3bb8cca15113e4d41e710123d182b4a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Refs #36485 -- Rewrapped docs to 79 columns line length.</title>
<updated>2025-08-25T13:51:10Z</updated>
<author>
<name>David Smith</name>
<email>smithdc@gmail.com</email>
</author>
<published>2025-07-25T09:24:17Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=f81e6e3a53ee36e3f730a71aa55a5744982dd016'/>
<id>urn:sha1:f81e6e3a53ee36e3f730a71aa55a5744982dd016</id>
<content type='text'>
Lines in the docs files were manually adjusted to conform to the
79 columns limit per line (plus newline), improving readability and
consistency across the content.
</content>
</entry>
<entry>
<title>Fixed #29522 -- Refactored the Deserializer functions to classes.</title>
<updated>2024-09-17T09:00:49Z</updated>
<author>
<name>Amir Karimi</name>
<email>amk9978@gmail.com</email>
</author>
<published>2024-09-12T08:56:18Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=ee5147cfd7de2add74a285537a8968ec074e70cd'/>
<id>urn:sha1:ee5147cfd7de2add74a285537a8968ec074e70cd</id>
<content type='text'>
Co-authored-by: Emad Mokhtar &lt;emad.mokhtar@veneficus.nl&gt;
</content>
</entry>
<entry>
<title>Fixed #34140 -- Reformatted code blocks in docs with blacken-docs.</title>
<updated>2023-03-01T12:03:56Z</updated>
<author>
<name>django-bot</name>
<email>ops@djangoproject.com</email>
</author>
<published>2023-02-28T19:53:28Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=14459f80ee3a9e005989db37c26fd13bb6d2fab2'/>
<id>urn:sha1:14459f80ee3a9e005989db37c26fd13bb6d2fab2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Refs #34140 -- Corrected rst code-block and various formatting issues in docs.</title>
<updated>2023-02-28T11:21:37Z</updated>
<author>
<name>Joseph Victor Zammit</name>
<email>jvzammit@gmail.com</email>
</author>
<published>2023-01-23T20:29:05Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=ba755ca13123d2691a0926ddb64e5d0a2906a880'/>
<id>urn:sha1:ba755ca13123d2691a0926ddb64e5d0a2906a880</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Refs #34140 -- Applied rst code-block to non-Python examples.</title>
<updated>2023-02-10T18:19:13Z</updated>
<author>
<name>Carlton Gibson</name>
<email>carlton.gibson@noumenal.es</email>
</author>
<published>2023-02-09T15:48:46Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=534ac4829764f317cf2fbc4a18354fcc998c1425'/>
<id>urn:sha1:534ac4829764f317cf2fbc4a18354fcc998c1425</id>
<content type='text'>
Thanks to J.V. Zammit, Paolo Melchiorre, and Mariusz Felisiak for
reviews.
</content>
</entry>
</feed>
