From f61184c138dfe00230973c62927f5f3d8913db6d Mon Sep 17 00:00:00 2001 From: Adam Turner <9087854+AA-Turner@users.noreply.github.com> Date: Sun, 5 Oct 2025 20:45:58 +0100 Subject: [PATCH] GH-123299: Copyedit 3.14 What's New: Trivia (GH-139618) (cherry picked from commit 46de475af7225e6ef4c3fd08ee9202115a22de10) Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com> --- Doc/whatsnew/3.14.rst | 56 ++++++++++++++++++++++++++----------------- 1 file changed, 34 insertions(+), 22 deletions(-) diff --git a/Doc/whatsnew/3.14.rst b/Doc/whatsnew/3.14.rst index 6e1f115d4f0764..9b7be2847ab6dd 100644 --- a/Doc/whatsnew/3.14.rst +++ b/Doc/whatsnew/3.14.rst @@ -1,8 +1,9 @@ + **************************** What's new in Python 3.14 **************************** -:Editor: Hugo van Kemenade +:Editors: Adam Turner and Hugo van Kemenade .. Rules for maintenance: @@ -45,41 +46,48 @@ when researching a change. This article explains the new features in Python 3.14, compared to 3.13. - +Python 3.14 will be released on 7 October 2025. For full details, see the :ref:`changelog `. .. seealso:: :pep:`745` -- Python 3.14 release schedule -.. note:: - - Prerelease users should be aware that this document is currently in draft - form. It will be updated substantially as Python 3.14 moves towards release, - so it's worth checking back even after reading earlier versions. - -Summary -- release highlights +Summary -- Release highlights ============================= .. This section singles out the most important changes in Python 3.14. Brevity is key. -Python 3.14 will be the latest stable release of the Python -programming language, with a mix of changes to the language, the -implementation and the standard library. - -The biggest changes to the implementation include template strings (:pep:`750`), -deferred evaluation of annotations (:pep:`649`), -and a new type of interpreter that uses tail calls. - -The library changes include the addition of a new :mod:`!annotationlib` module -for introspecting and wrapping annotations (:pep:`749`), -a new :mod:`!compression.zstd` module for Zstandard support (:pep:`784`), -plus syntax highlighting in the REPL, +Python 3.14 will be the latest stable release of the Python programming +language, with a mix of changes to the language, the implementation, +and the standard library. +The biggest changes include :ref:`template string literals +`, +:ref:`deferred evaluation of annotations `, +and support for :ref:`subinterpreters ` in +the standard library. + +The library changes include significantly improved capabilities for +:ref:`introspection in asyncio `, +:ref:`support for Zstandard ` via a new +:mod:`compression.zstd` module, syntax highlighting in the REPL, as well as the usual deprecations and removals, and improvements in user-friendliness and correctness. +This article doesn't attempt to provide a complete specification +of all new features, but instead gives a convenient overview. +For full details refer to the documentation, +such as the :ref:`Library Reference ` +and :ref:`Language Reference `. +To understand the complete implementation and design rationale for a change, +refer to the PEP for a particular new feature; +but note that PEPs usually are not kept up-to-date +once a feature has been fully implemented. +See `Porting to Python 3.14`_ for guidance on upgrading from +earlier versions of Python. + -------------- .. PEP-sized items next. @@ -100,6 +108,7 @@ Interpreter improvements: * :ref:`A new type of interpreter ` * :ref:`Free-threaded mode improvements ` * :ref:`Improved error messages ` +* :ref:`Incremental garbage collection ` Significant improvements in the standard library: @@ -124,7 +133,8 @@ Release changes: * :pep:`779`: :ref:`Free-threaded Python is officially supported ` -* :pep:`761`: :ref:`Discontinuation of PGP signatures ` +* :pep:`761`: :ref:`PGP signatures have been discontinued for official releases + ` * :ref:`Windows and macOS binary releases now support the experimental just-in-time compiler ` * :ref:`Binary releases for Android are now provided ` @@ -2440,6 +2450,7 @@ asyncio blocking_code() runner.run(operation_two()) + email ----- @@ -2729,6 +2740,7 @@ CPython bytecode changes * Add the :opcode:`POP_ITER` opcode to support 'virtual' iterators. (Contributed by Mark Shannon in :gh:`132554`.) + Pseudo-instructions -------------------