From: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com> Date: Tue, 7 Apr 2026 11:20:51 +0000 (+0300) Subject: Python 3.15.0a8 X-Git-Tag: v3.15.0a8^0 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=55ea59e7dc35e1363b203ae4dd9cfc3a0ac0a844;p=thirdparty%2FPython%2Fcpython.git Python 3.15.0a8 --- diff --git a/Doc/c-api/dict.rst b/Doc/c-api/dict.rst index f44c18e80758..7a925870a62a 100644 --- a/Doc/c-api/dict.rst +++ b/Doc/c-api/dict.rst @@ -45,7 +45,7 @@ Dictionary objects The first argument can be a :class:`dict`, a :class:`frozendict`, or a mapping. - .. versionchanged:: next + .. versionchanged:: 3.15 Also accept :class:`frozendict`. @@ -76,7 +76,7 @@ Dictionary objects The first argument can be a :class:`dict` or a :class:`frozendict`. - .. versionchanged:: next + .. versionchanged:: 3.15 Also accept :class:`frozendict`. @@ -90,7 +90,7 @@ Dictionary objects .. versionadded:: 3.13 - .. versionchanged:: next + .. versionchanged:: 3.15 Also accept :class:`frozendict`. @@ -142,7 +142,7 @@ Dictionary objects .. versionadded:: 3.13 - .. versionchanged:: next + .. versionchanged:: 3.15 Also accept :class:`frozendict`. See also the :c:func:`PyObject_GetItem` function. @@ -166,7 +166,7 @@ Dictionary objects Calling this API without an :term:`attached thread state` had been allowed for historical reason. It is no longer allowed. - .. versionchanged:: next + .. versionchanged:: 3.15 Also accept :class:`frozendict`. @@ -177,7 +177,7 @@ Dictionary objects occurred. Return ``NULL`` **without** an exception set if the key wasn't present. - .. versionchanged:: next + .. versionchanged:: 3.15 Also accept :class:`frozendict`. @@ -195,7 +195,7 @@ Dictionary objects Prefer using the :c:func:`PyDict_GetItemWithError` function with your own :c:func:`PyUnicode_FromString` *key* instead. - .. versionchanged:: next + .. versionchanged:: 3.15 Also accept :class:`frozendict`. @@ -207,7 +207,7 @@ Dictionary objects .. versionadded:: 3.13 - .. versionchanged:: next + .. versionchanged:: 3.15 Also accept :class:`frozendict`. @@ -275,7 +275,7 @@ Dictionary objects The first argument can be a :class:`dict` or a :class:`frozendict`. - .. versionchanged:: next + .. versionchanged:: 3.15 Also accept :class:`frozendict`. @@ -285,7 +285,7 @@ Dictionary objects The first argument can be a :class:`dict` or a :class:`frozendict`. - .. versionchanged:: next + .. versionchanged:: 3.15 Also accept :class:`frozendict`. @@ -296,7 +296,7 @@ Dictionary objects The first argument can be a :class:`dict` or a :class:`frozendict`. - .. versionchanged:: next + .. versionchanged:: 3.15 Also accept :class:`frozendict`. @@ -309,7 +309,7 @@ Dictionary objects The argument can be a :class:`dict` or a :class:`frozendict`. - .. versionchanged:: next + .. versionchanged:: 3.15 Also accept :class:`frozendict`. @@ -317,7 +317,7 @@ Dictionary objects Similar to :c:func:`PyDict_Size`, but without error checking. - .. versionchanged:: next + .. versionchanged:: 3.15 Also accept :class:`frozendict`. @@ -391,7 +391,7 @@ Dictionary objects :term:`strong reference ` (for example, using :c:func:`Py_NewRef`). - .. versionchanged:: next + .. versionchanged:: 3.15 Also accept :class:`frozendict`. .. c:function:: int PyDict_Merge(PyObject *a, PyObject *b, int override) diff --git a/Doc/c-api/intro.rst b/Doc/c-api/intro.rst index e42c1dbf4200..2a22a023bdaf 100644 --- a/Doc/c-api/intro.rst +++ b/Doc/c-api/intro.rst @@ -536,7 +536,7 @@ have been standardized in C11 (or previous standards). Use the standard ``alignas`` specifier rather than this macro. - .. deprecated:: next + .. deprecated:: 3.15 The macro is :term:`soft deprecated`. .. c:macro:: PY_FORMAT_SIZE_T @@ -544,7 +544,7 @@ have been standardized in C11 (or previous standards). The :c:func:`printf` formatting modifier for :c:type:`size_t`. Use ``"z"`` directly instead. - .. deprecated:: next + .. deprecated:: 3.15 The macro is :term:`soft deprecated`. .. c:macro:: Py_LL(number) @@ -558,7 +558,7 @@ have been standardized in C11 (or previous standards). Consider using the C99 standard suffixes ``LL`` and ``LLU`` directly. - .. deprecated:: next + .. deprecated:: 3.15 The macro is :term:`soft deprecated`. .. c:macro:: PY_LONG_LONG @@ -572,7 +572,7 @@ have been standardized in C11 (or previous standards). respectively. Historically, these types needed compiler-specific extensions. - .. deprecated:: next + .. deprecated:: 3.15 These macros are :term:`soft deprecated`. .. c:macro:: PY_LLONG_MIN @@ -587,7 +587,7 @@ have been standardized in C11 (or previous standards). The required header, ````, :ref:`is included ` in ``Python.h``. - .. deprecated:: next + .. deprecated:: 3.15 These macros are :term:`soft deprecated`. .. c:macro:: Py_MEMCPY(dest, src, n) @@ -606,7 +606,7 @@ have been standardized in C11 (or previous standards). The required header for the latter, ````, :ref:`is included ` in ``Python.h``. - .. deprecated:: next + .. deprecated:: 3.15 The macro is :term:`soft deprecated`. .. c:macro:: Py_UNICODE_WIDE @@ -614,7 +614,7 @@ have been standardized in C11 (or previous standards). Defined if ``wchar_t`` can hold a Unicode character (UCS-4). Use ``sizeof(wchar_t) >= 4`` instead - .. deprecated:: next + .. deprecated:: 3.15 The macro is :term:`soft deprecated`. .. c:macro:: Py_VA_COPY @@ -627,7 +627,7 @@ have been standardized in C11 (or previous standards). .. versionchanged:: 3.6 This is now an alias to ``va_copy``. - .. deprecated:: next + .. deprecated:: 3.15 The macro is :term:`soft deprecated`. diff --git a/Doc/c-api/stable.rst b/Doc/c-api/stable.rst index f8b41f6d87f9..fe2cb89f999a 100644 --- a/Doc/c-api/stable.rst +++ b/Doc/c-api/stable.rst @@ -96,7 +96,7 @@ Contents of the Limited API are :ref:`listed below `. .. seealso:: :pep:`803` - .. versionadded:: next + .. versionadded:: 3.15 .. _stable-abi: diff --git a/Doc/library/array.rst b/Doc/library/array.rst index 8b0a0c845481..4468edb6efa6 100644 --- a/Doc/library/array.rst +++ b/Doc/library/array.rst @@ -77,7 +77,7 @@ Notes: as :c:expr:`_Float16` type, if the compiler supports the Annex H of the C23 standard. - .. versionadded:: next + .. versionadded:: 3.15 (4) Complex types (``F`` and ``D``) are available unconditionally, diff --git a/Doc/library/base64.rst b/Doc/library/base64.rst index 40edd60abead..5e08d56fd661 100644 --- a/Doc/library/base64.rst +++ b/Doc/library/base64.rst @@ -142,7 +142,7 @@ POST request. standard Base64 alphabet, and return the encoded :class:`bytes`. The result can still contain ``=`` if *padded* is true (default). - .. versionchanged:: next + .. versionchanged:: 3.15 Added the *padded* parameter. @@ -154,7 +154,7 @@ POST request. ``/`` in the standard Base64 alphabet, and return the decoded :class:`bytes`. - .. versionchanged:: next + .. versionchanged:: 3.15 Added the *padded* parameter. Padding of input is no longer required by default. @@ -175,7 +175,7 @@ POST request. after at most every *wrapcol* characters. If *wrapcol* is zero (default), do not add any newlines. - .. versionchanged:: next + .. versionchanged:: 3.15 Added the *padded* and *wrapcol* parameters. @@ -209,7 +209,7 @@ POST request. incorrectly padded or if there are non-alphabet characters present in the input. - .. versionchanged:: next + .. versionchanged:: 3.15 Added the *ignorechars* and *padded* parameters. @@ -220,7 +220,7 @@ POST request. .. versionadded:: 3.10 - .. versionchanged:: next + .. versionchanged:: 3.15 Added the *padded* and *wrapcol* parameters. @@ -236,7 +236,7 @@ POST request. .. versionadded:: 3.10 - .. versionchanged:: next + .. versionchanged:: 3.15 Added the *ignorechars* and *padded* parameters. @@ -249,7 +249,7 @@ POST request. after at most every *wrapcol* characters. If *wrapcol* is zero (default), do not add any newlines. - .. versionchanged:: next + .. versionchanged:: 3.15 Added the *wrapcol* parameter. @@ -269,7 +269,7 @@ POST request. incorrectly padded or if there are non-alphabet characters present in the input. - .. versionchanged:: next + .. versionchanged:: 3.15 Added the *ignorechars* parameter. @@ -351,7 +351,7 @@ Refer to the documentation of the individual functions for more information. .. versionadded:: 3.4 - .. versionchanged:: next + .. versionchanged:: 3.15 Added the *wrapcol* parameter. @@ -366,7 +366,7 @@ Refer to the documentation of the individual functions for more information. .. versionadded:: 3.4 - .. versionchanged:: next + .. versionchanged:: 3.15 Added the *ignorechars* parameter. @@ -388,7 +388,7 @@ Refer to the documentation of the individual functions for more information. .. versionchanged:: 3.15 The *pad* parameter was added. - .. versionchanged:: next + .. versionchanged:: 3.15 Added the *wrapcol* parameter. @@ -403,7 +403,7 @@ Refer to the documentation of the individual functions for more information. .. versionadded:: 3.13 - .. versionchanged:: next + .. versionchanged:: 3.15 Added the *ignorechars* parameter. diff --git a/Doc/library/binascii.rst b/Doc/library/binascii.rst index de5e5766779b..08a82cc4b5f6 100644 --- a/Doc/library/binascii.rst +++ b/Doc/library/binascii.rst @@ -233,7 +233,7 @@ The :mod:`!binascii` module defines the following functions: Invalid base32 data will raise :exc:`binascii.Error`. - .. versionadded:: next + .. versionadded:: 3.15 .. function:: b2a_base32(data, /, *, padded=True, alphabet=BASE32_ALPHABET, wrapcol=0) @@ -251,7 +251,7 @@ The :mod:`!binascii` module defines the following functions: after at most every *wrapcol* characters. If *wrapcol* is zero (default), do not insert any newlines. - .. versionadded:: next + .. versionadded:: 3.15 .. function:: a2b_qp(data, header=False) @@ -341,7 +341,7 @@ The :mod:`!binascii` module defines the following functions: liberal towards whitespace) is also accessible using the :meth:`bytes.fromhex` class method. - .. versionchanged:: next + .. versionchanged:: 3.15 Added the *ignorechars* parameter. @@ -360,55 +360,55 @@ The :mod:`!binascii` module defines the following functions: The Base 64 alphabet according to :rfc:`4648`. - .. versionadded:: next + .. versionadded:: 3.15 .. data:: URLSAFE_BASE64_ALPHABET The "URL and filename safe" Base 64 alphabet according to :rfc:`4648`. - .. versionadded:: next + .. versionadded:: 3.15 .. data:: UU_ALPHABET The uuencoding alphabet. - .. versionadded:: next + .. versionadded:: 3.15 .. data:: CRYPT_ALPHABET The Base 64 alphabet used in the :manpage:`crypt(3)` routine and in the GEDCOM format. - .. versionadded:: next + .. versionadded:: 3.15 .. data:: BINHEX_ALPHABET The Base 64 alphabet used in BinHex 4 (HQX) within the classic Mac OS. - .. versionadded:: next + .. versionadded:: 3.15 .. data:: BASE85_ALPHABET The Base85 alphabet. - .. versionadded:: next + .. versionadded:: 3.15 .. data:: ASCII85_ALPHABET The Ascii85 alphabet. - .. versionadded:: next + .. versionadded:: 3.15 .. data:: Z85_ALPHABET The `Z85 `_ alphabet. - .. versionadded:: next + .. versionadded:: 3.15 .. data:: BASE32_ALPHABET The Base 32 alphabet according to :rfc:`4648`. - .. versionadded:: next + .. versionadded:: 3.15 .. data:: BASE32HEX_ALPHABET @@ -416,7 +416,7 @@ The :mod:`!binascii` module defines the following functions: Data encoded with this alphabet maintains its sort order during bitwise comparisons. - .. versionadded:: next + .. versionadded:: 3.15 .. seealso:: diff --git a/Doc/library/ctypes.rst b/Doc/library/ctypes.rst index 0b3ad4573f5f..571975d46743 100644 --- a/Doc/library/ctypes.rst +++ b/Doc/library/ctypes.rst @@ -1756,7 +1756,7 @@ as a default or fallback. (or by) Python. It is recommended to only use this function as a default or fallback, - .. deprecated:: next + .. deprecated:: 3.15 This function is :term:`soft deprecated`. It is kept for use in cases where it works, but not expected to be diff --git a/Doc/library/getpass.rst b/Doc/library/getpass.rst index a6ca230d5e81..fd96f3bbf6a5 100644 --- a/Doc/library/getpass.rst +++ b/Doc/library/getpass.rst @@ -55,7 +55,7 @@ The :mod:`!getpass` module provides two functions: .. versionchanged:: 3.14 Added the *echo_char* parameter for keyboard feedback. - .. versionchanged:: next + .. versionchanged:: 3.15 When using non-empty *echo_char* on Unix, keyboard shortcuts (including cursor movement and line editing) are now properly handled using the terminal's control character configuration. diff --git a/Doc/library/json.rst b/Doc/library/json.rst index 72632a8ef53d..b354e7ba5348 100644 --- a/Doc/library/json.rst +++ b/Doc/library/json.rst @@ -358,7 +358,7 @@ Basic Usage conversion length limitation ` to help avoid denial of service attacks. - .. versionchanged:: next + .. versionchanged:: 3.15 Added the optional *array_hook* parameter. .. function:: loads(s, *, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, array_hook=None, **kw) @@ -429,7 +429,7 @@ Encoders and Decoders *array_hook* will be used instead of the :class:`list`. This feature can be used to implement custom decoders. - .. versionchanged:: next + .. versionchanged:: 3.15 Added support for *array_hook*. *parse_float* is an optional function that will be called with the string of diff --git a/Doc/library/pprint.rst b/Doc/library/pprint.rst index 77ed44c2bb7c..4f043fbb3a46 100644 --- a/Doc/library/pprint.rst +++ b/Doc/library/pprint.rst @@ -220,7 +220,7 @@ PrettyPrinter Objects .. versionchanged:: 3.11 No longer attempts to write to :data:`!sys.stdout` if it is ``None``. - .. versionchanged:: next + .. versionchanged:: 3.15 Added the *expand* parameter. diff --git a/Doc/library/select.rst b/Doc/library/select.rst index 6c4a55612180..09563af14d01 100644 --- a/Doc/library/select.rst +++ b/Doc/library/select.rst @@ -89,7 +89,7 @@ The module defines the following: The *flags* parameter. ``select.EPOLL_CLOEXEC`` is used by default now. Use :func:`os.set_inheritable` to make the file descriptor inheritable. - .. versionchanged:: next + .. versionchanged:: 3.15 When CPython is built, this function may be disabled using :option:`--disable-epoll`. diff --git a/Doc/library/stdtypes.rst b/Doc/library/stdtypes.rst index 2099ef56169e..a10551975edb 100644 --- a/Doc/library/stdtypes.rst +++ b/Doc/library/stdtypes.rst @@ -3751,7 +3751,7 @@ arbitrary binary data. The bytearray version of this method does *not* operate in place - it always produces a new object, even if no changes were made. - .. versionchanged:: next + .. versionchanged:: 3.15 *count* is now supported as a keyword argument. diff --git a/Doc/library/timeit.rst b/Doc/library/timeit.rst index aed7e7556f66..fd67c5c0a0f5 100644 --- a/Doc/library/timeit.rst +++ b/Doc/library/timeit.rst @@ -158,7 +158,7 @@ The module defines three convenience functions and a public class: .. versionadded:: 3.6 - .. versionchanged:: next + .. versionchanged:: 3.15 The optional *target_time* parameter was added. @@ -247,7 +247,7 @@ Where the following options are understood: if :option:`--number` is 0, the code will run until it takes at least this many seconds (default: 0.2) - .. versionadded:: next + .. versionadded:: 3.15 .. option:: -v, --verbose diff --git a/Doc/library/wave.rst b/Doc/library/wave.rst index 9d30a14f1129..d320975708c0 100644 --- a/Doc/library/wave.rst +++ b/Doc/library/wave.rst @@ -18,7 +18,7 @@ The module supports uncompressed PCM and IEEE floating-point WAV formats. Support for ``WAVE_FORMAT_EXTENSIBLE`` headers was added, provided that the extended format is ``KSDATAFORMAT_SUBTYPE_PCM``. -.. versionchanged:: next +.. versionchanged:: 3.15 Support for reading and writing ``WAVE_FORMAT_IEEE_FLOAT`` files was added. diff --git a/Doc/library/xml.etree.elementtree.rst b/Doc/library/xml.etree.elementtree.rst index bbb15ce5e758..310ccd651e18 100644 --- a/Doc/library/xml.etree.elementtree.rst +++ b/Doc/library/xml.etree.elementtree.rst @@ -705,7 +705,7 @@ Functions .. versionchanged:: 3.15 *attrib* can now be a :class:`frozendict`. - .. versionchanged:: next + .. versionchanged:: 3.15 *parent* and *tag* are now positional-only parameters. @@ -896,7 +896,7 @@ Element Objects .. versionchanged:: 3.15 *attrib* can now be a :class:`frozendict`. - .. versionchanged:: next + .. versionchanged:: 3.15 *tag* is now a positional-only parameter. diff --git a/Doc/using/configure.rst b/Doc/using/configure.rst index cc6aafe80f81..82409ac0cdcf 100644 --- a/Doc/using/configure.rst +++ b/Doc/using/configure.rst @@ -472,7 +472,7 @@ General Options :manpage:`epoll_create1 ` is available but incompatible with Linux semantics. - .. versionadded:: next + .. versionadded:: 3.15 C compiler options diff --git a/Include/patchlevel.h b/Include/patchlevel.h index 154bdb0721d3..2761f0dcbdc4 100644 --- a/Include/patchlevel.h +++ b/Include/patchlevel.h @@ -24,10 +24,10 @@ #define PY_MINOR_VERSION 15 #define PY_MICRO_VERSION 0 #define PY_RELEASE_LEVEL PY_RELEASE_LEVEL_ALPHA -#define PY_RELEASE_SERIAL 7 +#define PY_RELEASE_SERIAL 8 /* Version as a string */ -#define PY_VERSION "3.15.0a7+" +#define PY_VERSION "3.15.0a8" /*--end constants--*/ diff --git a/Lib/pydoc_data/module_docs.py b/Lib/pydoc_data/module_docs.py index 314bef547f30..9e33c6765bb1 100644 --- a/Lib/pydoc_data/module_docs.py +++ b/Lib/pydoc_data/module_docs.py @@ -1,4 +1,4 @@ -# Autogenerated by Sphinx on Tue Mar 10 14:31:07 2026 +# Autogenerated by Sphinx on Tue Apr 7 14:21:08 2026 # as part of the release process. module_docs = { diff --git a/Lib/pydoc_data/topics.py b/Lib/pydoc_data/topics.py index 7dd9cfe2ff58..68f6771d4ced 100644 --- a/Lib/pydoc_data/topics.py +++ b/Lib/pydoc_data/topics.py @@ -1,4 +1,4 @@ -# Autogenerated by Sphinx on Tue Mar 10 14:31:07 2026 +# Autogenerated by Sphinx on Tue Apr 7 14:21:08 2026 # as part of the release process. topics = { @@ -3972,7 +3972,7 @@ object.__format__(self, format_spec) formatting to one of the built-in types, or use a similar formatting option syntax. - See Format Specification Mini-Language for a description of the + See Format specification mini-language for a description of the standard formatting syntax. The return value must be a string object. @@ -5769,7 +5769,7 @@ immutable arithmetic sequences of integers. For instance, iterating Changed in version 3.11: Starred elements are now allowed in the expression list. ''', - 'formatstrings': r'''Format String Syntax + 'formatstrings': r'''Format string syntax ******************** The "str.format()" method and the "Formatter" class share the same @@ -5804,7 +5804,7 @@ preceded by an exclamation point "'!'", and a *format_spec*, which is preceded by a colon "':'". These specify a non-default format for the replacement value. -See also the Format Specification Mini-Language section. +See also the Format specification mini-language section. The *field_name* itself begins with an *arg_name* that is either a number or a keyword. If it’s a number, it refers to a positional @@ -5872,12 +5872,12 @@ allows the formatting of a value to be dynamically specified. See the Format examples section for some examples. -Format Specification Mini-Language +Format specification mini-language ================================== “Format specifications” are used within replacement fields contained within a format string to define how individual values are presented -(see Format String Syntax, f-strings, and t-strings). They can also be +(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. @@ -6284,8 +6284,8 @@ Expressing a percentage: Using type-specific formatting: - >>> import datetime - >>> d = datetime.datetime(2010, 7, 4, 12, 15, 58) + >>> import datetime as dt + >>> d = dt.datetime(2010, 7, 4, 12, 15, 58) >>> '{:%Y-%m-%d %H:%M:%S}'.format(d) '2010-07-04 12:15:58' @@ -6616,8 +6616,7 @@ identifier names. Changed in version 3.12: "type" is now a soft keyword. -Changed in version 3.15.0a6 (unreleased): "lazy" is now a soft -keyword. +Changed in version 3.15: "lazy" is now a soft keyword. Reserved classes of identifiers @@ -6698,8 +6697,8 @@ start with a character in the “letter-like” set "xid_start", and the remaining characters must be in the “letter- and digit-like” set "xid_continue". -These sets based on the *XID_Start* and *XID_Continue* sets as defined -by the Unicode standard annex UAX-31. Python’s "xid_start" +These sets are based on the *XID_Start* and *XID_Continue* sets as +defined by the Unicode standard annex UAX-31. Python’s "xid_start" additionally includes the underscore ("_"). Note that Python does not necessarily conform to UAX-31. @@ -6982,7 +6981,7 @@ first used, not at the import statement itself. See **PEP 810** for the full specification of lazy imports. -Added in version 3.15.0a6 (unreleased). +Added in version 3.15. Future statements @@ -8282,19 +8281,6 @@ object.__length_hint__(self) Added in version 3.4. -Note: - - Slicing is done exclusively with the following three methods. A - call like - - a[1:2] = b - - is translated to - - a[slice(1, 2, None)] = b - - and so forth. Missing slice items are always filled in with "None". - object.__getitem__(self, subscript) Called to implement *subscription*, that is, "self[subscript]". See @@ -8316,6 +8302,20 @@ object.__getitem__(self, subscript) "__getitem__()" should raise an "LookupError" or one of its subclasses ("IndexError" for sequences; "KeyError" for mappings). + Note: + + Slicing is handled by "__getitem__()", "__setitem__()", and + "__delitem__()". A call like + + a[1:2] = b + + is translated to + + a[slice(1, 2, None)] = b + + and so forth. Missing slice items are always filled in with + "None". + Note: The sequence iteration protocol (used, for example, in "for" @@ -8664,7 +8664,7 @@ object.__format__(self, format_spec) formatting to one of the built-in types, or use a similar formatting option syntax. - See Format Specification Mini-Language for a description of the + See Format specification mini-language for a description of the standard formatting syntax. The return value must be a string object. @@ -9665,19 +9665,6 @@ object.__length_hint__(self) Added in version 3.4. -Note: - - Slicing is done exclusively with the following three methods. A - call like - - a[1:2] = b - - is translated to - - a[slice(1, 2, None)] = b - - and so forth. Missing slice items are always filled in with "None". - object.__getitem__(self, subscript) Called to implement *subscription*, that is, "self[subscript]". See @@ -9699,6 +9686,20 @@ object.__getitem__(self, subscript) "__getitem__()" should raise an "LookupError" or one of its subclasses ("IndexError" for sequences; "KeyError" for mappings). + Note: + + Slicing is handled by "__getitem__()", "__setitem__()", and + "__delitem__()". A call like + + a[1:2] = b + + is translated to + + a[slice(1, 2, None)] = b + + and so forth. Missing slice items are always filled in with + "None". + Note: The sequence iteration protocol (used, for example, in "for" @@ -10021,14 +10022,27 @@ object.__buffer__(self, flags) "inspect.BufferFlags" provides a convenient way to interpret the flags. The method must return a "memoryview" object. + **Thread safety:** In *free-threaded* Python, implementations must + manage any internal export counter using atomic operations. The + method must be safe to call concurrently from multiple threads, and + the returned buffer’s underlying data must remain valid until the + corresponding "__release_buffer__()" call completes. See Thread + safety for memoryview objects for details. + object.__release_buffer__(self, buffer) Called when a buffer is no longer needed. The *buffer* argument is a "memoryview" object that was previously returned by "__buffer__()". The method must release any resources associated - with the buffer. This method should return "None". Buffer objects - that do not need to perform any cleanup are not required to - implement this method. + with the buffer. This method should return "None". + + **Thread safety:** In *free-threaded* Python, any export counter + decrement must use atomic operations. Resource cleanup must be + thread-safe, as the final release may race with concurrent releases + from other threads. + + Buffer objects that do not need to perform any cleanup are not + required to implement this method. Added in version 3.12. @@ -10169,7 +10183,7 @@ the additional methods described below. Strings also support two styles of string formatting, one providing a large degree of flexibility and customization (see "str.format()", -Format String Syntax and Custom String Formatting) and the other based +Format string syntax and Custom string formatting) and the other based on C "printf" style formatting that handles a narrower range of types and is slightly harder to use correctly, but is often faster for the cases it can handle (printf-style String Formatting). @@ -10355,7 +10369,7 @@ str.format(*args, **kwargs) >>> "{1} expects the {0} Inquisition!".format("Spanish", "Nobody") 'Nobody expects the Spanish Inquisition!' - See Format String Syntax for a description of the various + See Format string syntax for a description of the various formatting options that can be specified in format strings. Note: @@ -10548,16 +10562,31 @@ str.isprintable() >>> '\t'.isprintable(), '\n'.isprintable() (False, False) + See also "isspace()". + str.isspace() Return "True" if there are only whitespace characters in the string and there is at least one character, "False" otherwise. + For example: + + >>> ''.isspace() + False + >>> ' '.isspace() + True + >>> '\t\n'.isspace() # TAB and BREAK LINE + True + >>> '\u3000'.isspace() # IDEOGRAPHIC SPACE + True + A character is *whitespace* if in the Unicode character database (see "unicodedata"), either its general category is "Zs" (“Separator, space”), or its bidirectional class is one of "WS", "B", or "S". + See also "isprintable()". + str.istitle() Return "True" if the string is a titlecased string and there is at @@ -10673,8 +10702,7 @@ static str.maketrans(from, to, remove='', /) a third argument, it must be a string, whose characters will be mapped to "None" in the result. - Changed in version 3.15.0a6 (unreleased): *dict* can now be a - "frozendict". + Changed in version 3.15: *dict* can now be a "frozendict". str.partition(sep, /) @@ -13041,11 +13069,28 @@ also "os.popen()", "os.fdopen()", and the "makefile()" method of socket objects (and perhaps by other functions or methods provided by extension modules). +File objects implement common methods, listed below, to simplify usage +in generic code. They are expected to be With Statement Context +Managers. + The objects "sys.stdin", "sys.stdout" and "sys.stderr" are initialized to file objects corresponding to the interpreter’s standard input, output and error streams; they are all open in text mode and therefore follow the interface defined by the "io.TextIOBase" abstract class. +file.read(size=-1, /) + + Retrieve up to *size* data from the file. As a convenience if + *size* is unspecified or -1 retrieve all data available. + +file.write(data, /) + + Store *data* to the file. + +file.close() + + Flush any buffers and close the underlying file. + Internal types ============== @@ -13885,7 +13930,7 @@ class frozendict(iterable, /, **kwargs) "frozendict" is not a "dict" subclass but inherits directly from "object". - Added in version 3.15.0a6 (unreleased). + Added in version 3.15. ''', 'typesmethods': r'''Methods ******* @@ -14116,7 +14161,7 @@ sequence.count(value, /) Return the total number of occurrences of *value* in *sequence*. -sequence.index(value[, start[, stop]) +sequence.index(value[, start[, stop]]) Return the index of the first occurrence of *value* in *sequence*. @@ -14206,7 +14251,7 @@ Mutable sequence types also support the following methods: sequence.append(value, /) - Append *value* to the end of the sequence This is equivalent to + Append *value* to the end of the sequence. This is equivalent to writing "seq[len(seq):len(seq)] = [value]". sequence.clear() @@ -14559,7 +14604,7 @@ Mutable sequence types also support the following methods: sequence.append(value, /) - Append *value* to the end of the sequence This is equivalent to + Append *value* to the end of the sequence. This is equivalent to writing "seq[len(seq):len(seq)] = [value]". sequence.clear() diff --git a/Misc/NEWS.d/3.15.0a8.rst b/Misc/NEWS.d/3.15.0a8.rst new file mode 100644 index 000000000000..ed37988f6ab5 --- /dev/null +++ b/Misc/NEWS.d/3.15.0a8.rst @@ -0,0 +1,1593 @@ +.. date: 2026-03-14-17-31-39 +.. gh-issue: 145986 +.. nonce: ifSSr8 +.. release date: 2026-04-07 +.. section: Security + +:mod:`xml.parsers.expat`: Fixed a crash caused by unbounded C recursion when +converting deeply nested XML content models with +:meth:`~xml.parsers.expat.xmlparser.ElementDeclHandler`. This addresses +:cve:`2026-4224`. + +.. + +.. date: 2026-03-06-17-03-38 +.. gh-issue: 145599 +.. nonce: kchwZV +.. section: Security + +Reject control characters in :class:`http.cookies.Morsel` +:meth:`~http.cookies.Morsel.update` and +:meth:`~http.cookies.BaseCookie.js_output`. This addresses :cve:`2026-3644`. + +.. + +.. date: 2026-01-16-12-04-49 +.. gh-issue: 143930 +.. nonce: zYC5x3 +.. section: Security + +Reject leading dashes in URLs passed to :func:`webbrowser.open`. + +.. + +.. date: 2026-04-06-11-15-46 +.. gh-issue: 148157 +.. nonce: JFnZDn +.. section: Core and Builtins + +Fix an unlikely crash when parsing an invalid type comments for function +parameters. Found by OSS Fuzz in :oss-fuzz:`492782951`. + +.. + +.. date: 2026-04-06-00-00-00 +.. gh-issue: 100239 +.. nonce: binopxt +.. section: Core and Builtins + +Propagate result type and uniqueness information through +``_BINARY_OP_EXTEND`` in the tier 2 optimizer, enabling elimination of +downstream type guards and selection of inplace float operations. + +.. + +.. date: 2026-04-05-15-20-00 +.. gh-issue: 148144 +.. nonce: f7qA0x +.. section: Core and Builtins + +Initialize ``_PyInterpreterFrame.visited`` when copying interpreter frames +so incremental GC does not read an uninitialized byte from generator and +frame-object copies. + +.. + +.. date: 2026-04-05-00-00-00 +.. gh-issue: 148072 +.. nonce: xid9Pe +.. section: Core and Builtins + +Cache ``pickle.dumps`` and ``pickle.loads`` per interpreter in the XIData +framework, avoiding repeated module lookups on every cross-interpreter data +transfer. This speeds up +:class:`~concurrent.futures.InterpreterPoolExecutor` for mutable types +(``list``, ``dict``) by 1.7x--3.3x. + +.. + +.. date: 2026-04-04-22-20-00 +.. gh-issue: 148110 +.. nonce: cL5x2Q +.. section: Core and Builtins + +Fix :func:`sys.set_lazy_imports_filter` so relative lazy imports pass the +resolved imported module name to the filter callback. Patch by Pablo +Galindo. + +.. + +.. date: 2026-04-04-20-59-12 +.. gh-issue: 148083 +.. nonce: 9ZHNBN +.. section: Core and Builtins + +Constant-fold ``_CONTAINS_OP_SET`` for :class:`frozenset`. Patch by Donghee +Na. + +.. + +.. date: 2026-04-01-12-52-31 +.. gh-issue: 144319 +.. nonce: iZk4hs +.. section: Core and Builtins + +Fix a bug that could cause applications with specific allocation patterns to +leak memory via Huge Pages if compiled with Huge Page support. Patch by +Pablo Galindo + +.. + +.. date: 2026-04-01-12-35-55 +.. gh-issue: 147985 +.. nonce: YVirHJ +.. section: Core and Builtins + +Make :c:func:`PySet_Contains` attempt a lock-free lookup, similar to +:meth:`!set.__contains__`. This avoids acquiring the set object mutex in +the normal case. + +.. + +.. date: 2026-03-31-18-07-53 +.. gh-issue: 147856 +.. nonce: 62Dwee +.. section: Core and Builtins + +Allow the *count* argument of :meth:`bytes.replace` to be a keyword. + +.. + +.. date: 2026-03-31-01-06-35 +.. gh-issue: 146615 +.. nonce: fix-method-get +.. section: Core and Builtins + +Fix a crash in :meth:`~object.__get__` for :c:expr:`METH_METHOD` descriptors +when an invalid (non-type) object is passed as the second argument. Patch by +Steven Sun. + +.. + +.. date: 2026-03-30-20-00-00 +.. gh-issue: 146306 +.. nonce: C45609 +.. section: Core and Builtins + +Optimize compact integer arithmetic in the JIT by mutating +uniquely-referenced operands in place, avoiding allocation of a new int +object. Speeds up the pyperformance ``spectral_norm`` benchmark by ~10%. + +.. + +.. date: 2026-03-29-11-39-05 +.. gh-issue: 146587 +.. nonce: YJicXt +.. section: Core and Builtins + +Fix type slot assignment incase of multiple slots for same name in type +object implementation. Patch by Kumar Aditya. + +.. + +.. date: 2026-03-27-17-14-18 +.. gh-issue: 126910 +.. nonce: hooVFQ +.. section: Core and Builtins + +Set frame pointers in ``aarch64-unknown-linux-gnu`` JIT code, allowing most +native profilers and debuggers to unwind through them. Patch by Diego Russo + +.. + +.. date: 2026-03-26-11-18-45 +.. gh-issue: 146388 +.. nonce: O0u1c3 +.. section: Core and Builtins + +Adds a null check to handle when the JIT optimizer runs out of space when +dealing with contradictions in ``make_bottom``. + +.. + +.. date: 2026-03-24-13-06-52 +.. gh-issue: 146369 +.. nonce: 6wDI6S +.. section: Core and Builtins + +Ensure ``-X lazy_imports=none``` and ``PYTHON_LAZY_IMPORTS=none``` override +``__lazy_modules__``. Patch by Hugo van Kemenade. + +.. + +.. date: 2026-03-22-19-30-00 +.. gh-issue: 146308 +.. nonce: AxnRVA +.. section: Core and Builtins + +Fixed multiple error handling issues in the :mod:`!_remote_debugging` module +including a double-free in code object caching, memory leaks on allocation +failure, missing exception checks in binary format varint decoding, +reference leaks on error paths in frame chain processing, and inconsistent +thread status error reporting across platforms. Patch by Pablo Galindo. + +.. + +.. date: 2026-03-22-12-00-00 +.. gh-issue: 146306 +.. nonce: 870ef4 +.. section: Core and Builtins + +Optimize float arithmetic in the JIT by mutating uniquely-referenced +operands in place, avoiding allocation of a new float object. Speeds up the +pyperformance ``nbody`` benchmark by ~19%. + +.. + +.. date: 2026-03-21-15-05-14 +.. gh-issue: 146128 +.. nonce: DG1Hfa +.. section: Core and Builtins + +Fix a bug which could cause constant values to be partially corrupted in +AArch64 JIT code. This issue is theoretical, and hasn't actually been +observed in unmodified Python interpreters. + +.. + +.. date: 2026-03-21-11-55-16 +.. gh-issue: 146250 +.. nonce: ahl3O2 +.. section: Core and Builtins + +Fixed a memory leak in :exc:`SyntaxError` when re-initializing it. + +.. + +.. date: 2026-03-21-08-48-25 +.. gh-issue: 146245 +.. nonce: cqM3_4 +.. section: Core and Builtins + +Fixed reference leaks in :mod:`socket` when audit hooks raise exceptions in +:func:`socket.getaddrinfo` and :meth:`!socket.sendto`. + +.. + +.. date: 2026-03-21-08-11-58 +.. gh-issue: 146151 +.. nonce: 4-lhim +.. section: Core and Builtins + +:class:`memoryview` now supports the :c:expr:`float complex` and +:c:expr:`double complex` C types: formatting characters ``'F'`` and ``'D'`` +respectively. Patch by Sergey B Kirpichev. + +.. + +.. date: 2026-03-20-13-55-14 +.. gh-issue: 146196 +.. nonce: Zg70Kb +.. section: Core and Builtins + +Fix potential Undefined Behavior in :c:func:`PyUnicodeWriter_WriteASCII` by +adding a zero-length check. Patch by Shamil Abdulaev. + +.. + +.. date: 2026-03-20-13-07-33 +.. gh-issue: 146227 +.. nonce: MqBPEo +.. section: Core and Builtins + +Fix wrong type in ``_Py_atomic_load_uint16`` in the C11 atomics backend +(``pyatomic_std.h``), which used a 32-bit atomic load instead of 16-bit. +Found by Mohammed Zuhaib. + +.. + +.. date: 2026-03-20-12-52-55 +.. gh-issue: 146205 +.. nonce: M4yKdf +.. section: Core and Builtins + +Fixed a bug where :meth:`select.epoll.close`, :meth:`select.kqueue.close`, +and :meth:`select.devpoll.close` silently ignored errors. + +.. + +.. date: 2026-03-20-12-26-24 +.. gh-issue: 146199 +.. nonce: vV8V9s +.. section: Core and Builtins + +Comparison of code objects now handles errors correctly. + +.. + +.. date: 2026-03-20-11-34-17 +.. gh-issue: 145667 +.. nonce: _Agp9o +.. section: Core and Builtins + +Remove the ``GET_ITER_YIELD_FROM`` instruction, modifying ``SEND`` to pair +with ``GET_ITER`` when compiling ``yield from`` expressions. + +.. + +.. date: 2026-03-20-00-39-25 +.. gh-issue: 146192 +.. nonce: 8aQ6sC +.. section: Core and Builtins + +Add Base32 support to :mod:`binascii` and improve the performance of the +Base32 converters in :mod:`base64`. Patch by James Seo. + +.. + +.. date: 2026-03-19-16-16-40 +.. gh-issue: 135871 +.. nonce: jSExZ3 +.. section: Core and Builtins + +Improve multithreaded scaling of PyMutex in low-contention scenarios by +reloading the lock's internal state, without slowing down high-contention +scenarios. + +.. + +.. date: 2026-03-19-01-19-34 +.. gh-issue: 146096 +.. nonce: R9tkJX +.. section: Core and Builtins + +Fixed segmentation fault when called repr for BaseExceptionGroup with empty +or 1-size tuple args. + +.. + +.. date: 2026-03-18-18-52-00 +.. gh-issue: 146056 +.. nonce: r1tVSo +.. section: Core and Builtins + +Fix :func:`repr` for lists and tuples containing ``NULL``\ s. + +.. + +.. date: 2026-03-17-14-20-56 +.. gh-issue: 145059 +.. nonce: aB3xKm +.. section: Core and Builtins + +Fixed ``sys.lazy_modules`` to include lazy modules without submodules. Patch +by Bartosz Sławecki. + +.. + +.. date: 2026-03-17-00-00-00 +.. gh-issue: 146041 +.. nonce: 7799bb +.. section: Core and Builtins + +Fix free-threading scaling bottleneck in :func:`sys.intern` and +:c:func:`PyObject_SetAttr` by avoiding the interpreter-wide lock when the +string is already interned and immortalized. + +.. + +.. date: 2026-03-15-21-45-35 +.. gh-issue: 145990 +.. nonce: tmXwRB +.. section: Core and Builtins + +``python --help-env`` sections are now sorted by environment variable name. + +.. + +.. date: 2026-03-15-20-47-34 +.. gh-issue: 145990 +.. nonce: 14BUzw +.. section: Core and Builtins + +``python --help-xoptions`` is now sorted by ``-X`` option name. + +.. + +.. date: 2026-03-13-12-24-17 +.. gh-issue: 145876 +.. nonce: LWFO2K +.. section: Core and Builtins + +:exc:`AttributeError`\ s and :exc:`KeyError`\ s raised in :meth:`!keys` or +:meth:`!__getitem__` during dictionary unpacking (``{**mymapping}`` or +``func(**mymapping)``) are no longer masked by :exc:`TypeError`. + +.. + +.. date: 2026-03-13-09-48-57 +.. gh-issue: 127958 +.. nonce: U-znTv +.. section: Core and Builtins + +Support tracing from function entrypoints in the JIT. Patch by Ken Jin. + +.. + +.. date: 2026-03-11-21-27-28 +.. gh-issue: 145376 +.. nonce: LfDvyw +.. section: Core and Builtins + +Fix GC tracking in ``structseq.__replace__()``. + +.. + +.. date: 2026-03-11-19-09-47 +.. gh-issue: 145792 +.. nonce: X5KUhc +.. section: Core and Builtins + +Fix out-of-bounds access when invoking faulthandler on a CPython build +compiled without support for VLAs. + +.. + +.. date: 2026-03-11-00-13-59 +.. gh-issue: 142183 +.. nonce: 2iVhJH +.. section: Core and Builtins + +Avoid a pathological case where repeated calls at a specific stack depth +could be significantly slower. + +.. + +.. date: 2026-03-10-22-38-40 +.. gh-issue: 145779 +.. nonce: 5375381d80 +.. section: Core and Builtins + +Improve scaling of :func:`classmethod` and :func:`staticmethod` calls in the +free-threaded build by avoiding the descriptor ``__get__`` call. + +.. + +.. date: 2026-03-10-19-00-39 +.. gh-issue: 145783 +.. nonce: dS5TM9 +.. section: Core and Builtins + +Fix an unlikely crash in the parser when certain errors were erroneously not +propagated. Found by OSS Fuzz in :oss-fuzz:`491369109`. + +.. + +.. date: 2026-03-10-12-52-06 +.. gh-issue: 145685 +.. nonce: 80B7gK +.. section: Core and Builtins + +Improve scaling of type attribute lookups in the :term:`free-threaded build` +by avoiding contention on the internal type lock. + +.. + +.. date: 2026-03-09-00-00-00 +.. gh-issue: 145713 +.. nonce: KR6azvzI +.. section: Core and Builtins + +Make :meth:`bytearray.resize` thread-safe in the free-threaded build by +using a critical section and calling the lock-held variant of the resize +function. + +.. + +.. date: 2026-02-28-18-42-36 +.. gh-issue: 145036 +.. nonce: 70Kbfz +.. section: Core and Builtins + +In free-threaded build, fix race condition when calling :meth:`!__sizeof__` +on a :class:`list` + +.. + +.. date: 2026-02-14-15-51-16 +.. gh-issue: 134584 +.. nonce: 6WFSuB +.. section: Core and Builtins + +Eliminate redundant refcounting for ``MATCH_CLASS`` in the JIT. + +.. + +.. date: 2026-02-14-13-07-08 +.. gh-issue: 69605 +.. nonce: 4aL4hn +.. section: Core and Builtins + +Add :mod:`math.integer` to :term:`REPL` auto-completion of imports. + +.. + +.. date: 2026-02-08-01-19-50 +.. gh-issue: 131798 +.. nonce: PaWDNH +.. section: Core and Builtins + +Optimize ``_ITER_CHECK_RANGE`` and ``_ITER_CHECK_LIST`` in the JIT + +.. + +.. date: 2026-01-31-15-15-43 +.. gh-issue: 143414 +.. nonce: Jgl4xu +.. section: Core and Builtins + +Add tracking to the JIT optimizer to determine whether a reference is +uniquely owned or shared + +.. + +.. date: 2026-01-10-12-59-58 +.. gh-issue: 143636 +.. nonce: dzr26e +.. section: Core and Builtins + +Fix a crash when calling :class:`SimpleNamespace.__replace__() +` on non-namespace instances. Patch by Bénédikt Tran. + +.. + +.. date: 2026-01-07-23-07-17 +.. gh-issue: 126910 +.. nonce: d8zdm- +.. section: Core and Builtins + +Set frame pointers in ``x86_64-unknown-linux-gnu`` JIT code, allowing most +native profilers and debuggers to unwind through them. + +.. + +.. date: 2025-11-02-16-23-17 +.. gh-issue: 140594 +.. nonce: YIWUpl +.. section: Core and Builtins + +Fix an out of bounds read when a single NUL character is read from the +standard input. Patch by Shamil Abdulaev. + +.. + +.. date: 2025-11-01-01-49-52 +.. gh-issue: 140870 +.. nonce: iknc12 +.. section: Core and Builtins + +Add support for module attributes in the :term:`REPL` auto-completion of +imports. + +.. + +.. date: 2026-04-07-01-04-00 +.. gh-issue: 144503 +.. nonce: argvfs +.. section: Library + +Fix a regression introduced in 3.14.3 and 3.13.12 where the +:mod:`multiprocessing` ``forkserver`` start method would fail with +:exc:`BrokenPipeError` when the parent process had a very large +:data:`sys.argv`. The argv is now passed to the forkserver as separate +command-line arguments rather than being embedded in the ``-c`` command +string, avoiding the operating system's per-argument length limit. + +.. + +.. date: 2026-04-06-11-20-24 +.. gh-issue: 148153 +.. nonce: ZtsuTl +.. section: Library + +:func:`base64.b32encode` now always raises :exc:`ValueError` instead of +:exc:`AssertionError` for the value of *map01* with invalid length. + +.. + +.. date: 2026-04-01-18-17-55 +.. gh-issue: 73613 +.. nonce: PLEebm +.. section: Library + +Add the *padded* parameter in functions related to Base32 and Base64 codecs +in the :mod:`binascii` and :mod:`base64` modules. In the encoding functions +it controls whether the pad character can be added in the output, in the +decoding functions it controls whether padding is required in input. Padding +of input no longer required in :func:`base64.urlsafe_b64decode` by default. + +.. + +.. date: 2026-04-01-11-05-36 +.. gh-issue: 146613 +.. nonce: GzjUFK +.. section: Library + +:mod:`itertools`: Fix a crash in :func:`itertools.groupby` when the grouper +iterator is concurrently mutated. + +.. + +.. date: 2026-03-31-19-54-32 +.. gh-issue: 147944 +.. nonce: 3dn8GZ +.. section: Library + +Accepted range for the *bytes_per_sep* argument of :meth:`bytes.hex`, +:meth:`bytearray.hex`, :meth:`memoryview.hex`, and :func:`binascii.b2a_hex` +is now increased, so passing ``sys.maxsize`` and ``-sys.maxsize`` is now +valid. + +.. + +.. date: 2026-03-28-13-19-20 +.. gh-issue: 146080 +.. nonce: srN12a +.. section: Library + +:mod:`ssl`: fix a crash when an SNI callback tries to use an SSL object that +has already been garbage-collected. Patch by Bénédikt Tran. + +.. + +.. date: 2026-03-28-12-20-19 +.. gh-issue: 146556 +.. nonce: Y8Eson +.. section: Library + +Fix :func:`annotationlib.get_annotations` hanging indefinitely when called +with ``eval_str=True`` on a callable that has a circular ``__wrapped__`` +chain (e.g. ``f.__wrapped__ = f``). Cycle detection using an id-based +visited set now stops the traversal and falls back to the globals found so +far, mirroring the approach of :func:`inspect.unwrap`. + +.. + +.. date: 2026-03-28-12-05-34 +.. gh-issue: 146090 +.. nonce: wf9_ef +.. section: Library + +:mod:`sqlite3`: fix a crash when :meth:`sqlite3.Connection.create_collation` +fails with `SQLITE_BUSY `__. Patch by +Bénédikt Tran. + +.. + +.. date: 2026-03-28-12-01-48 +.. gh-issue: 146090 +.. nonce: wh1qJR +.. section: Library + +:mod:`sqlite3`: properly raise :exc:`MemoryError` instead of +:exc:`SystemError` when a context callback fails to be allocated. Patch by +Bénédikt Tran. + +.. + +.. date: 2026-03-27-12-00-00 +.. gh-issue: 146507 +.. nonce: 1D95A7 +.. section: Library + +Make :meth:`asyncio.SelectorEventLoop` stream transport's +:meth:`~asyncio.WriteTransport.get_write_buffer_size` O(1) by maintaining a +running byte counter instead of iterating the buffer on every call. + +.. + +.. date: 2026-03-26-14-51-55 +.. gh-issue: 145056 +.. nonce: QS-6l1 +.. section: Library + +Fix merging of :class:`collections.OrderedDict` and :class:`frozendict`. + +.. + +.. date: 2026-03-26-14-44-07 +.. gh-issue: 145056 +.. nonce: L9KPC3 +.. section: Library + +Add support for merging :class:`collections.UserDict` and +:class:`frozendict`. + +.. + +.. date: 2026-03-26-11-04-42 +.. gh-issue: 145633 +.. nonce: RWjlaX +.. section: Library + +Fix ``struct.pack('f', float)``: use :c:func:`PyFloat_Pack4` to raise +:exc:`OverflowError`. Patch by Sergey B Kirpichev and Victor Stinner. + +.. + +.. date: 2026-03-26-02-06-52 +.. gh-issue: 146440 +.. nonce: HXjhQO +.. section: Library + +:mod:`json`: Add the *array_hook* parameter to :func:`~json.load` and +:func:`~json.loads` functions: allow a callback for JSON literal array types +to customize Python lists in the resulting decoded object. Passing combined +:class:`frozendict` to *object_pairs_hook* param and :class:`tuple` to +``array_hook`` will yield a deeply nested immutable Python structure +representing the JSON data. + +.. + +.. date: 2026-03-25-21-08-51 +.. gh-issue: 146431 +.. nonce: zERPwe +.. section: Library + +Add the *wrapcol* parameter to :mod:`base64` functions +:func:`~base64.b16encode`, :func:`~base64.b32encode`, +:func:`~base64.b32hexencode`, :func:`~base64.b85encode` and +:func:`~base64.z85encode`, and :mod:`binascii` functions +:func:`~binascii.b2a_base32` and :func:`~binascii.b2a_base85`. Add the +*ignorechars* parameter to :mod:`base64` functions +:func:`~base64.b16decode`, :func:`~base64.b32decode`, +:func:`~base64.b32hexdecode`, :func:`~base64.b85decode` and +:func:`~base64.z85decode`, and :mod:`binascii` functions +:func:`~binascii.a2b_hex`, :func:`~binascii.unhexlify`, +:func:`~binascii.a2b_base32` and :func:`~binascii.a2b_base85`. + +.. + +.. date: 2026-03-24-03-49-50 +.. gh-issue: 146310 +.. nonce: WhlDir +.. section: Library + +The :mod:`ensurepip` module no longer looks for ``pip-*.whl`` wheel packages +in the current directory. + +.. + +.. date: 2026-03-21-16-03-16 +.. gh-issue: 141510 +.. nonce: tKptA7 +.. section: Library + +Support :class:`frozendict` in :mod:`plistlib`, for serialization only. +Patch by Hugo van Kemenade. + +.. + +.. date: 2026-03-21-10-02-20 +.. gh-issue: 146238 +.. nonce: 2WpMOj +.. section: Library + +Support half-floats (type code ``'e'`` of the :mod:`struct` module) in the +:mod:`array` module. Patch by Sergey B Kirpichev. + +.. + +.. date: 2026-03-21-08-23-26 +.. gh-issue: 140947 +.. nonce: owZ4r_ +.. section: Library + +Fix incorrect contextvars handling in server tasks created by +:mod:`asyncio`. Patch by Kumar Aditya. + +.. + +.. date: 2026-03-21-06-21-38 +.. gh-issue: 146151 +.. nonce: yNpgml +.. section: Library + +Support the :c:expr:`float complex` and :c:expr:`double complex` C types in +the :mod:`array` module: formatting characters ``'F'`` and ``'D'`` +respectively. Patch by Sergey B Kirpichev. + +.. + +.. date: 2026-03-20-16-17-31 +.. gh-issue: 143387 +.. nonce: 9Waopa +.. section: Library + +In importlib.metadata, when a distribution file is corrupt and there is no +metadata file, calls to ``Distribution.metadata()`` (including implicit +calls from other properties like ``.name`` and ``.requires``) will now raise +a ``MetadataNotFound`` Exception. This allows callers to distinguish between +missing metadata and a degenerate (empty) metadata. Previously, if the file +was missing, an empty ``PackageMetadata`` would be returned and would be +indistinguishable from the presence of an empty file. + +.. + +.. date: 2026-03-20-14-53-00 +.. gh-issue: 146228 +.. nonce: OJVEDL +.. section: Library + +Cached FastPath objects in importlib.metadata are now cleared on fork, +avoiding broken references to zip files during fork. + +.. + +.. date: 2026-03-20-00-28-00 +.. gh-issue: 146171 +.. nonce: P5Jk2R7v +.. section: Library + +Nested :exc:`AttributeError` suggestions now include property-backed +attributes on nested objects without executing the property getter. + +.. + +.. date: 2026-03-18-23-54-36 +.. gh-issue: 145410 +.. nonce: NvLWj5 +.. section: Library + +On Windows, :func:`sysconfig.get_platform` now gets the platform from the +``_sysconfig`` module instead of parsing :data:`sys.version` string. Patch +by Victor Stinner. + +.. + +.. date: 2026-03-18-16-58-17 +.. gh-issue: 146091 +.. nonce: lBbo1L +.. section: Library + +Fix a bug in :func:`termios.tcsetwinsize` where passing a sequence that +raises an exception in ``__getitem__`` would cause a :exc:`SystemError` +instead of propagating the original exception. + +.. + +.. date: 2026-03-17-20-52-24 +.. gh-issue: 146083 +.. nonce: NxZa_c +.. section: Library + +Update bundled `libexpat `_ to version 2.7.5. + +.. + +.. date: 2026-03-17-20-41-27 +.. gh-issue: 146076 +.. nonce: yoBNnB +.. section: Library + +:mod:`zoneinfo`: fix crashes when deleting ``_weak_cache`` from a +:class:`zoneinfo.ZoneInfo` subclass. + +.. + +.. date: 2026-03-17-19-51-05 +.. gh-issue: 123471 +.. nonce: oY4UR5 +.. section: Library + +Make concurrent iteration over :class:`itertools.zip_longest` safe under +free-threading. + +.. + +.. date: 2026-03-17-19-30-45 +.. gh-issue: 146075 +.. nonce: 85sCSh +.. section: Library + +Errors when calling :func:`functools.partial` with a malformed keyword will +no longer crash the interpreter. + +.. + +.. date: 2026-03-17-11-46-20 +.. gh-issue: 146054 +.. nonce: udYcqn +.. section: Library + +Limit the size of :func:`encodings.search_function` cache. Found by OSS Fuzz +in :oss-fuzz:`493449985`. + +.. + +.. date: 2026-03-16-00-00-00 +.. gh-issue: 146004 +.. nonce: xOptProp +.. section: Library + +All :option:`-X` options from the Python command line are now propagated to +child processes spawned by :mod:`multiprocessing`, not just a hard-coded +subset. This makes the behavior consistent between default "spawn" and +"forkserver" start methods and the old "fork" start method. The options +that were previously not propagated are: ``context_aware_warnings``, +``cpu_count``, ``disable-remote-debug``, ``int_max_str_digits``, +``lazy_imports``, ``no_debug_ranges``, ``pathconfig_warnings``, ``perf``, +``perf_jit``, ``presite``, ``pycache_prefix``, ``thread_inherit_context``, +and ``warn_default_encoding``. + +.. + +.. date: 2026-03-15-16-38-48 +.. gh-issue: 145980 +.. nonce: mRze5H +.. section: Library + +Added the *alphabet* parameter in :func:`~binascii.b2a_base64`, +:func:`~binascii.a2b_base64`, :func:`~binascii.b2a_base85` and +:func:`~binascii.a2b_base85` and a number of ``*_ALPHABET`` constants in the +:mod:`binascii` module. Removed :func:`!b2a_z85` and :func:`!a2b_z85`. + +.. + +.. date: 2026-03-15-10-17-51 +.. gh-issue: 145968 +.. nonce: gZexry +.. section: Library + +Fix translation in :func:`base64.b64decode` when altchars overlaps with the +standard ones. + +.. + +.. date: 2026-03-15-00-00-00 +.. gh-issue: 145966 +.. nonce: tCI0uD4I +.. section: Library + +Non-:exc:`AttributeError` exceptions raised during dialect attribute lookup +in :mod:`csv` are no longer silently suppressed. + +.. + +.. date: 2026-03-12-21-01-48 +.. gh-issue: 145883 +.. nonce: lUvXcc +.. section: Library + +:mod:`zoneinfo`: Fix heap buffer overflow reads from malformed TZif data. +Found by OSS Fuzz, issues :oss-fuzz:`492245058` and :oss-fuzz:`492230068`. + +.. + +.. date: 2026-03-12-12-17-39 +.. gh-issue: 145850 +.. nonce: uW3stt +.. section: Library + +Changed some implementation details in :class:`struct.Struct`: calling it +with non-ASCII string format will now raise a :exc:`ValueError` instead of +:exc:`UnicodeEncodeError`, calling it with non-ASCII bytes format will now +raise a :exc:`ValueError` instead of :exc:`struct.error`, getting the +:attr:`!format` attribute of uninitialized object will now raise an +:exc:`AttributeError` instead of :exc:`RuntimeError`. + +.. + +.. date: 2026-03-11-10-25-32 +.. gh-issue: 123720 +.. nonce: TauFRx +.. section: Library + +asyncio: Fix :func:`asyncio.Server.serve_forever` shutdown regression. Since +3.12, cancelling ``serve_forever()`` could hang waiting for a handler +blocked on a read from a client that never closed (effectively requiring two +interrupts to stop); the shutdown sequence now ensures client streams are +closed so ``serve_forever()`` exits promptly and handlers observe EOF. + +.. + +.. date: 2026-03-10-19-50-59 +.. gh-issue: 138122 +.. nonce: CsoBEo +.. section: Library + +The ``profiling.sampling`` module now supports differential flamegraph +visualization via ``--diff-flamegraph`` to compare two profiling runs. +Functions are colored red (regressions), blue (improvements), gray +(neutral), or purple (new). Elided stacks show code paths that disappeared +between runs. + +.. + +.. date: 2026-03-10-14-57-15 +.. gh-issue: 145754 +.. nonce: YBL5Ko +.. section: Library + +Request signature during mock autospec with ``FORWARDREF`` annotation +format. This prevents runtime errors when an annotation uses a name that is +not defined at runtime. + +.. + +.. date: 2026-03-10-14-13-12 +.. gh-issue: 145750 +.. nonce: iQsTeX +.. section: Library + +Avoid undefined behaviour from signed integer overflow when parsing format +strings in the :mod:`struct` module. Found by OSS Fuzz in +:oss-fuzz:`488466741`. + +.. + +.. date: 2026-03-10-01-54-34 +.. gh-issue: 145719 +.. nonce: okJRoK +.. section: Library + +Add ``application/efi`` MIME type to :mod:`mimetypes`. + +.. + +.. date: 2026-03-10-01-48-12 +.. gh-issue: 145717 +.. nonce: dPc0Rt +.. section: Library + +Add a few Microsoft-specific MIME types. + +.. + +.. date: 2026-03-09-19-59-05 +.. gh-issue: 145703 +.. nonce: 4EEP7J +.. section: Library + +:mod:`asyncio`: Make sure that :meth:`loop.call_at ` +and :meth:`loop.call_later ` trigger scheduled +events on time when the clock resolution becomes too small. + +.. + +.. date: 2026-03-09-18-33-16 +.. gh-issue: 145697 +.. nonce: d6hFmm +.. section: Library + +Add ``application/sql`` and ``application/vnd.sqlite3`` into ``mimetypes``. + +.. + +.. date: 2026-03-09-00-00-00 +.. gh-issue: 145492 +.. nonce: 457Afc +.. section: Library + +Fix infinite recursion in :class:`collections.defaultdict` ``__repr__`` when +a ``defaultdict`` contains itself. Based on analysis by KowalskiThomas in +:gh:`145492`. + +.. + +.. date: 2026-03-08-00-00-00 +.. gh-issue: 145650 +.. nonce: LgRepr +.. section: Library + +Add :meth:`~object.__repr__` support to :class:`logging.Formatter` and +:class:`logging.Filter`, showing the format string and filter name +respectively. + +.. + +.. date: 2026-03-07-14-34-39 +.. gh-issue: 145587 +.. nonce: flFQ5- +.. section: Library + +Resolved a performance regression in ``multiprocessing.connection.wait`` on +Windows that caused infinite busy loops when called with no objects. The +function now properly yields control to the OS to conserve CPU resources. +Patch By Shrey Naithani + +.. + +.. date: 2026-03-07-02-44-52 +.. gh-issue: 145616 +.. nonce: x8Mf23 +.. section: Library + +Detect Android sysconfig ABI correctly on 32-bit ARM Android on 64-bit ARM +kernel + +.. + +.. date: 2026-03-05-14-13-10 +.. gh-issue: 145546 +.. nonce: 3tnlxx +.. section: Library + +Fix ``unittest.util.sorted_list_difference()`` to deduplicate remaining +elements when one input list is exhausted before the other. + +.. + +.. date: 2026-03-03-23-21-40 +.. gh-issue: 145446 +.. nonce: 0c-TJX +.. section: Library + +Now :mod:`functools` is safer in free-threaded build when using keywords in +:func:`functools.partial` + +.. + +.. date: 2026-02-26-20-13-16 +.. gh-issue: 145264 +.. nonce: 4pggX_ +.. section: Library + +Base64 decoder (see :func:`binascii.a2b_base64`, :func:`base64.b64decode`, +etc) no longer ignores excess data after the first padded quad in non-strict +(default) mode. Instead, in conformance with :rfc:`4648`, section 3.3, it +now ignores the pad character, "=", if it is present before the end of the +encoded data. + +.. + +.. date: 2026-02-23-21-28-12 +.. gh-issue: 145035 +.. nonce: J5UjS6 +.. section: Library + +Allows omitting the internal library ``_pyrepl`` with limited loss of +functionality. This allows complete removal of the modern REPL, which is an +unsupported configuration, but still desirable for some distributions. + +.. + +.. date: 2026-02-19-16-34-18 +.. gh-issue: 144270 +.. nonce: wJRtSr +.. section: Library + +Made the *tag* parameter of :class:`xml.etree.ElementTree.Element` and the +*parent* and *tag* parameters of :func:`xml.etree.ElementTree.SubElement` +positional-only, matching the behavior of the C accelerator. + +.. + +.. date: 2026-02-19-12-00-00 +.. gh-issue: 144984 +.. nonce: b93995c982 +.. section: Library + +Fix crash in :meth:`xml.parsers.expat.xmlparser.ExternalEntityParserCreate` +when an allocation fails. The error paths could dereference NULL +``handlers`` and double-decrement the parent parser's reference count. + +.. + +.. date: 2026-02-18-21-45-00 +.. gh-issue: 144975 +.. nonce: Ab3XyZ +.. section: Library + +:meth:`wave.Wave_write.setframerate` now validates the frame rate after +rounding to an integer, preventing values like ``0.5`` from being accepted +and causing confusing errors later. Patch by Michiel Beijen. + +.. + +.. date: 2026-02-17-03-43-07 +.. gh-issue: 140715 +.. nonce: twmcM_ +.. section: Library + +Add ``%n`` and ``%t`` support to :meth:`~datetime.datetime.strptime`. + +.. + +.. date: 2026-02-11-21-01-30 +.. gh-issue: 144259 +.. nonce: OAhOR8 +.. section: Library + +Fix inconsistent display of long multiline pasted content in the REPL. + +.. + +.. date: 2026-02-08-22-04-06 +.. gh-issue: 140814 +.. nonce: frzSpn +.. section: Library + +:func:`multiprocessing.freeze_support` no longer sets the default start +method as a side effect, which previously caused a subsequent +:func:`multiprocessing.set_start_method` call to raise :exc:`RuntimeError`. + +.. + +.. date: 2026-02-04-20-30-59 +.. gh-issue: 123471 +.. nonce: 1dnPvs +.. section: Library + +Make concurrent iteration over :class:`itertools.accumulate` safe under +free-threading. + +.. + +.. date: 2026-01-10-16-23-21 +.. gh-issue: 143715 +.. nonce: HZrfSA +.. section: Library + +Calling the ``Struct.__new__()`` without required argument now is +deprecated. Calling :meth:`~object.__init__` method on initialized +:class:`~struct.Struct` objects is deprecated. + +.. + +.. date: 2025-12-18-00-00-00 +.. gh-issue: 142763 +.. nonce: AJpZPVG5 +.. section: Library + +Fix a race condition between :class:`zoneinfo.ZoneInfo` creation and +:func:`zoneinfo.ZoneInfo.clear_cache` that could raise :exc:`KeyError`. + +.. + +.. date: 2025-11-18-06-35-53 +.. gh-issue: 141707 +.. nonce: DBmQIy +.. section: Library + +Don't change :class:`tarfile.TarInfo` type from ``AREGTYPE`` to ``DIRTYPE`` +when parsing GNU long name or link headers. + +.. + +.. date: 2025-11-15-23-14-30 +.. gh-issue: 138577 +.. nonce: KbShrt +.. section: Library + +:func:`getpass.getpass` with non-empty ``echo_char`` now handles keyboard +shortcuts including Ctrl+A/E (cursor movement), Ctrl+K/U (kill line), Ctrl+W +(erase word), and Ctrl+V (literal next) by reading the terminal's control +character settings and processing them appropriately in non-canonical mode. +Patch by Sanyam Khurana. + +.. + +.. date: 2025-10-13-16-43-36 +.. gh-issue: 140049 +.. nonce: VvmAzN +.. section: Library + +:func:`traceback.format_exception_only` now colorizes exception notes. + +.. + +.. date: 2025-10-11-11-50-59 +.. gh-issue: 139933 +.. nonce: 05MHlx +.. section: Library + +Improve :exc:`AttributeError` suggestions for classes with a custom +:meth:`~object.__dir__` method returning a list of unsortable values. Patch +by Bénédikt Tran. + +.. + +.. date: 2025-10-05-15-38-02 +.. gh-issue: 139633 +.. nonce: l3P839 +.. section: Library + +The :mod:`netrc` security check is now run once per parse rather than once +per entry. + +.. + +.. date: 2025-09-19-13-54-54 +.. gh-issue: 130472 +.. nonce: LODfdk +.. section: Library + +Add fancycompleter and enable it by default when using pyrepl. This gives +colored tab completion. + +.. + +.. date: 2025-02-07-00-48-07 +.. gh-issue: 112632 +.. nonce: 95MM0C +.. section: Library + +Add an *expand* keyword argument for :func:`pprint.pprint`, +:func:`pprint.pformat`, :func:`pprint.pp` by passing on all *kwargs* and +:class:`pprint.PrettyPrinter`. Contributed by Stefan Todoran and Semyon +Moroz. + +.. + +.. date: 2024-09-25-12-47-50 +.. gh-issue: 66419 +.. nonce: DVSukU +.. section: Library + +Optional argument with :ref:`nargs` equals to ``argparse.REMAINDER`` now +consumes all remaining arguments including ``'--'``. + +.. + +.. date: 2023-03-10-13-10-06 +.. gh-issue: 60729 +.. nonce: KCCHTe +.. section: Library + +Add support for floating point audio wave files in :mod:`wave`. + +.. + +.. bpo: 36461 +.. date: 2019-04-25-21-11-37 +.. nonce: TO5YyP +.. section: Library + +Make the target time of :meth:`timeit.Timer.autorange` configurable and add +``--target-time`` option to the command-line interface of :mod:`timeit`. + +.. + +.. date: 2026-03-25-00-00-00 +.. gh-issue: 126676 +.. nonce: 052336 +.. section: Documentation + +Expand :mod:`argparse` documentation for ``type=bool`` with a demonstration +of the surprising behavior and pointers to common alternatives. + +.. + +.. date: 2026-03-09-00-00-00 +.. gh-issue: 145649 +.. nonce: 8BcbAB +.. section: Documentation + +Fix text wrapping and formatting of ``-X`` option descriptions in the +:manpage:`python(1)` man page by using proper roff markup. + +.. + +.. date: 2026-04-03-21-37-18 +.. gh-issue: 144418 +.. nonce: PusC0S +.. section: Tests + +The Android testbed's emulator RAM has been increased from 2 GB to 4 GB. + +.. + +.. date: 2026-03-24-00-15-58 +.. gh-issue: 146202 +.. nonce: LgH6Bj +.. section: Tests + +Fix a race condition in regrtest: make sure that the temporary directory is +created in the worker process. Previously, temp_cwd() could fail on Windows +if the "build" directory was not created. Patch by Victor Stinner. + +.. + +.. date: 2026-03-28-02-48-51 +.. gh-issue: 146541 +.. nonce: k-zlM6 +.. section: Build + +The Android testbed can now be built for 32-bit ARM and x86 targets. + +.. + +.. date: 2026-03-27-06-55-10 +.. gh-issue: 146498 +.. nonce: uOiCab +.. section: Build + +The iOS XCframework build script now ensures libpython isn't included in +installed app content, and is more robust in identifying standard library +binary content that requires processing. + +.. + +.. date: 2026-03-26-14-35-29 +.. gh-issue: 146450 +.. nonce: 9Kmp5Q +.. section: Build + +The Android build script was modified to improve parity with other platform +build scripts. + +.. + +.. date: 2026-03-26-12-48-42 +.. gh-issue: 146446 +.. nonce: 0GyMu4 +.. section: Build + +The clean target for the Apple/iOS XCframework build script is now more +selective when targeting a single architecture. + +.. + +.. date: 2026-03-26-12-27-42 +.. gh-issue: 146444 +.. nonce: JKJuEa +.. section: Build + +The Apple/iOS build script has been moved to the Platforms directory. + +.. + +.. date: 2026-03-23-20-06-35 +.. gh-issue: 146210 +.. nonce: C01Rmq +.. section: Build + +Fix building the jit stencils on Windows when the interpreter is built with +a different clang version. Patch by Chris Eibl. + +.. + +.. date: 2026-03-12-12-30-24 +.. gh-issue: 145844 +.. nonce: VOPeCU +.. section: Build + +Update to WASI SDK 32. + +.. + +.. date: 2026-03-11-11-58-42 +.. gh-issue: 145801 +.. nonce: iCXa3v +.. section: Build + +When Python build is optimized with GCC using PGO, use +``-fprofile-update=atomic`` option to use atomic operations when updating +profile information. This option reduces the risk of gcov Data Files (.gcda) +corruption which can cause random GCC crashes. Patch by Victor Stinner. + +.. + +.. date: 2026-03-10-16-58-55 +.. gh-issue: 138850 +.. nonce: CkqTw6 +.. section: Build + +Add :option:`--disable-epoll` to ``configure`` + +.. + +.. date: 2026-03-08-06-18-26 +.. gh-issue: 145633 +.. nonce: Ogu-RF +.. section: Build + +Remove support for ancient ARM platforms (ARMv4L and ARMv5L OABI boards), +using mixed-endian representation for doubles. Patch by Sergey B Kirpichev. + +.. + +.. date: 2026-01-08-22-27-07 +.. gh-issue: 85277 +.. nonce: TotySi +.. section: Build + +Fix building without ``stropts.h`` or empty ``stropts.h`` + +.. + +.. date: 2025-10-19-23-44-46 +.. gh-issue: 140131 +.. nonce: AABF2k +.. section: Windows + +Fix REPL cursor position on Windows when module completion suggestion line +hits console width. + +.. + +.. date: 2025-10-17-01-07-03 +.. gh-issue: 137586 +.. nonce: kVzxvp +.. section: macOS + +Invoke :program:`osascript` with absolute path in :mod:`webbrowser` and +:mod:`!turtledemo`. + +.. + +.. date: 2026-03-22-00-00-00 +.. gh-issue: 135953 +.. nonce: IptOwg +.. section: Tools/Demos + +Properly identify the main thread in the Gecko profiler collector by using a +status flag from the interpreter state instead of relying on +:func:`threading.main_thread` in the collector process. + +.. + +.. date: 2026-03-15-20-59-29 +.. gh-issue: 145976 +.. nonce: rEdUI- +.. section: Tools/Demos + +Remove :file:`Misc/indent.pro`, a configuration file for GNU +:manpage:`indent(1)`. + +.. + +.. date: 2026-03-15-11-32-35 +.. gh-issue: 145976 +.. nonce: mqhzmB +.. section: Tools/Demos + +Remove :file:`Misc/vgrindefs` and :file:`Misc/Porting`. + +.. + +.. date: 2026-03-31-13-33-41 +.. gh-issue: 146636 +.. nonce: 5do3wt +.. section: C API + +The :c:data:`Py_mod_abi` slot is now mandatory for modules created from a +slots array (using :c:func:`PyModule_FromSlotsAndSpec` or the +:c:func:`PyModExport_* ` export hook). + +.. + +.. date: 2026-03-19-16-50-27 +.. gh-issue: 146175 +.. nonce: pISQGX +.. section: C API + +The following macros are :term:`soft deprecated`: :c:macro:`Py_ALIGNED`, +:c:macro:`PY_FORMAT_SIZE_T`, :c:macro:`Py_LL`, :c:macro:`Py_ULL`, +:c:macro:`PY_LONG_LONG`, :c:macro:`PY_LLONG_MIN`, :c:macro:`PY_LLONG_MAX`, +:c:macro:`PY_ULLONG_MAX`, :c:macro:`PY_INT32_T`, :c:macro:`PY_UINT32_T`, +:c:macro:`PY_INT64_T`, :c:macro:`PY_UINT64_T`, :c:macro:`PY_SIZE_MAX`, +:c:macro:`Py_UNICODE_SIZE`, :c:macro:`Py_VA_COPY`. + +The macro :c:macro:`Py_UNICODE_WIDE`, which was scheduled for removal, is +:term:`soft deprecated` instead. + +.. + +.. date: 2026-03-18-23-44-29 +.. gh-issue: 146143 +.. nonce: pwIrJq +.. section: C API + +:c:func:`PyUnicodeWriter_WriteUCS4` now accepts a pointer to a constant +buffer of ``Py_UCS4``. + +.. + +.. date: 2026-03-18-20-18-59 +.. gh-issue: 146056 +.. nonce: nnZIgp +.. section: C API + +:c:func:`PyUnicodeWriter_WriteRepr` now supports ``NULL`` argument. + +.. + +.. date: 2026-02-19-18-39-11 +.. gh-issue: 145010 +.. nonce: mKzjci +.. section: C API + +Use GCC dialect alternatives for inline assembly in ``object.h`` so that the +Python headers compile correctly with ``-masm=intel``. diff --git a/Misc/NEWS.d/next/Build/2026-01-08-22-27-07.gh-issue-85277.TotySi.rst b/Misc/NEWS.d/next/Build/2026-01-08-22-27-07.gh-issue-85277.TotySi.rst deleted file mode 100644 index 538995538d7d..000000000000 --- a/Misc/NEWS.d/next/Build/2026-01-08-22-27-07.gh-issue-85277.TotySi.rst +++ /dev/null @@ -1 +0,0 @@ -Fix building without ``stropts.h`` or empty ``stropts.h`` diff --git a/Misc/NEWS.d/next/Build/2026-03-08-06-18-26.gh-issue-145633.Ogu-RF.rst b/Misc/NEWS.d/next/Build/2026-03-08-06-18-26.gh-issue-145633.Ogu-RF.rst deleted file mode 100644 index 2c4da1b60c09..000000000000 --- a/Misc/NEWS.d/next/Build/2026-03-08-06-18-26.gh-issue-145633.Ogu-RF.rst +++ /dev/null @@ -1,3 +0,0 @@ -Remove support for ancient ARM platforms (ARMv4L and ARMv5L OABI boards), -using mixed-endian representation -for doubles. Patch by Sergey B Kirpichev. diff --git a/Misc/NEWS.d/next/Build/2026-03-10-16-58-55.gh-issue-138850.CkqTw6.rst b/Misc/NEWS.d/next/Build/2026-03-10-16-58-55.gh-issue-138850.CkqTw6.rst deleted file mode 100644 index 256f13b28772..000000000000 --- a/Misc/NEWS.d/next/Build/2026-03-10-16-58-55.gh-issue-138850.CkqTw6.rst +++ /dev/null @@ -1 +0,0 @@ -Add :option:`--disable-epoll` to ``configure`` diff --git a/Misc/NEWS.d/next/Build/2026-03-11-11-58-42.gh-issue-145801.iCXa3v.rst b/Misc/NEWS.d/next/Build/2026-03-11-11-58-42.gh-issue-145801.iCXa3v.rst deleted file mode 100644 index c5f3982cc541..000000000000 --- a/Misc/NEWS.d/next/Build/2026-03-11-11-58-42.gh-issue-145801.iCXa3v.rst +++ /dev/null @@ -1,4 +0,0 @@ -When Python build is optimized with GCC using PGO, use -``-fprofile-update=atomic`` option to use atomic operations when updating -profile information. This option reduces the risk of gcov Data Files (.gcda) -corruption which can cause random GCC crashes. Patch by Victor Stinner. diff --git a/Misc/NEWS.d/next/Build/2026-03-12-12-30-24.gh-issue-145844.VOPeCU.rst b/Misc/NEWS.d/next/Build/2026-03-12-12-30-24.gh-issue-145844.VOPeCU.rst deleted file mode 100644 index 10fac03be32d..000000000000 --- a/Misc/NEWS.d/next/Build/2026-03-12-12-30-24.gh-issue-145844.VOPeCU.rst +++ /dev/null @@ -1 +0,0 @@ -Update to WASI SDK 32. diff --git a/Misc/NEWS.d/next/Build/2026-03-23-20-06-35.gh-issue-146210.C01Rmq.rst b/Misc/NEWS.d/next/Build/2026-03-23-20-06-35.gh-issue-146210.C01Rmq.rst deleted file mode 100644 index ce59a9a3a571..000000000000 --- a/Misc/NEWS.d/next/Build/2026-03-23-20-06-35.gh-issue-146210.C01Rmq.rst +++ /dev/null @@ -1,2 +0,0 @@ -Fix building the jit stencils on Windows when the interpreter is built with -a different clang version. Patch by Chris Eibl. diff --git a/Misc/NEWS.d/next/Build/2026-03-26-12-27-42.gh-issue-146444.JKJuEa.rst b/Misc/NEWS.d/next/Build/2026-03-26-12-27-42.gh-issue-146444.JKJuEa.rst deleted file mode 100644 index 40489f41a2ad..000000000000 --- a/Misc/NEWS.d/next/Build/2026-03-26-12-27-42.gh-issue-146444.JKJuEa.rst +++ /dev/null @@ -1 +0,0 @@ -The Apple/iOS build script has been moved to the Platforms directory. diff --git a/Misc/NEWS.d/next/Build/2026-03-26-12-48-42.gh-issue-146446.0GyMu4.rst b/Misc/NEWS.d/next/Build/2026-03-26-12-48-42.gh-issue-146446.0GyMu4.rst deleted file mode 100644 index 40795650b53c..000000000000 --- a/Misc/NEWS.d/next/Build/2026-03-26-12-48-42.gh-issue-146446.0GyMu4.rst +++ /dev/null @@ -1,2 +0,0 @@ -The clean target for the Apple/iOS XCframework build script is now more -selective when targeting a single architecture. diff --git a/Misc/NEWS.d/next/Build/2026-03-26-14-35-29.gh-issue-146450.9Kmp5Q.rst b/Misc/NEWS.d/next/Build/2026-03-26-14-35-29.gh-issue-146450.9Kmp5Q.rst deleted file mode 100644 index 32cb5b8221a9..000000000000 --- a/Misc/NEWS.d/next/Build/2026-03-26-14-35-29.gh-issue-146450.9Kmp5Q.rst +++ /dev/null @@ -1,2 +0,0 @@ -The Android build script was modified to improve parity with other platform -build scripts. diff --git a/Misc/NEWS.d/next/Build/2026-03-27-06-55-10.gh-issue-146498.uOiCab.rst b/Misc/NEWS.d/next/Build/2026-03-27-06-55-10.gh-issue-146498.uOiCab.rst deleted file mode 100644 index 35deccd89761..000000000000 --- a/Misc/NEWS.d/next/Build/2026-03-27-06-55-10.gh-issue-146498.uOiCab.rst +++ /dev/null @@ -1,3 +0,0 @@ -The iOS XCframework build script now ensures libpython isn't included in -installed app content, and is more robust in identifying standard library -binary content that requires processing. diff --git a/Misc/NEWS.d/next/Build/2026-03-28-02-48-51.gh-issue-146541.k-zlM6.rst b/Misc/NEWS.d/next/Build/2026-03-28-02-48-51.gh-issue-146541.k-zlM6.rst deleted file mode 100644 index 351071b0becf..000000000000 --- a/Misc/NEWS.d/next/Build/2026-03-28-02-48-51.gh-issue-146541.k-zlM6.rst +++ /dev/null @@ -1 +0,0 @@ -The Android testbed can now be built for 32-bit ARM and x86 targets. diff --git a/Misc/NEWS.d/next/C_API/2026-02-19-18-39-11.gh-issue-145010.mKzjci.rst b/Misc/NEWS.d/next/C_API/2026-02-19-18-39-11.gh-issue-145010.mKzjci.rst deleted file mode 100644 index 7f5be699c634..000000000000 --- a/Misc/NEWS.d/next/C_API/2026-02-19-18-39-11.gh-issue-145010.mKzjci.rst +++ /dev/null @@ -1,2 +0,0 @@ -Use GCC dialect alternatives for inline assembly in ``object.h`` so that the -Python headers compile correctly with ``-masm=intel``. diff --git a/Misc/NEWS.d/next/C_API/2026-03-18-20-18-59.gh-issue-146056.nnZIgp.rst b/Misc/NEWS.d/next/C_API/2026-03-18-20-18-59.gh-issue-146056.nnZIgp.rst deleted file mode 100644 index 7c5fc7a0538e..000000000000 --- a/Misc/NEWS.d/next/C_API/2026-03-18-20-18-59.gh-issue-146056.nnZIgp.rst +++ /dev/null @@ -1 +0,0 @@ -:c:func:`PyUnicodeWriter_WriteRepr` now supports ``NULL`` argument. diff --git a/Misc/NEWS.d/next/C_API/2026-03-18-23-44-29.gh-issue-146143.pwIrJq.rst b/Misc/NEWS.d/next/C_API/2026-03-18-23-44-29.gh-issue-146143.pwIrJq.rst deleted file mode 100644 index 930d90ff9a26..000000000000 --- a/Misc/NEWS.d/next/C_API/2026-03-18-23-44-29.gh-issue-146143.pwIrJq.rst +++ /dev/null @@ -1,2 +0,0 @@ -:c:func:`PyUnicodeWriter_WriteUCS4` now accepts a pointer to a constant buffer -of ``Py_UCS4``. diff --git a/Misc/NEWS.d/next/C_API/2026-03-19-16-50-27.gh-issue-146175.pISQGX.rst b/Misc/NEWS.d/next/C_API/2026-03-19-16-50-27.gh-issue-146175.pISQGX.rst deleted file mode 100644 index 3563347141d1..000000000000 --- a/Misc/NEWS.d/next/C_API/2026-03-19-16-50-27.gh-issue-146175.pISQGX.rst +++ /dev/null @@ -1,12 +0,0 @@ -The following macros are :term:`soft deprecated`: -:c:macro:`Py_ALIGNED`, -:c:macro:`PY_FORMAT_SIZE_T`, -:c:macro:`Py_LL`, :c:macro:`Py_ULL`, -:c:macro:`PY_LONG_LONG`, :c:macro:`PY_LLONG_MIN`, :c:macro:`PY_LLONG_MAX`, -:c:macro:`PY_ULLONG_MAX`, :c:macro:`PY_INT32_T`, :c:macro:`PY_UINT32_T`, -:c:macro:`PY_INT64_T`, :c:macro:`PY_UINT64_T`, :c:macro:`PY_SIZE_MAX`, -:c:macro:`Py_UNICODE_SIZE`, -:c:macro:`Py_VA_COPY`. - -The macro :c:macro:`Py_UNICODE_WIDE`, which was scheduled for removal, is -:term:`soft deprecated` instead. diff --git a/Misc/NEWS.d/next/C_API/2026-03-31-13-33-41.gh-issue-146636.5do3wt.rst b/Misc/NEWS.d/next/C_API/2026-03-31-13-33-41.gh-issue-146636.5do3wt.rst deleted file mode 100644 index 8f8b832b8bae..000000000000 --- a/Misc/NEWS.d/next/C_API/2026-03-31-13-33-41.gh-issue-146636.5do3wt.rst +++ /dev/null @@ -1,3 +0,0 @@ -The :c:data:`Py_mod_abi` slot is now mandatory for modules created from a -slots array (using :c:func:`PyModule_FromSlotsAndSpec` or the -:c:func:`PyModExport_* ` export hook). diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2025-11-01-01-49-52.gh-issue-140870.iknc12.rst b/Misc/NEWS.d/next/Core_and_Builtins/2025-11-01-01-49-52.gh-issue-140870.iknc12.rst deleted file mode 100644 index aadf57622a42..000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2025-11-01-01-49-52.gh-issue-140870.iknc12.rst +++ /dev/null @@ -1,2 +0,0 @@ -Add support for module attributes in the :term:`REPL` auto-completion of -imports. diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2025-11-02-16-23-17.gh-issue-140594.YIWUpl.rst b/Misc/NEWS.d/next/Core_and_Builtins/2025-11-02-16-23-17.gh-issue-140594.YIWUpl.rst deleted file mode 100644 index aa126e7e25bb..000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2025-11-02-16-23-17.gh-issue-140594.YIWUpl.rst +++ /dev/null @@ -1,2 +0,0 @@ -Fix an out of bounds read when a single NUL character is read from the standard input. -Patch by Shamil Abdulaev. diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-01-07-23-07-17.gh-issue-126910.d8zdm-.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-01-07-23-07-17.gh-issue-126910.d8zdm-.rst deleted file mode 100644 index c86bfdb306f4..000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2026-01-07-23-07-17.gh-issue-126910.d8zdm-.rst +++ /dev/null @@ -1,2 +0,0 @@ -Set frame pointers in ``x86_64-unknown-linux-gnu`` JIT code, allowing -most native profilers and debuggers to unwind through them. diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-01-10-12-59-58.gh-issue-143636.dzr26e.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-01-10-12-59-58.gh-issue-143636.dzr26e.rst deleted file mode 100644 index 4d5249ffe3a2..000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2026-01-10-12-59-58.gh-issue-143636.dzr26e.rst +++ /dev/null @@ -1,2 +0,0 @@ -Fix a crash when calling :class:`SimpleNamespace.__replace__() -` on non-namespace instances. Patch by Bénédikt Tran. diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-01-31-15-15-43.gh-issue-143414.Jgl4xu.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-01-31-15-15-43.gh-issue-143414.Jgl4xu.rst deleted file mode 100644 index 91f66e68bc9e..000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2026-01-31-15-15-43.gh-issue-143414.Jgl4xu.rst +++ /dev/null @@ -1 +0,0 @@ -Add tracking to the JIT optimizer to determine whether a reference is uniquely owned or shared diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-02-08-01-19-50.gh-issue-131798.PaWDNH.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-02-08-01-19-50.gh-issue-131798.PaWDNH.rst deleted file mode 100644 index fe80c2d911b6..000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2026-02-08-01-19-50.gh-issue-131798.PaWDNH.rst +++ /dev/null @@ -1 +0,0 @@ -Optimize ``_ITER_CHECK_RANGE`` and ``_ITER_CHECK_LIST`` in the JIT diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-02-14-13-07-08.gh-issue-69605.4aL4hn.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-02-14-13-07-08.gh-issue-69605.4aL4hn.rst deleted file mode 100644 index c00b7b99f8ee..000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2026-02-14-13-07-08.gh-issue-69605.4aL4hn.rst +++ /dev/null @@ -1 +0,0 @@ -Add :mod:`math.integer` to :term:`REPL` auto-completion of imports. diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-02-14-15-51-16.gh-issue-134584.6WFSuB.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-02-14-15-51-16.gh-issue-134584.6WFSuB.rst deleted file mode 100644 index 5b7293b56710..000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2026-02-14-15-51-16.gh-issue-134584.6WFSuB.rst +++ /dev/null @@ -1 +0,0 @@ -Eliminate redundant refcounting for ``MATCH_CLASS`` in the JIT. diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-02-28-18-42-36.gh-issue-145036.70Kbfz.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-02-28-18-42-36.gh-issue-145036.70Kbfz.rst deleted file mode 100644 index 2a565c1d02bc..000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2026-02-28-18-42-36.gh-issue-145036.70Kbfz.rst +++ /dev/null @@ -1 +0,0 @@ -In free-threaded build, fix race condition when calling :meth:`!__sizeof__` on a :class:`list` diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-03-09-00-00-00.gh-issue-145713.KR6azvzI.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-03-09-00-00-00.gh-issue-145713.KR6azvzI.rst deleted file mode 100644 index 2cf83eff3105..000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2026-03-09-00-00-00.gh-issue-145713.KR6azvzI.rst +++ /dev/null @@ -1,3 +0,0 @@ -Make :meth:`bytearray.resize` thread-safe in the free-threaded build by -using a critical section and calling the lock-held variant of the resize -function. diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-03-10-12-52-06.gh-issue-145685.80B7gK.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-03-10-12-52-06.gh-issue-145685.80B7gK.rst deleted file mode 100644 index da34b67c952c..000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2026-03-10-12-52-06.gh-issue-145685.80B7gK.rst +++ /dev/null @@ -1,2 +0,0 @@ -Improve scaling of type attribute lookups in the :term:`free-threaded build` by -avoiding contention on the internal type lock. diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-03-10-19-00-39.gh-issue-145783.dS5TM9.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-03-10-19-00-39.gh-issue-145783.dS5TM9.rst deleted file mode 100644 index ce9aa2860688..000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2026-03-10-19-00-39.gh-issue-145783.dS5TM9.rst +++ /dev/null @@ -1,2 +0,0 @@ -Fix an unlikely crash in the parser when certain errors were erroneously not -propagated. Found by OSS Fuzz in :oss-fuzz:`491369109`. diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-03-10-22-38-40.gh-issue-145779.5375381d80.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-03-10-22-38-40.gh-issue-145779.5375381d80.rst deleted file mode 100644 index 9cd0263a107f..000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2026-03-10-22-38-40.gh-issue-145779.5375381d80.rst +++ /dev/null @@ -1,2 +0,0 @@ -Improve scaling of :func:`classmethod` and :func:`staticmethod` calls in -the free-threaded build by avoiding the descriptor ``__get__`` call. diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-03-11-00-13-59.gh-issue-142183.2iVhJH.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-03-11-00-13-59.gh-issue-142183.2iVhJH.rst deleted file mode 100644 index 827224dc71e8..000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2026-03-11-00-13-59.gh-issue-142183.2iVhJH.rst +++ /dev/null @@ -1 +0,0 @@ -Avoid a pathological case where repeated calls at a specific stack depth could be significantly slower. diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-03-11-19-09-47.gh-issue-145792.X5KUhc.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-03-11-19-09-47.gh-issue-145792.X5KUhc.rst deleted file mode 100644 index bd42f32d6ae3..000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2026-03-11-19-09-47.gh-issue-145792.X5KUhc.rst +++ /dev/null @@ -1,2 +0,0 @@ -Fix out-of-bounds access when invoking faulthandler on a CPython build -compiled without support for VLAs. diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-03-11-21-27-28.gh-issue-145376.LfDvyw.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-03-11-21-27-28.gh-issue-145376.LfDvyw.rst deleted file mode 100644 index 476be205da80..000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2026-03-11-21-27-28.gh-issue-145376.LfDvyw.rst +++ /dev/null @@ -1 +0,0 @@ -Fix GC tracking in ``structseq.__replace__()``. diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-03-13-09-48-57.gh-issue-127958.U-znTv.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-03-13-09-48-57.gh-issue-127958.U-znTv.rst deleted file mode 100644 index 9808a27e9ea1..000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2026-03-13-09-48-57.gh-issue-127958.U-znTv.rst +++ /dev/null @@ -1 +0,0 @@ -Support tracing from function entrypoints in the JIT. Patch by Ken Jin. diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-03-13-12-24-17.gh-issue-145876.LWFO2K.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-03-13-12-24-17.gh-issue-145876.LWFO2K.rst deleted file mode 100644 index 86579634fa14..000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2026-03-13-12-24-17.gh-issue-145876.LWFO2K.rst +++ /dev/null @@ -1,3 +0,0 @@ -:exc:`AttributeError`\ s and :exc:`KeyError`\ s raised in :meth:`!keys` or :meth:`!__getitem__` -during dictionary unpacking (``{**mymapping}`` or ``func(**mymapping)``) are -no longer masked by :exc:`TypeError`. diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-03-15-20-47-34.gh-issue-145990.14BUzw.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-03-15-20-47-34.gh-issue-145990.14BUzw.rst deleted file mode 100644 index f66c156b4bc9..000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2026-03-15-20-47-34.gh-issue-145990.14BUzw.rst +++ /dev/null @@ -1 +0,0 @@ -``python --help-xoptions`` is now sorted by ``-X`` option name. diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-03-15-21-45-35.gh-issue-145990.tmXwRB.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-03-15-21-45-35.gh-issue-145990.tmXwRB.rst deleted file mode 100644 index 21b9a524d005..000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2026-03-15-21-45-35.gh-issue-145990.tmXwRB.rst +++ /dev/null @@ -1 +0,0 @@ -``python --help-env`` sections are now sorted by environment variable name. diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-03-17-00-00-00.gh-issue-146041.7799bb.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-03-17-00-00-00.gh-issue-146041.7799bb.rst deleted file mode 100644 index 812f023266bd..000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2026-03-17-00-00-00.gh-issue-146041.7799bb.rst +++ /dev/null @@ -1,3 +0,0 @@ -Fix free-threading scaling bottleneck in :func:`sys.intern` and -:c:func:`PyObject_SetAttr` by avoiding the interpreter-wide lock when the string -is already interned and immortalized. diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-03-17-14-20-56.gh-issue-145059.aB3xKm.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-03-17-14-20-56.gh-issue-145059.aB3xKm.rst deleted file mode 100644 index e2db5a83a1a9..000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2026-03-17-14-20-56.gh-issue-145059.aB3xKm.rst +++ /dev/null @@ -1 +0,0 @@ -Fixed ``sys.lazy_modules`` to include lazy modules without submodules. Patch by Bartosz Sławecki. diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-03-18-18-52-00.gh-issue-146056.r1tVSo.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-03-18-18-52-00.gh-issue-146056.r1tVSo.rst deleted file mode 100644 index ab6eab2c968e..000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2026-03-18-18-52-00.gh-issue-146056.r1tVSo.rst +++ /dev/null @@ -1 +0,0 @@ -Fix :func:`repr` for lists and tuples containing ``NULL``\ s. diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-03-19-01-19-34.gh-issue-146096.R9tkJX.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-03-19-01-19-34.gh-issue-146096.R9tkJX.rst deleted file mode 100644 index 8d7e177c6140..000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2026-03-19-01-19-34.gh-issue-146096.R9tkJX.rst +++ /dev/null @@ -1,2 +0,0 @@ -Fixed segmentation fault when called repr for BaseExceptionGroup with empty -or 1-size tuple args. diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-03-19-16-16-40.gh-issue-135871.jSExZ3.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-03-19-16-16-40.gh-issue-135871.jSExZ3.rst deleted file mode 100644 index 29103e469064..000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2026-03-19-16-16-40.gh-issue-135871.jSExZ3.rst +++ /dev/null @@ -1 +0,0 @@ -Improve multithreaded scaling of PyMutex in low-contention scenarios by reloading the lock's internal state, without slowing down high-contention scenarios. diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-03-20-00-39-25.gh-issue-146192.8aQ6sC.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-03-20-00-39-25.gh-issue-146192.8aQ6sC.rst deleted file mode 100644 index 304a7cd62102..000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2026-03-20-00-39-25.gh-issue-146192.8aQ6sC.rst +++ /dev/null @@ -1,2 +0,0 @@ -Add Base32 support to :mod:`binascii` and improve the performance of the -Base32 converters in :mod:`base64`. Patch by James Seo. diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-03-20-11-34-17.gh-issue-145667._Agp9o.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-03-20-11-34-17.gh-issue-145667._Agp9o.rst deleted file mode 100644 index cedd8bfe6ce3..000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2026-03-20-11-34-17.gh-issue-145667._Agp9o.rst +++ /dev/null @@ -1,2 +0,0 @@ -Remove the ``GET_ITER_YIELD_FROM`` instruction, modifying ``SEND`` to pair -with ``GET_ITER`` when compiling ``yield from`` expressions. diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-03-20-12-26-24.gh-issue-146199.vV8V9s.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-03-20-12-26-24.gh-issue-146199.vV8V9s.rst deleted file mode 100644 index 0611a0d6a6d6..000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2026-03-20-12-26-24.gh-issue-146199.vV8V9s.rst +++ /dev/null @@ -1 +0,0 @@ -Comparison of code objects now handles errors correctly. diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-03-20-12-52-55.gh-issue-146205.M4yKdf.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-03-20-12-52-55.gh-issue-146205.M4yKdf.rst deleted file mode 100644 index e9d95cdf836d..000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2026-03-20-12-52-55.gh-issue-146205.M4yKdf.rst +++ /dev/null @@ -1,2 +0,0 @@ -Fixed a bug where :meth:`select.epoll.close`, :meth:`select.kqueue.close`, -and :meth:`select.devpoll.close` silently ignored errors. diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-03-20-13-07-33.gh-issue-146227.MqBPEo.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-03-20-13-07-33.gh-issue-146227.MqBPEo.rst deleted file mode 100644 index 11e19eb28313..000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2026-03-20-13-07-33.gh-issue-146227.MqBPEo.rst +++ /dev/null @@ -1,3 +0,0 @@ -Fix wrong type in ``_Py_atomic_load_uint16`` in the C11 atomics backend -(``pyatomic_std.h``), which used a 32-bit atomic load instead of 16-bit. -Found by Mohammed Zuhaib. diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-03-20-13-55-14.gh-issue-146196.Zg70Kb.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-03-20-13-55-14.gh-issue-146196.Zg70Kb.rst deleted file mode 100644 index 9e03c1bbb0e1..000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2026-03-20-13-55-14.gh-issue-146196.Zg70Kb.rst +++ /dev/null @@ -1,2 +0,0 @@ -Fix potential Undefined Behavior in :c:func:`PyUnicodeWriter_WriteASCII` by -adding a zero-length check. Patch by Shamil Abdulaev. diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-03-21-08-11-58.gh-issue-146151.4-lhim.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-03-21-08-11-58.gh-issue-146151.4-lhim.rst deleted file mode 100644 index d4a65d315110..000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2026-03-21-08-11-58.gh-issue-146151.4-lhim.rst +++ /dev/null @@ -1,3 +0,0 @@ -:class:`memoryview` now supports the :c:expr:`float complex` and -:c:expr:`double complex` C types: formatting characters ``'F'`` and ``'D'`` -respectively. Patch by Sergey B Kirpichev. diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-03-21-08-48-25.gh-issue-146245.cqM3_4.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-03-21-08-48-25.gh-issue-146245.cqM3_4.rst deleted file mode 100644 index f52eaa0d6c72..000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2026-03-21-08-48-25.gh-issue-146245.cqM3_4.rst +++ /dev/null @@ -1 +0,0 @@ -Fixed reference leaks in :mod:`socket` when audit hooks raise exceptions in :func:`socket.getaddrinfo` and :meth:`!socket.sendto`. diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-03-21-11-55-16.gh-issue-146250.ahl3O2.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-03-21-11-55-16.gh-issue-146250.ahl3O2.rst deleted file mode 100644 index fff07b31ec21..000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2026-03-21-11-55-16.gh-issue-146250.ahl3O2.rst +++ /dev/null @@ -1 +0,0 @@ -Fixed a memory leak in :exc:`SyntaxError` when re-initializing it. diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-03-21-15-05-14.gh-issue-146128.DG1Hfa.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-03-21-15-05-14.gh-issue-146128.DG1Hfa.rst deleted file mode 100644 index 931e1ac92ce7..000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2026-03-21-15-05-14.gh-issue-146128.DG1Hfa.rst +++ /dev/null @@ -1,3 +0,0 @@ -Fix a bug which could cause constant values to be partially corrupted in -AArch64 JIT code. This issue is theoretical, and hasn't actually been -observed in unmodified Python interpreters. diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-03-22-12-00-00.gh-issue-146306.870ef4.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-03-22-12-00-00.gh-issue-146306.870ef4.rst deleted file mode 100644 index de2c3e56ac33..000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2026-03-22-12-00-00.gh-issue-146306.870ef4.rst +++ /dev/null @@ -1,3 +0,0 @@ -Optimize float arithmetic in the JIT by mutating uniquely-referenced -operands in place, avoiding allocation of a new float object. Speeds up -the pyperformance ``nbody`` benchmark by ~19%. diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-03-22-19-30-00.gh-issue-146308.AxnRVA.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-03-22-19-30-00.gh-issue-146308.AxnRVA.rst deleted file mode 100644 index 9bc2f1c59a8c..000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2026-03-22-19-30-00.gh-issue-146308.AxnRVA.rst +++ /dev/null @@ -1,5 +0,0 @@ -Fixed multiple error handling issues in the :mod:`!_remote_debugging` module -including a double-free in code object caching, memory leaks on allocation -failure, missing exception checks in binary format varint decoding, reference -leaks on error paths in frame chain processing, and inconsistent thread status -error reporting across platforms. Patch by Pablo Galindo. diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-03-24-13-06-52.gh-issue-146369.6wDI6S.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-03-24-13-06-52.gh-issue-146369.6wDI6S.rst deleted file mode 100644 index 191b7627ed4e..000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2026-03-24-13-06-52.gh-issue-146369.6wDI6S.rst +++ /dev/null @@ -1,2 +0,0 @@ -Ensure ``-X lazy_imports=none``` and ``PYTHON_LAZY_IMPORTS=none``` override -``__lazy_modules__``. Patch by Hugo van Kemenade. diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-03-26-11-18-45.gh-issue-146388.O0u1c3.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-03-26-11-18-45.gh-issue-146388.O0u1c3.rst deleted file mode 100644 index 7cf5edfe8c6c..000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2026-03-26-11-18-45.gh-issue-146388.O0u1c3.rst +++ /dev/null @@ -1 +0,0 @@ -Adds a null check to handle when the JIT optimizer runs out of space when dealing with contradictions in ``make_bottom``. diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-03-27-17-14-18.gh-issue-126910.hooVFQ.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-03-27-17-14-18.gh-issue-126910.hooVFQ.rst deleted file mode 100644 index e3ddf3940880..000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2026-03-27-17-14-18.gh-issue-126910.hooVFQ.rst +++ /dev/null @@ -1 +0,0 @@ -Set frame pointers in ``aarch64-unknown-linux-gnu`` JIT code, allowing most native profilers and debuggers to unwind through them. Patch by Diego Russo diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-03-29-11-39-05.gh-issue-146587.YJicXt.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-03-29-11-39-05.gh-issue-146587.YJicXt.rst deleted file mode 100644 index a33dee5c8753..000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2026-03-29-11-39-05.gh-issue-146587.YJicXt.rst +++ /dev/null @@ -1 +0,0 @@ -Fix type slot assignment incase of multiple slots for same name in type object implementation. Patch by Kumar Aditya. diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-03-30-20-00-00.gh-issue-146306.C45609.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-03-30-20-00-00.gh-issue-146306.C45609.rst deleted file mode 100644 index fdbdb6a285fa..000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2026-03-30-20-00-00.gh-issue-146306.C45609.rst +++ /dev/null @@ -1,3 +0,0 @@ -Optimize compact integer arithmetic in the JIT by mutating -uniquely-referenced operands in place, avoiding allocation of a new int -object. Speeds up the pyperformance ``spectral_norm`` benchmark by ~10%. diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-03-31-01-06-35.gh-issue-146615.fix-method-get.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-03-31-01-06-35.gh-issue-146615.fix-method-get.rst deleted file mode 100644 index 7a205f1d6dda..000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2026-03-31-01-06-35.gh-issue-146615.fix-method-get.rst +++ /dev/null @@ -1,3 +0,0 @@ -Fix a crash in :meth:`~object.__get__` for :c:expr:`METH_METHOD` descriptors -when an invalid (non-type) object is passed as the second argument. -Patch by Steven Sun. diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-03-31-18-07-53.gh-issue-147856.62Dwee.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-03-31-18-07-53.gh-issue-147856.62Dwee.rst deleted file mode 100644 index 67ebd57b3a50..000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2026-03-31-18-07-53.gh-issue-147856.62Dwee.rst +++ /dev/null @@ -1 +0,0 @@ -Allow the *count* argument of :meth:`bytes.replace` to be a keyword. diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-04-01-12-35-55.gh-issue-147985.YVirHJ.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-04-01-12-35-55.gh-issue-147985.YVirHJ.rst deleted file mode 100644 index a94dfca5e2a4..000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2026-04-01-12-35-55.gh-issue-147985.YVirHJ.rst +++ /dev/null @@ -1,3 +0,0 @@ -Make :c:func:`PySet_Contains` attempt a lock-free lookup, similar to -:meth:`!set.__contains__`. This avoids acquiring the set object mutex in the -normal case. diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-04-01-12-52-31.gh-issue-144319.iZk4hs.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-04-01-12-52-31.gh-issue-144319.iZk4hs.rst deleted file mode 100644 index f3f07ab35dbb..000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2026-04-01-12-52-31.gh-issue-144319.iZk4hs.rst +++ /dev/null @@ -1,3 +0,0 @@ -Fix a bug that could cause applications with specific allocation patterns to -leak memory via Huge Pages if compiled with Huge Page support. Patch by -Pablo Galindo diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-04-04-20-59-12.gh-issue-148083.9ZHNBN.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-04-04-20-59-12.gh-issue-148083.9ZHNBN.rst deleted file mode 100644 index fea4659d0b99..000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2026-04-04-20-59-12.gh-issue-148083.9ZHNBN.rst +++ /dev/null @@ -1 +0,0 @@ -Constant-fold ``_CONTAINS_OP_SET`` for :class:`frozenset`. Patch by Donghee Na. diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-04-04-22-20-00.gh-issue-148110.cL5x2Q.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-04-04-22-20-00.gh-issue-148110.cL5x2Q.rst deleted file mode 100644 index dc7df0e4a299..000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2026-04-04-22-20-00.gh-issue-148110.cL5x2Q.rst +++ /dev/null @@ -1,2 +0,0 @@ -Fix :func:`sys.set_lazy_imports_filter` so relative lazy imports pass the -resolved imported module name to the filter callback. Patch by Pablo Galindo. diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-04-05-00-00-00.gh-issue-148072.xid9Pe.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-04-05-00-00-00.gh-issue-148072.xid9Pe.rst deleted file mode 100644 index 17c6f882f24d..000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2026-04-05-00-00-00.gh-issue-148072.xid9Pe.rst +++ /dev/null @@ -1,4 +0,0 @@ -Cache ``pickle.dumps`` and ``pickle.loads`` per interpreter in the XIData -framework, avoiding repeated module lookups on every cross-interpreter data -transfer. This speeds up :class:`~concurrent.futures.InterpreterPoolExecutor` -for mutable types (``list``, ``dict``) by 1.7x--3.3x. diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-04-05-15-20-00.gh-issue-148144.f7qA0x.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-04-05-15-20-00.gh-issue-148144.f7qA0x.rst deleted file mode 100644 index beda992a95bf..000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2026-04-05-15-20-00.gh-issue-148144.f7qA0x.rst +++ /dev/null @@ -1,3 +0,0 @@ -Initialize ``_PyInterpreterFrame.visited`` when copying interpreter frames so -incremental GC does not read an uninitialized byte from generator and -frame-object copies. diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-04-06-00-00-00.gh-issue-100239.binopxt.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-04-06-00-00-00.gh-issue-100239.binopxt.rst deleted file mode 100644 index 9eccef3ef9d3..000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2026-04-06-00-00-00.gh-issue-100239.binopxt.rst +++ /dev/null @@ -1,3 +0,0 @@ -Propagate result type and uniqueness information through -``_BINARY_OP_EXTEND`` in the tier 2 optimizer, enabling elimination of -downstream type guards and selection of inplace float operations. diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-04-06-11-15-46.gh-issue-148157.JFnZDn.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-04-06-11-15-46.gh-issue-148157.JFnZDn.rst deleted file mode 100644 index 6565291eb998..000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2026-04-06-11-15-46.gh-issue-148157.JFnZDn.rst +++ /dev/null @@ -1,2 +0,0 @@ -Fix an unlikely crash when parsing an invalid type comments for function -parameters. Found by OSS Fuzz in :oss-fuzz:`492782951`. diff --git a/Misc/NEWS.d/next/Documentation/2026-03-09-00-00-00.gh-issue-145649.8BcbAB.rst b/Misc/NEWS.d/next/Documentation/2026-03-09-00-00-00.gh-issue-145649.8BcbAB.rst deleted file mode 100644 index 33061f7dd15c..000000000000 --- a/Misc/NEWS.d/next/Documentation/2026-03-09-00-00-00.gh-issue-145649.8BcbAB.rst +++ /dev/null @@ -1,2 +0,0 @@ -Fix text wrapping and formatting of ``-X`` option descriptions in the -:manpage:`python(1)` man page by using proper roff markup. diff --git a/Misc/NEWS.d/next/Documentation/2026-03-25-00-00-00.gh-issue-126676.052336.rst b/Misc/NEWS.d/next/Documentation/2026-03-25-00-00-00.gh-issue-126676.052336.rst deleted file mode 100644 index d2e275fdf083..000000000000 --- a/Misc/NEWS.d/next/Documentation/2026-03-25-00-00-00.gh-issue-126676.052336.rst +++ /dev/null @@ -1,2 +0,0 @@ -Expand :mod:`argparse` documentation for ``type=bool`` with a demonstration -of the surprising behavior and pointers to common alternatives. diff --git a/Misc/NEWS.d/next/Library/2019-04-25-21-11-37.bpo-36461.TO5YyP.rst b/Misc/NEWS.d/next/Library/2019-04-25-21-11-37.bpo-36461.TO5YyP.rst deleted file mode 100644 index e78f66018077..000000000000 --- a/Misc/NEWS.d/next/Library/2019-04-25-21-11-37.bpo-36461.TO5YyP.rst +++ /dev/null @@ -1,3 +0,0 @@ -Make the target time of :meth:`timeit.Timer.autorange` configurable -and add ``--target-time`` option to the command-line interface of -:mod:`timeit`. diff --git a/Misc/NEWS.d/next/Library/2023-03-10-13-10-06.gh-issue-60729.KCCHTe.rst b/Misc/NEWS.d/next/Library/2023-03-10-13-10-06.gh-issue-60729.KCCHTe.rst deleted file mode 100644 index 82876cd81e4a..000000000000 --- a/Misc/NEWS.d/next/Library/2023-03-10-13-10-06.gh-issue-60729.KCCHTe.rst +++ /dev/null @@ -1 +0,0 @@ -Add support for floating point audio wave files in :mod:`wave`. diff --git a/Misc/NEWS.d/next/Library/2024-09-25-12-47-50.gh-issue-66419.DVSukU.rst b/Misc/NEWS.d/next/Library/2024-09-25-12-47-50.gh-issue-66419.DVSukU.rst deleted file mode 100644 index ceac06165994..000000000000 --- a/Misc/NEWS.d/next/Library/2024-09-25-12-47-50.gh-issue-66419.DVSukU.rst +++ /dev/null @@ -1,2 +0,0 @@ -Optional argument with :ref:`nargs` equals to ``argparse.REMAINDER`` now -consumes all remaining arguments including ``'--'``. diff --git a/Misc/NEWS.d/next/Library/2025-02-07-00-48-07.gh-issue-112632.95MM0C.rst b/Misc/NEWS.d/next/Library/2025-02-07-00-48-07.gh-issue-112632.95MM0C.rst deleted file mode 100644 index 0842c8e3a046..000000000000 --- a/Misc/NEWS.d/next/Library/2025-02-07-00-48-07.gh-issue-112632.95MM0C.rst +++ /dev/null @@ -1,3 +0,0 @@ -Add an *expand* keyword argument for :func:`pprint.pprint`, -:func:`pprint.pformat`, :func:`pprint.pp` by passing on all *kwargs* and -:class:`pprint.PrettyPrinter`. Contributed by Stefan Todoran and Semyon Moroz. diff --git a/Misc/NEWS.d/next/Library/2025-09-19-13-54-54.gh-issue-130472.LODfdk.rst b/Misc/NEWS.d/next/Library/2025-09-19-13-54-54.gh-issue-130472.LODfdk.rst deleted file mode 100644 index 3d2a7f00d3e6..000000000000 --- a/Misc/NEWS.d/next/Library/2025-09-19-13-54-54.gh-issue-130472.LODfdk.rst +++ /dev/null @@ -1 +0,0 @@ -Add fancycompleter and enable it by default when using pyrepl. This gives colored tab completion. diff --git a/Misc/NEWS.d/next/Library/2025-10-05-15-38-02.gh-issue-139633.l3P839.rst b/Misc/NEWS.d/next/Library/2025-10-05-15-38-02.gh-issue-139633.l3P839.rst deleted file mode 100644 index 94bd18074f8d..000000000000 --- a/Misc/NEWS.d/next/Library/2025-10-05-15-38-02.gh-issue-139633.l3P839.rst +++ /dev/null @@ -1,2 +0,0 @@ -The :mod:`netrc` security check is now run once per parse rather than once -per entry. diff --git a/Misc/NEWS.d/next/Library/2025-10-11-11-50-59.gh-issue-139933.05MHlx.rst b/Misc/NEWS.d/next/Library/2025-10-11-11-50-59.gh-issue-139933.05MHlx.rst deleted file mode 100644 index d76f0873d772..000000000000 --- a/Misc/NEWS.d/next/Library/2025-10-11-11-50-59.gh-issue-139933.05MHlx.rst +++ /dev/null @@ -1,3 +0,0 @@ -Improve :exc:`AttributeError` suggestions for classes with a custom -:meth:`~object.__dir__` method returning a list of unsortable values. -Patch by Bénédikt Tran. diff --git a/Misc/NEWS.d/next/Library/2025-10-13-16-43-36.gh-issue-140049.VvmAzN.rst b/Misc/NEWS.d/next/Library/2025-10-13-16-43-36.gh-issue-140049.VvmAzN.rst deleted file mode 100644 index d9489fd0baab..000000000000 --- a/Misc/NEWS.d/next/Library/2025-10-13-16-43-36.gh-issue-140049.VvmAzN.rst +++ /dev/null @@ -1 +0,0 @@ -:func:`traceback.format_exception_only` now colorizes exception notes. diff --git a/Misc/NEWS.d/next/Library/2025-11-15-23-14-30.gh-issue-138577.KbShrt.rst b/Misc/NEWS.d/next/Library/2025-11-15-23-14-30.gh-issue-138577.KbShrt.rst deleted file mode 100644 index df24f62982a4..000000000000 --- a/Misc/NEWS.d/next/Library/2025-11-15-23-14-30.gh-issue-138577.KbShrt.rst +++ /dev/null @@ -1,4 +0,0 @@ -:func:`getpass.getpass` with non-empty ``echo_char`` now handles keyboard shortcuts -including Ctrl+A/E (cursor movement), Ctrl+K/U (kill line), Ctrl+W (erase word), -and Ctrl+V (literal next) by reading the terminal's control character settings -and processing them appropriately in non-canonical mode. Patch by Sanyam Khurana. diff --git a/Misc/NEWS.d/next/Library/2025-11-18-06-35-53.gh-issue-141707.DBmQIy.rst b/Misc/NEWS.d/next/Library/2025-11-18-06-35-53.gh-issue-141707.DBmQIy.rst deleted file mode 100644 index 1f5b8ed90b8a..000000000000 --- a/Misc/NEWS.d/next/Library/2025-11-18-06-35-53.gh-issue-141707.DBmQIy.rst +++ /dev/null @@ -1,2 +0,0 @@ -Don't change :class:`tarfile.TarInfo` type from ``AREGTYPE`` to ``DIRTYPE`` when parsing -GNU long name or link headers. diff --git a/Misc/NEWS.d/next/Library/2025-12-18-00-00-00.gh-issue-142763.AJpZPVG5.rst b/Misc/NEWS.d/next/Library/2025-12-18-00-00-00.gh-issue-142763.AJpZPVG5.rst deleted file mode 100644 index a5330365e3e4..000000000000 --- a/Misc/NEWS.d/next/Library/2025-12-18-00-00-00.gh-issue-142763.AJpZPVG5.rst +++ /dev/null @@ -1,2 +0,0 @@ -Fix a race condition between :class:`zoneinfo.ZoneInfo` creation and -:func:`zoneinfo.ZoneInfo.clear_cache` that could raise :exc:`KeyError`. diff --git a/Misc/NEWS.d/next/Library/2026-01-10-16-23-21.gh-issue-143715.HZrfSA.rst b/Misc/NEWS.d/next/Library/2026-01-10-16-23-21.gh-issue-143715.HZrfSA.rst deleted file mode 100644 index 90aae6bee835..000000000000 --- a/Misc/NEWS.d/next/Library/2026-01-10-16-23-21.gh-issue-143715.HZrfSA.rst +++ /dev/null @@ -1,3 +0,0 @@ -Calling the ``Struct.__new__()`` without required argument now is deprecated. -Calling :meth:`~object.__init__` method on initialized :class:`~struct.Struct` -objects is deprecated. diff --git a/Misc/NEWS.d/next/Library/2026-02-04-20-30-59.gh-issue-123471.1dnPvs.rst b/Misc/NEWS.d/next/Library/2026-02-04-20-30-59.gh-issue-123471.1dnPvs.rst deleted file mode 100644 index d650103e28ee..000000000000 --- a/Misc/NEWS.d/next/Library/2026-02-04-20-30-59.gh-issue-123471.1dnPvs.rst +++ /dev/null @@ -1 +0,0 @@ -Make concurrent iteration over :class:`itertools.accumulate` safe under free-threading. diff --git a/Misc/NEWS.d/next/Library/2026-02-08-22-04-06.gh-issue-140814.frzSpn.rst b/Misc/NEWS.d/next/Library/2026-02-08-22-04-06.gh-issue-140814.frzSpn.rst deleted file mode 100644 index 6077de8ac9ae..000000000000 --- a/Misc/NEWS.d/next/Library/2026-02-08-22-04-06.gh-issue-140814.frzSpn.rst +++ /dev/null @@ -1,3 +0,0 @@ -:func:`multiprocessing.freeze_support` no longer sets the default start method -as a side effect, which previously caused a subsequent -:func:`multiprocessing.set_start_method` call to raise :exc:`RuntimeError`. diff --git a/Misc/NEWS.d/next/Library/2026-02-11-21-01-30.gh-issue-144259.OAhOR8.rst b/Misc/NEWS.d/next/Library/2026-02-11-21-01-30.gh-issue-144259.OAhOR8.rst deleted file mode 100644 index 280f3b742b01..000000000000 --- a/Misc/NEWS.d/next/Library/2026-02-11-21-01-30.gh-issue-144259.OAhOR8.rst +++ /dev/null @@ -1 +0,0 @@ -Fix inconsistent display of long multiline pasted content in the REPL. diff --git a/Misc/NEWS.d/next/Library/2026-02-17-03-43-07.gh-issue-140715.twmcM_.rst b/Misc/NEWS.d/next/Library/2026-02-17-03-43-07.gh-issue-140715.twmcM_.rst deleted file mode 100644 index 3bebc6660df8..000000000000 --- a/Misc/NEWS.d/next/Library/2026-02-17-03-43-07.gh-issue-140715.twmcM_.rst +++ /dev/null @@ -1 +0,0 @@ -Add ``%n`` and ``%t`` support to :meth:`~datetime.datetime.strptime`. diff --git a/Misc/NEWS.d/next/Library/2026-02-18-21-45-00.gh-issue-144975.Ab3XyZ.rst b/Misc/NEWS.d/next/Library/2026-02-18-21-45-00.gh-issue-144975.Ab3XyZ.rst deleted file mode 100644 index 37658064c2c3..000000000000 --- a/Misc/NEWS.d/next/Library/2026-02-18-21-45-00.gh-issue-144975.Ab3XyZ.rst +++ /dev/null @@ -1,3 +0,0 @@ -:meth:`wave.Wave_write.setframerate` now validates the frame rate after -rounding to an integer, preventing values like ``0.5`` from being accepted -and causing confusing errors later. Patch by Michiel Beijen. diff --git a/Misc/NEWS.d/next/Library/2026-02-19-12-00-00.gh-issue-144984.b93995c982.rst b/Misc/NEWS.d/next/Library/2026-02-19-12-00-00.gh-issue-144984.b93995c982.rst deleted file mode 100644 index 66e07dc3098c..000000000000 --- a/Misc/NEWS.d/next/Library/2026-02-19-12-00-00.gh-issue-144984.b93995c982.rst +++ /dev/null @@ -1,3 +0,0 @@ -Fix crash in :meth:`xml.parsers.expat.xmlparser.ExternalEntityParserCreate` -when an allocation fails. The error paths could dereference NULL ``handlers`` -and double-decrement the parent parser's reference count. diff --git a/Misc/NEWS.d/next/Library/2026-02-19-16-34-18.gh-issue-144270.wJRtSr.rst b/Misc/NEWS.d/next/Library/2026-02-19-16-34-18.gh-issue-144270.wJRtSr.rst deleted file mode 100644 index b8a4374bc2d3..000000000000 --- a/Misc/NEWS.d/next/Library/2026-02-19-16-34-18.gh-issue-144270.wJRtSr.rst +++ /dev/null @@ -1,3 +0,0 @@ -Made the *tag* parameter of :class:`xml.etree.ElementTree.Element` and the -*parent* and *tag* parameters of :func:`xml.etree.ElementTree.SubElement` -positional-only, matching the behavior of the C accelerator. diff --git a/Misc/NEWS.d/next/Library/2026-02-23-21-28-12.gh-issue-145035.J5UjS6.rst b/Misc/NEWS.d/next/Library/2026-02-23-21-28-12.gh-issue-145035.J5UjS6.rst deleted file mode 100644 index b20da3b54c04..000000000000 --- a/Misc/NEWS.d/next/Library/2026-02-23-21-28-12.gh-issue-145035.J5UjS6.rst +++ /dev/null @@ -1,3 +0,0 @@ -Allows omitting the internal library ``_pyrepl`` with limited loss of -functionality. This allows complete removal of the modern REPL, which is an -unsupported configuration, but still desirable for some distributions. diff --git a/Misc/NEWS.d/next/Library/2026-02-26-20-13-16.gh-issue-145264.4pggX_.rst b/Misc/NEWS.d/next/Library/2026-02-26-20-13-16.gh-issue-145264.4pggX_.rst deleted file mode 100644 index 22d53fe8db11..000000000000 --- a/Misc/NEWS.d/next/Library/2026-02-26-20-13-16.gh-issue-145264.4pggX_.rst +++ /dev/null @@ -1,4 +0,0 @@ -Base64 decoder (see :func:`binascii.a2b_base64`, :func:`base64.b64decode`, etc) no -longer ignores excess data after the first padded quad in non-strict -(default) mode. Instead, in conformance with :rfc:`4648`, section 3.3, it now ignores -the pad character, "=", if it is present before the end of the encoded data. diff --git a/Misc/NEWS.d/next/Library/2026-03-03-23-21-40.gh-issue-145446.0c-TJX.rst b/Misc/NEWS.d/next/Library/2026-03-03-23-21-40.gh-issue-145446.0c-TJX.rst deleted file mode 100644 index 96eb0d9ddb07..000000000000 --- a/Misc/NEWS.d/next/Library/2026-03-03-23-21-40.gh-issue-145446.0c-TJX.rst +++ /dev/null @@ -1 +0,0 @@ -Now :mod:`functools` is safer in free-threaded build when using keywords in :func:`functools.partial` diff --git a/Misc/NEWS.d/next/Library/2026-03-05-14-13-10.gh-issue-145546.3tnlxx.rst b/Misc/NEWS.d/next/Library/2026-03-05-14-13-10.gh-issue-145546.3tnlxx.rst deleted file mode 100644 index e9401bb08c67..000000000000 --- a/Misc/NEWS.d/next/Library/2026-03-05-14-13-10.gh-issue-145546.3tnlxx.rst +++ /dev/null @@ -1,2 +0,0 @@ -Fix ``unittest.util.sorted_list_difference()`` to deduplicate remaining -elements when one input list is exhausted before the other. diff --git a/Misc/NEWS.d/next/Library/2026-03-07-02-44-52.gh-issue-145616.x8Mf23.rst b/Misc/NEWS.d/next/Library/2026-03-07-02-44-52.gh-issue-145616.x8Mf23.rst deleted file mode 100644 index 131570a0e03d..000000000000 --- a/Misc/NEWS.d/next/Library/2026-03-07-02-44-52.gh-issue-145616.x8Mf23.rst +++ /dev/null @@ -1 +0,0 @@ -Detect Android sysconfig ABI correctly on 32-bit ARM Android on 64-bit ARM kernel diff --git a/Misc/NEWS.d/next/Library/2026-03-07-14-34-39.gh-issue-145587.flFQ5-.rst b/Misc/NEWS.d/next/Library/2026-03-07-14-34-39.gh-issue-145587.flFQ5-.rst deleted file mode 100644 index c17d01f36b8c..000000000000 --- a/Misc/NEWS.d/next/Library/2026-03-07-14-34-39.gh-issue-145587.flFQ5-.rst +++ /dev/null @@ -1 +0,0 @@ -Resolved a performance regression in ``multiprocessing.connection.wait`` on Windows that caused infinite busy loops when called with no objects. The function now properly yields control to the OS to conserve CPU resources. Patch By Shrey Naithani diff --git a/Misc/NEWS.d/next/Library/2026-03-08-00-00-00.gh-issue-145650.LgRepr.rst b/Misc/NEWS.d/next/Library/2026-03-08-00-00-00.gh-issue-145650.LgRepr.rst deleted file mode 100644 index 243834d0bbd5..000000000000 --- a/Misc/NEWS.d/next/Library/2026-03-08-00-00-00.gh-issue-145650.LgRepr.rst +++ /dev/null @@ -1,3 +0,0 @@ -Add :meth:`~object.__repr__` support to :class:`logging.Formatter` and -:class:`logging.Filter`, showing the format string and filter name -respectively. diff --git a/Misc/NEWS.d/next/Library/2026-03-09-00-00-00.gh-issue-145492.457Afc.rst b/Misc/NEWS.d/next/Library/2026-03-09-00-00-00.gh-issue-145492.457Afc.rst deleted file mode 100644 index 297ee4099f12..000000000000 --- a/Misc/NEWS.d/next/Library/2026-03-09-00-00-00.gh-issue-145492.457Afc.rst +++ /dev/null @@ -1,3 +0,0 @@ -Fix infinite recursion in :class:`collections.defaultdict` ``__repr__`` -when a ``defaultdict`` contains itself. Based on analysis by KowalskiThomas -in :gh:`145492`. diff --git a/Misc/NEWS.d/next/Library/2026-03-09-18-33-16.gh-issue-145697.d6hFmm.rst b/Misc/NEWS.d/next/Library/2026-03-09-18-33-16.gh-issue-145697.d6hFmm.rst deleted file mode 100644 index c3a476df75f1..000000000000 --- a/Misc/NEWS.d/next/Library/2026-03-09-18-33-16.gh-issue-145697.d6hFmm.rst +++ /dev/null @@ -1 +0,0 @@ -Add ``application/sql`` and ``application/vnd.sqlite3`` into ``mimetypes``. diff --git a/Misc/NEWS.d/next/Library/2026-03-09-19-59-05.gh-issue-145703.4EEP7J.rst b/Misc/NEWS.d/next/Library/2026-03-09-19-59-05.gh-issue-145703.4EEP7J.rst deleted file mode 100644 index bc239ce58c9e..000000000000 --- a/Misc/NEWS.d/next/Library/2026-03-09-19-59-05.gh-issue-145703.4EEP7J.rst +++ /dev/null @@ -1,3 +0,0 @@ -:mod:`asyncio`: Make sure that :meth:`loop.call_at ` and -:meth:`loop.call_later ` trigger scheduled events on -time when the clock resolution becomes too small. diff --git a/Misc/NEWS.d/next/Library/2026-03-10-01-48-12.gh-issue-145717.dPc0Rt.rst b/Misc/NEWS.d/next/Library/2026-03-10-01-48-12.gh-issue-145717.dPc0Rt.rst deleted file mode 100644 index 55ef5206c992..000000000000 --- a/Misc/NEWS.d/next/Library/2026-03-10-01-48-12.gh-issue-145717.dPc0Rt.rst +++ /dev/null @@ -1 +0,0 @@ -Add a few Microsoft-specific MIME types. diff --git a/Misc/NEWS.d/next/Library/2026-03-10-01-54-34.gh-issue-145719.okJRoK.rst b/Misc/NEWS.d/next/Library/2026-03-10-01-54-34.gh-issue-145719.okJRoK.rst deleted file mode 100644 index b7e82a456756..000000000000 --- a/Misc/NEWS.d/next/Library/2026-03-10-01-54-34.gh-issue-145719.okJRoK.rst +++ /dev/null @@ -1 +0,0 @@ -Add ``application/efi`` MIME type to :mod:`mimetypes`. diff --git a/Misc/NEWS.d/next/Library/2026-03-10-14-13-12.gh-issue-145750.iQsTeX.rst b/Misc/NEWS.d/next/Library/2026-03-10-14-13-12.gh-issue-145750.iQsTeX.rst deleted file mode 100644 index a909bea2caff..000000000000 --- a/Misc/NEWS.d/next/Library/2026-03-10-14-13-12.gh-issue-145750.iQsTeX.rst +++ /dev/null @@ -1,3 +0,0 @@ -Avoid undefined behaviour from signed integer overflow when parsing format -strings in the :mod:`struct` module. Found by OSS Fuzz in -:oss-fuzz:`488466741`. diff --git a/Misc/NEWS.d/next/Library/2026-03-10-14-57-15.gh-issue-145754.YBL5Ko.rst b/Misc/NEWS.d/next/Library/2026-03-10-14-57-15.gh-issue-145754.YBL5Ko.rst deleted file mode 100644 index 7de81ac19c2e..000000000000 --- a/Misc/NEWS.d/next/Library/2026-03-10-14-57-15.gh-issue-145754.YBL5Ko.rst +++ /dev/null @@ -1,2 +0,0 @@ -Request signature during mock autospec with ``FORWARDREF`` annotation format. -This prevents runtime errors when an annotation uses a name that is not defined at runtime. diff --git a/Misc/NEWS.d/next/Library/2026-03-10-19-50-59.gh-issue-138122.CsoBEo.rst b/Misc/NEWS.d/next/Library/2026-03-10-19-50-59.gh-issue-138122.CsoBEo.rst deleted file mode 100644 index 2059557e8bb9..000000000000 --- a/Misc/NEWS.d/next/Library/2026-03-10-19-50-59.gh-issue-138122.CsoBEo.rst +++ /dev/null @@ -1,4 +0,0 @@ -The ``profiling.sampling`` module now supports differential flamegraph -visualization via ``--diff-flamegraph`` to compare two profiling runs. -Functions are colored red (regressions), blue (improvements), gray (neutral), -or purple (new). Elided stacks show code paths that disappeared between runs. diff --git a/Misc/NEWS.d/next/Library/2026-03-11-10-25-32.gh-issue-123720.TauFRx.rst b/Misc/NEWS.d/next/Library/2026-03-11-10-25-32.gh-issue-123720.TauFRx.rst deleted file mode 100644 index 04e6a377dd81..000000000000 --- a/Misc/NEWS.d/next/Library/2026-03-11-10-25-32.gh-issue-123720.TauFRx.rst +++ /dev/null @@ -1,5 +0,0 @@ -asyncio: Fix :func:`asyncio.Server.serve_forever` shutdown regression. Since -3.12, cancelling ``serve_forever()`` could hang waiting for a handler blocked -on a read from a client that never closed (effectively requiring two -interrupts to stop); the shutdown sequence now ensures client streams are -closed so ``serve_forever()`` exits promptly and handlers observe EOF. diff --git a/Misc/NEWS.d/next/Library/2026-03-12-12-17-39.gh-issue-145850.uW3stt.rst b/Misc/NEWS.d/next/Library/2026-03-12-12-17-39.gh-issue-145850.uW3stt.rst deleted file mode 100644 index 35ba57a95b0e..000000000000 --- a/Misc/NEWS.d/next/Library/2026-03-12-12-17-39.gh-issue-145850.uW3stt.rst +++ /dev/null @@ -1,6 +0,0 @@ -Changed some implementation details in :class:`struct.Struct`: calling it -with non-ASCII string format will now raise a :exc:`ValueError` instead of -:exc:`UnicodeEncodeError`, calling it with non-ASCII bytes format will now -raise a :exc:`ValueError` instead of :exc:`struct.error`, getting -the :attr:`!format` attribute of uninitialized object will now raise an -:exc:`AttributeError` instead of :exc:`RuntimeError`. diff --git a/Misc/NEWS.d/next/Library/2026-03-12-21-01-48.gh-issue-145883.lUvXcc.rst b/Misc/NEWS.d/next/Library/2026-03-12-21-01-48.gh-issue-145883.lUvXcc.rst deleted file mode 100644 index 2c17768c5189..000000000000 --- a/Misc/NEWS.d/next/Library/2026-03-12-21-01-48.gh-issue-145883.lUvXcc.rst +++ /dev/null @@ -1,2 +0,0 @@ -:mod:`zoneinfo`: Fix heap buffer overflow reads from malformed TZif data. -Found by OSS Fuzz, issues :oss-fuzz:`492245058` and :oss-fuzz:`492230068`. diff --git a/Misc/NEWS.d/next/Library/2026-03-15-00-00-00.gh-issue-145966.tCI0uD4I.rst b/Misc/NEWS.d/next/Library/2026-03-15-00-00-00.gh-issue-145966.tCI0uD4I.rst deleted file mode 100644 index c0d4907ada07..000000000000 --- a/Misc/NEWS.d/next/Library/2026-03-15-00-00-00.gh-issue-145966.tCI0uD4I.rst +++ /dev/null @@ -1,2 +0,0 @@ -Non-:exc:`AttributeError` exceptions raised during dialect attribute lookup -in :mod:`csv` are no longer silently suppressed. diff --git a/Misc/NEWS.d/next/Library/2026-03-15-10-17-51.gh-issue-145968.gZexry.rst b/Misc/NEWS.d/next/Library/2026-03-15-10-17-51.gh-issue-145968.gZexry.rst deleted file mode 100644 index 9eae1dc40083..000000000000 --- a/Misc/NEWS.d/next/Library/2026-03-15-10-17-51.gh-issue-145968.gZexry.rst +++ /dev/null @@ -1,2 +0,0 @@ -Fix translation in :func:`base64.b64decode` when altchars overlaps with the -standard ones. diff --git a/Misc/NEWS.d/next/Library/2026-03-15-16-38-48.gh-issue-145980.mRze5H.rst b/Misc/NEWS.d/next/Library/2026-03-15-16-38-48.gh-issue-145980.mRze5H.rst deleted file mode 100644 index e6984619f83b..000000000000 --- a/Misc/NEWS.d/next/Library/2026-03-15-16-38-48.gh-issue-145980.mRze5H.rst +++ /dev/null @@ -1,5 +0,0 @@ -Added the *alphabet* parameter in :func:`~binascii.b2a_base64`, -:func:`~binascii.a2b_base64`, :func:`~binascii.b2a_base85` and -:func:`~binascii.a2b_base85` and a number of ``*_ALPHABET`` constants in the -:mod:`binascii` module. Removed :func:`!b2a_z85` and -:func:`!a2b_z85`. diff --git a/Misc/NEWS.d/next/Library/2026-03-16-00-00-00.gh-issue-146004.xOptProp.rst b/Misc/NEWS.d/next/Library/2026-03-16-00-00-00.gh-issue-146004.xOptProp.rst deleted file mode 100644 index 234e6102c6a2..000000000000 --- a/Misc/NEWS.d/next/Library/2026-03-16-00-00-00.gh-issue-146004.xOptProp.rst +++ /dev/null @@ -1,9 +0,0 @@ -All :option:`-X` options from the Python command line are now propagated to -child processes spawned by :mod:`multiprocessing`, not just a hard-coded -subset. This makes the behavior consistent between default "spawn" and -"forkserver" start methods and the old "fork" start method. The options -that were previously not propagated are: ``context_aware_warnings``, -``cpu_count``, ``disable-remote-debug``, ``int_max_str_digits``, -``lazy_imports``, ``no_debug_ranges``, ``pathconfig_warnings``, ``perf``, -``perf_jit``, ``presite``, ``pycache_prefix``, ``thread_inherit_context``, -and ``warn_default_encoding``. diff --git a/Misc/NEWS.d/next/Library/2026-03-17-11-46-20.gh-issue-146054.udYcqn.rst b/Misc/NEWS.d/next/Library/2026-03-17-11-46-20.gh-issue-146054.udYcqn.rst deleted file mode 100644 index 8692c7f171d0..000000000000 --- a/Misc/NEWS.d/next/Library/2026-03-17-11-46-20.gh-issue-146054.udYcqn.rst +++ /dev/null @@ -1,2 +0,0 @@ -Limit the size of :func:`encodings.search_function` cache. -Found by OSS Fuzz in :oss-fuzz:`493449985`. diff --git a/Misc/NEWS.d/next/Library/2026-03-17-19-30-45.gh-issue-146075.85sCSh.rst b/Misc/NEWS.d/next/Library/2026-03-17-19-30-45.gh-issue-146075.85sCSh.rst deleted file mode 100644 index 792ea3ad6686..000000000000 --- a/Misc/NEWS.d/next/Library/2026-03-17-19-30-45.gh-issue-146075.85sCSh.rst +++ /dev/null @@ -1 +0,0 @@ -Errors when calling :func:`functools.partial` with a malformed keyword will no longer crash the interpreter. diff --git a/Misc/NEWS.d/next/Library/2026-03-17-19-51-05.gh-issue-123471.oY4UR5.rst b/Misc/NEWS.d/next/Library/2026-03-17-19-51-05.gh-issue-123471.oY4UR5.rst deleted file mode 100644 index 8d2e1b970e81..000000000000 --- a/Misc/NEWS.d/next/Library/2026-03-17-19-51-05.gh-issue-123471.oY4UR5.rst +++ /dev/null @@ -1 +0,0 @@ -Make concurrent iteration over :class:`itertools.zip_longest` safe under free-threading. diff --git a/Misc/NEWS.d/next/Library/2026-03-17-20-41-27.gh-issue-146076.yoBNnB.rst b/Misc/NEWS.d/next/Library/2026-03-17-20-41-27.gh-issue-146076.yoBNnB.rst deleted file mode 100644 index 746f5b278829..000000000000 --- a/Misc/NEWS.d/next/Library/2026-03-17-20-41-27.gh-issue-146076.yoBNnB.rst +++ /dev/null @@ -1,2 +0,0 @@ -:mod:`zoneinfo`: fix crashes when deleting ``_weak_cache`` from a -:class:`zoneinfo.ZoneInfo` subclass. diff --git a/Misc/NEWS.d/next/Library/2026-03-17-20-52-24.gh-issue-146083.NxZa_c.rst b/Misc/NEWS.d/next/Library/2026-03-17-20-52-24.gh-issue-146083.NxZa_c.rst deleted file mode 100644 index 6805a40a03e7..000000000000 --- a/Misc/NEWS.d/next/Library/2026-03-17-20-52-24.gh-issue-146083.NxZa_c.rst +++ /dev/null @@ -1 +0,0 @@ -Update bundled `libexpat `_ to version 2.7.5. diff --git a/Misc/NEWS.d/next/Library/2026-03-18-16-58-17.gh-issue-146091.lBbo1L.rst b/Misc/NEWS.d/next/Library/2026-03-18-16-58-17.gh-issue-146091.lBbo1L.rst deleted file mode 100644 index 2ed3ea8f90e9..000000000000 --- a/Misc/NEWS.d/next/Library/2026-03-18-16-58-17.gh-issue-146091.lBbo1L.rst +++ /dev/null @@ -1,3 +0,0 @@ -Fix a bug in :func:`termios.tcsetwinsize` where passing a sequence that -raises an exception in ``__getitem__`` would cause a :exc:`SystemError` -instead of propagating the original exception. diff --git a/Misc/NEWS.d/next/Library/2026-03-18-23-54-36.gh-issue-145410.NvLWj5.rst b/Misc/NEWS.d/next/Library/2026-03-18-23-54-36.gh-issue-145410.NvLWj5.rst deleted file mode 100644 index 8d84b70097d3..000000000000 --- a/Misc/NEWS.d/next/Library/2026-03-18-23-54-36.gh-issue-145410.NvLWj5.rst +++ /dev/null @@ -1,3 +0,0 @@ -On Windows, :func:`sysconfig.get_platform` now gets the platform from the -``_sysconfig`` module instead of parsing :data:`sys.version` string. Patch -by Victor Stinner. diff --git a/Misc/NEWS.d/next/Library/2026-03-20-00-28-00.gh-issue-146171.P5Jk2R7v.rst b/Misc/NEWS.d/next/Library/2026-03-20-00-28-00.gh-issue-146171.P5Jk2R7v.rst deleted file mode 100644 index 9514085bd3d2..000000000000 --- a/Misc/NEWS.d/next/Library/2026-03-20-00-28-00.gh-issue-146171.P5Jk2R7v.rst +++ /dev/null @@ -1,2 +0,0 @@ -Nested :exc:`AttributeError` suggestions now include property-backed -attributes on nested objects without executing the property getter. diff --git a/Misc/NEWS.d/next/Library/2026-03-20-14-53-00.gh-issue-146228.OJVEDL.rst b/Misc/NEWS.d/next/Library/2026-03-20-14-53-00.gh-issue-146228.OJVEDL.rst deleted file mode 100644 index 1356e2ca07d9..000000000000 --- a/Misc/NEWS.d/next/Library/2026-03-20-14-53-00.gh-issue-146228.OJVEDL.rst +++ /dev/null @@ -1,2 +0,0 @@ -Cached FastPath objects in importlib.metadata are now cleared on fork, -avoiding broken references to zip files during fork. diff --git a/Misc/NEWS.d/next/Library/2026-03-20-16-17-31.gh-issue-143387.9Waopa.rst b/Misc/NEWS.d/next/Library/2026-03-20-16-17-31.gh-issue-143387.9Waopa.rst deleted file mode 100644 index 16bab047424e..000000000000 --- a/Misc/NEWS.d/next/Library/2026-03-20-16-17-31.gh-issue-143387.9Waopa.rst +++ /dev/null @@ -1,7 +0,0 @@ -In importlib.metadata, when a distribution file is corrupt and there is no -metadata file, calls to ``Distribution.metadata()`` (including implicit -calls from other properties like ``.name`` and ``.requires``) will now raise -a ``MetadataNotFound`` Exception. This allows callers to distinguish between -missing metadata and a degenerate (empty) metadata. Previously, if the file -was missing, an empty ``PackageMetadata`` would be returned and would be -indistinguishable from the presence of an empty file. diff --git a/Misc/NEWS.d/next/Library/2026-03-21-06-21-38.gh-issue-146151.yNpgml.rst b/Misc/NEWS.d/next/Library/2026-03-21-06-21-38.gh-issue-146151.yNpgml.rst deleted file mode 100644 index 020b7d7d6cc3..000000000000 --- a/Misc/NEWS.d/next/Library/2026-03-21-06-21-38.gh-issue-146151.yNpgml.rst +++ /dev/null @@ -1,3 +0,0 @@ -Support the :c:expr:`float complex` and :c:expr:`double complex` C types -in the :mod:`array` module: formatting characters ``'F'`` and ``'D'`` -respectively. Patch by Sergey B Kirpichev. diff --git a/Misc/NEWS.d/next/Library/2026-03-21-08-23-26.gh-issue-140947.owZ4r_.rst b/Misc/NEWS.d/next/Library/2026-03-21-08-23-26.gh-issue-140947.owZ4r_.rst deleted file mode 100644 index 88e787e8549a..000000000000 --- a/Misc/NEWS.d/next/Library/2026-03-21-08-23-26.gh-issue-140947.owZ4r_.rst +++ /dev/null @@ -1 +0,0 @@ -Fix incorrect contextvars handling in server tasks created by :mod:`asyncio`. Patch by Kumar Aditya. diff --git a/Misc/NEWS.d/next/Library/2026-03-21-10-02-20.gh-issue-146238.2WpMOj.rst b/Misc/NEWS.d/next/Library/2026-03-21-10-02-20.gh-issue-146238.2WpMOj.rst deleted file mode 100644 index 35e951e38e41..000000000000 --- a/Misc/NEWS.d/next/Library/2026-03-21-10-02-20.gh-issue-146238.2WpMOj.rst +++ /dev/null @@ -1,2 +0,0 @@ -Support half-floats (type code ``'e'`` of the :mod:`struct` module) in the -:mod:`array` module. Patch by Sergey B Kirpichev. diff --git a/Misc/NEWS.d/next/Library/2026-03-21-16-03-16.gh-issue-141510.tKptA7.rst b/Misc/NEWS.d/next/Library/2026-03-21-16-03-16.gh-issue-141510.tKptA7.rst deleted file mode 100644 index 19c30f11b33c..000000000000 --- a/Misc/NEWS.d/next/Library/2026-03-21-16-03-16.gh-issue-141510.tKptA7.rst +++ /dev/null @@ -1,2 +0,0 @@ -Support :class:`frozendict` in :mod:`plistlib`, for serialization only. -Patch by Hugo van Kemenade. diff --git a/Misc/NEWS.d/next/Library/2026-03-24-03-49-50.gh-issue-146310.WhlDir.rst b/Misc/NEWS.d/next/Library/2026-03-24-03-49-50.gh-issue-146310.WhlDir.rst deleted file mode 100644 index b71259558520..000000000000 --- a/Misc/NEWS.d/next/Library/2026-03-24-03-49-50.gh-issue-146310.WhlDir.rst +++ /dev/null @@ -1,2 +0,0 @@ -The :mod:`ensurepip` module no longer looks for ``pip-*.whl`` wheel packages -in the current directory. diff --git a/Misc/NEWS.d/next/Library/2026-03-25-21-08-51.gh-issue-146431.zERPwe.rst b/Misc/NEWS.d/next/Library/2026-03-25-21-08-51.gh-issue-146431.zERPwe.rst deleted file mode 100644 index 6268a52926ff..000000000000 --- a/Misc/NEWS.d/next/Library/2026-03-25-21-08-51.gh-issue-146431.zERPwe.rst +++ /dev/null @@ -1,11 +0,0 @@ -Add the *wrapcol* parameter to :mod:`base64` functions -:func:`~base64.b16encode`, :func:`~base64.b32encode`, -:func:`~base64.b32hexencode`, :func:`~base64.b85encode` and -:func:`~base64.z85encode`, and :mod:`binascii` functions -:func:`~binascii.b2a_base32` and :func:`~binascii.b2a_base85`. Add the -*ignorechars* parameter to :mod:`base64` functions -:func:`~base64.b16decode`, :func:`~base64.b32decode`, -:func:`~base64.b32hexdecode`, :func:`~base64.b85decode` and -:func:`~base64.z85decode`, and :mod:`binascii` functions -:func:`~binascii.a2b_hex`, :func:`~binascii.unhexlify`, -:func:`~binascii.a2b_base32` and :func:`~binascii.a2b_base85`. diff --git a/Misc/NEWS.d/next/Library/2026-03-26-02-06-52.gh-issue-146440.HXjhQO.rst b/Misc/NEWS.d/next/Library/2026-03-26-02-06-52.gh-issue-146440.HXjhQO.rst deleted file mode 100644 index 231c56fa063e..000000000000 --- a/Misc/NEWS.d/next/Library/2026-03-26-02-06-52.gh-issue-146440.HXjhQO.rst +++ /dev/null @@ -1,6 +0,0 @@ -:mod:`json`: Add the *array_hook* parameter to :func:`~json.load` and -:func:`~json.loads` functions: -allow a callback for JSON literal array types to customize Python lists in the -resulting decoded object. Passing combined :class:`frozendict` to -*object_pairs_hook* param and :class:`tuple` to ``array_hook`` will yield a -deeply nested immutable Python structure representing the JSON data. diff --git a/Misc/NEWS.d/next/Library/2026-03-26-11-04-42.gh-issue-145633.RWjlaX.rst b/Misc/NEWS.d/next/Library/2026-03-26-11-04-42.gh-issue-145633.RWjlaX.rst deleted file mode 100644 index 00507fe89d07..000000000000 --- a/Misc/NEWS.d/next/Library/2026-03-26-11-04-42.gh-issue-145633.RWjlaX.rst +++ /dev/null @@ -1,2 +0,0 @@ -Fix ``struct.pack('f', float)``: use :c:func:`PyFloat_Pack4` to raise -:exc:`OverflowError`. Patch by Sergey B Kirpichev and Victor Stinner. diff --git a/Misc/NEWS.d/next/Library/2026-03-26-14-44-07.gh-issue-145056.L9KPC3.rst b/Misc/NEWS.d/next/Library/2026-03-26-14-44-07.gh-issue-145056.L9KPC3.rst deleted file mode 100644 index 66e31117e33b..000000000000 --- a/Misc/NEWS.d/next/Library/2026-03-26-14-44-07.gh-issue-145056.L9KPC3.rst +++ /dev/null @@ -1 +0,0 @@ -Add support for merging :class:`collections.UserDict` and :class:`frozendict`. diff --git a/Misc/NEWS.d/next/Library/2026-03-26-14-51-55.gh-issue-145056.QS-6l1.rst b/Misc/NEWS.d/next/Library/2026-03-26-14-51-55.gh-issue-145056.QS-6l1.rst deleted file mode 100644 index 4eaabfbb9a87..000000000000 --- a/Misc/NEWS.d/next/Library/2026-03-26-14-51-55.gh-issue-145056.QS-6l1.rst +++ /dev/null @@ -1 +0,0 @@ -Fix merging of :class:`collections.OrderedDict` and :class:`frozendict`. diff --git a/Misc/NEWS.d/next/Library/2026-03-27-12-00-00.gh-issue-146507.1D95A7.rst b/Misc/NEWS.d/next/Library/2026-03-27-12-00-00.gh-issue-146507.1D95A7.rst deleted file mode 100644 index f0aae2068fc9..000000000000 --- a/Misc/NEWS.d/next/Library/2026-03-27-12-00-00.gh-issue-146507.1D95A7.rst +++ /dev/null @@ -1,3 +0,0 @@ -Make :meth:`asyncio.SelectorEventLoop` stream transport's -:meth:`~asyncio.WriteTransport.get_write_buffer_size` O(1) by maintaining a -running byte counter instead of iterating the buffer on every call. diff --git a/Misc/NEWS.d/next/Library/2026-03-28-12-01-48.gh-issue-146090.wh1qJR.rst b/Misc/NEWS.d/next/Library/2026-03-28-12-01-48.gh-issue-146090.wh1qJR.rst deleted file mode 100644 index a6d60d2c9293..000000000000 --- a/Misc/NEWS.d/next/Library/2026-03-28-12-01-48.gh-issue-146090.wh1qJR.rst +++ /dev/null @@ -1,2 +0,0 @@ -:mod:`sqlite3`: properly raise :exc:`MemoryError` instead of :exc:`SystemError` -when a context callback fails to be allocated. Patch by Bénédikt Tran. diff --git a/Misc/NEWS.d/next/Library/2026-03-28-12-05-34.gh-issue-146090.wf9_ef.rst b/Misc/NEWS.d/next/Library/2026-03-28-12-05-34.gh-issue-146090.wf9_ef.rst deleted file mode 100644 index 5b835b0271a6..000000000000 --- a/Misc/NEWS.d/next/Library/2026-03-28-12-05-34.gh-issue-146090.wf9_ef.rst +++ /dev/null @@ -1,3 +0,0 @@ -:mod:`sqlite3`: fix a crash when :meth:`sqlite3.Connection.create_collation` -fails with `SQLITE_BUSY `__. Patch by -Bénédikt Tran. diff --git a/Misc/NEWS.d/next/Library/2026-03-28-12-20-19.gh-issue-146556.Y8Eson.rst b/Misc/NEWS.d/next/Library/2026-03-28-12-20-19.gh-issue-146556.Y8Eson.rst deleted file mode 100644 index 71f84593edb5..000000000000 --- a/Misc/NEWS.d/next/Library/2026-03-28-12-20-19.gh-issue-146556.Y8Eson.rst +++ /dev/null @@ -1,5 +0,0 @@ -Fix :func:`annotationlib.get_annotations` hanging indefinitely when called -with ``eval_str=True`` on a callable that has a circular ``__wrapped__`` -chain (e.g. ``f.__wrapped__ = f``). Cycle detection using an id-based -visited set now stops the traversal and falls back to the globals found -so far, mirroring the approach of :func:`inspect.unwrap`. diff --git a/Misc/NEWS.d/next/Library/2026-03-28-13-19-20.gh-issue-146080.srN12a.rst b/Misc/NEWS.d/next/Library/2026-03-28-13-19-20.gh-issue-146080.srN12a.rst deleted file mode 100644 index c80e8e05d480..000000000000 --- a/Misc/NEWS.d/next/Library/2026-03-28-13-19-20.gh-issue-146080.srN12a.rst +++ /dev/null @@ -1,2 +0,0 @@ -:mod:`ssl`: fix a crash when an SNI callback tries to use an SSL object that -has already been garbage-collected. Patch by Bénédikt Tran. diff --git a/Misc/NEWS.d/next/Library/2026-03-31-19-54-32.gh-issue-147944.3dn8GZ.rst b/Misc/NEWS.d/next/Library/2026-03-31-19-54-32.gh-issue-147944.3dn8GZ.rst deleted file mode 100644 index 7ba75bac79c0..000000000000 --- a/Misc/NEWS.d/next/Library/2026-03-31-19-54-32.gh-issue-147944.3dn8GZ.rst +++ /dev/null @@ -1,4 +0,0 @@ -Accepted range for the *bytes_per_sep* argument of :meth:`bytes.hex`, -:meth:`bytearray.hex`, :meth:`memoryview.hex`, and :func:`binascii.b2a_hex` -is now increased, so passing ``sys.maxsize`` and ``-sys.maxsize`` is now -valid. diff --git a/Misc/NEWS.d/next/Library/2026-04-01-11-05-36.gh-issue-146613.GzjUFK.rst b/Misc/NEWS.d/next/Library/2026-04-01-11-05-36.gh-issue-146613.GzjUFK.rst deleted file mode 100644 index 94e198e7b28a..000000000000 --- a/Misc/NEWS.d/next/Library/2026-04-01-11-05-36.gh-issue-146613.GzjUFK.rst +++ /dev/null @@ -1,2 +0,0 @@ -:mod:`itertools`: Fix a crash in :func:`itertools.groupby` when -the grouper iterator is concurrently mutated. diff --git a/Misc/NEWS.d/next/Library/2026-04-01-18-17-55.gh-issue-73613.PLEebm.rst b/Misc/NEWS.d/next/Library/2026-04-01-18-17-55.gh-issue-73613.PLEebm.rst deleted file mode 100644 index 8c50972d3ca4..000000000000 --- a/Misc/NEWS.d/next/Library/2026-04-01-18-17-55.gh-issue-73613.PLEebm.rst +++ /dev/null @@ -1,7 +0,0 @@ -Add the *padded* parameter in functions related to Base32 and Base64 codecs -in the :mod:`binascii` and :mod:`base64` modules. -In the encoding functions it controls whether the pad character can be added -in the output, in the decoding functions it controls whether padding is -required in input. -Padding of input no longer required in :func:`base64.urlsafe_b64decode` -by default. diff --git a/Misc/NEWS.d/next/Library/2026-04-06-11-20-24.gh-issue-148153.ZtsuTl.rst b/Misc/NEWS.d/next/Library/2026-04-06-11-20-24.gh-issue-148153.ZtsuTl.rst deleted file mode 100644 index 7fd30562739f..000000000000 --- a/Misc/NEWS.d/next/Library/2026-04-06-11-20-24.gh-issue-148153.ZtsuTl.rst +++ /dev/null @@ -1,2 +0,0 @@ -:func:`base64.b32encode` now always raises :exc:`ValueError` instead of -:exc:`AssertionError` for the value of *map01* with invalid length. diff --git a/Misc/NEWS.d/next/Library/2026-04-07-01-04-00.gh-issue-144503.argvfs.rst b/Misc/NEWS.d/next/Library/2026-04-07-01-04-00.gh-issue-144503.argvfs.rst deleted file mode 100644 index fc73d1902eae..000000000000 --- a/Misc/NEWS.d/next/Library/2026-04-07-01-04-00.gh-issue-144503.argvfs.rst +++ /dev/null @@ -1,6 +0,0 @@ -Fix a regression introduced in 3.14.3 and 3.13.12 where the -:mod:`multiprocessing` ``forkserver`` start method would fail with -:exc:`BrokenPipeError` when the parent process had a very large -:data:`sys.argv`. The argv is now passed to the forkserver as separate -command-line arguments rather than being embedded in the ``-c`` command -string, avoiding the operating system's per-argument length limit. diff --git a/Misc/NEWS.d/next/Security/2026-01-16-12-04-49.gh-issue-143930.zYC5x3.rst b/Misc/NEWS.d/next/Security/2026-01-16-12-04-49.gh-issue-143930.zYC5x3.rst deleted file mode 100644 index c561023c3c2d..000000000000 --- a/Misc/NEWS.d/next/Security/2026-01-16-12-04-49.gh-issue-143930.zYC5x3.rst +++ /dev/null @@ -1 +0,0 @@ -Reject leading dashes in URLs passed to :func:`webbrowser.open`. diff --git a/Misc/NEWS.d/next/Security/2026-03-06-17-03-38.gh-issue-145599.kchwZV.rst b/Misc/NEWS.d/next/Security/2026-03-06-17-03-38.gh-issue-145599.kchwZV.rst deleted file mode 100644 index e53a932d12fc..000000000000 --- a/Misc/NEWS.d/next/Security/2026-03-06-17-03-38.gh-issue-145599.kchwZV.rst +++ /dev/null @@ -1,4 +0,0 @@ -Reject control characters in :class:`http.cookies.Morsel` -:meth:`~http.cookies.Morsel.update` and -:meth:`~http.cookies.BaseCookie.js_output`. -This addresses :cve:`2026-3644`. diff --git a/Misc/NEWS.d/next/Security/2026-03-14-17-31-39.gh-issue-145986.ifSSr8.rst b/Misc/NEWS.d/next/Security/2026-03-14-17-31-39.gh-issue-145986.ifSSr8.rst deleted file mode 100644 index 79536d1fef54..000000000000 --- a/Misc/NEWS.d/next/Security/2026-03-14-17-31-39.gh-issue-145986.ifSSr8.rst +++ /dev/null @@ -1,4 +0,0 @@ -:mod:`xml.parsers.expat`: Fixed a crash caused by unbounded C recursion when -converting deeply nested XML content models with -:meth:`~xml.parsers.expat.xmlparser.ElementDeclHandler`. -This addresses :cve:`2026-4224`. diff --git a/Misc/NEWS.d/next/Tests/2026-03-24-00-15-58.gh-issue-146202.LgH6Bj.rst b/Misc/NEWS.d/next/Tests/2026-03-24-00-15-58.gh-issue-146202.LgH6Bj.rst deleted file mode 100644 index ef869fe26172..000000000000 --- a/Misc/NEWS.d/next/Tests/2026-03-24-00-15-58.gh-issue-146202.LgH6Bj.rst +++ /dev/null @@ -1,3 +0,0 @@ -Fix a race condition in regrtest: make sure that the temporary directory is -created in the worker process. Previously, temp_cwd() could fail on Windows if -the "build" directory was not created. Patch by Victor Stinner. diff --git a/Misc/NEWS.d/next/Tests/2026-04-03-21-37-18.gh-issue-144418.PusC0S.rst b/Misc/NEWS.d/next/Tests/2026-04-03-21-37-18.gh-issue-144418.PusC0S.rst deleted file mode 100644 index dd72996d51aa..000000000000 --- a/Misc/NEWS.d/next/Tests/2026-04-03-21-37-18.gh-issue-144418.PusC0S.rst +++ /dev/null @@ -1 +0,0 @@ -The Android testbed's emulator RAM has been increased from 2 GB to 4 GB. diff --git a/Misc/NEWS.d/next/Tools-Demos/2026-03-15-11-32-35.gh-issue-145976.mqhzmB.rst b/Misc/NEWS.d/next/Tools-Demos/2026-03-15-11-32-35.gh-issue-145976.mqhzmB.rst deleted file mode 100644 index 0d74776ff900..000000000000 --- a/Misc/NEWS.d/next/Tools-Demos/2026-03-15-11-32-35.gh-issue-145976.mqhzmB.rst +++ /dev/null @@ -1 +0,0 @@ -Remove :file:`Misc/vgrindefs` and :file:`Misc/Porting`. diff --git a/Misc/NEWS.d/next/Tools-Demos/2026-03-15-20-59-29.gh-issue-145976.rEdUI-.rst b/Misc/NEWS.d/next/Tools-Demos/2026-03-15-20-59-29.gh-issue-145976.rEdUI-.rst deleted file mode 100644 index 17b0f2d797fa..000000000000 --- a/Misc/NEWS.d/next/Tools-Demos/2026-03-15-20-59-29.gh-issue-145976.rEdUI-.rst +++ /dev/null @@ -1,2 +0,0 @@ -Remove :file:`Misc/indent.pro`, a configuration file for GNU -:manpage:`indent(1)`. diff --git a/Misc/NEWS.d/next/Tools-Demos/2026-03-22-00-00-00.gh-issue-135953.IptOwg.rst b/Misc/NEWS.d/next/Tools-Demos/2026-03-22-00-00-00.gh-issue-135953.IptOwg.rst deleted file mode 100644 index 50f39a830de1..000000000000 --- a/Misc/NEWS.d/next/Tools-Demos/2026-03-22-00-00-00.gh-issue-135953.IptOwg.rst +++ /dev/null @@ -1,3 +0,0 @@ -Properly identify the main thread in the Gecko profiler collector by -using a status flag from the interpreter state instead of relying on -:func:`threading.main_thread` in the collector process. diff --git a/Misc/NEWS.d/next/Windows/2025-10-19-23-44-46.gh-issue-140131.AABF2k.rst b/Misc/NEWS.d/next/Windows/2025-10-19-23-44-46.gh-issue-140131.AABF2k.rst deleted file mode 100644 index 3c2d30d8d981..000000000000 --- a/Misc/NEWS.d/next/Windows/2025-10-19-23-44-46.gh-issue-140131.AABF2k.rst +++ /dev/null @@ -1,2 +0,0 @@ -Fix REPL cursor position on Windows when module completion suggestion line -hits console width. diff --git a/Misc/NEWS.d/next/macOS/2025-10-17-01-07-03.gh-issue-137586.kVzxvp.rst b/Misc/NEWS.d/next/macOS/2025-10-17-01-07-03.gh-issue-137586.kVzxvp.rst deleted file mode 100644 index 8e42065392a2..000000000000 --- a/Misc/NEWS.d/next/macOS/2025-10-17-01-07-03.gh-issue-137586.kVzxvp.rst +++ /dev/null @@ -1 +0,0 @@ -Invoke :program:`osascript` with absolute path in :mod:`webbrowser` and :mod:`!turtledemo`. diff --git a/README.rst b/README.rst index 1d2874e9ca4f..710882bc84b3 100644 --- a/README.rst +++ b/README.rst @@ -1,4 +1,4 @@ -This is Python version 3.15.0 alpha 7 +This is Python version 3.15.0 alpha 8 ===================================== .. image:: https://github.com/python/cpython/actions/workflows/build.yml/badge.svg?branch=main&event=push