summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHugo van Kemenade <1324225+hugovk@users.noreply.github.com>2026-02-11 12:22:36 (GMT)
committerHugo van Kemenade <1324225+hugovk@users.noreply.github.com>2026-02-11 12:23:15 (GMT)
commit15b216f30d0445469ec31bc7509fcc55a216ef7c (patch)
tree825b400cbee9e9be98ad6a58d9d639f394ae552b
parent936d60dbe1679f05d7ceb0a6d1f65bc741390ac6 (diff)
downloadcpython-3.15.0a6.zip
cpython-3.15.0a6.tar.gz
cpython-3.15.0a6.tar.bz2
Python 3.15.0a6v3.15.0a6
-rw-r--r--Doc/library/base64.rst6
-rw-r--r--Doc/library/binascii.rst14
-rw-r--r--Doc/library/contextlib.rst8
-rw-r--r--Doc/library/inspect.rst2
-rw-r--r--Doc/library/multiprocessing.rst2
-rw-r--r--Doc/library/os.path.rst2
-rw-r--r--Doc/library/symtable.rst4
-rw-r--r--Doc/library/tomllib.rst2
-rw-r--r--Doc/library/urllib.parse.rst8
-rw-r--r--Doc/reference/expressions.rst4
-rw-r--r--Doc/using/cmdline.rst2
-rw-r--r--Include/patchlevel.h4
-rw-r--r--Lib/pydoc_data/module_docs.py10
-rw-r--r--Lib/pydoc_data/topics.py584
-rw-r--r--Misc/NEWS.d/3.15.0a6.rst1101
-rw-r--r--Misc/NEWS.d/next/Build/2026-01-15-03-36-16.gh-issue-143842.EZLutl.rst2
-rw-r--r--Misc/NEWS.d/next/Build/2026-01-16-14-27-53.gh-issue-143941.TiaE-3.rst3
-rw-r--r--Misc/NEWS.d/next/Build/2026-01-17-15-31-19.gh-issue-143960.Zi0EqR.rst1
-rw-r--r--Misc/NEWS.d/next/Build/2026-01-27-23-39-26.gh-issue-144278.tejFwL.rst5
-rw-r--r--Misc/NEWS.d/next/Build/2026-01-28-19-04-12.gh-issue-144309.3sMFOh.rst1
-rw-r--r--Misc/NEWS.d/next/Build/2026-02-10-06-31-29.gh-issue-140421.vxosUx.rst1
-rw-r--r--Misc/NEWS.d/next/C_API/2025-12-16-18-39-30.gh-issue-141070.4EKDZ1.rst1
-rw-r--r--Misc/NEWS.d/next/C_API/2026-01-16-15-04-26.gh-issue-143869.vf94km.rst5
-rw-r--r--Misc/NEWS.d/next/Core_and_Builtins/2024-02-10-05-42-26.gh-issue-115231.6T7dzi.rst2
-rw-r--r--Misc/NEWS.d/next/Core_and_Builtins/2025-10-16-22-36-05.gh-issue-140232.u3srgv.rst1
-rw-r--r--Misc/NEWS.d/next/Core_and_Builtins/2025-10-24-17-30-51.gh-issue-140557.X2GETk.rst2
-rw-r--r--Misc/NEWS.d/next/Core_and_Builtins/2025-11-29-10-06-06.gh-issue-142037.OpIGzK.rst7
-rw-r--r--Misc/NEWS.d/next/Core_and_Builtins/2025-12-21-18-12-30.gh-issue-143055.PzwccL.rst1
-rw-r--r--Misc/NEWS.d/next/Core_and_Builtins/2025-12-24-13-19-16.gh-issue-132657._P4DDb.rst6
-rw-r--r--Misc/NEWS.d/next/Core_and_Builtins/2025-12-29-19-31-46.gh-issue-143192.JxGAyl.rst1
-rw-r--r--Misc/NEWS.d/next/Core_and_Builtins/2026-01-08-14-55-31.gh-issue-143569.-Ltu3c.rst3
-rw-r--r--Misc/NEWS.d/next/Core_and_Builtins/2026-01-10-10-58-36.gh-issue-143650.k8mR4x.rst2
-rw-r--r--Misc/NEWS.d/next/Core_and_Builtins/2026-01-11-20-11-36.gh-issue-143670.klnGoD.rst1
-rw-r--r--Misc/NEWS.d/next/Core_and_Builtins/2026-01-13-22-26-49.gh-issue-141805.QzIKPS.rst3
-rw-r--r--Misc/NEWS.d/next/Core_and_Builtins/2026-01-16-23-19-38.gh-issue-143939.w9TWch.rst3
-rw-r--r--Misc/NEWS.d/next/Core_and_Builtins/2026-01-19-01-26-12.gh-issue-144005.Z3O33m.rst1
-rw-r--r--Misc/NEWS.d/next/Core_and_Builtins/2026-01-19-01-56-44.gh-issue-144007.1xjdBf.rst1
-rw-r--r--Misc/NEWS.d/next/Core_and_Builtins/2026-01-19-02-33-45.gh-issue-144012.wVEEWs.rst1
-rw-r--r--Misc/NEWS.d/next/Core_and_Builtins/2026-01-21-02-30-06.gh-issue-144068.9TTu7v.rst1
-rw-r--r--Misc/NEWS.d/next/Core_and_Builtins/2026-01-22-16-20-16.gh-issue-144157.dxyp7k.rst2
-rw-r--r--Misc/NEWS.d/next/Core_and_Builtins/2026-01-22-17-04-30.gh-issue-143962.dQR1a9.rst3
-rw-r--r--Misc/NEWS.d/next/Core_and_Builtins/2026-01-23-20-20-42.gh-issue-144194.IbXfxd.rst1
-rw-r--r--Misc/NEWS.d/next/Core_and_Builtins/2026-01-27-17-49-43.gh-issue-120321.Vo7c9T.rst2
-rw-r--r--Misc/NEWS.d/next/Core_and_Builtins/2026-01-29-01-42-14.gh-issue-144319._7EtdB.rst1
-rw-r--r--Misc/NEWS.d/next/Core_and_Builtins/2026-01-29-02-18-08.gh-issue-144307.CLbm_o.rst1
-rw-r--r--Misc/NEWS.d/next/Core_and_Builtins/2026-01-29-16-57-11.gh-issue-139103.icXIEQ.rst2
-rw-r--r--Misc/NEWS.d/next/Core_and_Builtins/2026-01-30-10-38-07.gh-issue-140550.Us9vPD.rst2
-rw-r--r--Misc/NEWS.d/next/Core_and_Builtins/2026-01-30-15-54-50.gh-issue-144280.kgiP5R.rst1
-rw-r--r--Misc/NEWS.d/next/Core_and_Builtins/2026-02-02-17-07-34.gh-issue-141563.GheXjr.rst1
-rw-r--r--Misc/NEWS.d/next/Core_and_Builtins/2026-02-02-17-50-14.gh-issue-120321.Xfr7tL.rst5
-rw-r--r--Misc/NEWS.d/next/Core_and_Builtins/2026-02-03-17-08-13.gh-issue-144446.db5619.rst2
-rw-r--r--Misc/NEWS.d/next/Core_and_Builtins/2026-02-04-11-19-45.gh-issue-144330.kOowSb.rst2
-rw-r--r--Misc/NEWS.d/next/Core_and_Builtins/2026-02-04-12-19-48.gh-issue-131798.My5jLy.rst1
-rw-r--r--Misc/NEWS.d/next/Core_and_Builtins/2026-02-05-13-30-00.gh-issue-144513.IjSTd7.rst2
-rw-r--r--Misc/NEWS.d/next/Core_and_Builtins/2026-02-06-17-59-47.gh-issue-144549.5BhPlY.rst1
-rw-r--r--Misc/NEWS.d/next/Core_and_Builtins/2026-02-08-12-47-27.gh-issue-144601.E4Yi9J.rst2
-rw-r--r--Misc/NEWS.d/next/Core_and_Builtins/2026-02-08-18-13-38.gh-issue-144563.hb3kpp.rst4
-rw-r--r--Misc/NEWS.d/next/Core_and_Builtins/2026-02-10-12-08-58.gh-issue-134584.P9LDy5.rst1
-rw-r--r--Misc/NEWS.d/next/IDLE/2026-01-13-01-21-20.gh-issue-143774.rqGwX1.rst1
-rw-r--r--Misc/NEWS.d/next/Library/2020-07-14-23-54-18.gh-issue-77188.TyI3_Q.rst1
-rw-r--r--Misc/NEWS.d/next/Library/2024-11-27-13-11-16.gh-issue-67041.ym2WKK.rst6
-rw-r--r--Misc/NEWS.d/next/Library/2025-10-27-00-13-04.gh-issue-140715.WkozE0.rst1
-rw-r--r--Misc/NEWS.d/next/Library/2025-11-06-12-03-29.gh-issue-125346.7Gfpgw.rst5
-rw-r--r--Misc/NEWS.d/next/Library/2025-11-22-20-30-00.gh-issue-141860.frksvr.rst5
-rw-r--r--Misc/NEWS.d/next/Library/2025-12-08-18-40-17.gh-issue-142438.tH-Y16.rst2
-rw-r--r--Misc/NEWS.d/next/Library/2025-12-15-02-02-45.gh-issue-142555.EC9QN_.rst3
-rw-r--r--Misc/NEWS.d/next/Library/2025-12-19-11-30-31.gh-issue-142966.PzGiv2.rst1
-rw-r--r--Misc/NEWS.d/next/Library/2025-12-28-15-55-53.gh-issue-101178.26jYPs.rst2
-rw-r--r--Misc/NEWS.d/next/Library/2026-01-05-05-31-05.gh-issue-143423.X7YdnR.rst1
-rw-r--r--Misc/NEWS.d/next/Library/2026-01-07-11-57-59.gh-issue-140557.3P6-nW.rst2
-rw-r--r--Misc/NEWS.d/next/Library/2026-01-07-19-01-59.gh-issue-142434.SHRS5p.rst3
-rw-r--r--Misc/NEWS.d/next/Library/2026-01-09-12-37-19.gh-issue-143602.V8vQpj.rst2
-rw-r--r--Misc/NEWS.d/next/Library/2026-01-11-14-14-19.gh-issue-143689.fzHJ2W.rst1
-rw-r--r--Misc/NEWS.d/next/Library/2026-01-13-10-38-43.gh-issue-143543.DeQRCO.rst2
-rw-r--r--Misc/NEWS.d/next/Library/2026-01-13-15-56-03.gh-issue-132604.lvjNTr.rst4
-rw-r--r--Misc/NEWS.d/next/Library/2026-01-13-16-19-50.gh-issue-143756.LQOra1.rst1
-rw-r--r--Misc/NEWS.d/next/Library/2026-01-14-20-35-40.gh-issue-143754.m2NQXA.rst3
-rw-r--r--Misc/NEWS.d/next/Library/2026-01-15-16-04-39.gh-issue-143874.1qQgvo.rst1
-rw-r--r--Misc/NEWS.d/next/Library/2026-01-16-06-22-10.gh-issue-143831.VLBTLp.rst3
-rw-r--r--Misc/NEWS.d/next/Library/2026-01-16-10-53-17.gh-issue-143897.hWJBHN.rst3
-rw-r--r--Misc/NEWS.d/next/Library/2026-01-16-14-02-39.gh-issue-143904.rErHHA.rst2
-rw-r--r--Misc/NEWS.d/next/Library/2026-01-17-07-48-27.gh-issue-143952.lqJ55y.rst2
-rw-r--r--Misc/NEWS.d/next/Library/2026-01-18-14-35-37.gh-issue-143999.MneN4O.rst1
-rw-r--r--Misc/NEWS.d/next/Library/2026-01-19-00-57-40.gh-issue-144023.29XUcp.rst2
-rw-r--r--Misc/NEWS.d/next/Library/2026-01-19-10-26-59.gh-issue-144001.dGj8Nk.rst2
-rw-r--r--Misc/NEWS.d/next/Library/2026-01-19-12-48-59.gh-issue-144030.7OK_gB.rst3
-rw-r--r--Misc/NEWS.d/next/Library/2026-01-19-16-45-16.gh-issue-83069.0TaeH9.rst7
-rw-r--r--Misc/NEWS.d/next/Library/2026-01-20-16-35-55.gh-issue-144050.0kKFbF.rst2
-rw-r--r--Misc/NEWS.d/next/Library/2026-01-20-20-54-46.gh-issue-143658.v8i1jE.rst4
-rw-r--r--Misc/NEWS.d/next/Library/2026-01-21-19-39-07.gh-issue-144100.hLMZ8Y.rst3
-rw-r--r--Misc/NEWS.d/next/Library/2026-01-22-10-18-17.gh-issue-144128.akwY06.rst2
-rw-r--r--Misc/NEWS.d/next/Library/2026-01-23-06-43-21.gh-issue-144169.LFy9yi.rst2
-rw-r--r--Misc/NEWS.d/next/Library/2026-01-24-13-49-05.gh-issue-143594.nilGlg.rst1
-rw-r--r--Misc/NEWS.d/next/Library/2026-01-24-23-11-17.gh-issue-144212.IXqVL8.rst1
-rw-r--r--Misc/NEWS.d/next/Library/2026-01-25-03-23-20.gh-issue-144217.E1wVXH.rst1
-rw-r--r--Misc/NEWS.d/next/Library/2026-01-26-12-30-57.gh-issue-142956.X9CS8J.rst1
-rw-r--r--Misc/NEWS.d/next/Library/2026-01-27-00-03-41.gh-issue-132888.yhTfUN.rst2
-rw-r--r--Misc/NEWS.d/next/Library/2026-01-27-09-58-52.gh-issue-144249.mCIy95.rst2
-rw-r--r--Misc/NEWS.d/next/Library/2026-01-27-10-02-04.gh-issue-144264.Wmzbol.rst3
-rw-r--r--Misc/NEWS.d/next/Library/2026-01-27-14-23-10.gh-issue-144206.l0un4U.rst2
-rw-r--r--Misc/NEWS.d/next/Library/2026-01-30-13-23-06.gh-issue-140824.J1OCrC.rst2
-rw-r--r--Misc/NEWS.d/next/Library/2026-01-31-17-15-49.gh-issue-144363.X9f0sU.rst1
-rw-r--r--Misc/NEWS.d/next/Library/2026-02-01-15-25-00.gh-issue-144380.U7py_s.rst1
-rw-r--r--Misc/NEWS.d/next/Library/2026-02-02-12-09-38.gh-issue-74453.19h4Z5.rst8
-rw-r--r--Misc/NEWS.d/next/Library/2026-02-03-08-50-58.gh-issue-123471.yF1Gym.rst1
-rw-r--r--Misc/NEWS.d/next/Library/2026-02-03-14-16-49.gh-issue-144386.9Wa59r.rst4
-rw-r--r--Misc/NEWS.d/next/Library/2026-02-05-17-15-31.gh-issue-144493.XuxwVu.rst1
-rw-r--r--Misc/NEWS.d/next/Library/2026-02-06-23-58-54.gh-issue-144538.5_OvGv.rst1
-rw-r--r--Misc/NEWS.d/next/Security/2026-01-16-11-07-36.gh-issue-143916.dpWeOD.rst2
-rw-r--r--Misc/NEWS.d/next/Security/2026-01-16-11-13-15.gh-issue-143919.kchwZV.rst1
-rw-r--r--Misc/NEWS.d/next/Security/2026-01-16-11-41-06.gh-issue-143921.AeCOor.rst1
-rw-r--r--Misc/NEWS.d/next/Security/2026-01-16-11-43-47.gh-issue-143923.DuytMe.rst1
-rw-r--r--Misc/NEWS.d/next/Security/2026-01-16-11-51-19.gh-issue-143925.mrtcHW.rst1
-rw-r--r--Misc/NEWS.d/next/Security/2026-01-16-14-40-31.gh-issue-143935.U2YtKl.rst6
-rw-r--r--Misc/NEWS.d/next/Security/2026-01-21-12-34-05.gh-issue-144125.TAz5uo.rst4
-rw-r--r--Misc/NEWS.d/next/Tests/2026-01-08-16-56-59.gh-issue-65784.aKNo1U.rst3
-rw-r--r--Misc/NEWS.d/next/Tests/2026-02-03-07-57-24.gh-issue-144415.U3L15r.rst3
-rw-r--r--Misc/NEWS.d/next/Windows/2026-01-05-21-36-58.gh-issue-80620.p1bD58.rst1
-rw-r--r--Misc/NEWS.d/next/macOS/2026-02-09-22-43-47.gh-issue-144551.VOfgfD.rst1
-rw-r--r--Misc/NEWS.d/next/macOS/2026-02-09-23-01-49.gh-issue-124111.WmQG7S.rst1
-rw-r--r--Misc/NEWS.d/next/macOS/2026-02-10-08-00-17.gh-issue-144648.KEuUXp.rst1
-rw-r--r--README.rst2
122 files changed, 1543 insertions, 446 deletions
diff --git a/Doc/library/base64.rst b/Doc/library/base64.rst
index 975c488..7716286 100644
--- a/Doc/library/base64.rst
+++ b/Doc/library/base64.rst
@@ -105,10 +105,10 @@ POST request.
For more information about the strict base64 check, see :func:`binascii.a2b_base64`
- .. versionchanged:: next
+ .. versionchanged:: 3.15
Added the *ignorechars* parameter.
- .. deprecated:: next
+ .. deprecated:: 3.15
Accepting the ``+`` and ``/`` characters with an alternative alphabet
is now deprecated.
@@ -142,7 +142,7 @@ POST request.
``/`` in the standard Base64 alphabet, and return the decoded
:class:`bytes`.
- .. deprecated:: next
+ .. deprecated:: 3.15
Accepting the ``+`` and ``/`` characters is now deprecated.
diff --git a/Doc/library/binascii.rst b/Doc/library/binascii.rst
index 39320da..8a241e5 100644
--- a/Doc/library/binascii.rst
+++ b/Doc/library/binascii.rst
@@ -75,7 +75,7 @@ The :mod:`!binascii` module defines the following functions:
.. versionchanged:: 3.11
Added the *strict_mode* parameter.
- .. versionchanged:: next
+ .. versionchanged:: 3.15
Added the *ignorechars* parameter.
@@ -122,7 +122,7 @@ The :mod:`!binascii` module defines the following functions:
Invalid Ascii85 data will raise :exc:`binascii.Error`.
- .. versionadded:: next
+ .. versionadded:: 3.15
.. function:: b2a_ascii85(data, /, *, foldspaces=False, wrapcol=0, pad=False, adobe=False)
@@ -145,7 +145,7 @@ The :mod:`!binascii` module defines the following functions:
*adobe* controls whether the encoded byte sequence is framed with ``<~``
and ``~>``, which is used by the Adobe implementation.
- .. versionadded:: next
+ .. versionadded:: 3.15
.. function:: a2b_base85(string, /)
@@ -160,7 +160,7 @@ The :mod:`!binascii` module defines the following functions:
Invalid Base85 data will raise :exc:`binascii.Error`.
- .. versionadded:: next
+ .. versionadded:: 3.15
.. function:: b2a_base85(data, /, *, pad=False)
@@ -171,7 +171,7 @@ The :mod:`!binascii` module defines the following functions:
If *pad* is true, the input is padded with ``b'\0'`` so its length is a
multiple of 4 bytes before encoding.
- .. versionadded:: next
+ .. versionadded:: 3.15
.. function:: a2b_z85(string, /)
@@ -188,7 +188,7 @@ The :mod:`!binascii` module defines the following functions:
Invalid Z85 data will raise :exc:`binascii.Error`.
- .. versionadded:: next
+ .. versionadded:: 3.15
.. function:: b2a_z85(data, /, *, pad=False)
@@ -201,7 +201,7 @@ The :mod:`!binascii` module defines the following functions:
See `Z85 specification <https://rfc.zeromq.org/spec/32/>`_ for more information.
- .. versionadded:: next
+ .. versionadded:: 3.15
.. function:: a2b_qp(data, header=False)
diff --git a/Doc/library/contextlib.rst b/Doc/library/contextlib.rst
index 564c11d..eec9ed1 100644
--- a/Doc/library/contextlib.rst
+++ b/Doc/library/contextlib.rst
@@ -564,7 +564,7 @@ Functions and classes provided:
Raises :exc:`TypeError` instead of :exc:`AttributeError` if *cm*
is not a context manager.
- .. versionchanged:: next
+ .. versionchanged:: 3.15
Added support for arbitrary descriptors :meth:`!__enter__` and
:meth:`!__exit__`.
@@ -586,7 +586,7 @@ Functions and classes provided:
The passed in object is returned from the function, allowing this
method to be used as a function decorator.
- .. versionchanged:: next
+ .. versionchanged:: 3.15
Added support for arbitrary descriptors :meth:`!__exit__`.
.. method:: callback(callback, /, *args, **kwds)
@@ -646,7 +646,7 @@ Functions and classes provided:
Raises :exc:`TypeError` instead of :exc:`AttributeError` if *cm*
is not an asynchronous context manager.
- .. versionchanged:: next
+ .. versionchanged:: 3.15
Added support for arbitrary descriptors :meth:`!__aenter__` and :meth:`!__aexit__`.
.. method:: push_async_exit(exit)
@@ -654,7 +654,7 @@ Functions and classes provided:
Similar to :meth:`ExitStack.push` but expects either an asynchronous context manager
or a coroutine function.
- .. versionchanged:: next
+ .. versionchanged:: 3.15
Added support for arbitrary descriptors :meth:`!__aexit__`.
.. method:: push_async_callback(callback, /, *args, **kwds)
diff --git a/Doc/library/inspect.rst b/Doc/library/inspect.rst
index 57353bf..1455d90 100644
--- a/Doc/library/inspect.rst
+++ b/Doc/library/inspect.rst
@@ -360,7 +360,7 @@ attributes (see :ref:`import-mod-attrs` for module attributes):
Add ``f_generator`` attribute to frames.
-.. versionchanged:: next
+.. versionchanged:: 3.15
Add ``gi_state`` attribute to generators, ``cr_state`` attribute to
coroutines, and ``ag_state`` attribute to async generators.
diff --git a/Doc/library/multiprocessing.rst b/Doc/library/multiprocessing.rst
index d3baf2d..e313a15 100644
--- a/Doc/library/multiprocessing.rst
+++ b/Doc/library/multiprocessing.rst
@@ -1257,7 +1257,7 @@ Miscellaneous
.. versionadded:: 3.4
- .. versionchanged:: next
+ .. versionchanged:: 3.15
Added the *on_error* parameter.
.. function:: set_start_method(method, force=False)
diff --git a/Doc/library/os.path.rst b/Doc/library/os.path.rst
index 70ff625..8081870 100644
--- a/Doc/library/os.path.rst
+++ b/Doc/library/os.path.rst
@@ -120,7 +120,7 @@ the :mod:`glob` module.)
.. versionchanged:: 3.6
Accepts a :term:`path-like object`.
- .. deprecated:: next
+ .. deprecated:: 3.15
Deprecated in favor of :func:`os.path.commonpath` for path prefixes.
The :func:`os.path.commonprefix` function is being deprecated due to
having a misleading name and module. The function is not safe to use for
diff --git a/Doc/library/symtable.rst b/Doc/library/symtable.rst
index 63549f4..264857f 100644
--- a/Doc/library/symtable.rst
+++ b/Doc/library/symtable.rst
@@ -184,7 +184,7 @@ Examining Symbol Tables
Return a tuple containing names of :term:`cell variables <closure variable>` in this table.
- .. versionadded:: next
+ .. versionadded:: 3.15
.. class:: Class
@@ -301,7 +301,7 @@ Examining Symbol Tables
Return ``True`` if the symbol is referenced but not assigned in a nested block.
- .. versionadded:: next
+ .. versionadded:: 3.15
.. method:: is_free_class()
diff --git a/Doc/library/tomllib.rst b/Doc/library/tomllib.rst
index d376779..dc6e0cc 100644
--- a/Doc/library/tomllib.rst
+++ b/Doc/library/tomllib.rst
@@ -18,7 +18,7 @@ support writing TOML.
.. versionadded:: 3.11
The module was added with support for TOML 1.0.0.
-.. versionchanged:: next
+.. versionchanged:: 3.15
Added TOML 1.1.0 support.
See the :ref:`What's New <whatsnew315-tomllib-1-1-0>` for details.
diff --git a/Doc/library/urllib.parse.rst b/Doc/library/urllib.parse.rst
index 0fd3070..ef48add 100644
--- a/Doc/library/urllib.parse.rst
+++ b/Doc/library/urllib.parse.rst
@@ -217,7 +217,7 @@ or on combining URL components into a URL string.
.. versionchanged:: 3.12
Leading WHATWG C0 control and space characters are stripped from the URL.
- .. versionchanged:: next
+ .. versionchanged:: 3.15
Added the *missing_as_none* parameter.
.. _WHATWG spec: https://url.spec.whatwg.org/#concept-basic-url-parser
@@ -333,7 +333,7 @@ or on combining URL components into a URL string.
By default, *keep_empty* is true if *parts* is the result of the
:func:`urlsplit` call with ``missing_as_none=True``.
- .. versionchanged:: next
+ .. versionchanged:: 3.15
Added the *keep_empty* parameter.
@@ -371,7 +371,7 @@ or on combining URL components into a URL string.
By default, *keep_empty* is true if *parts* is the result of the
:func:`urlparse` call with ``missing_as_none=True``.
- .. versionchanged:: next
+ .. versionchanged:: 3.15
Added the *keep_empty* parameter.
@@ -444,7 +444,7 @@ or on combining URL components into a URL string.
.. versionchanged:: 3.2
Result is a structured object rather than a simple 2-tuple.
- .. versionchanged:: next
+ .. versionchanged:: 3.15
Added the *missing_as_none* parameter.
.. function:: unwrap(url)
diff --git a/Doc/reference/expressions.rst b/Doc/reference/expressions.rst
index 281d032..54384a8 100644
--- a/Doc/reference/expressions.rst
+++ b/Doc/reference/expressions.rst
@@ -323,7 +323,7 @@ See also :pep:`530`.
asynchronous functions. Outer comprehensions implicitly become
asynchronous.
-.. versionchanged:: next
+.. versionchanged:: 3.15
Unpacking with the ``*`` operator is now allowed in the expression.
@@ -455,7 +455,7 @@ prevails.
the key. Starting with 3.8, the key is evaluated before the value, as
proposed by :pep:`572`.
-.. versionchanged:: next
+.. versionchanged:: 3.15
Unpacking with the ``**`` operator is now allowed in dictionary comprehensions.
.. _genexpr:
diff --git a/Doc/using/cmdline.rst b/Doc/using/cmdline.rst
index c970581..5154244 100644
--- a/Doc/using/cmdline.rst
+++ b/Doc/using/cmdline.rst
@@ -1105,7 +1105,7 @@ conflict.
and kill the process. Only enable this in environments where the
huge-page pool is properly sized and fork-safety is not a concern.
- .. versionadded:: next
+ .. versionadded:: 3.15
.. envvar:: PYTHONLEGACYWINDOWSFSENCODING
diff --git a/Include/patchlevel.h b/Include/patchlevel.h
index ea42c12..117b041 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 5
+#define PY_RELEASE_SERIAL 6
/* Version as a string */
-#define PY_VERSION "3.15.0a5+"
+#define PY_VERSION "3.15.0a6"
/*--end constants--*/
diff --git a/Lib/pydoc_data/module_docs.py b/Lib/pydoc_data/module_docs.py
index f6d84a6..76a2c18 100644
--- a/Lib/pydoc_data/module_docs.py
+++ b/Lib/pydoc_data/module_docs.py
@@ -1,4 +1,4 @@
-# Autogenerated by Sphinx on Sun Oct 12 12:02:22 2025
+# Autogenerated by Sphinx on Wed Feb 11 14:22:57 2026
# as part of the release process.
module_docs = {
@@ -23,7 +23,6 @@ module_docs = {
'bisect': 'bisect#module-bisect',
'builtins': 'builtins#module-builtins',
'bz2': 'bz2#module-bz2',
- 'cProfile': 'profile#module-cProfile',
'calendar': 'calendar#module-calendar',
'cgi': 'cgi#module-cgi',
'cgitb': 'cgitb#module-cgitb',
@@ -149,6 +148,7 @@ module_docs = {
'mailcap': 'mailcap#module-mailcap',
'marshal': 'marshal#module-marshal',
'math': 'math#module-math',
+ 'math.integer': 'math.integer#module-math.integer',
'mimetypes': 'mimetypes#module-mimetypes',
'mmap': 'mmap#module-mmap',
'modulefinder': 'modulefinder#module-modulefinder',
@@ -183,8 +183,10 @@ module_docs = {
'posix': 'posix#module-posix',
'pprint': 'pprint#module-pprint',
'profile': 'profile#module-profile',
- 'profiling.sampling': 'profile#module-profiling.sampling',
- 'pstats': 'profile#module-pstats',
+ 'profiling': 'profiling#module-profiling',
+ 'profiling.sampling': 'profiling.sampling#module-profiling.sampling',
+ 'profiling.tracing': 'profiling.tracing#module-profiling.tracing',
+ 'pstats': 'pstats#module-pstats',
'pty': 'pty#module-pty',
'pwd': 'pwd#module-pwd',
'py_compile': 'py_compile#module-py_compile',
diff --git a/Lib/pydoc_data/topics.py b/Lib/pydoc_data/topics.py
index e2d3a51..32cf9a9 100644
--- a/Lib/pydoc_data/topics.py
+++ b/Lib/pydoc_data/topics.py
@@ -1,4 +1,4 @@
-# Autogenerated by Sphinx on Wed Jan 14 16:41:25 2026
+# Autogenerated by Sphinx on Wed Feb 11 14:22:57 2026
# as part of the release process.
topics = {
@@ -46,11 +46,10 @@ modify attributes or items of mutable objects:
| "[" [target_list] "]"
| attributeref
| subscription
- | slicing
| "*" target
-(See section Primaries for the syntax definitions for *attributeref*,
-*subscription*, and *slicing*.)
+(See section Primaries for the syntax definitions for *attributeref*
+and *subscription*.)
An assignment statement evaluates the expression list (remember that
this can be a single expression or a comma-separated list, the latter
@@ -59,12 +58,11 @@ the target lists, from left to right.
Assignment is defined recursively depending on the form of the target
(list). When a target is part of a mutable object (an attribute
-reference, subscription or slicing), the mutable object must
-ultimately perform the assignment and decide about its validity, and
-may raise an exception if the assignment is unacceptable. The rules
-observed by various types and the exceptions raised are given with the
-definition of the object types (see section The standard type
-hierarchy).
+reference or subscription), the mutable object must ultimately perform
+the assignment and decide about its validity, and may raise an
+exception if the assignment is unacceptable. The rules observed by
+various types and the exceptions raised are given with the definition
+of the object types (see section The standard type hierarchy).
Assignment of an object to a target list, optionally enclosed in
parentheses or square brackets, is recursively defined as follows.
@@ -130,9 +128,13 @@ follows.
attributes, such as properties created with "property()".
* If the target is a subscription: The primary expression in the
- reference is evaluated. It should yield either a mutable sequence
- object (such as a list) or a mapping object (such as a dictionary).
- Next, the subscript expression is evaluated.
+ reference is evaluated. Next, the subscript expression is evaluated.
+ Then, the primary’s "__setitem__()" method is called with two
+ arguments: the subscript and the assigned object.
+
+ Typically, "__setitem__()" is defined on mutable sequence objects
+ (such as lists) and mapping objects (such as dictionaries), and
+ behaves as follows.
If the primary is a mutable sequence object (such as a list), the
subscript must yield an integer. If it is negative, the sequence’s
@@ -149,27 +151,17 @@ follows.
existing key/value pair with the same key value, or insert a new
key/value pair (if no key with the same value existed).
- For user-defined objects, the "__setitem__()" method is called with
- appropriate arguments.
-
-* If the target is a slicing: The primary expression in the reference
- is evaluated. It should yield a mutable sequence object (such as a
- list). The assigned object should be a sequence object of the same
- type. Next, the lower and upper bound expressions are evaluated,
- insofar they are present; defaults are zero and the sequence’s
- length. The bounds should evaluate to integers. If either bound is
- negative, the sequence’s length is added to it. The resulting
- bounds are clipped to lie between zero and the sequence’s length,
- inclusive. Finally, the sequence object is asked to replace the
- slice with the items of the assigned sequence. The length of the
- slice may be different from the length of the assigned sequence,
- thus changing the length of the target sequence, if the target
- sequence allows it.
-
-**CPython implementation detail:** In the current implementation, the
-syntax for targets is taken to be the same as for expressions, and
-invalid syntax is rejected during the code generation phase, causing
-less detailed error messages.
+ If the target is a slicing: The primary expression should evaluate
+ to a mutable sequence object (such as a list). The assigned object
+ should be *iterable*. The slicing’s lower and upper bounds should be
+ integers; if they are "None" (or not present), the defaults are zero
+ and the sequence’s length. If either bound is negative, the
+ sequence’s length is added to it. The resulting bounds are clipped
+ to lie between zero and the sequence’s length, inclusive. Finally,
+ the sequence object is asked to replace the slice with the items of
+ the assigned sequence. The length of the slice may be different
+ from the length of the assigned sequence, thus changing the length
+ of the target sequence, if the target sequence allows it.
Although the definition of assignment implies that overlaps between
the left-hand side and the right-hand side are ‘simultaneous’ (for
@@ -196,7 +188,7 @@ Augmented assignment is the combination, in a single statement, of a
binary operation and an assignment statement:
augmented_assignment_stmt: augtarget augop (expression_list | yield_expression)
- augtarget: identifier | attributeref | subscription | slicing
+ augtarget: identifier | attributeref | subscription
augop: "+=" | "-=" | "*=" | "@=" | "/=" | "//=" | "%=" | "**="
| ">>=" | "<<=" | "&=" | "^=" | "|="
@@ -921,7 +913,7 @@ Augmented assignment is the combination, in a single statement, of a
binary operation and an assignment statement:
augmented_assignment_stmt: augtarget augop (expression_list | yield_expression)
- augtarget: identifier | attributeref | subscription | slicing
+ augtarget: identifier | attributeref | subscription
augop: "+=" | "-=" | "*=" | "@=" | "/=" | "//=" | "%=" | "**="
| ">>=" | "<<=" | "&=" | "^=" | "|="
@@ -4914,8 +4906,8 @@ global namespace, depending on whether the name occurs in a "global"
statement in the same code block. Trying to delete an unbound name
raises a "NameError" exception.
-Deletion of attribute references, subscriptions and slicings is passed
-to the primary object involved; deletion of a slicing is in general
+Deletion of attribute references and subscriptions is passed to the
+primary object involved; deletion of a slicing is in general
equivalent to assignment of an empty slice of the right type (but even
this is determined by the sliced object).
@@ -4931,8 +4923,8 @@ A dictionary display is a possibly empty series of dict items
dict_display: "{" [dict_item_list | dict_comprehension] "}"
dict_item_list: dict_item ("," dict_item)* [","]
+ dict_comprehension: dict_item comp_for
dict_item: expression ":" expression | "**" or_expr
- dict_comprehension: expression ":" expression comp_for
A dictionary display yields a new dictionary object.
@@ -4951,11 +4943,22 @@ items and earlier dictionary unpackings.
Added in version 3.5: Unpacking into dictionary displays, originally
proposed by **PEP 448**.
-A dict comprehension, in contrast to list and set comprehensions,
-needs two expressions separated with a colon followed by the usual
-“for” and “if” clauses. When the comprehension is run, the resulting
-key and value elements are inserted in the new dictionary in the order
-they are produced.
+A dict comprehension may take one of two forms:
+
+* The first form uses two expressions separated with a colon followed
+ by the usual “for” and “if” clauses. When the comprehension is run,
+ the resulting key and value elements are inserted in the new
+ dictionary in the order they are produced.
+
+* The second form uses a single expression prefixed by the "**"
+ dictionary unpacking operator followed by the usual “for” and “if”
+ clauses. When the comprehension is evaluated, the expression is
+ evaluated and then unpacked, inserting zero or more key/value pairs
+ into the new dictionary.
+
+Both forms of dictionary comprehension retain the property that if the
+same key is specified multiple times, the associated value in the
+resulting dictionary will be the last one specified.
Restrictions on the types of the key values are listed earlier in
section The standard type hierarchy. (To summarize, the key type
@@ -4967,6 +4970,9 @@ Changed in version 3.8: Prior to Python 3.8, in dict comprehensions,
the evaluation order of key and value was not well-defined. In
CPython, the value was evaluated before the key. Starting with 3.8,
the key is evaluated before the value, as proposed by **PEP 572**.
+
+Changed in version 3.15.0a5 (unreleased): Unpacking with the "**"
+operator is now allowed in dictionary comprehensions.
''',
'dynamic-features': r'''Interaction with dynamic features
*********************************
@@ -6843,7 +6849,9 @@ scope where the "import" statement occurs.
The *public names* defined by a module are determined by checking the
module’s namespace for a variable named "__all__"; if defined, it must
be a sequence of strings which are names defined or imported by that
-module. The names given in "__all__" are all considered public and
+module. Names containing non-ASCII characters must be in the
+normalization form NFKC; see Non-ASCII characters in names for
+details. The names given in "__all__" are all considered public and
are required to exist. If "__all__" is not defined, the set of public
names includes all names found in the module’s namespace which do not
begin with an underscore character ("'_'"). "__all__" should contain
@@ -7849,8 +7857,8 @@ described in the Comparisons section.
| value...}", "{expressions...}" | list display, dictionary display, set |
| | display |
+-------------------------------------------------+---------------------------------------+
-| "x[index]", "x[index:index]", | Subscription, slicing, call, |
-| "x(arguments...)", "x.attribute" | attribute reference |
+| "x[index]", "x[index:index]" "x(arguments...)", | Subscription (including slicing), |
+| "x.attribute" | call, attribute reference |
+-------------------------------------------------+---------------------------------------+
| "await x" | Await expression |
+-------------------------------------------------+---------------------------------------+
@@ -8187,22 +8195,32 @@ Note:
and so forth. Missing slice items are always filled in with "None".
-object.__getitem__(self, key)
+object.__getitem__(self, subscript)
+
+ Called to implement *subscription*, that is, "self[subscript]". See
+ Subscriptions and slicings for details on the syntax.
- Called to implement evaluation of "self[key]". For *sequence*
- types, the accepted keys should be integers. Optionally, they may
- support "slice" objects as well. Negative index support is also
- optional. If *key* is of an inappropriate type, "TypeError" may be
- raised; if *key* is a value outside the set of indexes for the
- sequence (after any special interpretation of negative values),
- "IndexError" should be raised. For *mapping* types, if *key* is
- missing (not in the container), "KeyError" should be raised.
+ There are two types of built-in objects that support subscription
+ via "__getitem__()":
+
+ * **sequences**, where *subscript* (also called *index*) should be
+ an integer or a "slice" object. See the sequence documentation
+ for the expected behavior, including handling "slice" objects and
+ negative indices.
+
+ * **mappings**, where *subscript* is also called the *key*. See
+ mapping documentation for the expected behavior.
+
+ If *subscript* is of an inappropriate type, "__getitem__()" should
+ raise "TypeError". If *subscript* has an inappropriate value,
+ "__getitem__()" should raise an "LookupError" or one of its
+ subclasses ("IndexError" for sequences; "KeyError" for mappings).
Note:
- "for" loops expect that an "IndexError" will be raised for
- illegal indexes to allow proper detection of the end of the
- sequence.
+ The sequence iteration protocol (used, for example, in "for"
+ loops), expects that an "IndexError" will be raised for illegal
+ indexes to allow proper detection of the end of a sequence.
Note:
@@ -8292,37 +8310,40 @@ A left shift by *n* bits is defined as multiplication with "pow(2,n)".
'slicings': r'''Slicings
********
-A slicing selects a range of items in a sequence object (e.g., a
-string, tuple or list). Slicings may be used as expressions or as
-targets in assignment or "del" statements. The syntax for a slicing:
-
- slicing: primary "[" slice_list "]"
- slice_list: slice_item ("," slice_item)* [","]
- slice_item: expression | proper_slice
- proper_slice: [lower_bound] ":" [upper_bound] [ ":" [stride] ]
- lower_bound: expression
- upper_bound: expression
- stride: expression
-
-There is ambiguity in the formal syntax here: anything that looks like
-an expression list also looks like a slice list, so any subscription
-can be interpreted as a slicing. Rather than further complicating the
-syntax, this is disambiguated by defining that in this case the
-interpretation as a subscription takes priority over the
-interpretation as a slicing (this is the case if the slice list
-contains no proper slice).
-
-The semantics for a slicing are as follows. The primary is indexed
-(using the same "__getitem__()" method as normal subscription) with a
-key that is constructed from the slice list, as follows. If the slice
-list contains at least one comma, the key is a tuple containing the
-conversion of the slice items; otherwise, the conversion of the lone
-slice item is the key. The conversion of a slice item that is an
-expression is that expression. The conversion of a proper slice is a
-slice object (see section The standard type hierarchy) whose "start",
-"stop" and "step" attributes are the values of the expressions given
-as lower bound, upper bound and stride, respectively, substituting
-"None" for missing expressions.
+A more advanced form of subscription, *slicing*, is commonly used to
+extract a portion of a sequence. In this form, the subscript is a
+*slice*: up to three expressions separated by colons. Any of the
+expressions may be omitted, but a slice must contain at least one
+colon:
+
+ >>> number_names = ['zero', 'one', 'two', 'three', 'four', 'five']
+ >>> number_names[1:3]
+ ['one', 'two']
+ >>> number_names[1:]
+ ['one', 'two', 'three', 'four', 'five']
+ >>> number_names[:3]
+ ['zero', 'one', 'two']
+ >>> number_names[:]
+ ['zero', 'one', 'two', 'three', 'four', 'five']
+ >>> number_names[::2]
+ ['zero', 'two', 'four']
+ >>> number_names[:-3]
+ ['zero', 'one', 'two']
+ >>> del number_names[4:]
+ >>> number_names
+ ['zero', 'one', 'two', 'three']
+
+When a slice is evaluated, the interpreter constructs a "slice" object
+whose "start", "stop" and "step" attributes, respectively, are the
+results of the expressions between the colons. Any missing expression
+evaluates to "None". This "slice" object is then passed to the
+"__getitem__()" or "__class_getitem__()" *special method*, as above.
+
+ # continuing with the SubscriptionDemo instance defined above:
+ >>> demo[2:3]
+ subscripted with: slice(2, 3, None)
+ >>> demo[::'spam']
+ subscripted with: slice(None, None, 'spam')
''',
'specialattrs': r'''Special Attributes
******************
@@ -9557,22 +9578,32 @@ Note:
and so forth. Missing slice items are always filled in with "None".
-object.__getitem__(self, key)
+object.__getitem__(self, subscript)
+
+ Called to implement *subscription*, that is, "self[subscript]". See
+ Subscriptions and slicings for details on the syntax.
+
+ There are two types of built-in objects that support subscription
+ via "__getitem__()":
- Called to implement evaluation of "self[key]". For *sequence*
- types, the accepted keys should be integers. Optionally, they may
- support "slice" objects as well. Negative index support is also
- optional. If *key* is of an inappropriate type, "TypeError" may be
- raised; if *key* is a value outside the set of indexes for the
- sequence (after any special interpretation of negative values),
- "IndexError" should be raised. For *mapping* types, if *key* is
- missing (not in the container), "KeyError" should be raised.
+ * **sequences**, where *subscript* (also called *index*) should be
+ an integer or a "slice" object. See the sequence documentation
+ for the expected behavior, including handling "slice" objects and
+ negative indices.
+
+ * **mappings**, where *subscript* is also called the *key*. See
+ mapping documentation for the expected behavior.
+
+ If *subscript* is of an inappropriate type, "__getitem__()" should
+ raise "TypeError". If *subscript* has an inappropriate value,
+ "__getitem__()" should raise an "LookupError" or one of its
+ subclasses ("IndexError" for sequences; "KeyError" for mappings).
Note:
- "for" loops expect that an "IndexError" will be raised for
- illegal indexes to allow proper detection of the end of the
- sequence.
+ The sequence iteration protocol (used, for example, in "for"
+ loops), expects that an "IndexError" will be raised for illegal
+ indexes to allow proper detection of the end of a sequence.
Note:
@@ -10262,6 +10293,8 @@ str.index(sub[, start[, end]])
Like "find()", but raise "ValueError" when the substring is not
found. For example:
+ >>> 'spam, spam, spam'.index('spam')
+ 0
>>> 'spam, spam, spam'.index('eggs')
Traceback (most recent call last):
File "<python-input-0>", line 1, in <module>
@@ -10277,6 +10310,18 @@ str.isalnum()
there is at least one character, "False" otherwise. A character
"c" is alphanumeric if one of the following returns "True":
"c.isalpha()", "c.isdecimal()", "c.isdigit()", or "c.isnumeric()".
+ For example:
+
+ .. doctest::
+
+ >>> 'abc123'.isalnum()
+ True
+ >>> 'abc123!@#'.isalnum()
+ False
+ >>> ''.isalnum()
+ False
+ >>> ' '.isalnum()
+ False
str.isalpha()
@@ -10538,6 +10583,17 @@ str.partition(sep, /)
found, return a 3-tuple containing the string itself, followed by
two empty strings.
+ For example:
+
+ >>> 'Monty Python'.partition(' ')
+ ('Monty', ' ', 'Python')
+ >>> "Monty Python's Flying Circus".partition(' ')
+ ('Monty', ' ', "Python's Flying Circus")
+ >>> 'Monty Python'.partition('-')
+ ('Monty Python', '', '')
+
+ See also "rpartition()".
+
str.removeprefix(prefix, /)
If the string starts with the *prefix* string, return
@@ -10600,7 +10656,18 @@ str.rfind(sub[, start[, end]])
str.rindex(sub[, start[, end]])
Like "rfind()" but raises "ValueError" when the substring *sub* is
- not found.
+ not found. For example:
+
+ >>> 'spam, spam, spam'.rindex('spam')
+ 12
+ >>> 'spam, spam, spam'.rindex('eggs')
+ Traceback (most recent call last):
+ File "<stdin-0>", line 1, in <module>
+ 'spam, spam, spam'.rindex('eggs')
+ ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^
+ ValueError: substring not found
+
+ See also "index()" and "find()".
str.rjust(width, fillchar=' ', /)
@@ -10617,6 +10684,17 @@ str.rpartition(sep, /)
found, return a 3-tuple containing two empty strings, followed by
the string itself.
+ For example:
+
+ >>> 'Monty Python'.rpartition(' ')
+ ('Monty', ' ', 'Python')
+ >>> "Monty Python's Flying Circus".rpartition(' ')
+ ("Monty Python's Flying", ' ', 'Circus')
+ >>> 'Monty Python'.rpartition('-')
+ ('', '', 'Monty Python')
+
+ See also "partition()".
+
str.rsplit(sep=None, maxsplit=-1)
Return a list of the words in the string, using *sep* as the
@@ -10632,21 +10710,23 @@ str.rstrip(chars=None, /)
*chars* argument is a string specifying the set of characters to be
removed. If omitted or "None", the *chars* argument defaults to
removing whitespace. The *chars* argument is not a suffix; rather,
- all combinations of its values are stripped:
+ all combinations of its values are stripped. For example:
>>> ' spacious '.rstrip()
' spacious'
>>> 'mississippi'.rstrip('ipz')
'mississ'
- See "str.removesuffix()" for a method that will remove a single
- suffix string rather than all of a set of characters. For example:
+ See "removesuffix()" for a method that will remove a single suffix
+ string rather than all of a set of characters. For example:
>>> 'Monty Python'.rstrip(' Python')
'M'
>>> 'Monty Python'.removesuffix(' Python')
'Monty'
+ See also "strip()".
+
str.split(sep=None, maxsplit=-1)
Return a list of the words in the string, using *sep* as the
@@ -10771,6 +10851,17 @@ str.startswith(prefix[, start[, end]])
With optional *start*, test string beginning at that position.
With optional *end*, stop comparing string at that position.
+ For example:
+
+ >>> 'Python'.startswith('Py')
+ True
+ >>> 'a tuple of prefixes'.startswith(('at', 'a'))
+ True
+ >>> 'Python is amazing'.startswith('is', 7)
+ True
+
+ See also "endswith()" and "removeprefix()".
+
str.strip(chars=None, /)
Return a copy of the string with the leading and trailing
@@ -10778,7 +10869,9 @@ str.strip(chars=None, /)
set of characters to be removed. If omitted or "None", the *chars*
argument defaults to removing whitespace. The *chars* argument is
not a prefix or suffix; rather, all combinations of its values are
- stripped:
+ stripped.
+
+ For example:
>>> ' spacious '.strip()
'spacious'
@@ -10789,12 +10882,16 @@ str.strip(chars=None, /)
stripped from the string. Characters are removed from the leading
end until reaching a string character that is not contained in the
set of characters in *chars*. A similar action takes place on the
- trailing end. For example:
+ trailing end.
+
+ For example:
>>> comment_string = '#....... Section 3.2.1 Issue #32 .......'
>>> comment_string.strip('.#! ')
'Section 3.2.1 Issue #32'
+ See also "rstrip()".
+
str.swapcase()
Return a copy of the string with uppercase characters converted to
@@ -10851,6 +10948,12 @@ str.translate(table, /)
You can use "str.maketrans()" to create a translation map from
character-to-character mappings in different formats.
+ The following example uses a mapping to replace "'a'" with "'X'",
+ "'b'" with "'Y'", and delete "'c'":
+
+ >>> 'abc123'.translate({ord('a'): 'X', ord('b'): 'Y', ord('c'): None})
+ 'XY123'
+
See also the "codecs" module for a more flexible approach to custom
character mappings.
@@ -11445,62 +11548,168 @@ prefix.
<rest of the t-string grammar is omitted; see above>
''',
- 'subscriptions': r'''Subscriptions
-*************
+ 'subscriptions': r'''Subscriptions and slicings
+**************************
+
+The *subscription* syntax is usually used for selecting an element
+from a container – for example, to get a value from a "dict":
+
+ >>> digits_by_name = {'one': 1, 'two': 2}
+ >>> digits_by_name['two'] # Subscripting a dictionary using the key 'two'
+ 2
+
+In the subscription syntax, the object being subscribed – a primary –
+is followed by a *subscript* in square brackets. In the simplest case,
+the subscript is a single expression.
-The subscription of an instance of a container class will generally
-select an element from the container. The subscription of a *generic
-class* will generally return a GenericAlias object.
+Depending on the type of the object being subscribed, the subscript is
+sometimes called a *key* (for mappings), *index* (for sequences), or
+*type argument* (for *generic types*). Syntactically, these are all
+equivalent:
- subscription: primary "[" flexible_expression_list "]"
+ >>> colors = ['red', 'blue', 'green', 'black']
+ >>> colors[3] # Subscripting a list using the index 3
+ 'black'
-When an object is subscripted, the interpreter will evaluate the
-primary and the expression list.
+ >>> list[str] # Parameterizing the list type using the type argument str
+ list[str]
-The primary must evaluate to an object that supports subscription. An
-object may support subscription through defining one or both of
-"__getitem__()" and "__class_getitem__()". When the primary is
-subscripted, the evaluated result of the expression list will be
-passed to one of these methods. For more details on when
-"__class_getitem__" is called instead of "__getitem__", see
+At runtime, the interpreter will evaluate the primary and the
+subscript, and call the primary’s "__getitem__()" or
+"__class_getitem__()" *special method* with the subscript as argument.
+For more details on which of these methods is called, see
__class_getitem__ versus __getitem__.
-If the expression list contains at least one comma, or if any of the
-expressions are starred, the expression list will evaluate to a
-"tuple" containing the items of the expression list. Otherwise, the
-expression list will evaluate to the value of the list’s sole member.
-
-Changed in version 3.11: Expressions in an expression list may be
-starred. See **PEP 646**.
-
-For built-in objects, there are two types of objects that support
-subscription via "__getitem__()":
-
-1. Mappings. If the primary is a *mapping*, the expression list must
- evaluate to an object whose value is one of the keys of the
- mapping, and the subscription selects the value in the mapping that
- corresponds to that key. An example of a builtin mapping class is
- the "dict" class.
-
-2. Sequences. If the primary is a *sequence*, the expression list must
- evaluate to an "int" or a "slice" (as discussed in the following
- section). Examples of builtin sequence classes include the "str",
- "list" and "tuple" classes.
-
-The formal syntax makes no special provision for negative indices in
-*sequences*. However, built-in sequences all provide a "__getitem__()"
-method that interprets negative indices by adding the length of the
-sequence to the index so that, for example, "x[-1]" selects the last
-item of "x". The resulting value must be a nonnegative integer less
-than the number of items in the sequence, and the subscription selects
-the item whose index is that value (counting from zero). Since the
-support for negative indices and slicing occurs in the object’s
-"__getitem__()" method, subclasses overriding this method will need to
-explicitly add that support.
-
-A "string" is a special kind of sequence whose items are *characters*.
-A character is not a separate data type but a string of exactly one
-character.
+To show how subscription works, we can define a custom object that
+implements "__getitem__()" and prints out the value of the subscript:
+
+ >>> class SubscriptionDemo:
+ ... def __getitem__(self, key):
+ ... print(f'subscripted with: {key!r}')
+ ...
+ >>> demo = SubscriptionDemo()
+ >>> demo[1]
+ subscripted with: 1
+ >>> demo['a' * 3]
+ subscripted with: 'aaa'
+
+See "__getitem__()" documentation for how built-in types handle
+subscription.
+
+Subscriptions may also be used as targets in assignment or deletion
+statements. In these cases, the interpreter will call the subscripted
+object’s "__setitem__()" or "__delitem__()" *special method*,
+respectively, instead of "__getitem__()".
+
+ >>> colors = ['red', 'blue', 'green', 'black']
+ >>> colors[3] = 'white' # Setting item at index
+ >>> colors
+ ['red', 'blue', 'green', 'white']
+ >>> del colors[3] # Deleting item at index 3
+ >>> colors
+ ['red', 'blue', 'green']
+
+All advanced forms of *subscript* documented in the following sections
+are also usable for assignment and deletion.
+
+
+Slicings
+========
+
+A more advanced form of subscription, *slicing*, is commonly used to
+extract a portion of a sequence. In this form, the subscript is a
+*slice*: up to three expressions separated by colons. Any of the
+expressions may be omitted, but a slice must contain at least one
+colon:
+
+ >>> number_names = ['zero', 'one', 'two', 'three', 'four', 'five']
+ >>> number_names[1:3]
+ ['one', 'two']
+ >>> number_names[1:]
+ ['one', 'two', 'three', 'four', 'five']
+ >>> number_names[:3]
+ ['zero', 'one', 'two']
+ >>> number_names[:]
+ ['zero', 'one', 'two', 'three', 'four', 'five']
+ >>> number_names[::2]
+ ['zero', 'two', 'four']
+ >>> number_names[:-3]
+ ['zero', 'one', 'two']
+ >>> del number_names[4:]
+ >>> number_names
+ ['zero', 'one', 'two', 'three']
+
+When a slice is evaluated, the interpreter constructs a "slice" object
+whose "start", "stop" and "step" attributes, respectively, are the
+results of the expressions between the colons. Any missing expression
+evaluates to "None". This "slice" object is then passed to the
+"__getitem__()" or "__class_getitem__()" *special method*, as above.
+
+ # continuing with the SubscriptionDemo instance defined above:
+ >>> demo[2:3]
+ subscripted with: slice(2, 3, None)
+ >>> demo[::'spam']
+ subscripted with: slice(None, None, 'spam')
+
+
+Comma-separated subscripts
+==========================
+
+The subscript can also be given as two or more comma-separated
+expressions or slices:
+
+ # continuing with the SubscriptionDemo instance defined above:
+ >>> demo[1, 2, 3]
+ subscripted with: (1, 2, 3)
+ >>> demo[1:2, 3]
+ subscripted with: (slice(1, 2, None), 3)
+
+This form is commonly used with numerical libraries for slicing multi-
+dimensional data. In this case, the interpreter constructs a "tuple"
+of the results of the expressions or slices, and passes this tuple to
+the "__getitem__()" or "__class_getitem__()" *special method*, as
+above.
+
+The subscript may also be given as a single expression or slice
+followed by a comma, to specify a one-element tuple:
+
+ >>> demo['spam',]
+ subscripted with: ('spam',)
+
+
+“Starred” subscriptions
+=======================
+
+Added in version 3.11: Expressions in *tuple_slices* may be starred.
+See **PEP 646**.
+
+The subscript can also contain a starred expression. In this case, the
+interpreter unpacks the result into a tuple, and passes this tuple to
+"__getitem__()" or "__class_getitem__()":
+
+ # continuing with the SubscriptionDemo instance defined above:
+ >>> demo[*range(10)]
+ subscripted with: (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
+
+Starred expressions may be combined with comma-separated expressions
+and slices:
+
+ >>> demo['a', 'b', *range(3), 'c']
+ subscripted with: ('a', 'b', 0, 1, 2, 'c')
+
+
+Formal subscription grammar
+===========================
+
+ subscription: primary '[' subscript ']'
+ subscript: single_subscript | tuple_subscript
+ single_subscript: proper_slice | assignment_expression
+ proper_slice: [expression] ":" [expression] [ ":" [expression] ]
+ tuple_subscript: ','.(single_subscript | starred_expression)+ [',']
+
+Recall that the "|" operator denotes ordered choice. Specifically, in
+"subscript", if both alternatives would match, the first
+("single_subscript") has priority.
''',
'truth': r'''Truth Value Testing
*******************
@@ -11906,10 +12115,19 @@ negative subscripts by adding the sequence length. For example,
"a[-2]" equals "a[n-2]", the second to last item of sequence a with
length "n".
-Sequences also support slicing: "a[i:j]" selects all items with index
-*k* such that *i* "<=" *k* "<" *j*. When used as an expression, a
-slice is a sequence of the same type. The comment above about negative
-indexes also applies to negative slice positions.
+The resulting value must be a nonnegative integer less than the number
+of items in the sequence. If it is not, an "IndexError" is raised.
+
+Sequences also support slicing: "a[start:stop]" selects all items with
+index *k* such that *start* "<=" *k* "<" *stop*. When used as an
+expression, a slice is a sequence of the same type. The comment above
+about negative subscripts also applies to negative slice positions.
+Note that no error is raised if a slice position is less than zero or
+larger than the length of the sequence.
+
+If *start* is missing or "None", slicing behaves as if *start* was
+zero. If *stop* is missing or "None", slicing behaves as if *stop* was
+equal to the length of the sequence.
Some sequences also support “extended slicing” with a third “step”
parameter: "a[i:j:k]" selects all items of *a* with index *x* where "x
@@ -11930,27 +12148,33 @@ cannot change.)
The following types are immutable sequences:
Strings
- A string is a sequence of values that represent Unicode code
- points. All the code points in the range "U+0000 - U+10FFFF" can be
- represented in a string. Python doesn’t have a char type; instead,
- every code point in the string is represented as a string object
- with length "1". The built-in function "ord()" converts a code
- point from its string form to an integer in the range "0 - 10FFFF";
- "chr()" converts an integer in the range "0 - 10FFFF" to the
- corresponding length "1" string object. "str.encode()" can be used
- to convert a "str" to "bytes" using the given text encoding, and
+ A string ("str") is a sequence of values that represent
+ *characters*, or more formally, *Unicode code points*. All the code
+ points in the range "0" to "0x10FFFF" can be represented in a
+ string.
+
+ Python doesn’t have a dedicated *character* type. Instead, every
+ code point in the string is represented as a string object with
+ length "1".
+
+ The built-in function "ord()" converts a code point from its string
+ form to an integer in the range "0" to "0x10FFFF"; "chr()" converts
+ an integer in the range "0" to "0x10FFFF" to the corresponding
+ length "1" string object. "str.encode()" can be used to convert a
+ "str" to "bytes" using the given text encoding, and
"bytes.decode()" can be used to achieve the opposite.
Tuples
- The items of a tuple are arbitrary Python objects. Tuples of two or
- more items are formed by comma-separated lists of expressions. A
- tuple of one item (a ‘singleton’) can be formed by affixing a comma
- to an expression (an expression by itself does not create a tuple,
- since parentheses must be usable for grouping of expressions). An
- empty tuple can be formed by an empty pair of parentheses.
+ The items of a "tuple" are arbitrary Python objects. Tuples of two
+ or more items are formed by comma-separated lists of expressions.
+ A tuple of one item (a ‘singleton’) can be formed by affixing a
+ comma to an expression (an expression by itself does not create a
+ tuple, since parentheses must be usable for grouping of
+ expressions). An empty tuple can be formed by an empty pair of
+ parentheses.
Bytes
- A bytes object is an immutable array. The items are 8-bit bytes,
+ A "bytes" object is an immutable array. The items are 8-bit bytes,
represented by integers in the range 0 <= x < 256. Bytes literals
(like "b'abc'") and the built-in "bytes()" constructor can be used
to create bytes objects. Also, bytes objects can be decoded to
@@ -12079,6 +12303,10 @@ Special read-only attributes
+----------------------------------------------------+----------------------------------------------------+
| Attribute | Meaning |
|====================================================|====================================================|
+| function.__builtins__ | A reference to the "dictionary" that holds the |
+| | function’s builtins namespace. Added in version |
+| | 3.10. |
++----------------------------------------------------+----------------------------------------------------+
| function.__globals__ | A reference to the "dictionary" that holds the |
| | function’s global variables – the global namespace |
| | of the module in which the function was defined. |
diff --git a/Misc/NEWS.d/3.15.0a6.rst b/Misc/NEWS.d/3.15.0a6.rst
new file mode 100644
index 0000000..c3e20e0
--- /dev/null
+++ b/Misc/NEWS.d/3.15.0a6.rst
@@ -0,0 +1,1101 @@
+.. date: 2026-02-10-08-00-17
+.. gh-issue: 144648
+.. nonce: KEuUXp
+.. release date: 2026-02-11
+.. section: macOS
+
+Allowed _remote_debugging to build on more OS versions by using
+proc_listpids() rather than proc_listallpids().
+
+..
+
+.. date: 2026-02-09-23-01-49
+.. gh-issue: 124111
+.. nonce: WmQG7S
+.. section: macOS
+
+Update macOS installer to use Tcl/Tk 9.0.3.
+
+..
+
+.. date: 2026-02-09-22-43-47
+.. gh-issue: 144551
+.. nonce: VOfgfD
+.. section: macOS
+
+Update macOS installer to use OpenSSL 3.5.5.
+
+..
+
+.. date: 2026-01-05-21-36-58
+.. gh-issue: 80620
+.. nonce: p1bD58
+.. section: Windows
+
+Support negative timestamps in :func:`time.gmtime`, :func:`time.localtime`,
+and various :mod:`datetime` functions.
+
+..
+
+.. date: 2026-02-03-07-57-24
+.. gh-issue: 144415
+.. nonce: U3L15r
+.. section: Tests
+
+The Android testbed now distinguishes between stdout/stderr messages which
+were triggered by a newline, and those triggered by a manual call to
+``flush``. This fixes logging of progress indicators and similar content.
+
+..
+
+.. date: 2026-01-08-16-56-59
+.. gh-issue: 65784
+.. nonce: aKNo1U
+.. section: Tests
+
+Add support for parametrized resource ``wantobjects`` in regrtests, which
+allows to run Tkinter tests with the specified value of
+:data:`!tkinter.wantobjects`, for example ``-u wantobjects=0``.
+
+..
+
+.. date: 2026-01-21-12-34-05
+.. gh-issue: 144125
+.. nonce: TAz5uo
+.. section: Security
+
+:mod:`~email.generator.BytesGenerator` will now refuse to serialize (write)
+headers that are unsafely folded or delimited; see
+:attr:`~email.policy.Policy.verify_generated_headers`. (Contributed by Bas
+Bloemsaat and Petr Viktorin in :gh:`121650`).
+
+..
+
+.. date: 2026-01-16-14-40-31
+.. gh-issue: 143935
+.. nonce: U2YtKl
+.. section: Security
+
+Fixed a bug in the folding of comments when flattening an email message
+using a modern email policy. Comments consisting of a very long sequence of
+non-foldable characters could trigger a forced line wrap that omitted the
+required leading space on the continuation line, causing the remainder of
+the comment to be interpreted as a new header field. This enabled header
+injection with carefully crafted inputs.
+
+..
+
+.. date: 2026-01-16-11-51-19
+.. gh-issue: 143925
+.. nonce: mrtcHW
+.. section: Security
+
+Reject control characters in ``data:`` URL media types.
+
+..
+
+.. date: 2026-01-16-11-43-47
+.. gh-issue: 143923
+.. nonce: DuytMe
+.. section: Security
+
+Reject control characters in POP3 commands.
+
+..
+
+.. date: 2026-01-16-11-41-06
+.. gh-issue: 143921
+.. nonce: AeCOor
+.. section: Security
+
+Reject control characters in IMAP commands.
+
+..
+
+.. date: 2026-01-16-11-13-15
+.. gh-issue: 143919
+.. nonce: kchwZV
+.. section: Security
+
+Reject control characters in :class:`http.cookies.Morsel` fields and values.
+
+..
+
+.. date: 2026-01-16-11-07-36
+.. gh-issue: 143916
+.. nonce: dpWeOD
+.. section: Security
+
+Reject C0 control characters within wsgiref.headers.Headers fields, values,
+and parameters.
+
+..
+
+.. date: 2026-02-06-23-58-54
+.. gh-issue: 144538
+.. nonce: 5_OvGv
+.. section: Library
+
+Bump the version of pip bundled in ensurepip to version 26.0.1
+
+..
+
+.. date: 2026-02-05-17-15-31
+.. gh-issue: 144493
+.. nonce: XuxwVu
+.. section: Library
+
+Improve an exception error message in ``_overlapped.BindLocal()`` that is
+raised when :meth:`asyncio.loop.sock_connect` is called on a
+:class:`asyncio.ProactorEventLoop` with a socket that has an invalid address
+family.
+
+..
+
+.. date: 2026-02-03-14-16-49
+.. gh-issue: 144386
+.. nonce: 9Wa59r
+.. section: Library
+
+Add support for arbitrary descriptors :meth:`!__enter__`, :meth:`!__exit__`,
+:meth:`!__aenter__`, and :meth:`!__aexit__` in :class:`contextlib.ExitStack`
+and :class:`contextlib.AsyncExitStack`, for consistency with the
+:keyword:`with` and :keyword:`async with` statements.
+
+..
+
+.. date: 2026-02-03-08-50-58
+.. gh-issue: 123471
+.. nonce: yF1Gym
+.. section: Library
+
+Make concurrent iteration over
+:class:`itertools.combinations_with_replacement` and
+:class:`itertools.permutations` safe under free-threading.
+
+..
+
+.. date: 2026-02-02-12-09-38
+.. gh-issue: 74453
+.. nonce: 19h4Z5
+.. section: Library
+
+Deprecate :func:`os.path.commonprefix` in favor of
+:func:`os.path.commonpath` for path segment prefixes.
+
+The :func:`os.path.commonprefix` function is being deprecated due to having
+a misleading name and module. The function is not safe to use for path
+prefixes despite being included in a module about path manipulation, meaning
+it is easy to accidentally introduce path traversal vulnerabilities into
+Python programs by using this function.
+
+..
+
+.. date: 2026-02-01-15-25-00
+.. gh-issue: 144380
+.. nonce: U7py_s
+.. section: Library
+
+Improve performance of :class:`io.BufferedReader` line iteration by ~49%.
+
+..
+
+.. date: 2026-01-31-17-15-49
+.. gh-issue: 144363
+.. nonce: X9f0sU
+.. section: Library
+
+Update bundled `libexpat <https://libexpat.github.io/>`_ to 2.7.4
+
+..
+
+.. date: 2026-01-30-13-23-06
+.. gh-issue: 140824
+.. nonce: J1OCrC
+.. section: Library
+
+When :mod:`faulthandler` dumps the list of third-party extension modules,
+ignore sub-modules of stdlib packages. Patch by Victor Stinner.
+
+..
+
+.. date: 2026-01-27-14-23-10
+.. gh-issue: 144206
+.. nonce: l0un4U
+.. section: Library
+
+Improve error messages for buffer overflow in :func:`fcntl.fcntl` and
+:func:`fcntl.ioctl`.
+
+..
+
+.. date: 2026-01-27-10-02-04
+.. gh-issue: 144264
+.. nonce: Wmzbol
+.. section: Library
+
+Speed up Base64 decoding of data containing ignored characters (both in
+non-strict mode and with an explicit *ignorechars* argument). It is now up
+to 2 times faster for multiline Base64 data.
+
+..
+
+.. date: 2026-01-27-09-58-52
+.. gh-issue: 144249
+.. nonce: mCIy95
+.. section: Library
+
+Add filename context to :exc:`OSError` exceptions raised by
+:func:`ssl.SSLContext.load_cert_chain`, allowing users to have more context.
+
+..
+
+.. date: 2026-01-27-00-03-41
+.. gh-issue: 132888
+.. nonce: yhTfUN
+.. section: Library
+
+Fix incorrect use of :func:`ctypes.GetLastError` and add missing error
+checks for Windows API calls in :mod:`!_pyrepl.windows_console`.
+
+..
+
+.. date: 2026-01-26-12-30-57
+.. gh-issue: 142956
+.. nonce: X9CS8J
+.. section: Library
+
+Updated :mod:`tomllib` to parse TOML 1.1.0.
+
+..
+
+.. date: 2026-01-25-03-23-20
+.. gh-issue: 144217
+.. nonce: E1wVXH
+.. section: Library
+
+:mod:`mimetypes`: Add support for DICOM files (for medical imaging) with the
+official MIME type ``application/dicom``. Patch by Benedikt Johannes.
+
+..
+
+.. date: 2026-01-24-23-11-17
+.. gh-issue: 144212
+.. nonce: IXqVL8
+.. section: Library
+
+Mime type ``image/jxl`` is now supported by :mod:`mimetypes`.
+
+..
+
+.. date: 2026-01-24-13-49-05
+.. gh-issue: 143594
+.. nonce: nilGlg
+.. section: Library
+
+Add :meth:`symtable.Function.get_cells` and :meth:`symtable.Symbol.is_cell`
+methods.
+
+..
+
+.. date: 2026-01-23-06-43-21
+.. gh-issue: 144169
+.. nonce: LFy9yi
+.. section: Library
+
+Fix three crashes when non-string keyword arguments are supplied to objects
+in the :mod:`ast` module.
+
+..
+
+.. date: 2026-01-22-10-18-17
+.. gh-issue: 144128
+.. nonce: akwY06
+.. section: Library
+
+Fix a crash in :meth:`array.array.fromlist` when an element's
+:meth:`~object.__index__` method mutates the input list during conversion.
+
+..
+
+.. date: 2026-01-21-19-39-07
+.. gh-issue: 144100
+.. nonce: hLMZ8Y
+.. section: Library
+
+Fixed a crash in ctypes when using a deprecated ``POINTER(str)`` type in
+``argtypes``. Instead of aborting, ctypes now raises a proper Python
+exception when the pointer target type is unresolved.
+
+..
+
+.. date: 2026-01-20-20-54-46
+.. gh-issue: 143658
+.. nonce: v8i1jE
+.. section: Library
+
+:mod:`importlib.metadata`: Use :meth:`str.lower` and :meth:`str.replace` to
+further improve performance of
+:meth:`!importlib.metadata.Prepared.normalize`. Patch by Hugo van Kemenade
+and Henry Schreiner.
+
+..
+
+.. date: 2026-01-20-16-35-55
+.. gh-issue: 144050
+.. nonce: 0kKFbF
+.. section: Library
+
+Fix :func:`stat.filemode` in the pure-Python implementation to avoid
+misclassifying invalid mode values as block devices.
+
+..
+
+.. date: 2026-01-19-16-45-16
+.. gh-issue: 83069
+.. nonce: 0TaeH9
+.. section: Library
+
+:meth:`subprocess.Popen.wait`: when ``timeout`` is not ``None``, an
+efficient event-driven mechanism now waits for process termination, if
+available. Linux >= 5.3 uses :func:`os.pidfd_open` + :func:`select.poll`.
+macOS and other BSD variants use :func:`select.kqueue` + ``KQ_FILTER_PROC``
++ ``KQ_NOTE_EXIT``. Windows keeps using ``WaitForSingleObject`` (unchanged).
+If none of these mechanisms are available, the function falls back to the
+traditional busy loop (non-blocking call and short sleeps). Patch by
+Giampaolo Rodola.
+
+..
+
+.. date: 2026-01-19-12-48-59
+.. gh-issue: 144030
+.. nonce: 7OK_gB
+.. section: Library
+
+The Python implementation of :func:`functools.lru_cache` differed from the
+default C implementation in that it did not check that its argument is
+callable. This discrepancy is now fixed and both raise a :exc:`TypeError`.
+
+..
+
+.. date: 2026-01-19-10-26-59
+.. gh-issue: 144001
+.. nonce: dGj8Nk
+.. section: Library
+
+Added the *ignorechars* parameter in :func:`binascii.a2b_base64` and
+:func:`base64.b64decode`.
+
+..
+
+.. date: 2026-01-19-00-57-40
+.. gh-issue: 144023
+.. nonce: 29XUcp
+.. section: Library
+
+Fixed validation of file descriptor 0 in posix functions when used with
+follow_symlinks parameter.
+
+..
+
+.. date: 2026-01-18-14-35-37
+.. gh-issue: 143999
+.. nonce: MneN4O
+.. section: Library
+
+Fix an issue where :func:`inspect.getgeneratorstate` and
+:func:`inspect.getcoroutinestate` could fail for generators wrapped by
+:func:`types.coroutine` in the suspended state.
+
+..
+
+.. date: 2026-01-17-07-48-27
+.. gh-issue: 143952
+.. nonce: lqJ55y
+.. section: Library
+
+Fixed :mod:`asyncio` debugging tools to work with new remote debugging API.
+Patch by Bartosz Sławecki.
+
+..
+
+.. date: 2026-01-16-14-02-39
+.. gh-issue: 143904
+.. nonce: rErHHA
+.. section: Library
+
+:func:`struct.pack_into` now raises OverflowError instead of IndexError for
+too large *offset* argument.
+
+..
+
+.. date: 2026-01-16-10-53-17
+.. gh-issue: 143897
+.. nonce: hWJBHN
+.. section: Library
+
+Remove the :meth:`!isxidstart` and :meth:`!isxidcontinue` methods of
+:data:`unicodedata.ucd_3_2_0`. They are now only exposed as
+:func:`unicodedata.isxidstart` and :func:`unicodedata.isxidcontinue`.
+
+..
+
+.. date: 2026-01-16-06-22-10
+.. gh-issue: 143831
+.. nonce: VLBTLp
+.. section: Library
+
+:class:`annotationlib.ForwardRef` objects are now hashable when created from
+annotation scopes with closures. Previously, hashing such objects would
+throw an exception. Patch by Bartosz Sławecki.
+
+..
+
+.. date: 2026-01-15-16-04-39
+.. gh-issue: 143874
+.. nonce: 1qQgvo
+.. section: Library
+
+Fixed a bug in :mod:`pdb` where expression results were not sent back to
+remote client.
+
+..
+
+.. date: 2026-01-14-20-35-40
+.. gh-issue: 143754
+.. nonce: m2NQXA
+.. section: Library
+
+Add new :mod:`tkinter` widget methods :meth:`!pack_content`,
+:meth:`!place_content` and :meth:`!grid_content` which are alternative
+spelling of old :meth:`!*_slaves` methods.
+
+..
+
+.. date: 2026-01-13-16-19-50
+.. gh-issue: 143756
+.. nonce: LQOra1
+.. section: Library
+
+Fix potential thread safety issues in :mod:`ssl` module.
+
+..
+
+.. date: 2026-01-13-15-56-03
+.. gh-issue: 132604
+.. nonce: lvjNTr
+.. section: Library
+
+Previously, :class:`~typing.Protocol` classes that were not decorated with
+:deco:`~typing.runtime_checkable`, but that inherited from another
+``Protocol`` class that did have this decorator, could be used in
+:func:`isinstance` and :func:`issubclass` checks. This behavior is now
+deprecated and such checks will throw a :exc:`TypeError` in Python 3.20.
+Patch by Bartosz Sławecki.
+
+..
+
+.. date: 2026-01-13-10-38-43
+.. gh-issue: 143543
+.. nonce: DeQRCO
+.. section: Library
+
+Fix a crash in itertools.groupby that could occur when a user-defined
+:meth:`~object.__eq__` method re-enters the iterator during key comparison.
+
+..
+
+.. date: 2026-01-11-14-14-19
+.. gh-issue: 143689
+.. nonce: fzHJ2W
+.. section: Library
+
+Fix :meth:`io.BufferedReader.read1` state cleanup on buffer allocation
+failure.
+
+..
+
+.. date: 2026-01-09-12-37-19
+.. gh-issue: 143602
+.. nonce: V8vQpj
+.. section: Library
+
+Fix a inconsistency issue in :meth:`~io.RawIOBase.write` that leads to
+unexpected buffer overwrite by deduplicating the buffer exports.
+
+..
+
+.. date: 2026-01-07-19-01-59
+.. gh-issue: 142434
+.. nonce: SHRS5p
+.. section: Library
+
+Use ``ppoll()`` if available in :func:`select.poll` to have a timeout
+resolution of 1 nanosecond, instead of a resolution of 1 ms. Patch by Victor
+Stinner.
+
+..
+
+.. date: 2026-01-07-11-57-59
+.. gh-issue: 140557
+.. nonce: 3P6-nW
+.. section: Library
+
+:class:`array.array` buffers now have the same alignment when empty as when
+allocated. Unaligned buffers can still be created by slicing.
+
+..
+
+.. date: 2026-01-05-05-31-05
+.. gh-issue: 143423
+.. nonce: X7YdnR
+.. section: Library
+
+Fix free-threaded build detection in the sampling profiler when
+Py_GIL_DISABLED is set to 0.
+
+..
+
+.. date: 2025-12-28-15-55-53
+.. gh-issue: 101178
+.. nonce: 26jYPs
+.. section: Library
+
+Add Ascii85, Base85, and Z85 support to :mod:`binascii` and improve the
+performance of the base-85 converters in :mod:`base64`.
+
+..
+
+.. date: 2025-12-19-11-30-31
+.. gh-issue: 142966
+.. nonce: PzGiv2
+.. section: Library
+
+Fix :func:`!ctypes.POINTER.set_type` not updating the format string to match
+the type.
+
+..
+
+.. date: 2025-12-15-02-02-45
+.. gh-issue: 142555
+.. nonce: EC9QN_
+.. section: Library
+
+:mod:`array`: fix a crash in ``a[i] = v`` when converting *i* to an index
+via :meth:`i.__index__ <object.__index__>` or :meth:`i.__float__
+<object.__float__>` mutates the array.
+
+..
+
+.. date: 2025-12-08-18-40-17
+.. gh-issue: 142438
+.. nonce: tH-Y16
+.. section: Library
+
+Fix _decimal builds configured with EXTRA_FUNCTIONALITY by correcting the
+Context.apply wrapper to pass the right argument.
+
+..
+
+.. date: 2025-11-22-20-30-00
+.. gh-issue: 141860
+.. nonce: frksvr
+.. section: Library
+
+Add an ``on_error`` keyword-only parameter to
+:func:`multiprocessing.set_forkserver_preload` to control how import
+failures during module preloading are handled. Accepts ``'ignore'``
+(default, silent), ``'warn'`` (emit :exc:`ImportWarning`), or ``'fail'``
+(raise exception). Contributed by Nick Neumann and Gregory P. Smith.
+
+..
+
+.. date: 2025-11-06-12-03-29
+.. gh-issue: 125346
+.. nonce: 7Gfpgw
+.. section: Library
+
+Accepting ``+`` and ``/`` characters with an alternative alphabet in
+:func:`base64.b64decode` and :func:`base64.urlsafe_b64decode` is now
+deprecated. In future Python versions they will be errors in the strict mode
+and discarded in the non-strict mode.
+
+..
+
+.. date: 2025-10-27-00-13-04
+.. gh-issue: 140715
+.. nonce: WkozE0
+.. section: Library
+
+Add ``'%F'`` support to :meth:`~datetime.datetime.strptime`.
+
+..
+
+.. date: 2024-11-27-13-11-16
+.. gh-issue: 67041
+.. nonce: ym2WKK
+.. section: Library
+
+Add the *missing_as_none* parameter to :func:`~urllib.parse.urlparse`,
+:func:`~urllib.parse.urlsplit` and :func:`~urllib.parse.urldefrag`
+functions. Add the *keep_empty* parameter to
+:func:`~urllib.parse.urlunparse` and :func:`~urllib.parse.urlunsplit`
+functions. This allows to distinguish between empty and not defined URI
+components and preserve empty components.
+
+..
+
+.. date: 2020-07-14-23-54-18
+.. gh-issue: 77188
+.. nonce: TyI3_Q
+.. section: Library
+
+The :mod:`pickle` module now properly handles name-mangled private methods.
+
+..
+
+.. date: 2026-01-13-01-21-20
+.. gh-issue: 143774
+.. nonce: rqGwX1
+.. section: IDLE
+
+Better explain the operation of Format / Format Paragraph.
+
+..
+
+.. date: 2026-02-10-12-08-58
+.. gh-issue: 134584
+.. nonce: P9LDy5
+.. section: Core and Builtins
+
+Optimize and eliminate ref-counting in ``_BINARY_OP_SUBSCR_LIST_SLICE``
+
+..
+
+.. date: 2026-02-08-18-13-38
+.. gh-issue: 144563
+.. nonce: hb3kpp
+.. section: Core and Builtins
+
+Fix interaction of the Tachyon profiler and :mod:`ctypes` and other modules
+that load the Python shared library (if present) in an independent map as
+this was causing the mechanism that loads the binary information to be
+confused. Patch by Pablo Galindo
+
+..
+
+.. date: 2026-02-08-12-47-27
+.. gh-issue: 144601
+.. nonce: E4Yi9J
+.. section: Core and Builtins
+
+Fix crash when importing a module whose ``PyInit`` function raises an
+exception from a subinterpreter.
+
+..
+
+.. date: 2026-02-06-17-59-47
+.. gh-issue: 144549
+.. nonce: 5BhPlY
+.. section: Core and Builtins
+
+Fix building the tail calling interpreter on Visual Studio 2026 with
+free-threading.
+
+..
+
+.. date: 2026-02-05-13-30-00
+.. gh-issue: 144513
+.. nonce: IjSTd7
+.. section: Core and Builtins
+
+Fix potential deadlock when using critical sections during stop-the-world
+pauses in the free-threaded build.
+
+..
+
+.. date: 2026-02-04-12-19-48
+.. gh-issue: 131798
+.. nonce: My5jLy
+.. section: Core and Builtins
+
+Optimise ``_GUARD_TOS_SLICE`` in the JIT.
+
+..
+
+.. date: 2026-02-04-11-19-45
+.. gh-issue: 144330
+.. nonce: kOowSb
+.. section: Core and Builtins
+
+Move ``classmethod`` and ``staticmethod`` initialization from ``__init__()``
+to ``__new__()``. Patch by Victor Stinner.
+
+..
+
+.. date: 2026-02-03-17-08-13
+.. gh-issue: 144446
+.. nonce: db5619
+.. section: Core and Builtins
+
+Fix data races in the free-threaded build when reading frame object
+attributes while another thread is executing the frame.
+
+..
+
+.. date: 2026-02-02-17-50-14
+.. gh-issue: 120321
+.. nonce: Xfr7tL
+.. section: Core and Builtins
+
+Add ``gi_state``, ``cr_state``, and ``ag_state`` attributes to generators,
+coroutines, and async generators that return the current state as a string
+(e.g., ``GEN_RUNNING``). The :mod:`inspect` module functions
+:func:`~inspect.getgeneratorstate`, :func:`~inspect.getcoroutinestate`, and
+:func:`~inspect.getasyncgenstate` now return these attributes directly.
+
+..
+
+.. date: 2026-02-02-17-07-34
+.. gh-issue: 141563
+.. nonce: GheXjr
+.. section: Core and Builtins
+
+Fix thread safety of :c:macro:`! PyDateTime_IMPORT`.
+
+..
+
+.. date: 2026-01-30-15-54-50
+.. gh-issue: 144280
+.. nonce: kgiP5R
+.. section: Core and Builtins
+
+Fix a bug in JIT where the predicate symbol had no truthiness
+
+..
+
+.. date: 2026-01-30-10-38-07
+.. gh-issue: 140550
+.. nonce: Us9vPD
+.. section: Core and Builtins
+
+In :c:member:`PyModuleDef.m_slots`, allow slots that repeat information
+present in :c:type:`PyModuleDef`.
+
+..
+
+.. date: 2026-01-29-16-57-11
+.. gh-issue: 139103
+.. nonce: icXIEQ
+.. section: Core and Builtins
+
+Improve scaling of :func:`~collections.namedtuple` instantiation in the
+free-threaded build.
+
+..
+
+.. date: 2026-01-29-02-18-08
+.. gh-issue: 144307
+.. nonce: CLbm_o
+.. section: Core and Builtins
+
+Prevent a reference leak in module teardown at interpreter finalization.
+
+..
+
+.. date: 2026-01-29-01-42-14
+.. gh-issue: 144319
+.. nonce: _7EtdB
+.. section: Core and Builtins
+
+Add huge pages support for the pymalloc allocator. Patch by Pablo Galindo
+
+..
+
+.. date: 2026-01-27-17-49-43
+.. gh-issue: 120321
+.. nonce: Vo7c9T
+.. section: Core and Builtins
+
+Made ``gi_yieldfrom`` thread-safe in the free-threading build by using a
+lightweight lock on the frame state.
+
+..
+
+.. date: 2026-01-23-20-20-42
+.. gh-issue: 144194
+.. nonce: IbXfxd
+.. section: Core and Builtins
+
+Fix error handling in perf jitdump initialization on memory allocation
+failure.
+
+..
+
+.. date: 2026-01-22-17-04-30
+.. gh-issue: 143962
+.. nonce: dQR1a9
+.. section: Core and Builtins
+
+Name suggestion for not normalized name suggests now the normalized name or
+the closest name to the normalized name. If the suggested name is not ASCII,
+include also its ASCII representation.
+
+..
+
+.. date: 2026-01-22-16-20-16
+.. gh-issue: 144157
+.. nonce: dxyp7k
+.. section: Core and Builtins
+
+:meth:`bytes.translate` now allows the compiler to unroll its loop more
+usefully for a 2x speedup in the common no-deletions specified case.
+
+..
+
+.. date: 2026-01-21-02-30-06
+.. gh-issue: 144068
+.. nonce: 9TTu7v
+.. section: Core and Builtins
+
+Fix JIT tracer memory leak, ensure the JIT tracer state is freed when daemon
+threads are cleaned up during interpreter shutdown.
+
+..
+
+.. date: 2026-01-19-02-33-45
+.. gh-issue: 144012
+.. nonce: wVEEWs
+.. section: Core and Builtins
+
+Check if the result is ``NULL`` in ``BINARY_OP_EXTENT`` opcode.
+
+..
+
+.. date: 2026-01-19-01-56-44
+.. gh-issue: 144007
+.. nonce: 1xjdBf
+.. section: Core and Builtins
+
+Eliminate redundant refcounting in the JIT for ``BINARY_OP``.
+
+..
+
+.. date: 2026-01-19-01-26-12
+.. gh-issue: 144005
+.. nonce: Z3O33m
+.. section: Core and Builtins
+
+Eliminate redundant refcounting from ``BINARY_OP_EXTEND``.
+
+..
+
+.. date: 2026-01-16-23-19-38
+.. gh-issue: 143939
+.. nonce: w9TWch
+.. section: Core and Builtins
+
+Fix erroneous "cannot reuse already awaited coroutine" error that could
+occur when a generator was run during the process of clearing a coroutine's
+frame.
+
+..
+
+.. date: 2026-01-13-22-26-49
+.. gh-issue: 141805
+.. nonce: QzIKPS
+.. section: Core and Builtins
+
+Fix crash in :class:`set` when objects with the same hash are concurrently
+added to the set after removing an element with the same hash while the set
+still contains elements with the same hash.
+
+..
+
+.. date: 2026-01-11-20-11-36
+.. gh-issue: 143670
+.. nonce: klnGoD
+.. section: Core and Builtins
+
+Fixes a crash in ``ga_repr_items_list`` function.
+
+..
+
+.. date: 2026-01-10-10-58-36
+.. gh-issue: 143650
+.. nonce: k8mR4x
+.. section: Core and Builtins
+
+Fix race condition in :mod:`importlib` where a thread could receive a stale
+module reference when another thread's import fails.
+
+..
+
+.. date: 2026-01-08-14-55-31
+.. gh-issue: 143569
+.. nonce: -Ltu3c
+.. section: Core and Builtins
+
+Generator expressions in 3.15 now conform to the documented behavior when
+the iterable does not support iteration. This matches the behavior in 3.14
+and earlier
+
+..
+
+.. date: 2025-12-29-19-31-46
+.. gh-issue: 143192
+.. nonce: JxGAyl
+.. section: Core and Builtins
+
+Improve performance of bitwise operations on multi-digit ints.
+
+..
+
+.. date: 2025-12-24-13-19-16
+.. gh-issue: 132657
+.. nonce: _P4DDb
+.. section: Core and Builtins
+
+If we are specializing to ``LOAD_GLOBAL_MODULE`` or ``LOAD_ATTR_MODULE``,
+try to enable deferred reference counting for the value, if the object is
+owned by a different thread. This applies to the free-threaded build only
+and should improve scaling of multi-threaded programs. Note that when
+deferred reference counting is enabled, the object will be deallocated by
+the GC, rather than by :c:func:`Py_DECREF`.
+
+..
+
+.. date: 2025-12-21-18-12-30
+.. gh-issue: 143055
+.. nonce: PzwccL
+.. section: Core and Builtins
+
+Implement :pep:`798` (Unpacking in Comprehensions). Patch by Adam Hartz.
+
+..
+
+.. date: 2025-11-29-10-06-06
+.. gh-issue: 142037
+.. nonce: OpIGzK
+.. section: Core and Builtins
+
+Improve error messages for printf-style formatting. For errors in the format
+string, always include the position of the start of the format unit. For
+errors related to the formatted arguments, always include the number or the
+name of the argument. Raise more specific errors and include more
+information (type and number of arguments, most probable causes of error).
+
+..
+
+.. date: 2025-10-24-17-30-51
+.. gh-issue: 140557
+.. nonce: X2GETk
+.. section: Core and Builtins
+
+:class:`bytearray` buffers now have the same alignment when empty as when
+allocated. Unaligned buffers can still be created by slicing.
+
+..
+
+.. date: 2025-10-16-22-36-05
+.. gh-issue: 140232
+.. nonce: u3srgv
+.. section: Core and Builtins
+
+Frozenset objects with immutable elements are no longer tracked by the
+garbage collector.
+
+..
+
+.. date: 2024-02-10-05-42-26
+.. gh-issue: 115231
+.. nonce: 6T7dzi
+.. section: Core and Builtins
+
+Setup ``__module__`` attribute for built-in static methods. Patch by Sergey
+B Kirpichev.
+
+..
+
+.. date: 2026-01-16-15-04-26
+.. gh-issue: 143869
+.. nonce: vf94km
+.. section: C API
+
+Added :c:func:`PyLong_GetNativeLayout`, :c:struct:`PyLongLayout`,
+:c:struct:`PyLongExport`, :c:func:`PyLong_Export`,
+:c:func:`PyLong_FreeExport`, :c:struct:`PyLongWriter`,
+:c:func:`PyLongWriter_Create`, :c:func:`PyLongWriter_Finish` and
+:c:func:`PyLongWriter_Discard` to the limited API.
+
+..
+
+.. date: 2025-12-16-18-39-30
+.. gh-issue: 141070
+.. nonce: 4EKDZ1
+.. section: C API
+
+Renamed :c:func:`!PyUnstable_Object_Dump` to :c:func:`PyObject_Dump`.
+
+..
+
+.. date: 2026-02-10-06-31-29
+.. gh-issue: 140421
+.. nonce: vxosUx
+.. section: Build
+
+Disable the perf trampoline on older macOS versions where it cannot be
+built.
+
+..
+
+.. date: 2026-01-28-19-04-12
+.. gh-issue: 144309
+.. nonce: 3sMFOh
+.. section: Build
+
+Build Python with POSIX 2024, instead of POSIX 2008. Patch by Victor
+Stinner.
+
+..
+
+.. date: 2026-01-27-23-39-26
+.. gh-issue: 144278
+.. nonce: tejFwL
+.. section: Build
+
+Enables defining the ``_PY_IMPL_NAME`` and ``_PY_IMPL_CACHE_TAG``
+preprocessor definitions to override :data:`sys.implementation` at build
+time. Definitions need to include quotes when setting to a string literal.
+Setting the cache tag to ``NULL`` has the effect of completely disabling
+automatic creation and use of ``.pyc`` files.
+
+..
+
+.. date: 2026-01-17-15-31-19
+.. gh-issue: 143960
+.. nonce: Zi0EqR
+.. section: Build
+
+Add support for OpenSSL 3.6, drop EOL 3.2. Patch by Hugo van Kemenade.
+
+..
+
+.. date: 2026-01-16-14-27-53
+.. gh-issue: 143941
+.. nonce: TiaE-3
+.. section: Build
+
+Move WASI-related files to :file:`Platforms/WASI`. Along the way, leave a
+deprecated :file:`Tools/wasm/wasi/__main__.py` behind for
+backwards-compatibility.
+
+..
+
+.. date: 2026-01-15-03-36-16
+.. gh-issue: 143842
+.. nonce: EZLutl
+.. section: Build
+
+Prevent static builds from clashing with curses by making the optimizer
+COLORS table static.
diff --git a/Misc/NEWS.d/next/Build/2026-01-15-03-36-16.gh-issue-143842.EZLutl.rst b/Misc/NEWS.d/next/Build/2026-01-15-03-36-16.gh-issue-143842.EZLutl.rst
deleted file mode 100644
index 4d5b114..0000000
--- a/Misc/NEWS.d/next/Build/2026-01-15-03-36-16.gh-issue-143842.EZLutl.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Prevent static builds from clashing with curses by making the optimizer
-COLORS table static.
diff --git a/Misc/NEWS.d/next/Build/2026-01-16-14-27-53.gh-issue-143941.TiaE-3.rst b/Misc/NEWS.d/next/Build/2026-01-16-14-27-53.gh-issue-143941.TiaE-3.rst
deleted file mode 100644
index 6883936..0000000
--- a/Misc/NEWS.d/next/Build/2026-01-16-14-27-53.gh-issue-143941.TiaE-3.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-Move WASI-related files to :file:`Platforms/WASI`. Along the way, leave a
-deprecated :file:`Tools/wasm/wasi/__main__.py` behind for
-backwards-compatibility.
diff --git a/Misc/NEWS.d/next/Build/2026-01-17-15-31-19.gh-issue-143960.Zi0EqR.rst b/Misc/NEWS.d/next/Build/2026-01-17-15-31-19.gh-issue-143960.Zi0EqR.rst
deleted file mode 100644
index 2b8e01f..0000000
--- a/Misc/NEWS.d/next/Build/2026-01-17-15-31-19.gh-issue-143960.Zi0EqR.rst
+++ /dev/null
@@ -1 +0,0 @@
-Add support for OpenSSL 3.6, drop EOL 3.2. Patch by Hugo van Kemenade.
diff --git a/Misc/NEWS.d/next/Build/2026-01-27-23-39-26.gh-issue-144278.tejFwL.rst b/Misc/NEWS.d/next/Build/2026-01-27-23-39-26.gh-issue-144278.tejFwL.rst
deleted file mode 100644
index 49dbdd6..0000000
--- a/Misc/NEWS.d/next/Build/2026-01-27-23-39-26.gh-issue-144278.tejFwL.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-Enables defining the ``_PY_IMPL_NAME`` and ``_PY_IMPL_CACHE_TAG`` preprocessor
-definitions to override :data:`sys.implementation` at build time. Definitions
-need to include quotes when setting to a string literal. Setting the cache tag
-to ``NULL`` has the effect of completely disabling automatic creation and use of
-``.pyc`` files.
diff --git a/Misc/NEWS.d/next/Build/2026-01-28-19-04-12.gh-issue-144309.3sMFOh.rst b/Misc/NEWS.d/next/Build/2026-01-28-19-04-12.gh-issue-144309.3sMFOh.rst
deleted file mode 100644
index c64ef49..0000000
--- a/Misc/NEWS.d/next/Build/2026-01-28-19-04-12.gh-issue-144309.3sMFOh.rst
+++ /dev/null
@@ -1 +0,0 @@
-Build Python with POSIX 2024, instead of POSIX 2008. Patch by Victor Stinner.
diff --git a/Misc/NEWS.d/next/Build/2026-02-10-06-31-29.gh-issue-140421.vxosUx.rst b/Misc/NEWS.d/next/Build/2026-02-10-06-31-29.gh-issue-140421.vxosUx.rst
deleted file mode 100644
index cab48f1..0000000
--- a/Misc/NEWS.d/next/Build/2026-02-10-06-31-29.gh-issue-140421.vxosUx.rst
+++ /dev/null
@@ -1 +0,0 @@
-Disable the perf trampoline on older macOS versions where it cannot be built.
diff --git a/Misc/NEWS.d/next/C_API/2025-12-16-18-39-30.gh-issue-141070.4EKDZ1.rst b/Misc/NEWS.d/next/C_API/2025-12-16-18-39-30.gh-issue-141070.4EKDZ1.rst
deleted file mode 100644
index 09ccd12..0000000
--- a/Misc/NEWS.d/next/C_API/2025-12-16-18-39-30.gh-issue-141070.4EKDZ1.rst
+++ /dev/null
@@ -1 +0,0 @@
-Renamed :c:func:`!PyUnstable_Object_Dump` to :c:func:`PyObject_Dump`.
diff --git a/Misc/NEWS.d/next/C_API/2026-01-16-15-04-26.gh-issue-143869.vf94km.rst b/Misc/NEWS.d/next/C_API/2026-01-16-15-04-26.gh-issue-143869.vf94km.rst
deleted file mode 100644
index 60b0c1e..0000000
--- a/Misc/NEWS.d/next/C_API/2026-01-16-15-04-26.gh-issue-143869.vf94km.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-Added :c:func:`PyLong_GetNativeLayout`, :c:struct:`PyLongLayout`,
-:c:struct:`PyLongExport`, :c:func:`PyLong_Export`,
-:c:func:`PyLong_FreeExport`, :c:struct:`PyLongWriter`,
-:c:func:`PyLongWriter_Create`, :c:func:`PyLongWriter_Finish` and
-:c:func:`PyLongWriter_Discard` to the limited API.
diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2024-02-10-05-42-26.gh-issue-115231.6T7dzi.rst b/Misc/NEWS.d/next/Core_and_Builtins/2024-02-10-05-42-26.gh-issue-115231.6T7dzi.rst
deleted file mode 100644
index 0e41bc9..0000000
--- a/Misc/NEWS.d/next/Core_and_Builtins/2024-02-10-05-42-26.gh-issue-115231.6T7dzi.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Setup ``__module__`` attribute for built-in static methods. Patch by Sergey
-B Kirpichev.
diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2025-10-16-22-36-05.gh-issue-140232.u3srgv.rst b/Misc/NEWS.d/next/Core_and_Builtins/2025-10-16-22-36-05.gh-issue-140232.u3srgv.rst
deleted file mode 100644
index e40daac..0000000
--- a/Misc/NEWS.d/next/Core_and_Builtins/2025-10-16-22-36-05.gh-issue-140232.u3srgv.rst
+++ /dev/null
@@ -1 +0,0 @@
-Frozenset objects with immutable elements are no longer tracked by the garbage collector.
diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2025-10-24-17-30-51.gh-issue-140557.X2GETk.rst b/Misc/NEWS.d/next/Core_and_Builtins/2025-10-24-17-30-51.gh-issue-140557.X2GETk.rst
deleted file mode 100644
index d584279..0000000
--- a/Misc/NEWS.d/next/Core_and_Builtins/2025-10-24-17-30-51.gh-issue-140557.X2GETk.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-:class:`bytearray` buffers now have the same alignment
-when empty as when allocated. Unaligned buffers can still be created by slicing.
diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2025-11-29-10-06-06.gh-issue-142037.OpIGzK.rst b/Misc/NEWS.d/next/Core_and_Builtins/2025-11-29-10-06-06.gh-issue-142037.OpIGzK.rst
deleted file mode 100644
index 6a59be7..0000000
--- a/Misc/NEWS.d/next/Core_and_Builtins/2025-11-29-10-06-06.gh-issue-142037.OpIGzK.rst
+++ /dev/null
@@ -1,7 +0,0 @@
-Improve error messages for printf-style formatting.
-For errors in the format string, always include the position of the
-start of the format unit.
-For errors related to the formatted arguments, always include the number
-or the name of the argument.
-Raise more specific errors and include more information (type and number
-of arguments, most probable causes of error).
diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2025-12-21-18-12-30.gh-issue-143055.PzwccL.rst b/Misc/NEWS.d/next/Core_and_Builtins/2025-12-21-18-12-30.gh-issue-143055.PzwccL.rst
deleted file mode 100644
index d3ed406..0000000
--- a/Misc/NEWS.d/next/Core_and_Builtins/2025-12-21-18-12-30.gh-issue-143055.PzwccL.rst
+++ /dev/null
@@ -1 +0,0 @@
-Implement :pep:`798` (Unpacking in Comprehensions). Patch by Adam Hartz.
diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2025-12-24-13-19-16.gh-issue-132657._P4DDb.rst b/Misc/NEWS.d/next/Core_and_Builtins/2025-12-24-13-19-16.gh-issue-132657._P4DDb.rst
deleted file mode 100644
index bbc9611..0000000
--- a/Misc/NEWS.d/next/Core_and_Builtins/2025-12-24-13-19-16.gh-issue-132657._P4DDb.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-If we are specializing to ``LOAD_GLOBAL_MODULE`` or ``LOAD_ATTR_MODULE``, try
-to enable deferred reference counting for the value, if the object is owned by
-a different thread. This applies to the free-threaded build only and should
-improve scaling of multi-threaded programs. Note that when deferred reference
-counting is enabled, the object will be deallocated by the GC, rather than by
-:c:func:`Py_DECREF`.
diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2025-12-29-19-31-46.gh-issue-143192.JxGAyl.rst b/Misc/NEWS.d/next/Core_and_Builtins/2025-12-29-19-31-46.gh-issue-143192.JxGAyl.rst
deleted file mode 100644
index 3a99b3d..0000000
--- a/Misc/NEWS.d/next/Core_and_Builtins/2025-12-29-19-31-46.gh-issue-143192.JxGAyl.rst
+++ /dev/null
@@ -1 +0,0 @@
-Improve performance of bitwise operations on multi-digit ints.
diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-01-08-14-55-31.gh-issue-143569.-Ltu3c.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-01-08-14-55-31.gh-issue-143569.-Ltu3c.rst
deleted file mode 100644
index c625c3b..0000000
--- a/Misc/NEWS.d/next/Core_and_Builtins/2026-01-08-14-55-31.gh-issue-143569.-Ltu3c.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-Generator expressions in 3.15 now conform to the documented behavior when
-the iterable does not support iteration. This matches the behavior in 3.14
-and earlier
diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-01-10-10-58-36.gh-issue-143650.k8mR4x.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-01-10-10-58-36.gh-issue-143650.k8mR4x.rst
deleted file mode 100644
index 7bee70a..0000000
--- a/Misc/NEWS.d/next/Core_and_Builtins/2026-01-10-10-58-36.gh-issue-143650.k8mR4x.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Fix race condition in :mod:`importlib` where a thread could receive a stale
-module reference when another thread's import fails.
diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-01-11-20-11-36.gh-issue-143670.klnGoD.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-01-11-20-11-36.gh-issue-143670.klnGoD.rst
deleted file mode 100644
index 4ce0e71..0000000
--- a/Misc/NEWS.d/next/Core_and_Builtins/2026-01-11-20-11-36.gh-issue-143670.klnGoD.rst
+++ /dev/null
@@ -1 +0,0 @@
-Fixes a crash in ``ga_repr_items_list`` function.
diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-01-13-22-26-49.gh-issue-141805.QzIKPS.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-01-13-22-26-49.gh-issue-141805.QzIKPS.rst
deleted file mode 100644
index 8878d87..0000000
--- a/Misc/NEWS.d/next/Core_and_Builtins/2026-01-13-22-26-49.gh-issue-141805.QzIKPS.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-Fix crash in :class:`set` when objects with the same hash are concurrently
-added to the set after removing an element with the same hash while the set
-still contains elements with the same hash.
diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-01-16-23-19-38.gh-issue-143939.w9TWch.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-01-16-23-19-38.gh-issue-143939.w9TWch.rst
deleted file mode 100644
index 4742366..0000000
--- a/Misc/NEWS.d/next/Core_and_Builtins/2026-01-16-23-19-38.gh-issue-143939.w9TWch.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-Fix erroneous "cannot reuse already awaited coroutine" error that could
-occur when a generator was run during the process of clearing a coroutine's
-frame.
diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-01-19-01-26-12.gh-issue-144005.Z3O33m.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-01-19-01-26-12.gh-issue-144005.Z3O33m.rst
deleted file mode 100644
index b358219..0000000
--- a/Misc/NEWS.d/next/Core_and_Builtins/2026-01-19-01-26-12.gh-issue-144005.Z3O33m.rst
+++ /dev/null
@@ -1 +0,0 @@
-Eliminate redundant refcounting from ``BINARY_OP_EXTEND``.
diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-01-19-01-56-44.gh-issue-144007.1xjdBf.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-01-19-01-56-44.gh-issue-144007.1xjdBf.rst
deleted file mode 100644
index 26db86f..0000000
--- a/Misc/NEWS.d/next/Core_and_Builtins/2026-01-19-01-56-44.gh-issue-144007.1xjdBf.rst
+++ /dev/null
@@ -1 +0,0 @@
-Eliminate redundant refcounting in the JIT for ``BINARY_OP``.
diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-01-19-02-33-45.gh-issue-144012.wVEEWs.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-01-19-02-33-45.gh-issue-144012.wVEEWs.rst
deleted file mode 100644
index 716a6e1..0000000
--- a/Misc/NEWS.d/next/Core_and_Builtins/2026-01-19-02-33-45.gh-issue-144012.wVEEWs.rst
+++ /dev/null
@@ -1 +0,0 @@
-Check if the result is ``NULL`` in ``BINARY_OP_EXTENT`` opcode.
diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-01-21-02-30-06.gh-issue-144068.9TTu7v.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-01-21-02-30-06.gh-issue-144068.9TTu7v.rst
deleted file mode 100644
index b3e5db6..0000000
--- a/Misc/NEWS.d/next/Core_and_Builtins/2026-01-21-02-30-06.gh-issue-144068.9TTu7v.rst
+++ /dev/null
@@ -1 +0,0 @@
-Fix JIT tracer memory leak, ensure the JIT tracer state is freed when daemon threads are cleaned up during interpreter shutdown.
diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-01-22-16-20-16.gh-issue-144157.dxyp7k.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-01-22-16-20-16.gh-issue-144157.dxyp7k.rst
deleted file mode 100644
index ff62d73..0000000
--- a/Misc/NEWS.d/next/Core_and_Builtins/2026-01-22-16-20-16.gh-issue-144157.dxyp7k.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-:meth:`bytes.translate` now allows the compiler to unroll its loop more
-usefully for a 2x speedup in the common no-deletions specified case.
diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-01-22-17-04-30.gh-issue-143962.dQR1a9.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-01-22-17-04-30.gh-issue-143962.dQR1a9.rst
deleted file mode 100644
index 71c2476..0000000
--- a/Misc/NEWS.d/next/Core_and_Builtins/2026-01-22-17-04-30.gh-issue-143962.dQR1a9.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-Name suggestion for not normalized name suggests now the normalized name or
-the closest name to the normalized name. If the suggested name is not ASCII,
-include also its ASCII representation.
diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-01-23-20-20-42.gh-issue-144194.IbXfxd.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-01-23-20-20-42.gh-issue-144194.IbXfxd.rst
deleted file mode 100644
index 1f33284..0000000
--- a/Misc/NEWS.d/next/Core_and_Builtins/2026-01-23-20-20-42.gh-issue-144194.IbXfxd.rst
+++ /dev/null
@@ -1 +0,0 @@
-Fix error handling in perf jitdump initialization on memory allocation failure.
diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-01-27-17-49-43.gh-issue-120321.Vo7c9T.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-01-27-17-49-43.gh-issue-120321.Vo7c9T.rst
deleted file mode 100644
index 052ed07..0000000
--- a/Misc/NEWS.d/next/Core_and_Builtins/2026-01-27-17-49-43.gh-issue-120321.Vo7c9T.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Made ``gi_yieldfrom`` thread-safe in the free-threading build
-by using a lightweight lock on the frame state.
diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-01-29-01-42-14.gh-issue-144319._7EtdB.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-01-29-01-42-14.gh-issue-144319._7EtdB.rst
deleted file mode 100644
index 805ba60..0000000
--- a/Misc/NEWS.d/next/Core_and_Builtins/2026-01-29-01-42-14.gh-issue-144319._7EtdB.rst
+++ /dev/null
@@ -1 +0,0 @@
-Add huge pages support for the pymalloc allocator. Patch by Pablo Galindo
diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-01-29-02-18-08.gh-issue-144307.CLbm_o.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-01-29-02-18-08.gh-issue-144307.CLbm_o.rst
deleted file mode 100644
index d6928e6..0000000
--- a/Misc/NEWS.d/next/Core_and_Builtins/2026-01-29-02-18-08.gh-issue-144307.CLbm_o.rst
+++ /dev/null
@@ -1 +0,0 @@
-Prevent a reference leak in module teardown at interpreter finalization.
diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-01-29-16-57-11.gh-issue-139103.icXIEQ.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-01-29-16-57-11.gh-issue-139103.icXIEQ.rst
deleted file mode 100644
index de3391d..0000000
--- a/Misc/NEWS.d/next/Core_and_Builtins/2026-01-29-16-57-11.gh-issue-139103.icXIEQ.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Improve scaling of :func:`~collections.namedtuple` instantiation in the
-free-threaded build.
diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-01-30-10-38-07.gh-issue-140550.Us9vPD.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-01-30-10-38-07.gh-issue-140550.Us9vPD.rst
deleted file mode 100644
index 7815176..0000000
--- a/Misc/NEWS.d/next/Core_and_Builtins/2026-01-30-10-38-07.gh-issue-140550.Us9vPD.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-In :c:member:`PyModuleDef.m_slots`, allow slots that repeat information
-present in :c:type:`PyModuleDef`.
diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-01-30-15-54-50.gh-issue-144280.kgiP5R.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-01-30-15-54-50.gh-issue-144280.kgiP5R.rst
deleted file mode 100644
index d6a4203..0000000
--- a/Misc/NEWS.d/next/Core_and_Builtins/2026-01-30-15-54-50.gh-issue-144280.kgiP5R.rst
+++ /dev/null
@@ -1 +0,0 @@
-Fix a bug in JIT where the predicate symbol had no truthiness
diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-02-02-17-07-34.gh-issue-141563.GheXjr.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-02-02-17-07-34.gh-issue-141563.GheXjr.rst
deleted file mode 100644
index 4059525..0000000
--- a/Misc/NEWS.d/next/Core_and_Builtins/2026-02-02-17-07-34.gh-issue-141563.GheXjr.rst
+++ /dev/null
@@ -1 +0,0 @@
-Fix thread safety of :c:macro:`! PyDateTime_IMPORT`.
diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-02-02-17-50-14.gh-issue-120321.Xfr7tL.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-02-02-17-50-14.gh-issue-120321.Xfr7tL.rst
deleted file mode 100644
index 3e868c8..0000000
--- a/Misc/NEWS.d/next/Core_and_Builtins/2026-02-02-17-50-14.gh-issue-120321.Xfr7tL.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-Add ``gi_state``, ``cr_state``, and ``ag_state`` attributes to generators,
-coroutines, and async generators that return the current state as a string
-(e.g., ``GEN_RUNNING``). The :mod:`inspect` module functions
-:func:`~inspect.getgeneratorstate`, :func:`~inspect.getcoroutinestate`, and
-:func:`~inspect.getasyncgenstate` now return these attributes directly.
diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-02-03-17-08-13.gh-issue-144446.db5619.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-02-03-17-08-13.gh-issue-144446.db5619.rst
deleted file mode 100644
index 71cf493..0000000
--- a/Misc/NEWS.d/next/Core_and_Builtins/2026-02-03-17-08-13.gh-issue-144446.db5619.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Fix data races in the free-threaded build when reading frame object attributes
-while another thread is executing the frame.
diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-02-04-11-19-45.gh-issue-144330.kOowSb.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-02-04-11-19-45.gh-issue-144330.kOowSb.rst
deleted file mode 100644
index b3c61e1..0000000
--- a/Misc/NEWS.d/next/Core_and_Builtins/2026-02-04-11-19-45.gh-issue-144330.kOowSb.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Move ``classmethod`` and ``staticmethod`` initialization from ``__init__()``
-to ``__new__()``. Patch by Victor Stinner.
diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-02-04-12-19-48.gh-issue-131798.My5jLy.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-02-04-12-19-48.gh-issue-131798.My5jLy.rst
deleted file mode 100644
index 849889f..0000000
--- a/Misc/NEWS.d/next/Core_and_Builtins/2026-02-04-12-19-48.gh-issue-131798.My5jLy.rst
+++ /dev/null
@@ -1 +0,0 @@
-Optimise ``_GUARD_TOS_SLICE`` in the JIT.
diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-02-05-13-30-00.gh-issue-144513.IjSTd7.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-02-05-13-30-00.gh-issue-144513.IjSTd7.rst
deleted file mode 100644
index f971601..0000000
--- a/Misc/NEWS.d/next/Core_and_Builtins/2026-02-05-13-30-00.gh-issue-144513.IjSTd7.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Fix potential deadlock when using critical sections during stop-the-world
-pauses in the free-threaded build.
diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-02-06-17-59-47.gh-issue-144549.5BhPlY.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-02-06-17-59-47.gh-issue-144549.5BhPlY.rst
deleted file mode 100644
index 9679e2c..0000000
--- a/Misc/NEWS.d/next/Core_and_Builtins/2026-02-06-17-59-47.gh-issue-144549.5BhPlY.rst
+++ /dev/null
@@ -1 +0,0 @@
-Fix building the tail calling interpreter on Visual Studio 2026 with free-threading.
diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-02-08-12-47-27.gh-issue-144601.E4Yi9J.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-02-08-12-47-27.gh-issue-144601.E4Yi9J.rst
deleted file mode 100644
index 1c7772e..0000000
--- a/Misc/NEWS.d/next/Core_and_Builtins/2026-02-08-12-47-27.gh-issue-144601.E4Yi9J.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Fix crash when importing a module whose ``PyInit`` function raises an
-exception from a subinterpreter.
diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-02-08-18-13-38.gh-issue-144563.hb3kpp.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-02-08-18-13-38.gh-issue-144563.hb3kpp.rst
deleted file mode 100644
index 023f9dc..0000000
--- a/Misc/NEWS.d/next/Core_and_Builtins/2026-02-08-18-13-38.gh-issue-144563.hb3kpp.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-Fix interaction of the Tachyon profiler and :mod:`ctypes` and other modules
-that load the Python shared library (if present) in an independent map as
-this was causing the mechanism that loads the binary information to be
-confused. Patch by Pablo Galindo
diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-02-10-12-08-58.gh-issue-134584.P9LDy5.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-02-10-12-08-58.gh-issue-134584.P9LDy5.rst
deleted file mode 100644
index fab5018..0000000
--- a/Misc/NEWS.d/next/Core_and_Builtins/2026-02-10-12-08-58.gh-issue-134584.P9LDy5.rst
+++ /dev/null
@@ -1 +0,0 @@
-Optimize and eliminate ref-counting in ``_BINARY_OP_SUBSCR_LIST_SLICE``
diff --git a/Misc/NEWS.d/next/IDLE/2026-01-13-01-21-20.gh-issue-143774.rqGwX1.rst b/Misc/NEWS.d/next/IDLE/2026-01-13-01-21-20.gh-issue-143774.rqGwX1.rst
deleted file mode 100644
index dd15d16..0000000
--- a/Misc/NEWS.d/next/IDLE/2026-01-13-01-21-20.gh-issue-143774.rqGwX1.rst
+++ /dev/null
@@ -1 +0,0 @@
-Better explain the operation of Format / Format Paragraph.
diff --git a/Misc/NEWS.d/next/Library/2020-07-14-23-54-18.gh-issue-77188.TyI3_Q.rst b/Misc/NEWS.d/next/Library/2020-07-14-23-54-18.gh-issue-77188.TyI3_Q.rst
deleted file mode 100644
index 3e95640..0000000
--- a/Misc/NEWS.d/next/Library/2020-07-14-23-54-18.gh-issue-77188.TyI3_Q.rst
+++ /dev/null
@@ -1 +0,0 @@
-The :mod:`pickle` module now properly handles name-mangled private methods.
diff --git a/Misc/NEWS.d/next/Library/2024-11-27-13-11-16.gh-issue-67041.ym2WKK.rst b/Misc/NEWS.d/next/Library/2024-11-27-13-11-16.gh-issue-67041.ym2WKK.rst
deleted file mode 100644
index 9ad1e28..0000000
--- a/Misc/NEWS.d/next/Library/2024-11-27-13-11-16.gh-issue-67041.ym2WKK.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-Add the *missing_as_none* parameter to :func:`~urllib.parse.urlparse`,
-:func:`~urllib.parse.urlsplit` and :func:`~urllib.parse.urldefrag`
-functions. Add the *keep_empty* parameter to
-:func:`~urllib.parse.urlunparse` and :func:`~urllib.parse.urlunsplit`
-functions. This allows to distinguish between empty and not defined URI
-components and preserve empty components.
diff --git a/Misc/NEWS.d/next/Library/2025-10-27-00-13-04.gh-issue-140715.WkozE0.rst b/Misc/NEWS.d/next/Library/2025-10-27-00-13-04.gh-issue-140715.WkozE0.rst
deleted file mode 100644
index c2bb69b..0000000
--- a/Misc/NEWS.d/next/Library/2025-10-27-00-13-04.gh-issue-140715.WkozE0.rst
+++ /dev/null
@@ -1 +0,0 @@
-Add ``'%F'`` support to :meth:`~datetime.datetime.strptime`.
diff --git a/Misc/NEWS.d/next/Library/2025-11-06-12-03-29.gh-issue-125346.7Gfpgw.rst b/Misc/NEWS.d/next/Library/2025-11-06-12-03-29.gh-issue-125346.7Gfpgw.rst
deleted file mode 100644
index 187a6eb..0000000
--- a/Misc/NEWS.d/next/Library/2025-11-06-12-03-29.gh-issue-125346.7Gfpgw.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-Accepting ``+`` and ``/`` characters with an alternative alphabet in
-:func:`base64.b64decode` and :func:`base64.urlsafe_b64decode` is now
-deprecated.
-In future Python versions they will be errors in the strict mode and
-discarded in the non-strict mode.
diff --git a/Misc/NEWS.d/next/Library/2025-11-22-20-30-00.gh-issue-141860.frksvr.rst b/Misc/NEWS.d/next/Library/2025-11-22-20-30-00.gh-issue-141860.frksvr.rst
deleted file mode 100644
index b1efd9c..0000000
--- a/Misc/NEWS.d/next/Library/2025-11-22-20-30-00.gh-issue-141860.frksvr.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-Add an ``on_error`` keyword-only parameter to
-:func:`multiprocessing.set_forkserver_preload` to control how import failures
-during module preloading are handled. Accepts ``'ignore'`` (default, silent),
-``'warn'`` (emit :exc:`ImportWarning`), or ``'fail'`` (raise exception).
-Contributed by Nick Neumann and Gregory P. Smith.
diff --git a/Misc/NEWS.d/next/Library/2025-12-08-18-40-17.gh-issue-142438.tH-Y16.rst b/Misc/NEWS.d/next/Library/2025-12-08-18-40-17.gh-issue-142438.tH-Y16.rst
deleted file mode 100644
index 5c1db43..0000000
--- a/Misc/NEWS.d/next/Library/2025-12-08-18-40-17.gh-issue-142438.tH-Y16.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Fix _decimal builds configured with EXTRA_FUNCTIONALITY by correcting the
-Context.apply wrapper to pass the right argument.
diff --git a/Misc/NEWS.d/next/Library/2025-12-15-02-02-45.gh-issue-142555.EC9QN_.rst b/Misc/NEWS.d/next/Library/2025-12-15-02-02-45.gh-issue-142555.EC9QN_.rst
deleted file mode 100644
index 72cc7c6..0000000
--- a/Misc/NEWS.d/next/Library/2025-12-15-02-02-45.gh-issue-142555.EC9QN_.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-:mod:`array`: fix a crash in ``a[i] = v`` when converting *i* to
-an index via :meth:`i.__index__ <object.__index__>` or :meth:`i.__float__
-<object.__float__>` mutates the array.
diff --git a/Misc/NEWS.d/next/Library/2025-12-19-11-30-31.gh-issue-142966.PzGiv2.rst b/Misc/NEWS.d/next/Library/2025-12-19-11-30-31.gh-issue-142966.PzGiv2.rst
deleted file mode 100644
index 92ea407..0000000
--- a/Misc/NEWS.d/next/Library/2025-12-19-11-30-31.gh-issue-142966.PzGiv2.rst
+++ /dev/null
@@ -1 +0,0 @@
-Fix :func:`!ctypes.POINTER.set_type` not updating the format string to match the type.
diff --git a/Misc/NEWS.d/next/Library/2025-12-28-15-55-53.gh-issue-101178.26jYPs.rst b/Misc/NEWS.d/next/Library/2025-12-28-15-55-53.gh-issue-101178.26jYPs.rst
deleted file mode 100644
index 1859538..0000000
--- a/Misc/NEWS.d/next/Library/2025-12-28-15-55-53.gh-issue-101178.26jYPs.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Add Ascii85, Base85, and Z85 support to :mod:`binascii` and improve the
-performance of the base-85 converters in :mod:`base64`.
diff --git a/Misc/NEWS.d/next/Library/2026-01-05-05-31-05.gh-issue-143423.X7YdnR.rst b/Misc/NEWS.d/next/Library/2026-01-05-05-31-05.gh-issue-143423.X7YdnR.rst
deleted file mode 100644
index d9276df..0000000
--- a/Misc/NEWS.d/next/Library/2026-01-05-05-31-05.gh-issue-143423.X7YdnR.rst
+++ /dev/null
@@ -1 +0,0 @@
-Fix free-threaded build detection in the sampling profiler when Py_GIL_DISABLED is set to 0.
diff --git a/Misc/NEWS.d/next/Library/2026-01-07-11-57-59.gh-issue-140557.3P6-nW.rst b/Misc/NEWS.d/next/Library/2026-01-07-11-57-59.gh-issue-140557.3P6-nW.rst
deleted file mode 100644
index 997ad59..0000000
--- a/Misc/NEWS.d/next/Library/2026-01-07-11-57-59.gh-issue-140557.3P6-nW.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-:class:`array.array` buffers now have the same alignment when empty as when
-allocated. Unaligned buffers can still be created by slicing.
diff --git a/Misc/NEWS.d/next/Library/2026-01-07-19-01-59.gh-issue-142434.SHRS5p.rst b/Misc/NEWS.d/next/Library/2026-01-07-19-01-59.gh-issue-142434.SHRS5p.rst
deleted file mode 100644
index cb6990a..0000000
--- a/Misc/NEWS.d/next/Library/2026-01-07-19-01-59.gh-issue-142434.SHRS5p.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-Use ``ppoll()`` if available in :func:`select.poll` to have a timeout
-resolution of 1 nanosecond, instead of a resolution of 1 ms. Patch by Victor
-Stinner.
diff --git a/Misc/NEWS.d/next/Library/2026-01-09-12-37-19.gh-issue-143602.V8vQpj.rst b/Misc/NEWS.d/next/Library/2026-01-09-12-37-19.gh-issue-143602.V8vQpj.rst
deleted file mode 100644
index 0eaec90..0000000
--- a/Misc/NEWS.d/next/Library/2026-01-09-12-37-19.gh-issue-143602.V8vQpj.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Fix a inconsistency issue in :meth:`~io.RawIOBase.write` that leads to
-unexpected buffer overwrite by deduplicating the buffer exports.
diff --git a/Misc/NEWS.d/next/Library/2026-01-11-14-14-19.gh-issue-143689.fzHJ2W.rst b/Misc/NEWS.d/next/Library/2026-01-11-14-14-19.gh-issue-143689.fzHJ2W.rst
deleted file mode 100644
index a423b1b..0000000
--- a/Misc/NEWS.d/next/Library/2026-01-11-14-14-19.gh-issue-143689.fzHJ2W.rst
+++ /dev/null
@@ -1 +0,0 @@
-Fix :meth:`io.BufferedReader.read1` state cleanup on buffer allocation failure.
diff --git a/Misc/NEWS.d/next/Library/2026-01-13-10-38-43.gh-issue-143543.DeQRCO.rst b/Misc/NEWS.d/next/Library/2026-01-13-10-38-43.gh-issue-143543.DeQRCO.rst
deleted file mode 100644
index 14622a3..0000000
--- a/Misc/NEWS.d/next/Library/2026-01-13-10-38-43.gh-issue-143543.DeQRCO.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Fix a crash in itertools.groupby that could occur when a user-defined
-:meth:`~object.__eq__` method re-enters the iterator during key comparison.
diff --git a/Misc/NEWS.d/next/Library/2026-01-13-15-56-03.gh-issue-132604.lvjNTr.rst b/Misc/NEWS.d/next/Library/2026-01-13-15-56-03.gh-issue-132604.lvjNTr.rst
deleted file mode 100644
index 92c4dbb..0000000
--- a/Misc/NEWS.d/next/Library/2026-01-13-15-56-03.gh-issue-132604.lvjNTr.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-Previously, :class:`~typing.Protocol` classes that were not decorated with :deco:`~typing.runtime_checkable`,
-but that inherited from another ``Protocol`` class that did have this decorator, could be used in :func:`isinstance`
-and :func:`issubclass` checks. This behavior is now deprecated and such checks will throw a :exc:`TypeError`
-in Python 3.20. Patch by Bartosz Sławecki.
diff --git a/Misc/NEWS.d/next/Library/2026-01-13-16-19-50.gh-issue-143756.LQOra1.rst b/Misc/NEWS.d/next/Library/2026-01-13-16-19-50.gh-issue-143756.LQOra1.rst
deleted file mode 100644
index fc7eeff..0000000
--- a/Misc/NEWS.d/next/Library/2026-01-13-16-19-50.gh-issue-143756.LQOra1.rst
+++ /dev/null
@@ -1 +0,0 @@
-Fix potential thread safety issues in :mod:`ssl` module.
diff --git a/Misc/NEWS.d/next/Library/2026-01-14-20-35-40.gh-issue-143754.m2NQXA.rst b/Misc/NEWS.d/next/Library/2026-01-14-20-35-40.gh-issue-143754.m2NQXA.rst
deleted file mode 100644
index edfdd10..0000000
--- a/Misc/NEWS.d/next/Library/2026-01-14-20-35-40.gh-issue-143754.m2NQXA.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-Add new :mod:`tkinter` widget methods :meth:`!pack_content`,
-:meth:`!place_content` and :meth:`!grid_content` which are alternative
-spelling of old :meth:`!*_slaves` methods.
diff --git a/Misc/NEWS.d/next/Library/2026-01-15-16-04-39.gh-issue-143874.1qQgvo.rst b/Misc/NEWS.d/next/Library/2026-01-15-16-04-39.gh-issue-143874.1qQgvo.rst
deleted file mode 100644
index a11cf71..0000000
--- a/Misc/NEWS.d/next/Library/2026-01-15-16-04-39.gh-issue-143874.1qQgvo.rst
+++ /dev/null
@@ -1 +0,0 @@
-Fixed a bug in :mod:`pdb` where expression results were not sent back to remote client.
diff --git a/Misc/NEWS.d/next/Library/2026-01-16-06-22-10.gh-issue-143831.VLBTLp.rst b/Misc/NEWS.d/next/Library/2026-01-16-06-22-10.gh-issue-143831.VLBTLp.rst
deleted file mode 100644
index 620adea..0000000
--- a/Misc/NEWS.d/next/Library/2026-01-16-06-22-10.gh-issue-143831.VLBTLp.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-:class:`annotationlib.ForwardRef` objects are now hashable when created from
-annotation scopes with closures. Previously, hashing such objects would
-throw an exception. Patch by Bartosz Sławecki.
diff --git a/Misc/NEWS.d/next/Library/2026-01-16-10-53-17.gh-issue-143897.hWJBHN.rst b/Misc/NEWS.d/next/Library/2026-01-16-10-53-17.gh-issue-143897.hWJBHN.rst
deleted file mode 100644
index d53eac0..0000000
--- a/Misc/NEWS.d/next/Library/2026-01-16-10-53-17.gh-issue-143897.hWJBHN.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-Remove the :meth:`!isxidstart` and :meth:`!isxidcontinue` methods of
-:data:`unicodedata.ucd_3_2_0`. They are now only exposed as
-:func:`unicodedata.isxidstart` and :func:`unicodedata.isxidcontinue`.
diff --git a/Misc/NEWS.d/next/Library/2026-01-16-14-02-39.gh-issue-143904.rErHHA.rst b/Misc/NEWS.d/next/Library/2026-01-16-14-02-39.gh-issue-143904.rErHHA.rst
deleted file mode 100644
index f856a4b..0000000
--- a/Misc/NEWS.d/next/Library/2026-01-16-14-02-39.gh-issue-143904.rErHHA.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-:func:`struct.pack_into` now raises OverflowError instead of IndexError for
-too large *offset* argument.
diff --git a/Misc/NEWS.d/next/Library/2026-01-17-07-48-27.gh-issue-143952.lqJ55y.rst b/Misc/NEWS.d/next/Library/2026-01-17-07-48-27.gh-issue-143952.lqJ55y.rst
deleted file mode 100644
index 1a99d31..0000000
--- a/Misc/NEWS.d/next/Library/2026-01-17-07-48-27.gh-issue-143952.lqJ55y.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Fixed :mod:`asyncio` debugging tools to work with new remote debugging API.
-Patch by Bartosz Sławecki.
diff --git a/Misc/NEWS.d/next/Library/2026-01-18-14-35-37.gh-issue-143999.MneN4O.rst b/Misc/NEWS.d/next/Library/2026-01-18-14-35-37.gh-issue-143999.MneN4O.rst
deleted file mode 100644
index dc87411..0000000
--- a/Misc/NEWS.d/next/Library/2026-01-18-14-35-37.gh-issue-143999.MneN4O.rst
+++ /dev/null
@@ -1 +0,0 @@
-Fix an issue where :func:`inspect.getgeneratorstate` and :func:`inspect.getcoroutinestate` could fail for generators wrapped by :func:`types.coroutine` in the suspended state.
diff --git a/Misc/NEWS.d/next/Library/2026-01-19-00-57-40.gh-issue-144023.29XUcp.rst b/Misc/NEWS.d/next/Library/2026-01-19-00-57-40.gh-issue-144023.29XUcp.rst
deleted file mode 100644
index 0d06506..0000000
--- a/Misc/NEWS.d/next/Library/2026-01-19-00-57-40.gh-issue-144023.29XUcp.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Fixed validation of file descriptor 0 in posix functions when used with
-follow_symlinks parameter.
diff --git a/Misc/NEWS.d/next/Library/2026-01-19-10-26-59.gh-issue-144001.dGj8Nk.rst b/Misc/NEWS.d/next/Library/2026-01-19-10-26-59.gh-issue-144001.dGj8Nk.rst
deleted file mode 100644
index 02d453f..0000000
--- a/Misc/NEWS.d/next/Library/2026-01-19-10-26-59.gh-issue-144001.dGj8Nk.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Added the *ignorechars* parameter in :func:`binascii.a2b_base64` and
-:func:`base64.b64decode`.
diff --git a/Misc/NEWS.d/next/Library/2026-01-19-12-48-59.gh-issue-144030.7OK_gB.rst b/Misc/NEWS.d/next/Library/2026-01-19-12-48-59.gh-issue-144030.7OK_gB.rst
deleted file mode 100644
index ef3c029..0000000
--- a/Misc/NEWS.d/next/Library/2026-01-19-12-48-59.gh-issue-144030.7OK_gB.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-The Python implementation of :func:`functools.lru_cache` differed from the
-default C implementation in that it did not check that its argument is
-callable. This discrepancy is now fixed and both raise a :exc:`TypeError`.
diff --git a/Misc/NEWS.d/next/Library/2026-01-19-16-45-16.gh-issue-83069.0TaeH9.rst b/Misc/NEWS.d/next/Library/2026-01-19-16-45-16.gh-issue-83069.0TaeH9.rst
deleted file mode 100644
index d0d4f2b..0000000
--- a/Misc/NEWS.d/next/Library/2026-01-19-16-45-16.gh-issue-83069.0TaeH9.rst
+++ /dev/null
@@ -1,7 +0,0 @@
-:meth:`subprocess.Popen.wait`: when ``timeout`` is not ``None``, an efficient
-event-driven mechanism now waits for process termination, if available. Linux
->= 5.3 uses :func:`os.pidfd_open` + :func:`select.poll`. macOS and other BSD
-variants use :func:`select.kqueue` + ``KQ_FILTER_PROC`` + ``KQ_NOTE_EXIT``.
-Windows keeps using ``WaitForSingleObject`` (unchanged). If none of these
-mechanisms are available, the function falls back to the traditional busy loop
-(non-blocking call and short sleeps). Patch by Giampaolo Rodola.
diff --git a/Misc/NEWS.d/next/Library/2026-01-20-16-35-55.gh-issue-144050.0kKFbF.rst b/Misc/NEWS.d/next/Library/2026-01-20-16-35-55.gh-issue-144050.0kKFbF.rst
deleted file mode 100644
index dfc062d..0000000
--- a/Misc/NEWS.d/next/Library/2026-01-20-16-35-55.gh-issue-144050.0kKFbF.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Fix :func:`stat.filemode` in the pure-Python implementation to avoid misclassifying
-invalid mode values as block devices.
diff --git a/Misc/NEWS.d/next/Library/2026-01-20-20-54-46.gh-issue-143658.v8i1jE.rst b/Misc/NEWS.d/next/Library/2026-01-20-20-54-46.gh-issue-143658.v8i1jE.rst
deleted file mode 100644
index 8935b4c..0000000
--- a/Misc/NEWS.d/next/Library/2026-01-20-20-54-46.gh-issue-143658.v8i1jE.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-:mod:`importlib.metadata`: Use :meth:`str.lower` and :meth:`str.replace` to
-further improve performance of
-:meth:`!importlib.metadata.Prepared.normalize`. Patch by Hugo van Kemenade
-and Henry Schreiner.
diff --git a/Misc/NEWS.d/next/Library/2026-01-21-19-39-07.gh-issue-144100.hLMZ8Y.rst b/Misc/NEWS.d/next/Library/2026-01-21-19-39-07.gh-issue-144100.hLMZ8Y.rst
deleted file mode 100644
index 7093b75..0000000
--- a/Misc/NEWS.d/next/Library/2026-01-21-19-39-07.gh-issue-144100.hLMZ8Y.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-Fixed a crash in ctypes when using a deprecated ``POINTER(str)`` type in
-``argtypes``. Instead of aborting, ctypes now raises a proper Python
-exception when the pointer target type is unresolved.
diff --git a/Misc/NEWS.d/next/Library/2026-01-22-10-18-17.gh-issue-144128.akwY06.rst b/Misc/NEWS.d/next/Library/2026-01-22-10-18-17.gh-issue-144128.akwY06.rst
deleted file mode 100644
index 4010695..0000000
--- a/Misc/NEWS.d/next/Library/2026-01-22-10-18-17.gh-issue-144128.akwY06.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Fix a crash in :meth:`array.array.fromlist` when an element's :meth:`~object.__index__` method mutates
-the input list during conversion.
diff --git a/Misc/NEWS.d/next/Library/2026-01-23-06-43-21.gh-issue-144169.LFy9yi.rst b/Misc/NEWS.d/next/Library/2026-01-23-06-43-21.gh-issue-144169.LFy9yi.rst
deleted file mode 100644
index e2ef3d7..0000000
--- a/Misc/NEWS.d/next/Library/2026-01-23-06-43-21.gh-issue-144169.LFy9yi.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Fix three crashes when non-string keyword arguments are supplied to objects
-in the :mod:`ast` module.
diff --git a/Misc/NEWS.d/next/Library/2026-01-24-13-49-05.gh-issue-143594.nilGlg.rst b/Misc/NEWS.d/next/Library/2026-01-24-13-49-05.gh-issue-143594.nilGlg.rst
deleted file mode 100644
index e0c2c28..0000000
--- a/Misc/NEWS.d/next/Library/2026-01-24-13-49-05.gh-issue-143594.nilGlg.rst
+++ /dev/null
@@ -1 +0,0 @@
-Add :meth:`symtable.Function.get_cells` and :meth:`symtable.Symbol.is_cell` methods.
diff --git a/Misc/NEWS.d/next/Library/2026-01-24-23-11-17.gh-issue-144212.IXqVL8.rst b/Misc/NEWS.d/next/Library/2026-01-24-23-11-17.gh-issue-144212.IXqVL8.rst
deleted file mode 100644
index be77fb3..0000000
--- a/Misc/NEWS.d/next/Library/2026-01-24-23-11-17.gh-issue-144212.IXqVL8.rst
+++ /dev/null
@@ -1 +0,0 @@
-Mime type ``image/jxl`` is now supported by :mod:`mimetypes`.
diff --git a/Misc/NEWS.d/next/Library/2026-01-25-03-23-20.gh-issue-144217.E1wVXH.rst b/Misc/NEWS.d/next/Library/2026-01-25-03-23-20.gh-issue-144217.E1wVXH.rst
deleted file mode 100644
index d85df59..0000000
--- a/Misc/NEWS.d/next/Library/2026-01-25-03-23-20.gh-issue-144217.E1wVXH.rst
+++ /dev/null
@@ -1 +0,0 @@
-:mod:`mimetypes`: Add support for DICOM files (for medical imaging) with the official MIME type ``application/dicom``. Patch by Benedikt Johannes.
diff --git a/Misc/NEWS.d/next/Library/2026-01-26-12-30-57.gh-issue-142956.X9CS8J.rst b/Misc/NEWS.d/next/Library/2026-01-26-12-30-57.gh-issue-142956.X9CS8J.rst
deleted file mode 100644
index 27f104f..0000000
--- a/Misc/NEWS.d/next/Library/2026-01-26-12-30-57.gh-issue-142956.X9CS8J.rst
+++ /dev/null
@@ -1 +0,0 @@
-Updated :mod:`tomllib` to parse TOML 1.1.0.
diff --git a/Misc/NEWS.d/next/Library/2026-01-27-00-03-41.gh-issue-132888.yhTfUN.rst b/Misc/NEWS.d/next/Library/2026-01-27-00-03-41.gh-issue-132888.yhTfUN.rst
deleted file mode 100644
index 71b984c..0000000
--- a/Misc/NEWS.d/next/Library/2026-01-27-00-03-41.gh-issue-132888.yhTfUN.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Fix incorrect use of :func:`ctypes.GetLastError` and add missing error
-checks for Windows API calls in :mod:`!_pyrepl.windows_console`.
diff --git a/Misc/NEWS.d/next/Library/2026-01-27-09-58-52.gh-issue-144249.mCIy95.rst b/Misc/NEWS.d/next/Library/2026-01-27-09-58-52.gh-issue-144249.mCIy95.rst
deleted file mode 100644
index 52f27ce..0000000
--- a/Misc/NEWS.d/next/Library/2026-01-27-09-58-52.gh-issue-144249.mCIy95.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Add filename context to :exc:`OSError` exceptions raised by
-:func:`ssl.SSLContext.load_cert_chain`, allowing users to have more context.
diff --git a/Misc/NEWS.d/next/Library/2026-01-27-10-02-04.gh-issue-144264.Wmzbol.rst b/Misc/NEWS.d/next/Library/2026-01-27-10-02-04.gh-issue-144264.Wmzbol.rst
deleted file mode 100644
index 11e3fde..0000000
--- a/Misc/NEWS.d/next/Library/2026-01-27-10-02-04.gh-issue-144264.Wmzbol.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-Speed up Base64 decoding of data containing ignored characters (both in
-non-strict mode and with an explicit *ignorechars* argument).
-It is now up to 2 times faster for multiline Base64 data.
diff --git a/Misc/NEWS.d/next/Library/2026-01-27-14-23-10.gh-issue-144206.l0un4U.rst b/Misc/NEWS.d/next/Library/2026-01-27-14-23-10.gh-issue-144206.l0un4U.rst
deleted file mode 100644
index 1e16d28..0000000
--- a/Misc/NEWS.d/next/Library/2026-01-27-14-23-10.gh-issue-144206.l0un4U.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Improve error messages for buffer overflow in :func:`fcntl.fcntl` and
-:func:`fcntl.ioctl`.
diff --git a/Misc/NEWS.d/next/Library/2026-01-30-13-23-06.gh-issue-140824.J1OCrC.rst b/Misc/NEWS.d/next/Library/2026-01-30-13-23-06.gh-issue-140824.J1OCrC.rst
deleted file mode 100644
index dd90b6a..0000000
--- a/Misc/NEWS.d/next/Library/2026-01-30-13-23-06.gh-issue-140824.J1OCrC.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-When :mod:`faulthandler` dumps the list of third-party extension modules,
-ignore sub-modules of stdlib packages. Patch by Victor Stinner.
diff --git a/Misc/NEWS.d/next/Library/2026-01-31-17-15-49.gh-issue-144363.X9f0sU.rst b/Misc/NEWS.d/next/Library/2026-01-31-17-15-49.gh-issue-144363.X9f0sU.rst
deleted file mode 100644
index c17cea6..0000000
--- a/Misc/NEWS.d/next/Library/2026-01-31-17-15-49.gh-issue-144363.X9f0sU.rst
+++ /dev/null
@@ -1 +0,0 @@
-Update bundled `libexpat <https://libexpat.github.io/>`_ to 2.7.4
diff --git a/Misc/NEWS.d/next/Library/2026-02-01-15-25-00.gh-issue-144380.U7py_s.rst b/Misc/NEWS.d/next/Library/2026-02-01-15-25-00.gh-issue-144380.U7py_s.rst
deleted file mode 100644
index 4b5b1b3..0000000
--- a/Misc/NEWS.d/next/Library/2026-02-01-15-25-00.gh-issue-144380.U7py_s.rst
+++ /dev/null
@@ -1 +0,0 @@
-Improve performance of :class:`io.BufferedReader` line iteration by ~49%.
diff --git a/Misc/NEWS.d/next/Library/2026-02-02-12-09-38.gh-issue-74453.19h4Z5.rst b/Misc/NEWS.d/next/Library/2026-02-02-12-09-38.gh-issue-74453.19h4Z5.rst
deleted file mode 100644
index 8629c83..0000000
--- a/Misc/NEWS.d/next/Library/2026-02-02-12-09-38.gh-issue-74453.19h4Z5.rst
+++ /dev/null
@@ -1,8 +0,0 @@
-Deprecate :func:`os.path.commonprefix` in favor of
-:func:`os.path.commonpath` for path segment prefixes.
-
-The :func:`os.path.commonprefix` function is being deprecated due to
-having a misleading name and module. The function is not safe to use for
-path prefixes despite being included in a module about path manipulation,
-meaning it is easy to accidentally introduce path traversal
-vulnerabilities into Python programs by using this function.
diff --git a/Misc/NEWS.d/next/Library/2026-02-03-08-50-58.gh-issue-123471.yF1Gym.rst b/Misc/NEWS.d/next/Library/2026-02-03-08-50-58.gh-issue-123471.yF1Gym.rst
deleted file mode 100644
index 85e9a03..0000000
--- a/Misc/NEWS.d/next/Library/2026-02-03-08-50-58.gh-issue-123471.yF1Gym.rst
+++ /dev/null
@@ -1 +0,0 @@
-Make concurrent iteration over :class:`itertools.combinations_with_replacement` and :class:`itertools.permutations` safe under free-threading.
diff --git a/Misc/NEWS.d/next/Library/2026-02-03-14-16-49.gh-issue-144386.9Wa59r.rst b/Misc/NEWS.d/next/Library/2026-02-03-14-16-49.gh-issue-144386.9Wa59r.rst
deleted file mode 100644
index 6e60eeba..0000000
--- a/Misc/NEWS.d/next/Library/2026-02-03-14-16-49.gh-issue-144386.9Wa59r.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-Add support for arbitrary descriptors :meth:`!__enter__`, :meth:`!__exit__`,
-:meth:`!__aenter__`, and :meth:`!__aexit__` in :class:`contextlib.ExitStack`
-and :class:`contextlib.AsyncExitStack`, for consistency with the
-:keyword:`with` and :keyword:`async with` statements.
diff --git a/Misc/NEWS.d/next/Library/2026-02-05-17-15-31.gh-issue-144493.XuxwVu.rst b/Misc/NEWS.d/next/Library/2026-02-05-17-15-31.gh-issue-144493.XuxwVu.rst
deleted file mode 100644
index fe205b5..0000000
--- a/Misc/NEWS.d/next/Library/2026-02-05-17-15-31.gh-issue-144493.XuxwVu.rst
+++ /dev/null
@@ -1 +0,0 @@
-Improve an exception error message in ``_overlapped.BindLocal()`` that is raised when :meth:`asyncio.loop.sock_connect` is called on a :class:`asyncio.ProactorEventLoop` with a socket that has an invalid address family.
diff --git a/Misc/NEWS.d/next/Library/2026-02-06-23-58-54.gh-issue-144538.5_OvGv.rst b/Misc/NEWS.d/next/Library/2026-02-06-23-58-54.gh-issue-144538.5_OvGv.rst
deleted file mode 100644
index fbded72..0000000
--- a/Misc/NEWS.d/next/Library/2026-02-06-23-58-54.gh-issue-144538.5_OvGv.rst
+++ /dev/null
@@ -1 +0,0 @@
-Bump the version of pip bundled in ensurepip to version 26.0.1
diff --git a/Misc/NEWS.d/next/Security/2026-01-16-11-07-36.gh-issue-143916.dpWeOD.rst b/Misc/NEWS.d/next/Security/2026-01-16-11-07-36.gh-issue-143916.dpWeOD.rst
deleted file mode 100644
index 44bd0b2..0000000
--- a/Misc/NEWS.d/next/Security/2026-01-16-11-07-36.gh-issue-143916.dpWeOD.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Reject C0 control characters within wsgiref.headers.Headers fields, values,
-and parameters.
diff --git a/Misc/NEWS.d/next/Security/2026-01-16-11-13-15.gh-issue-143919.kchwZV.rst b/Misc/NEWS.d/next/Security/2026-01-16-11-13-15.gh-issue-143919.kchwZV.rst
deleted file mode 100644
index 788c3e4..0000000
--- a/Misc/NEWS.d/next/Security/2026-01-16-11-13-15.gh-issue-143919.kchwZV.rst
+++ /dev/null
@@ -1 +0,0 @@
-Reject control characters in :class:`http.cookies.Morsel` fields and values.
diff --git a/Misc/NEWS.d/next/Security/2026-01-16-11-41-06.gh-issue-143921.AeCOor.rst b/Misc/NEWS.d/next/Security/2026-01-16-11-41-06.gh-issue-143921.AeCOor.rst
deleted file mode 100644
index 4e13fe9..0000000
--- a/Misc/NEWS.d/next/Security/2026-01-16-11-41-06.gh-issue-143921.AeCOor.rst
+++ /dev/null
@@ -1 +0,0 @@
-Reject control characters in IMAP commands.
diff --git a/Misc/NEWS.d/next/Security/2026-01-16-11-43-47.gh-issue-143923.DuytMe.rst b/Misc/NEWS.d/next/Security/2026-01-16-11-43-47.gh-issue-143923.DuytMe.rst
deleted file mode 100644
index 3cde4df..0000000
--- a/Misc/NEWS.d/next/Security/2026-01-16-11-43-47.gh-issue-143923.DuytMe.rst
+++ /dev/null
@@ -1 +0,0 @@
-Reject control characters in POP3 commands.
diff --git a/Misc/NEWS.d/next/Security/2026-01-16-11-51-19.gh-issue-143925.mrtcHW.rst b/Misc/NEWS.d/next/Security/2026-01-16-11-51-19.gh-issue-143925.mrtcHW.rst
deleted file mode 100644
index 46109df..0000000
--- a/Misc/NEWS.d/next/Security/2026-01-16-11-51-19.gh-issue-143925.mrtcHW.rst
+++ /dev/null
@@ -1 +0,0 @@
-Reject control characters in ``data:`` URL media types.
diff --git a/Misc/NEWS.d/next/Security/2026-01-16-14-40-31.gh-issue-143935.U2YtKl.rst b/Misc/NEWS.d/next/Security/2026-01-16-14-40-31.gh-issue-143935.U2YtKl.rst
deleted file mode 100644
index c3d8649..0000000
--- a/Misc/NEWS.d/next/Security/2026-01-16-14-40-31.gh-issue-143935.U2YtKl.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-Fixed a bug in the folding of comments when flattening an email message
-using a modern email policy. Comments consisting of a very long sequence of
-non-foldable characters could trigger a forced line wrap that omitted the
-required leading space on the continuation line, causing the remainder of
-the comment to be interpreted as a new header field. This enabled header
-injection with carefully crafted inputs.
diff --git a/Misc/NEWS.d/next/Security/2026-01-21-12-34-05.gh-issue-144125.TAz5uo.rst b/Misc/NEWS.d/next/Security/2026-01-21-12-34-05.gh-issue-144125.TAz5uo.rst
deleted file mode 100644
index e6333e7..0000000
--- a/Misc/NEWS.d/next/Security/2026-01-21-12-34-05.gh-issue-144125.TAz5uo.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-:mod:`~email.generator.BytesGenerator` will now refuse to serialize (write) headers
-that are unsafely folded or delimited; see
-:attr:`~email.policy.Policy.verify_generated_headers`. (Contributed by Bas
-Bloemsaat and Petr Viktorin in :gh:`121650`).
diff --git a/Misc/NEWS.d/next/Tests/2026-01-08-16-56-59.gh-issue-65784.aKNo1U.rst b/Misc/NEWS.d/next/Tests/2026-01-08-16-56-59.gh-issue-65784.aKNo1U.rst
deleted file mode 100644
index 7d1a153..0000000
--- a/Misc/NEWS.d/next/Tests/2026-01-08-16-56-59.gh-issue-65784.aKNo1U.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-Add support for parametrized resource ``wantobjects`` in regrtests,
-which allows to run Tkinter tests with the specified value of
-:data:`!tkinter.wantobjects`, for example ``-u wantobjects=0``.
diff --git a/Misc/NEWS.d/next/Tests/2026-02-03-07-57-24.gh-issue-144415.U3L15r.rst b/Misc/NEWS.d/next/Tests/2026-02-03-07-57-24.gh-issue-144415.U3L15r.rst
deleted file mode 100644
index b3a8d46..0000000
--- a/Misc/NEWS.d/next/Tests/2026-02-03-07-57-24.gh-issue-144415.U3L15r.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-The Android testbed now distinguishes between stdout/stderr messages which
-were triggered by a newline, and those triggered by a manual call to
-``flush``. This fixes logging of progress indicators and similar content.
diff --git a/Misc/NEWS.d/next/Windows/2026-01-05-21-36-58.gh-issue-80620.p1bD58.rst b/Misc/NEWS.d/next/Windows/2026-01-05-21-36-58.gh-issue-80620.p1bD58.rst
deleted file mode 100644
index fb2f500..0000000
--- a/Misc/NEWS.d/next/Windows/2026-01-05-21-36-58.gh-issue-80620.p1bD58.rst
+++ /dev/null
@@ -1 +0,0 @@
-Support negative timestamps in :func:`time.gmtime`, :func:`time.localtime`, and various :mod:`datetime` functions.
diff --git a/Misc/NEWS.d/next/macOS/2026-02-09-22-43-47.gh-issue-144551.VOfgfD.rst b/Misc/NEWS.d/next/macOS/2026-02-09-22-43-47.gh-issue-144551.VOfgfD.rst
deleted file mode 100644
index 4b979a4..0000000
--- a/Misc/NEWS.d/next/macOS/2026-02-09-22-43-47.gh-issue-144551.VOfgfD.rst
+++ /dev/null
@@ -1 +0,0 @@
-Update macOS installer to use OpenSSL 3.5.5.
diff --git a/Misc/NEWS.d/next/macOS/2026-02-09-23-01-49.gh-issue-124111.WmQG7S.rst b/Misc/NEWS.d/next/macOS/2026-02-09-23-01-49.gh-issue-124111.WmQG7S.rst
deleted file mode 100644
index 1318b41..0000000
--- a/Misc/NEWS.d/next/macOS/2026-02-09-23-01-49.gh-issue-124111.WmQG7S.rst
+++ /dev/null
@@ -1 +0,0 @@
-Update macOS installer to use Tcl/Tk 9.0.3.
diff --git a/Misc/NEWS.d/next/macOS/2026-02-10-08-00-17.gh-issue-144648.KEuUXp.rst b/Misc/NEWS.d/next/macOS/2026-02-10-08-00-17.gh-issue-144648.KEuUXp.rst
deleted file mode 100644
index 5f8ba04..0000000
--- a/Misc/NEWS.d/next/macOS/2026-02-10-08-00-17.gh-issue-144648.KEuUXp.rst
+++ /dev/null
@@ -1 +0,0 @@
-Allowed _remote_debugging to build on more OS versions by using proc_listpids() rather than proc_listallpids().
diff --git a/README.rst b/README.rst
index c507bf3..68e114e 100644
--- a/README.rst
+++ b/README.rst
@@ -1,4 +1,4 @@
-This is Python version 3.15.0 alpha 5
+This is Python version 3.15.0 alpha 6
=====================================
.. image:: https://github.com/python/cpython/actions/workflows/build.yml/badge.svg?branch=main&event=push