Skip to content

Add Django 6.1 support - #3

Merged
mpasternak merged 2 commits into
mainfrom
feat/django-61
Aug 7, 2026
Merged

Add Django 6.1 support#3
mpasternak merged 2 commits into
mainfrom
feat/django-61

Conversation

@mpasternak

Copy link
Copy Markdown
Member

Django 6.1 was released 2026-08-05. This adds it as a first-class test target.

Like 6.0, Django 6.1 requires Python >= 3.12, so the new matrix cells are 3.12, 3.13 and 3.14 only — the 3.10 and 3.11 rows stay 5.2-only. The matrix goes from 8 to 11 cells.

Changed

  • .github/workflows/tests.yml — new # Django 6.1 block in the include: matrix with entries for Python 3.12, 3.13 and 3.14. The install step is untouched: uv pip install "django~=${DJANGO_VER}.0" resolves ~=6.1.0 to >=6.1.0,<6.2 correctly.
  • pyproject.toml — added the Framework :: Django :: 6.1 trove classifier. The dependency is django>=5.2 with no upper pin, so nothing had to be loosened.
  • README.md, docs/index.md — supported-versions tables gain a 6.1 row; cell counts updated 8 → 11.
  • docs/contributing.md — CI description updated to the 11-cell matrix.
  • CHANGELOG.mdAdded entry under Unreleased.

Notes

  • There is no prerelease/nightly job in this repo, so nothing had to be repointed.
  • release.yml runs the suite on Python 3.13 with whatever Django uv sync resolves; that will pick up 6.1 on its own once released, no change needed.
  • Verified locally: uv pip install -e ".[test]" "Django~=6.1.0" then pytest204 passed. No deprecation or API breakage surfaced, so no source changes were needed.

🤖 Generated with Claude Code

mpasternak and others added 2 commits August 6, 2026 19:27
Django 6.1 was released 2026-08-05 and requires Python 3.12 or newer, so
it joins the CI matrix on the same interpreters as 6.0 (3.12, 3.13, 3.14)
and the 3.10/3.11 cells stay 5.2-only.

The full suite passes on Django 6.1 with no source changes.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
…o-sync

The test job pinned a Django series with `uv pip install "Django~=X.Y.0"` and then
invoked a bare `uv run`, which re-syncs the environment from the project metadata /
uv.lock before executing. That silently reinstalled a different Django and discarded
the pin, so every matrix cell ran the same version regardless of matrix.django-version.

Reproduced locally:

    uv sync && uv pip install "Django~=5.2.0"
    .venv/bin/python -c "import django; print(django.get_version())"          # 5.2.17
    uv run           python -c "import django; print(django.get_version())"   # 6.1  <- pin lost
    uv run --no-sync python -c "import django; print(django.get_version())"   # 5.2.17

Without this, adding Django 6.1 to the matrix would not have tested it.
Lint / example-check jobs are untouched: they do not pin Django.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@mpasternak mpasternak closed this Aug 7, 2026
@mpasternak mpasternak reopened this Aug 7, 2026
@mpasternak
mpasternak merged commit f91b78d into main Aug 7, 2026
15 checks passed
@mpasternak
mpasternak deleted the feat/django-61 branch August 7, 2026 08:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant