]> git.ipfire.org Git - thirdparty/Python/cpython.git/log
thirdparty/Python/cpython.git
7 hours ago[3.13] gh-151519: Check effective gid in `_test_all_chown_common` group-0 guard ... 3.13
Miss Islington (bot) [Tue, 16 Jun 2026 16:42:16 +0000 (18:42 +0200)] 
[3.13] gh-151519: Check effective gid in `_test_all_chown_common` group-0 guard (GH-151521) (#151551)

gh-151519: Check effective gid in `_test_all_chown_common` group-0 guard (GH-151521)

The guard that skips the "chown to gid 0 should fail" assertion used
only `os.getgroups()` (supplementary groups). The kernel also accepts
the effective/filesystem gid for chown, so when a process runs with
egid 0 and a non-zero uid (common in containers and user namespaces),
chown(-1, 0) succeeds and the assertion spuriously fails.

Add an `os.getegid() != 0` check alongside the existing
`0 not in os.getgroups()` guard.
(cherry picked from commit 2ce260033b457a0ad2c9767a1d9902bef5a30b0e)

Co-authored-by: Itamar Oren <itamarost@gmail.com>
18 hours ago[3.13] gh-151522: Guard against None transport in slow-socket SSL test (GH-151523...
Miss Islington (bot) [Tue, 16 Jun 2026 05:54:53 +0000 (07:54 +0200)] 
[3.13] gh-151522: Guard against None transport in slow-socket SSL test (GH-151523) (#151530)

gh-151522: Guard against None transport in slow-socket SSL test (GH-151523)
(cherry picked from commit 11f032f904c8019b332a3c367f335e05cde63628)

Co-authored-by: Itamar Oren <itamarost@gmail.com>
34 hours ago[3.13] gh-148441: Avoid integer overflow in Expat's CharacterDataHandler (GH-148904...
Miss Islington (bot) [Mon, 15 Jun 2026 13:52:47 +0000 (15:52 +0200)] 
[3.13] gh-148441: Avoid integer overflow in Expat's CharacterDataHandler (GH-148904) (#149637)

* gh-148441: Avoid integer overflow in Expat's CharacterDataHandler (GH-148904)
(cherry picked from commit bc1be4f6174086b4a46e3fe656552f5bb4e6e7b2)

Co-authored-by: ByteFlow <fakeshadow1337@gmail.com>
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
* Apply suggestion from @picnixz

Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
---------

Co-authored-by: ByteFlow <fakeshadow1337@gmail.com>
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Co-authored-by: Victor Stinner <vstinner@python.org>
34 hours ago[3.13] gh-150389: Make perf profiler tests resilient (GH-150437) (GH-151501) (#151503)
Miss Islington (bot) [Mon, 15 Jun 2026 13:39:52 +0000 (15:39 +0200)] 
[3.13] gh-150389: Make perf profiler tests resilient (GH-150437) (GH-151501) (#151503)

[3.14] gh-150389: Make perf profiler tests resilient (GH-150437) (GH-151501)

gh-150389: Make perf profiler tests resilient (GH-150437)

(cherry picked from commit 638754cb8579a4f7acfd465c885f783c073c0baf)
(cherry picked from commit d06b473f8f7880d79b2ee694fde3bf174121c63c)

Co-authored-by: Victor Stinner <vstinner@python.org>
Co-authored-by: Pablo Galindo Salgado <Pablogsal@gmail.com>
38 hours ago[3.13] Add `.toml` to `.editorconfig` (GH-151481) (#151493)
Miss Islington (bot) [Mon, 15 Jun 2026 09:40:58 +0000 (11:40 +0200)] 
[3.13] Add `.toml` to `.editorconfig` (GH-151481) (#151493)

Add `.toml` to `.editorconfig` (GH-151481)
(cherry picked from commit 7a70afa199a9bdd5bf65b2b396b9fa76c8842ac2)

Co-authored-by: sobolevn <mail@sobolevn.me>
38 hours ago[3.13] gh-139837: Document attributes of objects recorded by warnings.catch_warnings...
Miss Islington (bot) [Mon, 15 Jun 2026 09:30:46 +0000 (11:30 +0200)] 
[3.13] gh-139837: Document attributes of objects recorded by warnings.catch_warnings (GH-139893) (GH-151473) (#151494)

[3.14] gh-139837: Document attributes of objects recorded by warnings.catch_warnings (GH-139893) (GH-151473)

* gh-139837: Document attributes of objects recorded by warnings.catch_warnings (GH-139893)
(cherry picked from commit 47b7dc788c9bcf3d5ea69a2ea0aed3d5883647a8)

* Apply suggestions from code review

---------
(cherry picked from commit eb612f4571299d3cc73411574e2f95e299a36198)

Co-authored-by: Aniket <148300120+Aniketsy@users.noreply.github.com>
Co-authored-by: Victor Stinner <vstinner@python.org>
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2 days ago[3.13] Add a new Sphinx `soft-deprecated` directive (GH-148630) (#148715)
Hugo van Kemenade [Sun, 14 Jun 2026 16:08:04 +0000 (19:08 +0300)] 
[3.13] Add a new Sphinx `soft-deprecated` directive (GH-148630) (#148715)

Co-authored-by: Stan Ulbrych <stan@python.org>
3 days ago[3.13] gh-151403: Fix use-after-free when an argv item's __fspath__ mutates args...
Miss Islington (bot) [Sat, 13 Jun 2026 21:33:13 +0000 (23:33 +0200)] 
[3.13] gh-151403: Fix use-after-free when an argv item's __fspath__ mutates args (GH-151404) (#151447)

gh-151403: Fix use-after-free when an argv item's __fspath__ mutates args (GH-151404)

---------
(cherry picked from commit 6679ac07d881f6e0ce30b7cc28b5671eafa20d9d)

Co-authored-by: tonghuaroot (童话) <tonghuaroot@gmail.com>
Co-authored-by: tonghuaroot <23011166+tonghuaroot@users.noreply.github.com>
3 days ago[3.13] gh-151443: Fix documented default of `unittest.mock.mock_open`'s `read_data...
Miss Islington (bot) [Sat, 13 Jun 2026 18:37:47 +0000 (20:37 +0200)] 
[3.13] gh-151443: Fix documented default of  `unittest.mock.mock_open`'s `read_data` parameter (GH-151444)

(cherry picked from commit 9ad6ba0324a71ae5b51ded6e59b1ea3b653814a5)

Co-authored-by: Shardul Deshpande <iamsharduld@users.noreply.github.com>
3 days ago[3.13] gh-77328: Update `base64` module RFC references to RFC 4648 (GH-151275) (...
Stan Ulbrych [Sat, 13 Jun 2026 13:27:27 +0000 (14:27 +0100)] 
[3.13] gh-77328: Update `base64` module RFC references to RFC 4648 (GH-151275) (#151441)

(cherry picked from commit e9339876883f96af2e406a92a05be647b7fbe5d5)

3 days ago[3.13] gh-101267: ProcessPoolExecutor no longer shares 1 BrokenProcessPool exception...
Miss Islington (bot) [Sat, 13 Jun 2026 09:37:19 +0000 (11:37 +0200)] 
[3.13] gh-101267: ProcessPoolExecutor no longer shares 1 BrokenProcessPool exception among all failed futures (GH-101268) (GH-151431) (#151435)

[3.14] gh-101267: ProcessPoolExecutor no longer shares 1 BrokenProcessPool exception among all failed futures (GH-101268) (GH-151431)

* gh-101267: ProcessPoolExecutor no longer shares 1 BrokenProcessPool exception among all failed futures (GH-101268)
(cherry picked from commit 3c00ebc2bbd902495b163def850bc931420209fc)

(cherry picked from commit 4e8c9c6a5742659ca9f77719178802cce06a3507)

* Drop the abrupt-exit-code reporting from the 3.14 backport

Reporting the exit codes of processes that died without a known cause
is a new feature, not part of the gh-101267 bugfix. Keep only the
bugfix on 3.14: each failed future gets its own BrokenProcessPool
exception instead of one shared instance.

---------
(cherry picked from commit 27ff2c8c53e29e5075cba7d393f593a3a682a2f3)

Co-authored-by: Gregory P. Smith <68491+gpshead@users.noreply.github.com>
Co-authored-by: Daniel Shields <daniel.shields@twosigma.com>
Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
3 days ago[3.13] Docs: Fix method directive signatures in `enum` docs (GH-151429) (#151433)
Miss Islington (bot) [Sat, 13 Jun 2026 08:55:39 +0000 (10:55 +0200)] 
[3.13] Docs: Fix method directive signatures in `enum` docs (GH-151429) (#151433)

(cherry picked from commit 5b385197625e669473859c63bee6f14c983d2be6)

Co-authored-by: Jonathan Dung <jonathandung@yahoo.com>
4 days ago[3.13] Fix typos in the `curses.ascii` module documentation (GH-129300) (#151415)
Miss Islington (bot) [Fri, 12 Jun 2026 16:09:38 +0000 (18:09 +0200)] 
[3.13] Fix typos in the `curses.ascii` module documentation (GH-129300) (#151415)

(cherry picked from commit f4f102027a9b0edc72a048f17b696aa92d2e6893)

Co-authored-by: Rafael Fontenelle <rffontenelle@users.noreply.github.com>
Co-authored-by: Stan Ulbrych <stan@python.org>
4 days ago[3.13] Docs: avoid repetitions of class references in functions.rst (GH-150891) ...
Hugo van Kemenade [Fri, 12 Jun 2026 15:04:54 +0000 (18:04 +0300)] 
[3.13] Docs: avoid repetitions of class references in functions.rst (GH-150891) (#151407)

Co-authored-by: Maciej Olko <maciej.olko@affirm.com>
4 days ago[3.13] gh-151126: Fix crash on unset memory error in `ctypes.get_errno` (GH-151382...
Miss Islington (bot) [Fri, 12 Jun 2026 11:27:19 +0000 (13:27 +0200)] 
[3.13] gh-151126: Fix crash on unset memory error in `ctypes.get_errno` (GH-151382) (#151400)

gh-151126: Fix crash on unset memory error in `ctypes.get_errno` (GH-151382)
(cherry picked from commit 6b217ea90b9cd694fded6308bc796e324bbacd19)

Co-authored-by: sobolevn <mail@sobolevn.me>
4 days ago[3.13] gh-151065: Copy fix for memory leak from mimalloc upstream (GH-151066) (GH...
Miss Islington (bot) [Fri, 12 Jun 2026 01:18:14 +0000 (03:18 +0200)] 
[3.13] gh-151065: Copy fix for memory leak from mimalloc upstream (GH-151066) (GH-151385)

Applies https://github.com/microsoft/mimalloc/commit/d7a72c4912943e8aaf135e465ca5ea229ea96646 to our copy of mimalloc.
(cherry picked from commit 80f9467434cecbc4e97b853b3876de13e75aec38)

Co-authored-by: Peter Bierma <zintensitydev@gmail.com>
5 days ago[3.13] gh-151337: Avoid possible memory leak in `_tkinter.c` on Windows. (GH-151340...
Miss Islington (bot) [Thu, 11 Jun 2026 20:13:33 +0000 (22:13 +0200)] 
[3.13] gh-151337: Avoid possible memory leak in `_tkinter.c` on Windows. (GH-151340) (GH-151381)

(cherry picked from commit 71805db4294de9495954571c82a835d94ba67594)

Co-authored-by: Ivy Xu <fakeshadow1337@gmail.com>
5 days ago[3.13] gh-138991: Update dataclass documentation for new eq behavior in Python 3...
Miss Islington (bot) [Thu, 11 Jun 2026 17:39:04 +0000 (19:39 +0200)] 
[3.13] gh-138991: Update dataclass documentation for new eq behavior in Python 3.13 (GH-139007) (#151374)

gh-138991: Update dataclass documentation for new eq behavior in Python 3.13 (GH-139007)

And add tests.
(cherry picked from commit 402668b2b1a63a2b3cfd7a2ede07f6786f9beb8e)

Co-authored-by: Aniket <148300120+Aniketsy@users.noreply.github.com>
Co-authored-by: Victor Stinner <vstinner@python.org>
5 days ago[3.13] gh-150285: Fix too long docstrings in GenericAlias and __class_getitem__ ...
Miss Islington (bot) [Thu, 11 Jun 2026 17:11:49 +0000 (19:11 +0200)] 
[3.13] gh-150285: Fix too long docstrings in GenericAlias and __class_getitem__ (GH-151354) (GH-151369)

(cherry picked from commit 65047f2e2fb80e4ad36df56a343d75963a20c110)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
5 days ago[3.13] gh-151126: Fix missing memory error in `os._path_splitroot` (GH-151339) (...
Miss Islington (bot) [Thu, 11 Jun 2026 16:43:15 +0000 (18:43 +0200)] 
[3.13] gh-151126: Fix missing memory error in `os._path_splitroot` (GH-151339) (#151362)

gh-151126: Fix missing memory error in `os._path_splitroot` (GH-151339)
(cherry picked from commit 10595b1cb7ac04ba9a3ef3f7da4fa31c9966300d)

Co-authored-by: sobolevn <mail@sobolevn.me>
5 days ago[3.13] gh-101100: Fix Sphinx nitpick in `unittest.mock.rst` (GH-151302)
Miss Islington (bot) [Thu, 11 Jun 2026 15:38:41 +0000 (17:38 +0200)] 
[3.13] gh-101100: Fix Sphinx nitpick in `unittest.mock.rst` (GH-151302)

(cherry picked from commit b18168cb32d545ed976b760983478cbd5dde5bdf)

Co-authored-by: Cody Maloney <cmaloney@users.noreply.github.com>
5 days ago[3.13] gh-150285: Suppress showing the __getstate__() comment in the help for datacla...
Miss Islington (bot) [Thu, 11 Jun 2026 15:02:38 +0000 (17:02 +0200)] 
[3.13] gh-150285: Suppress showing the __getstate__() comment in the help for dataclasses (GH-151328) (GH-151333)

(cherry picked from commit 0066fd73a20950dc790d219f4e3cfb07e816df47)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
5 days ago[3.13] gh-151126: Fix missing memory errors in `_interpchannelsmodule.c` (GH-151239...
sobolevn [Thu, 11 Jun 2026 13:31:10 +0000 (16:31 +0300)] 
[3.13] gh-151126: Fix missing memory errors in `_interpchannelsmodule.c` (GH-151239) (#151338)

(cherry picked from commit 9fd1a125bc0ebdc26eae684da6e48ef24ee23b34)

5 days ago[3.13] gh-130796: Undeprecate locale.getdefaultlocale() (GH-143069) (#151318)
Hugo van Kemenade [Thu, 11 Jun 2026 11:34:40 +0000 (14:34 +0300)] 
[3.13] gh-130796: Undeprecate locale.getdefaultlocale() (GH-143069) (#151318)

Co-authored-by: Victor Stinner <vstinner@python.org>
5 days ago[3.13] gh-151284: Fix test_capi on UBSan (GH-151286) (#151325)
Miss Islington (bot) [Thu, 11 Jun 2026 11:19:54 +0000 (13:19 +0200)] 
[3.13] gh-151284: Fix test_capi on UBSan (GH-151286) (#151325)

gh-151284: Fix test_capi on UBSan (GH-151286)

Comment two checks relying on undefined behavior in
test_fromwidechar() of test_capi.

Enable test_capi in GitHub Action "Reusable Sanitizer".
(cherry picked from commit d87d77287392b78d36a06660228f6a5ca88888d7)

Co-authored-by: Victor Stinner <vstinner@python.org>
5 days ago[3.13] gh-150285: Fix merging error in GH-150458 (GH-151320)
Serhiy Storchaka [Thu, 11 Jun 2026 11:06:27 +0000 (14:06 +0300)] 
[3.13] gh-150285: Fix merging error in GH-150458 (GH-151320)

5 days ago[3.13] gh-151112: Move an `assert` that may fail in `cfg_builder_check` (GH-151153...
Miss Islington (bot) [Thu, 11 Jun 2026 09:40:49 +0000 (11:40 +0200)] 
[3.13] gh-151112: Move an `assert` that may fail in `cfg_builder_check` (GH-151153) (#151315)

(cherry picked from commit 2d3381035df24fbf512d897daa19a1040f7af3fd)

Co-authored-by: Stan Ulbrych <stan@python.org>
5 days ago[3.13] gh-151295: Fix use-after-free in bytes.join()/bytearray.join() via re-entrant...
Miss Islington (bot) [Thu, 11 Jun 2026 08:30:49 +0000 (10:30 +0200)] 
[3.13] gh-151295: Fix use-after-free in bytes.join()/bytearray.join() via re-entrant __buffer__ (GH-151296) (GH-151306)

(cherry picked from commit 84a322aa1555df745a2c115df03bfb7a4ed8c594)

Co-authored-by: tonghuaroot (童话) <tonghuaroot@gmail.com>
5 days ago[3.13] gh-136880: Add warning about PYTHONPATH (GH-151098) (GH-151298)
Miss Islington (bot) [Thu, 11 Jun 2026 06:38:47 +0000 (08:38 +0200)] 
[3.13] gh-136880: Add warning about PYTHONPATH (GH-151098) (GH-151298)

(cherry picked from commit 84630e2cb90ef334e41eb9bccd860b3b0a7ff51b)

6 days ago[3.13] gh-151253: Dump the Python path configuration on _PyCodec_InitRegistry() failu...
Victor Stinner [Wed, 10 Jun 2026 21:24:46 +0000 (23:24 +0200)] 
[3.13] gh-151253: Dump the Python path configuration on _PyCodec_InitRegistry() failure (#151250) (#151269) (#151283) (#151287)

[3.14][3.15] gh-151253: Dump the Python path configuration on _PyCodec_InitRegistry() failure (#151250) (#151269) (#151283)

[3.15] gh-151253: Dump the Python path configuration on _PyCodec_InitRegistry() failure (#151250) (#151269)

gh-151253: Dump the Python path configuration on _PyCodec_InitRegistry() failure (#151250)

If "import encodings" fails at Python startup, dump the Python path
configuration to help users debugging their configuration. The
encodings module is the first module imported during Python startup.

(cherry picked from commit 7b6e98911e1485be13817f2aedbbfadb1c4ea876)
(cherry picked from commit 10f616cf3939f87605081d05c1913ba630046c54)
(cherry picked from commit b3a7758d8a6333501fd60c052a40ae5c958e3d14)

6 days ago[3.13][3.14] GHA: Display output when a sanitizer test fails (#151268) (#151273)...
Victor Stinner [Wed, 10 Jun 2026 19:25:15 +0000 (21:25 +0200)] 
[3.13][3.14] GHA: Display output when a sanitizer test fails (#151268) (#151273) (#151280)

[3.14] GHA: Display output when a sanitizer test fails (#151268) (#151273)

GHA: Display output when a sanitizer test fails (#151268)

Modify GitHub Action "Reusable Sanitizer" to display output when a
test fails: pass -W option.

(cherry picked from commit 3a8bebd86f36be05442fa2f3adcc83c2a4b00ef2)
(cherry picked from commit bc75e47ffaffbfd33bb2a57c98e25055a1337308)

6 days ago[3.13] Move blurb entry to correct section. (#151270)
Ned Deily [Wed, 10 Jun 2026 17:29:20 +0000 (13:29 -0400)] 
[3.13] Move blurb entry to correct section. (#151270)

6 days ago[3.13][3.14] gh-143988: Fix re-entrant mutation crashes in socket sendmsg/recvmsg_int...
Victor Stinner [Wed, 10 Jun 2026 17:04:04 +0000 (19:04 +0200)] 
[3.13][3.14] gh-143988: Fix re-entrant mutation crashes in socket sendmsg/recvmsg_into (#143987) (#151251) (#151256)

[3.14] gh-143988: Fix re-entrant mutation crashes in socket sendmsg/recvmsg_into (#143987) (#151251)

gh-143988: Fix re-entrant mutation crashes in socket sendmsg/recvmsg_into (#143987)

Fix crashes in socket.sendmsg() and socket.recvmsg_into() that could
occur if buffer sequences are mutated re-entrantly during argument
parsing via __buffer__ protocol callbacks.

The bug occurs because:

1. PySequence_Fast() returns the original list object when the input
   is already a list (not a copy).
2. During iteration, PyObject_GetBuffer() triggers __buffer__
   callbacks which may clear the list.
3. Subsequent iterations access invalid memory (heap OOB read).

The fix replaces PySequence_Fast() with PySequence_Tuple() which
always creates a new tuple, ensuring the sequence cannot be mutated
during iteration.

(cherry picked from commit 896f7fdc7d0ba6d4ace06935b9d67c4da0f9ecbe)

(cherry picked from commit 632daaf5e9fb172e3206c4c1f700a4490a2d6df3)

Co-authored-by: tonghuaroot (童话) <tonghuaroot@gmail.com>
Co-authored-by: tonghuaroot <23011166+tonghuaroot@users.noreply.github.com>
6 days ago[3.13][3.14] gh-89554: Document socket.SocketType as a class (#150683) (#151245)...
Victor Stinner [Wed, 10 Jun 2026 17:02:34 +0000 (19:02 +0200)] 
[3.13][3.14] gh-89554: Document socket.SocketType as a class (#150683) (#151245) (#151254)

[3.14] gh-89554: Document socket.SocketType as a class (#150683) (#151245)

gh-89554: Document socket.SocketType as a class (#150683)

socket.SocketType is a class (re-exported from _socket as an alias of
_socket.socket, the base class of socket.socket), but was documented with
the ".. data::" directive, so ":class:" cross-references to it cannot
resolve against a py:class target.

Switch the entry to ".. class::", correct the misleading description
(SocketType is the base class of the socket type, not "type(socket(...))"
which is socket.socket; addresses gh-88427), move it into the Socket
Objects section, and document the socket object methods and attributes
nested under the socket class, dropping the redundant "socket." prefix.

Backport to 3.13: Replace ":platform: Windows" with
".. availability:: Windows" in ioctl() method.

(cherry picked from commit a621e8ad811e7d51d69b0969a2bd07888a02db1e)

(cherry picked from commit 4ef6a375a15adf76361a73f3c7074350e23e53ba)

Co-authored-by: Bernát Gábor <gaborjbernat@gmail.com>
6 days ago[3.13] gh-109940: Respect VIRTUAL_ENV_DISABLE_PROMPT in activate.bat (GH-151215)...
Harjoth Khara [Wed, 10 Jun 2026 16:49:45 +0000 (09:49 -0700)] 
[3.13] gh-109940: Respect VIRTUAL_ENV_DISABLE_PROMPT in activate.bat (GH-151215) (GH-151263)

6 days agoMerge branch '3.13' of https://github.com/python/cpython into 3.13
Thomas Wouters [Wed, 10 Jun 2026 16:01:42 +0000 (18:01 +0200)] 
Merge branch '3.13' of https://github.com/python/cpython into 3.13

6 days agoPost 3.13.14
Thomas Wouters [Wed, 10 Jun 2026 16:01:10 +0000 (18:01 +0200)] 
Post 3.13.14

6 days ago[3.13] Docs: Fix typos in the "Memory Management" section (GH-151243)
Miss Islington (bot) [Wed, 10 Jun 2026 13:20:03 +0000 (15:20 +0200)] 
[3.13] Docs: Fix typos in the "Memory Management" section (GH-151243)

(cherry picked from commit 8c0e2515bb0059b75e264cc5baeb27bb17337c83)

Co-authored-by: Manoj K M <manojkm24dev@gmail.com>
6 days ago[3.13] gh-150988: Fix refleak in `OSError` when attrs are set before `super().__init_...
Miss Islington (bot) [Wed, 10 Jun 2026 12:51:12 +0000 (14:51 +0200)] 
[3.13] gh-150988: Fix refleak in `OSError` when attrs are set before `super().__init__()` (GH-150990) (#151242)

gh-150988: Fix refleak in `OSError` when attrs are set before `super().__init__()` (GH-150990)
(cherry picked from commit f2a0f82282d6307f7fd2d4ccf52a8fd95ac3922f)

Co-authored-by: Lukas Geiger <lukas.geiger94@gmail.com>
Co-authored-by: Victor Stinner <vstinner@python.org>
6 days agoPython 3.13.14 v3.13.14
Thomas Wouters [Wed, 10 Jun 2026 12:23:45 +0000 (14:23 +0200)] 
Python 3.13.14

6 days ago[3.13] gh-80384: Fix docs for PyWeakref_NewRef() and PyWeakref_NewProxy() (GH-151146...
Miss Islington (bot) [Wed, 10 Jun 2026 10:48:23 +0000 (12:48 +0200)] 
[3.13] gh-80384: Fix docs for PyWeakref_NewRef() and PyWeakref_NewProxy() (GH-151146) (GH-151233)

The type of the callback argument is not checked.
(cherry picked from commit 0b6adeb20f5d7c8b81673d14e0a4db41fd2fca2d)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
6 days ago[3.13][3.15] gh-143008: Fix race re-initializing TextIOWrapper (#151203) (#151227)
Victor Stinner [Wed, 10 Jun 2026 09:40:14 +0000 (11:40 +0200)] 
[3.13][3.15] gh-143008: Fix race re-initializing TextIOWrapper (#151203) (#151227)

[3.15] gh-143008: Fix race re-initializing TextIOWrapper (#151203)

__init__() changes multiple variables and may be called more than once
from multiple threads.

(cherry picked from commit 0318867acf72e3acf78f480db73a69982573263a)

Co-authored-by: Cody Maloney <cmaloney@users.noreply.github.com>
7 days ago[3.13] gh-150285: Fix too long docstrings in the concurrent package (GH-151076) ...
Serhiy Storchaka [Tue, 9 Jun 2026 20:25:09 +0000 (23:25 +0300)] 
[3.13] gh-150285: Fix too long docstrings in the concurrent package (GH-151076) (#151178)

(cherry picked from commit 0fa06f4d7fb3494a62ba2631362ce8b98a7eec25)

7 days ago[3.13] gh-151130: Add more tests for PyWeakref_* C API (GH-151131) (GH-151141) (...
Serhiy Storchaka [Tue, 9 Jun 2026 20:24:39 +0000 (23:24 +0300)] 
[3.13] gh-151130: Add more tests for PyWeakref_* C API (GH-151131) (GH-151141) (#151148)

(cherry picked from commit cb96d5ea4a63faa0db47213f386012214447be8a)

(cherry picked from commit c3cd75afdf86f6a811663c71da22cc24c784a6f4)

7 days ago[3.13] gh-132467: Document and test that generic aliases are not classes (GH-133504...
Abduaziz π [Tue, 9 Jun 2026 20:24:02 +0000 (01:24 +0500)] 
[3.13] gh-132467: Document and test that generic aliases are not classes (GH-133504) (#151117)

(cherry picked from commit 5915a1fb9d8499387e371c6801b40c55cf126dbf)

Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
7 days ago[3.13] gh-101100: Fix Sphinx warnings in 'Buffer Object Structures' documentation...
Miss Islington (bot) [Tue, 9 Jun 2026 20:21:51 +0000 (22:21 +0200)] 
[3.13] gh-101100: Fix Sphinx warnings in 'Buffer Object Structures' documentation (GH-151058) (#151071)

(cherry picked from commit a1873300eebe9c634f59592c3333035768f09de9)

Co-authored-by: Christian Zinck <christian.zinck@gmail.com>
Co-authored-by: Stan Ulbrych <stan@python.org>
7 days ago[3.13] gh-149231: tomllib: Limit the number of parts in a key (GH-149233) (GH-149815...
Petr Viktorin [Tue, 9 Jun 2026 20:20:07 +0000 (22:20 +0200)] 
[3.13] gh-149231: tomllib: Limit the number of parts in a key (GH-149233) (GH-149815) (#149848)

[3.14] gh-149231: tomllib: Limit the number of parts in a key (GH-149233) (GH-149815)

(cherry picked from commit bc7c102f3462a9f014f3ac2546acfb471b2a7eae)
(cherry picked from commit 724a5e5e3b4ab3e943992193d79f83429d56d6d8)

Co-authored-by: Stan Ulbrych <stan@python.org>
7 days ago[3.13] gh-151112: Fix double free in `assemble_init` when out of memory (GH-151142...
Miss Islington (bot) [Tue, 9 Jun 2026 20:13:40 +0000 (22:13 +0200)] 
[3.13] gh-151112: Fix double free in `assemble_init` when out of memory (GH-151142) (#151207)

gh-151112: Fix double free in `assemble_init` when out of memory (GH-151142)
(cherry picked from commit 580499177ca91477b53b4a40afcec7d3370265b0)

Co-authored-by: Stan Ulbrych <stan@python.org>
7 days ago[3.13] gh-151159: Bump OpenSSL version for Android (GH-151200)
Zachary Ware [Tue, 9 Jun 2026 18:21:33 +0000 (13:21 -0500)] 
[3.13] gh-151159: Bump OpenSSL version for Android (GH-151200)

7 days ago[3.13] gh-151159: Update CI to use latest SSL library versions (GH-151202)
Zachary Ware [Tue, 9 Jun 2026 18:04:32 +0000 (13:04 -0500)] 
[3.13] gh-151159: Update CI to use latest SSL library versions (GH-151202)

(cherry picked from commit 7053bbd7fd4967b8782bf0c8f6ad00248f0b0c5b)

7 days ago[3.13] gh-151159: Update macOS installer to use OpenSSL 3.0.21. (#151195)
Ned Deily [Tue, 9 Jun 2026 17:40:05 +0000 (13:40 -0400)] 
[3.13] gh-151159: Update macOS installer to use OpenSSL 3.0.21. (#151195)

7 days ago[3.13] gh-151159: Update Windows builds to use OpenSSL 3.0.21 (GH-151191)
Zachary Ware [Tue, 9 Jun 2026 17:39:56 +0000 (12:39 -0500)] 
[3.13] gh-151159: Update Windows builds to use OpenSSL 3.0.21 (GH-151191)

7 days ago[3.13] GH-59633: Clarify dest collisions in argparse docs (GH-150987) (#151196)
Savannah Ostrowski [Tue, 9 Jun 2026 17:26:45 +0000 (10:26 -0700)] 
[3.13] GH-59633: Clarify dest collisions in argparse docs (GH-150987) (#151196)

(cherry picked from commit 82cb7d4bf62041b75a08628baa1f9fe761fd6a79)

7 days ago[3.13] gh-150285: Fix too long docstrings in the asyncio package (GH-151074) (GH...
Serhiy Storchaka [Tue, 9 Jun 2026 17:12:18 +0000 (20:12 +0300)] 
[3.13] gh-150285: Fix too long docstrings in the asyncio package (GH-151074) (GH-151175) (GH-151185)

(cherry picked from commit e0ad8745c8289396d5acec6b4a167c76db88328c)
(cherry picked from commit ed2b04248aa1f608099e03437aa280d1be6e80c3)

7 days ago[3.13] gh-151126: Add missing `PyErr_NoMemory` in `_winapi` module (GH-151154) (...
Miss Islington (bot) [Tue, 9 Jun 2026 17:07:51 +0000 (19:07 +0200)] 
[3.13] gh-151126: Add missing `PyErr_NoMemory` in `_winapi` module (GH-151154) (#151182)

gh-151126: Add missing `PyErr_NoMemory` in `_winapi` module (GH-151154)
(cherry picked from commit 8d94fa7b8696db6a7942f8a4b930289e69e9b174)

Co-authored-by: sobolevn <mail@sobolevn.me>
7 days ago[3.13] GH-54732: Tweak wording around empty lines in argument files (GH-150980) ...
Miss Islington (bot) [Tue, 9 Jun 2026 15:44:18 +0000 (17:44 +0200)] 
[3.13] GH-54732: Tweak wording around empty lines in argument files (GH-150980) (#151167)

GH-54732: Tweak wording around empty lines in argument files (GH-150980)
(cherry picked from commit 528550e0e753d64714f65a02d567bdc1d63ae3f1)

Co-authored-by: Savannah Ostrowski <savannah@python.org>
7 days ago[3.13] GH-61082: Clarify nargs='*' positional default behavior (GH-150989) (#151170)
Miss Islington (bot) [Tue, 9 Jun 2026 15:44:07 +0000 (17:44 +0200)] 
[3.13] GH-61082: Clarify nargs='*' positional default behavior (GH-150989) (#151170)

GH-61082: Clarify nargs='*' positional default behavior (GH-150989)
(cherry picked from commit bc37a227b2f481d0f260f9beae5229e8d432a0cc)

Co-authored-by: Savannah Ostrowski <savannah@python.org>
7 days ago[3.13] gh-149018: Use `XML_SetHashSalt16Bytes` in `pyexpat`/`_elementtree` when possi...
Stan Ulbrych [Tue, 9 Jun 2026 14:45:59 +0000 (15:45 +0100)] 
[3.13] gh-149018: Use `XML_SetHashSalt16Bytes` in `pyexpat`/`_elementtree` when possible (GH-149023)

(cherry picked from commit 24b8f12544468e4cedf5bfbe25442fcd495391e4)

7 days ago[3.13] gh-90949: expose Expat API to tune exponential expansion protections (GH-139368)
Stan Ulbrych [Tue, 9 Jun 2026 14:23:22 +0000 (15:23 +0100)] 
[3.13] gh-90949: expose Expat API to tune exponential expansion protections (GH-139368)

Expose the XML Expat 2.7.2 APIs to tune protections against
"billion laughs" [1] attacks.

The exposed APIs are available on Expat parsers, that is,
parsers created by `xml.parsers.expat.ParserCreate()`, as:

- `parser.SetBillionLaughsAttackProtectionActivationThreshold(threshold)`, and
- `parser.SetBillionLaughsAttackProtectionMaximumAmplification(max_factor)`.

This completes the work in f04bea44c37793561d753dd4ca6e7cd658137553,
and improves the existing related documentation.

[1]: https://en.wikipedia.org/wiki/Billion_laughs_attack
(cherry picked from commit 666112376d574c7802646ee1df6244062671cd61)

Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
7 days ago[3.13] gh-109503: Fix document for shutil.move() on usage of os.rename() since it...
Miss Islington (bot) [Tue, 9 Jun 2026 13:06:55 +0000 (15:06 +0200)] 
[3.13] gh-109503: Fix document for shutil.move() on usage of os.rename() since it's inaccurate (GH-109507) (GH-150613)

Nonatomic move might be used even if the files are
on the same filesystem in some cases.
(cherry picked from commit 6ecd197c03c43412fc400235949fd8297f142e89)

Co-authored-by: Fang Li <fangli@users.noreply.github.com>
7 days ago[3.13] gh-151126: Fix missing `PyErr_NoMemory()` in `remove_unused_consts` (GH-151127...
Miss Islington (bot) [Tue, 9 Jun 2026 10:27:34 +0000 (12:27 +0200)] 
[3.13] gh-151126: Fix missing `PyErr_NoMemory()` in `remove_unused_consts` (GH-151127) (#151136)

gh-151126: Fix missing `PyErr_NoMemory()` in `remove_unused_consts` (GH-151127)
(cherry picked from commit 3186547c1ec76e1afab82ec32271ec5b9467fdeb)

Co-authored-by: sobolevn <mail@sobolevn.me>
7 days ago[3.13] gh-124111: Update macOS installer to use Tcl/Tk 8.6.18. (#151125)
Ned Deily [Tue, 9 Jun 2026 05:55:30 +0000 (01:55 -0400)] 
[3.13] gh-124111: Update macOS installer to use Tcl/Tk 8.6.18. (#151125)

7 days ago[3.13] gh-115119: Update macOS installer to use libmpdecimal 4.0.1. (GH-140077) ...
Miss Islington (bot) [Tue, 9 Jun 2026 05:37:44 +0000 (07:37 +0200)] 
[3.13] gh-115119: Update macOS installer to use libmpdecimal 4.0.1. (GH-140077) (#151124)

(cherry picked from commit 8e0bf4fe5d7835ef912758b4eeab6c94794da696)
Co-authored-by: Ned Deily <nad@python.org>
8 days ago[3.13] gh-151070: Fix class referencing typo in collections.abc docs (GH-151088)...
Miss Islington (bot) [Mon, 8 Jun 2026 19:45:16 +0000 (21:45 +0200)] 
[3.13] gh-151070: Fix class referencing typo in collections.abc docs (GH-151088) (GH-151108)

(cherry picked from commit 29a920e80e21490b5bdb7178373f80fe606a4403)

Co-authored-by: Arshal Aromal <arshalaromal19@gmail.com>
8 days ago[3.13] gh-149144: Use `decodeURIComponent()` for UTF-8 support in `js_output()` ...
Stan Ulbrych [Mon, 8 Jun 2026 19:15:21 +0000 (20:15 +0100)] 
[3.13] gh-149144: Use `decodeURIComponent()` for UTF-8 support in `js_output()` (GH-149157) (#150949)

Co-authored-by: Seth Larson <seth@python.org>
8 days ago[3.13] gh-148801: Fix unbound C recursion in `Element.__deepcopy__()` (GH-148802...
Stan Ulbrych [Mon, 8 Jun 2026 19:14:48 +0000 (20:14 +0100)] 
[3.13] gh-148801: Fix unbound C recursion in `Element.__deepcopy__()` (GH-148802) (#148843)

8 days ago[3.13] gh-150633: Properly handle null characters in the name when importing frozen...
Miss Islington (bot) [Mon, 8 Jun 2026 18:55:43 +0000 (20:55 +0200)] 
[3.13] gh-150633: Properly handle null characters in the name when importing frozen modules (GH-150634) (GH-151102)

(cherry picked from commit 54de5475cd753e2519692c3e54af0f150e0a8b62)

Co-authored-by: Thomas Kowalski <thom.kowa@gmail.com>
8 days ago[3.13] gh-150368: Change Windows user group to secure identifier in test_tempfile...
Miss Islington (bot) [Mon, 8 Jun 2026 18:16:44 +0000 (20:16 +0200)] 
[3.13] gh-150368: Change Windows user group to secure identifier in test_tempfile (GH-150369) (#150703)

gh-150368: Change Windows user group to secure identifier in test_tempfile (GH-150369)
(cherry picked from commit 9d64c355b5471e2d27e036d3662e97567d259c61)

Co-authored-by: Dawid Konrad Kohnke <51542233+anytokin@users.noreply.github.com>
8 days ago[3.13] gh-123853: Update locale.windows_locale (GH-123901) (GH-148877)
Miss Islington (bot) [Mon, 8 Jun 2026 17:58:00 +0000 (19:58 +0200)] 
[3.13] gh-123853: Update locale.windows_locale (GH-123901) (GH-148877)

Update the table of Windows language code identifiers (LCIDs) to
protocol version 16.0 (2024-04-23).
(cherry picked from commit bfe6f9f590849f0d9f08a6fe94a5b4e76d8ed29f)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
8 days ago[3.13] gh-151019: Fix test_os on 32-bit FreeBSD (GH-151087) (#151095)
Miss Islington (bot) [Mon, 8 Jun 2026 17:20:57 +0000 (19:20 +0200)] 
[3.13] gh-151019: Fix test_os on 32-bit FreeBSD (GH-151087) (#151095)

gh-151019: Fix test_os on 32-bit FreeBSD (GH-151087)

Remove references to server.handler_instance. This attribute has been
removed in 2022 by commit 3ae975f1ac880c47d51cca6c9e305547bd365be7.
(cherry picked from commit a9002349cbe3f2243fe53a9fcadd02318dd0caf9)

Co-authored-by: Victor Stinner <vstinner@python.org>
8 days ago[3.13] gh-106318: Add examples to the `str.isdigit()` method docs (GH-144721)
Miss Islington (bot) [Mon, 8 Jun 2026 12:58:26 +0000 (14:58 +0200)] 
[3.13] gh-106318: Add examples to the `str.isdigit()` method docs  (GH-144721)

(cherry picked from commit f051c68923b4060b03566d0ea1df06d911ebe238)

Co-authored-by: Adorilson Bezerra <adorilson@gmail.com>
Co-authored-by: Stan Ulbrych <stan@python.org>
8 days ago[3.13] gh-141623: operator.rst: don't use term "bitwise" (GH-141846) (GH-151080)
Miss Islington (bot) [Mon, 8 Jun 2026 12:19:22 +0000 (14:19 +0200)] 
[3.13] gh-141623: operator.rst: don't use term "bitwise" (GH-141846) (GH-151080)

(cherry picked from commit bd5fa31c5ff47866f0f93ef2a674e78d56d2e44c)

Co-authored-by: Doron Behar <doron.behar@gmail.com>
8 days ago[3.13] gh-150599: Prevent bz2 decompressor reuse after errors (GH-150600)
Miss Islington (bot) [Mon, 8 Jun 2026 09:55:32 +0000 (11:55 +0200)] 
[3.13] gh-150599: Prevent bz2 decompressor reuse after errors (GH-150600)

(cherry picked from commit 157a5df8cb5d82b33f918a7489e72ce95ceb12b6)

Co-authored-by: Stan Ulbrych <stan@python.org>
8 days ago[3.13] Docs: Fix missing colon in `bisect` example function (GH-151061) (GH-151069)
Miss Islington (bot) [Mon, 8 Jun 2026 09:45:49 +0000 (11:45 +0200)] 
[3.13] Docs: Fix missing colon in `bisect` example function (GH-151061) (GH-151069)

Docs: Fix missing colon in `bisect` example function (GH-151061)
(cherry picked from commit 16ede813ebad81e41874f1c0a1b3c83fc98a38ca)

Co-authored-by: Sergio López Gómez <sergiolopezgmz.dam@gmail.com>
9 days ago[3.13] Update an error message in the 'Functional Programming HOWTO' (GH-151047)
Miss Islington (bot) [Sun, 7 Jun 2026 17:26:30 +0000 (19:26 +0200)] 
[3.13] Update an error message in the 'Functional Programming HOWTO' (GH-151047)

(cherry picked from commit 81965c1683d7129a70e3fde22ea8a02b9398e227)

Co-authored-by: saber-bit <bryanventura0324@gmail.com>
9 days ago[3.13] gh-148954: Escape methodname in xmlrpc.client.dumps() to prevent XML injection...
Miss Islington (bot) [Sun, 7 Jun 2026 07:53:16 +0000 (09:53 +0200)] 
[3.13] gh-148954: Escape methodname in xmlrpc.client.dumps() to prevent XML injection (GH-148968) (GH-151035)

(cherry picked from commit ab930175e7e909aaa3ec7e761bfdbb886677bebb)

Co-authored-by: Sanyam Kumat <124618873+sanyamk23@users.noreply.github.com>
10 days ago[3.13] gh-50948: IDLE: Warn if saving a file will overwrite a newer version (GH-17578...
Miss Islington (bot) [Sat, 6 Jun 2026 21:12:20 +0000 (23:12 +0200)] 
[3.13] gh-50948: IDLE: Warn if saving a file will overwrite a newer version (GH-17578) (GH-151028)

(cherry picked from commit 69851a64076cc240513b834d87d654064f7ac597)

Co-authored-by: Zackery Spytz <zspytz@gmail.com>
Co-authored-by: Guilherme Polo <ggpolo@gmail.com>
Co-authored-by: Priya Pappachan <priyapappachan010@gmail.com>
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
10 days ago[3.13] Delete mention encoding and errors for importlib.resources.path() (GH-143111...
Miss Islington (bot) [Sat, 6 Jun 2026 11:58:49 +0000 (13:58 +0200)] 
[3.13] Delete mention encoding and errors for importlib.resources.path() (GH-143111) (GH-151016)

(cherry picked from commit fded34d6fe8c300f5625b7fddb86a4c56ecc35c5)

Co-authored-by: Alexander Shadchin <shadchin@yandex-team.com>
10 days ago[3.13] gh-149835: Use realpath() instead of abspath() in shutil.move() (GH-149986...
Miss Islington (bot) [Sat, 6 Jun 2026 10:29:32 +0000 (12:29 +0200)] 
[3.13] gh-149835: Use realpath() instead of abspath() in shutil.move() (GH-149986) (GH-151011)

(cherry picked from commit fab449bddbc4ff03677d49448cf6ea1f9d6a319f)

Co-authored-by: Thomas Kowalski <thom.kowa@gmail.com>
10 days ago[3.13] gh-150207: Raise MemoryError on tokenizer allocation failure instead of crashi...
Miss Islington (bot) [Sat, 6 Jun 2026 02:47:00 +0000 (04:47 +0200)] 
[3.13] gh-150207: Raise MemoryError on tokenizer allocation failure instead of crashing (GH-150275) (#150998)

gh-150207: Raise MemoryError on tokenizer allocation failure instead of crashing (GH-150275)
(cherry picked from commit 262625fa30e5a1b5cf33c9dbce5d2b713093c7be)

Co-authored-by: Grant Herman <grantlouisherman041@gmail.com>
11 days ago[3.13] Use `time.monotonic` in OrderedDict LRU cache example (GH-150986) (#150993)
Miss Islington (bot) [Fri, 5 Jun 2026 22:59:53 +0000 (00:59 +0200)] 
[3.13] Use `time.monotonic` in OrderedDict LRU cache example (GH-150986) (#150993)

Use `time.monotonic` in OrderedDict LRU cache example (GH-150986)
(cherry picked from commit ea4c85552bb7883e1d6c808281c1f46aca86aeab)

Co-authored-by: Ilya Nikolaev <65247719+ilya-nikolaev@users.noreply.github.com>
11 days ago[3.13] gh-150907: Fix dynamic_annotations.h when built with C++ and Valgrind (GH...
Miss Islington (bot) [Fri, 5 Jun 2026 12:29:28 +0000 (14:29 +0200)] 
[3.13] gh-150907: Fix dynamic_annotations.h when built with C++ and Valgrind (GH-150914) (#150964)

gh-150907: Fix dynamic_annotations.h when built with C++ and Valgrind (GH-150914)

Add extern "C++" scope for the C++ template.

Fix test_cppext when Python is built with --with-valgrind.
(cherry picked from commit c32501261aeeb0cc1ad1c53b6be9790ff1d23215)

Co-authored-by: Victor Stinner <vstinner@python.org>
11 days ago[3.13] gh-129011: Update docs for Raw I/O read, readinto, and write (GH-135328) ...
Miss Islington (bot) [Fri, 5 Jun 2026 12:07:39 +0000 (14:07 +0200)] 
[3.13] gh-129011: Update docs for Raw I/O read, readinto, and write (GH-135328) (#150959)

gh-129011: Update docs for Raw I/O read, readinto, and write (GH-135328)

Update `RawIOBase` and `FileIO` documentation to match implementation
behavior around `.read`, `.readinto`, `.readall` and `.write`.

In particular:

 - They may make more than one system call (PEP-475)
 - Add warnings if `.write()` requires a wrapping retry loop (see: gh-126606)
    - "Raw I/O" `.write`` may not write all bytes
    - `buffering=0` example results in a "Raw I/O"
(cherry picked from commit e4db68b9c990ed1bb7562094bee2e73f4450d42b)

Co-authored-by: Cody Maloney <cmaloney@users.noreply.github.com>
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Co-authored-by: Victor Stinner <vstinner@python.org>
12 days ago[3.13] gh-150913: Fix sqlite3.Blob validation for empty slice assignment (GH-150915...
Miss Islington (bot) [Thu, 4 Jun 2026 13:59:11 +0000 (15:59 +0200)] 
[3.13] gh-150913: Fix sqlite3.Blob validation for empty slice assignment (GH-150915) (GH-150925)

ass_subscript_slice() returned early when the computed slice length
was zero, bypassing validation performed for non-empty slices.
(cherry picked from commit fc9c4db1302f8be7527e70cf0938b629985a1d72)

Co-authored-by: Jiseok CHOI <jiseok.dev@gmail.com>
12 days ago[3.13] gh-106318: Add doctest role and a 'See also' to the `str.split()` docs (GH...
Miss Islington (bot) [Thu, 4 Jun 2026 13:23:07 +0000 (15:23 +0200)] 
[3.13] gh-106318: Add doctest role and a 'See also' to the `str.split()` docs (GH-144367)

(cherry picked from commit a96cba5c4aa3cf859a9cacab590fc1a51d6efbbb)

Co-authored-by: Adorilson Bezerra <adorilson@gmail.com>
12 days ago[3.13] Correct Stable ABI documentation for METH_FASTCALL (GH-149593) (GH-150851)
Miss Islington (bot) [Thu, 4 Jun 2026 09:50:19 +0000 (11:50 +0200)] 
[3.13] Correct Stable ABI documentation for METH_FASTCALL (GH-149593) (GH-150851)

The current documentation says:

>
> METH_FASTCALL
>    Part of the Stable ABI since version 3.7.
>
> [...]
>
>   Added in version 3.7.
>
>    Changed in version 3.10: METH_FASTCALL is now part of the stable ABI.

so is contradictory about when it was added to the Stable ABI.  Looking at the header it seems like 3.10 is right.
(cherry picked from commit 58beae7319c58d850184d621d6635de23f71a229)

Co-authored-by: da-woods <dw-git@d-woods.co.uk>
12 days ago[3.13] gh-140553: Mark `*gettext` parameters as positionaly only in documentation...
Miss Islington (bot) [Thu, 4 Jun 2026 08:19:56 +0000 (10:19 +0200)] 
[3.13] gh-140553: Mark `*gettext` parameters as positionaly only in documentation (GH-140598)

(cherry picked from commit 1837c17bc78b8169cd6c1c5799dcf6a71c3eac83)

Co-authored-by: Stan Ulbrych <stan@python.org>
13 days ago[3.13] Docs: Replace hardcoded `SOURCE_URI` with `patchlevel` check (GH-150850) ...
Hugo van Kemenade [Wed, 3 Jun 2026 13:50:07 +0000 (16:50 +0300)] 
[3.13] Docs: Replace hardcoded `SOURCE_URI` with `patchlevel` check (GH-150850) (#150857)

13 days ago[3.13] gh-91099: fix[imaplib]: call Exception with string instance (GH-31823) (#150809)
Miss Islington (bot) [Wed, 3 Jun 2026 13:12:00 +0000 (15:12 +0200)] 
[3.13] gh-91099: fix[imaplib]: call Exception with string instance (GH-31823) (#150809)

* bpo-46943: fix[imaplib]: call Exception with string instance

Adjust the behavior of 'login' to be similar to `authenticate()`,
where self.error is called with a str() instance.
(cherry picked from commit 29805f00a1b65163230d17584c30e2b955086abb)

Co-authored-by: Florian Best <spaceone@users.noreply.github.com>
Co-authored-by: Oleg Iarygin <oleg@arhadthedev.net>
13 days ago[3.13] Fix a typo in `SSLSocket` docs (GH-150839) (GH-150847)
Miss Islington (bot) [Wed, 3 Jun 2026 12:26:03 +0000 (14:26 +0200)] 
[3.13] Fix a typo in `SSLSocket` docs (GH-150839) (GH-150847)

Fix a typo in `SSLSocket` docs (GH-150839)
(cherry picked from commit 5553e003ca56ecc67340962b2d0f7ca561d64197)

Co-authored-by: Robsdedude <dev@rouvenbauer.de>
2 weeks ago[3.13] gh-150319: Replace all documentation which says "See PEP 585" (#150325) (...
Alex Waygood [Tue, 2 Jun 2026 22:26:33 +0000 (23:26 +0100)] 
[3.13] gh-150319: Replace all documentation which says "See PEP 585" (#150325) (#150814)

gh-150319: Replace all documentation which says "See PEP 585" (#150325)

* Replace all documentation which says "See PEP 585"

The following classes in the stdlib get simple updates:

- array.array
- asyncio.Future
- asyncio.Task
- collections.defaultdict
- collections.deque
- contextvars.ContextVar
- contextvars.Token
- ctypes.Array
- os.DirEntry
- re.Match
- re.Pattern
- string.templatelib.Interpolation
- string.templatelib.Template
- types.MappingProxyType
- queue.SimpleQueue
- weakref.ref

The following classes are documented publicly as functions, and are
therefore updated internally (`__class_getitem__.__doc__`) but not in the
public docs:

- functools.partial
- itertools.chain

The following builtin types have updates to `__class_getitem__.__doc__`
but not to any documentation pages:

- BaseExceptionGroup
- coroutines (from generators)
- dict
- enumerate
- frozendict
- frozenset
- generators (and async generators)
- list
- memoryview
- set
- slice
- tuple

Special cases:

- union objects are now documented as "supporting class-level []",
  rather than anything to do with generics.

- Templates might be generic over a single type (union, in theory) or
  over a TypeVarTuple. As this is not currently fully settled, it is
  marked with a comment and a mild hint that it is a single type is used
  (namely, "type" is singular rather than "types", plural)

* Apply suggestions from code review

* Correct several class getitem docs

And expand the text for tuples.

* Add notes on generic typing of builtins

* Fix typo in tuple.__class_getitem__ docstring

* Typo fix: malformed refs

Fix `generic` links which weren't marked as `:ref:`.

* Strike unnecessary docs on generic-ness

* Apply suggestions from code review

These are applied at both the originally indicated locations and in the
corresponding docstring definitions.

* Update Doc/library/re.rst

* Update Objects/enumobject.c

* Remove tuple generic doc in 'stdtypes' page

This is covered in more detail in the cross-linked typing documentation.
The other copy of this documentation -- in the docstring for
`tuple.__class_getitem__` -- is left in place.

* Fix whitespace around new doc of generics

Per review, do not introduce or remove whitespace such that section
breaks are altered by the introduction of doc on various generic types.

In most cases, this is a removal of an extra line.

In one case (Arrays), it is the reintroduction of a line.

Additionally, two other minor fixes are included:
- incorrect indent on 'defaultdicts'
- make `mappingproxy.__class_getitem__.__doc__` consistent with other
  mapping type generic docs

* Move placement of memoryview generic note

Previous placement was at the end of the main docstring, which is
consistent with other types but places it after a section on various
methods (which makes it read somewhat inconsistently). Moving it up
helps resolve.

* Ensure sphinxdoc does not start sentences lowercase

Lowercase class names at the start of sentences are marked out with the
`class` role. In the case of `deque`, documentation already refers to
these as `Deques`, so this form is preferred.

* Apply suggestions from code review

* Fix line endings and wrap more tightly

Line endings fixed by pre-commit ; also re-wrapped the MappingProxyType
text which was too long.

* Use 'ContextVars' style in sphinx doc

---------

Co-authored-by: Stephen Rosen <sirosen@globus.org>
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
Co-authored-by: Jelle Zijlstra <906600+JelleZijlstra@users.noreply.github.com>
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
2 weeks ago[3.13] gh-141627: Fix BufferedRandom inheritance documentation (GH-141629) (GH-150803)
Miss Islington (bot) [Tue, 2 Jun 2026 19:22:45 +0000 (21:22 +0200)] 
[3.13] gh-141627: Fix BufferedRandom inheritance documentation (GH-141629) (GH-150803)

BufferedRandom does not inherit from BufferedReader and BufferedWriter
in the C implementation.
(cherry picked from commit 551bc2cb5ed4719c35ca3ea0f320167dd750389e)

Co-authored-by: Mohsin Mehmood <55545648+mohsinm-dev@users.noreply.github.com>
2 weeks ago[3.13] Fix description of the function parameter of shutil.register_archive_format...
Miss Islington (bot) [Tue, 2 Jun 2026 19:20:16 +0000 (21:20 +0200)] 
[3.13] Fix description of the function parameter of shutil.register_archive_format() (GH-145087) (GH-150806)

(cherry picked from commit 18c6d3ccc32232a28a5288708818ef9c4fecba1a)

Co-authored-by: Brian Schubert <brianm.schubert@gmail.com>
2 weeks ago[3.13] gh-101913: changed wording of docstring for _parsedate_tz (GH-134446) (#150798)
Miss Islington (bot) [Tue, 2 Jun 2026 17:52:09 +0000 (19:52 +0200)] 
[3.13] gh-101913: changed wording of docstring for _parsedate_tz (GH-134446) (#150798)

Fixed incorrect word.
(cherry picked from commit f7e0fb60cfaf31373c0b78e6eb954a0351e92f09)

Co-authored-by: Gustaf <79180496+gostak-dd@users.noreply.github.com>
Co-authored-by: Gustaf <79180496+GGyll@users.noreply.github.com>
2 weeks ago[3.13] gh-149079: Fix O(n^2) canonical ordering in unicodedata.normalize() (GH-149080...
Petr Viktorin [Tue, 2 Jun 2026 16:12:42 +0000 (18:12 +0200)] 
[3.13] gh-149079: Fix O(n^2) canonical ordering in unicodedata.normalize() (GH-149080) (#150780)

Replace the insertion sort used for canonical ordering of combining
characters with a hybrid approach: insertion sort for short runs (< 20)
and counting sort for longer runs, reducing worst-case complexity from
O(n^2) to O(n). This prevents denial of service via crafted Unicode
strings with many combining characters in alternating CCC order.
(cherry picked from commit 991224b1e8311c85f198f6dd8208bf8cff7fc26f)

Co-authored-by: Seth Larson <seth@python.org>
Co-authored-by: ch4n3-yoon <ch4n3.yoon@gmail.com>
Co-authored-by: Seokchan Yoon <13852925+ch4n3-yoon@users.noreply.github.com>
Co-authored-by: Stan Ulbrych <stan@python.org>
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Co-authored-by: Maurycy Pawłowski-Wieroński <maurycy@maurycy.com>
2 weeks ago[3.13] gh-89554: Document _thread.LockType as a class (#150684) (#150786)
Victor Stinner [Tue, 2 Jun 2026 13:13:35 +0000 (15:13 +0200)] 
[3.13] gh-89554: Document _thread.LockType as a class (#150684) (#150786)

gh-89554: Document _thread.LockType as a class (#150684)

_thread.LockType is a class (the type of lock objects), but was documented
with the ".. data::" directive, so ":class:" cross-references to it cannot
resolve against a py:class target.

Switch the entry to ".. class::", move it next to the lock methods, and
document acquire(), release() and locked() as methods of the class.  Keep
the old _thread.lock.* URL fragments working with raw HTML anchors.

(cherry picked from commit e37ce569773b5e4e5c0e6042d4adfde2e9608f13)

Co-authored-by: Bernát Gábor <gaborjbernat@gmail.com>
2 weeks ago[3.13] gh-149738: Fix segmentation fault bug in sqllite3 (#149754) (#150770)
Victor Stinner [Tue, 2 Jun 2026 12:52:30 +0000 (14:52 +0200)] 
[3.13] gh-149738: Fix segmentation fault bug in sqllite3 (#149754) (#150770)

gh-149738: Fix segmentation fault bug in sqllite3 (#149754)

Deleting the `row_factory` or `text_factory` attribute is no longer allowed.

(cherry picked from commit 60fdb3192b897168ec0418fb0ea6c8d2d49ea513)

Co-authored-by: Sepehr Rasouli <sepehrrasouli06@gmail.com>
2 weeks ago[3.13] Fix a typo in 'Exception Handling' C-API documentation (GH-150674)
Manoj K M [Tue, 2 Jun 2026 11:28:12 +0000 (16:58 +0530)] 
[3.13] Fix a typo in 'Exception Handling' C-API documentation (GH-150674)

(cherry picked from commit cee3327b9264a653cdbd2f9bb1ffa74a95be66e9)

2 weeks ago[3.13] gh-123138: Updated email.headerregistry docs to include required keyword parse...
Miss Islington (bot) [Tue, 2 Jun 2026 09:26:18 +0000 (11:26 +0200)] 
[3.13] gh-123138: Updated email.headerregistry docs to include required keyword parse_tree (GH-134450) (GH-150625)

(cherry picked from commit 2c20f9ce17abcbc36a105fd9de0b15797b6401ae)

Co-authored-by: Gustaf <79180496+gostak-dd@users.noreply.github.com>
2 weeks ago[3.13] gh-89554: Document typing.ParamSpecArgs and ParamSpecKwargs as classes (GH...
Miss Islington (bot) [Tue, 2 Jun 2026 08:14:43 +0000 (10:14 +0200)] 
[3.13] gh-89554: Document typing.ParamSpecArgs and ParamSpecKwargs as classes (GH-150677) (GH-150765)

Use the directive "class" instead of "data" for ParamSpecArgs and ParamSpecKwargs.
(cherry picked from commit 35c314d2b7282e729c2d86716fc94e1fe38f25da)

Co-authored-by: Bernát Gábor <gaborjbernat@gmail.com>