#define PY_MAJOR_VERSION 3
#define PY_MINOR_VERSION 14
#define PY_MICRO_VERSION 0
-#define PY_RELEASE_LEVEL PY_RELEASE_LEVEL_BETA
-#define PY_RELEASE_SERIAL 4
+#define PY_RELEASE_LEVEL PY_RELEASE_LEVEL_GAMMA
+#define PY_RELEASE_SERIAL 1
/* Version as a string */
-#define PY_VERSION "3.14.0b4+"
+#define PY_VERSION "3.14.0rc1"
/*--end constants--*/
-# Autogenerated by Sphinx on Tue Jul 8 11:57:16 2025
+# Autogenerated by Sphinx on Tue Jul 22 19:42:37 2025
# as part of the release process.
topics = {
The rule "strings" and the token "NUMBER" are defined in the standard
Python grammar. Triple-quoted strings are supported. Raw strings and
-byte strings are supported. f-strings are not supported.
+byte strings are supported. f-strings and t-strings are not
+supported.
The forms "signed_number '+' NUMBER" and "signed_number '-' NUMBER"
are for expressing complex numbers; they require a real number on the
The "str.format()" method and the "Formatter" class share the same
syntax for format strings (although in the case of "Formatter",
subclasses can define their own format string syntax). The syntax is
-related to that of formatted string literals, but it is less
-sophisticated and, in particular, does not support arbitrary
-expressions.
+related to that of formatted string literals and template string
+literals, but it is less sophisticated and, in particular, does not
+support arbitrary expressions.
Format strings contain “replacement fields” surrounded by curly braces
"{}". Anything that is not contained in braces is considered literal
“Format specifications” are used within replacement fields contained
within a format string to define how individual values are presented
-(see Format String Syntax and f-strings). They can also be passed
-directly to the built-in "format()" function. Each formattable type
-may define how the format specification is to be interpreted.
+(see Format String Syntax, f-strings, and t-strings). They can also be
+passed directly to the built-in "format()" function. Each formattable
+type may define how the format specification is to be interpreted.
Most built-in types implement the following options for format
specifications, although some of the formatting options are only
("u'value'") was reintroduced to simplify the maintenance of dual
Python 2.x and 3.x codebases. See **PEP 414** for more information.
-A string literal with "'f'" or "'F'" in its prefix is a *formatted
-string literal*; see f-strings. The "'f'" may be combined with "'r'",
-but not with "'b'" or "'u'", therefore raw formatted strings are
-possible, but formatted bytes literals are not.
+A string literal with "f" or "F" in its prefix is a *formatted string
+literal*; see f-strings. The "f" may be combined with "r", but not
+with "b" or "u", therefore raw formatted strings are possible, but
+formatted bytes literals are not.
In triple-quoted literals, unescaped newlines and quotes are allowed
(and are retained), except that three unescaped quotes in a row
| | replaced by the contents of the | |
| | iterable *t* | |
+--------------------------------+----------------------------------+-----------------------+
-| "del s[i:j]" | same as "s[i:j] = []" | |
+| "del s[i:j]" | removes the elements of "s[i:j]" | |
+| | from the list (same as "s[i:j] = | |
+| | []") | |
+--------------------------------+----------------------------------+-----------------------+
| "s[i:j:k] = t" | the elements of "s[i:j:k]" are | (1) |
| | replaced by those of *t* | |
| | replaced by the contents of the | |
| | iterable *t* | |
+--------------------------------+----------------------------------+-----------------------+
-| "del s[i:j]" | same as "s[i:j] = []" | |
+| "del s[i:j]" | removes the elements of "s[i:j]" | |
+| | from the list (same as "s[i:j] = | |
+| | []") | |
+--------------------------------+----------------------------------+-----------------------+
| "s[i:j:k] = t" | the elements of "s[i:j:k]" are | (1) |
| | replaced by those of *t* | |
--- /dev/null
+.. date: 2025-07-05-15-10-42
+.. gh-issue: 136251
+.. nonce: GRM6o8
+.. release date: 2025-07-22
+.. section: Tools/Demos
+
+Fixes and usability improvements for ``Tools/wasm/emscripten/web_example``
+
+..
+
+.. date: 2025-07-21-14-15-25
+.. gh-issue: 135661
+.. nonce: nAxXw5
+.. section: Security
+
+Fix parsing attributes with whitespaces around the ``=`` separator in
+:class:`html.parser.HTMLParser` according to the HTML5 standard.
+
+..
+
+.. date: 2025-06-09-20-38-25
+.. gh-issue: 118350
+.. nonce: KgWCcP
+.. section: Security
+
+Fix support of escapable raw text mode (elements "textarea" and "title") in
+:class:`html.parser.HTMLParser`.
+
+..
+
+.. date: 2025-07-21-22-35-50
+.. gh-issue: 136170
+.. nonce: QUlc78
+.. section: Library
+
+Removed the unreleased ``zipfile.ZipFile.data_offset`` property added in
+3.14.0a7 as it wasn't fully clear which behavior it should have in some
+situations so the result was not always what a user might expect.
+
+..
+
+.. date: 2025-07-21-16-10-24
+.. gh-issue: 124621
+.. nonce: wyoWc1
+.. section: Library
+
+pyrepl now works in Emscripten.
+
+..
+
+.. date: 2025-07-20-16-02-00
+.. gh-issue: 136874
+.. nonce: cLC3o1
+.. section: Library
+
+Discard URL query and fragment in :func:`urllib.request.url2pathname`.
+
+..
+
+.. date: 2025-07-19-16-20-54
+.. gh-issue: 130645
+.. nonce: O-dYcN
+.. section: Library
+
+Enable color help by default in :mod:`argparse`.
+
+..
+
+.. date: 2025-07-11-23-04-39
+.. gh-issue: 136549
+.. nonce: oAi8u4
+.. section: Library
+
+Fix signature of :func:`threading.excepthook`.
+
+..
+
+.. date: 2025-07-11-03-39-15
+.. gh-issue: 136523
+.. nonce: s7caKL
+.. section: Library
+
+Fix :class:`wave.Wave_write` emitting an unraisable when open raises.
+
+..
+
+.. date: 2025-07-10-10-18-19
+.. gh-issue: 52876
+.. nonce: 9Vjrd8
+.. section: Library
+
+Add missing ``keepends`` (default ``True``) parameter to
+:meth:`!codecs.StreamReaderWriter.readline` and
+:meth:`!codecs.StreamReaderWriter.readlines`.
+
+..
+
+.. date: 2025-07-10-00-47-37
+.. gh-issue: 136470
+.. nonce: KlUEUG
+.. section: Library
+
+Correct :class:`concurrent.futures.InterpreterPoolExecutor`'s default thread
+name.
+
+..
+
+.. date: 2025-07-09-20-29-30
+.. gh-issue: 136476
+.. nonce: HyLLzh
+.. section: Library
+
+Fix a bug that was causing the ``get_async_stack_trace`` function to miss
+some frames in the stack trace.
+
+..
+
+.. date: 2025-07-08-20-58-01
+.. gh-issue: 136434
+.. nonce: uuJsjS
+.. section: Library
+
+Fix docs generation of ``UnboundItem`` in :mod:`concurrent.interpreters`
+when running with :option:`-OO`.
+
+..
+
+.. date: 2025-07-07-22-12-32
+.. gh-issue: 136380
+.. nonce: 1b_nXl
+.. section: Library
+
+Raises :exc:`AttributeError` when accessing
+:class:`concurrent.futures.InterpreterPoolExecutor` and subinterpreters are
+not available.
+
+..
+
+.. date: 2025-06-28-11-32-57
+.. gh-issue: 134759
+.. nonce: AjjKcG
+.. section: Library
+
+Fix :exc:`UnboundLocalError` in :func:`email.message.Message.get_payload`
+when the payload to decode is a :class:`bytes` object. Patch by Kliment
+Lamonov.
+
+..
+
+.. date: 2025-05-25-11-02-05
+.. gh-issue: 134657
+.. nonce: 3YFhR9
+.. section: Library
+
+:mod:`asyncio`: Remove some private names from ``asyncio.__all__``.
+
+..
+
+.. date: 2025-07-19-12-37-05
+.. gh-issue: 136801
+.. nonce: XU_tF2
+.. section: Core and Builtins
+
+Fix PyREPL syntax highlighting on match cases after multi-line case.
+Contributed by Olga Matoula.
+
+..
+
+.. date: 2025-07-12-09-59-14
+.. gh-issue: 136421
+.. nonce: ZD1rNj
+.. section: Core and Builtins
+
+Fix crash when initializing :mod:`datetime` concurrently.
+
+..
+
+.. date: 2025-07-11-13-45-48
+.. gh-issue: 136541
+.. nonce: uZ_-Ju
+.. section: Core and Builtins
+
+Fix some issues with the perf trampolines on x86-64 and aarch64. The
+trampolines were not being generated correctly for some cases, which could
+lead to the perf integration not working correctly. Patch by Pablo Galindo.
+
+..
+
+.. date: 2025-07-10-23-23-50
+.. gh-issue: 136517
+.. nonce: _NHJyv
+.. section: Core and Builtins
+
+Fixed a typo that prevented printing of uncollectable objects when the
+:const:`gc.DEBUG_UNCOLLECTABLE` mode was set.
+
+..
+
+.. date: 2025-07-10-15-53-16
+.. gh-issue: 136525
+.. nonce: xAko0e
+.. section: Core and Builtins
+
+Fix issue where per-thread bytecode was not instrumented for newly created
+threads.
+
+..
+
+.. date: 2025-07-08-23-53-51
+.. gh-issue: 132661
+.. nonce: B84iYt
+.. section: Core and Builtins
+
+``Interpolation.expression`` now has a default, the empty string.
+
+..
+
+.. date: 2025-07-08-23-22-08
+.. gh-issue: 132661
+.. nonce: 34ftJl
+.. section: Core and Builtins
+
+Reflect recent :pep:`750` change.
+
+Disallow concatenation of ``string.templatelib.Template`` and :class:`str`.
+Also, disallow implicit concatenation of t-string literals with string or
+f-string literals.
+
+..
+
+.. date: 2025-06-12-00-03-34
+.. gh-issue: 116738
+.. nonce: iBBAdo
+.. section: Core and Builtins
+
+Make functions in :mod:`grp` thread-safe on the :term:`free threaded <free
+threading>` build.
+
+..
+
+.. date: 2025-06-06-02-24-42
+.. gh-issue: 135148
+.. nonce: r-t2sC
+.. section: Core and Builtins
+
+Fixed a bug where f-string debug expressions (using =) would incorrectly
+strip out parts of strings containing escaped quotes and # characters. Patch
+by Pablo Galindo.
+
+..
+
+.. date: 2025-06-03-21-06-22
+.. gh-issue: 133136
+.. nonce: Usnvri
+.. section: Core and Builtins
+
+Limit excess memory usage in the :term:`free threading` build when a large
+dictionary or list is resized and accessed by multiple threads.
+
+..
+
+.. date: 2025-05-17-20-56-05
+.. gh-issue: 91153
+.. nonce: afgtG2
+.. section: Core and Builtins
+
+Fix a crash when a :class:`bytearray` is concurrently mutated during item
+assignment.
+
+..
+
+.. date: 2025-04-16-12-01-13
+.. gh-issue: 127971
+.. nonce: pMDOQ0
+.. section: Core and Builtins
+
+Fix off-by-one read beyond the end of a string in string search.
+
+..
+
+.. date: 2025-07-22-15-18-08
+.. gh-issue: 112068
+.. nonce: 4WvT-8
+.. section: C API
+
+Revert support of nullable arguments in :c:func:`PyArg_Parse`.
+
+..
+
+.. date: 2025-06-24-11-10-01
+.. gh-issue: 133296
+.. nonce: lIEuVJ
+.. section: C API
+
+New variants for the critical section API that accept one or two
+:c:type:`PyMutex` pointers rather than :c:type:`PyObject` instances are now
+public in the non-limited C API.
+
+..
+
+.. date: 2025-05-20-17-13-51
+.. gh-issue: 134009
+.. nonce: CpCmry
+.. section: C API
+
+Expose :c:func:`PyMutex_IsLocked` as part of the public C API.
+
+..
+
+.. date: 2025-07-18-17-15-00
+.. gh-issue: 135621
+.. nonce: 9cyCNb
+.. section: Build
+
+PyREPL no longer depends on the :mod:`curses` standard library. Contributed
+by Łukasz Langa.
+++ /dev/null
-PyREPL no longer depends on the :mod:`curses` standard library. Contributed
-by Łukasz Langa.
+++ /dev/null
-Expose :c:func:`PyMutex_IsLocked` as part of the public C API.
+++ /dev/null
-New variants for the critical section API that accept one or two
-:c:type:`PyMutex` pointers rather than :c:type:`PyObject` instances are now
-public in the non-limited C API.
+++ /dev/null
-Revert support of nullable arguments in :c:func:`PyArg_Parse`.
+++ /dev/null
-Fix off-by-one read beyond the end of a string in string search.
+++ /dev/null
-Fix a crash when a :class:`bytearray` is concurrently mutated during item assignment.
+++ /dev/null
-Limit excess memory usage in the :term:`free threading` build when a
-large dictionary or list is resized and accessed by multiple threads.
+++ /dev/null
-Fixed a bug where f-string debug expressions (using =) would incorrectly
-strip out parts of strings containing escaped quotes and # characters. Patch
-by Pablo Galindo.
+++ /dev/null
-Make functions in :mod:`grp` thread-safe on the :term:`free threaded <free threading>` build.
+++ /dev/null
-Reflect recent :pep:`750` change.
-
-Disallow concatenation of ``string.templatelib.Template`` and :class:`str`.
-Also, disallow implicit concatenation of t-string literals with string or
-f-string literals.
+++ /dev/null
-``Interpolation.expression`` now has a default, the empty string.
+++ /dev/null
-Fix issue where per-thread bytecode was not instrumented for newly created
-threads.
+++ /dev/null
-Fixed a typo that prevented printing of uncollectable objects when the
-:const:`gc.DEBUG_UNCOLLECTABLE` mode was set.
+++ /dev/null
-Fix some issues with the perf trampolines on x86-64 and aarch64. The
-trampolines were not being generated correctly for some cases, which could
-lead to the perf integration not working correctly. Patch by Pablo Galindo.
+++ /dev/null
-Fix crash when initializing :mod:`datetime` concurrently.
+++ /dev/null
-Fix PyREPL syntax highlighting on match cases after multi-line case. Contributed by Olga Matoula.
+++ /dev/null
-:mod:`asyncio`: Remove some private names from ``asyncio.__all__``.
+++ /dev/null
-Fix :exc:`UnboundLocalError` in :func:`email.message.Message.get_payload` when
-the payload to decode is a :class:`bytes` object. Patch by Kliment Lamonov.
+++ /dev/null
-Raises :exc:`AttributeError` when accessing
-:class:`concurrent.futures.InterpreterPoolExecutor` and subinterpreters are
-not available.
+++ /dev/null
-Fix docs generation of ``UnboundItem`` in :mod:`concurrent.interpreters`
-when running with :option:`-OO`.
+++ /dev/null
-Fix a bug that was causing the ``get_async_stack_trace`` function to miss
-some frames in the stack trace.
+++ /dev/null
-Correct :class:`concurrent.futures.InterpreterPoolExecutor`'s default thread
-name.
+++ /dev/null
-Add missing ``keepends`` (default ``True``) parameter to
-:meth:`!codecs.StreamReaderWriter.readline` and
-:meth:`!codecs.StreamReaderWriter.readlines`.
+++ /dev/null
-Fix :class:`wave.Wave_write` emitting an unraisable when open raises.
+++ /dev/null
-Fix signature of :func:`threading.excepthook`.
+++ /dev/null
-Enable color help by default in :mod:`argparse`.
+++ /dev/null
-Discard URL query and fragment in :func:`urllib.request.url2pathname`.
+++ /dev/null
-pyrepl now works in Emscripten.
+++ /dev/null
-Removed the unreleased ``zipfile.ZipFile.data_offset`` property added in 3.14.0a7
-as it wasn't fully clear which behavior it should have in some situations so
-the result was not always what a user might expect.
+++ /dev/null
-Fix support of escapable raw text mode (elements "textarea" and "title")
-in :class:`html.parser.HTMLParser`.
+++ /dev/null
-Fix parsing attributes with whitespaces around the ``=`` separator in
-:class:`html.parser.HTMLParser` according to the HTML5 standard.
+++ /dev/null
-Fixes and usability improvements for ``Tools/wasm/emscripten/web_example``
-This is Python version 3.14.0 beta 4
-====================================
+This is Python version 3.14.0 release candidate 1
+=================================================
.. image:: https://github.com/python/cpython/actions/workflows/build.yml/badge.svg?branch=main&event=push
:alt: CPython build status on GitHub Actions