summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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
2025-07-09Refs #35844, #35945 -- Used asgiref.sync.iscoroutinefunction() instead of ↵Mariusz Felisiak
deprecated asyncio.iscoroutinefunction(). Follow up to bd3b1dfa2422e02ced3a894adb7544e42540c97d. Introduced in 2ae3044d9d4dfb8371055513e440e0384f211963. Fixes DeprecationWarning: 'asyncio.iscoroutinefunction' is deprecated and slated for removal in Python 3.16; use inspect.iscoroutinefunction() instead.
2025-07-03Refs #27236 -- Removed references to removed index_together migration methods.Clifford Gama
2025-07-02Added release date for 5.2.4.Natalia
2025-07-02Added stub release notes for 5.2.5.Natalia
2025-07-01Fixed #35846 -- Ensured consistent path ordering in ↵Matthew Stell
ManifestStaticFilesStorage manifest files. This change reuses the existing sorting of `hashed_files` in `ManifestStaticFilesStorage.save_manifest` to also store a sorted `paths` mapping in the manifest file. This ensures stable manifest output that does not change unnecessarily.
2025-07-01Fixed #36479 -- Improved how FileNotFoundError is triggered in code ↵Roel Delos Reyes
formatter tests. Ensured the test for formatter subprocess FileNotFoundError doesn't rely on platform-specific behavior, improving reliability on macOS and other systems by consistently using pathlib to build test paths.
2025-06-30Fixed #36464 -- Fixed "__in" tuple lookup on backends lacking native support.Simon Charette
When native support for tuple lookups is missing in a DB backend, it can be emulated with an EXISTS clause. This is controlled by the backend feature flag "supports_tuple_lookups". The mishandling of subquery right-hand side in `TupleIn` (added to support `CompositePrimaryKey` in Refs #373) was likely missed because the only core backend we test with the feature flag disabled (Oracle < 23.4) supports it natively. Thanks to Nandana Raol for the report, and to Sarah Boyce, Jacob Walls, and Natalia Bidart for reviews.
2025-06-27Refs #15727 -- Updated AdminSeleniumTestCase to use ↵Natalia
ContentSecurityPolicyMiddleware. Replaced the custom CSP middleware previously used in the admin's AdminSeleniumTestCase with the official ContentSecurityPolicyMiddleware. This change ensures alignment with Django's built-in CSP support. Also updates the test logic to inspect browser console logs to assert that no CSP violations are triggered during Selenium admin tests.
2025-06-27Fixed #15727 -- Added Content Security Policy (CSP) support.Rob Hudson
This initial work adds a pair of settings to configure specific CSP directives for enforcing or reporting policy violations, a new `django.middleware.csp.ContentSecurityPolicyMiddleware` to apply the appropriate headers to responses, and a context processor to support CSP nonces in templates for safely inlining assets. Relevant documentation has been added for the 6.0 release notes, security overview, a new how-to page, and a dedicated reference section. Thanks to the multiple reviewers for their precise and valuable feedback. Co-authored-by: Natalia <124304+nessita@users.noreply.github.com>
2025-06-27Fixed #36366 -- Improved accessibility of pagination in the admin.antoliny0919
2025-06-27Fixed #35595, #35962 -- Removed indexes and constraints before fields in ↵wookkl
migrations.
2025-06-27Fixed indentation in docs/internals/howto-release-django.txt.Sarah Boyce
2025-06-27Separated creating the release and setting it as default in Trac in the ↵Sarah Boyce
post-release steps.
2025-06-26Fixed #36478 -- Fixed inconsistent mail attachment handling.Mike Edmunds
Fixed an inconsistency between EmailMessage.attach() and .attachments when attaching bytes content with a text/* mimetype. The attach() function decodes UTF-8 bytes if possible and otherwise changes the mimetype to application/octet-stream to preserve the content's unknown encoding (refs #27007). Providing equivalent content directly in EmailMessage.attachments did not apply the same logic, leading to an "AttributeError: 'bytes' object has no attribute 'encode'" in SafeMIMEText.set_payload(). Updated EmailMessage._create_mime_attachment() to match attach()'s handling for text/* mimetypes with bytes content. Updated test cases to accurately cover behavior on both paths.
2025-06-25Fixed #36386 -- Added styles and icons for INFO and DEBUG messages in the admin.michalpokusa
2025-06-25Fixed #36471 -- Added support for __coveredby GIS lookup and Collect, ↵Mariusz Felisiak
GeoHash, IsValid on MariaDB 12.0.1+.
2025-06-23Fixed #35305 -- Avoided recreating constraints on fields renamed via db_column.Jacob Walls
2025-06-21Removed @skipIfDBFeature silencing of nonexistent features.Tim Graham
Follow up to f5df7ed7e62585c7d0289a88a327dab8d608efcf.
2025-06-20Removed @skipUnlessDBFeature silencing of nonexistent features.Tim Graham
This was added in 46c7707e50400e237cbd774a31ad801669ca3905 but is obsolete now that gis_tests are discovered separately. It's error-prone to ignore mistyped names.
2025-06-20Fixed #36152 -- Deprecated use of "%" in column aliases.Jacob Walls
Unintentional support existed only on SQLite and Oracle.
2025-06-19Refs #35038 -- Reduced CreateModel/AlterConstraint operations when ↵Jacob Walls
optimizing migrations.
2025-06-18Clarified that only latest dependency versions are valid for security reports.Jake Howard
2025-06-18Fixed #36465, Refs #35816 -- Disallowed '+' and '-' characters in template ↵haileyajohnson
variable names. Regression in 5183f7c287a9a5d61ca1103b55166cda52d9c647. Thank you to Jon Banafato and Baptiste Mispelon for the report.
2025-06-18Fixed #36467 -- Removed leading whitespaces from Set-Cookie header values in ↵Lukas Komischke
WSGIHandler. This also aligned the Set-Cookie logic in the WSGIHandler and ASGIHandler. Co-authored-by: Sarah Boyce <42296566+sarahboyce@users.noreply.github.com>
2025-06-18Refs #36467 -- Added test for Set-Cookie header values in ASGIHandler.Sarah Boyce
2025-06-18Fixed #36437 -- Improved accessibility of messages in admin.michalpokusa
2025-06-18Fixed #32770 -- Added system check to ensure django.contrib.postgres is ↵Clifford Gama
installed when using its features. Added postgres.E005 to validate 'django.contrib.postgres' is in INSTALLED_APPS when using: * PostgreSQL-specific fields (ArrayField, HStoreField, range fields, SearchVectorField), * PostgreSQL indexes (PostgresIndex and all subclasses), and * ExclusionConstraint The check provides immediate feedback during system checks rather than failing later with obscure runtime and database errors. Thanks to Simon Charette and Sarah Boyce for reviews.
2025-06-17Refs #36009 -- Added GitHub action workflow to run tests with latest stable ↵nessita
postgis version.
2025-06-17Added guidance on AI-assisted security reports to docs/internals/security.txt.nessita
Co-authored-by: Shai Berger <shai@platonix.com> Co-authored-by: Mike Edmunds <medmunds@gmail.com>
2025-06-16Refs #36380 -- Replaced mocked logging assertions in tests/backends/tests.py.Natalia