<feed xmlns='http://www.w3.org/2005/Atom'>
<title>chango.git/django/utils, branch devmain</title>
<subtitle>django
</subtitle>
<id>http://cgit.adnoto.dev/chango.git/atom?h=devmain</id>
<link rel='self' href='http://cgit.adnoto.dev/chango.git/atom?h=devmain'/>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/chango.git/'/>
<updated>2026-06-10T23:14:18Z</updated>
<entry>
<title>Fixed #37102 -- Used **kwargs instead of *kwargs in CountsDict.__init__().</title>
<updated>2026-06-10T23:14:18Z</updated>
<author>
<name>muss-Snippy38-lang</name>
<email>hitlermuss38@gmail.com</email>
</author>
<published>2026-05-19T07:27:28Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/chango.git/commit/?id=e8cff2921ba169d806a15de18304f431f12700f4'/>
<id>urn:sha1:e8cff2921ba169d806a15de18304f431f12700f4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fixed #37142 -- Moved django_file_prefixes() to django.utils.warnings.</title>
<updated>2026-06-10T14:17:34Z</updated>
<author>
<name>zhengkangyang</name>
<email>1872483761@qq.com</email>
</author>
<published>2026-06-06T08:17:24Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/chango.git/commit/?id=f970a98e464320c09dde8d45009eadfb4d038a57'/>
<id>urn:sha1:f970a98e464320c09dde8d45009eadfb4d038a57</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Refs CVE-2026-48587 -- Added helper to properly split header values.</title>
<updated>2026-06-08T23:06:46Z</updated>
<author>
<name>Natalia</name>
<email>124304+nessita@users.noreply.github.com</email>
</author>
<published>2026-06-03T00:38:35Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/chango.git/commit/?id=526b1b414d8e215bf627b5722df12a09346dbf6b'/>
<id>urn:sha1:526b1b414d8e215bf627b5722df12a09346dbf6b</id>
<content type='text'>
Extracted the repeated `split(",")` + per-token `.strip()` pattern into
a `split_header_value()` generator in django/utils/http.py. The previous
`cc_delim_re` regex only stripped whitespace adjacent to the comma
delimiter, leaving leading or trailing whitespace on the first and last
tokens. Now, `split_header_value()` strips every token fully, matching
RFC 9110's optional-whitespace rules.

Thanks to Shai Berger, Jacob Walls, and Sarah Boyce for reviews.
</content>
</entry>
<entry>
<title>Fixed CVE-2026-48587 -- Ignored whitespace padding when checking Vary header values.</title>
<updated>2026-06-03T11:37:26Z</updated>
<author>
<name>Jake Howard</name>
<email>git@theorangeone.net</email>
</author>
<published>2026-05-15T13:44:28Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/chango.git/commit/?id=42aa0b3364d312e7c6472258d8b0e9c0277fbf22'/>
<id>urn:sha1:42aa0b3364d312e7c6472258d8b0e9c0277fbf22</id>
<content type='text'>
Thanks to Navid Rezazadeh for the report and Jacob Walls for review.
</content>
</entry>
<entry>
<title>Fixed #28800 -- Added a listurls management command.</title>
<updated>2026-06-01T19:24:49Z</updated>
<author>
<name>Chris Rose</name>
<email>offline@offby1.net</email>
</author>
<published>2026-05-18T17:49:34Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/chango.git/commit/?id=9383fae0d55a553be3bda620db87fa9ee8a81478'/>
<id>urn:sha1:9383fae0d55a553be3bda620db87fa9ee8a81478</id>
<content type='text'>
Thanks JaeHyuck Sa, Jacob Walls, and Tim McCurrach for reviews.

Co-authored-by: Ülgen Sarıkavak &lt;ulgensrkvk@gmail.com&gt;
</content>
</entry>
<entry>
<title>Advanced deprecation warnings for Django 6.2.</title>
<updated>2026-05-20T20:17:41Z</updated>
<author>
<name>Sarah Boyce</name>
<email>42296566+sarahboyce@users.noreply.github.com</email>
</author>
<published>2026-05-13T15:58:19Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/chango.git/commit/?id=0c0bda7f79a2de89a55cfcc8e60467d6588f406f'/>
<id>urn:sha1:0c0bda7f79a2de89a55cfcc8e60467d6588f406f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fixed #35514 -- Implemented dictionary-based MAILERS.</title>
<updated>2026-05-13T21:00:56Z</updated>
<author>
<name>Mike Edmunds</name>
<email>medmunds@gmail.com</email>
</author>
<published>2026-04-01T23:59:14Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/chango.git/commit/?id=0f581cd29d42d1b5ed1dafb67794c2f3ce6705c9'/>
<id>urn:sha1:0f581cd29d42d1b5ed1dafb67794c2f3ce6705c9</id>
<content type='text'>
See DEP 0018.

Added:
* MAILERS setting.
* django.core.mail.mailers dict-like EmailBackend factory.
* `using` argument to mail sending APIs.
* `sent_using` attribute to mail.outbox messages in locmem backend.
* MAILERS in startproject settings template, set to console backend.
* AdminLogHandler.using argument.
* BrokenLinkEmailsMiddleware.send_mail() method.

Updated:
* BaseEmailBackend to track the MAILERS alias used to construct it, and
  to report errors for unknown kwargs (OPTIONS).
* EmailBackend implementations to initialize from kwargs (OPTIONS) only
  when MAILERS is being used.
* smtp.EmailBackend to require `host` option and to default `port`
  option based on SSL/TLS options.
* SimpleTestCase setup to substitute the locmem backend for all defined
  MAILERS configurations.
* Django's tests that send mail to define MAILERS.

Deprecated:
* EMAIL_BACKEND and other backend-related EMAIL_* settings.
* mail.get_connection().
* The `connection`, `fail_silently`, `auth_user`, and `auth_password`
  arguments to mail functions.
* The EmailMessage.connection attribute.
* BaseEmailBackend support for `fail_silently`. Backends that support
  fail_silently (SMTP, console, file) now implement it directly.
* AdminEmailHandler.email_backend argument.

Removed undocumented features without deprecation:
* EmailMessage.get_connection() method. (send() now raises an error if a
  subclass has attempted to override it.)
* EmailMessage.send() no longer sets self.connection to the connection
  used for sending. (It still _uses_ a pre-existing self.connection.)
* AdminEmailHandler.connection() method. (Init now raises an error if a
  subclass has attempted to override it.)

Thanks to Natalia Bidart for shepherding DEP 0018 and for extensive
reviews and suggestions on the implementation.

Thanks to Jacob Rief for the initial implementation and multiple
iterations while refining the design.

Co-authored-by: Jacob Rief &lt;jacob.rief@gmail.com&gt;
</content>
</entry>
<entry>
<title>Refs #36712, #36664 -- Used annotation_format parameter of getfullargspec() on Python 3.15.</title>
<updated>2026-05-08T15:52:50Z</updated>
<author>
<name>Jacob Walls</name>
<email>jacobtylerwalls@gmail.com</email>
</author>
<published>2026-05-06T19:39:41Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/chango.git/commit/?id=e7f539f813bd56a71ca3c1fbf379f47691002086'/>
<id>urn:sha1:e7f539f813bd56a71ca3c1fbf379f47691002086</id>
<content type='text'>
https://github.com/python/cpython/pull/149457
</content>
</entry>
<entry>
<title>Fixed #36784 -- Added csp_nonce_attr template tag for CSP nonce inclusion.</title>
<updated>2026-05-06T23:43:37Z</updated>
<author>
<name>Natalia</name>
<email>124304+nessita@users.noreply.github.com</email>
</author>
<published>2026-03-26T01:53:58Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/chango.git/commit/?id=5686ce41958b21f0ae5bfa290e8d4420a6349c1b'/>
<id>urn:sha1:5686ce41958b21f0ae5bfa290e8d4420a6349c1b</id>
<content type='text'>
New default tag `{% csp_nonce_attr %}` was added for explicit CSP nonce
inclusion into `&lt;script&gt;` and `&lt;link&gt;` elements.

`{% csp_nonce_attr %}` renders `nonce="&lt;value&gt;"` when `csp_nonce` is
present in the template context, and renders nothing otherwise.
`{% csp_nonce_attr media %}` renders a `Media` object's assets with the
nonce attr applied to each tag.

Thanks Jacob Walls for the accurate and spot on review comments.

Co-authored-by: Johannes Maron &lt;johannes@maron.family&gt;
</content>
</entry>
<entry>
<title>Fixed #37078 -- Deprecated SHA-1 default for salted_hmac() and base64_hmac() algorithm.</title>
<updated>2026-05-04T17:45:16Z</updated>
<author>
<name>Denny Biasiolli</name>
<email>dennybiasiolli@users.noreply.github.com</email>
</author>
<published>2026-04-30T17:53:33Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/chango.git/commit/?id=0f4fff79d33b7cc84822e66bd1fc16caf8222e3a'/>
<id>urn:sha1:0f4fff79d33b7cc84822e66bd1fc16caf8222e3a</id>
<content type='text'>
Deprecated the default value of the algorithm argument in
django.utils.crypto.salted_hmac() and django.core.signing.base64_hmac(),
which will change from 'sha1' to 'sha256' in Django 7.0.
</content>
</entry>
</feed>
