Skip to content

Update Python/Django support matrix - #322

Merged
loookashow merged 5 commits into
mainfrom
chore/update-py-dj-matrix
Aug 5, 2026
Merged

Update Python/Django support matrix#322
loookashow merged 5 commits into
mainfrom
chore/update-py-dj-matrix

Conversation

@loookashow

Copy link
Copy Markdown
Contributor

Refreshes the Python/Django support matrix, which had fallen behind the latest stable releases. Independent of the tags/search PRs (#320, #321) — branched off main.

Versions verified against upstream docs (not memory):

  • Python 3.14 — stable since 2025-10-07. 3.15 is still a prerelease, so it's not included.
  • Django 6.0 (6.0.8) — the latest stable release. 6.1 is only at rc1, so it's not included. Django 6.0 supports Python 3.12, 3.13, 3.14; Django 5.2 added 3.14 support in 5.2.8.

Changes

README — compatibility table:

  • New 6.0 column (v for Python 3.12–3.14 only; 6.0 requires 3.12+).
  • New 3.14 row (v for Django 5.2 and 6.0 only).
  • Requirements line now lists 3.14.

CI (.github/workflows/test.yml):

  • functional: Python 3.14 added to the matrix.
  • New django-6 job: Django 6.0 on Python 3.12, 3.13 and 3.14.

The django-6 job uses the latest Poetry rather than the pinned 1.4.2 the older Django jobs use — 1.4.2 does not run on Python 3.14. The older jobs keep the pin so they keep working on Python 3.8.

The python = ">=3.8,<3.15" and Django = ">=2.2" constraints already cover 3.14 and 6.0, so pyproject.toml needs no dependency changes. (A Python :: 3.14 trove classifier was intentionally left out — the current toolchain's trove-classifiers doesn't recognize it yet, which would fail poetry build; it can be added once that updates.)

Note: 5.2 + 3.14 is a valid combination but is not tested as its own CI cell, to avoid running the pinned old Poetry on Python 3.14. Both 5.2 and 3.14 are exercised by other jobs.

🤖 Generated with Claude Code

Add Python 3.14 (latest stable) and Django 6.0 (latest stable).
- README compatibility table: 6.0 column and 3.14 row, filled per Django's
  documented Python support (6.0: 3.12-3.14; 5.2: adds 3.14 in 5.2.8)
- CI: Python 3.14 in the functional matrix, plus a django-6 job running
  Django 6.0 on Python 3.12, 3.13 and 3.14
The django-6 job uses the latest Poetry rather than the pinned 1.4.2, which
does not run on Python 3.14; the older Django jobs keep the pin so they keep
working on Python 3.8.
Co-authored-by: Claude <noreply@anthropic.com>
@loookashow

Copy link
Copy Markdown
Contributor Author

Seems like adding 3.14 support is not impossible without bumping the pydantic version, which in turn breaks 3.8 compatibility

@dmitry-mukhin

Copy link
Copy Markdown
Member

we should use conditional, let me try.

@sonarqubecloud

sonarqubecloud Bot commented Aug 5, 2026

Copy link
Copy Markdown

Quality Gate Failed Quality Gate failed

Failed conditions
C Security Rating on New Code (required ≥ A)

See analysis details on SonarQube Cloud

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE

@loookashow
loookashow merged commit 0e7566d into main Aug 5, 2026
48 of 49 checks passed
@loookashow
loookashow deleted the chore/update-py-dj-matrix branch August 5, 2026 14:25
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.

2 participants