Python 3.15.0 final is scheduled for 2026-10-09 (PEP 790; moved from 2026-10-01, rc3 shipped 2026-10-02). The ABI has been frozen since 3.15.0rc1.
What to change
pyproject.toml: add cp315-* to [tool.cibuildwheel] build and add the Programming Language :: Python :: 3.15 classifier.
.github/workflows/wheels.yml: bump pypa/cibuildwheel to the first release that builds CPython 3.15.0 final by default. Use 4.2.1 + enable = ["cpython-prerelease"] only if that release is not out yet.
pybind11>=3.0 already resolves to 3.1.0, which pybind11 tests on 3.15 in its own CI. No change is expected here.
- CI must be green on every platform, and
cibuildwheel must run the test suite on cp315. Test deps (pillow, numpy) already ship cp315 wheels.
- Release 0.3.2 to PyPI with the cp315 wheels.
Out of scope
- Free-threaded
cp315t wheels: skip keeps cp3??t-*. This is a separate task and needs a thread-safety review first.
Python 3.15.0 final is scheduled for 2026-10-09 (PEP 790; moved from 2026-10-01, rc3 shipped 2026-10-02). The ABI has been frozen since 3.15.0rc1.
What to change
pyproject.toml: addcp315-*to[tool.cibuildwheel] buildand add theProgramming Language :: Python :: 3.15classifier..github/workflows/wheels.yml: bumppypa/cibuildwheelto the first release that builds CPython 3.15.0 final by default. Use 4.2.1 +enable = ["cpython-prerelease"]only if that release is not out yet.pybind11>=3.0already resolves to 3.1.0, which pybind11 tests on 3.15 in its own CI. No change is expected here.cibuildwheelmust run the test suite on cp315. Test deps (pillow,numpy) already ship cp315 wheels.Out of scope
cp315twheels:skipkeepscp3??t-*. This is a separate task and needs a thread-safety review first.