Python 3.15 was supposed to go final this week. Instead, a last-minute problem in one of the release’s headline features—explicit lazy imports—forced the core team to issue an unexpected third release candidate and move the final release to October 9.
According to the official Python 3.15.0rc3 release, the new candidate arrived October 2 after release-blocking issues were found in the lazy-import implementation. RC3 contains roughly 156 bug fixes, build improvements and documentation changes from 82 contributors since RC2.
Lazy imports are useful because startup cost becomes optional
Python normally executes an import when the interpreter reaches it. With explicit lazy imports in Python 3.15, developers can defer that work until the imported module or object is actually needed. That makes the new behavior an extension of the basic modules and imports model rather than a replacement for it.
The attraction is straightforward: command-line tools, large applications and dependency-heavy programs can avoid loading code that a particular run never uses. The cost of importing does not disappear; it moves closer to the moment the dependency becomes necessary.
A release blocker this late matters more than an ordinary bug
Release candidates exist to expose exactly this kind of problem before a final interpreter ships. At RC stage, the feature set is effectively frozen and only reviewed fixes should land. Finding a blocker in a new language feature days before release is therefore different from finding a minor documentation issue: the team has to decide whether the fix is safe enough for millions of downstream users.
The core team chose more testing time. Python 3.15.0 final is now scheduled for October 9, and maintainers are being asked to test RC3 before that date.
LinuxCompatible’s independent RC3 report confirms the one-week delay and highlights the same lazy-import fixes, while also noting that the release team says no ABI changes are expected from this point forward.
No ABI change is important for Python packages
For developers who maintain compiled Python extensions, ABI stability this late in the cycle is critical. The Python team says binary wheels built against the 3.15 release candidates will remain compatible with future Python 3.15 releases. That gives package maintainers a realistic chance to finish testing and publish compatible artifacts before the final release.
For everyday developers, that connects directly to pip package installation. A new Python version is only practically useful when the libraries an application depends on can install cleanly, including projects that distribute platform-specific wheels.
Python 3.15 is bigger than lazy imports
The RC3 release notes list several other major changes: a built-in frozendict, a built-in sentinel type, UTF-8 as the default encoding, unpacking in comprehensions, a dedicated profiling package, the Tachyon statistical profiler and a significantly upgraded experimental JIT compiler.
The official macOS installers also include free-threading support by default, while the Windows 64-bit binaries use the tail-calling interpreter. Those changes make 3.15 a broader runtime release even though lazy imports are the feature that triggered the schedule slip.
Test RC3 outside production
The Python team still labels RC3 a preview and does not recommend it for production systems. A safer workflow is to test applications in isolated virtual environments, run the project’s test suite and verify dependency installation without replacing the interpreter that currently serves production workloads.
That testing window is the point of the surprise RC3. If lazy imports or another 3.15 feature breaks a real package today, maintainers still have a short opportunity to report it before October 9. After the final release, the ecosystem shifts from pre-release validation to supporting users who expect the new interpreter to work.
The delay is only one week, but it is a useful reminder of how mature software release engineering works: shipping on the original date matters less than discovering a language-level regression before the final build becomes the default target for the ecosystem.
BitcoinVersus.Tech
Advertisement
Editor’s Note
This report treats Python 3.15.0rc3 as a pre-release build and the October 9 date as the current upstream release schedule. The featured cover is an original editorial illustration and is not duplicated in the article body.
We volunteer daily to ensure the credibility of the information on this platform is Verifiably True. If you would like to support our research initiatives, please donate here: 3C9o19EH5HSiwEPyCTmEKzxhNCbo2X6TTb
BitcoinVersus.tech is not a financial advisor. This media platform reports on financial subjects purely for informational purposes.

Leave a comment