Python 3.14 Reaches Final Beta: Free-Threaded Mode, Deferred Annotations, and More

From 3677777, the free encyclopedia of technology

Python 3.14 Reaches Final Beta: Free-Threaded Mode, Deferred Annotations, and More

The Python development team has released Python 3.14.0 beta 4, marking the final beta preview before the stable release. This is the last of four planned beta releases, signaling that the 3.14 feature set is now locked and the codebase is moving toward stabilization.

“This beta is a crucial checkpoint for the entire ecosystem,” said Hugo van Kemenade, Python release manager. “We strongly urge all third-party maintainers to test their projects with 3.14 now and report any issues to the Python bug tracker as soon as possible.”

Key New Features in Python 3.14

Python 3.14 introduces several major enhancements, many of which have been refined during the beta cycle:

Python 3.14 Reaches Final Beta: Free-Threaded Mode, Deferred Annotations, and More
  • Free-threaded Python (PEP 779) is now officially supported, enabling true parallel execution without the Global Interpreter Lock.
  • Deferred evaluation of type annotations (PEP 649) improves the semantics and performance of annotations.
  • Template string literals (t-strings) (PEP 750) offer a new way to process custom strings using familiar f-string syntax.
  • Multiple interpreters in the standard library (PEP 734) – added exceptionally in beta 3.
  • Zstandard compression support via a new compression.zstd module (PEP 784).
  • Brackets can now be omitted in except and except* expressions (PEP 758).
  • Syntax highlighting in PyREPL and color support in the CLIs for unittest, argparse, json, and calendar.
  • Zero-overhead external debugger interface (PEP 768) for CPython.
  • UUID versions 6–8 are now supported, and generation of versions 3–5 and 8 is up to 40% faster.
  • Disallowed return/break/continue that exit a finally block (PEP 765).
  • Improved C API for configuring Python (PEP 741).
  • A new, faster interpreter for certain compilers (opt-in, must build from source).
  • Improved error messages across the board.
  • Built-in HMAC with formally verified code from the HACL* project.
  • New CLI to inspect running Python processes using asynchronous tasks.
  • The pdb module now supports remote attaching to a running process.

Notably, PEPs 734 and 779 were introduced in beta 3, demonstrating that even late betas can bring significant additions.

Background

Python uses a beta → release candidate → stable release cycle. Beta releases are feature-complete but may still contain bugs or undergo minor modifications. The 3.14 series entered beta with four planned previews; beta 4 is the last. The first release candidate (3.14.0rc1) is scheduled for Tuesday, July 22, 2025.

“Our goal is to have no ABI changes after beta 4 and as few code changes as possible after the first release candidate,” van Kemenade explained. “To achieve that, we need extensive testing now.”

What This Means for Developers

For maintainers of third-party Python packages, this is the final call to test. Creating pre-release wheels for 3.14 during the beta phase helps the entire ecosystem. However, the team recommends that production releases wait until at least 3.14.0rc1 to avoid potential ABI breaks.

“We do not recommend using this preview in production environments,” van Kemenade emphasized. “But we absolutely need the community to test it thoroughly.”

Download and Test Now

The beta 4 release is available for download from the official Python downloads page. All issues should be reported via the Python bug tracker.

For a complete list of changes, refer to the Python 3.14 What’s New document.