summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-07-28Fixed #36522 -- Added support for filtering composite pks using a tuple of ↵Simon Charette
expressions. Thanks Jacob Walls for the report, and Sarah Boyce and Mariusz Felisiak for reviews.
2025-07-28Moved manual testing instructions from intro to submitting patches docs.Jordan Bae
The section on manual testing, including how to use a local checkout of Django, is moved from the contribution intro to the submitting patches docs. This makes it easier for reviewers and authors to follow best practices.
2025-07-25Refs #36438 -- Made FieldOperation.references_field() detect references in ↵Clifford Gama
GeneratedField.expression. Thanks to Simon Charette for the suggestion and review.
2025-07-25Fixed #36438 -- Made MigrationAutodetector remove generated fields before ↵Clifford Gama
their base fields. Thanks to Colton Saska for the report and to Simon Charette for the review.
2025-07-25Fixed #35581 -- Updated django.core.mail to Python's modern email API.Mike Edmunds
- 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.
2025-07-25Refs #35581 -- Added missing test for lazy email headers.Mike Edmunds
EmailMessage is intended to support lazy strings in any header field (via coercion to `str` in forbid_multi_line_headers() called from SafeMIMEMessage/Text/Multipart.__setitem__).
2025-07-25Fixed typo in docs/topics/email.txt.Mike Edmunds
2025-07-24Fixed typo in django/middleware/gzip.py.Mohamed Amine Mahmoud
2025-07-24Fixed #36516, Refs #36366 -- Fixed changelist footer layout with ↵antoliny0919
list_editable and list_filter. Regression in 3f59711581bd22ebd0f13fb040b15b69c0eee21f.
2025-07-23Fixed #36500 -- Set flake8 max-doc-length config to 79 columns.Mike Edmunds
Set flake8 max-doc-length to 79 to enforce smaller line length limit on docstrings and comments (per coding-style docs). Updated docs to clarify both requirements are enforced by flake8 and to remove some leftover language from the pre-black era.
2025-07-23Refs #36500 -- Corrected rewrapped long lines fixed via a script.Mike Edmunds
Manually reformatted some comments and docstrings where autofix_w505.py changed the meaning of the formatting.
2025-07-23Refs #36500 -- Rewrapped long docstrings and block comments via a script.django-bot
Rewrapped long docstrings and block comments to 79 characters + newline using script from https://github.com/medmunds/autofix-w505.
2025-07-23Refs #36500 -- Shortened some long docstrings and comments.Mike Edmunds
Manually reformatted some long docstrings and comments that would be damaged by the to-be-applied autofixer script, in cases where editorial judgment seemed necessary for style or wording changes.
2025-07-23Added accessibility guidelines for contributors.Thibaud Colas
2025-07-23Removed double spaces after periods and within phrases.Sarah Boyce
2025-07-23Fixed #36009 -- Confirmed support for PostGIS 3.5.David Smith
2025-07-23Refs #36009 -- Adjusted ↵David Smith
gis_tests.geoapp.tests.GeoLookupTest.test_relate_lookup for bug in PostGIS. ST_Relate() with PostGIS 3.5 and GEOS 3.13 gives a different result when a series of calls are made vs. single call of the same function. The fix for this is expected to be released in PostGIS 3.5.4 and 3.6.0. https://lists.osgeo.org/pipermail/postgis-devel/2025-July/030581.html https://trac.osgeo.org/postgis/ticket/5938
2025-07-22Standardized how method_decorator is used in contrib.auth views and admin.Claude Paroz
Updated django.contrib.auth's views and admin modules to apply decorators consistently.
2025-07-22Refs #36138 -- Corrected ADMINS setting format in ↵Mike Edmunds
django/conf/global_settings.py comment.
2025-07-22Fixed incorrectly concatenated string in ↵Mike Edmunds
SimpleBlockTagTests.test_simple_block_tag_with_context_missing_content().
2025-07-22Fixed #36226 -- Accepted str or bytes for password and salt in password hashers.Roel Delos Reyes
Co-authored-by: Screamadelica <1621456391@sjtu.edu.cn>
2025-07-22Fixed #36282 -- Used prefetched values in ForwardManyToOneDescriptor from ↵Take Weiland
indirect ancestors. When looking for cached values in ManyRelatedManager and ForwardManyToOneDescriptor walk up the whole chain of ancestors (as long as they are cached) to find the prefetched relation.
2025-07-22Fixed #36377 -- Added hints support to CreateExtension and subclasses.Anthony Sottile
2025-07-21Improved consistency of GEOS error messages.David Smith
2025-07-21Improved iteration of geometries in GEOS tests.David Smith
2025-07-21Added message to TypeError exceptions in GEOS WKTReader and WKBReader.David Smith
2025-07-21Used assertRaisesMessage and subTest where appropriate in GEOS tests.David Smith
2025-07-20Fixed #36230 -- Improved color contrast for blockquote in admin.LauHerregodts
Thanks Thibaud Colas for the review.
2025-07-20Fixed #28696 -- Added GeometryType GIS database function and __geom_type lookup.Ahmed Ibrahim
Co-Authored-By: Mariusz Felisiak <felisiak.mariusz@gmail.com>
2025-07-18Triggered window resize to fix layout issues.Sarah Boyce
2025-07-18Refs #35680 -- Sorted shell default autoimports to prevent isort mismatches.nessita
2025-07-18Fixed #36456 -- Improved content type negotiation in technical 500 error ↵IsJn-227
response.
2025-07-18Fixed #35728 -- Computed error messages in assertions only on test failures.Clifford Gama
Performance regression in 1dae65dc63ae84be5002c37b4ddae0b9220e8808. Thanks to Adam Johnson for the report.
2025-07-17Refs #4476 -- Added tests for assertRedirects() when following redirect chains.Clifford Gama
Thanks Natalia Bidart for the review.
2025-07-17Split monolithic AssertContainsTests.test_contains() into focused tests.Clifford Gama
Added a local helper to test assertion messages with and without a given msg_prefix.
2025-07-17Refs #36163 -- Reordered EmailMessage options in docs/topics/email.txt.Mike Edmunds
Reordered the keyword-only EmailMessage parameters in the documentation to group similar options together and move rarely used options later. Used keywords for *all* parameters in EmailMessage examples to improve clarity.
2025-07-17Fixed #36163 -- Deprecated most positional arguments in django.core.mail.Mike Edmunds
In public mail APIs, changed less frequently used parameters from keyword-or-positional to keyword-only, emitting a warning during the required deprecation period.
2025-07-17Fixed get_connection() signature in docs/topics/email.txt.Mike Edmunds
django.core.mail.get_connection() has always supported only variable keyword arguments (never variable positional arguments).
2025-07-17Fixed #35680 -- Added automatic imports of common utilies to shell ↵Salvo Polizzi
management command.
2025-07-16Fixed GitHub Action that checks commit prefixes to fetch PR head correctly.nessita
2025-07-16Refs #35581 -- Added workaround for Python bug in mail tests.Mike Edmunds
See python/cpython#128110.
2025-07-16Refs #35581 -- Reduced implementation dependencies in mail tests.Mike Edmunds
Updated mail tests in preparation for migrating from Python's legacy to modern email API. The updated tests will pass with either Python API, and focus on desired outcomes (e.g., that a message with non-ASCII content parses accurately at the receiving end) rather than specific implementation details (e.g., where rfc2047 encoded-words are split). In a few cases that are still implementation dependent, added comments identifying behavior specific to the legacy email API and expected to change under the modern one. Added comments identifying tests that cover internal functions planned for deprecation, and (where meaningful) added similar tests to verify the equivalent behavior in non-deprecated features. Removed obsolete tests left over from Python 2.
2025-07-16Fixed #36477, Refs #36163 -- Added @deprecate_posargs decorator to simplify ↵Mike Edmunds
deprecation of positional arguments. This helper allows marking positional-or-keyword parameters as keyword-only with a deprecation period, in a consistent and correct manner.
2025-07-16Added GitHub Action to enforce stable branch commit message prefix.nessita
2025-07-13Fixed typo in docs/ref/utils.txt.Clifford Gama
2025-07-13Skipped test_no_logs_without_debug test when the runner is invoked with ↵Jacob Walls
--debug-sql.
2025-07-13Added Django ecosystem page to the documentation.Tim Schilling
2025-07-10Fixed #36502 -- Restored UNNEST strategy for foreign key bulk inserts on ↵Simon Charette
PostgreSQL. Regression in 764af7a3d6c0b543dcf659a2c327f214da768fe4.
2025-07-09Fixed typo in ReverseManyToOneDescriptor docstring.tinmarbusir
2025-07-09Updated asgiref dependency.Carlton Gibson