Python 3.13.15

Yhg1s <[email protected]> Wed, 05 Aug 2026 10:58:52 -0400 (EDT)
Newsgroups gmane.comp.python.cvs
Message-ID <[email protected]>
https://github.com/python/cpython/commit/4061bc4c35f7c26f25264666d4ba083b93d2f6f9
commit: 4061bc4c35f7c26f25264666d4ba083b93d2f6f9
branch: 3.13
author: Thomas Wouters <[email protected]>
committer: Yhg1s <[email protected]>
date: 2026-08-05T14:25:43+02:00
summary:

Python 3.13.15

files:
A Misc/NEWS.d/3.13.15.rst
D Misc/NEWS.d/next/Build/2024-11-22-08-46-46.gh-issue-115869.UVLSKd.rst
D Misc/NEWS.d/next/Build/2026-03-07-02-09-57.gh-issue-138800.VD8qbz.rst
D Misc/NEWS.d/next/Build/2026-06-28-16-17-55.gh-issue-152502.6SNqMg.rst
D Misc/NEWS.d/next/Build/2026-07-09-22-45-00.gh-issue-153438.Qr7N2p.rst
D Misc/NEWS.d/next/Build/2026-07-11-07-26-16.gh-issue-126877.Zt7Kq2.rst
D Misc/NEWS.d/next/Build/2026-07-19-12-16-31.gh-issue-154070.f5da07.rst
D Misc/NEWS.d/next/C_API/2026-07-09-17-33-29.gh-issue-152132.Ma8MJZ.rst
D Misc/NEWS.d/next/Core_and_Builtins/2026-05-11-15-58-23.gh-issue-149689.9Ht49z.rst
D Misc/NEWS.d/next/Core_and_Builtins/2026-06-05-22-52-41.gh-issue-150988.fDKfMJ.rst
D Misc/NEWS.d/next/Core_and_Builtins/2026-06-08-05-31-22.gh-issue-151065._o_31F.rst
D Misc/NEWS.d/next/Core_and_Builtins/2026-06-09-10-28-30.gh-issue-151126.DKa6Sl.rst
D Misc/NEWS.d/next/Core_and_Builtins/2026-06-10-15-42-46.gh-issue-151253.7MMQ8P.rst
D Misc/NEWS.d/next/Core_and_Builtins/2026-06-17-16-46-07.gh-issue-151126.vhTL0T.rst
D Misc/NEWS.d/next/Core_and_Builtins/2026-06-18-16-00-10.gh-issue-151126.tBqn6I.rst
D Misc/NEWS.d/next/Core_and_Builtins/2026-06-21-16-00-00.gh-issue-151773.mN4kRt.rst
D Misc/NEWS.d/next/Core_and_Builtins/2026-06-22-14-48-22.gh-issue-151912.YcxfnU.rst
D Misc/NEWS.d/next/Core_and_Builtins/2026-06-23-12-03-55.gh-issue-151763.K7QfWG.rst
D Misc/NEWS.d/next/Core_and_Builtins/2026-06-24-11-12-56.gh-issue-151905.j32skf.rst
D Misc/NEWS.d/next/Core_and_Builtins/2026-06-26-05-49-13.gh-issue-152235.YU20T9.rst
D Misc/NEWS.d/next/Core_and_Builtins/2026-06-26-22-03-16.gh-issue-152235.ZKWiWk.rst
D Misc/NEWS.d/next/Core_and_Builtins/2026-06-27-10-05-12.gh-issue-152375.L-ZBk6.rst
D Misc/NEWS.d/next/Core_and_Builtins/2026-06-29-23-29-14.gh-issue-152635.O21J0O.rst
D Misc/NEWS.d/next/Core_and_Builtins/2026-06-30-14-00-00.gh-issue-152682.yId7e5.rst
D Misc/NEWS.d/next/Core_and_Builtins/2026-07-20-20-16-08.gh-issue-154275.l961cA.rst
D Misc/NEWS.d/next/Core_and_Builtins/2026-07-26-09-07-41.gh-issue-154709.M2uZ76.rst
D Misc/NEWS.d/next/Core_and_Builtins/2026-08-02-17-55-29.gh-issue-154937.m9IBba.rst
D Misc/NEWS.d/next/Documentation/2026-06-17-12-00-00.gh-issue-86726.__bOgH.rst
D Misc/NEWS.d/next/Documentation/2026-07-17-22-33-43.gh-issue-118150.m7iFdP.rst
D Misc/NEWS.d/next/IDLE/2021-10-03-21-55-34.gh-issue-89520.etEExa.rst
D Misc/NEWS.d/next/IDLE/2025-10-05-19-33-39.gh-issue-139551.TX9BRc.rst
D Misc/NEWS.d/next/IDLE/2026-03-07-20-47-40.gh-issue-94523.dq7m2k.rst
D Misc/NEWS.d/next/IDLE/2026-06-28-06-46-46.gh-issue-85320.Hq2vKn.rst
D Misc/NEWS.d/next/IDLE/2026-07-01-00-00-00.gh-issue-66331.wMcLaS.rst
D Misc/NEWS.d/next/IDLE/2026-07-01-00-15-58.gh-issue-152728.yxIhMN.rst
D Misc/NEWS.d/next/IDLE/2026-07-01-12-00-00.gh-issue-71956.rPlAlL.rst
D Misc/NEWS.d/next/IDLE/2026-07-01-14-00-00.gh-issue-89360.mUlTiC.rst
D Misc/NEWS.d/next/IDLE/2026-07-01-15-00-00.gh-issue-134300.iDlPaT.rst
D Misc/NEWS.d/next/IDLE/2026-07-01-16-00-00.gh-issue-80504.gReP.rst
D Misc/NEWS.d/next/IDLE/2026-07-01-17-00-00.gh-issue-65339.oUtTxt.rst
D Misc/NEWS.d/next/IDLE/2026-07-01-18-00-00.gh-issue-83653.cFgInt.rst
D Misc/NEWS.d/next/IDLE/2026-07-01-19-00-00.gh-issue-82183.rNsTrt.rst
D Misc/NEWS.d/next/Library/2023-01-23-21-23-50.gh-issue-101267._f-cFH.rst
D Misc/NEWS.d/next/Library/2023-04-27-14-50-03.gh-issue-103925.khC-El.rst
D Misc/NEWS.d/next/Library/2023-06-12-21-31-02.gh-issue-105708.5fFwP8.rst
D Misc/NEWS.d/next/Library/2024-06-18-04-08-37.gh-issue-120665.x7T1hV.rst
D Misc/NEWS.d/next/Library/2025-09-05-20-50-35.gh-issue-79638.Y-JfaH.rst
D Misc/NEWS.d/next/Library/2025-11-02-05-28-56.gh-issue-115634.JbcNnF.rst
D Misc/NEWS.d/next/Library/2025-12-23-11-43-05.gh-issue-130796.TkzUGx.rst
D Misc/NEWS.d/next/Library/2026-01-18-06-42-47.gh-issue-143988.MtLtCP.rst
D Misc/NEWS.d/next/Library/2026-03-11-10-25-32.gh-issue-123720.TauFRx.rst
D Misc/NEWS.d/next/Library/2026-03-26-00-00-00.gh-issue-47005.xxc89c.rst
D Misc/NEWS.d/next/Library/2026-04-23-12-50-15.gh-issue-148441.zvpCkR.rst
D Misc/NEWS.d/next/Library/2026-05-02-13-54-19.gh-issue-149221.__KOks.rst
D Misc/NEWS.d/next/Library/2026-05-06-23-13-40.gh-issue-149319.PLM93t.rst
D Misc/NEWS.d/next/Library/2026-05-28-00-00-00.gh-issue-150484.XxYyZz.rst
D Misc/NEWS.d/next/Library/2026-06-09-12-00-00.gh-issue-150771.K7mNx2.rst
D Misc/NEWS.d/next/Library/2026-06-10-00-00-01.gh-issue-117807.Cx1178.rst
D Misc/NEWS.d/next/Library/2026-06-10-00-00-02.gh-issue-109940.Cx1099.rst
D Misc/NEWS.d/next/Library/2026-06-11-00-00-00.gh-issue-151295.NQYUzW.rst
D Misc/NEWS.d/next/Library/2026-06-11-10-00-00.gh-issue-119710.Qz7Kp2.rst
D Misc/NEWS.d/next/Library/2026-06-11-16-25-38.gh-issue-151126.bh_Usy.rst
D Misc/NEWS.d/next/Library/2026-06-11-21-43-24.gh-issue-151337.JSVV18.rst
D Misc/NEWS.d/next/Library/2026-06-12-00-00-00.gh-issue-151416.spawnUA.rst
D Misc/NEWS.d/next/Library/2026-06-12-00-04-34.gh-issue-151126.aHaBYq.rst
D Misc/NEWS.d/next/Library/2026-06-12-22-46-31.gh-issue-151403.DalZWh.rst
D Misc/NEWS.d/next/Library/2026-06-15-15-32-36.gh-issue-151497.1cfmSV.rst
D Misc/NEWS.d/next/Library/2026-06-17-00-00-00.gh-issue-148660.odcopy.rst
D Misc/NEWS.d/next/Library/2026-06-18-23-59-46.gh-issue-151596.5ma144.rst
D Misc/NEWS.d/next/Library/2026-06-19-07-26-20.gh-issue-151695.IBDlkN.rst
D Misc/NEWS.d/next/Library/2026-06-20-21-15-13.gh-issue-151814.OIbgsO.rst
D Misc/NEWS.d/next/Library/2026-06-21-15-50-24.gh-issue-86165.dyac1G.rst
D Misc/NEWS.d/next/Library/2026-06-22-18-01-00.gh-issue-151955.6u5iwm.rst
D Misc/NEWS.d/next/Library/2026-06-23-13-27-14.gh-issue-126219.kOfv2g.rst
D Misc/NEWS.d/next/Library/2026-06-24-10-46-35.gh-issue-152060.f2asrt.rst
D Misc/NEWS.d/next/Library/2026-06-24-12-00-00.gh-issue-152052.yBssDE.rst
D Misc/NEWS.d/next/Library/2026-06-24-12-00-00.gh-issue-152079.f1tzus.rst
D Misc/NEWS.d/next/Library/2026-06-24-22-16-35.gh-issue-105895.hRkuEw.rst
D Misc/NEWS.d/next/Library/2026-06-25-01-00-43.gh-issue-151763.wWeHBe.rst
D Misc/NEWS.d/next/Library/2026-06-25-07-08-17.gh-issue-152157.dt5Ef0.rst
D Misc/NEWS.d/next/Library/2026-06-25-10-07-54.gh-issue-152156.gscPU9.rst
D Misc/NEWS.d/next/Library/2026-06-25-12-00-00.gh-issue-152212.Zk7Qm2.rst
D Misc/NEWS.d/next/Library/2026-06-25-14-32-42.gh-issue-139145.kT9rmP.rst
D Misc/NEWS.d/next/Library/2026-06-25-14-32-43.gh-issue-139816.Lq2vXa.rst
D Misc/NEWS.d/next/Library/2026-06-26-12-50-26.gh-issue-152246.MfXMd1.rst
D Misc/NEWS.d/next/Library/2026-06-26-13-10-00.gh-issue-80937.Hq3mNp.rst
D Misc/NEWS.d/next/Library/2026-06-26-13-39-11.gh-issue-152248.N2Rmaf.rst
D Misc/NEWS.d/next/Library/2026-06-26-15-00-00.gh-issue-38464.yDPjKH.rst
D Misc/NEWS.d/next/Library/2026-06-26-15-30-00.gh-issue-88758.Qw7nLp.rst
D Misc/NEWS.d/next/Library/2026-06-26-16-30-00.gh-issue-83274.Kx9mQv.rst
D Misc/NEWS.d/next/Library/2026-06-26-23-56-40.gh-issue-71880.782D31.rst
D Misc/NEWS.d/next/Library/2026-06-27-12-30-00.gh-issue-133031.Na8Bit.rst
D Misc/NEWS.d/next/Library/2026-06-27-17-19-09.gh-issue-151126.huUyOM.rst
D Misc/NEWS.d/next/Library/2026-06-28-11-00-40.gh-issue-78335.Kp3mWq.rst
D Misc/NEWS.d/next/Library/2026-06-29-22-16-57.gh-issue-50966.Tq5mLp.rst
D Misc/NEWS.d/next/Library/2026-06-30-12-00-00.gh-issue-40038.qK7mGv.rst
D Misc/NEWS.d/next/Library/2026-06-30-21-40-00.gh-issue-152502.Kq3Vn7.rst
D Misc/NEWS.d/next/Library/2026-07-01-10-00-00.gh-issue-88574.Kz3wQm.rst
D Misc/NEWS.d/next/Library/2026-07-01-10-30-00.gh-issue-63121.Rm4tZp.rst
D Misc/NEWS.d/next/Library/2026-07-01-11-29-13.gh-issue-151126.eElGy5.rst
D Misc/NEWS.d/next/Library/2026-07-01-12-00-00.gh-issue-108280.Nq8vTr.rst
D Misc/NEWS.d/next/Library/2026-07-02-12-00-00.gh-issue-152847.PitKqc.rst
D Misc/NEWS.d/next/Library/2026-07-02-13-30-00.gh-issue-152849.K9dRvP.rst
D Misc/NEWS.d/next/Library/2026-07-02-22-19-53.gh-issue-150880.vPZ7jK.rst
D Misc/NEWS.d/next/Library/2026-07-03-14-54-33.gh-issue-152951.u8tPCI.rst
D Misc/NEWS.d/next/Library/2026-07-03-21-10-00.gh-issue-54930.hq09Er.rst
D Misc/NEWS.d/next/Library/2026-07-04-13-00-00.gh-issue-135661.CIkADG.rst
D Misc/NEWS.d/next/Library/2026-07-05-12-00-00.gh-issue-153056.tMpLat.rst
D Misc/NEWS.d/next/Library/2026-07-05-16-09-31.gh-issue-153068.huY9Jh.rst
D Misc/NEWS.d/next/Library/2026-07-06-12-00-00.gh-issue-153200.isqrtLt.rst
D Misc/NEWS.d/next/Library/2026-07-07-02-26-43.gh-issue-153210.LUXIcm.rst
D Misc/NEWS.d/next/Library/2026-07-07-17-50-54.gh-issue-143990.FoNtCf.rst
D Misc/NEWS.d/next/Library/2026-07-08-01-47-15.gh-issue-153083.XbKZCp.rst
D Misc/NEWS.d/next/Library/2026-07-09-00-00-00.gh-issue-153406.vyMmB6.rst
D Misc/NEWS.d/next/Library/2026-07-09-14-00-00.gh-issue-153417.Bw7Rq2.rst
D Misc/NEWS.d/next/Library/2026-07-09-16-35-47.gh-issue-153404.daRkes.rst
D Misc/NEWS.d/next/Library/2026-07-12-00-00-00.gh-issue-85943.8f906e.rst
D Misc/NEWS.d/next/Library/2026-07-13-10-27-08.gh-issue-153658.A6o4n5.rst
D Misc/NEWS.d/next/Library/2026-07-14-19-45-21.gh-issue-153695.UYdZJZ.rst
D Misc/NEWS.d/next/Library/2026-07-15-14-24-18.gh-issue-153761.8jqs67.rst
D Misc/NEWS.d/next/Library/2026-07-15-21-56-40.gh-issue-146011.nWmHif.rst
D Misc/NEWS.d/next/Library/2026-07-17-20-31-00.gh-issue-153862.X3kjoY.rst
D Misc/NEWS.d/next/Library/2026-07-17-20-56-32.gh-issue-153864.WmA9By.rst
D Misc/NEWS.d/next/Library/2026-07-18-10-52-10.gh-issue-153896.87oevp.rst
D Misc/NEWS.d/next/Library/2026-07-18-17-09-49.gh-issue-154001.3brrUv.rst
D Misc/NEWS.d/next/Library/2026-07-20-12-40-00.gh-issue-145030.TFJm6k.rst
D Misc/NEWS.d/next/Library/2026-07-20-14-00-00.gh-issue-154227.openpt.rst
D Misc/NEWS.d/next/Library/2026-07-20-14-10-00.gh-issue-154225.openpty.rst
D Misc/NEWS.d/next/Library/2026-07-20-18-30-00.gh-issue-154258.mmapresize.rst
D Misc/NEWS.d/next/Library/2026-07-20-21-36-40.gh-issue-154283.Xip7xE.rst
D Misc/NEWS.d/next/Library/2026-07-20-22-03-44.gh-issue-154291.Mi5HeQ.rst
D Misc/NEWS.d/next/Library/2026-07-21-01-13-39.gh-issue-154307.UNFKL4.rst
D Misc/NEWS.d/next/Library/2026-07-21-08-31-55.gh-issue-154324.vDxV5U.rst
D Misc/NEWS.d/next/Library/2026-07-21-20-34-05.gh-issue-154389.DlTiii.rst
D Misc/NEWS.d/next/Library/2026-07-21-21-36-59.gh-issue-154399.VSa6oH.rst
D Misc/NEWS.d/next/Library/2026-07-22-10-30-08.gh-issue-154435.xCxm0T.rst
D Misc/NEWS.d/next/Library/2026-07-22-13-00-00.gh-issue-154460.wCsFtM.rst
D Misc/NEWS.d/next/Library/2026-07-22-13-01-24.gh-issue-73458.byxSPi.rst
D Misc/NEWS.d/next/Library/2026-07-23-06-53-01.gh-issue-79366.3gMT7I.rst
D Misc/NEWS.d/next/Library/2026-07-23-19-45-00.gh-issue-154551.Ct7pL9.rst
D Misc/NEWS.d/next/Library/2026-07-25-13-30-00.gh-issue-93251.gAiErr.rst
D Misc/NEWS.d/next/Library/2026-07-26-00-00-00.gh-issue-154738.Rd5Pxe.rst
D Misc/NEWS.d/next/Library/2026-07-29-11-20-00.gh-issue-98820.Qm7Hs4.rst
D Misc/NEWS.d/next/Library/2026-07-29-11-25-00.gh-issue-109638.Vt2Rn9.rst
D Misc/NEWS.d/next/Library/2026-07-29-18-30-00.gh-issue-154848.Fr4meB.rst
D Misc/NEWS.d/next/Library/2026-07-29-19-48-59.gh-issue-154871.tgZILS.rst
D Misc/NEWS.d/next/Library/2026-07-29-21-37-39.gh-issue-154892.eQyJ3Z.rst
D Misc/NEWS.d/next/Library/2026-07-30-23-29-56.gh-issue-154936.a90443.rst
D Misc/NEWS.d/next/Library/2026-08-01-18-37-56.gh-issue-155063.xC9PcH.rst
D Misc/NEWS.d/next/Library/2026-08-04-19-03-20.gh-issue-155063.gN_mCU.rst
D Misc/NEWS.d/next/Security/2026-01-16-11-41-06.gh-issue-143921.AeCOor.rst
D Misc/NEWS.d/next/Security/2026-01-16-11-58-19.gh-issue-143927.aviFeG.rst
D Misc/NEWS.d/next/Security/2026-05-30-00-00-00.gh-issue-150743.httpdos.rst
D Misc/NEWS.d/next/Security/2026-06-10-13-08-19.gh-issue-151558.mL74i2.rst
D Misc/NEWS.d/next/Security/2026-06-16-14-58-02.gh-issue-151544._bexVy.rst
D Misc/NEWS.d/next/Security/2026-06-23-13-28-16.gh-issue-151981.xBHEcU.rst
D Misc/NEWS.d/next/Security/2026-06-23-14-19-30.gh-issue-151987.8mNIMf.rst
D Misc/NEWS.d/next/Security/2026-06-25-20-44-20.gh-issue-152216.VxiK5y.rst
D Misc/NEWS.d/next/Security/2026-06-30-13-24-13.gh-issue-152674.-2QVoL.rst
D Misc/NEWS.d/next/Security/2026-07-04-17-00-00.gh-issue-153030.RovkP6.rst
D Misc/NEWS.d/next/Tests/2026-06-16-05-11-38.gh-issue-151096.Kq3Lp9.rst
D Misc/NEWS.d/next/Tests/2026-06-22-19-45-00.gh-issue-151626.K9pZ2x.rst
D Misc/NEWS.d/next/Tests/2026-06-29-10-14-09.gh-issue-152548.Khw9J7.rst
D Misc/NEWS.d/next/Tests/2026-07-19-18-20-00.gh-issue-154144.tcbool.rst
D Misc/NEWS.d/next/Tests/2026-07-19-20-15-00.gh-issue-154167.sigint.rst
D Misc/NEWS.d/next/Tests/2026-07-24-12-00-00.gh-issue-76595.KfF5xR.rst
D Misc/NEWS.d/next/Tools-Demos/2026-07-24-09-30-00.gh-issue-154580.Kp3nQ2.rst
D Misc/NEWS.d/next/Tools-Demos/2026-08-04-17-12-33.gh-issue-64502.Qv7mLp.rst
D Misc/NEWS.d/next/Tools-Demos/2026-08-05-10-24-17.gh-issue-155207.Wv3nKq.rst
D Misc/NEWS.d/next/Tools-Demos/2026-08-05-14-02-55.gh-issue-155218.Nq4xZv.rst
D Misc/NEWS.d/next/Windows/2026-04-21-16-07-11.gh-issue-140146.TAcUHA.rst
D Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst
M Doc/library/concurrent.futures.rst
M Include/patchlevel.h
M Lib/pydoc_data/module_docs.py
M Lib/pydoc_data/topics.py
M README.rst

diff --git a/Doc/library/concurrent.futures.rst b/Doc/library/concurrent.futures.rst
index 5b53afb074164bc..d4c05f16889c3e0 100644
--- a/Doc/library/concurrent.futures.rst
+++ b/Doc/library/concurrent.futures.rst
@@ -322,7 +322,7 @@ in a REPL or a lambda should not be expected to work.
       *max_workers* uses :func:`os.process_cpu_count` by default, instead of
       :func:`os.cpu_count`.
 
-   .. versionchanged:: next
+   .. versionchanged:: 3.13.15
       Fixed a deadlock (:gh:`115634`) where the executor could hang after
       a worker process exited upon reaching its *max_tasks_per_child*
       limit while tasks remained queued.
diff --git a/Include/patchlevel.h b/Include/patchlevel.h
index 9885afcb7fef053..613d52d86f134ff 100644
--- a/Include/patchlevel.h
+++ b/Include/patchlevel.h
@@ -18,12 +18,12 @@
 /*--start constants--*/
 #define PY_MAJOR_VERSION        3
 #define PY_MINOR_VERSION        13
-#define PY_MICRO_VERSION        14
+#define PY_MICRO_VERSION        15
 #define PY_RELEASE_LEVEL        PY_RELEASE_LEVEL_FINAL
 #define PY_RELEASE_SERIAL       0
 
 /* Version as a string */
-#define PY_VERSION              "3.13.14+"
+#define PY_VERSION              "3.13.15"
 /*--end constants--*/
 
 /* Version as a single 4-byte hex number, e.g. 0x010502B2 == 1.5.2b2.
diff --git a/Lib/pydoc_data/module_docs.py b/Lib/pydoc_data/module_docs.py
index 9e4564909676f05..0cfb85d3298d42d 100644
--- a/Lib/pydoc_data/module_docs.py
+++ b/Lib/pydoc_data/module_docs.py
@@ -1,4 +1,4 @@
-# Autogenerated by Sphinx on Wed Jun 10 14:23:59 2026
+# Autogenerated by Sphinx on Wed Aug  5 14:25:38 2026
 # as part of the release process.
 
 module_docs = {
@@ -245,6 +245,7 @@
     'tkinter': 'tkinter#module-tkinter',
     'tkinter.colorchooser': 'tkinter.colorchooser#module-tkinter.colorchooser',
     'tkinter.commondialog': 'dialog#module-tkinter.commondialog',
+    'tkinter.dialog': 'dialog#module-tkinter.dialog',
     'tkinter.dnd': 'tkinter.dnd#module-tkinter.dnd',
     'tkinter.filedialog': 'dialog#module-tkinter.filedialog',
     'tkinter.font': 'tkinter.font#module-tkinter.font',
diff --git a/Lib/pydoc_data/topics.py b/Lib/pydoc_data/topics.py
index 31d582a90abcbb6..c23420979bd8c06 100644
--- a/Lib/pydoc_data/topics.py
+++ b/Lib/pydoc_data/topics.py
@@ -1,4 +1,4 @@
-# Autogenerated by Sphinx on Wed Jun 10 14:23:59 2026
+# Autogenerated by Sphinx on Wed Aug  5 14:25:38 2026
 # as part of the release process.
 
 topics = {
@@ -127,7 +127,7 @@ class Cls:
      inst.x = inst.x + 1   # writes inst.x as 4 leaving Cls.x as 3
 
   This description does not necessarily apply to descriptor
-  attributes, such as properties created with "property()".
+  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
@@ -761,7 +761,7 @@ class to a new value, *value*.
 instances to acquire behaviors that differ from other instances of the
 same class.
 
-The "property()" function is implemented as a data descriptor.
+The "@property" decorator is implemented as a data descriptor.
 Accordingly, instances cannot override the behavior of a property.
 
 
@@ -1581,7 +1581,7 @@ class attributes; they are shared by instances.  Instance attributes
 
   The last two expressions apply to totally ordered collections (e.g.
   to sequences, but not to sets or mappings). See also the
-  "total_ordering()" decorator.
+  "@~functools.total_ordering" decorator.
 
 * The "hash()" result should be consistent with equality. Objects that
   are equal should either have the same hash value, or be marked as
@@ -1839,12 +1839,12 @@ class attributes; they are shared by instances.  Instance attributes
 handler, the outer handler will not handle the exception.)
 
 When an exception has been assigned using "as target", it is cleared
-at the end of the "except" clause.  This is as if
+at the end of the "except" clause.  This is as if:
 
    except E as N:
        foo
 
-was translated to
+was translated to:
 
    except E as N:
        try:
@@ -1892,8 +1892,8 @@ class attributes; they are shared by instances.  Instance attributes
 type for matching is mandatory in the case of "except*", so "except*:"
 is a syntax error. The type is interpreted as in the case of "except",
 but matching is performed on the exceptions contained in the group
-that is being handled. An "TypeError" is raised if a matching type is
-a subclass of "BaseExceptionGroup", because that would have ambiguous
+that is being handled. A "TypeError" is raised if a matching type is a
+subclass of "BaseExceptionGroup", because that would have ambiguous
 semantics.
 
 When an exception group is raised in the try block, each "except*"
@@ -1908,7 +1908,7 @@ class attributes; they are shared by instances.  Instance attributes
 
 After all "except*" clauses execute, the group of unhandled exceptions
 is merged with any exceptions that were raised or re-raised from
-within "except*" clauses. This merged exception group propagates on.:
+within "except*" clauses. This merged exception group propagates on:
 
    >>> try:
    ...     raise ExceptionGroup("eg",
@@ -2793,7 +2793,7 @@ def func(): pass
 by appending an item to a list), the default parameter value is in
 effect modified.  This is generally not what was intended.  A way
 around this is to use "None" as the default, and explicitly test for
-it in the body of the function, e.g.:
+it in the body of the function, for example:
 
    def whats_on_the_telly(penguin=None):
        if penguin is None:
@@ -3648,7 +3648,7 @@ class Bag(Base[T], typing.Generic[T], arg=T):
    operators or default implementations; for example, the truth of
    "(x<y or x==y)" does not imply "x<=y". To automatically generate
    ordering operations from a single root operation, see
-   "functools.total_ordering()".
+   "@functools.total_ordering".
 
    By default, the "object" class provides implementations consistent
    with Value comparisons: equality compares according to object
@@ -5876,7 +5876,7 @@ def func(): pass
 by appending an item to a list), the default parameter value is in
 effect modified.  This is generally not what was intended.  A way
 around this is to use "None" as the default, and explicitly test for
-it in the body of the function, e.g.:
+it in the body of the function, for example:
 
    def whats_on_the_telly(penguin=None):
        if penguin is None:
@@ -6506,6 +6506,603 @@ def <lambda>(parameters):
 from left to right and placed into the list object in that order.
 When a comprehension is supplied, the list is constructed from the
 elements resulting from the comprehension.
+''',
+    'match': r'''The "match" statement
+*********************
+
+Added in version 3.10.
+
+The match statement is used for pattern matching.  Syntax:
+
+   match_stmt   ::= 'match' subject_expr ":" NEWLINE INDENT case_block+ DEDENT
+   subject_expr ::= flexible_expression "," [flexible_expression_list [',']]
+                    | assignment_expression
+   case_block   ::= 'case' patterns [guard] ":" suite
+
+Note:
+
+  This section uses single quotes to denote soft keywords.
+
+Pattern matching takes a pattern as input (following "case") and a
+subject value (following "match").  The pattern (which may contain
+subpatterns) is matched against the subject value.  The outcomes are:
+
+* A match success or failure (also termed a pattern success or
+  failure).
+
+* Possible binding of matched values to a name.  The prerequisites for
+  this are further discussed below.
+
+The "match" and "case" keywords are soft keywords.
+
+See also:
+
+  * **PEP 634** – Structural Pattern Matching: Specification
+
+  * **PEP 636** – Structural Pattern Matching: Tutorial
+
+
+Overview
+========
+
+Here’s an overview of the logical flow of a match statement:
+
+1. The subject expression "subject_expr" is evaluated and a resulting
+   subject value obtained. If the subject expression contains a comma,
+   a tuple is constructed using the standard rules.
+
+2. Each pattern in a "case_block" is attempted to match with the
+   subject value. The specific rules for success or failure are
+   described below. The match attempt can also bind some or all of the
+   standalone names within the pattern. The precise pattern binding
+   rules vary per pattern type and are specified below.  **Name
+   bindings made during a successful pattern match outlive the
+   executed block and can be used after the match statement**.
+
+   Note:
+
+     During failed pattern matches, some subpatterns may succeed.  Do
+     not rely on bindings being made for a failed match.  Conversely,
+     do not rely on variables remaining unchanged after a failed
+     match.  The exact behavior is dependent on implementation and may
+     vary.  This is an intentional decision made to allow different
+     implementations to add optimizations.
+
+3. If the pattern succeeds, the corresponding guard (if present) is
+   evaluated. In this case all name bindings are guaranteed to have
+   happened.
+
+   * If the guard evaluates as true or is missing, the "block" inside
+     "case_block" is executed.
+
+   * Otherwise, the next "case_block" is attempted as described above.
+
+   * If there are no further case blocks, the match statement is
+     completed.
+
+Note:
+
+  Users should generally never rely on a pattern being evaluated.
+  Depending on implementation, the interpreter may cache values or use
+  other optimizations which skip repeated evaluations.
+
+A sample match statement:
+
+   >>> flag = False
+   >>> match (100, 200):
+   ...    case (100, 300):  # Mismatch: 200 != 300
+   ...        print('Case 1')
+   ...    case (100, 200) if flag:  # Successful match, but guard fails
+   ...        print('Case 2')
+   ...    case (100, y):  # Matches and binds y to 200
+   ...        print(f'Case 3, y: {y}')
+   ...    case _:  # Pattern not attempted
+   ...        print('Case 4, I match anything!')
+   ...
+   Case 3, y: 200
+
+In this case, "if flag" is a guard.  Read more about that in the next
+section.
+
+
+Guards
+======
+
+   guard ::= "if" assignment_expression
+
+A "guard" (which is part of the "case") must succeed for code inside
+the "case" block to execute.  It takes the form: "if" followed by an
+expression.
+
+The logical flow of a "case" block with a "guard" follows:
+
+1. Check that the pattern in the "case" block succeeded.  If the
+   pattern failed, the "guard" is not evaluated and the next "case"
+   block is checked.
+
+2. If the pattern succeeded, evaluate the "guard".
+
+   * If the "guard" condition evaluates as true, the case block is
+     selected.
+
+   * If the "guard" condition evaluates as false, the case block is
+     not selected.
+
+   * If the "guard" raises an exception during evaluation, the
+     exception bubbles up.
+
+Guards are allowed to have side effects as they are expressions.
+Guard evaluation must proceed from the first to the last case block,
+one at a time, skipping case blocks whose pattern(s) don’t all
+succeed. (I.e., guard evaluation must happen in order.) Guard
+evaluation must stop once a case block is selected.
+
+
+Irrefutable Case Blocks
+=======================
+
+An irrefutable case block is a match-all case block.  A match
+statement may have at most one irrefutable case block, and it must be
+last.
+
+A case block is considered irrefutable if it has no guard and its
+pattern is irrefutable.  A pattern is considered irrefutable if we can
+prove from its syntax alone that it will always succeed.  Only the
+following patterns are irrefutable:
+
+* AS Patterns whose left-hand side is irrefutable
+
+* OR Patterns containing at least one irrefutable pattern
+
+* Capture Patterns
+
+* Wildcard Patterns
+
+* parenthesized irrefutable patterns
+
+
+Patterns
+========
+
+Note:
+
+  This section uses grammar notations beyond standard EBNF:
+
+  * the notation "SEP.RULE+" is shorthand for "RULE (SEP RULE)*"
+
+  * the notation "!RULE" is shorthand for a negative lookahead
+    assertion
+
+The top-level syntax for "patterns" is:
+
+   patterns       ::= open_sequence_pattern | pattern
+   pattern        ::= as_pattern | or_pattern
+   closed_pattern ::= | literal_pattern
+                      | capture_pattern
+                      | wildcard_pattern
+                      | value_pattern
+                      | group_pattern
+                      | sequence_pattern
+                      | mapping_pattern
+                      | class_pattern
+
+The descriptions below will include a description “in simple terms” of
+what a pattern does for illustration purposes (credits to Raymond
+Hettinger for a document that inspired most of the descriptions). Note
+that these descriptions are purely for illustration purposes and **may
+not** reflect the underlying implementation.  Furthermore, they do not
+cover all valid forms.
+
+
+OR Patterns
+-----------
+
+An OR pattern is two or more patterns separated by vertical bars "|".
+Syntax:
+
+   or_pattern ::= "|".closed_pattern+
+
+Only the final subpattern may be irrefutable, and each subpattern must
+bind the same set of names to avoid ambiguity.
+
+An OR pattern matches each of its subpatterns in turn to the subject
+value, until one succeeds.  The OR pattern is then considered
+successful.  Otherwise, if none of the subpatterns succeed, the OR
+pattern fails.
+
+In simple terms, "P1 | P2 | ..." will try to match "P1", if it fails
+it will try to match "P2", succeeding immediately if any succeeds,
+failing otherwise.
+
+
+AS Patterns
+-----------
+
+An AS pattern matches an OR pattern on the left of the "as" keyword
+against a subject.  Syntax:
+
+   as_pattern ::= or_pattern "as" capture_pattern
+
+If the OR pattern fails, the AS pattern fails.  Otherwise, the AS
+pattern binds the subject to the name on the right of the as keyword
+and succeeds. "capture_pattern" cannot be a "_".
+
+In simple terms "P as NAME" will match with "P", and on success it
+will set "NAME = <subject>".
+
+
+Literal Patterns
+----------------
+
+A literal pattern corresponds to most literals in Python.  Syntax:
+
+   literal_pattern ::= signed_number
+                       | signed_number "+" NUMBER
+                       | signed_number "-" NUMBER
+                       | `!strings`
+                       | "None"
+                       | "True"
+                       | "False"
+   signed_number   ::= ["-"] NUMBER
+
+The rule "strings" and the token "NUMBER" are defined in the standard
+Python grammar.  Triple-quoted strings are supported.  Raw strings and
+byte strings are supported.  f-strings are not supported.
+
+The forms "signed_number '+' NUMBER" and "signed_number '-' NUMBER"
+are for expressing complex numbers; they require a real number on the
+left and an imaginary number on the right. E.g. "3 + 4j".
+
+In simple terms, "LITERAL" will succeed only if "<subject> ==
+LITERAL". For the singletons "None", "True" and "False", the "is"
+operator is used.
+
+
+Capture Patterns
+----------------
+
+A capture pattern binds the subject value to a name. Syntax:
+
+   capture_pattern ::= !'_' NAME
+
+A single underscore "_" is not a capture pattern (this is what "!'_'"
+expresses). It is instead treated as a "wildcard_pattern".
+
+In a given pattern, a given name can only be bound once.  E.g. "case
+x, x: ..." is invalid while "case [x] | x: ..." is allowed.
+
+Capture patterns always succeed.  The binding follows scoping rules
+established by the assignment expression operator in **PEP 572**; the
+name becomes a local variable in the closest containing function scope
+unless there’s an applicable "global" or "nonlocal" statement.
+
+In simple terms "NAME" will always succeed and it will set "NAME =
+<subject>".
+
+
+Wildcard Patterns
+-----------------
+
+A wildcard pattern always succeeds (matches anything) and binds no
+name.  Syntax:
+
+   wildcard_pattern ::= '_'
+
+"_" is a soft keyword within any pattern, but only within patterns.
+It is an identifier, as usual, even within "match" subject
+expressions, "guard"s, and "case" blocks.
+
+In simple terms, "_" will always succeed.
+
+
+Value Patterns
+--------------
+
+A value pattern represents a named value in Python. Syntax:
+
+   value_pattern ::= attr
+   attr          ::= name_or_attr "." NAME
+   name_or_attr  ::= attr | NAME
+
+The dotted name in the pattern is looked up using standard Python name
+resolution rules.  The pattern succeeds if the value found compares
+equal to the subject value (using the "==" equality operator).
+
+In simple terms "NAME1.NAME2" will succeed only if "<subject> ==
+NAME1.NAME2"
+
+Note:
+
+  If the same value occurs multiple times in the same match statement,
+  the interpreter may cache the first value found and reuse it rather
+  than repeat the same lookup.  This cache is strictly tied to a given
+  execution of a given match statement.
+
+
+Group Patterns
+--------------
+
+A group pattern allows users to add parentheses around patterns to
+emphasize the intended grouping.  Otherwise, it has no additional
+syntax. Syntax:
+
+   group_pattern ::= "(" pattern ")"
+
+In simple terms "(P)" has the same effect as "P".
+
+
+Sequence Patterns
+-----------------
+
+A sequence pattern contains several subpatterns to be matched against
+sequence elements. The syntax is similar to the unpacking of a list or
+tuple.
+
+   sequence_pattern       ::= "[" [maybe_sequence_pattern] "]"
+                              | "(" [open_sequence_pattern] ")"
+   open_sequence_pattern  ::= maybe_star_pattern "," [maybe_sequence_pattern]
+   maybe_sequence_pattern ::= ",".maybe_star_pattern+ ","?
+   maybe_star_pattern     ::= star_pattern | pattern
+   star_pattern           ::= "*" (capture_pattern | wildcard_pattern)
+
+There is no difference if parentheses  or square brackets are used for
+sequence patterns (i.e. "(...)" vs "[...]" ).
+
+Note:
+
+  A single pattern enclosed in parentheses without a trailing comma
+  (e.g. "(3 | 4)") is a group pattern. While a single pattern enclosed
+  in square brackets (e.g. "[3 | 4]") is still a sequence pattern.
+
+At most one star subpattern may be in a sequence pattern.  The star
+subpattern may occur in any position. If no star subpattern is
+present, the sequence pattern is a fixed-length sequence pattern;
+otherwise it is a variable-length sequence pattern.
+
+The following is the logical flow for matching a sequence pattern
+against a subject value:
+
+1. If the subject value is not a sequence [2], the sequence pattern
+   fails.
+
+2. If the subject value is an instance of "str", "bytes" or
+   "bytearray" the sequence pattern fails.
+
+3. The subsequent steps depend on whether the sequence pattern is
+   fixed or variable-length.
+
+   If the sequence pattern is fixed-length:
+
+   1. If the length of the subject sequence is not equal to the number
+      of subpatterns, the sequence pattern fails
+
+   2. Subpatterns in the sequence pattern are matched to their
+      corresponding items in the subject sequence from left to right.
+      Matching stops as soon as a subpattern fails.  If all
+      subpatterns succeed in matching their corresponding item, the
+      sequence pattern succeeds.
+
+   Otherwise, if the sequence pattern is variable-length:
+
+   1. If the length of the subject sequence is less than the number of
+      non-star subpatterns, the sequence pattern fails.
+
+   2. The leading non-star subpatterns are matched to their
+      corresponding items as for fixed-length sequences.
+
+   3. If the previous step succeeds, the star subpattern matches a
+      list formed of the remaining subject items, excluding the
+      remaining items corresponding to non-star subpatterns following
+      the star subpattern.
+
+   4. Remaining non-star subpatterns are matched to their
+      corresponding subject items, as for a fixed-length sequence.
+
+   Note:
+
+     The length of the subject sequence is obtained via "len()" (i.e.
+     via the "__len__()" protocol). This length may be cached by the
+     interpreter in a similar manner as value patterns.
+
+In simple terms "[P1, P2, P3," … ", P<N>]" matches only if all the
+following happens:
+
+* check "<subject>" is a sequence
+
+* "len(subject) == <N>"
+
+* "P1" matches "<subject>[0]" (note that this match can also bind
+  names)
+
+* "P2" matches "<subject>[1]" (note that this match can also bind
+  names)
+
+* … and so on for the corresponding pattern/element.
+
+
+Mapping Patterns
+----------------
+
+A mapping pattern contains one or more key-value patterns.  The syntax
+is similar to the construction of a dictionary. Syntax:
+
+   mapping_pattern     ::= "{" [items_pattern] "}"
+   items_pattern       ::= ",".key_value_pattern+ ","?
+   key_value_pattern   ::= (literal_pattern | value_pattern) ":" pattern
+                           | double_star_pattern
+   double_star_pattern ::= "**" capture_pattern
+
+At most one double star pattern may be in a mapping pattern.  The
+double star pattern must be the last subpattern in the mapping
+pattern.
+
+Duplicate keys in mapping patterns are disallowed. Duplicate literal
+keys will raise a "SyntaxError". Two keys that otherwise have the same
+value will raise a "ValueError" at runtime.
+
+The following is the logical flow for matching a mapping pattern
+against a subject value:
+
+1. If the subject value is not a mapping [3],the mapping pattern
+   fails.
+
+2. If every key given in the mapping pattern is present in the subject
+   mapping, and the pattern for each key matches the corresponding
+   item of the subject mapping, the mapping pattern succeeds.
+
+3. If duplicate keys are detected in the mapping pattern, the pattern
+   is considered invalid. A "SyntaxError" is raised for duplicate
+   literal values; or a "ValueError" for named keys of the same value.
+
+Note:
+
+  Key-value pairs are matched using the two-argument form of the
+  mapping subject’s "get()" method.  Matched key-value pairs must
+  already be present in the mapping, and not created on-the-fly via
+  "__missing__()" or "__getitem__()".
+
+In simple terms "{KEY1: P1, KEY2: P2, ... }" matches only if all the
+following happens:
+
+* check "<subject>" is a mapping
+
+* "KEY1 in <subject>"
+
+* "P1" matches "<subject>[KEY1]"
+
+* … and so on for the corresponding KEY/pattern pair.
+
+
+Class Patterns
+--------------
+
+A class pattern represents a class and its positional and keyword
+arguments (if any).  Syntax:
+
+   class_pattern       ::= name_or_attr "(" [pattern_arguments ","?] ")"
+   pattern_arguments   ::= positional_patterns ["," keyword_patterns]
+                           | keyword_patterns
+   positional_patterns ::= ",".pattern+
+   keyword_patterns    ::= ",".keyword_pattern+
+   keyword_pattern     ::= NAME "=" pattern
+
+The same keyword should not be repeated in class patterns.
+
+The following is the logical flow for matching a class pattern against
+a subject value:
+
+1. If "name_or_attr" is not an instance of the builtin "type" , raise
+   "TypeError".
+
+2. If the subject value is not an instance of "name_or_attr" (tested
+   via "isinstance()"), the class pattern fails.
+
+3. If no pattern arguments are present, the pattern succeeds.
+   Otherwise, the subsequent steps depend on whether keyword or
+   positional argument patterns are present.
+
+   For a number of built-in types (specified below), a single
+   positional subpattern is accepted which will match the entire
+   subject; for these types keyword patterns also work as for other
+   types.
+
+   If only keyword patterns are present, they are processed as
+   follows, one by one:
+
+   1. The keyword is looked up as an attribute on the subject.
+
+      * If this raises an exception other than "AttributeError", the
+        exception bubbles up.
+
+      * If this raises "AttributeError", the class pattern has failed.
+
+      * Else, the subpattern associated with the keyword pattern is
+        matched against the subject’s attribute value.  If this fails,
+        the class pattern fails; if this succeeds, the match proceeds
+        to the next keyword.
+
+   2. If all keyword patterns succeed, the class pattern succeeds.
+
+   If any positional patterns are present, they are converted to
+   keyword patterns using the "__match_args__" attribute on the class
+   "name_or_attr" before matching:
+
+   1. The equivalent of "getattr(cls, "__match_args__", ())" is
+      called.
+
+      * If this raises an exception, the exception bubbles up.
+
+      * If the returned value is not a tuple, the conversion fails and
+        "TypeError" is raised.
+
+      * If there are more positional patterns than
+        "len(cls.__match_args__)", "TypeError" is raised.
+
+      * Otherwise, positional pattern "i" is converted to a keyword
+        pattern using "__match_args__[i]" as the keyword.
+        "__match_args__[i]" must be a string; if not "TypeError" is
+        raised.
+
+      * If there are duplicate keywords, "TypeError" is raised.
+
+      See also:
+
+        Customizing positional arguments in class pattern matching
+
+   2. Once all positional patterns have been converted to keyword
+      patterns, the match proceeds as if there were only keyword
+      patterns.
+
+   For the following built-in types the handling of positional
+   subpatterns is different:
+
+   * "bool"
+
+   * "bytearray"
+
+   * "bytes"
+
+   * "dict"
+
+   * "float"
+
+   * "frozenset"
+
+   * "int"
+
+   * "list"
+
+   * "set"
+
+   * "str"
+
+   * "tuple"
+
+   These classes accept a single positional argument, and the pattern
+   there is matched against the whole object rather than an attribute.
+   For example "int(0|1)" matches the value "0", but not the value
+   "0.0".
+
+In simple terms "CLS(P1, attr=P2)" matches only if the following
+happens:
+
+* "isinstance(<subject>, CLS)"
+
+* convert "P1" to a keyword pattern using "CLS.__match_args__"
+
+* For each keyword argument "attr=P2":
+
+  * "hasattr(<subject>, "attr")"
+
+  * "P2" matches "<subject>.attr"
+
+* … and so on for the corresponding keyword argument/pattern pair.
+
+See also:
+
+  * **PEP 634** – Structural Pattern Matching: Specification
+
+  * **PEP 636** – Structural Pattern Matching: Tutorial
 ''',
     'naming': r'''Naming and binding
 ******************
@@ -7815,7 +8412,7 @@ class C: pass       # a class with no methods (yet)
    operators or default implementations; for example, the truth of
    "(x<y or x==y)" does not imply "x<=y". To automatically generate
    ordering operations from a single root operation, see
-   "functools.total_ordering()".
+   "@functools.total_ordering".
 
    By default, the "object" class provides implementations consistent
    with Value comparisons: equality compares according to object
@@ -8182,7 +8779,7 @@ class to a new value, *value*.
 instances to acquire behaviors that differ from other instances of the
 same class.
 
-The "property()" function is implemented as a data descriptor.
+The "@property" decorator is implemented as a data descriptor.
 Accordingly, instances cannot override the behavior of a property.
 
 
@@ -10491,12 +11088,12 @@ class is used in a class pattern with positional arguments, each
 handler, the outer handler will not handle the exception.)
 
 When an exception has been assigned using "as target", it is cleared
-at the end of the "except" clause.  This is as if
+at the end of the "except" clause.  This is as if:
 
    except E as N:
        foo
 
-was translated to
+was translated to:
 
    except E as N:
        try:
@@ -10544,8 +11141,8 @@ class is used in a class pattern with positional arguments, each
 type for matching is mandatory in the case of "except*", so "except*:"
 is a syntax error. The type is interpreted as in the case of "except",
 but matching is performed on the exceptions contained in the group
-that is being handled. An "TypeError" is raised if a matching type is
-a subclass of "BaseExceptionGroup", because that would have ambiguous
+that is being handled. A "TypeError" is raised if a matching type is a
+subclass of "BaseExceptionGroup", because that would have ambiguous
 semantics.
 
 When an exception group is raised in the try block, each "except*"
@@ -10560,7 +11157,7 @@ class is used in a class pattern with positional arguments, each
 
 After all "except*" clauses execute, the group of unhandled exceptions
 is merged with any exceptions that were raised or re-raised from
-within "except*" clauses. This merged exception group propagates on.:
+within "except*" clauses. This merged exception group propagates on:
 
    >>> try:
    ...     raise ExceptionGroup("eg",
diff --git a/Misc/NEWS.d/3.13.15.rst b/Misc/NEWS.d/3.13.15.rst
new file mode 100644
index 000000000000000..0d90f4cbe343a9a
--- /dev/null
+++ b/Misc/NEWS.d/3.13.15.rst
@@ -0,0 +1,1860 @@
+.. date: 2026-08-05-02-02-33
+.. gh-issue: 153711
+.. nonce: pO9fFb
+.. release date: 2026-08-05
+.. section: macOS
+
+On macOS, do not attempt to use the :manpage:`dup3(2)` and
+:manpage:`pipe2(2)` system calls introduced in macOS 27 to prevent problems
+when running on older systems.
+
+..
+
+.. date: 2026-04-21-16-07-11
+.. gh-issue: 140146
+.. nonce: TAcUHA
+.. section: Windows
+
+Prevent :mod:`tkinter` from hanging on Windows if stdin is redirected to a
+pipe in an interactive session. This is helpful for testing interactive
+usage of tkinter from a script, for example as part of the cpython test
+suite.
+
+..
+
+.. date: 2026-08-05-14-02-55
+.. gh-issue: 155218
+.. nonce: Nq4xZv
+.. section: Tools/Demos
+
+Fix Argument Clinic generating the flags of the optional groups in different
+order on 32-bit and 64-bit platforms.
+
+..
+
+.. date: 2026-08-05-10-24-17
+.. gh-issue: 155207
+.. nonce: Wv3nKq
+.. section: Tools/Demos
+
+Argument Clinic now supports the ``--dry-run`` and ``--diff`` options. They
+list the files which would be changed, or write a unified diff of the
+changes to the standard output, without modifying any file.
+
+..
+
+.. date: 2026-08-04-17-12-33
+.. gh-issue: 64502
+.. nonce: Qv7mLp
+.. section: Tools/Demos
+
+Fix Argument Clinic support of parameters with a default value used together
+with optional groups. Such parameters were always required in the generated
+parsing code.
+
+..
+
+.. date: 2026-07-24-09-30-00
+.. gh-issue: 154580
+.. nonce: Kp3nQ2
+.. section: Tools/Demos
+
+Fix ``python-gdb.py`` raising :exc:`UnicodeEncodeError` when pretty-printing
+a non-ASCII :class:`str` in a locale whose host charset cannot encode it,
+such as any non-ASCII string in the C locale.
+
+..
+
+.. date: 2026-07-24-12-00-00
+.. gh-issue: 76595
+.. nonce: KfF5xR
+.. section: Tests
+
+Add C API tests for :c:func:`PyCapsule_Import`.
+
+..
+
+.. date: 2026-07-19-20-15-00
+.. gh-issue: 154167
+.. nonce: sigint
+.. section: Tests
+
+The test runner (regrtest) now restores the default SIGINT handler if it was
+inherited as ignored, so the test suite no longer hangs when run as a shell
+background job.
+
+..
+
+.. date: 2026-07-19-18-20-00
+.. gh-issue: 154144
+.. nonce: tcbool
+.. section: Tests
+
+Fix building the :mod:`!_testcapi` module on NetBSD.
+
+..
+
+.. date: 2026-06-29-10-14-09
+.. gh-issue: 152548
+.. nonce: Khw9J7
+.. section: Tests
+
+Add the :func:`test.support.isolation.runInSubprocess` decorator to run a
+test method or ``TestCase`` subclass in a fresh interpreter subprocess,
+isolated from the rest of the test run.
+
+..
+
+.. date: 2026-06-22-19-45-00
+.. gh-issue: 151626
+.. nonce: K9pZ2x
+.. section: Tests
+
+Fix several tests in ``test.test_inspect``, ``test.test_import``,
+``test.test_importlib``, ``test.test_py_compile`` and
+``test.test_compileall`` that failed when the test suite was run with
+:envvar:`PYTHONPYCACHEPREFIX` set.  These tests now neutralize the pycache
+prefix where they assume the default ``__pycache__`` bytecode layout.
+
+..
+
+.. date: 2026-06-16-05-11-38
+.. gh-issue: 151096
+.. nonce: Kq3Lp9
+.. section: Tests
+
+Fix ``test_embed`` failing when CPython is configured with a split exec
+prefix (``--exec-prefix`` differing from ``--prefix``).
+
+..
+
+.. date: 2026-07-04-17-00-00
+.. gh-issue: 153030
+.. nonce: RovkP6
+.. section: Security
+
+Fixed quadratic complexity in incremental parsing of long unterminated
+constructs (such as tags or comments) in :class:`html.parser.HTMLParser`,
+which could be exploited for a denial of service.
+
+..
+
+.. date: 2026-06-30-13-24-13
+.. gh-issue: 152674
+.. nonce: -2QVoL
+.. section: Security
+
+The :class:`xml.etree.ElementTree.Element` methods
+:meth:`~xml.etree.ElementTree.Element.findall`,
+:meth:`~xml.etree.ElementTree.Element.iterfind` and
+:meth:`~xml.etree.ElementTree.Element.find` avoid quadratic behavior when
+using XPath index predicates (``[1]``, ``[last()]``, ``[last()-N]``) on XML
+documents with many same-tag siblings.
+
+..
+
+.. date: 2026-06-25-20-44-20
+.. gh-issue: 152216
+.. nonce: VxiK5y
+.. section: Security
+
+Update bundled `libexpat <https://libexpat.github.io/>`_ to version 2.8.2.
+
+..
+
+.. date: 2026-06-23-14-19-30
+.. gh-issue: 151987
+.. nonce: 8mNIMf
+.. section: Security
+
+The :meth:`tarfile.TarFile.extract` method now applies the given filter when
+it extracts a link target from the archive as a fallback.
+
+..
+
+.. date: 2026-06-23-13-28-16
+.. gh-issue: 151981
+.. nonce: xBHEcU
+.. section: Security
+
+In :mod:`tarfile`, seeking a stream now stops when end of the stream is
+reached.
+
+..
+
+.. date: 2026-06-16-14-58-02
+.. gh-issue: 151544
+.. nonce: _bexVy
+.. section: Security
+
+:file:`Modules/Setup.local` is no longer used as a landmark to discover
+whether Python is running in a source tree, as it could potentially affect
+actual installs. The :file:`pybuilddir.txt` file is now the sole indicator
+of running in a source tree.
+
+..
+
+.. date: 2026-06-10-13-08-19
+.. gh-issue: 151558
+.. nonce: mL74i2
+.. section: Security
+
+Fixed an vulnerability in the :mod:`tarfile` ``data`` and ``tar`` extraction
+filters where crafted archives could create a symlink pointing outside the
+destination directory. This was a bypass of :cve:`2025-4330`.
+
+..
+
+.. date: 2026-05-30-00-00-00
+.. gh-issue: 150743
+.. nonce: httpdos
+.. section: Security
+
+:mod:`http.client` now limits the number of chunked-response trailer lines
+it will read to 100, and the number of interim (1xx) responses it will skip
+to 100.  A malicious or broken server could previously stream trailer lines
+or ``100 Continue`` responses forever, hanging the client even when a socket
+timeout was in use. Reported by ``@YLChen-007`` via GHSA-w4q2-g22w-6fr4.
+
+..
+
+.. date: 2026-01-16-11-58-19
+.. gh-issue: 143927
+.. nonce: aviFeG
+.. section: Security
+
+Normalize all line endings (CR, CRLF, and LF) to LF+TAB when writing
+multi-line configparser values.
+
+..
+
+.. date: 2026-01-16-11-41-06
+.. gh-issue: 143921
+.. nonce: AeCOor
+.. section: Security
+
+Reject NUL, CR and LF characters in IMAP commands. Other control characters
+are allowed and sent quoted.
+
+..
+
+.. date: 2026-08-04-19-03-20
+.. gh-issue: 155063
+.. nonce: gN_mCU
+.. section: Library
+
+Bump the version of pip bundled in ensurepip to version 26.2.1
+
+..
+
+.. date: 2026-08-01-18-37-56
+.. gh-issue: 155063
+.. nonce: xC9PcH
+.. section: Library
+
+Bump the version of pip bundled in ensurepip to version 26.2
+
+..
+
+.. date: 2026-07-30-23-29-56
+.. gh-issue: 154936
+.. nonce: a90443
+.. section: Library
+
+Fix the pure Python :mod:`json` decoder to report the correct position for
+invalid literal control characters in JSON strings.
+
+..
+
+.. date: 2026-07-29-21-37-39
+.. gh-issue: 154892
+.. nonce: eQyJ3Z
+.. section: Library
+
+Fix a bug in the C accelerator for :mod:`zoneinfo` where
+:class:`datetime.datetime` subclasses returning ``-1`` for ``hour``,
+``minute``, or ``second`` could incorrectly raise a :exc:`SystemError`.
+
+..
+
+.. date: 2026-07-29-19-48-59
+.. gh-issue: 154871
+.. nonce: tgZILS
+.. section: Library
+
+Fixed a crash in :meth:`asyncio.Task.get_context` when called on an
+uninitialized task.
+
+..
+
+.. date: 2026-07-29-18-30-00
+.. gh-issue: 154848
+.. nonce: Fr4meB
+.. section: Library
+
+The :mod:`pickle` C accelerator now enforces frame boundaries when
+unpickling, as the pure Python implementation already did.  An argument that
+straddles a frame boundary, or a frame that begins before the previous one
+has ended, now raises :exc:`pickle.UnpicklingError` instead of being
+silently read across the boundary.  This prevents the loaded data from
+diverging from the :mod:`pickletools` disassembly of the same pickle.
+
+..
+
+.. date: 2026-07-29-11-25-00
+.. gh-issue: 109638
+.. nonce: Vt2Rn9
+.. section: Library
+
+Fix exponential time in :meth:`csv.Sniffer.sniff` for a sample which
+contains many quote characters.  A doubled quote character is now also
+detected in a field which contains the delimiter or a line break.
+
+..
+
+.. date: 2026-07-29-11-20-00
+.. gh-issue: 98820
+.. nonce: Qm7Hs4
+.. section: Library
+
+Fix quadratic time in :meth:`csv.Sniffer.sniff` for a sample which contains
+quoted fields, in particular for a single column of quoted fields.
+
+..
+
+.. date: 2026-07-26-00-00-00
+.. gh-issue: 154738
+.. nonce: Rd5Pxe
+.. section: Library
+
+Fix :meth:`!ExternalEntityParserCreate` not propagating the reparse-deferral
+setting to the subparser, which left :meth:`!GetReparseDeferralEnabled`
+returning an uninitialized value.  Patch by tonghuaroot.
+
+..
+
+.. date: 2026-07-25-13-30-00
+.. gh-issue: 93251
+.. nonce: gAiErr
+.. section: Library
+
+Fix :exc:`UnicodeDecodeError` in :mod:`socket` functions (such as
+:func:`~socket.getaddrinfo` and :func:`~socket.gethostbyaddr`) when the
+localized error message of the C library is not UTF-8: decode it from the
+locale encoding.
+
+..
+
+.. date: 2026-07-23-19-45-00
+.. gh-issue: 154551
+.. nonce: Ct7pL9
+.. section: Library
+
+Fix :func:`ctypes.util.find_library` returning ``None`` in non-UTF-8
+locales.
+
+..
+
+.. date: 2026-07-23-06-53-01
+.. gh-issue: 79366
+.. nonce: 3gMT7I
+.. section: Library
+
+Fixed a race condition in :mod:`logging`: if a handler was removed while a
+record was being emitted, the following handlers of the same logger could be
+skipped.
+
+..
+
+.. date: 2026-07-22-13-01-24
+.. gh-issue: 73458
+.. nonce: byxSPi
+.. section: Library
+
+Fix :func:`logging.config.listen`: it left the caller waiting for the
+``ready`` event forever if the server could not be started, for example if
+the port was invalid or already in use. It now also binds to an IPv6 address
+if the host has no IPv4 address, for example if ``localhost`` is only
+aliased to ``::1``.
+
+..
+
+.. date: 2026-07-22-13-00-00
+.. gh-issue: 154460
+.. nonce: wCsFtM
+.. section: Library
+
+Fix :func:`time.strftime` and :meth:`datetime.datetime.strftime` returning a
+wrong ISO 8601 week number (``%V``) on OpenBSD.
+
+..
+
+.. date: 2026-07-22-10-30-08
+.. gh-issue: 154435
+.. nonce: xCxm0T
+.. section: Library
+
+Fix :func:`os.posix_fadvise` and :func:`os.posix_fallocate` on DragonFly
+BSD: they raised :exc:`OSError` with a meaningless error code, because these
+functions return -1 and set ``errno`` there.
+
+..
+
+.. date: 2026-07-21-21-36-59
+.. gh-issue: 154399
+.. nonce: VSa6oH
+.. section: Library
+
+Fix :mod:`venv` activation in a non-interactive csh: ``activate.csh`` no
+longer fails when the ``prompt`` variable is not set.
+
+..
+
+.. date: 2026-07-21-20-34-05
+.. gh-issue: 154389
+.. nonce: DlTiii
+.. section: Library
+
+Fix :func:`uuid.uuid1` on OpenBSD: it returned a version 4 UUID, because
+``uuid_create()`` generates random UUIDs on this platform.
+
+..
+
+.. date: 2026-07-21-08-31-55
+.. gh-issue: 154324
+.. nonce: vDxV5U
+.. section: Library
+
+Fix :func:`os.sendfile` on illumos: it no longer reports a successful
+transfer when the underlying system call failed without writing any data.
+
+..
+
+.. date: 2026-07-21-01-13-39
+.. gh-issue: 154307
+.. nonce: UNFKL4
+.. section: Library
+
+Fix :meth:`tempfile.TemporaryDirectory.cleanup` on DragonFly BSD, where
+removing a file with the ``UF_NOUNLINK`` flag failed with ``EISDIR`` instead
+of ``EPERM``.
+
+..
+
+.. date: 2026-07-20-22-03-44
+.. gh-issue: 154291
+.. nonce: Mi5HeQ
+.. section: Library
+
+Fix :func:`socket.has_dualstack_ipv6` to return ``False`` on platforms such
+as DragonFly BSD where setting ``IPV6_V6ONLY`` to 0 silently has no effect.
+
+..
+
+.. date: 2026-07-20-21-36-40
+.. gh-issue: 154283
+.. nonce: Xip7xE
+.. section: Library
+
+On DragonFly BSD, :func:`threading.get_native_id` now returns a value that
+is unique across processes, matching the other platforms.
+
+..
+
+.. date: 2026-07-20-18-30-00
+.. gh-issue: 154258
+.. nonce: mmapresize
+.. section: Library
+
+Fix a crash in :meth:`mmap.mmap.resize` on NetBSD when growing a shared
+anonymous mapping.  :meth:`!resize` now raises :exc:`ValueError` in this
+case, as it already did on Linux.
+
+..
+
+.. date: 2026-07-20-14-10-00
+.. gh-issue: 154225
+.. nonce: openpty
+.. section: Library
+
+Fix :func:`os.openpty` on Solaris and illumos: it no longer leaves the
+pseudo-terminal as the controlling terminal of the calling process.
+
+..
+
+.. date: 2026-07-20-14-00-00
+.. gh-issue: 154227
+.. nonce: openpt
+.. section: Library
+
+Fix :func:`os.posix_openpt` on OpenBSD, where it rejected the
+:data:`~os.O_CLOEXEC` flag.
+
+..
+
+.. date: 2026-07-20-12-40-00
+.. gh-issue: 145030
+.. nonce: TFJm6k
+.. section: Library
+
+Fix :mod:`asyncio` write pipe transports for named FIFOs on macOS and
+Solaris. Unread data sitting in the FIFO made the transport misinterpret a
+poll event as the reader disconnecting, wrongly closing the transport.
+
+..
+
+.. date: 2026-07-18-17-09-49
+.. gh-issue: 154001
+.. nonce: 3brrUv
+.. section: Library
+
+Fix :func:`random.binomialvariate` raising :exc:`ZeroDivisionError` when
+:func:`random.random` returns zero.
+
+..
+
+.. date: 2026-07-18-10-52-10
+.. gh-issue: 153896
+.. nonce: 87oevp
+.. section: Library
+
+Deduplicate unhashable args in :data:`typing.Literal`.
+
+..
+
+.. date: 2026-07-17-20-56-32
+.. gh-issue: 153864
+.. nonce: WmA9By
+.. section: Library
+
+On a wide :mod:`curses` build, :meth:`curses.window.insch` now inserts a
+non-ASCII byte as the character it encodes in the window's encoding,
+consistently with :meth:`~curses.window.addch`, instead of its code point.
+
+..
+
+.. date: 2026-07-17-20-31-00
+.. gh-issue: 153862
+.. nonce: X3kjoY
+.. section: Library
+
+On a wide :mod:`curses` build, :meth:`curses.window.inch` now returns the
+locale-encoded byte of a non-ASCII character, matching
+:meth:`~curses.window.instr`, instead of the low byte of its code point.
+
+..
+
+.. date: 2026-07-15-21-56-40
+.. gh-issue: 146011
+.. nonce: nWmHif
+.. section: Library
+
+Fix a heap-use-after-free in the C implementation of :mod:`decimal` when
+calling :func:`repr` after deleting the :class:`~decimal.Context`.
+
+..
+
+.. date: 2026-07-15-14-24-18
+.. gh-issue: 153761
+.. nonce: 8jqs67
+.. section: Library
+
+Fix cancelling :meth:`asyncio.loop.sock_accept` dropping a pending
+connection.
+
+..
+
+.. date: 2026-07-14-19-45-21
+.. gh-issue: 153695
+.. nonce: UYdZJZ
+.. section: Library
+
+Hashing a :class:`sqlite3.Row` that contains an unhashable value now raises
+:exc:`TypeError` instead of :exc:`SystemError`. Patch by tonghuaroot.
+
+..
+
+.. date: 2026-07-13-10-27-08
+.. gh-issue: 153658
+.. nonce: A6o4n5
+.. section: Library
+
+Fix :meth:`sqlite3.Connection.iterdump` raising
+:exc:`sqlite3.OperationalError` when a table name contains a single quote.
+Patch by tonghuaroot.
+
+..
+
+.. date: 2026-07-12-00-00-00
+.. gh-issue: 85943
+.. nonce: 8f906e
+.. section: Library
+
+Fix :mod:`struct` functions raising :exc:`BytesWarning` under the ``-bb``
+command line option when a :class:`str` format is used after an equal
+:class:`bytes` format (or vice versa).  The internal format cache no longer
+mixes :class:`str` and :class:`bytes` keys.
+
+..
+
+.. date: 2026-07-09-16-35-47
+.. gh-issue: 153404
+.. nonce: daRkes
+.. section: Library
+
+:class:`urllib.robotparser.RobotFileParser` now silently ignores a
+``Crawl-delay`` or ``Request-rate`` value written with non-decimal digits
+(such as ``U+00B2 SUPERSCRIPT TWO``) instead of raising :exc:`ValueError`
+and aborting the parse of the whole ``robots.txt`` file.
+
+..
+
+.. date: 2026-07-09-14-00-00
+.. gh-issue: 153417
+.. nonce: Bw7Rq2
+.. section: Library
+
+Error messages from :meth:`imaplib.IMAP4.select` and
+:meth:`imaplib.IMAP4.uid` no longer raise :exc:`BytesWarning` under
+:option:`!-bb` when the mailbox or command argument is :class:`bytes`.
+
+..
+
+.. date: 2026-07-09-00-00-00
+.. gh-issue: 153406
+.. nonce: vyMmB6
+.. section: Library
+
+:func:`email.utils.parsedate_to_datetime` now raises :exc:`ValueError`
+instead of :exc:`OverflowError` when the parsed year or timezone offset is
+out of range, matching its documented behavior.
+
+..
+
+.. date: 2026-07-08-01-47-15
+.. gh-issue: 153083
+.. nonce: XbKZCp
+.. section: Library
+
+Defer GC tracking of an :class:`array.array` to the end of its construction.
+Patch by Donghee Na.
+
+..
+
+.. date: 2026-07-07-17-50-54
+.. gh-issue: 143990
+.. nonce: FoNtCf
+.. section: Library
+
+A :class:`tkinter.font.Font` created from a named font, including by
+:meth:`~tkinter.font.Font.copy`, now copies its configured options rather
+than the options resolved by Tcl's ``font actual``, preserving a size
+specified in pixels (a negative size).
+
+..
+
+.. date: 2026-07-07-02-26-43
+.. gh-issue: 153210
+.. nonce: LUXIcm
+.. section: Library
+
+Fix crash on :mod:`array` import under a memory pressure.
+
+..
+
+.. date: 2026-07-06-12-00-00
+.. gh-issue: 153200
+.. nonce: isqrtLt
+.. section: Library
+
+Fix :func:`math.isqrt` returning an incorrect result for arguments not less
+than 2**64 that are instances of an :class:`int` subclass with an overridden
+comparison operator.
+
+..
+
+.. date: 2026-07-05-16-09-31
+.. gh-issue: 153068
+.. nonce: huY9Jh
+.. section: Library
+
+Fix :meth:`!cProfile.Profile.enable` to no longer overwrite errors from
+:mod:`sys.monitoring`.
+
+..
+
+.. date: 2026-07-05-12-00-00
+.. gh-issue: 153056
+.. nonce: tMpLat
+.. section: Library
+
+Fix :class:`string.Template` raising a spurious :exc:`ValueError` when the
+*pattern* attribute is a compiled regular expression object, which the
+documentation allows.
+
+..
+
+.. date: 2026-07-04-13-00-00
+.. gh-issue: 135661
+.. nonce: CIkADG
+.. section: Library
+
+Fix :class:`html.parser.HTMLParser`: an abruptly closed empty comment
+(``<!-->`` or ``<!--->``) no longer extends up to a later ``-->`` in the
+same :meth:`~html.parser.HTMLParser.feed` call.
+
+..
+
+.. date: 2026-07-03-21-10-00
+.. gh-issue: 54930
+.. nonce: hq09Er
+.. section: Library
+
+Error responses of :class:`http.server.BaseHTTPRequestHandler` to malformed
+request lines now include a status line and headers instead of being sent in
+the bare HTTP/0.9 style. Only a valid HTTP/0.9 request (a two-word ``GET``
+request line) now receives an HTTP/0.9 style response.
+
+..
+
+.. date: 2026-07-03-14-54-33
+.. gh-issue: 152951
+.. nonce: u8tPCI
+.. section: Library
+
+:class:`collections.deque` prevent rare crash when calling ``extend`` under
+high memory pressure conditions.
+
+..
+
+.. date: 2026-07-02-22-19-53
+.. gh-issue: 150880
+.. nonce: vPZ7jK
+.. section: Library
+
+Normalize non-extended Windows paths before appending the wildcard used by
+``os.listdir()`` and ``os.scandir()``, making paths with trailing spaces
+behave consistently with other filesystem APIs.
+
+..
+
+.. date: 2026-07-02-13-30-00
+.. gh-issue: 152849
+.. nonce: K9dRvP
+.. section: Library
+
+Out-of-range float and integer timestamps now raise :exc:`OverflowError`
+with the same message. Patch by tonghuaroot.
+
+..
+
+.. date: 2026-07-02-12-00-00
+.. gh-issue: 152847
+.. nonce: PitKqc
+.. section: Library
+
+Reject a POSIX TZ transition rule with non-digit characters in the
+day-of-year field in the pure-Python :mod:`zoneinfo` parser. Patch by
+tonghuaroot.
+
+..
+
+.. date: 2026-07-01-12-00-00
+.. gh-issue: 108280
+.. nonce: Nq8vTr
+.. section: Library
+
+Connecting :mod:`imaplib` to a server that does not send a valid IMAP4
+greeting (for example a POP3 server answering on the IMAP port) now raises
+an error reporting the server's response instead of ``imaplib.IMAP4.error:
+None``.
+
+..
+
+.. date: 2026-07-01-11-29-13
+.. gh-issue: 151126
+.. nonce: eElGy5
+.. section: Library
+
+Fix a crash caused by failing to set :exc:`MemoryError` on allocation
+failure when passing :class:`ctypes.Structure` or :class:`ctypes.Union`
+instances by value to ctypes foreign functions.
+
+..
+
+.. date: 2026-07-01-10-30-00
+.. gh-issue: 63121
+.. nonce: Rm4tZp
+.. section: Library
+
+:mod:`imaplib` now refreshes the cached capability list after a successful
+:meth:`~imaplib.IMAP4.login` or :meth:`~imaplib.IMAP4.authenticate`, using
+the ``CAPABILITY`` response sent by the server or, if none was sent, by
+querying it, so that capabilities that become available only after
+authentication (such as ``ENABLE`` on Gmail) are recognized.  Capabilities
+advertised in the server greeting are now also used, avoiding a redundant
+``CAPABILITY`` command.
+
+..
+
+.. date: 2026-07-01-10-00-00
+.. gh-issue: 88574
+.. nonce: Kz3wQm
+.. section: Library
+
+:mod:`imaplib` no longer fails when a server sends a spurious blank line
+after the counted data of a literal, including after a literal that
+terminates a response (such as a mailbox name returned by ``LIST``). Such
+blank lines are now skipped without swallowing the following line.
+
+..
+
+.. date: 2026-06-30-21-40-00
+.. gh-issue: 152502
+.. nonce: Kq3Vn7
+.. section: Library
+
+Detect the :mod:`curses` mouse interface (:func:`~curses.getmouse`, the
+``BUTTON*`` constants, and others) with a configure capability probe or
+library macros instead of gating it on ncurses-specific macros.  It is now
+also available with other curses implementations that provide it, such as
+NetBSD curses and PDCurses (the latter underpins ``windows-curses``).
+
+..
+
+.. date: 2026-06-30-12-00-00
+.. gh-issue: 40038
+.. nonce: qK7mGv
+.. section: Library
+
+:mod:`imaplib` now again quotes command arguments when necessary, for
+example mailbox names containing a space.  Such quoting was inadvertently
+disabled when the module was ported to Python 3, and the arguments are now
+quoted according to the :rfc:`3501` grammar.  For backward compatibility, an
+argument already enclosed in double quotes is left unchanged, so code that
+quotes arguments itself keeps working.
+
+..
+
+.. date: 2026-06-29-22-16-57
+.. gh-issue: 50966
+.. nonce: Tq5mLp
+.. section: Library
+
+Fix unbounded recursion in :mod:`turtle` when a mouse event handler that
+moves the turtle is reentered while the screen is being redrawn, for example
+with ``screen.ondrag(turtle.goto)``.  This could previously crash the
+interpreter.
+
+..
+
+.. date: 2026-06-28-11-00-40
+.. gh-issue: 78335
+.. nonce: Kp3mWq
+.. section: Library
+
+Update the docstrings of :mod:`tkinter` and :mod:`tkinter.ttk` widget
+classes to list all supported widget options, including options added in Tk
+9.0 and 9.1.  ``tkinter.Menubutton`` and ``tkinter.Message`` previously had
+no option list at all.
+
+..
+
+.. date: 2026-06-27-17-19-09
+.. gh-issue: 151126
+.. nonce: huUyOM
+.. section: Library
+
+Fix two crashes in :mod:`tkinter` and :mod:`socket` modules initialization
+under a memory pressure. Sets missing :exc:`MemoryError`.
+
+..
+
+.. date: 2026-06-27-12-30-00
+.. gh-issue: 133031
+.. nonce: Na8Bit
+.. section: Library
+
+:class:`curses.textpad.Textbox` now enters and reads back the non-ASCII
+characters of an 8-bit locale encoding, instead of mangling them with a
+7-bit mask.
+
+..
+
+.. date: 2026-06-26-23-56-40
+.. gh-issue: 71880
+.. nonce: 782D31
+.. section: Library
+
+:class:`curses.textpad.Textbox` now lets the lower-right cell of the window
+be edited.  Writing it with :meth:`~curses.window.addch` would move the
+cursor past the end of the window, raising an error and scrolling a
+scrollable window, so it is now written with :meth:`~curses.window.insch`,
+which keeps the cursor in place.
+
+..
+
+.. date: 2026-06-26-16-30-00
+.. gh-issue: 83274
+.. nonce: Kx9mQv
+.. section: Library
+
+Deallocating a :mod:`tkinter` application from a thread other than the one
+it was created in no longer crashes the interpreter.  The underlying Tcl
+interpreter is leaked instead, and a :exc:`RuntimeWarning` is reported.
+
+..
+
+.. date: 2026-06-26-15-30-00
+.. gh-issue: 88758
+.. nonce: Qw7nLp
+.. section: Library
+
+:meth:`!tkinter.Misc.focus_get`, :meth:`!focus_displayof`,
+:meth:`!focus_lastfor` and :meth:`!winfo_containing` now return ``None``
+instead of raising :exc:`KeyError` when the widget was not created by
+:mod:`tkinter` (for example a torn-off menu).
+
+..
+
+.. date: 2026-06-26-15-00-00
+.. gh-issue: 38464
+.. nonce: yDPjKH
+.. section: Library
+
+:meth:`!tkinter.Misc.nametowidget` now resolves the auto-generated names of
+cloned menus (a menu used as a menubar or a cascade) back to the original
+widget.
+
+..
+
+.. date: 2026-06-26-13-39-11
+.. gh-issue: 152248
+.. nonce: N2Rmaf
+.. section: Library
+
+Make the C and pure-Python :mod:`zoneinfo` parsers validate POSIX TZ
+abbreviations consistently, rejecting unquoted abbreviations with non-letter
+characters and empty quoted abbreviations. Patch by tonghuaroot.
+
+..
+
+.. date: 2026-06-26-13-10-00
+.. gh-issue: 80937
+.. nonce: Hq3mNp
+.. section: Library
+
+Fix a memory leak in :mod:`tkinter` when a Tcl command created with
+``createcommand`` was not explicitly removed before the interpreter was
+deleted.  The command no longer keeps the interpreter alive through a
+reference cycle.
+
+..
+
+.. date: 2026-06-26-12-50-26
+.. gh-issue: 152246
+.. nonce: MfXMd1
+.. section: Library
+
+Fix the pure-Python :mod:`zoneinfo` parser accepting an invalid POSIX TZ
+transition rule with a non-period separator. Patch by tonghuaroot.
+
+..
+
+.. date: 2026-06-25-14-32-43
+.. gh-issue: 139816
+.. nonce: Lq2vXa
+.. section: Library
+
+Fix a hang in :mod:`tkinter` on interactive Python built without
+:mod:`readline`.  An exception raised in a callback no longer causes the
+event loop to stop and wait for the user to press Enter; pending callbacks
+now keep running until input is actually available on stdin.
+
+..
+
+.. date: 2026-06-25-14-32-42
+.. gh-issue: 139145
+.. nonce: kT9rmP
+.. section: Library
+
+Fix a busy loop in :mod:`tkinter` on interactive Python.  When a Tcl command
+running its own event loop (such as ``vwait`` or :meth:`!wait_variable`) was
+active and input arrived on stdin, the event loop kept spinning at 100% CPU.
+The stdin file handler is now removed as soon as input is available.  Based
+on a patch by Michiel de Hoon.
+
+..
+
+.. date: 2026-06-25-12-00-00
+.. gh-issue: 152212
+.. nonce: Zk7Qm2
+.. section: Library
+
+Fix the pure-Python :mod:`zoneinfo` parser accepting a POSIX TZ string with
+a ``std`` abbreviation but no offset. This is invalid per POSIX and now
+raises :exc:`ValueError`, matching the C accelerator. Patch by tonghuaroot.
+
+..
+
+.. date: 2026-06-25-10-07-54
+.. gh-issue: 152156
+.. nonce: gscPU9
+.. section: Library
+
+Fix a possible crash in :func:`!_interpreters.create` under limited memory
+conditions.
+
+..
+
+.. date: 2026-06-25-07-08-17
+.. gh-issue: 152157
+.. nonce: dt5Ef0
+.. section: Library
+
+The C implementations of :meth:`~datetime.datetime.fromisoformat` and
+:meth:`~datetime.time.fromisoformat` now reject a decimal separator that is
+not followed by any fractional digit before a timezone designator.
+
+..
+
+.. date: 2026-06-25-01-00-43
+.. gh-issue: 151763
+.. nonce: wWeHBe
+.. section: Library
+
+Fix crash in :func:`!_interpqueues.create` whe :exc:`MemoryError` happens on
+queue creation.
+
+..
+
+.. date: 2026-06-24-22-16-35
+.. gh-issue: 105895
+.. nonce: hRkuEw
+.. section: Library
+
+Add :keyword:`match` and :keyword:`case` to the list of supported topics by
+:func:`help`.
+
+..
+
+.. date: 2026-06-24-12-00-00
+.. gh-issue: 152079
+.. nonce: f1tzus
+.. section: Library
+
+Fix :meth:`datetime.datetime.fromisoformat` in the C implementation dropping
+the sub-second part of a UTC offset whose whole-second part is zero,
+matching the pure-Python implementation.
+
+..
+
+.. date: 2026-06-24-12-00-00
+.. gh-issue: 152052
+.. nonce: yBssDE
+.. section: Library
+
+The :mod:`json` C accelerator now correctly reports an unterminated string
+for a ``\uXXXX`` escape at the end of the input.
+
+..
+
+.. date: 2026-06-24-10-46-35
+.. gh-issue: 152060
+.. nonce: f2asrt
+.. section: Library
+
+Fix :meth:`datetime.datetime.fromisoformat` raising :exc:`AssertionError`
+instead of :exc:`ValueError` for some malformed strings in the pure-Python
+implementation, matching the C implementation.
+
+..
+
+.. date: 2026-06-23-13-27-14
+.. gh-issue: 126219
+.. nonce: kOfv2g
+.. section: Library
+
+Fixed a crash in :class:`tkinter.Tk` when *className* contains a non-BMP
+character and tkinter is built against Tcl/Tk 8.x.  Such a name is now
+rejected with a :exc:`ValueError`.
+
+..
+
+.. date: 2026-06-22-18-01-00
+.. gh-issue: 151955
+.. nonce: 6u5iwm
+.. section: Library
+
+Allow more types to be used in the ``bound`` argument to
+:class:`typing.ParamSpec`.
+
+..
+
+.. date: 2026-06-21-15-50-24
+.. gh-issue: 86165
+.. nonce: dyac1G
+.. section: Library
+
+Fix :func:`imaplib.Time2Internaldate` to use the local timezone offset for
+``time.struct_time`` values with ``tm_gmtoff`` set to ``None``, as returned
+by ``datetime.datetime.timetuple()``. Contributed by Xiao Yuan.
+
+..
+
+.. date: 2026-06-20-21-15-13
+.. gh-issue: 151814
+.. nonce: OIbgsO
+.. section: Library
+
+Fix unbounded memory growth in :class:`io.TextIOWrapper` when repeatedly
+writing an empty string.
+
+..
+
+.. date: 2026-06-19-07-26-20
+.. gh-issue: 151695
+.. nonce: IBDlkN
+.. section: Library
+
+Fix a use-after-free in the :mod:`curses` module.  The encoding of the
+initial screen, used by :func:`curses.unctrl` and :func:`curses.ungetch` to
+encode non-ASCII characters, is now kept as a private copy instead of a
+borrowed pointer to a window object that may be deallocated.
+
+..
+
+.. date: 2026-06-18-23-59-46
+.. gh-issue: 151596
+.. nonce: 5ma144
+.. section: Library
+
+Add missing ``size`` positional argument to the pure-Python implementation
+of :meth:`io.TextIOBase.readline`.
+
+..
+
+.. date: 2026-06-17-00-00-00
+.. gh-issue: 148660
+.. nonce: odcopy
+.. section: Library
+
+Fix a crash in :meth:`!collections.OrderedDict.copy` when a key's ``__eq__``
+or a subclass method mutates the dict during the copy.  Now raises
+:exc:`RuntimeError` instead, as iteration does.
+
+..
+
+.. date: 2026-06-15-15-32-36
+.. gh-issue: 151497
+.. nonce: 1cfmSV
+.. section: Library
+
+Opening a :mod:`tarfile` archive no longer attempts to pre-allocate a huge
+buffer when a crafted or truncated member claims an oversized extended
+header (a GNU long name/link or a pax header).  The extended header is now
+read in bounded chunks, so its size field can no longer trigger memory
+exhaustion.
+
+..
+
+.. date: 2026-06-12-22-46-31
+.. gh-issue: 151403
+.. nonce: DalZWh
+.. section: Library
+
+Fixed a crash in :class:`subprocess.Popen` (and
+``_posixsubprocess.fork_exec``) when an ``argv`` item's
+:meth:`~os.PathLike.__fspath__` concurrently mutates the ``args`` sequence
+being converted.
+
+..
+
+.. date: 2026-06-12-00-04-34
+.. gh-issue: 151126
+.. nonce: aHaBYq
+.. section: Library
+
+Fix crash on unset :exc:`MemoryError` on allocation failure in
+:func:`ctypes.get_errno`.
+
+..
+
+.. date: 2026-06-12-00-00-00
+.. gh-issue: 151416
+.. nonce: spawnUA
+.. section: Library
+
+Fix a crash in :func:`os.spawnv` and :func:`os.spawnve` when an *argv*
+item's :meth:`~os.PathLike.__fspath__` method mutates the *argv* list during
+argument conversion.  :func:`!os.spawnv` argument conversion errors other
+than :exc:`TypeError`, such as the :exc:`ValueError` for an embedded null,
+are no longer replaced with a generic :exc:`TypeError`.
+
+..
+
+.. date: 2026-06-11-21-43-24
+.. gh-issue: 151337
+.. nonce: JSVV18
+.. section: Library
+
+Avoid possible memory leak in ``tkinter.c`` on Windows.
+
+..
+
+.. date: 2026-06-11-16-25-38
+.. gh-issue: 151126
+.. nonce: bh_Usy
+.. section: Library
+
+Fix a crash when :exc:`MemoryError` in :func:`!os._path_splitroot` was not
+set properly.
+
+..
+
+.. date: 2026-06-11-10-00-00
+.. gh-issue: 119710
+.. nonce: Qz7Kp2
+.. section: Library
+
+Fix :mod:`asyncio` subprocess :meth:`~asyncio.subprocess.Process.wait`
+hanging when the process has exited but one of its pipes is kept open by an
+inherited child process (so the pipe never reaches EOF). ``wait()`` now
+returns as soon as the process exits, regardless of the pipes' state.
+
+..
+
+.. date: 2026-06-11-00-00-00
+.. gh-issue: 151295
+.. nonce: NQYUzW
+.. section: Library
+
+Fixed a crash (use-after-free) in :meth:`bytes.join` and
+:meth:`bytearray.join` that could occur if an item's
+:meth:`~object.__buffer__` concurrently mutates the sequence being joined.
+The mutation is now reported as a :exc:`RuntimeError` instead.
+
+..
+
+.. date: 2026-06-10-00-00-02
+.. gh-issue: 109940
+.. nonce: Cx1099
+.. section: Library
+
+Fix Windows :mod:`venv` activation in ``cmd.exe`` to respect
+``VIRTUAL_ENV_DISABLE_PROMPT``.
+
+..
+
+.. date: 2026-06-10-00-00-01
+.. gh-issue: 117807
+.. nonce: Cx1178
+.. section: Library
+
+Fix :mod:`mimetypes` initialization from MIME map files containing invalid
+UTF-8 bytes.
+
+..
+
+.. date: 2026-06-09-12-00-00
+.. gh-issue: 150771
+.. nonce: K7mNx2
+.. section: Library
+
+Fix serialization of :mod:`email` messages using the ``shift_jis`` or
+``euc-jp`` charsets: ``set_content()`` now encodes the payload using the
+output charset, so ``str(m)`` no longer raises :exc:`UnicodeEncodeError`.
+
+..
+
+.. date: 2026-05-28-00-00-00
+.. gh-issue: 150484
+.. nonce: XxYyZz
+.. section: Library
+
+Fix :func:`unittest.mock.mock_open` ``__exit__`` raising ``TypeError`` when
+used with :class:`contextlib.ExitStack`.
+
+..
+
+.. date: 2026-05-06-23-13-40
+.. gh-issue: 149319
+.. nonce: PLM93t
+.. section: Library
+
+The :mod:`asyncio` REPL now ignores :envvar:`PYTHONSTARTUP` and
+:envvar:`PYTHON_BASIC_REPL` when :option:`-E` or :option:`-I` is used. Patch
+by Jonathan Dung.
+
+..
+
+.. date: 2026-05-02-13-54-19
+.. gh-issue: 149221
+.. nonce: __KOks
+.. section: Library
+
+Catch rare math domain error for :func:`random.binomialvariate`.
+
+..
+
+.. date: 2026-04-23-12-50-15
+.. gh-issue: 148441
+.. nonce: zvpCkR
+.. section: Library
+
+:mod:`xml.parsers.expat`: prevent a crash in
+:meth:`~xml.parsers.expat.xmlparser.CharacterDataHandler` when the character
+data size exceeds the parser's :attr:`buffer size
+<xml.parsers.expat.xmlparser.buffer_size>`.
+
+..
+
+.. date: 2026-03-26-00-00-00
+.. gh-issue: 47005
+.. nonce: xxc89c
+.. section: Library
+
+Fix :meth:`!urllib.request.AbstractHTTPHandler.do_open` to give regular
+headers set via :meth:`~urllib.request.Request.add_header` priority over
+unredirected headers, consistent with
+:meth:`~urllib.request.Request.get_header` and
+:meth:`~urllib.request.Request.header_items`.
+
+..
+
+.. date: 2026-03-11-10-25-32
+.. gh-issue: 123720
+.. nonce: TauFRx
+.. section: Library
+
+asyncio: Fix :func:`asyncio.Server.serve_forever` shutdown regression. Since
+3.12, cancelling ``serve_forever()`` could hang waiting for a handler
+blocked on a read from a client that never closed (effectively requiring two
+interrupts to stop); the shutdown sequence now ensures client streams are
+closed so ``serve_forever()`` exits promptly and handlers observe EOF.
+
+..
+
+.. date: 2026-01-18-06-42-47
+.. gh-issue: 143988
+.. nonce: MtLtCP
+.. section: Library
+
+Fixed crashes in :meth:`socket.socket.sendmsg` and
+:meth:`socket.socket.recvmsg_into` that could occur if buffer sequences are
+concurrently mutated.
+
+..
+
+.. date: 2025-12-23-11-43-05
+.. gh-issue: 130796
+.. nonce: TkzUGx
+.. section: Library
+
+Undeprecate the :func:`locale.getdefaultlocale` function. Patch by Victor
+Stinner.
+
+..
+
+.. date: 2025-11-02-05-28-56
+.. gh-issue: 115634
+.. nonce: JbcNnF
+.. section: Library
+
+Fix a deadlock in :class:`concurrent.futures.ProcessPoolExecutor` when using
+``max_tasks_per_child``, present since the feature was introduced in Python
+3.11. The executor stopped scheduling queued tasks after a worker process
+exited upon reaching its task limit. Based on a fix proposed by Tabrez
+Mohammed.
+
+..
+
+.. date: 2025-09-05-20-50-35
+.. gh-issue: 79638
+.. nonce: Y-JfaH
+.. section: Library
+
+Disallow all access in :mod:`urllib.robotparser` if the ``robots.txt`` file
+is unreachable due to server or network errors.
+
+..
+
+.. date: 2024-06-18-04-08-37
+.. gh-issue: 120665
+.. nonce: x7T1hV
+.. section: Library
+
+Fixed an issue where ``unittest`` loaders would load and instantiate
+:class:`unittest.TestCase`-derived subclasses that are also abstract base
+classes, which can't be instantiated.
+
+..
+
+.. date: 2023-06-12-21-31-02
+.. gh-issue: 105708
+.. nonce: 5fFwP8
+.. section: Library
+
+Accept an uppercase V prefix in IPvFuture addresses in
+:func:`urllib.parse.urlsplit`.
+
+..
+
+.. date: 2023-04-27-14-50-03
+.. gh-issue: 103925
+.. nonce: khC-El
+.. section: Library
+
+Fix :meth:`csv.Sniffer.sniff` for a sample with ``\r\n`` line endings in
+which a quoted field ends a line: a letter could be detected as the
+delimiter.
+
+..
+
+.. date: 2023-01-23-21-23-50
+.. gh-issue: 101267
+.. nonce: _f-cFH
+.. section: Library
+
+When a worker process terminates unexpectedly,
+:class:`concurrent.futures.ProcessPoolExecutor` now sets a separate
+:exc:`~concurrent.futures.process.BrokenProcessPool` exception on each
+pending future instead of sharing a single instance among them all.  Sharing
+one exception produced malformed tracebacks: each :meth:`Future.result()
+<concurrent.futures.Future.result>` call re-raised the same object,
+appending another copy of the traceback to it.
+
+..
+
+.. date: 2026-07-01-19-00-00
+.. gh-issue: 82183
+.. nonce: rNsTrt
+.. section: IDLE
+
+When the shell is busy running code, using "Run... Customized" with "Restart
+shell" unchecked now reports that the shell is executing instead of
+restarting it anyway.
+
+..
+
+.. date: 2026-07-01-18-00-00
+.. gh-issue: 83653
+.. nonce: cFgInt
+.. section: IDLE
+
+Blanking an integer entry in IDLE's Settings dialog, such as "Auto squeeze
+min lines", no longer saves an empty string as an invalid configuration
+value.
+
+..
+
+.. date: 2026-07-01-17-00-00
+.. gh-issue: 65339
+.. nonce: oUtTxt
+.. section: IDLE
+
+Saving the IDLE Shell or an Output window now defaults to a ``.txt``
+extension and lists text files before Python files, since their content is
+not Python source.
+
+..
+
+.. date: 2026-07-01-16-00-00
+.. gh-issue: 80504
+.. nonce: gReP
+.. section: IDLE
+
+The "In files:" field of IDLE's Find in Files dialog now always contains a
+full directory path, even for an unsaved editor or the Shell.  This shows in
+the grep output which directory was searched.
+
+..
+
+.. date: 2026-07-01-15-00-00
+.. gh-issue: 134300
+.. nonce: iDlPaT
+.. section: IDLE
+
+Do not add the ``idlelib`` directory to the path of the IDLE user process.
+User code run in IDLE can no longer import ``idlelib`` submodules as
+top-level modules, such as ``import help``.
+
+..
+
+.. date: 2026-07-01-14-00-00
+.. gh-issue: 89360
+.. nonce: mUlTiC
+.. section: IDLE
+
+Fix a rare crash in the IDLE editor when the completion window is closed:
+deleting a key binding for a sequence that is not bound to the virtual event
+is now ignored instead of raising a ``ValueError``.
+
+..
+
+.. date: 2026-07-01-12-00-00
+.. gh-issue: 71956
+.. nonce: rPlAlL
+.. section: IDLE
+
+Fix Replace All in the IDLE editor's Replace dialog when the search
+direction is "Up" and "Wrap around" is off: it now replaces all matches
+above the current position instead of only the first one.
+
+..
+
+.. date: 2026-07-01-00-15-58
+.. gh-issue: 152728
+.. nonce: yxIhMN
+.. section: IDLE
+
+Move functions run.fix_scaling, editor.fixwordbreaks (as fix_word_breaks)
+and pyshell.fix_x11_paste to idlelib.util.
+
+..
+
+.. date: 2026-07-01-00-00-00
+.. gh-issue: 66331
+.. nonce: wMcLaS
+.. section: IDLE
+
+Set the ``WM_CLASS`` window property of IDLE's windows to ``Idle`` on X11,
+so that window managers group and label them correctly instead of using the
+default ``Toplevel``.
+
+..
+
+.. date: 2026-06-28-06-46-46
+.. gh-issue: 85320
+.. nonce: Hq2vKn
+.. section: IDLE
+
+IDLE now reads and writes its configuration files and the breakpoints file
+using UTF-8 instead of the locale encoding.  This keeps non-ASCII data (such
+as non-ASCII paths) from being corrupted and makes the files portable
+between environments.
+
+..
+
+.. date: 2026-03-07-20-47-40
+.. gh-issue: 94523
+.. nonce: dq7m2k
+.. section: IDLE
+
+Detect file if modified at local disk and prompt to ask refresh. Patch by
+Shixian Li.
+
+..
+
+.. date: 2025-10-05-19-33-39
+.. gh-issue: 139551
+.. nonce: TX9BRc
+.. section: IDLE
+
+Support rendering :exc:`BaseExceptionGroup` in IDLE.
+
+..
+
+.. date: 2021-10-03-21-55-34
+.. gh-issue: 89520
+.. nonce: etEExa
+.. section: IDLE
+
+Make IDLE extension configuration look at user config files, allowing
+user-installed extensions to have settings and key bindings defined in
+~/.idlerc.
+
+..
+
+.. date: 2026-07-17-22-33-43
+.. gh-issue: 118150
+.. nonce: m7iFdP
+.. section: Documentation
+
+Clarify in the :mod:`difflib` documentation what *junk* actually does, its
+drawbacks, and how to control it.
+
+..
+
+.. date: 2026-06-17-12-00-00
+.. gh-issue: 86726
+.. nonce: __bOgH
+.. section: Documentation
+
+Greatly expand the :mod:`tkinter` documentation to cover the full public API
+of the package and its submodules.  The descriptions are oriented towards
+Python rather than Tcl/Tk, with corrected return types and
+``versionadded``/``versionchanged`` information.
+
+..
+
+.. date: 2026-08-02-17-55-29
+.. gh-issue: 154937
+.. nonce: m9IBba
+.. section: Core and Builtins
+
+Fix a data race on thread handle identifiers when ``_thread._shutdown()``
+runs concurrently with the startup of non-daemon threads in the
+free-threaded build.
+
+..
+
+.. date: 2026-07-26-09-07-41
+.. gh-issue: 154709
+.. nonce: M2uZ76
+.. section: Core and Builtins
+
+Fix an out-of-bounds access in reverse dictionary iterators when the
+underlying dictionary is cleared and modified after the iterator is created.
+
+..
+
+.. date: 2026-07-20-20-16-08
+.. gh-issue: 154275
+.. nonce: l961cA
+.. section: Core and Builtins
+
+Fix a crash when getting deeply nested ``__parameters__`` from a
+:class:`types.GenericAlias` objects.
+
+..
+
+.. date: 2026-06-30-14-00-00
+.. gh-issue: 152682
+.. nonce: yId7e5
+.. section: Core and Builtins
+
+Fix NULL pointer dereference in :func:`compile` when a reserved name (e.g.
+``__classdict__``) is used as a type parameter name and memory allocation
+fails while formatting the error message.
+
+..
+
+.. date: 2026-06-29-23-29-14
+.. gh-issue: 152635
+.. nonce: O21J0O
+.. section: Core and Builtins
+
+Fix a crash caused when running out of memory creating a
+:mod:`!_interpchannels` channel. Now a :exc:`MemoryError` is correctly
+raised.
+
+..
+
+.. date: 2026-06-27-10-05-12
+.. gh-issue: 152375
+.. nonce: L-ZBk6
+.. section: Core and Builtins
+
+Fix undefined behaviour when a :mod:`sys.monitoring` callback raised an
+exception while the program was following a branch or loop.
+
+..
+
+.. date: 2026-06-26-22-03-16
+.. gh-issue: 152235
+.. nonce: ZKWiWk
+.. section: Core and Builtins
+
+Defer GC tracking of :meth:`set.intersection`, :meth:`set.difference`,
+:meth:`set.symmetric_difference`, :meth:`set.union` and ``set.__sub__``.
+Patch by Donghee Na.
+
+..
+
+.. date: 2026-06-26-05-49-13
+.. gh-issue: 152235
+.. nonce: YU20T9
+.. section: Core and Builtins
+
+Defer GC tracking of a :class:`set` or :class:`frozenset` to the end of its
+construction from iterable. Patch by Donghee Na.
+
+..
+
+.. date: 2026-06-24-11-12-56
+.. gh-issue: 151905
+.. nonce: j32skf
+.. section: Core and Builtins
+
+Fix OOM error handling in :c:func:`PyFrame_GetBack` to propagate exceptions
+instead of masking them as None.
+
+..
+
+.. date: 2026-06-23-12-03-55
+.. gh-issue: 151763
+.. nonce: K7QfWG
+.. section: Core and Builtins
+
+Fix a potential crash in :func:`compile`, :func:`exec`, :func:`eval` and
+:func:`ast.parse` when an allocation fails: the parser or compiler could
+return without setting an exception.
+
+..
+
+.. date: 2026-06-22-14-48-22
+.. gh-issue: 151912
+.. nonce: YcxfnU
+.. section: Core and Builtins
+
+Fixed a crash in ``type()`` when selecting a metaclass whose ``tp_new`` slot
+is ``NULL``. Such metaclasses are now rejected with ``TypeError`` instead of
+causing a NULL pointer dereference.
+
+..
+
+.. date: 2026-06-21-16-00-00
+.. gh-issue: 151773
+.. nonce: mN4kRt
+.. section: Core and Builtins
+
+Fix a crash in :func:`contextvars.ContextVar.set` when memory allocation
+fails.
+
+..
+
+.. date: 2026-06-18-16-00-10
+.. gh-issue: 151126
+.. nonce: tBqn6I
+.. section: Core and Builtins
+
+Fix a crash when sharing :class:`memoryview` objects between interpreters
+fails due to running out of memory. It now raises a proper
+:exc:`MemoryError`.
+
+..
+
+.. date: 2026-06-17-16-46-07
+.. gh-issue: 151126
+.. nonce: vhTL0T
+.. section: Core and Builtins
+
+Avoid possible crash in ``_winapi.c`` where a device has no memory left. Now
+it properly raises a :exc:`MemoryError`. Patch by Ivy Xu.
+
+..
+
+.. date: 2026-06-10-15-42-46
+.. gh-issue: 151253
+.. nonce: 7MMQ8P
+.. section: Core and Builtins
+
+If ``import encodings`` (first import) fails at Python startup, dump the
+Python path configuration to help users debugging their configuration. Patch
+by Victor Stinner.
+
+..
+
+.. date: 2026-06-09-10-28-30
+.. gh-issue: 151126
+.. nonce: DKa6Sl
+.. section: Core and Builtins
+
+Fix a crash, when there's no memory left on a device, which happened in
+:mod:`!_interpchannels` module.
+
+Now it raises proper :exc:`MemoryError` errors.
+
+..
+
+.. date: 2026-06-08-05-31-22
+.. gh-issue: 151065
+.. nonce: _o_31F
+.. section: Core and Builtins
+
+Fix memory leak when using the :ref:`mimalloc memory allocator <mimalloc>`.
+
+..
+
+.. date: 2026-06-05-22-52-41
+.. gh-issue: 150988
+.. nonce: fDKfMJ
+.. section: Core and Builtins
+
+Fix a reference leak in :exc:`OSError` when attributes are set before
+``super().__init__()``.
+
+..
+
+.. date: 2026-05-11-15-58-23
+.. gh-issue: 149689
+.. nonce: 9Ht49z
+.. section: Core and Builtins
+
+Fix missing error propagation in parser action helpers when memory
+allocation fails. Patch by Thomas Kowalski.
+
+..
+
+.. date: 2026-07-09-17-33-29
+.. gh-issue: 152132
+.. nonce: Ma8MJZ
+.. section: C API
+
+Fix :c:func:`Py_RunMain` to return an exit code, rather than calling
+:c:func:`Py_Exit`, when running a script, a command, or the REPL. Patch by
+Victor Stinner.
+
+..
+
+.. date: 2026-07-19-12-16-31
+.. gh-issue: 154070
+.. nonce: f5da07
+.. section: Build
+
+Build the :mod:`curses` module against a wide-character capable ncurses even
+when it is not named ``ncursesw`` -- for example the pkgsrc ncurses on
+NetBSD and illumos, or the system ncurses on macOS.  Such a library
+previously produced a narrow build.
+
+..
+
+.. date: 2026-07-11-07-26-16
+.. gh-issue: 126877
+.. nonce: Zt7Kq2
+.. section: Build
+
+Fix the :program:`configure` check for Tcl/Tk which could wrongly succeed
+with optimizing compilers when the libraries are missing.
+
+..
+
+.. date: 2026-07-09-22-45-00
+.. gh-issue: 153438
+.. nonce: Qr7N2p
+.. section: Build
+
+Update Windows build and installer tooling and documentation to use the
+current download URL for ``nuget.exe``.
+
+..
+
+.. date: 2026-06-28-16-17-55
+.. gh-issue: 152502
+.. nonce: 6SNqMg
+.. section: Build
+
+The :mod:`curses` module now detects ``set_escdelay()``, ``set_tabsize()``
+and the ``ESCDELAY`` and ``TABSIZE`` variables with :program:`configure`
+capability probes instead of the ncurses-specific ``NCURSES_EXT_FUNCS``
+macro, so they are exposed when building against other curses
+implementations such as NetBSD curses that provide them.
+
+..
+
+.. date: 2026-03-07-02-09-57
+.. gh-issue: 138800
+.. nonce: VD8qbz
+.. section: Build
+
+Fix library name in python3.pc on Android.
+
+..
+
+.. date: 2024-11-22-08-46-46
+.. gh-issue: 115869
+.. nonce: UVLSKd
+.. section: Build
+
+Make ``jit_stencils.h`` (which is produced during JIT builds) reproducible.
diff --git a/Misc/NEWS.d/next/Build/2024-11-22-08-46-46.gh-issue-115869.UVLSKd.rst b/Misc/NEWS.d/next/Build/2024-11-22-08-46-46.gh-issue-115869.UVLSKd.rst
deleted file mode 100644
index 9e8a078983f20b5..000000000000000
--- a/Misc/NEWS.d/next/Build/2024-11-22-08-46-46.gh-issue-115869.UVLSKd.rst
+++ /dev/null
@@ -1 +0,0 @@
-Make ``jit_stencils.h`` (which is produced during JIT builds) reproducible.
diff --git a/Misc/NEWS.d/next/Build/2026-03-07-02-09-57.gh-issue-138800.VD8qbz.rst b/Misc/NEWS.d/next/Build/2026-03-07-02-09-57.gh-issue-138800.VD8qbz.rst
deleted file mode 100644
index 54b084d9d61277f..000000000000000
--- a/Misc/NEWS.d/next/Build/2026-03-07-02-09-57.gh-issue-138800.VD8qbz.rst
+++ /dev/null
@@ -1 +0,0 @@
-Fix library name in python3.pc on Android.
diff --git a/Misc/NEWS.d/next/Build/2026-06-28-16-17-55.gh-issue-152502.6SNqMg.rst b/Misc/NEWS.d/next/Build/2026-06-28-16-17-55.gh-issue-152502.6SNqMg.rst
deleted file mode 100644
index cc0fabed10f1261..000000000000000
--- a/Misc/NEWS.d/next/Build/2026-06-28-16-17-55.gh-issue-152502.6SNqMg.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-The :mod:`curses` module now detects ``set_escdelay()``, ``set_tabsize()`` and
-the ``ESCDELAY`` and ``TABSIZE`` variables with :program:`configure` capability
-probes instead of the ncurses-specific ``NCURSES_EXT_FUNCS`` macro, so they are
-exposed when building against other curses implementations such as NetBSD curses
-that provide them.
diff --git a/Misc/NEWS.d/next/Build/2026-07-09-22-45-00.gh-issue-153438.Qr7N2p.rst b/Misc/NEWS.d/next/Build/2026-07-09-22-45-00.gh-issue-153438.Qr7N2p.rst
deleted file mode 100644
index edab8e6ba7b2595..000000000000000
--- a/Misc/NEWS.d/next/Build/2026-07-09-22-45-00.gh-issue-153438.Qr7N2p.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Update Windows build and installer tooling and documentation to use the
-current download URL for ``nuget.exe``.
diff --git a/Misc/NEWS.d/next/Build/2026-07-11-07-26-16.gh-issue-126877.Zt7Kq2.rst b/Misc/NEWS.d/next/Build/2026-07-11-07-26-16.gh-issue-126877.Zt7Kq2.rst
deleted file mode 100644
index 1d7d4fad886c56f..000000000000000
--- a/Misc/NEWS.d/next/Build/2026-07-11-07-26-16.gh-issue-126877.Zt7Kq2.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Fix the :program:`configure` check for Tcl/Tk which could wrongly succeed
-with optimizing compilers when the libraries are missing.
diff --git a/Misc/NEWS.d/next/Build/2026-07-19-12-16-31.gh-issue-154070.f5da07.rst b/Misc/NEWS.d/next/Build/2026-07-19-12-16-31.gh-issue-154070.f5da07.rst
deleted file mode 100644
index 31c6fd3ece35322..000000000000000
--- a/Misc/NEWS.d/next/Build/2026-07-19-12-16-31.gh-issue-154070.f5da07.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-Build the :mod:`curses` module against a wide-character capable ncurses
-even when it is not named ``ncursesw`` -- for example the pkgsrc ncurses on
-NetBSD and illumos, or the system ncurses on macOS.  Such a library
-previously produced a narrow build.
diff --git a/Misc/NEWS.d/next/C_API/2026-07-09-17-33-29.gh-issue-152132.Ma8MJZ.rst b/Misc/NEWS.d/next/C_API/2026-07-09-17-33-29.gh-issue-152132.Ma8MJZ.rst
deleted file mode 100644
index 633c41e40bf2696..000000000000000
--- a/Misc/NEWS.d/next/C_API/2026-07-09-17-33-29.gh-issue-152132.Ma8MJZ.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-Fix :c:func:`Py_RunMain` to return an exit code, rather than calling
-:c:func:`Py_Exit`, when running a script, a command, or the REPL. Patch by
-Victor Stinner.
diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-05-11-15-58-23.gh-issue-149689.9Ht49z.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-05-11-15-58-23.gh-issue-149689.9Ht49z.rst
deleted file mode 100644
index aa672760730bd43..000000000000000
--- a/Misc/NEWS.d/next/Core_and_Builtins/2026-05-11-15-58-23.gh-issue-149689.9Ht49z.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Fix missing error propagation in parser action helpers when memory allocation
-fails. Patch by Thomas Kowalski.
diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-06-05-22-52-41.gh-issue-150988.fDKfMJ.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-06-05-22-52-41.gh-issue-150988.fDKfMJ.rst
deleted file mode 100644
index 6fb70a1ce2685c8..000000000000000
--- a/Misc/NEWS.d/next/Core_and_Builtins/2026-06-05-22-52-41.gh-issue-150988.fDKfMJ.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Fix a reference leak in :exc:`OSError` when attributes are set before
-``super().__init__()``.
diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-06-08-05-31-22.gh-issue-151065._o_31F.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-06-08-05-31-22.gh-issue-151065._o_31F.rst
deleted file mode 100644
index e46c96ef784cc9e..000000000000000
--- a/Misc/NEWS.d/next/Core_and_Builtins/2026-06-08-05-31-22.gh-issue-151065._o_31F.rst
+++ /dev/null
@@ -1 +0,0 @@
-Fix memory leak when using the :ref:`mimalloc memory allocator <mimalloc>`.
diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-06-09-10-28-30.gh-issue-151126.DKa6Sl.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-06-09-10-28-30.gh-issue-151126.DKa6Sl.rst
deleted file mode 100644
index c91939dbe559cd5..000000000000000
--- a/Misc/NEWS.d/next/Core_and_Builtins/2026-06-09-10-28-30.gh-issue-151126.DKa6Sl.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-Fix a crash, when there's no memory left on a device,
-which happened in :mod:`!_interpchannels` module.
-
-Now it raises proper :exc:`MemoryError` errors.
diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-06-10-15-42-46.gh-issue-151253.7MMQ8P.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-06-10-15-42-46.gh-issue-151253.7MMQ8P.rst
deleted file mode 100644
index 56d2f3b2633bb01..000000000000000
--- a/Misc/NEWS.d/next/Core_and_Builtins/2026-06-10-15-42-46.gh-issue-151253.7MMQ8P.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-If ``import encodings`` (first import) fails at Python startup, dump the
-Python path configuration to help users debugging their configuration. Patch
-by Victor Stinner.
diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-06-17-16-46-07.gh-issue-151126.vhTL0T.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-06-17-16-46-07.gh-issue-151126.vhTL0T.rst
deleted file mode 100644
index 6f2d230b1dcfc00..000000000000000
--- a/Misc/NEWS.d/next/Core_and_Builtins/2026-06-17-16-46-07.gh-issue-151126.vhTL0T.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Avoid possible crash in ``_winapi.c`` where a device has no memory left. Now
-it properly raises a :exc:`MemoryError`. Patch by Ivy Xu.
diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-06-18-16-00-10.gh-issue-151126.tBqn6I.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-06-18-16-00-10.gh-issue-151126.tBqn6I.rst
deleted file mode 100644
index d495df43ede932c..000000000000000
--- a/Misc/NEWS.d/next/Core_and_Builtins/2026-06-18-16-00-10.gh-issue-151126.tBqn6I.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-Fix a crash when sharing :class:`memoryview` objects between interpreters
-fails due to running out of memory. It now raises a proper
-:exc:`MemoryError`.
diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-06-21-16-00-00.gh-issue-151773.mN4kRt.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-06-21-16-00-00.gh-issue-151773.mN4kRt.rst
deleted file mode 100644
index b4193c5e15ffef8..000000000000000
--- a/Misc/NEWS.d/next/Core_and_Builtins/2026-06-21-16-00-00.gh-issue-151773.mN4kRt.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Fix a crash in :func:`contextvars.ContextVar.set` when memory allocation
-fails.
diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-06-22-14-48-22.gh-issue-151912.YcxfnU.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-06-22-14-48-22.gh-issue-151912.YcxfnU.rst
deleted file mode 100644
index 07b73949b438a33..000000000000000
--- a/Misc/NEWS.d/next/Core_and_Builtins/2026-06-22-14-48-22.gh-issue-151912.YcxfnU.rst
+++ /dev/null
@@ -1 +0,0 @@
-Fixed a crash in ``type()`` when selecting a metaclass whose ``tp_new`` slot is ``NULL``. Such metaclasses are now rejected with ``TypeError`` instead of causing a NULL pointer dereference.
diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-06-23-12-03-55.gh-issue-151763.K7QfWG.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-06-23-12-03-55.gh-issue-151763.K7QfWG.rst
deleted file mode 100644
index 64d0146cb091016..000000000000000
--- a/Misc/NEWS.d/next/Core_and_Builtins/2026-06-23-12-03-55.gh-issue-151763.K7QfWG.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-Fix a potential crash in :func:`compile`, :func:`exec`, :func:`eval` and
-:func:`ast.parse` when an allocation fails: the parser or compiler could
-return without setting an exception.
diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-06-24-11-12-56.gh-issue-151905.j32skf.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-06-24-11-12-56.gh-issue-151905.j32skf.rst
deleted file mode 100644
index c02145233d0e824..000000000000000
--- a/Misc/NEWS.d/next/Core_and_Builtins/2026-06-24-11-12-56.gh-issue-151905.j32skf.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Fix OOM error handling in :c:func:`PyFrame_GetBack` to propagate exceptions
-instead of masking them as None.
diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-06-26-05-49-13.gh-issue-152235.YU20T9.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-06-26-05-49-13.gh-issue-152235.YU20T9.rst
deleted file mode 100644
index 8d386ad458dfff1..000000000000000
--- a/Misc/NEWS.d/next/Core_and_Builtins/2026-06-26-05-49-13.gh-issue-152235.YU20T9.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Defer GC tracking of a :class:`set` or :class:`frozenset` to the end of its
-construction from iterable. Patch by Donghee Na.
diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-06-26-22-03-16.gh-issue-152235.ZKWiWk.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-06-26-22-03-16.gh-issue-152235.ZKWiWk.rst
deleted file mode 100644
index ff89a2445cb4fe8..000000000000000
--- a/Misc/NEWS.d/next/Core_and_Builtins/2026-06-26-22-03-16.gh-issue-152235.ZKWiWk.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-Defer GC tracking of :meth:`set.intersection`, :meth:`set.difference`,
-:meth:`set.symmetric_difference`, :meth:`set.union` and ``set.__sub__``.
-Patch by Donghee Na.
diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-06-27-10-05-12.gh-issue-152375.L-ZBk6.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-06-27-10-05-12.gh-issue-152375.L-ZBk6.rst
deleted file mode 100644
index db6ae3060d8328f..000000000000000
--- a/Misc/NEWS.d/next/Core_and_Builtins/2026-06-27-10-05-12.gh-issue-152375.L-ZBk6.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Fix undefined behaviour when a :mod:`sys.monitoring` callback raised an
-exception while the program was following a branch or loop.
diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-06-29-23-29-14.gh-issue-152635.O21J0O.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-06-29-23-29-14.gh-issue-152635.O21J0O.rst
deleted file mode 100644
index dadb25fc7c44771..000000000000000
--- a/Misc/NEWS.d/next/Core_and_Builtins/2026-06-29-23-29-14.gh-issue-152635.O21J0O.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Fix a crash caused when running out of memory creating a
-:mod:`!_interpchannels` channel. Now a :exc:`MemoryError` is correctly raised.
diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-06-30-14-00-00.gh-issue-152682.yId7e5.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-06-30-14-00-00.gh-issue-152682.yId7e5.rst
deleted file mode 100644
index aba0b594382bcf8..000000000000000
--- a/Misc/NEWS.d/next/Core_and_Builtins/2026-06-30-14-00-00.gh-issue-152682.yId7e5.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-Fix NULL pointer dereference in :func:`compile` when a reserved name (e.g.
-``__classdict__``) is used as a type parameter name and memory allocation
-fails while formatting the error message.
diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-07-20-20-16-08.gh-issue-154275.l961cA.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-07-20-20-16-08.gh-issue-154275.l961cA.rst
deleted file mode 100644
index 998e91c77098e75..000000000000000
--- a/Misc/NEWS.d/next/Core_and_Builtins/2026-07-20-20-16-08.gh-issue-154275.l961cA.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Fix a crash when getting deeply nested ``__parameters__`` from a
-:class:`types.GenericAlias` objects.
diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-07-26-09-07-41.gh-issue-154709.M2uZ76.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-07-26-09-07-41.gh-issue-154709.M2uZ76.rst
deleted file mode 100644
index 6eb1ce6a8b6970b..000000000000000
--- a/Misc/NEWS.d/next/Core_and_Builtins/2026-07-26-09-07-41.gh-issue-154709.M2uZ76.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Fix an out-of-bounds access in reverse dictionary iterators when the
-underlying dictionary is cleared and modified after the iterator is created.
diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-08-02-17-55-29.gh-issue-154937.m9IBba.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-08-02-17-55-29.gh-issue-154937.m9IBba.rst
deleted file mode 100644
index e307b95216934aa..000000000000000
--- a/Misc/NEWS.d/next/Core_and_Builtins/2026-08-02-17-55-29.gh-issue-154937.m9IBba.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-Fix a data race on thread handle identifiers when ``_thread._shutdown()``
-runs concurrently with the startup of non-daemon threads in the
-free-threaded build.
diff --git a/Misc/NEWS.d/next/Documentation/2026-06-17-12-00-00.gh-issue-86726.__bOgH.rst b/Misc/NEWS.d/next/Documentation/2026-06-17-12-00-00.gh-issue-86726.__bOgH.rst
deleted file mode 100644
index 787b95dbf236279..000000000000000
--- a/Misc/NEWS.d/next/Documentation/2026-06-17-12-00-00.gh-issue-86726.__bOgH.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-Greatly expand the :mod:`tkinter` documentation to cover the full public API
-of the package and its submodules.  The descriptions are oriented towards
-Python rather than Tcl/Tk, with corrected return types and
-``versionadded``/``versionchanged`` information.
diff --git a/Misc/NEWS.d/next/Documentation/2026-07-17-22-33-43.gh-issue-118150.m7iFdP.rst b/Misc/NEWS.d/next/Documentation/2026-07-17-22-33-43.gh-issue-118150.m7iFdP.rst
deleted file mode 100644
index afa6007a46e1745..000000000000000
--- a/Misc/NEWS.d/next/Documentation/2026-07-17-22-33-43.gh-issue-118150.m7iFdP.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Clarify in the :mod:`difflib` documentation what *junk* actually does, its
-drawbacks, and how to control it.
diff --git a/Misc/NEWS.d/next/IDLE/2021-10-03-21-55-34.gh-issue-89520.etEExa.rst b/Misc/NEWS.d/next/IDLE/2021-10-03-21-55-34.gh-issue-89520.etEExa.rst
deleted file mode 100644
index e8e181cac213589..000000000000000
--- a/Misc/NEWS.d/next/IDLE/2021-10-03-21-55-34.gh-issue-89520.etEExa.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-Make IDLE extension configuration look at user config files, allowing
-user-installed extensions to have settings and key bindings defined in
-~/.idlerc.
diff --git a/Misc/NEWS.d/next/IDLE/2025-10-05-19-33-39.gh-issue-139551.TX9BRc.rst b/Misc/NEWS.d/next/IDLE/2025-10-05-19-33-39.gh-issue-139551.TX9BRc.rst
deleted file mode 100644
index 5ea1dfc9b5100d3..000000000000000
--- a/Misc/NEWS.d/next/IDLE/2025-10-05-19-33-39.gh-issue-139551.TX9BRc.rst
+++ /dev/null
@@ -1 +0,0 @@
-Support rendering :exc:`BaseExceptionGroup` in IDLE.
diff --git a/Misc/NEWS.d/next/IDLE/2026-03-07-20-47-40.gh-issue-94523.dq7m2k.rst b/Misc/NEWS.d/next/IDLE/2026-03-07-20-47-40.gh-issue-94523.dq7m2k.rst
deleted file mode 100644
index 831f6ac628768c7..000000000000000
--- a/Misc/NEWS.d/next/IDLE/2026-03-07-20-47-40.gh-issue-94523.dq7m2k.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Detect file if modified at local disk and prompt to ask refresh. Patch by
-Shixian Li.
diff --git a/Misc/NEWS.d/next/IDLE/2026-06-28-06-46-46.gh-issue-85320.Hq2vKn.rst b/Misc/NEWS.d/next/IDLE/2026-06-28-06-46-46.gh-issue-85320.Hq2vKn.rst
deleted file mode 100644
index ec34bf8ead9eb9f..000000000000000
--- a/Misc/NEWS.d/next/IDLE/2026-06-28-06-46-46.gh-issue-85320.Hq2vKn.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-IDLE now reads and writes its configuration files and the breakpoints file
-using UTF-8 instead of the locale encoding.  This keeps non-ASCII data (such
-as non-ASCII paths) from being corrupted and makes the files portable between
-environments.
diff --git a/Misc/NEWS.d/next/IDLE/2026-07-01-00-00-00.gh-issue-66331.wMcLaS.rst b/Misc/NEWS.d/next/IDLE/2026-07-01-00-00-00.gh-issue-66331.wMcLaS.rst
deleted file mode 100644
index e00e7c7d8fdc652..000000000000000
--- a/Misc/NEWS.d/next/IDLE/2026-07-01-00-00-00.gh-issue-66331.wMcLaS.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-Set the ``WM_CLASS`` window property of IDLE's windows to ``Idle`` on X11,
-so that window managers group and label them correctly instead of using the
-default ``Toplevel``.
diff --git a/Misc/NEWS.d/next/IDLE/2026-07-01-00-15-58.gh-issue-152728.yxIhMN.rst b/Misc/NEWS.d/next/IDLE/2026-07-01-00-15-58.gh-issue-152728.yxIhMN.rst
deleted file mode 100644
index d73512a615c1898..000000000000000
--- a/Misc/NEWS.d/next/IDLE/2026-07-01-00-15-58.gh-issue-152728.yxIhMN.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Move functions run.fix_scaling, editor.fixwordbreaks (as fix_word_breaks)
-and pyshell.fix_x11_paste to idlelib.util.
diff --git a/Misc/NEWS.d/next/IDLE/2026-07-01-12-00-00.gh-issue-71956.rPlAlL.rst b/Misc/NEWS.d/next/IDLE/2026-07-01-12-00-00.gh-issue-71956.rPlAlL.rst
deleted file mode 100644
index 1a92ed4cd389cf5..000000000000000
--- a/Misc/NEWS.d/next/IDLE/2026-07-01-12-00-00.gh-issue-71956.rPlAlL.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-Fix Replace All in the IDLE editor's Replace dialog when the search
-direction is "Up" and "Wrap around" is off: it now replaces all matches
-above the current position instead of only the first one.
diff --git a/Misc/NEWS.d/next/IDLE/2026-07-01-14-00-00.gh-issue-89360.mUlTiC.rst b/Misc/NEWS.d/next/IDLE/2026-07-01-14-00-00.gh-issue-89360.mUlTiC.rst
deleted file mode 100644
index 9e3023f8228233f..000000000000000
--- a/Misc/NEWS.d/next/IDLE/2026-07-01-14-00-00.gh-issue-89360.mUlTiC.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-Fix a rare crash in the IDLE editor when the completion window is closed:
-deleting a key binding for a sequence that is not bound to the virtual
-event is now ignored instead of raising a ``ValueError``.
diff --git a/Misc/NEWS.d/next/IDLE/2026-07-01-15-00-00.gh-issue-134300.iDlPaT.rst b/Misc/NEWS.d/next/IDLE/2026-07-01-15-00-00.gh-issue-134300.iDlPaT.rst
deleted file mode 100644
index 791acbbed62aaf3..000000000000000
--- a/Misc/NEWS.d/next/IDLE/2026-07-01-15-00-00.gh-issue-134300.iDlPaT.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-Do not add the ``idlelib`` directory to the path of the IDLE user process.
-User code run in IDLE can no longer import ``idlelib`` submodules as
-top-level modules, such as ``import help``.
diff --git a/Misc/NEWS.d/next/IDLE/2026-07-01-16-00-00.gh-issue-80504.gReP.rst b/Misc/NEWS.d/next/IDLE/2026-07-01-16-00-00.gh-issue-80504.gReP.rst
deleted file mode 100644
index 93adb33202a41c1..000000000000000
--- a/Misc/NEWS.d/next/IDLE/2026-07-01-16-00-00.gh-issue-80504.gReP.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-The "In files:" field of IDLE's Find in Files dialog now always contains a
-full directory path, even for an unsaved editor or the Shell.  This shows
-in the grep output which directory was searched.
diff --git a/Misc/NEWS.d/next/IDLE/2026-07-01-17-00-00.gh-issue-65339.oUtTxt.rst b/Misc/NEWS.d/next/IDLE/2026-07-01-17-00-00.gh-issue-65339.oUtTxt.rst
deleted file mode 100644
index a8b216e86dc8d7e..000000000000000
--- a/Misc/NEWS.d/next/IDLE/2026-07-01-17-00-00.gh-issue-65339.oUtTxt.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-Saving the IDLE Shell or an Output window now defaults to a ``.txt``
-extension and lists text files before Python files, since their content is
-not Python source.
diff --git a/Misc/NEWS.d/next/IDLE/2026-07-01-18-00-00.gh-issue-83653.cFgInt.rst b/Misc/NEWS.d/next/IDLE/2026-07-01-18-00-00.gh-issue-83653.cFgInt.rst
deleted file mode 100644
index 5812b2dd977f6a9..000000000000000
--- a/Misc/NEWS.d/next/IDLE/2026-07-01-18-00-00.gh-issue-83653.cFgInt.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-Blanking an integer entry in IDLE's Settings dialog, such as "Auto squeeze
-min lines", no longer saves an empty string as an invalid configuration
-value.
diff --git a/Misc/NEWS.d/next/IDLE/2026-07-01-19-00-00.gh-issue-82183.rNsTrt.rst b/Misc/NEWS.d/next/IDLE/2026-07-01-19-00-00.gh-issue-82183.rNsTrt.rst
deleted file mode 100644
index 2af412f5200d0de..000000000000000
--- a/Misc/NEWS.d/next/IDLE/2026-07-01-19-00-00.gh-issue-82183.rNsTrt.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-When the shell is busy running code, using "Run... Customized" with "Restart
-shell" unchecked now reports that the shell is executing instead of
-restarting it anyway.
diff --git a/Misc/NEWS.d/next/Library/2023-01-23-21-23-50.gh-issue-101267._f-cFH.rst b/Misc/NEWS.d/next/Library/2023-01-23-21-23-50.gh-issue-101267._f-cFH.rst
deleted file mode 100644
index 901a3fb60ab5b9f..000000000000000
--- a/Misc/NEWS.d/next/Library/2023-01-23-21-23-50.gh-issue-101267._f-cFH.rst
+++ /dev/null
@@ -1,7 +0,0 @@
-When a worker process terminates unexpectedly,
-:class:`concurrent.futures.ProcessPoolExecutor` now sets a separate
-:exc:`~concurrent.futures.process.BrokenProcessPool` exception on each pending
-future instead of sharing a single instance among them all.  Sharing one
-exception produced malformed tracebacks: each
-:meth:`Future.result() <concurrent.futures.Future.result>` call re-raised the
-same object, appending another copy of the traceback to it.
diff --git a/Misc/NEWS.d/next/Library/2023-04-27-14-50-03.gh-issue-103925.khC-El.rst b/Misc/NEWS.d/next/Library/2023-04-27-14-50-03.gh-issue-103925.khC-El.rst
deleted file mode 100644
index 858ce6e5bd98e70..000000000000000
--- a/Misc/NEWS.d/next/Library/2023-04-27-14-50-03.gh-issue-103925.khC-El.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-Fix :meth:`csv.Sniffer.sniff` for a sample with ``\r\n`` line endings in
-which a quoted field ends a line: a letter could be detected as the
-delimiter.
diff --git a/Misc/NEWS.d/next/Library/2023-06-12-21-31-02.gh-issue-105708.5fFwP8.rst b/Misc/NEWS.d/next/Library/2023-06-12-21-31-02.gh-issue-105708.5fFwP8.rst
deleted file mode 100644
index 79289c1f0bd4217..000000000000000
--- a/Misc/NEWS.d/next/Library/2023-06-12-21-31-02.gh-issue-105708.5fFwP8.rst
+++ /dev/null
@@ -1 +0,0 @@
-Accept an uppercase V prefix in IPvFuture addresses in :func:`urllib.parse.urlsplit`.
diff --git a/Misc/NEWS.d/next/Library/2024-06-18-04-08-37.gh-issue-120665.x7T1hV.rst b/Misc/NEWS.d/next/Library/2024-06-18-04-08-37.gh-issue-120665.x7T1hV.rst
deleted file mode 100644
index 27e93988ed11efb..000000000000000
--- a/Misc/NEWS.d/next/Library/2024-06-18-04-08-37.gh-issue-120665.x7T1hV.rst
+++ /dev/null
@@ -1 +0,0 @@
-Fixed an issue where ``unittest`` loaders would load and instantiate :class:`unittest.TestCase`-derived subclasses that are also abstract base classes, which can't be instantiated.
diff --git a/Misc/NEWS.d/next/Library/2025-09-05-20-50-35.gh-issue-79638.Y-JfaH.rst b/Misc/NEWS.d/next/Library/2025-09-05-20-50-35.gh-issue-79638.Y-JfaH.rst
deleted file mode 100644
index bd9fff0bc2e31b6..000000000000000
--- a/Misc/NEWS.d/next/Library/2025-09-05-20-50-35.gh-issue-79638.Y-JfaH.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Disallow all access in :mod:`urllib.robotparser` if the ``robots.txt`` file
-is unreachable due to server or network errors.
diff --git a/Misc/NEWS.d/next/Library/2025-11-02-05-28-56.gh-issue-115634.JbcNnF.rst b/Misc/NEWS.d/next/Library/2025-11-02-05-28-56.gh-issue-115634.JbcNnF.rst
deleted file mode 100644
index f023ce999c60b7c..000000000000000
--- a/Misc/NEWS.d/next/Library/2025-11-02-05-28-56.gh-issue-115634.JbcNnF.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-Fix a deadlock in :class:`concurrent.futures.ProcessPoolExecutor` when
-using ``max_tasks_per_child``, present since the feature was introduced in
-Python 3.11. The executor stopped scheduling queued tasks after a worker
-process exited upon reaching its task limit. Based on a fix proposed by
-Tabrez Mohammed.
diff --git a/Misc/NEWS.d/next/Library/2025-12-23-11-43-05.gh-issue-130796.TkzUGx.rst b/Misc/NEWS.d/next/Library/2025-12-23-11-43-05.gh-issue-130796.TkzUGx.rst
deleted file mode 100644
index a078561a1014faa..000000000000000
--- a/Misc/NEWS.d/next/Library/2025-12-23-11-43-05.gh-issue-130796.TkzUGx.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Undeprecate the :func:`locale.getdefaultlocale` function.
-Patch by Victor Stinner.
diff --git a/Misc/NEWS.d/next/Library/2026-01-18-06-42-47.gh-issue-143988.MtLtCP.rst b/Misc/NEWS.d/next/Library/2026-01-18-06-42-47.gh-issue-143988.MtLtCP.rst
deleted file mode 100644
index fcc0cb54934b90e..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-01-18-06-42-47.gh-issue-143988.MtLtCP.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Fixed crashes in :meth:`socket.socket.sendmsg` and :meth:`socket.socket.recvmsg_into`
-that could occur if buffer sequences are concurrently mutated.
diff --git a/Misc/NEWS.d/next/Library/2026-03-11-10-25-32.gh-issue-123720.TauFRx.rst b/Misc/NEWS.d/next/Library/2026-03-11-10-25-32.gh-issue-123720.TauFRx.rst
deleted file mode 100644
index 04e6a377dd816c7..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-03-11-10-25-32.gh-issue-123720.TauFRx.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-asyncio: Fix :func:`asyncio.Server.serve_forever` shutdown regression. Since
-3.12, cancelling ``serve_forever()`` could hang waiting for a handler blocked
-on a read from a client that never closed (effectively requiring two
-interrupts to stop); the shutdown sequence now ensures client streams are
-closed so ``serve_forever()`` exits promptly and handlers observe EOF.
diff --git a/Misc/NEWS.d/next/Library/2026-03-26-00-00-00.gh-issue-47005.xxc89c.rst b/Misc/NEWS.d/next/Library/2026-03-26-00-00-00.gh-issue-47005.xxc89c.rst
deleted file mode 100644
index 646367f0fa069d3..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-03-26-00-00-00.gh-issue-47005.xxc89c.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-Fix :meth:`!urllib.request.AbstractHTTPHandler.do_open` to give regular
-headers set via :meth:`~urllib.request.Request.add_header` priority over
-unredirected headers, consistent with :meth:`~urllib.request.Request.get_header`
-and :meth:`~urllib.request.Request.header_items`.
diff --git a/Misc/NEWS.d/next/Library/2026-04-23-12-50-15.gh-issue-148441.zvpCkR.rst b/Misc/NEWS.d/next/Library/2026-04-23-12-50-15.gh-issue-148441.zvpCkR.rst
deleted file mode 100644
index 762815270e4d403..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-04-23-12-50-15.gh-issue-148441.zvpCkR.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-:mod:`xml.parsers.expat`: prevent a crash in
-:meth:`~xml.parsers.expat.xmlparser.CharacterDataHandler`
-when the character data size exceeds the parser's
-:attr:`buffer size <xml.parsers.expat.xmlparser.buffer_size>`.
diff --git a/Misc/NEWS.d/next/Library/2026-05-02-13-54-19.gh-issue-149221.__KOks.rst b/Misc/NEWS.d/next/Library/2026-05-02-13-54-19.gh-issue-149221.__KOks.rst
deleted file mode 100644
index fab2b0f6a234891..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-05-02-13-54-19.gh-issue-149221.__KOks.rst
+++ /dev/null
@@ -1 +0,0 @@
-Catch rare math domain error for :func:`random.binomialvariate`.
diff --git a/Misc/NEWS.d/next/Library/2026-05-06-23-13-40.gh-issue-149319.PLM93t.rst b/Misc/NEWS.d/next/Library/2026-05-06-23-13-40.gh-issue-149319.PLM93t.rst
deleted file mode 100644
index 4018ec43f5a47d9..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-05-06-23-13-40.gh-issue-149319.PLM93t.rst
+++ /dev/null
@@ -1 +0,0 @@
-The :mod:`asyncio` REPL now ignores :envvar:`PYTHONSTARTUP` and :envvar:`PYTHON_BASIC_REPL` when :option:`-E` or :option:`-I` is used. Patch by Jonathan Dung.
diff --git a/Misc/NEWS.d/next/Library/2026-05-28-00-00-00.gh-issue-150484.XxYyZz.rst b/Misc/NEWS.d/next/Library/2026-05-28-00-00-00.gh-issue-150484.XxYyZz.rst
deleted file mode 100644
index 522c70058ed29d7..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-05-28-00-00-00.gh-issue-150484.XxYyZz.rst
+++ /dev/null
@@ -1 +0,0 @@
-Fix :func:`unittest.mock.mock_open` ``__exit__`` raising ``TypeError`` when used with :class:`contextlib.ExitStack`.
diff --git a/Misc/NEWS.d/next/Library/2026-06-09-12-00-00.gh-issue-150771.K7mNx2.rst b/Misc/NEWS.d/next/Library/2026-06-09-12-00-00.gh-issue-150771.K7mNx2.rst
deleted file mode 100644
index 2965176d438172e..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-06-09-12-00-00.gh-issue-150771.K7mNx2.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-Fix serialization of :mod:`email` messages using the ``shift_jis`` or
-``euc-jp`` charsets: ``set_content()`` now encodes the payload using
-the output charset, so ``str(m)`` no longer raises
-:exc:`UnicodeEncodeError`.
diff --git a/Misc/NEWS.d/next/Library/2026-06-10-00-00-01.gh-issue-117807.Cx1178.rst b/Misc/NEWS.d/next/Library/2026-06-10-00-00-01.gh-issue-117807.Cx1178.rst
deleted file mode 100644
index d6a874a84867a2f..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-06-10-00-00-01.gh-issue-117807.Cx1178.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Fix :mod:`mimetypes` initialization from MIME map files containing invalid
-UTF-8 bytes.
diff --git a/Misc/NEWS.d/next/Library/2026-06-10-00-00-02.gh-issue-109940.Cx1099.rst b/Misc/NEWS.d/next/Library/2026-06-10-00-00-02.gh-issue-109940.Cx1099.rst
deleted file mode 100644
index 130dc780b612864..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-06-10-00-00-02.gh-issue-109940.Cx1099.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Fix Windows :mod:`venv` activation in ``cmd.exe`` to respect
-``VIRTUAL_ENV_DISABLE_PROMPT``.
diff --git a/Misc/NEWS.d/next/Library/2026-06-11-00-00-00.gh-issue-151295.NQYUzW.rst b/Misc/NEWS.d/next/Library/2026-06-11-00-00-00.gh-issue-151295.NQYUzW.rst
deleted file mode 100644
index e9012f023ff7f77..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-06-11-00-00-00.gh-issue-151295.NQYUzW.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-Fixed a crash (use-after-free) in :meth:`bytes.join` and
-:meth:`bytearray.join` that could occur if an item's
-:meth:`~object.__buffer__` concurrently mutates the sequence being joined.
-The mutation is now reported as a :exc:`RuntimeError` instead.
diff --git a/Misc/NEWS.d/next/Library/2026-06-11-10-00-00.gh-issue-119710.Qz7Kp2.rst b/Misc/NEWS.d/next/Library/2026-06-11-10-00-00.gh-issue-119710.Qz7Kp2.rst
deleted file mode 100644
index 45f99d72ea29a2f..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-06-11-10-00-00.gh-issue-119710.Qz7Kp2.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-Fix :mod:`asyncio` subprocess :meth:`~asyncio.subprocess.Process.wait`
-hanging when the process has exited but one of its pipes is kept open by an
-inherited child process (so the pipe never reaches EOF). ``wait()`` now
-returns as soon as the process exits, regardless of the pipes' state.
diff --git a/Misc/NEWS.d/next/Library/2026-06-11-16-25-38.gh-issue-151126.bh_Usy.rst b/Misc/NEWS.d/next/Library/2026-06-11-16-25-38.gh-issue-151126.bh_Usy.rst
deleted file mode 100644
index 25149057aa7d092..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-06-11-16-25-38.gh-issue-151126.bh_Usy.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Fix a crash when :exc:`MemoryError` in :func:`!os._path_splitroot`
-was not set properly.
diff --git a/Misc/NEWS.d/next/Library/2026-06-11-21-43-24.gh-issue-151337.JSVV18.rst b/Misc/NEWS.d/next/Library/2026-06-11-21-43-24.gh-issue-151337.JSVV18.rst
deleted file mode 100644
index 0344eee9471d292..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-06-11-21-43-24.gh-issue-151337.JSVV18.rst
+++ /dev/null
@@ -1 +0,0 @@
-Avoid possible memory leak in ``tkinter.c`` on Windows.
diff --git a/Misc/NEWS.d/next/Library/2026-06-12-00-00-00.gh-issue-151416.spawnUA.rst b/Misc/NEWS.d/next/Library/2026-06-12-00-00-00.gh-issue-151416.spawnUA.rst
deleted file mode 100644
index fd034d9885a8302..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-06-12-00-00-00.gh-issue-151416.spawnUA.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-Fix a crash in :func:`os.spawnv` and :func:`os.spawnve` when an *argv*
-item's :meth:`~os.PathLike.__fspath__` method mutates the *argv* list
-during argument conversion.  :func:`!os.spawnv` argument conversion errors
-other than :exc:`TypeError`, such as the :exc:`ValueError` for an embedded
-null, are no longer replaced with a generic :exc:`TypeError`.
diff --git a/Misc/NEWS.d/next/Library/2026-06-12-00-04-34.gh-issue-151126.aHaBYq.rst b/Misc/NEWS.d/next/Library/2026-06-12-00-04-34.gh-issue-151126.aHaBYq.rst
deleted file mode 100644
index 20ef69d5de5ac55..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-06-12-00-04-34.gh-issue-151126.aHaBYq.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Fix crash on unset :exc:`MemoryError` on allocation failure in
-:func:`ctypes.get_errno`.
diff --git a/Misc/NEWS.d/next/Library/2026-06-12-22-46-31.gh-issue-151403.DalZWh.rst b/Misc/NEWS.d/next/Library/2026-06-12-22-46-31.gh-issue-151403.DalZWh.rst
deleted file mode 100644
index ca779ed684e7616..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-06-12-22-46-31.gh-issue-151403.DalZWh.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-Fixed a crash in :class:`subprocess.Popen` (and ``_posixsubprocess.fork_exec``)
-when an ``argv`` item's :meth:`~os.PathLike.__fspath__` concurrently mutates the
-``args`` sequence being converted.
diff --git a/Misc/NEWS.d/next/Library/2026-06-15-15-32-36.gh-issue-151497.1cfmSV.rst b/Misc/NEWS.d/next/Library/2026-06-15-15-32-36.gh-issue-151497.1cfmSV.rst
deleted file mode 100644
index a4c03c9d71d7618..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-06-15-15-32-36.gh-issue-151497.1cfmSV.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-Opening a :mod:`tarfile` archive no longer attempts to pre-allocate a huge
-buffer when a crafted or truncated member claims an oversized extended header
-(a GNU long name/link or a pax header).  The extended header is now read in
-bounded chunks, so its size field can no longer trigger memory exhaustion.
diff --git a/Misc/NEWS.d/next/Library/2026-06-17-00-00-00.gh-issue-148660.odcopy.rst b/Misc/NEWS.d/next/Library/2026-06-17-00-00-00.gh-issue-148660.odcopy.rst
deleted file mode 100644
index 30c2e366ca2ba07..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-06-17-00-00-00.gh-issue-148660.odcopy.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-Fix a crash in :meth:`!collections.OrderedDict.copy` when a key's
-``__eq__`` or a subclass method mutates the dict during the copy.  Now
-raises :exc:`RuntimeError` instead, as iteration does.
diff --git a/Misc/NEWS.d/next/Library/2026-06-18-23-59-46.gh-issue-151596.5ma144.rst b/Misc/NEWS.d/next/Library/2026-06-18-23-59-46.gh-issue-151596.5ma144.rst
deleted file mode 100644
index 17ec1341142e93d..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-06-18-23-59-46.gh-issue-151596.5ma144.rst
+++ /dev/null
@@ -1 +0,0 @@
-Add missing ``size`` positional argument to the pure-Python implementation of :meth:`io.TextIOBase.readline`.
diff --git a/Misc/NEWS.d/next/Library/2026-06-19-07-26-20.gh-issue-151695.IBDlkN.rst b/Misc/NEWS.d/next/Library/2026-06-19-07-26-20.gh-issue-151695.IBDlkN.rst
deleted file mode 100644
index f44cb6b93071656..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-06-19-07-26-20.gh-issue-151695.IBDlkN.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-Fix a use-after-free in the :mod:`curses` module.  The encoding of the initial
-screen, used by :func:`curses.unctrl` and :func:`curses.ungetch` to encode
-non-ASCII characters, is now kept as a private copy instead of a borrowed
-pointer to a window object that may be deallocated.
diff --git a/Misc/NEWS.d/next/Library/2026-06-20-21-15-13.gh-issue-151814.OIbgsO.rst b/Misc/NEWS.d/next/Library/2026-06-20-21-15-13.gh-issue-151814.OIbgsO.rst
deleted file mode 100644
index 1365fb4d8edb1d2..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-06-20-21-15-13.gh-issue-151814.OIbgsO.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Fix unbounded memory growth in :class:`io.TextIOWrapper` when repeatedly
-writing an empty string.
diff --git a/Misc/NEWS.d/next/Library/2026-06-21-15-50-24.gh-issue-86165.dyac1G.rst b/Misc/NEWS.d/next/Library/2026-06-21-15-50-24.gh-issue-86165.dyac1G.rst
deleted file mode 100644
index 0b630e9ae346834..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-06-21-15-50-24.gh-issue-86165.dyac1G.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-Fix :func:`imaplib.Time2Internaldate` to use the local timezone offset for
-``time.struct_time`` values with ``tm_gmtoff`` set to ``None``, as returned by
-``datetime.datetime.timetuple()``. Contributed by Xiao Yuan.
diff --git a/Misc/NEWS.d/next/Library/2026-06-22-18-01-00.gh-issue-151955.6u5iwm.rst b/Misc/NEWS.d/next/Library/2026-06-22-18-01-00.gh-issue-151955.6u5iwm.rst
deleted file mode 100644
index 243b3308a57ad32..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-06-22-18-01-00.gh-issue-151955.6u5iwm.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Allow more types to be used in the ``bound`` argument to
-:class:`typing.ParamSpec`.
diff --git a/Misc/NEWS.d/next/Library/2026-06-23-13-27-14.gh-issue-126219.kOfv2g.rst b/Misc/NEWS.d/next/Library/2026-06-23-13-27-14.gh-issue-126219.kOfv2g.rst
deleted file mode 100644
index 8cc8c64c719471d..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-06-23-13-27-14.gh-issue-126219.kOfv2g.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-Fixed a crash in :class:`tkinter.Tk` when *className* contains a non-BMP
-character and tkinter is built against Tcl/Tk 8.x.  Such a name is now
-rejected with a :exc:`ValueError`.
diff --git a/Misc/NEWS.d/next/Library/2026-06-24-10-46-35.gh-issue-152060.f2asrt.rst b/Misc/NEWS.d/next/Library/2026-06-24-10-46-35.gh-issue-152060.f2asrt.rst
deleted file mode 100644
index 6088a6b80829bb4..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-06-24-10-46-35.gh-issue-152060.f2asrt.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-Fix :meth:`datetime.datetime.fromisoformat` raising :exc:`AssertionError`
-instead of :exc:`ValueError` for some malformed strings in the pure-Python
-implementation, matching the C implementation.
diff --git a/Misc/NEWS.d/next/Library/2026-06-24-12-00-00.gh-issue-152052.yBssDE.rst b/Misc/NEWS.d/next/Library/2026-06-24-12-00-00.gh-issue-152052.yBssDE.rst
deleted file mode 100644
index f9ffbbd342fc81a..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-06-24-12-00-00.gh-issue-152052.yBssDE.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-The :mod:`json` C accelerator now correctly reports an unterminated string for a
-``\uXXXX`` escape at the end of the input.
diff --git a/Misc/NEWS.d/next/Library/2026-06-24-12-00-00.gh-issue-152079.f1tzus.rst b/Misc/NEWS.d/next/Library/2026-06-24-12-00-00.gh-issue-152079.f1tzus.rst
deleted file mode 100644
index 492d00724f6a46e..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-06-24-12-00-00.gh-issue-152079.f1tzus.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-Fix :meth:`datetime.datetime.fromisoformat` in the C implementation dropping
-the sub-second part of a UTC offset whose whole-second part is zero, matching
-the pure-Python implementation.
diff --git a/Misc/NEWS.d/next/Library/2026-06-24-22-16-35.gh-issue-105895.hRkuEw.rst b/Misc/NEWS.d/next/Library/2026-06-24-22-16-35.gh-issue-105895.hRkuEw.rst
deleted file mode 100644
index c69e6fa7d14f4dc..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-06-24-22-16-35.gh-issue-105895.hRkuEw.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Add :keyword:`match` and :keyword:`case` to the list of supported topics by
-:func:`help`.
diff --git a/Misc/NEWS.d/next/Library/2026-06-25-01-00-43.gh-issue-151763.wWeHBe.rst b/Misc/NEWS.d/next/Library/2026-06-25-01-00-43.gh-issue-151763.wWeHBe.rst
deleted file mode 100644
index 2f5e84027ad31bb..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-06-25-01-00-43.gh-issue-151763.wWeHBe.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Fix crash in :func:`!_interpqueues.create` whe :exc:`MemoryError`
-happens on queue creation.
diff --git a/Misc/NEWS.d/next/Library/2026-06-25-07-08-17.gh-issue-152157.dt5Ef0.rst b/Misc/NEWS.d/next/Library/2026-06-25-07-08-17.gh-issue-152157.dt5Ef0.rst
deleted file mode 100644
index 00e83b4af6be7a9..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-06-25-07-08-17.gh-issue-152157.dt5Ef0.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-The C implementations of :meth:`~datetime.datetime.fromisoformat` and :meth:`~datetime.time.fromisoformat`
-now reject a decimal separator that is not followed by any
-fractional digit before a timezone designator.
diff --git a/Misc/NEWS.d/next/Library/2026-06-25-10-07-54.gh-issue-152156.gscPU9.rst b/Misc/NEWS.d/next/Library/2026-06-25-10-07-54.gh-issue-152156.gscPU9.rst
deleted file mode 100644
index 7b45a843b8f43b8..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-06-25-10-07-54.gh-issue-152156.gscPU9.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Fix a possible crash in :func:`!_interpreters.create` under limited
-memory conditions.
diff --git a/Misc/NEWS.d/next/Library/2026-06-25-12-00-00.gh-issue-152212.Zk7Qm2.rst b/Misc/NEWS.d/next/Library/2026-06-25-12-00-00.gh-issue-152212.Zk7Qm2.rst
deleted file mode 100644
index 2b1d272638b11ab..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-06-25-12-00-00.gh-issue-152212.Zk7Qm2.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-Fix the pure-Python :mod:`zoneinfo` parser accepting a POSIX TZ string with a
-``std`` abbreviation but no offset. This is invalid per POSIX and now
-raises :exc:`ValueError`, matching the C accelerator. Patch by tonghuaroot.
diff --git a/Misc/NEWS.d/next/Library/2026-06-25-14-32-42.gh-issue-139145.kT9rmP.rst b/Misc/NEWS.d/next/Library/2026-06-25-14-32-42.gh-issue-139145.kT9rmP.rst
deleted file mode 100644
index 3fa639c5f727baa..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-06-25-14-32-42.gh-issue-139145.kT9rmP.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-Fix a busy loop in :mod:`tkinter` on interactive Python.  When a Tcl command
-running its own event loop (such as ``vwait`` or :meth:`!wait_variable`) was
-active and input arrived on stdin, the event loop kept spinning at 100% CPU.
-The stdin file handler is now removed as soon as input is available.  Based on
-a patch by Michiel de Hoon.
diff --git a/Misc/NEWS.d/next/Library/2026-06-25-14-32-43.gh-issue-139816.Lq2vXa.rst b/Misc/NEWS.d/next/Library/2026-06-25-14-32-43.gh-issue-139816.Lq2vXa.rst
deleted file mode 100644
index b180dee686caf8c..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-06-25-14-32-43.gh-issue-139816.Lq2vXa.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-Fix a hang in :mod:`tkinter` on interactive Python built without
-:mod:`readline`.  An exception raised in a callback no longer causes the
-event loop to stop and wait for the user to press Enter; pending callbacks
-now keep running until input is actually available on stdin.
diff --git a/Misc/NEWS.d/next/Library/2026-06-26-12-50-26.gh-issue-152246.MfXMd1.rst b/Misc/NEWS.d/next/Library/2026-06-26-12-50-26.gh-issue-152246.MfXMd1.rst
deleted file mode 100644
index 0858199a9fa2798..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-06-26-12-50-26.gh-issue-152246.MfXMd1.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Fix the pure-Python :mod:`zoneinfo` parser accepting an invalid POSIX TZ
-transition rule with a non-period separator. Patch by tonghuaroot.
diff --git a/Misc/NEWS.d/next/Library/2026-06-26-13-10-00.gh-issue-80937.Hq3mNp.rst b/Misc/NEWS.d/next/Library/2026-06-26-13-10-00.gh-issue-80937.Hq3mNp.rst
deleted file mode 100644
index 4ea0179c6586d4f..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-06-26-13-10-00.gh-issue-80937.Hq3mNp.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-Fix a memory leak in :mod:`tkinter` when a Tcl command created with
-``createcommand`` was not explicitly removed before the interpreter was
-deleted.  The command no longer keeps the interpreter alive through a
-reference cycle.
diff --git a/Misc/NEWS.d/next/Library/2026-06-26-13-39-11.gh-issue-152248.N2Rmaf.rst b/Misc/NEWS.d/next/Library/2026-06-26-13-39-11.gh-issue-152248.N2Rmaf.rst
deleted file mode 100644
index 8921ad17349e975..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-06-26-13-39-11.gh-issue-152248.N2Rmaf.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-Make the C and pure-Python :mod:`zoneinfo` parsers validate POSIX TZ
-abbreviations consistently, rejecting unquoted abbreviations with non-letter
-characters and empty quoted abbreviations. Patch by tonghuaroot.
diff --git a/Misc/NEWS.d/next/Library/2026-06-26-15-00-00.gh-issue-38464.yDPjKH.rst b/Misc/NEWS.d/next/Library/2026-06-26-15-00-00.gh-issue-38464.yDPjKH.rst
deleted file mode 100644
index c1c272b97d4b0a8..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-06-26-15-00-00.gh-issue-38464.yDPjKH.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-:meth:`!tkinter.Misc.nametowidget` now resolves the auto-generated names of
-cloned menus (a menu used as a menubar or a cascade) back to the original
-widget.
diff --git a/Misc/NEWS.d/next/Library/2026-06-26-15-30-00.gh-issue-88758.Qw7nLp.rst b/Misc/NEWS.d/next/Library/2026-06-26-15-30-00.gh-issue-88758.Qw7nLp.rst
deleted file mode 100644
index 31d567194fb9031..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-06-26-15-30-00.gh-issue-88758.Qw7nLp.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-:meth:`!tkinter.Misc.focus_get`, :meth:`!focus_displayof`,
-:meth:`!focus_lastfor` and :meth:`!winfo_containing` now return ``None``
-instead of raising :exc:`KeyError` when the widget was not created by
-:mod:`tkinter` (for example a torn-off menu).
diff --git a/Misc/NEWS.d/next/Library/2026-06-26-16-30-00.gh-issue-83274.Kx9mQv.rst b/Misc/NEWS.d/next/Library/2026-06-26-16-30-00.gh-issue-83274.Kx9mQv.rst
deleted file mode 100644
index 3b722d2176be920..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-06-26-16-30-00.gh-issue-83274.Kx9mQv.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-Deallocating a :mod:`tkinter` application from a thread other than the one it
-was created in no longer crashes the interpreter.  The underlying Tcl
-interpreter is leaked instead, and a :exc:`RuntimeWarning` is reported.
diff --git a/Misc/NEWS.d/next/Library/2026-06-26-23-56-40.gh-issue-71880.782D31.rst b/Misc/NEWS.d/next/Library/2026-06-26-23-56-40.gh-issue-71880.782D31.rst
deleted file mode 100644
index 5a12f428f2a8b6c..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-06-26-23-56-40.gh-issue-71880.782D31.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-:class:`curses.textpad.Textbox` now lets the lower-right cell of the window be
-edited.  Writing it with :meth:`~curses.window.addch` would move the cursor
-past the end of the window, raising an error and scrolling a scrollable window,
-so it is now written with :meth:`~curses.window.insch`, which keeps the cursor
-in place.
diff --git a/Misc/NEWS.d/next/Library/2026-06-27-12-30-00.gh-issue-133031.Na8Bit.rst b/Misc/NEWS.d/next/Library/2026-06-27-12-30-00.gh-issue-133031.Na8Bit.rst
deleted file mode 100644
index 96e9efe20e42f04..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-06-27-12-30-00.gh-issue-133031.Na8Bit.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-:class:`curses.textpad.Textbox` now enters and reads back the non-ASCII
-characters of an 8-bit locale encoding, instead of mangling them with a 7-bit
-mask.
diff --git a/Misc/NEWS.d/next/Library/2026-06-27-17-19-09.gh-issue-151126.huUyOM.rst b/Misc/NEWS.d/next/Library/2026-06-27-17-19-09.gh-issue-151126.huUyOM.rst
deleted file mode 100644
index 2e51fd45b595486..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-06-27-17-19-09.gh-issue-151126.huUyOM.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Fix two crashes in :mod:`tkinter` and :mod:`socket` modules initialization
-under a memory pressure. Sets missing :exc:`MemoryError`.
diff --git a/Misc/NEWS.d/next/Library/2026-06-28-11-00-40.gh-issue-78335.Kp3mWq.rst b/Misc/NEWS.d/next/Library/2026-06-28-11-00-40.gh-issue-78335.Kp3mWq.rst
deleted file mode 100644
index 641889cfa9ef41d..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-06-28-11-00-40.gh-issue-78335.Kp3mWq.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-Update the docstrings of :mod:`tkinter` and :mod:`tkinter.ttk` widget classes
-to list all supported widget options, including options added in Tk 9.0 and
-9.1.  ``tkinter.Menubutton`` and ``tkinter.Message`` previously had no option
-list at all.
diff --git a/Misc/NEWS.d/next/Library/2026-06-29-22-16-57.gh-issue-50966.Tq5mLp.rst b/Misc/NEWS.d/next/Library/2026-06-29-22-16-57.gh-issue-50966.Tq5mLp.rst
deleted file mode 100644
index 96a0938c02d226b..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-06-29-22-16-57.gh-issue-50966.Tq5mLp.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-Fix unbounded recursion in :mod:`turtle` when a mouse event handler that moves
-the turtle is reentered while the screen is being redrawn, for example with
-``screen.ondrag(turtle.goto)``.  This could previously crash the interpreter.
diff --git a/Misc/NEWS.d/next/Library/2026-06-30-12-00-00.gh-issue-40038.qK7mGv.rst b/Misc/NEWS.d/next/Library/2026-06-30-12-00-00.gh-issue-40038.qK7mGv.rst
deleted file mode 100644
index 1f393d23266bcef..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-06-30-12-00-00.gh-issue-40038.qK7mGv.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-:mod:`imaplib` now again quotes command arguments when necessary, for
-example mailbox names containing a space.  Such quoting was inadvertently
-disabled when the module was ported to Python 3, and the arguments are now
-quoted according to the :rfc:`3501` grammar.  For backward compatibility,
-an argument already enclosed in double quotes is left unchanged, so code
-that quotes arguments itself keeps working.
diff --git a/Misc/NEWS.d/next/Library/2026-06-30-21-40-00.gh-issue-152502.Kq3Vn7.rst b/Misc/NEWS.d/next/Library/2026-06-30-21-40-00.gh-issue-152502.Kq3Vn7.rst
deleted file mode 100644
index 815bc47966c40c3..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-06-30-21-40-00.gh-issue-152502.Kq3Vn7.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-Detect the :mod:`curses` mouse interface (:func:`~curses.getmouse`, the
-``BUTTON*`` constants, and others) with a configure capability probe or library
-macros instead of gating it on ncurses-specific macros.  It is now also
-available with other curses implementations that provide it, such as NetBSD
-curses and PDCurses (the latter underpins ``windows-curses``).
diff --git a/Misc/NEWS.d/next/Library/2026-07-01-10-00-00.gh-issue-88574.Kz3wQm.rst b/Misc/NEWS.d/next/Library/2026-07-01-10-00-00.gh-issue-88574.Kz3wQm.rst
deleted file mode 100644
index 371f4d08bccd2e2..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-07-01-10-00-00.gh-issue-88574.Kz3wQm.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-:mod:`imaplib` no longer fails when a server sends a spurious blank line
-after the counted data of a literal, including after a literal that
-terminates a response (such as a mailbox name returned by ``LIST``).
-Such blank lines are now skipped without swallowing the following line.
diff --git a/Misc/NEWS.d/next/Library/2026-07-01-10-30-00.gh-issue-63121.Rm4tZp.rst b/Misc/NEWS.d/next/Library/2026-07-01-10-30-00.gh-issue-63121.Rm4tZp.rst
deleted file mode 100644
index a63b164ad7a627b..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-07-01-10-30-00.gh-issue-63121.Rm4tZp.rst
+++ /dev/null
@@ -1,7 +0,0 @@
-:mod:`imaplib` now refreshes the cached capability list after a successful
-:meth:`~imaplib.IMAP4.login` or :meth:`~imaplib.IMAP4.authenticate`, using
-the ``CAPABILITY`` response sent by the server or, if none was sent, by
-querying it, so that capabilities that become available only after
-authentication (such as ``ENABLE`` on Gmail) are recognized.  Capabilities
-advertised in the server greeting are now also used, avoiding a redundant
-``CAPABILITY`` command.
diff --git a/Misc/NEWS.d/next/Library/2026-07-01-11-29-13.gh-issue-151126.eElGy5.rst b/Misc/NEWS.d/next/Library/2026-07-01-11-29-13.gh-issue-151126.eElGy5.rst
deleted file mode 100644
index d5ec1d254ef056e..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-07-01-11-29-13.gh-issue-151126.eElGy5.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-Fix a crash caused by failing to set :exc:`MemoryError` on allocation failure
-when passing :class:`ctypes.Structure` or :class:`ctypes.Union` instances by
-value to ctypes foreign functions.
diff --git a/Misc/NEWS.d/next/Library/2026-07-01-12-00-00.gh-issue-108280.Nq8vTr.rst b/Misc/NEWS.d/next/Library/2026-07-01-12-00-00.gh-issue-108280.Nq8vTr.rst
deleted file mode 100644
index 487c9da67f1832b..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-07-01-12-00-00.gh-issue-108280.Nq8vTr.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-Connecting :mod:`imaplib` to a server that does not send a valid IMAP4
-greeting (for example a POP3 server answering on the IMAP port) now raises
-an error reporting the server's response instead of
-``imaplib.IMAP4.error: None``.
diff --git a/Misc/NEWS.d/next/Library/2026-07-02-12-00-00.gh-issue-152847.PitKqc.rst b/Misc/NEWS.d/next/Library/2026-07-02-12-00-00.gh-issue-152847.PitKqc.rst
deleted file mode 100644
index 3f20d78a201e84c..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-07-02-12-00-00.gh-issue-152847.PitKqc.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-Reject a POSIX TZ transition rule with non-digit characters in the
-day-of-year field in the pure-Python :mod:`zoneinfo` parser. Patch by
-tonghuaroot.
diff --git a/Misc/NEWS.d/next/Library/2026-07-02-13-30-00.gh-issue-152849.K9dRvP.rst b/Misc/NEWS.d/next/Library/2026-07-02-13-30-00.gh-issue-152849.K9dRvP.rst
deleted file mode 100644
index 053a5dfea3f3ff4..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-07-02-13-30-00.gh-issue-152849.K9dRvP.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Out-of-range float and integer timestamps now raise :exc:`OverflowError`
-with the same message. Patch by tonghuaroot.
diff --git a/Misc/NEWS.d/next/Library/2026-07-02-22-19-53.gh-issue-150880.vPZ7jK.rst b/Misc/NEWS.d/next/Library/2026-07-02-22-19-53.gh-issue-150880.vPZ7jK.rst
deleted file mode 100644
index a7bf210f8e1ca9c..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-07-02-22-19-53.gh-issue-150880.vPZ7jK.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-Normalize non-extended Windows paths before appending the wildcard used by
-``os.listdir()`` and ``os.scandir()``, making paths with trailing spaces
-behave consistently with other filesystem APIs.
diff --git a/Misc/NEWS.d/next/Library/2026-07-03-14-54-33.gh-issue-152951.u8tPCI.rst b/Misc/NEWS.d/next/Library/2026-07-03-14-54-33.gh-issue-152951.u8tPCI.rst
deleted file mode 100644
index c3d56c6d59c91b3..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-07-03-14-54-33.gh-issue-152951.u8tPCI.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-:class:`collections.deque` prevent rare crash when calling ``extend`` under
-high memory pressure conditions.
diff --git a/Misc/NEWS.d/next/Library/2026-07-03-21-10-00.gh-issue-54930.hq09Er.rst b/Misc/NEWS.d/next/Library/2026-07-03-21-10-00.gh-issue-54930.hq09Er.rst
deleted file mode 100644
index 1cfc0212c609a69..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-07-03-21-10-00.gh-issue-54930.hq09Er.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-Error responses of :class:`http.server.BaseHTTPRequestHandler` to malformed
-request lines now include a status line and headers instead of being sent in
-the bare HTTP/0.9 style.
-Only a valid HTTP/0.9 request (a two-word ``GET`` request line) now receives
-an HTTP/0.9 style response.
diff --git a/Misc/NEWS.d/next/Library/2026-07-04-13-00-00.gh-issue-135661.CIkADG.rst b/Misc/NEWS.d/next/Library/2026-07-04-13-00-00.gh-issue-135661.CIkADG.rst
deleted file mode 100644
index 26a912a6f3a1949..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-07-04-13-00-00.gh-issue-135661.CIkADG.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-Fix :class:`html.parser.HTMLParser`: an abruptly closed empty comment
-(``<!-->`` or ``<!--->``) no longer extends up to a later ``-->`` in the same
-:meth:`~html.parser.HTMLParser.feed` call.
diff --git a/Misc/NEWS.d/next/Library/2026-07-05-12-00-00.gh-issue-153056.tMpLat.rst b/Misc/NEWS.d/next/Library/2026-07-05-12-00-00.gh-issue-153056.tMpLat.rst
deleted file mode 100644
index 483340d35042159..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-07-05-12-00-00.gh-issue-153056.tMpLat.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-Fix :class:`string.Template` raising a spurious :exc:`ValueError` when the
-*pattern* attribute is a compiled regular expression object, which the
-documentation allows.
diff --git a/Misc/NEWS.d/next/Library/2026-07-05-16-09-31.gh-issue-153068.huY9Jh.rst b/Misc/NEWS.d/next/Library/2026-07-05-16-09-31.gh-issue-153068.huY9Jh.rst
deleted file mode 100644
index accf6e99cd6434d..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-07-05-16-09-31.gh-issue-153068.huY9Jh.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Fix :meth:`!cProfile.Profile.enable` to no longer overwrite errors from
-:mod:`sys.monitoring`.
diff --git a/Misc/NEWS.d/next/Library/2026-07-06-12-00-00.gh-issue-153200.isqrtLt.rst b/Misc/NEWS.d/next/Library/2026-07-06-12-00-00.gh-issue-153200.isqrtLt.rst
deleted file mode 100644
index a27ac73fe31a70a..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-07-06-12-00-00.gh-issue-153200.isqrtLt.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-Fix :func:`math.isqrt` returning an incorrect result for arguments not
-less than 2**64 that are instances of an :class:`int` subclass with an
-overridden comparison operator.
diff --git a/Misc/NEWS.d/next/Library/2026-07-07-02-26-43.gh-issue-153210.LUXIcm.rst b/Misc/NEWS.d/next/Library/2026-07-07-02-26-43.gh-issue-153210.LUXIcm.rst
deleted file mode 100644
index d5d4b7c1b8c0ed4..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-07-07-02-26-43.gh-issue-153210.LUXIcm.rst
+++ /dev/null
@@ -1 +0,0 @@
-Fix crash on :mod:`array` import under a memory pressure.
diff --git a/Misc/NEWS.d/next/Library/2026-07-07-17-50-54.gh-issue-143990.FoNtCf.rst b/Misc/NEWS.d/next/Library/2026-07-07-17-50-54.gh-issue-143990.FoNtCf.rst
deleted file mode 100644
index a78dcccf482ab59..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-07-07-17-50-54.gh-issue-143990.FoNtCf.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-A :class:`tkinter.font.Font` created from a named font,
-including by :meth:`~tkinter.font.Font.copy`,
-now copies its configured options rather than the options resolved by Tcl's ``font actual``,
-preserving a size specified in pixels (a negative size).
diff --git a/Misc/NEWS.d/next/Library/2026-07-08-01-47-15.gh-issue-153083.XbKZCp.rst b/Misc/NEWS.d/next/Library/2026-07-08-01-47-15.gh-issue-153083.XbKZCp.rst
deleted file mode 100644
index b6d96851e17342f..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-07-08-01-47-15.gh-issue-153083.XbKZCp.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Defer GC tracking of an :class:`array.array` to the end of its construction.
-Patch by Donghee Na.
diff --git a/Misc/NEWS.d/next/Library/2026-07-09-00-00-00.gh-issue-153406.vyMmB6.rst b/Misc/NEWS.d/next/Library/2026-07-09-00-00-00.gh-issue-153406.vyMmB6.rst
deleted file mode 100644
index c09575754e33804..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-07-09-00-00-00.gh-issue-153406.vyMmB6.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-:func:`email.utils.parsedate_to_datetime` now raises :exc:`ValueError`
-instead of :exc:`OverflowError` when the parsed year or timezone offset is
-out of range, matching its documented behavior.
diff --git a/Misc/NEWS.d/next/Library/2026-07-09-14-00-00.gh-issue-153417.Bw7Rq2.rst b/Misc/NEWS.d/next/Library/2026-07-09-14-00-00.gh-issue-153417.Bw7Rq2.rst
deleted file mode 100644
index ebc36fa7c228d08..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-07-09-14-00-00.gh-issue-153417.Bw7Rq2.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-Error messages from :meth:`imaplib.IMAP4.select` and :meth:`imaplib.IMAP4.uid`
-no longer raise :exc:`BytesWarning` under :option:`!-bb`
-when the mailbox or command argument is :class:`bytes`.
diff --git a/Misc/NEWS.d/next/Library/2026-07-09-16-35-47.gh-issue-153404.daRkes.rst b/Misc/NEWS.d/next/Library/2026-07-09-16-35-47.gh-issue-153404.daRkes.rst
deleted file mode 100644
index 0746d3f12149d52..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-07-09-16-35-47.gh-issue-153404.daRkes.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-:class:`urllib.robotparser.RobotFileParser` now silently ignores a
-``Crawl-delay`` or ``Request-rate`` value written with non-decimal digits
-(such as ``U+00B2 SUPERSCRIPT TWO``) instead of raising :exc:`ValueError`
-and aborting the parse of the whole ``robots.txt`` file.
diff --git a/Misc/NEWS.d/next/Library/2026-07-12-00-00-00.gh-issue-85943.8f906e.rst b/Misc/NEWS.d/next/Library/2026-07-12-00-00-00.gh-issue-85943.8f906e.rst
deleted file mode 100644
index 0a93bf2e7b803e3..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-07-12-00-00-00.gh-issue-85943.8f906e.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-Fix :mod:`struct` functions raising :exc:`BytesWarning` under the ``-bb``
-command line option when a :class:`str` format is used after an equal
-:class:`bytes` format (or vice versa).  The internal format cache no longer
-mixes :class:`str` and :class:`bytes` keys.
diff --git a/Misc/NEWS.d/next/Library/2026-07-13-10-27-08.gh-issue-153658.A6o4n5.rst b/Misc/NEWS.d/next/Library/2026-07-13-10-27-08.gh-issue-153658.A6o4n5.rst
deleted file mode 100644
index 06385bb7754b127..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-07-13-10-27-08.gh-issue-153658.A6o4n5.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Fix :meth:`sqlite3.Connection.iterdump` raising :exc:`sqlite3.OperationalError`
-when a table name contains a single quote. Patch by tonghuaroot.
diff --git a/Misc/NEWS.d/next/Library/2026-07-14-19-45-21.gh-issue-153695.UYdZJZ.rst b/Misc/NEWS.d/next/Library/2026-07-14-19-45-21.gh-issue-153695.UYdZJZ.rst
deleted file mode 100644
index 43d7feebf97d6f2..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-07-14-19-45-21.gh-issue-153695.UYdZJZ.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Hashing a :class:`sqlite3.Row` that contains an unhashable value now raises
-:exc:`TypeError` instead of :exc:`SystemError`. Patch by tonghuaroot.
diff --git a/Misc/NEWS.d/next/Library/2026-07-15-14-24-18.gh-issue-153761.8jqs67.rst b/Misc/NEWS.d/next/Library/2026-07-15-14-24-18.gh-issue-153761.8jqs67.rst
deleted file mode 100644
index 68e007e66e0396c..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-07-15-14-24-18.gh-issue-153761.8jqs67.rst
+++ /dev/null
@@ -1 +0,0 @@
-Fix cancelling :meth:`asyncio.loop.sock_accept` dropping a pending connection.
diff --git a/Misc/NEWS.d/next/Library/2026-07-15-21-56-40.gh-issue-146011.nWmHif.rst b/Misc/NEWS.d/next/Library/2026-07-15-21-56-40.gh-issue-146011.nWmHif.rst
deleted file mode 100644
index 0cac0257040bd6b..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-07-15-21-56-40.gh-issue-146011.nWmHif.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Fix a heap-use-after-free in the C implementation of :mod:`decimal`
-when calling :func:`repr` after deleting the :class:`~decimal.Context`.
diff --git a/Misc/NEWS.d/next/Library/2026-07-17-20-31-00.gh-issue-153862.X3kjoY.rst b/Misc/NEWS.d/next/Library/2026-07-17-20-31-00.gh-issue-153862.X3kjoY.rst
deleted file mode 100644
index aa646dc6c49174b..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-07-17-20-31-00.gh-issue-153862.X3kjoY.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-On a wide :mod:`curses` build, :meth:`curses.window.inch` now returns the
-locale-encoded byte of a non-ASCII character, matching
-:meth:`~curses.window.instr`, instead of the low byte of its code point.
diff --git a/Misc/NEWS.d/next/Library/2026-07-17-20-56-32.gh-issue-153864.WmA9By.rst b/Misc/NEWS.d/next/Library/2026-07-17-20-56-32.gh-issue-153864.WmA9By.rst
deleted file mode 100644
index 79857185d7d0c76..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-07-17-20-56-32.gh-issue-153864.WmA9By.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-On a wide :mod:`curses` build, :meth:`curses.window.insch` now inserts a
-non-ASCII byte as the character it encodes in the window's encoding,
-consistently with :meth:`~curses.window.addch`, instead of its code point.
diff --git a/Misc/NEWS.d/next/Library/2026-07-18-10-52-10.gh-issue-153896.87oevp.rst b/Misc/NEWS.d/next/Library/2026-07-18-10-52-10.gh-issue-153896.87oevp.rst
deleted file mode 100644
index 217a3d3d272ed07..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-07-18-10-52-10.gh-issue-153896.87oevp.rst
+++ /dev/null
@@ -1 +0,0 @@
-Deduplicate unhashable args in :data:`typing.Literal`.
diff --git a/Misc/NEWS.d/next/Library/2026-07-18-17-09-49.gh-issue-154001.3brrUv.rst b/Misc/NEWS.d/next/Library/2026-07-18-17-09-49.gh-issue-154001.3brrUv.rst
deleted file mode 100644
index ff019aa36188479..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-07-18-17-09-49.gh-issue-154001.3brrUv.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Fix :func:`random.binomialvariate` raising :exc:`ZeroDivisionError`
-when :func:`random.random` returns zero.
diff --git a/Misc/NEWS.d/next/Library/2026-07-20-12-40-00.gh-issue-145030.TFJm6k.rst b/Misc/NEWS.d/next/Library/2026-07-20-12-40-00.gh-issue-145030.TFJm6k.rst
deleted file mode 100644
index 2f1b717b40ea74a..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-07-20-12-40-00.gh-issue-145030.TFJm6k.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-Fix :mod:`asyncio` write pipe transports for named FIFOs on macOS and Solaris.
-Unread data sitting in the FIFO made the transport misinterpret a poll event
-as the reader disconnecting, wrongly closing the transport.
diff --git a/Misc/NEWS.d/next/Library/2026-07-20-14-00-00.gh-issue-154227.openpt.rst b/Misc/NEWS.d/next/Library/2026-07-20-14-00-00.gh-issue-154227.openpt.rst
deleted file mode 100644
index e33d090d78c5934..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-07-20-14-00-00.gh-issue-154227.openpt.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Fix :func:`os.posix_openpt` on OpenBSD, where it rejected the
-:data:`~os.O_CLOEXEC` flag.
diff --git a/Misc/NEWS.d/next/Library/2026-07-20-14-10-00.gh-issue-154225.openpty.rst b/Misc/NEWS.d/next/Library/2026-07-20-14-10-00.gh-issue-154225.openpty.rst
deleted file mode 100644
index f15022b66320062..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-07-20-14-10-00.gh-issue-154225.openpty.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Fix :func:`os.openpty` on Solaris and illumos: it no longer leaves the
-pseudo-terminal as the controlling terminal of the calling process.
diff --git a/Misc/NEWS.d/next/Library/2026-07-20-18-30-00.gh-issue-154258.mmapresize.rst b/Misc/NEWS.d/next/Library/2026-07-20-18-30-00.gh-issue-154258.mmapresize.rst
deleted file mode 100644
index 4c33336e0bbdcad..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-07-20-18-30-00.gh-issue-154258.mmapresize.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-Fix a crash in :meth:`mmap.mmap.resize` on NetBSD when growing a shared
-anonymous mapping.  :meth:`!resize` now raises :exc:`ValueError` in this
-case, as it already did on Linux.
diff --git a/Misc/NEWS.d/next/Library/2026-07-20-21-36-40.gh-issue-154283.Xip7xE.rst b/Misc/NEWS.d/next/Library/2026-07-20-21-36-40.gh-issue-154283.Xip7xE.rst
deleted file mode 100644
index a278d67e1824d58..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-07-20-21-36-40.gh-issue-154283.Xip7xE.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-On DragonFly BSD, :func:`threading.get_native_id` now returns a value that is
-unique across processes, matching the other platforms.
diff --git a/Misc/NEWS.d/next/Library/2026-07-20-22-03-44.gh-issue-154291.Mi5HeQ.rst b/Misc/NEWS.d/next/Library/2026-07-20-22-03-44.gh-issue-154291.Mi5HeQ.rst
deleted file mode 100644
index d962f8987ad491e..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-07-20-22-03-44.gh-issue-154291.Mi5HeQ.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-Fix :func:`socket.has_dualstack_ipv6` to return ``False`` on platforms such as
-DragonFly BSD where setting ``IPV6_V6ONLY`` to 0 silently has no
-effect.
diff --git a/Misc/NEWS.d/next/Library/2026-07-21-01-13-39.gh-issue-154307.UNFKL4.rst b/Misc/NEWS.d/next/Library/2026-07-21-01-13-39.gh-issue-154307.UNFKL4.rst
deleted file mode 100644
index fdba0c2940f0050..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-07-21-01-13-39.gh-issue-154307.UNFKL4.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-Fix :meth:`tempfile.TemporaryDirectory.cleanup` on DragonFly BSD, where removing
-a file with the ``UF_NOUNLINK`` flag failed with ``EISDIR`` instead of
-``EPERM``.
diff --git a/Misc/NEWS.d/next/Library/2026-07-21-08-31-55.gh-issue-154324.vDxV5U.rst b/Misc/NEWS.d/next/Library/2026-07-21-08-31-55.gh-issue-154324.vDxV5U.rst
deleted file mode 100644
index 388e4deb7c41989..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-07-21-08-31-55.gh-issue-154324.vDxV5U.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-Fix :func:`os.sendfile` on illumos:
-it no longer reports a successful transfer
-when the underlying system call failed without writing any data.
diff --git a/Misc/NEWS.d/next/Library/2026-07-21-20-34-05.gh-issue-154389.DlTiii.rst b/Misc/NEWS.d/next/Library/2026-07-21-20-34-05.gh-issue-154389.DlTiii.rst
deleted file mode 100644
index eb2e2edc2d720e7..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-07-21-20-34-05.gh-issue-154389.DlTiii.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-Fix :func:`uuid.uuid1` on OpenBSD:
-it returned a version 4 UUID,
-because ``uuid_create()`` generates random UUIDs on this platform.
diff --git a/Misc/NEWS.d/next/Library/2026-07-21-21-36-59.gh-issue-154399.VSa6oH.rst b/Misc/NEWS.d/next/Library/2026-07-21-21-36-59.gh-issue-154399.VSa6oH.rst
deleted file mode 100644
index 598dd26694c73e4..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-07-21-21-36-59.gh-issue-154399.VSa6oH.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-Fix :mod:`venv` activation in a non-interactive csh:
-``activate.csh`` no longer fails
-when the ``prompt`` variable is not set.
diff --git a/Misc/NEWS.d/next/Library/2026-07-22-10-30-08.gh-issue-154435.xCxm0T.rst b/Misc/NEWS.d/next/Library/2026-07-22-10-30-08.gh-issue-154435.xCxm0T.rst
deleted file mode 100644
index b468e929b1ca18b..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-07-22-10-30-08.gh-issue-154435.xCxm0T.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-Fix :func:`os.posix_fadvise` and :func:`os.posix_fallocate` on DragonFly BSD:
-they raised :exc:`OSError` with a meaningless error code,
-because these functions return -1 and set ``errno`` there.
diff --git a/Misc/NEWS.d/next/Library/2026-07-22-13-00-00.gh-issue-154460.wCsFtM.rst b/Misc/NEWS.d/next/Library/2026-07-22-13-00-00.gh-issue-154460.wCsFtM.rst
deleted file mode 100644
index b0a7058f0519ff0..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-07-22-13-00-00.gh-issue-154460.wCsFtM.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Fix :func:`time.strftime` and :meth:`datetime.datetime.strftime` returning a
-wrong ISO 8601 week number (``%V``) on OpenBSD.
diff --git a/Misc/NEWS.d/next/Library/2026-07-22-13-01-24.gh-issue-73458.byxSPi.rst b/Misc/NEWS.d/next/Library/2026-07-22-13-01-24.gh-issue-73458.byxSPi.rst
deleted file mode 100644
index 27b6eeac5b520b2..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-07-22-13-01-24.gh-issue-73458.byxSPi.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-Fix :func:`logging.config.listen`: it left the caller waiting for the
-``ready`` event forever if the server could not be started,
-for example if the port was invalid or already in use.
-It now also binds to an IPv6 address if the host has no IPv4 address,
-for example if ``localhost`` is only aliased to ``::1``.
diff --git a/Misc/NEWS.d/next/Library/2026-07-23-06-53-01.gh-issue-79366.3gMT7I.rst b/Misc/NEWS.d/next/Library/2026-07-23-06-53-01.gh-issue-79366.3gMT7I.rst
deleted file mode 100644
index ecb3c3ad92cb2be..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-07-23-06-53-01.gh-issue-79366.3gMT7I.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-Fixed a race condition in :mod:`logging`:
-if a handler was removed while a record was being emitted,
-the following handlers of the same logger could be skipped.
diff --git a/Misc/NEWS.d/next/Library/2026-07-23-19-45-00.gh-issue-154551.Ct7pL9.rst b/Misc/NEWS.d/next/Library/2026-07-23-19-45-00.gh-issue-154551.Ct7pL9.rst
deleted file mode 100644
index c4db19d89364e07..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-07-23-19-45-00.gh-issue-154551.Ct7pL9.rst
+++ /dev/null
@@ -1 +0,0 @@
-Fix :func:`ctypes.util.find_library` returning ``None`` in non-UTF-8 locales.
diff --git a/Misc/NEWS.d/next/Library/2026-07-25-13-30-00.gh-issue-93251.gAiErr.rst b/Misc/NEWS.d/next/Library/2026-07-25-13-30-00.gh-issue-93251.gAiErr.rst
deleted file mode 100644
index 3f313030802f875..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-07-25-13-30-00.gh-issue-93251.gAiErr.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-Fix :exc:`UnicodeDecodeError` in :mod:`socket` functions
-(such as :func:`~socket.getaddrinfo` and :func:`~socket.gethostbyaddr`)
-when the localized error message of the C library is not UTF-8:
-decode it from the locale encoding.
diff --git a/Misc/NEWS.d/next/Library/2026-07-26-00-00-00.gh-issue-154738.Rd5Pxe.rst b/Misc/NEWS.d/next/Library/2026-07-26-00-00-00.gh-issue-154738.Rd5Pxe.rst
deleted file mode 100644
index 1a6e1a301db466f..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-07-26-00-00-00.gh-issue-154738.Rd5Pxe.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-Fix :meth:`!ExternalEntityParserCreate` not propagating the reparse-deferral
-setting to the subparser, which left :meth:`!GetReparseDeferralEnabled`
-returning an uninitialized value.  Patch by tonghuaroot.
diff --git a/Misc/NEWS.d/next/Library/2026-07-29-11-20-00.gh-issue-98820.Qm7Hs4.rst b/Misc/NEWS.d/next/Library/2026-07-29-11-20-00.gh-issue-98820.Qm7Hs4.rst
deleted file mode 100644
index aa9ae8d937004fe..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-07-29-11-20-00.gh-issue-98820.Qm7Hs4.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Fix quadratic time in :meth:`csv.Sniffer.sniff` for a sample which contains
-quoted fields, in particular for a single column of quoted fields.
diff --git a/Misc/NEWS.d/next/Library/2026-07-29-11-25-00.gh-issue-109638.Vt2Rn9.rst b/Misc/NEWS.d/next/Library/2026-07-29-11-25-00.gh-issue-109638.Vt2Rn9.rst
deleted file mode 100644
index f44163a20c8278e..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-07-29-11-25-00.gh-issue-109638.Vt2Rn9.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-Fix exponential time in :meth:`csv.Sniffer.sniff` for a sample which contains
-many quote characters.  A doubled quote character is now also detected in
-a field which contains the delimiter or a line break.
diff --git a/Misc/NEWS.d/next/Library/2026-07-29-18-30-00.gh-issue-154848.Fr4meB.rst b/Misc/NEWS.d/next/Library/2026-07-29-18-30-00.gh-issue-154848.Fr4meB.rst
deleted file mode 100644
index 02ca6c6346f55b6..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-07-29-18-30-00.gh-issue-154848.Fr4meB.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-The :mod:`pickle` C accelerator now enforces frame boundaries when
-unpickling, as the pure Python implementation already did.  An argument that
-straddles a frame boundary, or a frame that begins before the previous one has
-ended, now raises :exc:`pickle.UnpicklingError` instead of
-being silently read across the boundary.  This prevents the loaded data from
-diverging from the :mod:`pickletools` disassembly of the same pickle.
diff --git a/Misc/NEWS.d/next/Library/2026-07-29-19-48-59.gh-issue-154871.tgZILS.rst b/Misc/NEWS.d/next/Library/2026-07-29-19-48-59.gh-issue-154871.tgZILS.rst
deleted file mode 100644
index 8f0f1096dfe6347..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-07-29-19-48-59.gh-issue-154871.tgZILS.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Fixed a crash in :meth:`asyncio.Task.get_context`
-when called on an uninitialized task.
diff --git a/Misc/NEWS.d/next/Library/2026-07-29-21-37-39.gh-issue-154892.eQyJ3Z.rst b/Misc/NEWS.d/next/Library/2026-07-29-21-37-39.gh-issue-154892.eQyJ3Z.rst
deleted file mode 100644
index 5088b0418d26351..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-07-29-21-37-39.gh-issue-154892.eQyJ3Z.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-Fix a bug in the C accelerator for :mod:`zoneinfo` where
-:class:`datetime.datetime` subclasses returning ``-1`` for ``hour``,
-``minute``, or ``second`` could incorrectly raise a :exc:`SystemError`.
diff --git a/Misc/NEWS.d/next/Library/2026-07-30-23-29-56.gh-issue-154936.a90443.rst b/Misc/NEWS.d/next/Library/2026-07-30-23-29-56.gh-issue-154936.a90443.rst
deleted file mode 100644
index 19660c406eb2d0f..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-07-30-23-29-56.gh-issue-154936.a90443.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Fix the pure Python :mod:`json` decoder to report the correct position for
-invalid literal control characters in JSON strings.
diff --git a/Misc/NEWS.d/next/Library/2026-08-01-18-37-56.gh-issue-155063.xC9PcH.rst b/Misc/NEWS.d/next/Library/2026-08-01-18-37-56.gh-issue-155063.xC9PcH.rst
deleted file mode 100644
index 1825ead57e31e26..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-08-01-18-37-56.gh-issue-155063.xC9PcH.rst
+++ /dev/null
@@ -1 +0,0 @@
-Bump the version of pip bundled in ensurepip to version 26.2
diff --git a/Misc/NEWS.d/next/Library/2026-08-04-19-03-20.gh-issue-155063.gN_mCU.rst b/Misc/NEWS.d/next/Library/2026-08-04-19-03-20.gh-issue-155063.gN_mCU.rst
deleted file mode 100644
index fdb03c907a581ca..000000000000000
--- a/Misc/NEWS.d/next/Library/2026-08-04-19-03-20.gh-issue-155063.gN_mCU.rst
+++ /dev/null
@@ -1 +0,0 @@
-Bump the version of pip bundled in ensurepip to version 26.2.1
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 de62e020a95e6b2..000000000000000
--- a/Misc/NEWS.d/next/Security/2026-01-16-11-41-06.gh-issue-143921.AeCOor.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Reject NUL, CR and LF characters in IMAP commands. Other control
-characters are allowed and sent quoted.
diff --git a/Misc/NEWS.d/next/Security/2026-01-16-11-58-19.gh-issue-143927.aviFeG.rst b/Misc/NEWS.d/next/Security/2026-01-16-11-58-19.gh-issue-143927.aviFeG.rst
deleted file mode 100644
index ca554997e5c3963..000000000000000
--- a/Misc/NEWS.d/next/Security/2026-01-16-11-58-19.gh-issue-143927.aviFeG.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Normalize all line endings (CR, CRLF, and LF) to LF+TAB when writing
-multi-line configparser values.
diff --git a/Misc/NEWS.d/next/Security/2026-05-30-00-00-00.gh-issue-150743.httpdos.rst b/Misc/NEWS.d/next/Security/2026-05-30-00-00-00.gh-issue-150743.httpdos.rst
deleted file mode 100644
index 4cc4e4b092da71c..000000000000000
--- a/Misc/NEWS.d/next/Security/2026-05-30-00-00-00.gh-issue-150743.httpdos.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-:mod:`http.client` now limits the number of chunked-response trailer lines
-it will read to 100, and the number of interim (1xx) responses it will
-skip to 100.  A malicious or broken server could previously stream trailer
-lines or ``100 Continue`` responses forever, hanging the client even when
-a socket timeout was in use.
-Reported by ``@YLChen-007`` via GHSA-w4q2-g22w-6fr4.
diff --git a/Misc/NEWS.d/next/Security/2026-06-10-13-08-19.gh-issue-151558.mL74i2.rst b/Misc/NEWS.d/next/Security/2026-06-10-13-08-19.gh-issue-151558.mL74i2.rst
deleted file mode 100644
index 74459d5680e21a3..000000000000000
--- a/Misc/NEWS.d/next/Security/2026-06-10-13-08-19.gh-issue-151558.mL74i2.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-Fixed an vulnerability in the :mod:`tarfile` ``data`` and ``tar`` extraction
-filters where crafted archives could create a symlink pointing outside the
-destination directory. This was a bypass of :cve:`2025-4330`.
diff --git a/Misc/NEWS.d/next/Security/2026-06-16-14-58-02.gh-issue-151544._bexVy.rst b/Misc/NEWS.d/next/Security/2026-06-16-14-58-02.gh-issue-151544._bexVy.rst
deleted file mode 100644
index 418e3b4b9677943..000000000000000
--- a/Misc/NEWS.d/next/Security/2026-06-16-14-58-02.gh-issue-151544._bexVy.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-:file:`Modules/Setup.local` is no longer used as a landmark to discover
-whether Python is running in a source tree, as it could potentially affect
-actual installs. The :file:`pybuilddir.txt` file is now the sole indicator
-of running in a source tree.
diff --git a/Misc/NEWS.d/next/Security/2026-06-23-13-28-16.gh-issue-151981.xBHEcU.rst b/Misc/NEWS.d/next/Security/2026-06-23-13-28-16.gh-issue-151981.xBHEcU.rst
deleted file mode 100644
index 2123ab8e081b1d9..000000000000000
--- a/Misc/NEWS.d/next/Security/2026-06-23-13-28-16.gh-issue-151981.xBHEcU.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-In :mod:`tarfile`, seeking a stream now stops when end of the stream is
-reached.
diff --git a/Misc/NEWS.d/next/Security/2026-06-23-14-19-30.gh-issue-151987.8mNIMf.rst b/Misc/NEWS.d/next/Security/2026-06-23-14-19-30.gh-issue-151987.8mNIMf.rst
deleted file mode 100644
index 9eea7b32c4d2b4f..000000000000000
--- a/Misc/NEWS.d/next/Security/2026-06-23-14-19-30.gh-issue-151987.8mNIMf.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-The :meth:`tarfile.TarFile.extract` method now applies the given filter when
-it extracts a link target from the archive as a fallback.
diff --git a/Misc/NEWS.d/next/Security/2026-06-25-20-44-20.gh-issue-152216.VxiK5y.rst b/Misc/NEWS.d/next/Security/2026-06-25-20-44-20.gh-issue-152216.VxiK5y.rst
deleted file mode 100644
index 2769048e001d694..000000000000000
--- a/Misc/NEWS.d/next/Security/2026-06-25-20-44-20.gh-issue-152216.VxiK5y.rst
+++ /dev/null
@@ -1 +0,0 @@
-Update bundled `libexpat <https://libexpat.github.io/>`_ to version 2.8.2.
diff --git a/Misc/NEWS.d/next/Security/2026-06-30-13-24-13.gh-issue-152674.-2QVoL.rst b/Misc/NEWS.d/next/Security/2026-06-30-13-24-13.gh-issue-152674.-2QVoL.rst
deleted file mode 100644
index 69e73008af79f14..000000000000000
--- a/Misc/NEWS.d/next/Security/2026-06-30-13-24-13.gh-issue-152674.-2QVoL.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-The :class:`xml.etree.ElementTree.Element` methods
-:meth:`~xml.etree.ElementTree.Element.findall`,
-:meth:`~xml.etree.ElementTree.Element.iterfind` and
-:meth:`~xml.etree.ElementTree.Element.find` avoid quadratic behavior when
-using XPath index predicates (``[1]``, ``[last()]``, ``[last()-N]``) on XML
-documents with many same-tag siblings.
diff --git a/Misc/NEWS.d/next/Security/2026-07-04-17-00-00.gh-issue-153030.RovkP6.rst b/Misc/NEWS.d/next/Security/2026-07-04-17-00-00.gh-issue-153030.RovkP6.rst
deleted file mode 100644
index d1d60593f4ba7d2..000000000000000
--- a/Misc/NEWS.d/next/Security/2026-07-04-17-00-00.gh-issue-153030.RovkP6.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-Fixed quadratic complexity in incremental parsing of long unterminated
-constructs (such as tags or comments) in :class:`html.parser.HTMLParser`,
-which could be exploited for a denial of service.
diff --git a/Misc/NEWS.d/next/Tests/2026-06-16-05-11-38.gh-issue-151096.Kq3Lp9.rst b/Misc/NEWS.d/next/Tests/2026-06-16-05-11-38.gh-issue-151096.Kq3Lp9.rst
deleted file mode 100644
index 3251c6fb094723b..000000000000000
--- a/Misc/NEWS.d/next/Tests/2026-06-16-05-11-38.gh-issue-151096.Kq3Lp9.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Fix ``test_embed`` failing when CPython is configured with a split exec prefix
-(``--exec-prefix`` differing from ``--prefix``).
diff --git a/Misc/NEWS.d/next/Tests/2026-06-22-19-45-00.gh-issue-151626.K9pZ2x.rst b/Misc/NEWS.d/next/Tests/2026-06-22-19-45-00.gh-issue-151626.K9pZ2x.rst
deleted file mode 100644
index 9858415018ae1ba..000000000000000
--- a/Misc/NEWS.d/next/Tests/2026-06-22-19-45-00.gh-issue-151626.K9pZ2x.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-Fix several tests in ``test.test_inspect``, ``test.test_import``,
-``test.test_importlib``, ``test.test_py_compile`` and
-``test.test_compileall`` that failed when the test suite was run with
-:envvar:`PYTHONPYCACHEPREFIX` set.  These tests now neutralize the pycache
-prefix where they assume the default ``__pycache__`` bytecode layout.
diff --git a/Misc/NEWS.d/next/Tests/2026-06-29-10-14-09.gh-issue-152548.Khw9J7.rst b/Misc/NEWS.d/next/Tests/2026-06-29-10-14-09.gh-issue-152548.Khw9J7.rst
deleted file mode 100644
index e8c81ed8a1f7ca9..000000000000000
--- a/Misc/NEWS.d/next/Tests/2026-06-29-10-14-09.gh-issue-152548.Khw9J7.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-Add the :func:`test.support.isolation.runInSubprocess` decorator
-to run a test method or ``TestCase`` subclass in a fresh interpreter subprocess,
-isolated from the rest of the test run.
diff --git a/Misc/NEWS.d/next/Tests/2026-07-19-18-20-00.gh-issue-154144.tcbool.rst b/Misc/NEWS.d/next/Tests/2026-07-19-18-20-00.gh-issue-154144.tcbool.rst
deleted file mode 100644
index dc1ac8b4035153c..000000000000000
--- a/Misc/NEWS.d/next/Tests/2026-07-19-18-20-00.gh-issue-154144.tcbool.rst
+++ /dev/null
@@ -1 +0,0 @@
-Fix building the :mod:`!_testcapi` module on NetBSD.
diff --git a/Misc/NEWS.d/next/Tests/2026-07-19-20-15-00.gh-issue-154167.sigint.rst b/Misc/NEWS.d/next/Tests/2026-07-19-20-15-00.gh-issue-154167.sigint.rst
deleted file mode 100644
index b2620f4a0bee54c..000000000000000
--- a/Misc/NEWS.d/next/Tests/2026-07-19-20-15-00.gh-issue-154167.sigint.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-The test runner (regrtest) now restores the default SIGINT handler if it
-was inherited as ignored, so the test suite no longer hangs when run as
-a shell background job.
diff --git a/Misc/NEWS.d/next/Tests/2026-07-24-12-00-00.gh-issue-76595.KfF5xR.rst b/Misc/NEWS.d/next/Tests/2026-07-24-12-00-00.gh-issue-76595.KfF5xR.rst
deleted file mode 100644
index c344ee2f2cb30b7..000000000000000
--- a/Misc/NEWS.d/next/Tests/2026-07-24-12-00-00.gh-issue-76595.KfF5xR.rst
+++ /dev/null
@@ -1 +0,0 @@
-Add C API tests for :c:func:`PyCapsule_Import`.
diff --git a/Misc/NEWS.d/next/Tools-Demos/2026-07-24-09-30-00.gh-issue-154580.Kp3nQ2.rst b/Misc/NEWS.d/next/Tools-Demos/2026-07-24-09-30-00.gh-issue-154580.Kp3nQ2.rst
deleted file mode 100644
index f6a039245b015ed..000000000000000
--- a/Misc/NEWS.d/next/Tools-Demos/2026-07-24-09-30-00.gh-issue-154580.Kp3nQ2.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-Fix ``python-gdb.py`` raising :exc:`UnicodeEncodeError` when pretty-printing a
-non-ASCII :class:`str` in a locale whose host charset cannot encode it, such as
-any non-ASCII string in the C locale.
diff --git a/Misc/NEWS.d/next/Tools-Demos/2026-08-04-17-12-33.gh-issue-64502.Qv7mLp.rst b/Misc/NEWS.d/next/Tools-Demos/2026-08-04-17-12-33.gh-issue-64502.Qv7mLp.rst
deleted file mode 100644
index da9647d1fdd369b..000000000000000
--- a/Misc/NEWS.d/next/Tools-Demos/2026-08-04-17-12-33.gh-issue-64502.Qv7mLp.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-Fix Argument Clinic support of parameters with a default value used together
-with optional groups.
-Such parameters were always required in the generated parsing code.
diff --git a/Misc/NEWS.d/next/Tools-Demos/2026-08-05-10-24-17.gh-issue-155207.Wv3nKq.rst b/Misc/NEWS.d/next/Tools-Demos/2026-08-05-10-24-17.gh-issue-155207.Wv3nKq.rst
deleted file mode 100644
index 392ab42bffa726e..000000000000000
--- a/Misc/NEWS.d/next/Tools-Demos/2026-08-05-10-24-17.gh-issue-155207.Wv3nKq.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-Argument Clinic now supports the ``--dry-run`` and ``--diff`` options.
-They list the files which would be changed, or write a unified diff of the
-changes to the standard output, without modifying any file.
diff --git a/Misc/NEWS.d/next/Tools-Demos/2026-08-05-14-02-55.gh-issue-155218.Nq4xZv.rst b/Misc/NEWS.d/next/Tools-Demos/2026-08-05-14-02-55.gh-issue-155218.Nq4xZv.rst
deleted file mode 100644
index 909efc558693c0a..000000000000000
--- a/Misc/NEWS.d/next/Tools-Demos/2026-08-05-14-02-55.gh-issue-155218.Nq4xZv.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Fix Argument Clinic generating the flags of the optional groups in
-different order on 32-bit and 64-bit platforms.
diff --git a/Misc/NEWS.d/next/Windows/2026-04-21-16-07-11.gh-issue-140146.TAcUHA.rst b/Misc/NEWS.d/next/Windows/2026-04-21-16-07-11.gh-issue-140146.TAcUHA.rst
deleted file mode 100644
index 2d3e42c86fd521f..000000000000000
--- a/Misc/NEWS.d/next/Windows/2026-04-21-16-07-11.gh-issue-140146.TAcUHA.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-Prevent :mod:`tkinter` from hanging on Windows if stdin is redirected to a pipe in an
-interactive session. This is helpful for testing interactive usage of
-tkinter from a script, for example as part of the cpython test suite.
diff --git a/Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst b/Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst
deleted file mode 100644
index 90804c179a4b4a4..000000000000000
--- a/Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-On macOS, do not attempt to use the :manpage:`dup3(2)` and
-:manpage:`pipe2(2)` system calls introduced in
-macOS 27 to prevent problems when running on older systems.
diff --git a/README.rst b/README.rst
index 480a559cb7905f9..02a0ed0271c7900 100644
--- a/README.rst
+++ b/README.rst
@@ -1,4 +1,4 @@
-This is Python version 3.13.14
+This is Python version 3.13.15
 ==============================
 
 .. image:: https://github.com/python/cpython/workflows/Tests/badge.svg

_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3//lists/python-checkins.python.org
Member address: [email protected]