From c916da77c0a3e5d3ee8909cce15795ad95035beb Mon Sep 17 00:00:00 2001 From: Petr Viktorin Date: Tue, 5 May 2026 09:20:46 +0200 Subject: [PATCH] gh-140550: Single What's New highlight for PEPs 793, 803 and 820 Also: a section in New Features for 793 --- Doc/whatsnew/3.15.rst | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/Doc/whatsnew/3.15.rst b/Doc/whatsnew/3.15.rst index 90954e06e6c1e9..4f83916e3b77c2 100644 --- a/Doc/whatsnew/3.15.rst +++ b/Doc/whatsnew/3.15.rst @@ -87,8 +87,9 @@ Summary -- Release highlights * :pep:`800`: Disjoint bases in the type system * :pep:`782`: :ref:`A new PyBytesWriter C API to create a Python bytes object ` -* :pep:`803`: :ref:`Stable ABI for Free-Threaded Builds ` -* :pep:`820`: :ref:`PySlot: Unified slot system for the C API ` +* :pep:`803`, :pep:`820 <820>`, :pep:`793 <793>`: + :ref:`Stable ABI for Free-Threaded Builds ` and + related C API * :ref:`The JIT compiler has been significantly upgraded ` * :ref:`Improved error messages ` * :ref:`The official Windows 64-bit binaries now use the tail-calling interpreter @@ -453,7 +454,7 @@ agen() for x in a)``. .. _whatsnew315-abi3t: -:pep:`803`: ``abi3t`` -- Stable ABI for Free-Threaded Builds +:pep:`803` -- Stable ABI for Free-Threaded Builds ------------------------------------------------------------ C extensions that target the :ref:`Stable ABI ` can now be @@ -469,7 +470,12 @@ specifically: part of the instance struct; and - Switching from a ``PyInit_`` function to a new export hook, :c:func:`PyModExport_* `, introduced for this - purpose in :pep:`793`. + purpose in :pep:`793`, with a new :c:type:`PySlot` structure + introduced in :pep:`820`. + +The reference documentation for these features is complete, but currently +aimed at early adopters. +A migration guide is planned for an upcoming beta release. Note that Stable ABI does not offer all the functionality that CPython has to offer. @@ -2199,6 +2205,11 @@ New features * Add :c:func:`PyTuple_FromArray` to create a :class:`tuple` from an array. (Contributed by Victor Stinner in :gh:`111489`.) +* Add a new module export hook, + :c:func:`PyModExport_* `. + + (Contributed by Petr Viktorin in :pep:`793` and :gh:`140550`.) + * Add functions that are guaranteed to be safe for use in :c:member:`~PyTypeObject.tp_traverse` handlers: :c:func:`PyObject_GetTypeData_DuringGC`, @@ -2214,8 +2225,6 @@ New features It should only be used for debugging. (Contributed by Victor Stinner in :gh:`141070`.) -.. _whatsnew315-pyslot: - * Implement :pep:`820`: ``PySlot`` -- Unified slot system for the C API. See :ref:`capi-slots` for documentation.