Python 3.14.7
hugovk <[email protected]> Wed, 05 Aug 2026 08:55:10 -0400 (EDT)
| Newsgroups | gmane.comp.python.cvs |
|---|---|
| Message-ID | <[email protected]> |
https://github.com/python/cpython/commit/823f0323ee6ec1402088b73bce1a38473cac36dc commit: 823f0323ee6ec1402088b73bce1a38473cac36dc branch: 3.14 author: Hugo van Kemenade <[email protected]> committer: hugovk <[email protected]> date: 2026-08-05T13:29:49+03:00 summary: Python 3.14.7 files: A Misc/NEWS.d/3.14.7.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-05-18-16-00-41.gh-issue-148260.UwFiIX.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-06-10-16-43-37.gh-issue-123619.dV82r6.rst D Misc/NEWS.d/next/C_API/2026-07-08-00-38-32.gh-issue-153300.lVoWyR.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-04-29-15-10-59.gh-issue-149162.BPPyrq.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-05-26-00-06-30.gh-issue-150411.u-d-_5.rst D Misc/NEWS.d/next/Core_and_Builtins/2026-05-29-17-51-11.gh-issue-144774.jPcixe.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-06-20-15-08.gh-issue-151029.A33CKK.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-08-13-14-42.gh-issue-150902.-CWZ66.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-19-58.gh-issue-151238.C9Wu4x.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-12-15-30-25.gh-issue-151218.5M_nv8.rst D Misc/NEWS.d/next/Core_and_Builtins/2026-06-14-05-05-15.gh-issue-151461.5q0s88.rst D Misc/NEWS.d/next/Core_and_Builtins/2026-06-16-17-23-37.gh-issue-151546.LhiaZz.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-00-00-00.gh-issue-151644.5cFffN.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-06-26-34.gh-issue-151905.FOLMYg.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-23-19-50-22.gh-issue-152020.DTKXjR.rst D Misc/NEWS.d/next/Core_and_Builtins/2026-06-23-23-48-54.gh-issue-151763.Eu8pYQ.rst D Misc/NEWS.d/next/Core_and_Builtins/2026-06-25-21-34-15.gh-issue-152228.a6K14K.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-07-04-16-48.gh-issue-153205.5fE8QZ.rst D Misc/NEWS.d/next/Core_and_Builtins/2026-07-08-13-23-11.gh-issue-153298.wvcXxN.rst D Misc/NEWS.d/next/Core_and_Builtins/2026-07-19-12-33-27.gh-issue-153932.lKw2bo.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-24-13-15-31.gh-issue-153809.JFA6GT.rst D Misc/NEWS.d/next/Core_and_Builtins/2026-07-25-17-35-14.gh-issue-154695.aQWLLv.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-07-28-10-00-00.gh-issue-133931.fnQzxD.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-03-13-20-48-58.gh-issue-123471.cM4w4f.rst D Misc/NEWS.d/next/Library/2025-04-22-21-00-23.gh-issue-123471.asOLA2.rst D Misc/NEWS.d/next/Library/2025-06-18-19-25-32.gh-issue-123471.lx1Xbt.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-10-19-17-34-07.gh-issue-140326.kZM0pV.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-02-03-08-50-58.gh-issue-123471.yF1Gym.rst D Misc/NEWS.d/next/Library/2026-02-04-20-30-59.gh-issue-123471.1dnPvs.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-17-19-51-05.gh-issue-123471.oY4UR5.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-05-06-23-13-40.gh-issue-149319.PLM93t.rst D Misc/NEWS.d/next/Library/2026-05-18-12-42-31.gh-issue-149816.F98iME.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-05-31-14-39-25.gh-issue-150641.LLIhd1.rst D Misc/NEWS.d/next/Library/2026-06-03-19-35-32.gh-issue-150583.dedI24.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-07-00.gh-issue-151126.cWw5pb.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-07-20-08.gh-issue-151390.CmYN9EeJ.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-12-48-03.gh-issue-151640.R4c3Fx.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-14-47-55.gh-issue-151665.82fmzx.rst D Misc/NEWS.d/next/Library/2026-06-20-15-00-00.gh-issue-151770.dtiso0.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-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-15-41-34.gh-issue-152305.WnbbBc.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-00-00-00.gh-issue-152431.Ja3K9m.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-09-45-00.gh-issue-152569.Kf7Lq2.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-13-00-00.gh-issue-151842.OOM31g.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-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-18-30-00.gh-issue-119592.mQr3Vx.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-11-14-06.gh-issue-152851.diYvTf.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-04-20-28-51.gh-issue-153037.XUSp_g.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-14-30-00.gh-issue-153062.teeFT1.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-13-31-52.gh-issue-148286.-qu-em.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-03-17.gh-issue-153292.oHDt3l.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-15-00-00.gh-issue-127049.pQw7Rk.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-11-16-41.gh-issue-153908.82FiGk.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-17-15-00.gh-issue-131565.dllist.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-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/Library/2026-08-05-02-36-18.gh-issue-155009.YiJAiP.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-04-24-01-38-56.gh-issue-148853._uM4_Q.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-20-11-30-00.gh-issue-154211.hugestack.rst D Misc/NEWS.d/next/Tests/2026-07-24-12-00-00.gh-issue-76595.KfF5xR.rst D Misc/NEWS.d/next/Tests/2026-08-03-20-15-00.gh-issue-155109.limstack.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-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/Windows/2026-06-04-18-53-18.gh-issue-150836.Wci7bZ.rst D Misc/NEWS.d/next/Windows/2026-07-18-11-56-53.gh-issue-124111.m4OBX8.rst D Misc/NEWS.d/next/macOS/2026-07-17-23-35-36.gh-issue-124111.dmM4lk.rst D Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst M Doc/c-api/init_config.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/c-api/init_config.rst b/Doc/c-api/init_config.rst index 1ee00f28ffd29e9..21f1ebc030186c4 100644 --- a/Doc/c-api/init_config.rst +++ b/Doc/c-api/init_config.rst @@ -623,7 +623,7 @@ Some options are read from the :mod:`sys` attributes. For example, the option .. versionadded:: 3.14 - .. versionchanged:: next + .. versionchanged:: 3.14.7 The function now replaces :data:`sys.flags` (create a new object), instead of modifying :data:`sys.flags` in-place. diff --git a/Doc/library/concurrent.futures.rst b/Doc/library/concurrent.futures.rst index cadf841b43537e5..6f0c039d34b6122 100644 --- a/Doc/library/concurrent.futures.rst +++ b/Doc/library/concurrent.futures.rst @@ -421,7 +421,7 @@ in a REPL or a lambda should not be expected to work. require the *fork* start method for :class:`ProcessPoolExecutor` you must explicitly pass ``mp_context=multiprocessing.get_context("fork")``. - .. versionchanged:: next + .. versionchanged:: 3.14.7 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 c6fab81f8124ac6..1b1e2f8257794ce 100644 --- a/Include/patchlevel.h +++ b/Include/patchlevel.h @@ -19,12 +19,12 @@ /*--start constants--*/ #define PY_MAJOR_VERSION 3 #define PY_MINOR_VERSION 14 -#define PY_MICRO_VERSION 6 +#define PY_MICRO_VERSION 7 #define PY_RELEASE_LEVEL PY_RELEASE_LEVEL_FINAL #define PY_RELEASE_SERIAL 0 /* Version as a string */ -#define PY_VERSION "3.14.6+" +#define PY_VERSION "3.14.7" /*--end constants--*/ diff --git a/Lib/pydoc_data/module_docs.py b/Lib/pydoc_data/module_docs.py index 69b9046f49f25ab..2d3543f298376bb 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 13:03:46 2026 +# Autogenerated by Sphinx on Wed Aug 5 13:29:41 2026 # as part of the release process. module_docs = { @@ -251,6 +251,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 05d283c9540f30c..753d9d430693869 100644 --- a/Lib/pydoc_data/topics.py +++ b/Lib/pydoc_data/topics.py @@ -1,4 +1,4 @@ -# Autogenerated by Sphinx on Wed Jun 10 13:03:46 2026 +# Autogenerated by Sphinx on Wed Aug 5 13:29:41 2026 # as part of the release process. topics = { @@ -125,7 +125,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. Next, the subscript expression is evaluated. @@ -854,7 +854,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. @@ -1683,7 +1683,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 @@ -1946,12 +1946,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: @@ -1999,8 +1999,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*" @@ -2015,7 +2015,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", @@ -2899,7 +2899,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: @@ -3434,7 +3434,7 @@ def f() -> annotation: ... arbitrary expressions. The presence of annotations does not change the runtime semantics of the code, except if some mechanism is used that introspects and uses the annotations (such as "dataclasses" or -"functools.singledispatch()"). +"@functools.singledispatch"). By default, annotations are lazily evaluated in an annotation scope. This means that they are not evaluated when the code containing the @@ -3786,7 +3786,7 @@ def f() -> annotation: ... 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 @@ -6163,7 +6163,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: @@ -6917,6 +6917,604 @@ 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 and t-strings are not +supported. + +The forms "signed_number '+' NUMBER" and "signed_number '-' NUMBER" +are for expressing complex numbers; they require a real number on the +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 ****************** @@ -8426,7 +9024,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 @@ -8793,7 +9391,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. @@ -11675,12 +12273,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: @@ -11728,8 +12326,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*" @@ -11744,7 +12342,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.14.7.rst b/Misc/NEWS.d/3.14.7.rst new file mode 100644 index 000000000000000..fcf91f57c8020de --- /dev/null +++ b/Misc/NEWS.d/3.14.7.rst @@ -0,0 +1,2371 @@ +.. date: 2026-07-04-17-00-00 +.. gh-issue: 153030 +.. nonce: RovkP6 +.. release date: 2026-08-05 +.. 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-07-28-10-00-00 +.. gh-issue: 133931 +.. nonce: fnQzxD +.. section: Core and Builtins + +Fix data races when setting attributes of function objects on the +:term:`free threaded <free threading>` 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-25-17-35-14 +.. gh-issue: 154695 +.. nonce: aQWLLv +.. section: Core and Builtins + +Fix :class:`asyncio.Task` raising :exc:`AttributeError` when created with +``eager_start=True`` and no explicit *loop* argument. + +.. + +.. date: 2026-07-24-13-15-31 +.. gh-issue: 153809 +.. nonce: JFA6GT +.. section: Core and Builtins + +Fix interpreter crash while deallocating objects of :class:`asyncio.Task` on +free-threaded builds. Contributed by Sergey Miryanov. + +.. + +.. 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-07-19-12-33-27 +.. gh-issue: 153932 +.. nonce: lKw2bo +.. section: Core and Builtins + +Fix thread safety issue in the ``__reduce__`` method of +:py:class:`enumerate`. + +.. + +.. date: 2026-07-08-13-23-11 +.. gh-issue: 153298 +.. nonce: wvcXxN +.. section: Core and Builtins + +Fixes a data race in :class:`types.GenericAlias` ``__parameters__`` +initialization on free-threading builds. + +.. + +.. date: 2026-07-07-04-16-48 +.. gh-issue: 153205 +.. nonce: 5fE8QZ +.. section: Core and Builtins + +Fix a potential :exc:`SystemError` during vector calls when memory +allocation fails. A :exc:`MemoryError` is now raised instead. + +.. + +.. 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-25-21-34-15 +.. gh-issue: 152228 +.. nonce: a6K14K +.. section: Core and Builtins + +Fix an assertion failure when python is built in a debug mode that happened +in :meth:`str.replace` under a limited memory situation. + +.. + +.. date: 2026-06-23-23-48-54 +.. gh-issue: 151763 +.. nonce: Eu8pYQ +.. section: Core and Builtins + +Fixes possible crash on :class:`types.CodeType` deallocation. + +.. + +.. date: 2026-06-23-19-50-22 +.. gh-issue: 152020 +.. nonce: DTKXjR +.. section: Core and Builtins + +On the free-threaded build, :func:`asyncio.all_tasks` no longer loses +eager-started tasks when called from a thread other than the one running the +event loop. + +.. + +.. 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-22-06-26-34 +.. gh-issue: 151905 +.. nonce: FOLMYg +.. 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-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-18-00-00-00 +.. gh-issue: 151644 +.. nonce: 5cFffN +.. section: Core and Builtins + +Fix a data race in :func:`sys.setdlopenflags` and :func:`sys.getdlopenflags` +when called concurrently in the free-threaded build. The underlying +``_PyImport_GetDLOpenFlags`` and ``_PyImport_SetDLOpenFlags`` functions now +use atomic load/store operations. + +.. + +.. 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-16-17-23-37 +.. gh-issue: 151546 +.. nonce: LhiaZz +.. section: Core and Builtins + +Fix the stack limit check if Python is linked to musl (ex: Alpine Linux). +Use the stack size set by the linker to compute the stack limits. Patch by +Victor Stinner. + +.. + +.. date: 2026-06-14-05-05-15 +.. gh-issue: 151461 +.. nonce: 5q0s88 +.. section: Core and Builtins + +Fix direct execution of files with invalid source encodings to report the +underlying codec lookup or decoding error instead of the generic +``SyntaxError: encoding problem`` message. Patch by Bartosz Sławecki. + +.. + +.. date: 2026-06-12-15-30-25 +.. gh-issue: 151218 +.. nonce: 5M_nv8 +.. section: Core and Builtins + +:c:func:`PyConfig_Set` and :func:`sys.set_int_max_str_digits` now replace +:data:`sys.flags` (create a new object), instead of modifying +:data:`sys.flags` in-place. Patch by Victor Stinner. + +.. + +.. 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-10-15-19-58 +.. gh-issue: 151238 +.. nonce: C9Wu4x +.. section: Core and Builtins + +Fix a crash when compiling a concatenated f-string or t-string if an error +occurs when processing one of it's parts. + +.. + +.. 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-13-14-42 +.. gh-issue: 150902 +.. nonce: -CWZ66 +.. section: Core and Builtins + +Apply an existing optimization of PyCriticalSection (single mutex) to +PyCriticalSection2: avoid acquiring the same locks that the current CS has +already acquired. + +.. + +.. 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-06-20-15-08 +.. gh-issue: 151029 +.. nonce: A33CKK +.. section: Core and Builtins + +On Linux, fix :func:`sys.remote_exec` unable to find remote writable memory +when ``libpython`` replaced on disk. + +.. + +.. 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-29-17-51-11 +.. gh-issue: 144774 +.. nonce: jPcixe +.. section: Core and Builtins + +Fix data race in :class:`BaseException` when an exception is copied while +being mutated. + +.. + +.. date: 2026-05-26-00-06-30 +.. gh-issue: 150411 +.. nonce: u-d-_5 +.. section: Core and Builtins + +Fix a data race in the free-threaded build when :func:`gc.get_count` reads +the young generation allocation count while another thread updates it. + +.. + +.. 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-04-29-15-10-59 +.. gh-issue: 149162 +.. nonce: BPPyrq +.. section: Core and Builtins + +Fix a potential deadlock in :c:func:`PyUnicode_InternFromString` and other +interning functions in the :term:`free-threaded build` when called from C++ +static local initializers. + +.. + +.. date: 2026-08-05-02-36-18 +.. gh-issue: 155009 +.. nonce: YiJAiP +.. section: Library + +Fix :class:`argparse.ArgumentParser` to preserve the program name from +``sys.argv[0]`` when a named module is executed as the main program without +replacing ``sys.argv[0]``. + +.. + +.. 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-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-17-15-00 +.. gh-issue: 131565 +.. nonce: dllist +.. section: Library + +:func:`ctypes.util.dllist` now works on NetBSD. It is implemented in the +:mod:`!_ctypes` extension module so that ``dl_iterate_phdr()`` reports all +loaded shared libraries: on NetBSD it only reports the link-map group of the +calling object, which excluded them when called through ctypes. + +.. + +.. 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-11-16-41 +.. gh-issue: 153908 +.. nonce: 82FiGk +.. section: Library + +Fix data race when calling :func:`repr` on :class:`itertools.count` under +the :term:`free-threaded build`. + +.. + +.. 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-14-15-00-00 +.. gh-issue: 127049 +.. nonce: pQw7Rk +.. section: Library + +Fix a race condition in :mod:`asyncio` on Unix where +:meth:`asyncio.subprocess.Process.send_signal`, +:meth:`~asyncio.subprocess.Process.terminate` or +:meth:`~asyncio.subprocess.Process.kill` could signal an unrelated process +that was recycled onto the PID of the already-reaped child when +ThreadedChildWatcher is used. Patch by Kumar Aditya. + +.. + +.. 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-08-01-03-17 +.. gh-issue: 153292 +.. nonce: oHDt3l +.. section: Library + +Fix data race in repr of :class:`threading.RLock` in free-threading build. + +.. + +.. 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-13-31-52 +.. gh-issue: 148286 +.. nonce: -qu-em +.. section: Library + +Fix undefined behavior in +:attr:`compression.zstd.ZstdDecompressor.unused_data` when a complete frame +was decompressed in a single call. + +.. + +.. 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-14-30-00 +.. gh-issue: 153062 +.. nonce: teeFT1 +.. section: Library + +Fix a crash when concurrently iterating an :func:`itertools.tee` iterator on +the free-threaded build. + +.. + +.. 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. On the free-threaded build this also occurred as a +data race on the first concurrent use. + +.. + +.. date: 2026-07-04-20-28-51 +.. gh-issue: 153037 +.. nonce: XUSp_g +.. section: Library + +Fix :class:`~compression.zstd.ZstdFile` raising :exc:`AttributeError` +instead of :exc:`io.UnsupportedOperation` when iterating over a file that is +not open for reading. + +.. + +.. 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-04-11-14-06 +.. gh-issue: 152851 +.. nonce: diYvTf +.. section: Library + +Prevent a crash when allocation fails while copying a :func:`BLAKE-2s/2b +<hashlib.blake2b>` object. Patch by Bénédikt Tran. + +.. + +.. 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-18-30-00 +.. gh-issue: 119592 +.. nonce: mQr3Vx +.. section: Library + +Fix :class:`concurrent.futures.ProcessPoolExecutor` stranding submitted work +forever when a worker process exited upon reaching its *max_tasks_per_child* +limit after :meth:`~concurrent.futures.Executor.shutdown` was called with +``wait=False``: a replacement worker is now spawned and the remaining work +executed as documented. If the executor has instead been garbage collected +without ``shutdown()`` (:gh:`152967`), or a replacement worker cannot be +started, the remaining futures now fail with +:exc:`~concurrent.futures.process.BrokenProcessPool` instead of never +resolving. A worker exit racing ``shutdown(wait=False)`` can also no longer +crash the executor management thread. + +.. + +.. 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-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-13-00-00 +.. gh-issue: 151842 +.. nonce: OOM31g +.. section: Library + +Fix a crash in :func:`!_interpreters.capture_exception` when +:exc:`MemoryError` happens. Patch by Amrutha Modela. + +.. + +.. 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-29-09-45-00 +.. gh-issue: 152569 +.. nonce: Kf7Lq2 +.. section: Library + +Fix :func:`asyncio.wait` leaking waiting tasks via the await-graph when +racing a future that never resolves. The waiting task is now discarded from +every future's ``awaited_by`` set once :func:`~asyncio.wait` returns, even +for pending futures. + +.. + +.. 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-28-00-00-00 +.. gh-issue: 152431 +.. nonce: Ja3K9m +.. section: Library + +Fix ``asyncio.StreamWriter.start_tls()`` to keep the linked ``StreamReader`` +transport in sync with the upgraded transport. + +.. + +.. 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-41-34 +.. gh-issue: 152305 +.. nonce: WnbbBc +.. section: Library + +Fix the pure-Python :meth:`datetime.time.strftime` implementation raising +:exc:`AttributeError` for the year directives. Patch by tonghuaroot. + +.. + +.. 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:`concurrent.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-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-20-15-00-00 +.. gh-issue: 151770 +.. nonce: dtiso0 +.. section: Library + +Fix :meth:`datetime.datetime.fromisoformat` raising :exc:`AssertionError` +instead of :exc:`ValueError` for an out-of-range month combined with a +``24:00`` time. + +.. + +.. date: 2026-06-20-14-47-55 +.. gh-issue: 151665 +.. nonce: 82fmzx +.. section: Library + +:func:`inspect.signature` now works on the lazy evaluators of type aliases +and type parameters instead of raising :exc:`ValueError`. + +.. + +.. 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-18-12-48-03 +.. gh-issue: 151640 +.. nonce: R4c3Fx +.. section: Library + +Fix a data race in :class:`io.BytesIO` in free-threaded builds when +whole-buffer reads or peeks, or :meth:`~io.BytesIO.getvalue`, share the +internal buffer with concurrent writes. + +.. + +.. 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-07-20-08 +.. gh-issue: 151390 +.. nonce: CmYN9EeJ +.. section: Library + +Colorize ``match`` in the :term:`REPL` when followed by a unary ``+`` or +``-`` operator. Patch by Bartosz Sławecki. + +.. + +.. 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-16-07-00 +.. gh-issue: 151126 +.. nonce: cWw5pb +.. section: Library + +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-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-03-19-35-32 +.. gh-issue: 150583 +.. nonce: dedI24 +.. section: Library + +Correctly set the default compression level in :mod:`compression.zstd` when +passing a digested dictionary during compression. + +.. + +.. date: 2026-05-31-14-39-25 +.. gh-issue: 150641 +.. nonce: LLIhd1 +.. section: Library + +Fix bug where :func:`typing.evaluate_forward_ref` with the ``STRING`` format +could leak internal names used by the annotation machinery. + +.. + +.. 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-18-12-42-31 +.. gh-issue: 149816 +.. nonce: F98iME +.. section: Library + +Fix a potential use after free condition in :func:`pickle.dumps` in +free-threaded mode when serializing lists. + +.. + +.. 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-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-17-19-51-05 +.. gh-issue: 123471 +.. nonce: oY4UR5 +.. section: Library + +Make concurrent iteration over :class:`itertools.zip_longest` safe under +free-threading. + +.. + +.. date: 2026-03-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-02-04-20-30-59 +.. gh-issue: 123471 +.. nonce: 1dnPvs +.. section: Library + +Make concurrent iteration over :class:`itertools.accumulate` safe under +free-threading. + +.. + +.. date: 2026-02-03-08-50-58 +.. gh-issue: 123471 +.. nonce: yF1Gym +.. section: Library + +Make concurrent iteration over +:class:`itertools.combinations_with_replacement` and +:class:`itertools.permutations` safe under free-threading. + +.. + +.. date: 2026-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-10-19-17-34-07 +.. gh-issue: 140326 +.. nonce: kZM0pV +.. section: Library + +Fix the :mod:`asyncio` REPL namespace so that relative imports no longer +resolve against the :mod:`asyncio` package and ``__file__`` is no longer +set. + +.. + +.. 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: 2025-06-18-19-25-32 +.. gh-issue: 123471 +.. nonce: lx1Xbt +.. section: Library + +Make concurrent iterations over :class:`itertools.chain` safe under +:term:`free threading`. + +.. + +.. date: 2025-04-22-21-00-23 +.. gh-issue: 123471 +.. nonce: asOLA2 +.. section: Library + +Make concurrent iterations over :class:`itertools.combinations` and +:class:`itertools.product` safe under free-threading. + +.. + +.. date: 2025-03-13-20-48-58 +.. gh-issue: 123471 +.. nonce: cM4w4f +.. section: Library + +Make concurrent iterations over :class:`itertools.cycle` safe under +free-threading. + +.. + +.. 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-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-03-20-15-00 +.. gh-issue: 155109 +.. nonce: limstack +.. section: Tests + +Add ``test.support.run_with_limited_c_stack()`` and use it in tests that +exhaust the C stack with a fixed number of recursive calls, so that their +outcome no longer depends on the C stack size. + +.. + +.. 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-20-11-30-00 +.. gh-issue: 154211 +.. nonce: hugestack +.. section: Tests + +Add ``test.support.skip_if_huge_c_stack()`` and use it to skip tests that +exhaust the C stack if the stack limit is very large (e.g. on DragonFly BSD +or with ``ulimit -s unlimited``). + +.. + +.. 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-04-24-01-38-56 +.. gh-issue: 148853 +.. nonce: _uM4_Q +.. section: Tests + +Fix tests failing on FreeBSD in test.support's +in_systemd_nspawn_sync_suppressed() due to unreadable /run directory. + +.. + +.. 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-05-18-16-00-41 +.. gh-issue: 148260 +.. nonce: UwFiIX +.. section: Build + +On Linux when Python is linked to the musl C library, use a thread stack +size of at least 1 MiB instead of musl default which is 128 kiB. Patch by +Victor Stinner. + +.. + +.. date: 2026-03-07-02-09-57 +.. gh-issue: 138800 +.. nonce: VD8qbz +.. section: Build + +Fix library name in python3.pc on Android. + +.. + +.. date: 2026-07-18-11-56-53 +.. gh-issue: 124111 +.. nonce: m4OBX8 +.. section: Windows + +Updated Windows builds to use Tcl/Tk 9.0.4. + +.. + +.. date: 2026-06-04-18-53-18 +.. gh-issue: 150836 +.. nonce: Wci7bZ +.. section: Windows + +Make installed tkinter work with Tcl/Tk 9 builds that embed the Tk script +library in the Tk DLL on Windows. + +.. + +.. 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-02-02-33 +.. gh-issue: 153711 +.. nonce: pO9fFb +.. 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-07-17-23-35-36 +.. gh-issue: 124111 +.. nonce: dmM4lk +.. section: macOS + +Update macOS installer to use Tcl/Tk 9.0.4. + +.. + +.. 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-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-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-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-08-00-38-32 +.. gh-issue: 153300 +.. nonce: lVoWyR +.. section: C API + +:c:func:`PyConfig_Set()` now also set global configuration variables. For +example, ``PyConfig_Set("inspect", value)`` now also sets +:c:var:`Py_InspectFlag`. Patch by Victor Stinner. + +.. + +.. date: 2026-06-10-16-43-37 +.. gh-issue: 123619 +.. nonce: dV82r6 +.. section: C API + +:c:func:`PyUnstable_Object_EnableDeferredRefcount` now returns ``0`` if the +object is not tracked by the garbage collector: if :func:`gc.is_tracked` is +false. Patch by Victor Stinner. 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-05-18-16-00-41.gh-issue-148260.UwFiIX.rst b/Misc/NEWS.d/next/Build/2026-05-18-16-00-41.gh-issue-148260.UwFiIX.rst deleted file mode 100644 index 8248c24cbd511ac..000000000000000 --- a/Misc/NEWS.d/next/Build/2026-05-18-16-00-41.gh-issue-148260.UwFiIX.rst +++ /dev/null @@ -1,3 +0,0 @@ -On Linux when Python is linked to the musl C library, use a thread stack -size of at least 1 MiB instead of musl default which is 128 kiB. Patch by -Victor Stinner. 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-06-10-16-43-37.gh-issue-123619.dV82r6.rst b/Misc/NEWS.d/next/C_API/2026-06-10-16-43-37.gh-issue-123619.dV82r6.rst deleted file mode 100644 index 4d4c94563330c06..000000000000000 --- a/Misc/NEWS.d/next/C_API/2026-06-10-16-43-37.gh-issue-123619.dV82r6.rst +++ /dev/null @@ -1,3 +0,0 @@ -:c:func:`PyUnstable_Object_EnableDeferredRefcount` now returns ``0`` if the -object is not tracked by the garbage collector: if :func:`gc.is_tracked` is -false. Patch by Victor Stinner. diff --git a/Misc/NEWS.d/next/C_API/2026-07-08-00-38-32.gh-issue-153300.lVoWyR.rst b/Misc/NEWS.d/next/C_API/2026-07-08-00-38-32.gh-issue-153300.lVoWyR.rst deleted file mode 100644 index 3c19c0e15d2bc65..000000000000000 --- a/Misc/NEWS.d/next/C_API/2026-07-08-00-38-32.gh-issue-153300.lVoWyR.rst +++ /dev/null @@ -1,3 +0,0 @@ -:c:func:`PyConfig_Set()` now also set global configuration variables. For -example, ``PyConfig_Set("inspect", value)`` now also sets -:c:var:`Py_InspectFlag`. Patch by Victor Stinner. 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-04-29-15-10-59.gh-issue-149162.BPPyrq.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-04-29-15-10-59.gh-issue-149162.BPPyrq.rst deleted file mode 100644 index b4c443ecee07adf..000000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2026-04-29-15-10-59.gh-issue-149162.BPPyrq.rst +++ /dev/null @@ -1,3 +0,0 @@ -Fix a potential deadlock in :c:func:`PyUnicode_InternFromString` and other -interning functions in the :term:`free-threaded build` when called from C++ -static local initializers. 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-05-26-00-06-30.gh-issue-150411.u-d-_5.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-05-26-00-06-30.gh-issue-150411.u-d-_5.rst deleted file mode 100644 index 5b19a4fff5ddc73..000000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2026-05-26-00-06-30.gh-issue-150411.u-d-_5.rst +++ /dev/null @@ -1,2 +0,0 @@ -Fix a data race in the free-threaded build when :func:`gc.get_count` reads -the young generation allocation count while another thread updates it. diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-05-29-17-51-11.gh-issue-144774.jPcixe.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-05-29-17-51-11.gh-issue-144774.jPcixe.rst deleted file mode 100644 index 3dd117e7d3c3502..000000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2026-05-29-17-51-11.gh-issue-144774.jPcixe.rst +++ /dev/null @@ -1 +0,0 @@ -Fix data race in :class:`BaseException` when an exception is copied while being mutated. 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-06-20-15-08.gh-issue-151029.A33CKK.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-06-06-20-15-08.gh-issue-151029.A33CKK.rst deleted file mode 100644 index cbfe5952627ad8a..000000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2026-06-06-20-15-08.gh-issue-151029.A33CKK.rst +++ /dev/null @@ -1,2 +0,0 @@ -On Linux, fix :func:`sys.remote_exec` unable to find remote writable memory -when ``libpython`` replaced on disk. 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-08-13-14-42.gh-issue-150902.-CWZ66.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-06-08-13-14-42.gh-issue-150902.-CWZ66.rst deleted file mode 100644 index e3b7cd387b439fe..000000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2026-06-08-13-14-42.gh-issue-150902.-CWZ66.rst +++ /dev/null @@ -1 +0,0 @@ -Apply an existing optimization of PyCriticalSection (single mutex) to PyCriticalSection2: avoid acquiring the same locks that the current CS has already acquired. 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-19-58.gh-issue-151238.C9Wu4x.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-06-10-15-19-58.gh-issue-151238.C9Wu4x.rst deleted file mode 100644 index fe7519fb4878952..000000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2026-06-10-15-19-58.gh-issue-151238.C9Wu4x.rst +++ /dev/null @@ -1,2 +0,0 @@ -Fix a crash when compiling a concatenated f-string or t-string if an error -occurs when processing one of it's parts. 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-12-15-30-25.gh-issue-151218.5M_nv8.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-06-12-15-30-25.gh-issue-151218.5M_nv8.rst deleted file mode 100644 index 46539efc373eb0d..000000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2026-06-12-15-30-25.gh-issue-151218.5M_nv8.rst +++ /dev/null @@ -1,3 +0,0 @@ -:c:func:`PyConfig_Set` and :func:`sys.set_int_max_str_digits` now replace -:data:`sys.flags` (create a new object), instead of modifying :data:`sys.flags` -in-place. Patch by Victor Stinner. diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-06-14-05-05-15.gh-issue-151461.5q0s88.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-06-14-05-05-15.gh-issue-151461.5q0s88.rst deleted file mode 100644 index d76a9bc95278bcb..000000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2026-06-14-05-05-15.gh-issue-151461.5q0s88.rst +++ /dev/null @@ -1,3 +0,0 @@ -Fix direct execution of files with invalid source encodings to report the -underlying codec lookup or decoding error instead of the generic -``SyntaxError: encoding problem`` message. Patch by Bartosz Sławecki. diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-06-16-17-23-37.gh-issue-151546.LhiaZz.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-06-16-17-23-37.gh-issue-151546.LhiaZz.rst deleted file mode 100644 index af1c23bd50355f2..000000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2026-06-16-17-23-37.gh-issue-151546.LhiaZz.rst +++ /dev/null @@ -1,3 +0,0 @@ -Fix the stack limit check if Python is linked to musl (ex: Alpine Linux). -Use the stack size set by the linker to compute the stack limits. 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-00-00-00.gh-issue-151644.5cFffN.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-06-18-00-00-00.gh-issue-151644.5cFffN.rst deleted file mode 100644 index ff5058e14b42f15..000000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2026-06-18-00-00-00.gh-issue-151644.5cFffN.rst +++ /dev/null @@ -1,4 +0,0 @@ -Fix a data race in :func:`sys.setdlopenflags` and :func:`sys.getdlopenflags` -when called concurrently in the free-threaded build. The underlying -``_PyImport_GetDLOpenFlags`` and ``_PyImport_SetDLOpenFlags`` functions now -use atomic load/store operations. 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-06-26-34.gh-issue-151905.FOLMYg.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-06-22-06-26-34.gh-issue-151905.FOLMYg.rst deleted file mode 100644 index c71122df6b8580f..000000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2026-06-22-06-26-34.gh-issue-151905.FOLMYg.rst +++ /dev/null @@ -1 +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-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-23-19-50-22.gh-issue-152020.DTKXjR.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-06-23-19-50-22.gh-issue-152020.DTKXjR.rst deleted file mode 100644 index 93c716f7a6a1c86..000000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2026-06-23-19-50-22.gh-issue-152020.DTKXjR.rst +++ /dev/null @@ -1,3 +0,0 @@ -On the free-threaded build, :func:`asyncio.all_tasks` no longer loses -eager-started tasks when called from a thread other than the one running the -event loop. diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-06-23-23-48-54.gh-issue-151763.Eu8pYQ.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-06-23-23-48-54.gh-issue-151763.Eu8pYQ.rst deleted file mode 100644 index d4746e992f8779d..000000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2026-06-23-23-48-54.gh-issue-151763.Eu8pYQ.rst +++ /dev/null @@ -1 +0,0 @@ -Fixes possible crash on :class:`types.CodeType` deallocation. diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-06-25-21-34-15.gh-issue-152228.a6K14K.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-06-25-21-34-15.gh-issue-152228.a6K14K.rst deleted file mode 100644 index 8af7ae0d1739130..000000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2026-06-25-21-34-15.gh-issue-152228.a6K14K.rst +++ /dev/null @@ -1,2 +0,0 @@ -Fix an assertion failure when python is built in a debug mode -that happened in :meth:`str.replace` under a limited memory situation. 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-07-04-16-48.gh-issue-153205.5fE8QZ.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-07-07-04-16-48.gh-issue-153205.5fE8QZ.rst deleted file mode 100644 index 9ccfbff7ee69778..000000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2026-07-07-04-16-48.gh-issue-153205.5fE8QZ.rst +++ /dev/null @@ -1,2 +0,0 @@ -Fix a potential :exc:`SystemError` during vector calls when memory allocation fails. -A :exc:`MemoryError` is now raised instead. diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-07-08-13-23-11.gh-issue-153298.wvcXxN.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-07-08-13-23-11.gh-issue-153298.wvcXxN.rst deleted file mode 100644 index 38d548834d5e02e..000000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2026-07-08-13-23-11.gh-issue-153298.wvcXxN.rst +++ /dev/null @@ -1,2 +0,0 @@ -Fixes a data race in :class:`types.GenericAlias` ``__parameters__`` -initialization on free-threading builds. diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-07-19-12-33-27.gh-issue-153932.lKw2bo.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-07-19-12-33-27.gh-issue-153932.lKw2bo.rst deleted file mode 100644 index 56b96307ed04cd9..000000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2026-07-19-12-33-27.gh-issue-153932.lKw2bo.rst +++ /dev/null @@ -1,2 +0,0 @@ -Fix thread safety issue in the ``__reduce__`` method of -:py:class:`enumerate`. 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-24-13-15-31.gh-issue-153809.JFA6GT.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-07-24-13-15-31.gh-issue-153809.JFA6GT.rst deleted file mode 100644 index d2d2c771a684325..000000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2026-07-24-13-15-31.gh-issue-153809.JFA6GT.rst +++ /dev/null @@ -1,2 +0,0 @@ -Fix interpreter crash while deallocating objects of :class:`asyncio.Task` on -free-threaded builds. Contributed by Sergey Miryanov. diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-07-25-17-35-14.gh-issue-154695.aQWLLv.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-07-25-17-35-14.gh-issue-154695.aQWLLv.rst deleted file mode 100644 index 6e147cf7f31a882..000000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2026-07-25-17-35-14.gh-issue-154695.aQWLLv.rst +++ /dev/null @@ -1,2 +0,0 @@ -Fix :class:`asyncio.Task` raising :exc:`AttributeError` when created with -``eager_start=True`` and no explicit *loop* argument. 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-07-28-10-00-00.gh-issue-133931.fnQzxD.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-07-28-10-00-00.gh-issue-133931.fnQzxD.rst deleted file mode 100644 index 139bdd86b84892f..000000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2026-07-28-10-00-00.gh-issue-133931.fnQzxD.rst +++ /dev/null @@ -1,2 +0,0 @@ -Fix data races when setting attributes of function objects -on the :term:`free threaded <free threading>` 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-03-13-20-48-58.gh-issue-123471.cM4w4f.rst b/Misc/NEWS.d/next/Library/2025-03-13-20-48-58.gh-issue-123471.cM4w4f.rst deleted file mode 100644 index cfc783900de70fe..000000000000000 --- a/Misc/NEWS.d/next/Library/2025-03-13-20-48-58.gh-issue-123471.cM4w4f.rst +++ /dev/null @@ -1 +0,0 @@ -Make concurrent iterations over :class:`itertools.cycle` safe under free-threading. diff --git a/Misc/NEWS.d/next/Library/2025-04-22-21-00-23.gh-issue-123471.asOLA2.rst b/Misc/NEWS.d/next/Library/2025-04-22-21-00-23.gh-issue-123471.asOLA2.rst deleted file mode 100644 index a4b4b6d2c23d495..000000000000000 --- a/Misc/NEWS.d/next/Library/2025-04-22-21-00-23.gh-issue-123471.asOLA2.rst +++ /dev/null @@ -1 +0,0 @@ -Make concurrent iterations over :class:`itertools.combinations` and :class:`itertools.product` safe under free-threading. diff --git a/Misc/NEWS.d/next/Library/2025-06-18-19-25-32.gh-issue-123471.lx1Xbt.rst b/Misc/NEWS.d/next/Library/2025-06-18-19-25-32.gh-issue-123471.lx1Xbt.rst deleted file mode 100644 index 6f395024a9e1790..000000000000000 --- a/Misc/NEWS.d/next/Library/2025-06-18-19-25-32.gh-issue-123471.lx1Xbt.rst +++ /dev/null @@ -1 +0,0 @@ -Make concurrent iterations over :class:`itertools.chain` safe under :term:`free threading`. 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-10-19-17-34-07.gh-issue-140326.kZM0pV.rst b/Misc/NEWS.d/next/Library/2025-10-19-17-34-07.gh-issue-140326.kZM0pV.rst deleted file mode 100644 index 07eea563ea5fbc0..000000000000000 --- a/Misc/NEWS.d/next/Library/2025-10-19-17-34-07.gh-issue-140326.kZM0pV.rst +++ /dev/null @@ -1,3 +0,0 @@ -Fix the :mod:`asyncio` REPL namespace so that relative imports no longer -resolve against the :mod:`asyncio` package and ``__file__`` is no longer -set. 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-02-03-08-50-58.gh-issue-123471.yF1Gym.rst b/Misc/NEWS.d/next/Library/2026-02-03-08-50-58.gh-issue-123471.yF1Gym.rst deleted file mode 100644 index 85e9a03426e1fca..000000000000000 --- a/Misc/NEWS.d/next/Library/2026-02-03-08-50-58.gh-issue-123471.yF1Gym.rst +++ /dev/null @@ -1 +0,0 @@ -Make concurrent iteration over :class:`itertools.combinations_with_replacement` and :class:`itertools.permutations` safe under free-threading. diff --git a/Misc/NEWS.d/next/Library/2026-02-04-20-30-59.gh-issue-123471.1dnPvs.rst b/Misc/NEWS.d/next/Library/2026-02-04-20-30-59.gh-issue-123471.1dnPvs.rst deleted file mode 100644 index d650103e28ee686..000000000000000 --- a/Misc/NEWS.d/next/Library/2026-02-04-20-30-59.gh-issue-123471.1dnPvs.rst +++ /dev/null @@ -1 +0,0 @@ -Make concurrent iteration over :class:`itertools.accumulate` safe under free-threading. diff --git a/Misc/NEWS.d/next/Library/2026-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-17-19-51-05.gh-issue-123471.oY4UR5.rst b/Misc/NEWS.d/next/Library/2026-03-17-19-51-05.gh-issue-123471.oY4UR5.rst deleted file mode 100644 index 8d2e1b970e81711..000000000000000 --- a/Misc/NEWS.d/next/Library/2026-03-17-19-51-05.gh-issue-123471.oY4UR5.rst +++ /dev/null @@ -1 +0,0 @@ -Make concurrent iteration over :class:`itertools.zip_longest` safe under free-threading. diff --git a/Misc/NEWS.d/next/Library/2026-03-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-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-18-12-42-31.gh-issue-149816.F98iME.rst b/Misc/NEWS.d/next/Library/2026-05-18-12-42-31.gh-issue-149816.F98iME.rst deleted file mode 100644 index 21e3ae0df57621c..000000000000000 --- a/Misc/NEWS.d/next/Library/2026-05-18-12-42-31.gh-issue-149816.F98iME.rst +++ /dev/null @@ -1,2 +0,0 @@ -Fix a potential use after free condition in :func:`pickle.dumps` in free-threaded -mode when serializing lists. 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-05-31-14-39-25.gh-issue-150641.LLIhd1.rst b/Misc/NEWS.d/next/Library/2026-05-31-14-39-25.gh-issue-150641.LLIhd1.rst deleted file mode 100644 index eba899c96fcd26b..000000000000000 --- a/Misc/NEWS.d/next/Library/2026-05-31-14-39-25.gh-issue-150641.LLIhd1.rst +++ /dev/null @@ -1,2 +0,0 @@ -Fix bug where :func:`typing.evaluate_forward_ref` with the ``STRING`` format -could leak internal names used by the annotation machinery. diff --git a/Misc/NEWS.d/next/Library/2026-06-03-19-35-32.gh-issue-150583.dedI24.rst b/Misc/NEWS.d/next/Library/2026-06-03-19-35-32.gh-issue-150583.dedI24.rst deleted file mode 100644 index edb551b3c3c8cbd..000000000000000 --- a/Misc/NEWS.d/next/Library/2026-06-03-19-35-32.gh-issue-150583.dedI24.rst +++ /dev/null @@ -1,2 +0,0 @@ -Correctly set the default compression level in :mod:`compression.zstd` when passing a digested -dictionary during compression. 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-07-00.gh-issue-151126.cWw5pb.rst b/Misc/NEWS.d/next/Library/2026-06-11-16-07-00.gh-issue-151126.cWw5pb.rst deleted file mode 100644 index f27744d42f48246..000000000000000 --- a/Misc/NEWS.d/next/Library/2026-06-11-16-07-00.gh-issue-151126.cWw5pb.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/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-07-20-08.gh-issue-151390.CmYN9EeJ.rst b/Misc/NEWS.d/next/Library/2026-06-12-07-20-08.gh-issue-151390.CmYN9EeJ.rst deleted file mode 100644 index ff8de30599c6ad5..000000000000000 --- a/Misc/NEWS.d/next/Library/2026-06-12-07-20-08.gh-issue-151390.CmYN9EeJ.rst +++ /dev/null @@ -1 +0,0 @@ -Colorize ``match`` in the :term:`REPL` when followed by a unary ``+`` or ``-`` operator. Patch by Bartosz Sławecki. 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-12-48-03.gh-issue-151640.R4c3Fx.rst b/Misc/NEWS.d/next/Library/2026-06-18-12-48-03.gh-issue-151640.R4c3Fx.rst deleted file mode 100644 index ef61a7d27dd07dd..000000000000000 --- a/Misc/NEWS.d/next/Library/2026-06-18-12-48-03.gh-issue-151640.R4c3Fx.rst +++ /dev/null @@ -1,3 +0,0 @@ -Fix a data race in :class:`io.BytesIO` in free-threaded builds when -whole-buffer reads or peeks, or :meth:`~io.BytesIO.getvalue`, share the -internal buffer with concurrent writes. 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-14-47-55.gh-issue-151665.82fmzx.rst b/Misc/NEWS.d/next/Library/2026-06-20-14-47-55.gh-issue-151665.82fmzx.rst deleted file mode 100644 index d08a1220cbe5efc..000000000000000 --- a/Misc/NEWS.d/next/Library/2026-06-20-14-47-55.gh-issue-151665.82fmzx.rst +++ /dev/null @@ -1,2 +0,0 @@ -:func:`inspect.signature` now works on the lazy evaluators of type aliases -and type parameters instead of raising :exc:`ValueError`. diff --git a/Misc/NEWS.d/next/Library/2026-06-20-15-00-00.gh-issue-151770.dtiso0.rst b/Misc/NEWS.d/next/Library/2026-06-20-15-00-00.gh-issue-151770.dtiso0.rst deleted file mode 100644 index 10b3db8efa42b0f..000000000000000 --- a/Misc/NEWS.d/next/Library/2026-06-20-15-00-00.gh-issue-151770.dtiso0.rst +++ /dev/null @@ -1,3 +0,0 @@ -Fix :meth:`datetime.datetime.fromisoformat` raising :exc:`AssertionError` -instead of :exc:`ValueError` for an out-of-range month combined with a -``24:00`` time. 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-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 30e561274dc50c2..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:`concurrent.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-15-41-34.gh-issue-152305.WnbbBc.rst b/Misc/NEWS.d/next/Library/2026-06-26-15-41-34.gh-issue-152305.WnbbBc.rst deleted file mode 100644 index 4f27e2ed016d694..000000000000000 --- a/Misc/NEWS.d/next/Library/2026-06-26-15-41-34.gh-issue-152305.WnbbBc.rst +++ /dev/null @@ -1,2 +0,0 @@ -Fix the pure-Python :meth:`datetime.time.strftime` implementation raising :exc:`AttributeError` for the -year directives. Patch by tonghuaroot. 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-00-00-00.gh-issue-152431.Ja3K9m.rst b/Misc/NEWS.d/next/Library/2026-06-28-00-00-00.gh-issue-152431.Ja3K9m.rst deleted file mode 100644 index bda2dfd7cd9d89b..000000000000000 --- a/Misc/NEWS.d/next/Library/2026-06-28-00-00-00.gh-issue-152431.Ja3K9m.rst +++ /dev/null @@ -1,2 +0,0 @@ -Fix ``asyncio.StreamWriter.start_tls()`` to keep the linked -``StreamReader`` transport in sync with the upgraded transport. 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-09-45-00.gh-issue-152569.Kf7Lq2.rst b/Misc/NEWS.d/next/Library/2026-06-29-09-45-00.gh-issue-152569.Kf7Lq2.rst deleted file mode 100644 index fb7e32a5260b39a..000000000000000 --- a/Misc/NEWS.d/next/Library/2026-06-29-09-45-00.gh-issue-152569.Kf7Lq2.rst +++ /dev/null @@ -1,3 +0,0 @@ -Fix :func:`asyncio.wait` leaking waiting tasks via the await-graph when racing a -future that never resolves. The waiting task is now discarded from every future's -``awaited_by`` set once :func:`~asyncio.wait` returns, even for pending futures. 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-13-00-00.gh-issue-151842.OOM31g.rst b/Misc/NEWS.d/next/Library/2026-06-30-13-00-00.gh-issue-151842.OOM31g.rst deleted file mode 100644 index 8a2ecf3c40032f5..000000000000000 --- a/Misc/NEWS.d/next/Library/2026-06-30-13-00-00.gh-issue-151842.OOM31g.rst +++ /dev/null @@ -1,2 +0,0 @@ -Fix a crash in :func:`!_interpreters.capture_exception` when -:exc:`MemoryError` happens. Patch by Amrutha Modela. 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-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-18-30-00.gh-issue-119592.mQr3Vx.rst b/Misc/NEWS.d/next/Library/2026-07-03-18-30-00.gh-issue-119592.mQr3Vx.rst deleted file mode 100644 index f718c877c8ed22b..000000000000000 --- a/Misc/NEWS.d/next/Library/2026-07-03-18-30-00.gh-issue-119592.mQr3Vx.rst +++ /dev/null @@ -1,11 +0,0 @@ -Fix :class:`concurrent.futures.ProcessPoolExecutor` stranding submitted -work forever when a worker process exited upon reaching its -*max_tasks_per_child* limit after -:meth:`~concurrent.futures.Executor.shutdown` was called with -``wait=False``: a replacement worker is now spawned and the remaining work -executed as documented. If the executor has instead been garbage collected -without ``shutdown()`` (:gh:`152967`), or a replacement worker cannot be -started, the remaining futures now fail with -:exc:`~concurrent.futures.process.BrokenProcessPool` instead of never -resolving. A worker exit racing ``shutdown(wait=False)`` can also no -longer crash the executor management thread. 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-11-14-06.gh-issue-152851.diYvTf.rst b/Misc/NEWS.d/next/Library/2026-07-04-11-14-06.gh-issue-152851.diYvTf.rst deleted file mode 100644 index aab033ebeed6954..000000000000000 --- a/Misc/NEWS.d/next/Library/2026-07-04-11-14-06.gh-issue-152851.diYvTf.rst +++ /dev/null @@ -1,2 +0,0 @@ -Prevent a crash when allocation fails while copying a :func:`BLAKE-2s/2b -<hashlib.blake2b>` object. Patch by Bénédikt Tran. 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-04-20-28-51.gh-issue-153037.XUSp_g.rst b/Misc/NEWS.d/next/Library/2026-07-04-20-28-51.gh-issue-153037.XUSp_g.rst deleted file mode 100644 index cbfc62f75184706..000000000000000 --- a/Misc/NEWS.d/next/Library/2026-07-04-20-28-51.gh-issue-153037.XUSp_g.rst +++ /dev/null @@ -1,3 +0,0 @@ -Fix :class:`~compression.zstd.ZstdFile` raising :exc:`AttributeError` -instead of :exc:`io.UnsupportedOperation` when iterating over a file that -is not open for reading. 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 a2bc89f25a53c19..000000000000000 --- a/Misc/NEWS.d/next/Library/2026-07-05-12-00-00.gh-issue-153056.tMpLat.rst +++ /dev/null @@ -1,4 +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. On the free-threaded build this also occurred as a data -race on the first concurrent use. diff --git a/Misc/NEWS.d/next/Library/2026-07-05-14-30-00.gh-issue-153062.teeFT1.rst b/Misc/NEWS.d/next/Library/2026-07-05-14-30-00.gh-issue-153062.teeFT1.rst deleted file mode 100644 index ed1aaa15d37bd9c..000000000000000 --- a/Misc/NEWS.d/next/Library/2026-07-05-14-30-00.gh-issue-153062.teeFT1.rst +++ /dev/null @@ -1,2 +0,0 @@ -Fix a crash when concurrently iterating an :func:`itertools.tee` iterator on -the free-threaded build. 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-13-31-52.gh-issue-148286.-qu-em.rst b/Misc/NEWS.d/next/Library/2026-07-07-13-31-52.gh-issue-148286.-qu-em.rst deleted file mode 100644 index 60cd49020c954a4..000000000000000 --- a/Misc/NEWS.d/next/Library/2026-07-07-13-31-52.gh-issue-148286.-qu-em.rst +++ /dev/null @@ -1,3 +0,0 @@ -Fix undefined behavior in -:attr:`compression.zstd.ZstdDecompressor.unused_data` when a complete frame -was decompressed in a single call. 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-03-17.gh-issue-153292.oHDt3l.rst b/Misc/NEWS.d/next/Library/2026-07-08-01-03-17.gh-issue-153292.oHDt3l.rst deleted file mode 100644 index dc363e160074302..000000000000000 --- a/Misc/NEWS.d/next/Library/2026-07-08-01-03-17.gh-issue-153292.oHDt3l.rst +++ /dev/null @@ -1 +0,0 @@ -Fix data race in repr of :class:`threading.RLock` in free-threading build. 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-15-00-00.gh-issue-127049.pQw7Rk.rst b/Misc/NEWS.d/next/Library/2026-07-14-15-00-00.gh-issue-127049.pQw7Rk.rst deleted file mode 100644 index d7557d8f562f7a6..000000000000000 --- a/Misc/NEWS.d/next/Library/2026-07-14-15-00-00.gh-issue-127049.pQw7Rk.rst +++ /dev/null @@ -1,5 +0,0 @@ -Fix a race condition in :mod:`asyncio` on Unix where -:meth:`asyncio.subprocess.Process.send_signal`, :meth:`~asyncio.subprocess.Process.terminate` -or :meth:`~asyncio.subprocess.Process.kill` could signal an unrelated process -that was recycled onto the PID of the already-reaped child when ThreadedChildWatcher is used. -Patch by Kumar Aditya. 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-11-16-41.gh-issue-153908.82FiGk.rst b/Misc/NEWS.d/next/Library/2026-07-18-11-16-41.gh-issue-153908.82FiGk.rst deleted file mode 100644 index 6ee943a5fb66724..000000000000000 --- a/Misc/NEWS.d/next/Library/2026-07-18-11-16-41.gh-issue-153908.82FiGk.rst +++ /dev/null @@ -1 +0,0 @@ -Fix data race when calling :func:`repr` on :class:`itertools.count` under the :term:`free-threaded build`. 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-17-15-00.gh-issue-131565.dllist.rst b/Misc/NEWS.d/next/Library/2026-07-20-17-15-00.gh-issue-131565.dllist.rst deleted file mode 100644 index 5fb2dd099bd419f..000000000000000 --- a/Misc/NEWS.d/next/Library/2026-07-20-17-15-00.gh-issue-131565.dllist.rst +++ /dev/null @@ -1,4 +0,0 @@ -:func:`ctypes.util.dllist` now works on NetBSD. It is implemented in the -:mod:`!_ctypes` extension module so that ``dl_iterate_phdr()`` reports all -loaded shared libraries: on NetBSD it only reports the link-map group of -the calling object, which excluded them when called through ctypes. 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-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/Library/2026-08-05-02-36-18.gh-issue-155009.YiJAiP.rst b/Misc/NEWS.d/next/Library/2026-08-05-02-36-18.gh-issue-155009.YiJAiP.rst deleted file mode 100644 index 219c6a94b91cb62..000000000000000 --- a/Misc/NEWS.d/next/Library/2026-08-05-02-36-18.gh-issue-155009.YiJAiP.rst +++ /dev/null @@ -1,3 +0,0 @@ -Fix :class:`argparse.ArgumentParser` to preserve the program name from -``sys.argv[0]`` when a named module is executed as the main program without -replacing ``sys.argv[0]``. 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-04-24-01-38-56.gh-issue-148853._uM4_Q.rst b/Misc/NEWS.d/next/Tests/2026-04-24-01-38-56.gh-issue-148853._uM4_Q.rst deleted file mode 100644 index 9d3fbc2590dc7a2..000000000000000 --- a/Misc/NEWS.d/next/Tests/2026-04-24-01-38-56.gh-issue-148853._uM4_Q.rst +++ /dev/null @@ -1,2 +0,0 @@ -Fix tests failing on FreeBSD in test.support's -in_systemd_nspawn_sync_suppressed() due to unreadable /run directory. 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-20-11-30-00.gh-issue-154211.hugestack.rst b/Misc/NEWS.d/next/Tests/2026-07-20-11-30-00.gh-issue-154211.hugestack.rst deleted file mode 100644 index 8030db869c7ba6e..000000000000000 --- a/Misc/NEWS.d/next/Tests/2026-07-20-11-30-00.gh-issue-154211.hugestack.rst +++ /dev/null @@ -1,3 +0,0 @@ -Add ``test.support.skip_if_huge_c_stack()`` and use it to skip tests -that exhaust the C stack if the stack limit is very large -(e.g. on DragonFly BSD or with ``ulimit -s unlimited``). 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/Tests/2026-08-03-20-15-00.gh-issue-155109.limstack.rst b/Misc/NEWS.d/next/Tests/2026-08-03-20-15-00.gh-issue-155109.limstack.rst deleted file mode 100644 index cc6f057a364180c..000000000000000 --- a/Misc/NEWS.d/next/Tests/2026-08-03-20-15-00.gh-issue-155109.limstack.rst +++ /dev/null @@ -1,3 +0,0 @@ -Add ``test.support.run_with_limited_c_stack()`` and use it in tests that -exhaust the C stack with a fixed number of recursive calls, so that their -outcome no longer depends on the C stack size. 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-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/Windows/2026-06-04-18-53-18.gh-issue-150836.Wci7bZ.rst b/Misc/NEWS.d/next/Windows/2026-06-04-18-53-18.gh-issue-150836.Wci7bZ.rst deleted file mode 100644 index 6497b7927db7da3..000000000000000 --- a/Misc/NEWS.d/next/Windows/2026-06-04-18-53-18.gh-issue-150836.Wci7bZ.rst +++ /dev/null @@ -1 +0,0 @@ -Make installed tkinter work with Tcl/Tk 9 builds that embed the Tk script library in the Tk DLL on Windows. diff --git a/Misc/NEWS.d/next/Windows/2026-07-18-11-56-53.gh-issue-124111.m4OBX8.rst b/Misc/NEWS.d/next/Windows/2026-07-18-11-56-53.gh-issue-124111.m4OBX8.rst deleted file mode 100644 index 802afc6f7a6fc48..000000000000000 --- a/Misc/NEWS.d/next/Windows/2026-07-18-11-56-53.gh-issue-124111.m4OBX8.rst +++ /dev/null @@ -1 +0,0 @@ -Updated Windows builds to use Tcl/Tk 9.0.4. diff --git a/Misc/NEWS.d/next/macOS/2026-07-17-23-35-36.gh-issue-124111.dmM4lk.rst b/Misc/NEWS.d/next/macOS/2026-07-17-23-35-36.gh-issue-124111.dmM4lk.rst deleted file mode 100644 index 48ab66407831a86..000000000000000 --- a/Misc/NEWS.d/next/macOS/2026-07-17-23-35-36.gh-issue-124111.dmM4lk.rst +++ /dev/null @@ -1 +0,0 @@ -Update macOS installer to use Tcl/Tk 9.0.4. 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 e72349798dab0d8..a95fbb63cbd5ac7 100644 --- a/README.rst +++ b/README.rst @@ -1,4 +1,4 @@ -This is Python version 3.14.6 +This is Python version 3.14.7 ============================= .. image:: https://github.com/python/cpython/actions/workflows/build.yml/badge.svg?branch=main&event=push _______________________________________________ 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]