Python 3.15.0 candidate 2 (RC2) has been announced, marking the final release candidate before the stable version lands in October. Hugo van Kemenade, release manager for Python 3.14 and 3.15, made the announcement. The RC2 is now available for testing, and the Python team is urging third-party maintainers to prepare their projects for the upcoming release.
What the Release Candidate Means
During the release candidate phase, only reviewed code changes that are clear bug fixes are allowed between this release candidate and the final release. That restriction keeps the codebase stable while still permitting essential corrections. For maintainers, this is the last window to catch issues before the stable release ships.
The Python team is encouraging maintainers of third-party projects to publish Python 3.15 wheels on PyPI. This early preparation helps ensure that the ecosystem is ready when the final version arrives. Binary wheels built against Python 3.15.0 release candidates will work with future versions of Python 3.15, so testing now has lasting value.
A Lesson Learned in 2021
Simon Willison, a blogger and software developer, shared the announcement on his site and added practical advice based on his own experience. In 2021, Willison found a bug in Python 3.10 by running test suites against it. That bug had already shipped because he hadn't tested during the RC period. The lesson stuck with him.
"Since then, I've paid much closer attention to release candidates," Willison wrote. His approach now is to run his projects' test suites against every release candidate as soon as it appears. This practice catches regressions early, before they reach millions of users.
Setting Up CI Testing for RC2
The new RC is not yet available for GitHub Actions. Users should keep an eye on the actions/python-versions repository for when RC2 becomes available. Willison provided a testing matrix configuration using actions/setup-python@v7 to help developers automate this process.
Stay ahead of the AI curve
The most important updates, news, and content — delivered weekly.
No spam. Unsubscribe anytime.
The matrix includes Python versions '3.14' and '3.15'. Two flags are recommended: 'allow-prereleases: true' and 'check-latest: true'. These flags should ensure that your test suite runs against RC2 as soon as it is added to GitHub. This setup means developers don't have to manually update their CI configuration each time a new release candidate appears.
Why Early Testing Matters
Release candidates exist specifically for testing before the final release. The Python project has used this process for years to catch bugs that only appear under real-world conditions. Third-party maintainers are the key to this effort, since they run a wide variety of code against each candidate.
Willison's 2021 experience shows what happens when testing is skipped. A bug that could have been caught during the RC period shipped to users instead. His advice is straightforward: test early, test often, and automate the process so nothing slips through.
The article was posted on 1st September 2026, giving the community roughly a month to test RC2 before the October release. Willison also offers a sponsorship for $10/month for a curated email digest of LLM developments, though that is separate from the Python release news.
Preparing for the Stable Release
For maintainers, the path forward is clear. Publish Python 3.15 wheels on PyPI now. Run test suites against RC2 using the provided GitHub Actions configuration. Watch actions/python-versions for availability updates. These steps take little time but can prevent significant problems later.
The final release of Python 3.15.0 is scheduled for October. Between now and then, the release candidate phase is the last chance to report bugs and ensure compatibility. The Python team has made the process straightforward, and the tools for automated testing are already in place.
