You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Python 3.15 is not generally available yet. Per PEP 790: rc1 shipped 2026-08-04, rc2 is expected 2026-09-01, and 3.15.0 final is expected 2026-10-01.
Target: 2026-10-15 (final + 2 weeks).
Current state
requires-python already permits 3.15, so the package installs on it today. Only the advertised support matrix is missing.
All runtime dependencies are pure-Python with no upper bound below 3.15: cyclonedx-python-lib >=3.9,<4.0, py-serializable >=3.8,<4.0, license-expression >=3.9, packageurl-python >=3.8, plus unconstrained sortedcontainers and boolean.py.
Compiled dev tooling is ready: coverage 7.15.4 publishes 30 cp315 wheels and mypy 2.3.1 publishes 13, so no source builds are needed.
GitHub runners already offer 3.15.0-rc.1, but it is flagged stable = false, so it only resolves with allow-prereleases until GA.
A pre-GA canary job was considered and deliberately rejected: it needs an allow-prereleases passthrough in the composite action plus continue-on-error matrix plumbing, which is not worth the CI complexity for a six-week window.
To do once 3.15.0 final ships
Add the Programming Language :: Python :: 3.15 classifier in pyproject.toml
Add "3.15" to env_list in tox.toml
Add 3.15 to the build and tests matrices in .github/workflows/build-and-test.yml
Decide whether the lint job and the coverage-badge artifact move from 3.14 to 3.15
Verify locally with a real 3.15 interpreter via poetry run tox run
Release as a minor version bump, since adding a supported runtime is a feature
Notes
tox.toml sets skip_missing_interpreters = False, so adding 3.15 to env_list will make poetry run tox run fail for any contributor who has not installed 3.15. Call that out in the release notes.
Python 3.15 is not generally available yet. Per PEP 790: rc1 shipped 2026-08-04, rc2 is expected 2026-09-01, and 3.15.0 final is expected 2026-10-01.
Target: 2026-10-15 (final + 2 weeks).
Current state
requires-pythonalready permits 3.15, so the package installs on it today. Only the advertised support matrix is missing.cyclonedx-python-lib >=3.9,<4.0,py-serializable >=3.8,<4.0,license-expression >=3.9,packageurl-python >=3.8, plus unconstrainedsortedcontainersandboolean.py.coverage7.15.4 publishes 30 cp315 wheels andmypy2.3.1 publishes 13, so no source builds are needed.3.15.0-rc.1, but it is flaggedstable = false, so it only resolves withallow-prereleasesuntil GA.A pre-GA canary job was considered and deliberately rejected: it needs an
allow-prereleasespassthrough in the composite action pluscontinue-on-errormatrix plumbing, which is not worth the CI complexity for a six-week window.To do once 3.15.0 final ships
Programming Language :: Python :: 3.15classifier inpyproject.toml"3.15"toenv_listintox.toml3.15to thebuildandtestsmatrices in.github/workflows/build-and-test.ymllintjob and thecoverage-badgeartifact move from 3.14 to 3.15poetry run tox runNotes
tox.tomlsetsskip_missing_interpreters = False, so adding3.15toenv_listwill makepoetry run tox runfail for any contributor who has not installed 3.15. Call that out in the release notes.env_listline, and CI matrices. That PR should land first to avoid conflicts.