Python 3.15.0 final is scheduled for 2026-10-01 (PEP 790; rc1 2026-08-04). actions/setup-python already carries pre-release builds (3.15.0-beta.3 as of July 2026), so the workflow can start testing it any time.
Two-step plan, whichever release picks this up:
-
Now-ish (any release): add a non-blocking pre-release job to python-package.yml so interpreter breakage surfaces early:
- uses: actions/setup-python@v5
with:
python-version: "3.15"
allow-prereleases: true
with continue-on-error: true on the matrix entry so a beta-only failure warns without blocking merges.
-
After 3.15.0 final (October 2026): promote it to a regular blocking matrix entry, add the Programming Language :: Python :: 3.15 classifier, and drop continue-on-error.
Timing note: 3.15 final and Python 3.10 EOL land the same month, so if this coincides with 2.0, step 2 and the #257 floor bump (>=3.11) are one release-prep item — the supported window becomes exactly 3.11–3.15.
No milestone yet — undecided which release takes it.
Python 3.15.0 final is scheduled for 2026-10-01 (PEP 790; rc1 2026-08-04).
actions/setup-pythonalready carries pre-release builds (3.15.0-beta.3as of July 2026), so the workflow can start testing it any time.Two-step plan, whichever release picks this up:
Now-ish (any release): add a non-blocking pre-release job to
python-package.ymlso interpreter breakage surfaces early:with
continue-on-error: trueon the matrix entry so a beta-only failure warns without blocking merges.After 3.15.0 final (October 2026): promote it to a regular blocking matrix entry, add the
Programming Language :: Python :: 3.15classifier, and dropcontinue-on-error.Timing note: 3.15 final and Python 3.10 EOL land the same month, so if this coincides with 2.0, step 2 and the #257 floor bump (
>=3.11) are one release-prep item — the supported window becomes exactly 3.11–3.15.No milestone yet — undecided which release takes it.