<feed xmlns='http://www.w3.org/2005/Atom'>
<title>django.git/django/utils, 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-04-29T17:47:49Z</updated>
<entry>
<title>Fixed #37067 -- Added trailing slash in django_file_prefixes().</title>
<updated>2026-04-29T17:47:49Z</updated>
<author>
<name>Fashad Ahmed</name>
<email>fashad.ahmed20@gmail.com</email>
</author>
<published>2026-04-28T20:38:36Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=60a9c70496e5d7b971928ce3da5b47c8836a4def'/>
<id>urn:sha1:60a9c70496e5d7b971928ce3da5b47c8836a4def</id>
<content type='text'>
Ensure skip_file_prefixes does not match sibling packages like django*.

Bug in f42b89f1bf49a5b89ed852b60f79342320a81c5e
and 34bd3ed944bf38792c631b55e581963d44d52284.
</content>
</entry>
<entry>
<title>Refs #35514 -- Added warn_about_external_use() deprecation utility.</title>
<updated>2026-04-28T00:58:06Z</updated>
<author>
<name>Mike Edmunds</name>
<email>medmunds@gmail.com</email>
</author>
<published>2026-04-25T19:57:15Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=32a3b4aa695e76ced1b2829b178e630b9ac62dce'/>
<id>urn:sha1:32a3b4aa695e76ced1b2829b178e630b9ac62dce</id>
<content type='text'>
Implemented a new `warn_about_external_use()` helper to conditionally
issue warnings depending on whether a deprecated feature is used from
within Django.

Fixed `LazySettings._show_deprecation_warning()` (Refs #26029) to work
correctly when called from anywhere in `LazySettings`. Previously, it
assumed a specific code path through `LazyObject.__getattribute__()` and
an `@property` getter on `LazySettings`.
</content>
</entry>
<entry>
<title>Fixed #36991 -- Raised BadRequest for invalid encodings in Content-Type headers.</title>
<updated>2026-04-22T18:25:08Z</updated>
<author>
<name>Dinesh</name>
<email>dineshthumma15@gmail.com</email>
</author>
<published>2026-03-21T17:21:11Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=dc467fdc3b5744cec71fab876c23a14013e2510b'/>
<id>urn:sha1:dc467fdc3b5744cec71fab876c23a14013e2510b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Refs #35440 -- Optimized parse_header_parameters() for the simplest case.</title>
<updated>2026-04-08T21:30:05Z</updated>
<author>
<name>Pravin Kamble</name>
<email>iampbkamble@gmail.com</email>
</author>
<published>2026-01-13T14:51:50Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=09f27cc373eb1e6e5e8b286204809a79b61d55c3'/>
<id>urn:sha1:09f27cc373eb1e6e5e8b286204809a79b61d55c3</id>
<content type='text'>
Added a fast-path to parse_header_parameters
Benchmark results (50,000 iterations):
- Simple headers: ~73% improvement

Thanks Nick Pope (@ngnpope) for the review.
</content>
</entry>
<entry>
<title>Removed PY38 and PY39 version constants.</title>
<updated>2026-04-08T12:44:06Z</updated>
<author>
<name>Jacob Walls</name>
<email>jacobtylerwalls@gmail.com</email>
</author>
<published>2026-04-07T20:02:32Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=f86eb5f89bc0bd05b407040082d0679feff09090'/>
<id>urn:sha1:f86eb5f89bc0bd05b407040082d0679feff09090</id>
<content type='text'>
As the oldest supported version is Django 5.2, we only need constants for PY310+.
</content>
</entry>
<entry>
<title>Fixed #36894 -- Added TypeError for conflicting arguments in mail APIs.</title>
<updated>2026-03-16T16:51:58Z</updated>
<author>
<name>Praful Gulani</name>
<email>prafulgulani555@gmail.com</email>
</author>
<published>2026-02-12T14:33:25Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=2333d56696141303000986a16553205ece993c67'/>
<id>urn:sha1:2333d56696141303000986a16553205ece993c67</id>
<content type='text'>
A TypeError is now raised if fail_silently=True, auth_user, or auth_password
are provided along a connection.

Updated AdminEmailHandler in django.utils.log to remove redundant
fail_silently=True.

Thanks Mike Edmunds for the report and Jacob Tyler Walls for the review.
</content>
</entry>
<entry>
<title>Fixed #36943 -- Preserved any exception from URLconf module in autoreloader.</title>
<updated>2026-03-10T15:32:39Z</updated>
<author>
<name>varunkasyap</name>
<email>varunkasyap@hotmail.com</email>
</author>
<published>2026-03-03T13:40:51Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=3483bfc0920b0ef0b28563aabe8ff546699b6ece'/>
<id>urn:sha1:3483bfc0920b0ef0b28563aabe8ff546699b6ece</id>
<content type='text'>
Co-authored-by: Jacob Walls &lt;jacobtylerwalls@gmail.com&gt;
</content>
</entry>
<entry>
<title>Fixed #36293 -- Avoided buffering streaming responses in GZipMiddleware.</title>
<updated>2026-03-09T12:41:00Z</updated>
<author>
<name>farhan</name>
<email>farhanalirazaazeemi@gmail.com</email>
</author>
<published>2025-12-13T18:33:33Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=12bb16da8fbadac34e2de318cc79d7d765f35a96'/>
<id>urn:sha1:12bb16da8fbadac34e2de318cc79d7d765f35a96</id>
<content type='text'>
This avoids latency and/or blocking.

The example of streaming a CSV file was rewritten to employ batching for
greater efficiency in all layers (db, HTTP, etc.). The improved
performance from batching should outweigh the drag introduced by an
additional byte for each flush.

Co-authored-by: huoyinghui &lt;huoyinghui@users.noreply.github.com&gt;
</content>
</entry>
<entry>
<title>Fixed CVE-2026-25674 -- Prevented potentially incorrect permissions on file system object creation.</title>
<updated>2026-03-03T12:09:32Z</updated>
<author>
<name>Natalia</name>
<email>124304+nessita@users.noreply.github.com</email>
</author>
<published>2026-01-21T21:03:20Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=019e44f67a8dace67b786e2818938c8691132988'/>
<id>urn:sha1:019e44f67a8dace67b786e2818938c8691132988</id>
<content type='text'>
This fix introduces `safe_makedirs()` in the `os` utils as a safer
alternative to `os.makedirs()` that avoids umask-related race conditions
in multi-threaded environments.

This is a workaround for https://github.com/python/cpython/issues/86533
and the solution is based on the fix being proposed for CPython.

Co-authored-by: Gregory P. Smith &lt;68491+gpshead@users.noreply.github.com&gt;
Co-authored-by: Zackery Spytz &lt;zspytz@gmail.com&gt;

Refs CVE-2020-24583 and #31921.

Thanks Tarek Nakkouch for the report, and Jake Howard, Jacob Walls, and
Shai Berger for reviews.
</content>
</entry>
<entry>
<title>Fixed #36961 -- Fixed TypeError in deprecation warnings if Django is imported by namespace.</title>
<updated>2026-03-02T19:08:11Z</updated>
<author>
<name>Jacob Walls</name>
<email>jacobtylerwalls@gmail.com</email>
</author>
<published>2026-02-27T19:43:55Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=c1d8646ec219b8b90ebdd463f40e5767876658a0'/>
<id>urn:sha1:c1d8646ec219b8b90ebdd463f40e5767876658a0</id>
<content type='text'>
</content>
</entry>
</feed>
