Python released 3.15.0b1 on May 7, opening the beta phase and its feature freeze. The release page asks third-party maintainers to test their projects and prepare prerelease wheels while warning that this preview is unsuitable for production use.
Compatibility work has a concrete target
The page lists explicit lazy imports, a built-in frozendict, and UTF-8 as the default encoding among the series’ changes. It advises waiting until the first release candidate for regular production package releases to reduce exposure to ABI changes.
For a library maintainer, this is a useful point to add a separate compatibility job. Keep its failures visible without confusing them with regressions on the project’s supported stable versions. Record the exact beta version so a later result can distinguish an upstream fix from a change in the package itself.
Test the assumptions around imports and text
A practical test selection starts with behavior that depends on initialization timing or implicit text encodings. Include plugin discovery, command startup, and representative files from users’ environments. The purpose is to expose assumptions in the application, rather than to accumulate another green interpreter entry in a build matrix.
Extension authors have an additional packaging question: can downstream projects obtain and exercise the prerelease artifact? Publishing an appropriately marked test wheel can make compatibility work possible beyond the extension’s own repository.
The beta milestone should therefore produce actionable issue reports and reproducible examples. It does not mean every dependency is ready, and a successful import alone is a weak substitute for executing the paths that users rely on.
- Python Release Python 3.15.0b1
Python Software Foundation · May 7, 2026
See the original announcement for availability and release details.