<feed xmlns='http://www.w3.org/2005/Atom'>
<title>django.git/tests/auth_tests/test_forms.py, branch stable/6.0.x</title>
<subtitle>django
</subtitle>
<id>http://cgit.adnoto.dev/django.git/atom?h=stable%2F6.0.x</id>
<link rel='self' href='http://cgit.adnoto.dev/django.git/atom?h=stable%2F6.0.x'/>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/'/>
<updated>2026-02-24T23:36:09Z</updated>
<entry>
<title>[6.0.x] Applied Black's 2026 stable style.</title>
<updated>2026-02-24T23:36:09Z</updated>
<author>
<name>Mariusz Felisiak</name>
<email>felisiak.mariusz@gmail.com</email>
</author>
<published>2026-01-18T20:26:56Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=090f1da56e663e9f840e307e73b5cf011cb7b061'/>
<id>urn:sha1:090f1da56e663e9f840e307e73b5cf011cb7b061</id>
<content type='text'>
https://github.com/psf/black/releases/tag/26.1.0

Backport of 6cff02078799b7c683a0d39630d49ab4fe532e7c from main.
</content>
</entry>
<entry>
<title>[6.0.x] Refs #31223 -- Added __class_getitem__() to SetPasswordMixin.</title>
<updated>2025-10-14T12:15:01Z</updated>
<author>
<name>Thibaut Decombe</name>
<email>thibaut.decombe@gmail.com</email>
</author>
<published>2025-07-13T18:01:02Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=b077982b3eb4be9bb86d670221902442efb7ab31'/>
<id>urn:sha1:b077982b3eb4be9bb86d670221902442efb7ab31</id>
<content type='text'>
Backport of d0c8f89c942d1379724bdd37127076d13452f71d from main.
</content>
</entry>
<entry>
<title>Fixed #35581 -- Updated django.core.mail to Python's modern email API.</title>
<updated>2025-07-25T11:50:02Z</updated>
<author>
<name>Mike Edmunds</name>
<email>medmunds@gmail.com</email>
</author>
<published>2024-12-23T23:01:36Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=9ab1991689000821a4d86b8617e1c1455a327482'/>
<id>urn:sha1:9ab1991689000821a4d86b8617e1c1455a327482</id>
<content type='text'>
- Changed EmailMessage.message() to construct a "modern email API"
  email.message.EmailMessage and added policy keyword arg.
- Added support for modern MIMEPart objects in EmailMessage.attach()
  (and EmailMessage constructor, EmailMessage.attachments list).
- Updated SMTP EmailBackend to use modern email.policy.SMTP.

Deprecated:
- Attaching MIMEBase objects (replace with MIMEPart)
- BadHeaderError (modern email uses ValueError)
- SafeMIMEText, SafeMIMEMultipart (unnecessary for modern email)
- django.core.mail.forbid_multi_line_headers()
  (undocumented, but exposed via `__all__` and in wide use)
- django.core.mail.message.sanitize_address()
  (undocumented, but in wide use)

Removed without deprecation (all undocumented):
- EmailMessage.mixed_subtype
- EmailMultiAlternatives.alternative_subtype
- Support for setting (undocumented) EmailMessage.encoding property
  to a legacy email.charset.Charset object

Related changes:
- Dropped tests for incorrect RFC 2047 encoding of non-ASCII email
  address localparts. This is specifically prohibited by RFC 2047, and
  not supported by any known MTA or email client. (Python still
  mis-applies encoded-word to non-ASCII localparts, but it is a bug that
  may be fixed in the future.)
- Added tests that try to discourage using Python's legacy email APIs
  in future updates to django.core.mail.
</content>
</entry>
<entry>
<title>Refs #36500 -- Rewrapped long docstrings and block comments via a script.</title>
<updated>2025-07-23T23:17:55Z</updated>
<author>
<name>django-bot</name>
<email>ops@djangoproject.com</email>
</author>
<published>2025-07-23T03:41:41Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=69a93a88edb56ba47f624dac7a21aacc47ea474f'/>
<id>urn:sha1:69a93a88edb56ba47f624dac7a21aacc47ea474f</id>
<content type='text'>
Rewrapped long docstrings and block comments to 79 characters + newline
using script from https://github.com/medmunds/autofix-w505.
</content>
</entry>
<entry>
<title>Fixed #36163 -- Deprecated most positional arguments in django.core.mail.</title>
<updated>2025-07-17T17:01:16Z</updated>
<author>
<name>Mike Edmunds</name>
<email>medmunds@gmail.com</email>
</author>
<published>2025-07-16T22:01:49Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=fc793fc303a3d516ab51bb21aa317031caabe7b4'/>
<id>urn:sha1:fc793fc303a3d516ab51bb21aa317031caabe7b4</id>
<content type='text'>
In public mail APIs, changed less frequently used parameters from
keyword-or-positional to keyword-only, emitting a warning during the
required deprecation period.
</content>
</entry>
<entry>
<title>Refs #35959 -- Added render_password_as_hash auth template tag for password rendering.</title>
<updated>2025-04-17T15:00:20Z</updated>
<author>
<name>Sarah Boyce</name>
<email>42296566+sarahboyce@users.noreply.github.com</email>
</author>
<published>2025-04-16T18:44:00Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=8a0ad1ebe313a4f4fca6e9068c06ee400d15b8a4'/>
<id>urn:sha1:8a0ad1ebe313a4f4fca6e9068c06ee400d15b8a4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fixed #34917 -- Underlined links in the main content area of the admin.</title>
<updated>2025-03-27T12:27:33Z</updated>
<author>
<name>antoliny0919</name>
<email>antoliny0919@gmail.com</email>
</author>
<published>2025-03-27T07:43:57Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=849f8307a5bb33465252d0891a9b2c47dde65889'/>
<id>urn:sha1:849f8307a5bb33465252d0891a9b2c47dde65889</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fixed #36140 -- Allowed BaseUserCreationForm to define non required password fields.</title>
<updated>2025-02-02T01:49:07Z</updated>
<author>
<name>nessita</name>
<email>124304+nessita@users.noreply.github.com</email>
</author>
<published>2025-02-02T01:49:07Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=d15454a6e84a595ffc8dc1b926282f484f782a8f'/>
<id>urn:sha1:d15454a6e84a595ffc8dc1b926282f484f782a8f</id>
<content type='text'>
Regression in e626716c28b6286f8cf0f8174077f3d2244f3eb3.

Thanks buffgecko12 for the report and Sarah Boyce for the review.</content>
</entry>
<entry>
<title>Fixed CVE-2024-45231 -- Avoided server error on password reset when email sending fails.</title>
<updated>2024-09-03T12:22:32Z</updated>
<author>
<name>Natalia</name>
<email>124304+nessita@users.noreply.github.com</email>
</author>
<published>2024-08-19T17:47:38Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=8c35a0a903fd979e3262fe300ca084ffbfb300d6'/>
<id>urn:sha1:8c35a0a903fd979e3262fe300ca084ffbfb300d6</id>
<content type='text'>
On successful submission of a password reset request, an email is sent
to the accounts known to the system. If sending this email fails (due to
email backend misconfiguration, service provider outage, network issues,
etc.), an attacker might exploit this by detecting which password reset
requests succeed and which ones generate a 500 error response.

Thanks to Thibaut Spriet for the report, and to Mariusz Felisiak, Adam
Johnson, and Sarah Boyce for the reviews.
</content>
</entry>
<entry>
<title>Added helper and refactored PasswordResetFormTest to unify email sending tests.</title>
<updated>2024-08-23T14:13:31Z</updated>
<author>
<name>nessita</name>
<email>124304+nessita@users.noreply.github.com</email>
</author>
<published>2024-08-23T14:13:31Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=046a354217b80d4e8d9b575843d72413886f6bac'/>
<id>urn:sha1:046a354217b80d4e8d9b575843d72413886f6bac</id>
<content type='text'>
</content>
</entry>
</feed>
