Python 3.14 Release Candidate 1: What You Need to Know
Python 3.14.0rc1 is out. Learn about the release timeline, major new features like free-threaded Python and t-strings, and how to prepare your projects.
Python 3.14 is approaching its final release, and the first release candidate (3.14.0rc1) is now available for testing. This milestone marks the penultimate preview before the stable release, scheduled for October 7, 2025. The release candidate phase freezes major changes, allowing only critical bug fixes. In this Q&A, we cover the timeline, key new features, and how you can help ensure a smooth transition.
What is Python 3.14.0rc1 and when is the final release?
Python 3.14.0rc1 is the first release candidate of Python 3.14. It is the second‑to‑last preview release before the stable version. The final release of Python 3.14.0 is planned for Tuesday, 2025-10-07. A second release candidate (3.14.0rc2) is scheduled for Tuesday, 2025-08-26, which will be the last planned preview. During the release candidate phase, only reviewed bug fixes are allowed — no new features or other code changes. This ensures stability for the final release.
What are the major new features in Python 3.14?
Python 3.14 introduces several significant enhancements over 3.13. Key highlights include:
- Free‑threaded Python (PEP 779) – officially supported for improved parallel execution.
- Deferred annotation evaluation (PEP 649) – improves semantics of using annotations.
- Template string literals (t‑strings, PEP 750) – custom string processing with f‑string‑like syntax.
- Multiple interpreters in the stdlib (PEP 734) – enhanced concurrency options.
- Zstandard compression module (compression.zstd, PEP 784) – support for the Zstandard algorithm.
- Optional brackets in except/except* (PEP 758) – simplified syntax.
- Color support for PyREPL and CLI tools – syntax highlighting and color in
unittest,argparse,json, andcalendar. - External debugger interface (PEP 768) – zero‑overhead debugging.
- UUID versions 6‑8 – and faster generation for v3‑5.
- Disallowed return/break/continue exiting finally (PEP 765) – clearer semantics.
- Improved C API (PEP 741) – easier configuration.
- New interpreter type – opt‑in, provides better performance on certain compilers.
- Better error messages, built‑in HMAC from HACL*, CLI for inspecting running Python processes, and remote attaching with
pdb.
Will binary wheels built now work with the final release?
Yes. The ABI is now frozen for the entire Python 3.14 series. Any binary wheels compiled against Python 3.14.0rc1 will be compatible with future 3.14.x releases, including the final 3.14.0. This allows package maintainers to build and publish wheels early, helping the ecosystem prepare for the stable release.
How should third‑party maintainers prepare for Python 3.14?
Maintainers of third‑party Python packages are strongly encouraged to test their projects with 3.14.0rc1. Key actions include:
- Test your code for compatibility (especially if you use annotations, exceptions, or threading).
- Build and publish Python 3.14 wheels on PyPI as soon as possible.
- Report any issues on the Python bug tracker.
- Help other projects by sharing your testing experience.
Remember, this is a preview release and should not be used in production environments.
How can I contribute or report problems?
If you encounter bugs or regressions, please file a report on the Python bug tracker. The release candidate phase is the ideal time to catch and fix issues. Core developers are also focusing on documentation — check that your changes are documented in What’s New.
Are there any other important changes in this release?
Yes, a few additional points worth noting:
- Disallowed return/break/continue in finally (PEP 765) – these can no longer exit a
finallyblock, making control flow more predictable. - Improved error messages – many runtime errors now provide clearer context.
- New CLI for inspecting processes – use
python -m inspect(or similar) to examine running Python processes with async tasks. - Remote debugging with pdb – the
pdbmodule now supports attaching to a running process remotely.
For a complete list of changes, see the What’s New in Python 3.14 document.