summaryrefslogtreecommitdiff
path: root/docs/internals/contributing/writing-code
AgeCommit message (Collapse)Author
2026-04-19Fixed #35007 -- Replaced ESLint with Biome for JavaScript linting and ↵Tom Carrick
formatting.
2026-03-20Made it clear that unreviewed tickets shouldn't be claimed or started.Jake Howard
2026-03-12Discouraged automated AI reviews of pull requests.Natalia
Some contributors have been requesting Copilot reviews on pull requests submitted to the Django repository. These automated reviews add noise to the PR history, making it harder to follow the discussion, and Django does not incorporate them into its review process. This change discourages the practice by: - Adding a `copilot-instructions.md` file instructing Copilot to decline review requests in this repository. - Adding a checklist item to the PR template asking contributors not to request automated AI reviews for their PR. - Documenting the policy in the contributing guidelines.
2026-03-06Extended checks and docs for proper commit message format and edition.Jacob Walls
Thanks to Tim Schilling for the review. Co-authored-by: Natalia <124304+nessita@users.noreply.github.com>
2026-02-10Clarified optional nature of Contributor License Agreement.Jacob Walls
It's not clear that CLAs are needed to ensure contributors are assenting to our license (the "inbound=outbound" agreement), but we can keep them around for contributors who would like to (or are required by their employer) to submit one, without investing additional resources in checking every single contribution. See https://forum.djangoproject.com/t/cla-vs-dco-for-django-contributors/42399 and recent board minutes.
2026-01-14Bumped linter versions in requirements files and tox.ini.Jacob Walls
Follow-up to 64ac4385c75b12a4065055b3d8d60bd5e0e61f04.
2026-01-08Added guidance on AI-assisted code submission to contributing docs.Natalia
2025-12-07Refs #36620 -- Added contributor documentation for code coverage reports.saurabh
This was included in the original reverted patch: a89183e63844a937aacd3ddb73c4952ef869d2cc Follow-up to 26b0e2bb92caf2d16cabe455792350f20d6f42ca.
2025-11-25Reverted "Fixed #36620 -- Added coverage workflow to summarize coverage in ↵Natalia
pull requests." This reverts commit a89183e63844a937aacd3ddb73c4952ef869d2cc.
2025-11-21Fixed #36620 -- Added coverage workflow to summarize coverage in pull requests.saurabh
Part of GSoC 2025. Thanks Lily for mentorship, and Sarah Boyce and Jacob Walls for reviews.
2025-11-21Added GitHub Actions linter (zizmor).Jacob Walls
At the direction of the Security Team. Thanks Markus Holtermann, Jake Howard, and Natalia Bidart for reviews.
2025-10-19Refs #36005 -- Bumped minimum supported versions of docutils to 0.22.Mariusz Felisiak
2025-10-16Bumped minimum isort version to 7.0.0.Jacob Walls
Added ignores relating to https://github.com/PyCQA/isort/issues/2352.
2025-10-14Removed mention of setuptools in ↵Jacob Walls
docs/internals/contributing/writing-code/unit-tests.txt.
2025-10-13Cautioned against multi-level relative imports in coding style docs.lyova24
2025-09-13Refs #35667 -- Corrected usage of skip_file_prefixes in contributing docs.Clifford Gama
2025-09-12Refs #35667 -- Updated contributing guide to use django_file_prefixes on ↵nessita
deprecations.
2025-08-28Ensured :doc: role uses absolute targets in docs.Adam Johnson
2025-08-28Replaced :doc: role usage with :ref: when appropriate in docs.Natalia
2025-08-28Fixed #36570 -- Removed unnecessary :py domain from documentation roles.SaJH
Signed-off-by: SaJH <wogur981208@gmail.com>
2025-08-25Fixed #36485 -- Added lint-docs check in Tox and GitHub Actions.David Smith
The `check` docs target now runs spelling, black, and lint, so all current documentation quality checks can be run with a single command. Also documented the lint-docs check's availability and usage.
2025-08-25Refs #36485 -- Rewrapped docs to 79 columns line length.David Smith
Lines in the docs files were manually adjusted to conform to the 79 columns limit per line (plus newline), improving readability and consistency across the content.
2025-08-23Removed reference to flake8 file exclusions.Jacob Walls
Obsolete since 41384812efe209c8295a50d78b45e0ffb2992436. (six was removed in 9285926295fbfc86b70e7be8d595d4cfbe7895b8.)
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-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-23Added accessibility guidelines for contributors.Thibaud Colas
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-09Updated asgiref dependency.Carlton Gibson
2025-05-13Updated guidance to propose new feature ideas in contributing docs.Lily Foote
These changes include: * Clarification of the new feature proposal and evaluation process. * Reodering "points to consider" into reporting bugs section, since these are mostly trac-specific. * Narrowing the guide on user interface bugs and features to just bugs. * Updating documentation for Someday/Maybe triage stage. Co-authored-by: Tim Schilling <schilling711@gmail.com> Co-authored-by: Sarah Boyce <42296566+sarahboyce@users.noreply.github.com> Co-authored-by: Natalia <124304+nessita@users.noreply.github.com>
2025-03-31Fixes #36215 -- Included unpacking generalization notes in coding style ↵Aarni Koskela
guide (PEP-448).
2025-02-19Fixed #35908 -- Retired the django-developers and django-users mailing lists.Sarah Boyce
Co-authored-by: Chaitanya Rahalkar <chaitanyarahalkar@squareup.com>
2025-01-28Refs #36005 -- Bumped minimum supported versions of 3rd-party packages.Mariusz Felisiak
This bumps minimum supported versions of 3rd-party packages to the first releases to support Python 3.12.
2025-01-20Refs #32193 -- Updated python-memcached to pymemcache in contributing guide.Mariusz Felisiak
Follow up to 05f3a6186efefc9fca2204a745b992501c6fd91f.
2025-01-20Fixed #36005 -- Dropped support for Python 3.10 and 3.11.Mariusz Felisiak
2025-01-15Removed versionadded/changed annotations for 5.1.Sarah Boyce
This also removes remaining versionadded/changed annotations for older versions.
2024-11-11Refs #32365 -- Removed pytz from list of test dependencies in unit test docs.Mariusz Felisiak
Follow up to e6f82438d4e3750e8d299bfd79dac98eebe9f1e0.
2024-11-05Clarified instructions on how to claim a ticket.Maria Hynes
2024-10-30Fixed #35866 -- Clarified the positioning Python magic methods on models in ↵maddrum
the internal style guide.
2024-10-16Expanded contributor docs on getting feedback from the wider community.Maryam Yusuf
2024-08-28Fixed #35666 -- Documented stacklevel usage and testing, and adjusted test ↵Simon Charette
suite accordingly. Over the years we've had multiple instances of hit and misses when emitting warnings: either setting the wrong stacklevel or not setting it at all. This work adds assertions for the existing warnings that were declaring the correct stacklevel, but were lacking tests for it.
2024-08-05Used :pypi: role in docs where appropriate.Mariusz Felisiak
2024-07-29Fixed #35546 -- Emphasised accepted ticket requirement in contributing docs.Maryam Yusuf
2024-07-29Referenced joining the triage and review team as motivation to do PR reviews.Maryam Yusuf
2024-07-25Added contributor guidelines for performance optimizations.Sarah Boyce
2024-07-24Updated asgiref dependency for 5.1 release series.Mariusz Felisiak
2024-07-04Replaced usage of "patch" with more precise terms in contributing docs.Andreu Vallbona
2024-06-24Migrated setuptools configuration to pyproject.toml.Claude Paroz
This branch migrates setuptools configuration from setup.py/setup.cfg to pyproject.toml. In order to ensure that the generated binary files have consistent casing (both the tarball and the wheel), setuptools version is limited to ">=61.0.0,<69.3.0". Configuration for flake8 was moved to a dedicated .flake8 file since it cannot be configured via pyproject.toml. Also, __pycache__ exclusion was removed from MANIFEST and the extras/Makefile was replaced with a simpler build command. Co-authored-by: Nick Pope <nick@nickpope.me.uk>
2024-05-02Added a high contrast mode to screenshot cases.Sarah Boyce
Thank you to Sarah Abderemane and Nick Pope for the reviews.
2024-03-11Fixed #14831 -- Extended template style guide in docs.Ryan Cheley
2024-03-06Fixed broken links and redirects in docs.Mariusz Felisiak