]> git.ipfire.org Git - thirdparty/Python/cpython.git/log
thirdparty/Python/cpython.git
3 hours ago[3.14] gh-148508: Add resilience to SSL preauth tests on iOS (GH-148536) (#148539) 3.14
Miss Islington (bot) [Tue, 14 Apr 2026 04:41:37 +0000 (06:41 +0200)] 
[3.14] gh-148508: Add resilience to SSL preauth tests on iOS (GH-148536) (#148539)

Adds handling for a test case seen in the iOS SSL tests where an SSL connection fails to
handshake correctly.
(cherry picked from commit c40e8b016a90820e4d799922903b90a505ffaf55)

Co-authored-by: Russell Keith-Magee <russell@keith-magee.com>
9 hours ago[3.14] gh-148370: prevent quadratic behavior in `configparser.ParsingError.combine...
Miss Islington (bot) [Mon, 13 Apr 2026 22:59:47 +0000 (00:59 +0200)] 
[3.14] gh-148370: prevent quadratic behavior in `configparser.ParsingError.combine` (GH-148452) (#148532)

gh-148370: prevent quadratic behavior in `configparser.ParsingError.combine` (GH-148452)
(cherry picked from commit 2662db0c45aa16232136628457a53681b6683c25)

Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
11 hours ago[3.14] gh-146139: Disable `socketpair` authentication on WASI (GH-146140) (#148526)
Miss Islington (bot) [Mon, 13 Apr 2026 21:34:06 +0000 (23:34 +0200)] 
[3.14] gh-146139: Disable `socketpair` authentication on WASI (GH-146140) (#148526)

gh-146139: Disable `socketpair` authentication on WASI (GH-146140)

Calling `connect(2)` on a non-blocking socket on WASI may leave the socket in a
"connecting" but not yet "connected" state.  In the former case, calling
`getpeername(2)` on it will fail, leading to an unhandled exception in Python.
(cherry picked from commit a5b76d53bb29afd864243f44ef22968f6385dfa0)

Co-authored-by: Joel Dice <joel.dice@akamai.com>
Co-authored-by: Victor Stinner <vstinner@python.org>
Co-authored-by: Brett Cannon <brett@python.org>
13 hours ago[3.14] InternalDocs: Correct struct path for latin1 singletons in `string_interning...
Miss Islington (bot) [Mon, 13 Apr 2026 18:52:55 +0000 (20:52 +0200)] 
[3.14] InternalDocs: Correct struct path for latin1 singletons in `string_interning.md` (GH-148358) (#148492)

(cherry picked from commit 0274d8304e5eec23de100d827eb4da06ab7fd8aa)

Co-authored-by: Stan Ulbrych <stan@python.org>
14 hours ago[3.14] gh-148393: Use acquire load for _ma_watcher_tag in dict notify event (gh-14850...
Miss Islington (bot) [Mon, 13 Apr 2026 18:38:15 +0000 (20:38 +0200)] 
[3.14] gh-148393: Use acquire load for _ma_watcher_tag in dict notify event (gh-148509) (#148512)

The watcher-bits read in _PyDict_NotifyEvent needs to use acquire to
synchronize with the release from PyDict_Watch so that the callback
publication is visible before the callback is invoked.
(cherry picked from commit 19f96f99febe9eadbcc58ffc042791fb017ac90b)

Co-authored-by: Sam Gross <colesbury@gmail.com>
14 hours ago[3.14] Fix "encodings" typo in argparse.FileType documentation (GH-148502) (#148513)
Miss Islington (bot) [Mon, 13 Apr 2026 18:33:28 +0000 (20:33 +0200)] 
[3.14] Fix "encodings" typo in argparse.FileType documentation (GH-148502) (#148513)

Fix "encodings" typo in argparse.FileType documentation (GH-148502)
(cherry picked from commit 8ecb6b8b0cff4105c4cca408409fb7a2fadc8b77)

Co-authored-by: Gleb Popov <gvpopov.dev@gmail.com>
30 hours ago[3.14] gh-148395: Fix a possible UAF in `{LZMA,BZ2,_Zlib}Decompressor` (GH-148396...
Miss Islington (bot) [Mon, 13 Apr 2026 01:40:54 +0000 (03:40 +0200)] 
[3.14] gh-148395: Fix a possible UAF in `{LZMA,BZ2,_Zlib}Decompressor` (GH-148396) (#148480)

gh-148395: Fix a possible UAF in `{LZMA,BZ2,_Zlib}Decompressor` (GH-148396)

Fix dangling input pointer after `MemoryError` in _lzma/_bz2/_ZlibDecompressor.decompress
(cherry picked from commit 8fc66aef6d7b3ae58f43f5c66f9366cc8cbbfcd2)

Co-authored-by: Stan Ulbrych <stan@python.org>
31 hours ago[3.14] gh-146450: Ensure Android gradle build uses custom cross-build dir (GH-148319...
Miss Islington (bot) [Mon, 13 Apr 2026 01:13:49 +0000 (03:13 +0200)] 
[3.14] gh-146450: Ensure Android gradle build uses custom cross-build dir (GH-148319) (#148470)

Ensures that the testbed's Gradle configuration uses the cross-build environment
variable, and that variable is passed to Gradle by the cross-build script.
(cherry picked from commit b29afe62f7236f7161c2670dccc24368217a7fb1)

Co-authored-by: Russell Keith-Magee <russell@keith-magee.com>
Co-authored-by: Malcolm Smith <smith@chaquo.com>
31 hours ago[3.14] tests: use errno.EBADF instead of hardcoded number in _close_file() (GH-148345...
Miss Islington (bot) [Mon, 13 Apr 2026 01:13:14 +0000 (03:13 +0200)] 
[3.14] tests: use errno.EBADF instead of hardcoded number in _close_file() (GH-148345) (#148410)

tests: use errno.EBADF instead of hardcoded number in _close_file() (GH-148345)

test_interpreters: use errno.EBADF instead of hardcoded number in _close_file()

Replace the hardcoded `9` check in `Lib/test/test_interpreters/utils.py` with `errno.EBADF`.

Using `errno.EBADF` makes the helper portable across platforms with different errno numbering while preserving the intended behavior.
(cherry picked from commit cef334fd4c4c24a542ce81ad940b1426b5a7cdbd)

Co-authored-by: Artem Yarulin <artem.yarulin@kapteko.com>
34 hours ago[3.14] gh-105936: Properly update closure cells for `__setattr__` and `__delattr__...
Miss Islington (bot) [Sun, 12 Apr 2026 21:45:43 +0000 (23:45 +0200)] 
[3.14] gh-105936: Properly update closure cells for `__setattr__` and `__delattr__` in frozen dataclasses with slots (GH-144021) (#148469)

gh-105936: Properly update closure cells for `__setattr__` and `__delattr__` in frozen dataclasses with slots (GH-144021)
(cherry picked from commit 8a398bfbbc6769f6cabb3177702e7a506e203d61)

Co-authored-by: Prometheus3375 <prometheus3375@gmail.com>
Co-authored-by: Sviataslau <35541026+Prometheus3375@users.noreply.github.com>
39 hours ago[3.14] gh-146313: Fix multiprocessing ResourceTracker deadlock after os.fork() (GH...
Miss Islington (bot) [Sun, 12 Apr 2026 17:08:23 +0000 (19:08 +0200)] 
[3.14] gh-146313: Fix multiprocessing ResourceTracker deadlock after os.fork() (GH-146316) (#148425)

gh-146313: Fix multiprocessing ResourceTracker deadlock after os.fork() (GH-146316)

`ResourceTracker.__del__` (added in gh-88887 circa Python 3.12) calls
os.waitpid(pid, 0) which blocks indefinitely if a process created via os.fork()
still holds the tracker pipe's write end. The tracker never sees EOF, never
exits, and the parent hangs at interpreter shutdown.

Fix with two layers:

- **At-fork handler.** An os.register_at_fork(after_in_child=...)
  handler closes the inherited pipe fd in the child unless a preserve
  flag is set. popen_fork.Popen._launch() sets the flag before its
  fork so mp.Process(fork) children keep the fd and reuse the parent's
  tracker (preserving gh-80849). Raw os.fork() children close the fd,
  letting the parent reap promptly.

- **Timeout safety-net.** _stop_locked() gains a wait_timeout
  parameter. When called from `__del__`, it polls with WNOHANG using
  exponential backoff for up to 1 second instead of blocking
  indefinitely. The at-fork handler makes this unreachable in
  well-behaved paths; it remains for abnormal shutdowns.
(cherry picked from commit 3a7df632c96eb6c5de12fac08d1da42df9e25334)

Co-authored-by: Gregory P. Smith <68491+gpshead@users.noreply.github.com>
Co-authored-by: Itamar Oren <itamarost@gmail.com>
41 hours ago[3.14] gh-148393: Use atomic ops on _ma_watcher_tag in free threading build (gh-14839...
Miss Islington (bot) [Sun, 12 Apr 2026 15:05:34 +0000 (17:05 +0200)] 
[3.14] gh-148393: Use atomic ops on _ma_watcher_tag in free threading build (gh-148397) (#148451)

Fixes data races between dict mutation and watch/unwatch on the same dict.
(cherry picked from commit 3ab94d684286b49144bf2e43cc1041f3e4c0cda8)

Co-authored-by: Sam Gross <colesbury@gmail.com>
2 days ago[3.14] gh-148208: Fix recursion depth leak in `PyObject_Print` (GH-148209) (#148412)
Miss Islington (bot) [Sun, 12 Apr 2026 00:52:21 +0000 (02:52 +0200)] 
[3.14] gh-148208: Fix recursion depth leak in `PyObject_Print` (GH-148209) (#148412)

gh-148208: Fix recursion depth leak in `PyObject_Print` (GH-148209)
(cherry picked from commit e2fa10e04d3fed4c248881d69411fc208d05ad6b)

Co-authored-by: Wulian233 <1055917385@qq.com>
2 days ago[3.14] gh-147965: Add shutdown() to multiprocessing.Queue excluded methods (GH-147970...
Miss Islington (bot) [Sun, 12 Apr 2026 00:51:58 +0000 (02:51 +0200)] 
[3.14] gh-147965: Add shutdown() to multiprocessing.Queue excluded methods (GH-147970) (#148416)

gh-147965: Add shutdown() to multiprocessing.Queue excluded methods (GH-147970)

The multiprocessing.Queue documentation states it implements all
methods of queue.Queue except task_done() and join(). Since
queue.Queue.shutdown() was added in Python 3.13,
multiprocessing.Queue also does not implement it. Update the docs
to include shutdown() in the list of excluded methods.
(cherry picked from commit 22290ed011a8ac4060390e57f53053ab932fb3f3)

Co-authored-by: WYSIATI <chester.lee.cold@gmail.com>
2 days ago[3.14] gh-148337: Document `importlib.resources` security model (GH-148340) (#148356)
Miss Islington (bot) [Sun, 12 Apr 2026 00:10:41 +0000 (02:10 +0200)] 
[3.14] gh-148337: Document `importlib.resources` security model (GH-148340) (#148356)

gh-148337: Document `importlib.resources` security model (GH-148340)
(cherry picked from commit 70b86e7829c42d36c80853ba9bf1da0d8464065b)

Co-authored-by: Stan Ulbrych <stan@python.org>
2 days ago[3.14] Default GHA permissions to `contents: read` (GH-148346) (#148386)
Hugo van Kemenade [Sun, 12 Apr 2026 00:06:34 +0000 (03:06 +0300)] 
[3.14] Default GHA permissions to `contents: read` (GH-148346) (#148386)

(cherry picked from commit 9c9df8ac8cbb8f539b3f342d01e40b7a0a57dcbf)

2 days ago[3.14] gh-146333: Fix quadratic regex backtracking in configparser option parsing...
Miss Islington (bot) [Sun, 12 Apr 2026 00:05:10 +0000 (02:05 +0200)] 
[3.14] gh-146333: Fix quadratic regex backtracking in configparser option parsing (GH-146399) (#148287)

gh-146333: Fix quadratic regex backtracking in configparser option parsing (GH-146399)

Use negative lookahead in option regex to prevent backtracking, and to avoid changing logic outside the regexes (since people could use the regex directly).
(cherry picked from commit 7e0a0be4097f9d29d66fe23f5af86f18a34ed7dd)

Co-authored-by: Joshua Swanson <22283299+joshuaswanson@users.noreply.github.com>
2 days ago[3.14] gh-145105: Fix crash in csv.reader with re-entrant iterator (GH-145106) (...
Miss Islington (bot) [Sat, 11 Apr 2026 22:46:26 +0000 (00:46 +0200)] 
[3.14] gh-145105: Fix crash in csv.reader with re-entrant iterator (GH-145106) (#148404)

gh-145105: Fix crash in csv.reader with re-entrant iterator (GH-145106)

When a custom iterator calls next() on the same csv.reader from
within __next__, the inner iteration sets self->fields to NULL.
The outer iteration then crashes in parse_save_field() by passing
NULL to PyList_Append.

Add a guard after PyIter_Next() to detect that fields was set to
NULL by a re-entrant call, and raise csv.Error instead of crashing.
(cherry picked from commit 20994b1809f9c162e4cae01a5af08bd492ede9f9)

Co-authored-by: Ramin Farajpour Cami <ramin.blackhat@gmail.com>
2 days ago[3.14] gh-146264: Use static HACL deps for static module builds (GH-146265) (#148403)
Miss Islington (bot) [Sat, 11 Apr 2026 21:54:29 +0000 (23:54 +0200)] 
[3.14] gh-146264: Use static HACL deps for static module builds (GH-146265) (#148403)

gh-146264: Use static HACL deps for static module builds (GH-146265)
(cherry picked from commit f445d2e8666c5585d613add075cabe2abc7f972b)

Co-authored-by: Ihar Hrachyshka <ihar.hrachyshka@gmail.com>
2 days ago[3.14] gh-142518: add thread safety docs for dict and set APIs (#148392)
Kumar Aditya [Sat, 11 Apr 2026 16:22:38 +0000 (21:52 +0530)] 
[3.14] gh-142518: add thread safety docs for dict and set APIs (#148392)

Co-authored-by: Lysandros Nikolaou <lisandrosnik@gmail.com>
Co-authored-by: Victor Stinner <vstinner@python.org>
2 days ago[3.14] gh-148320: document that `import sys.monitoring` raises `ModuleNotFoundError...
Miss Islington (bot) [Sat, 11 Apr 2026 15:30:24 +0000 (17:30 +0200)] 
[3.14] gh-148320: document that `import sys.monitoring` raises `ModuleNotFoundError` (GH-148365) (#148385)

gh-148320: document that `import sys.monitoring` raises `ModuleNotFoundError` (GH-148365)
(cherry picked from commit d7c9f1877cbd733d6c0fda395a9fcf78171f51b0)

Co-authored-by: Jonathan Dung <jonathandung@yahoo.com>
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
3 days ago[3.14] gh-148037: remove critical section from `PyCode_Addr2Line` (GH… (#148353)
Kumar Aditya [Fri, 10 Apr 2026 18:29:38 +0000 (23:59 +0530)] 
[3.14] gh-148037: remove critical section from `PyCode_Addr2Line` (GH… (#148353)

[3.14] gh-148037: remove critical section from `PyCode_Addr2Line` (GH-148103)
(cherry picked from commit d3b7b93cbbbf53061a95eb60cc116c9fec31c5b4)

3 days ago[3.14] gh-148284: Block inlining of gigantic functions in ceval.c for clang 22 (GH...
Miss Islington (bot) [Fri, 10 Apr 2026 17:32:26 +0000 (19:32 +0200)] 
[3.14] gh-148284: Block inlining of gigantic functions in ceval.c for clang 22 (GH-148334) (GH-148349)

gh-148284: Block inlining of gigantic functions in ceval.c for clang 22 (GH-148334)
(cherry picked from commit e007631e9949ab806742eb61076112e9e2e3e22e)

Co-authored-by: Ken Jin <kenjin@python.org>
Co-authored-by: Victor Stinner <vstinner@python.org>
3 days ago[3.14] Fix mixed line endings with pre-commit (GH-148336) (#148338)
Hugo van Kemenade [Fri, 10 Apr 2026 15:36:12 +0000 (18:36 +0300)] 
[3.14] Fix mixed line endings with pre-commit (GH-148336) (#148338)

Co-authored-by: Zachary Ware <zachary.ware@gmail.com>
3 days ago[3.14] gh-145831: email.quoprimime: `decode()` leaves stray `\r` when `eol='\r\n...
Miss Islington (bot) [Fri, 10 Apr 2026 12:49:59 +0000 (14:49 +0200)] 
[3.14] gh-145831: email.quoprimime: `decode()` leaves stray `\r` when `eol='\r\n'` (GH-145832) (#148312)

decoded[:-1] only strips one character, leaving a stray \r when eol
is two characters. Fix: decoded[:-len(eol)].
(cherry picked from commit 1a0edb1fa899c067f19b09598b45cdb6e733c4ee)

Co-authored-by: Stefan Zetzsche <120379523+stefanzetzsche@users.noreply.github.com>
4 days ago[3.14] gh-148091: clarify asyncio.Future.cancel(msg) behaviour (GH-148248) (#148299)
Miss Islington (bot) [Thu, 9 Apr 2026 15:21:16 +0000 (17:21 +0200)] 
[3.14] gh-148091: clarify asyncio.Future.cancel(msg) behaviour (GH-148248) (#148299)

gh-148091: clarify asyncio.Future.cancel(msg) behaviour (GH-148248)
(cherry picked from commit 2acb8d9257c4f5049777d9d462092373b0b3feca)

Co-authored-by: Manoj K M <136242596+manoj-k-m@users.noreply.github.com>
4 days ago[3.14] gh-148254: Use singular "sec" in timeit verbose output (GH-148290) (#148303)
Hugo van Kemenade [Thu, 9 Apr 2026 15:17:55 +0000 (18:17 +0300)] 
[3.14] gh-148254: Use singular "sec" in timeit verbose output (GH-148290) (#148303)

Co-authored-by: gaweng <38250674+gaweng@users.noreply.github.com>
4 days ago[3.14] gh-148067: Fix typo in asyncio event loop docs: 'signals' -> 'signal' (GH...
Miss Islington (bot) [Thu, 9 Apr 2026 14:07:55 +0000 (16:07 +0200)] 
[3.14] gh-148067: Fix typo in asyncio event loop docs: 'signals' -> 'signal' (GH-148073) (#148246)

Co-authored-by: TT <70463940+Herrtian@users.noreply.github.com>
4 days ago[3.14] gh-148274: properly handle result from `PyObject_VisitManagedDict` (GH-148275...
Miss Islington (bot) [Thu, 9 Apr 2026 13:49:09 +0000 (15:49 +0200)] 
[3.14] gh-148274: properly handle result from `PyObject_VisitManagedDict` (GH-148275) (#148295)

gh-148274: properly handle result from `PyObject_VisitManagedDict` (GH-148275)
(cherry picked from commit ee2775cfae6bce18541e18797b67e09f2d12f72b)

Co-authored-by: Max Bachmann <kontakt@maxbachmann.de>
4 days ago[3.14] gh-106318: Add example for str.swapcase() method (GH-144575) (#148296)
Miss Islington (bot) [Thu, 9 Apr 2026 13:39:39 +0000 (15:39 +0200)] 
[3.14] gh-106318: Add example for str.swapcase() method (GH-144575) (#148296)

Co-authored-by: Adorilson Bezerra <adorilson@gmail.com>
4 days ago[3.14] gh-148250: Mention str subclasses in PyUnicodeWriter_WriteStr() doc (GH-148251...
Miss Islington (bot) [Thu, 9 Apr 2026 11:59:06 +0000 (13:59 +0200)] 
[3.14] gh-148250: Mention str subclasses in PyUnicodeWriter_WriteStr() doc (GH-148251) (#148293)

gh-148250: Mention str subclasses in PyUnicodeWriter_WriteStr() doc (GH-148251)
(cherry picked from commit 8c524503cd728d609d63d9024a9e2c418ba71f40)

Co-authored-by: Victor Stinner <vstinner@python.org>
4 days ago[3.14] gh-146646: Document that glob functions suppress OSError (GH-147996) (#148288)
Miss Islington (bot) [Thu, 9 Apr 2026 11:00:23 +0000 (13:00 +0200)] 
[3.14] gh-146646: Document that glob functions suppress OSError (GH-147996) (#148288)

gh-146646: Document that glob functions suppress OSError (GH-147996)
(cherry picked from commit 8000a9de3c0b22f8202898a424c1008e13bd16ce)

Co-authored-by: WYSIATI <chester.lee.cold@gmail.com>
5 days ago[3.14] gh-70039: smtplib: store the server name in ._host in .connect() (GH-115259...
Miss Islington (bot) [Wed, 8 Apr 2026 22:14:15 +0000 (00:14 +0200)] 
[3.14] gh-70039: smtplib: store the server name in ._host in .connect() (GH-115259) (#148273)

Original patch by gigaplastik, extended with a few more tests.

Addresses gh-70039 and bpo-25852: failure of starttls if connect is called explicitly.
(cherry picked from commit 442f83a5ea1b4d334befd231a79c40d6ff41a0bd)

Co-authored-by: nmartensen <nis.martensen@web.de>
5 days ago[3.14] Minor edit: Four space indent in example (gh-148264) (gh-148265)
Miss Islington (bot) [Wed, 8 Apr 2026 17:55:20 +0000 (19:55 +0200)] 
[3.14] Minor edit: Four space indent in example (gh-148264) (gh-148265)

6 days ago[3.14] gh-146458: Fix REPL height and width tracking on resize (GH-146459) (#148232)
Miss Islington (bot) [Tue, 7 Apr 2026 21:37:46 +0000 (23:37 +0200)] 
[3.14] gh-146458: Fix REPL height and width tracking on resize (GH-146459) (#148232)

gh-146458: Fix REPL height and width tracking on resize (GH-146459)
(cherry picked from commit 0b20bff386141ee0e8c62da8366f674bad17e048)

Co-authored-by: Gabriel Volles Marinho <147559808+GabrielvMarinho@users.noreply.github.com>
Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
Co-authored-by: Victor Stinner <vstinner@python.org>
6 days agoPost 3.14.4
Hugo van Kemenade [Tue, 7 Apr 2026 17:46:24 +0000 (20:46 +0300)] 
Post 3.14.4

6 days agoPython 3.14.4 v3.14.4
Hugo van Kemenade [Tue, 7 Apr 2026 13:12:57 +0000 (16:12 +0300)] 
Python 3.14.4

6 days ago[3.14] GH-146128: Remove the buggy AArch64 "33rx" relocation (GH-146263) (#148198)
Hugo van Kemenade [Tue, 7 Apr 2026 11:05:47 +0000 (14:05 +0300)] 
[3.14] GH-146128: Remove the buggy AArch64 "33rx" relocation (GH-146263) (#148198)

Co-authored-by: Brandt Bucher <brandt@python.org>
6 days ago[3.14] gh-146121: Clarify security model of pkgutil.getdata (GH-148197) (GH-148206)
Miss Islington (bot) [Tue, 7 Apr 2026 10:48:29 +0000 (12:48 +0200)] 
[3.14] gh-146121: Clarify security model of pkgutil.getdata (GH-148197) (GH-148206)

(cherry picked from commit cf59bf76470f3d75ad47d80ffb8ce76b64b5e943)

Co-authored-by: Petr Viktorin <encukou@gmail.com>
Co-authored-by: Stan Ulbrych <stan@python.org>
7 days ago[3.14] gh-144503: Pass sys.argv to forkserver as real argv elements (GH-148194) ...
Gregory P. Smith [Tue, 7 Apr 2026 06:19:32 +0000 (23:19 -0700)] 
[3.14] gh-144503: Pass sys.argv to forkserver as real argv elements (GH-148194) (#148195)

Avoid embedding the parent's sys.argv into the forkserver -c command
string via repr().  When sys.argv is large (e.g. thousands of file
paths from a pre-commit hook), the resulting single argument could
exceed the OS per-argument length limit (MAX_ARG_STRLEN on Linux,
typically 128 KiB), causing posix_spawn to fail and the parent to
observe a BrokenPipeError.

Instead, append the argv entries as separate command-line arguments
after -c; the forkserver child reads them back as sys.argv[1:].  This
cannot exceed any limit the parent itself did not already satisfy.

Regression introduced by gh-143706 / 298d5440eb8.
(cherry picked from commit 5e9d90b615b94469081b39a7b0808fea86c417be)

7 days ago[3.14] gh-137586: Open external osascript program with absolute path (GH-137584)...
Miss Islington (bot) [Tue, 7 Apr 2026 03:35:12 +0000 (05:35 +0200)] 
[3.14] gh-137586: Open external osascript program with absolute path (GH-137584) (#148173)

Co-authored-by: Fionn <1897918+fionn@users.noreply.github.com>
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
7 days ago[3.14] gh-146613: Fix re-entrant use-after-free in `itertools._grouper` (GH-147962...
Miss Islington (bot) [Mon, 6 Apr 2026 15:23:08 +0000 (17:23 +0200)] 
[3.14] gh-146613: Fix re-entrant use-after-free in `itertools._grouper` (GH-147962) (#148010)

gh-146613: Fix re-entrant use-after-free in `itertools._grouper` (GH-147962)
(cherry picked from commit fc7a188fe70a7b98696b4fcee8db9eb8398aeb7b)

Co-authored-by: Ma Yukun <68433685+TheSkyC@users.noreply.github.com>
7 days ago[3.14] gh-148157: Check for `_PyPegen_add_type_comment_to_arg` fail in `_PyPegen_name...
Miss Islington (bot) [Mon, 6 Apr 2026 12:22:33 +0000 (14:22 +0200)] 
[3.14] gh-148157: Check for `_PyPegen_add_type_comment_to_arg` fail in `_PyPegen_name_default_pair` (GH-148158) (#148162)

(cherry picked from commit 1795fccfbc7ccb89ead5c529b2f55f54622d1314)

Co-authored-by: Stan Ulbrych <stan@python.org>
7 days ago[3.14] Docs: Update "Installing Python modules" (GH-146249) (#148159)
Miss Islington (bot) [Mon, 6 Apr 2026 11:28:07 +0000 (13:28 +0200)] 
[3.14] Docs: Update "Installing Python modules" (GH-146249) (#148159)

Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
8 days ago[3.14] gh-144418: Increase Android testbed emulator RAM to 4 GB (GH-148054) (#148150)
Miss Islington (bot) [Mon, 6 Apr 2026 06:09:14 +0000 (08:09 +0200)] 
[3.14] gh-144418: Increase Android testbed emulator RAM to 4 GB (GH-148054) (#148150)

Pre-create the Android emulator image so that the the configuration can be
modified to use 4GB of RAM.
(cherry picked from commit a95ee3a21d97afdbe6bd2ce4cd8343a36cd13b02)

Co-authored-by: Malcolm Smith <smith@chaquo.com>
8 days ago[3.14] gh-148144: Initialize visited on copied interpreter frames (GH-148143) (#148147)
Miss Islington (bot) [Sun, 5 Apr 2026 23:49:47 +0000 (01:49 +0200)] 
[3.14] gh-148144: Initialize visited on copied interpreter frames (GH-148143) (#148147)

gh-148144: Initialize visited on copied interpreter frames (GH-148143)

_PyFrame_Copy() copied interpreter frames into generator and
frame-object storage without initializing the visited byte. Incremental
GC later reads frame->visited in mark_stacks() on non-start passes, so
copied frames could expose an uninitialized value once they became live
on a thread stack again.

Reset visited when copying a frame so copied frames start with defined
GC bookkeeping state. Preserve lltrace in Py_DEBUG builds.
(cherry picked from commit fbfc6ccb0abf362a0ecdc02cd0aa2d16c1a4ce44)

Co-authored-by: Pablo Galindo Salgado <Pablogsal@gmail.com>
8 days ago[3.14] gh-145098: Use `macos-15-intel` instead of unstable `macos-26-intel` in `...
Miss Islington (bot) [Sun, 5 Apr 2026 20:07:16 +0000 (22:07 +0200)] 
[3.14] gh-145098: Use `macos-15-intel` instead of unstable `macos-26-intel` in `{jit,tail-call}.yml` (GH-148126) (#148135)

Co-authored-by: Stan Ulbrych <stan@python.org>
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
8 days ago[3.14] gh-94632: document the subprocess need for extra_groups=() with user= (GH...
Miss Islington (bot) [Sun, 5 Apr 2026 18:13:29 +0000 (20:13 +0200)] 
[3.14] gh-94632: document the subprocess need for extra_groups=() with user= (GH-148129) (#148130)

gh-94632: document the subprocess need for extra_groups=() with user= (GH-148129)
(cherry picked from commit a1cf4430ed89ec702528ef074138c407ccf89946)

Co-authored-by: Gregory P. Smith <68491+gpshead@users.noreply.github.com>
9 days ago[3.14] Add `permissions: {}` to all reusable workflows (#148114) (#148115)
Ezio Melotti [Sat, 4 Apr 2026 23:46:39 +0000 (07:46 +0800)] 
[3.14] Add `permissions: {}` to all reusable workflows (#148114) (#148115)

Add `permissions: {}` to all reusable workflows (#148114)

Add permissions: {} to all reusable workflows

(cherry picked from commit 1f36a510a2a16e8ff15572f44090c7db43bb7935)

9 days ago[3.14] Docs: Standardize documentation authors (GH-148102) (#148104)
Miss Islington (bot) [Sat, 4 Apr 2026 18:11:45 +0000 (20:11 +0200)] 
[3.14] Docs: Standardize documentation authors (GH-148102) (#148104)

(cherry picked from commit 75be902a13c670a1ea16aee3644548723b7d7407)

Co-authored-by: Stan Ulbrych <stan@python.org>
9 days ago[3.14] Docs: Fix a typo in the 'Non-ASCII characters in names' section (GH-148043...
Miss Islington (bot) [Sat, 4 Apr 2026 16:51:39 +0000 (18:51 +0200)] 
[3.14] Docs: Fix a typo in the 'Non-ASCII characters in names' section (GH-148043) (#148099)

(cherry picked from commit b1d2d9829cfb33f0487ce00c19fa57ddefeb1b50)

Co-authored-by: Stan Ulbrych <stan@python.org>
9 days ago[3.14] Regex HOWTO: invalid string literals result in `SyntaxWarning` (GH-148092...
Miss Islington (bot) [Sat, 4 Apr 2026 16:19:38 +0000 (18:19 +0200)] 
[3.14] Regex HOWTO: invalid string literals result in `SyntaxWarning` (GH-148092) (#148097)

Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
9 days ago[3.14] gh-145883: Fix two heap-buffer-overflows in `_zoneinfo` (GH-145885) (#148087)
Miss Islington (bot) [Sat, 4 Apr 2026 16:13:13 +0000 (18:13 +0200)] 
[3.14] gh-145883: Fix two heap-buffer-overflows in `_zoneinfo` (GH-145885) (#148087)

(cherry picked from commit fe9befc1ca7eac36749ec358969464334381b9f9)

Co-authored-by: Stan Ulbrych <stan@python.org>
9 days ago[3.14] gh-148074: Fix `typeobject.c` missing error return (GH-148075) (#148095)
Miss Islington (bot) [Sat, 4 Apr 2026 16:01:34 +0000 (18:01 +0200)] 
[3.14] gh-148074: Fix `typeobject.c` missing error return (GH-148075) (#148095)

gh-148074: Fix `typeobject.c` missing error return (GH-148075)
(cherry picked from commit c398490fbf15ede5de3389b4ca4e32fb9a7c5d67)

Co-authored-by: Wulian233 <1055917385@qq.com>
9 days ago[3.14] gh-145098: Use `macos-15-intel` instead of unstable `macos-26-intel` (GH-14803...
Miss Islington (bot) [Sat, 4 Apr 2026 10:02:44 +0000 (12:02 +0200)] 
[3.14] gh-145098: Use `macos-15-intel` instead of unstable `macos-26-intel` (GH-148038) (#148076)

Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
10 days ago[3.14] gh-143394: Skip pyrepl test_no_newline() basic REPL if readline is missing...
Miss Islington (bot) [Sat, 4 Apr 2026 08:38:43 +0000 (10:38 +0200)] 
[3.14] gh-143394: Skip pyrepl test_no_newline() basic REPL if readline is missing (GH-147973) (#148005)

gh-143394: Skip pyrepl test_no_newline() basic REPL if readline is missing (GH-147973)
(cherry picked from commit 97babb8ef70c1c25768a0e534cfb10955c6b290d)

Co-authored-by: Victor Stinner <vstinner@python.org>
10 days ago[3.14] gh-146450: Normalise feature set of Android build script with other platform...
Miss Islington (bot) [Sat, 4 Apr 2026 04:27:49 +0000 (06:27 +0200)] 
[3.14] gh-146450: Normalise feature set of Android build script with other platform build scripts (GH-146451) (#148065)

Allows for cleaning a subset of targets, customization of the download cache and
cross-build directories, and modifies the build command to allow 'all', 'build'
and 'hosts' targets.
(cherry picked from commit b8470deb5d52f524ae18c6f232fecfc99b133397)

Co-authored-by: Russell Keith-Magee <russell@keith-magee.com>
10 days ago[3.14] gh-146541: Allow building the Android testbed for 32-bit targets (GH-146542...
Russell Keith-Magee [Sat, 4 Apr 2026 03:58:20 +0000 (11:58 +0800)] 
[3.14] gh-146541: Allow building the Android testbed for 32-bit targets (GH-146542) (#148064)

Allows building the Android testbed for 32-bit targets, adding the target triplets
`arm-linux-androideabi` and `i686-linux-android`.
(cherry picked from commit 848bbe9ff21ae0a3ee412cc25843835ace4f75df)

Co-authored-by: Robert Kirkman <31490854+robertkirkman@users.noreply.github.com>
Co-authored-by: Malcolm Smith <smith@chaquo.com>
10 days ago[3.14] gh-126676: Expand argparse docs for type=bool with warning and alternatives...
Miss Islington (bot) [Fri, 3 Apr 2026 19:10:19 +0000 (21:10 +0200)] 
[3.14] gh-126676: Expand argparse docs for type=bool with warning and alternatives (GH-146435) (#148048)

gh-126676: Expand argparse docs for type=bool with warning and alternatives (GH-146435)
(cherry picked from commit 80d0a85d969d305c7436dc54f8939d7b6f441b5f)

Co-authored-by: Joshua Swanson <22283299+joshuaswanson@users.noreply.github.com>
Co-authored-by: joshuaswanson <joshuaswanson@users.noreply.github.com>
Co-authored-by: Savannah Ostrowski <savannah@python.org>
10 days ago[3.14] gh-143930: Tweak the exception message and increase test coverage (GH-146476...
Miss Islington (bot) [Fri, 3 Apr 2026 16:28:52 +0000 (18:28 +0200)] 
[3.14] gh-143930: Tweak the exception message and increase test coverage (GH-146476) (GH-148042)

(cherry picked from commit 3681d47a440865aead912a054d4599087b4270dd)

Co-authored-by: Łukasz Langa <lukasz@langa.pl>
10 days ago[3.14] gh-125895: Fix static asset location for `sphinx-notfound-page` (GH-147984...
Miss Islington (bot) [Fri, 3 Apr 2026 15:40:12 +0000 (17:40 +0200)] 
[3.14] gh-125895: Fix static asset location for `sphinx-notfound-page` (GH-147984) (#148040)

(cherry picked from commit 80ab6d958a0e4aa322aaf96994c43cd637496be6)

Co-authored-by: Stan Ulbrych <stan@python.org>
10 days ago[3.14] gh-148022: Add threat model to remote debugging docs (GH-148024) (#148039)
Miss Islington (bot) [Fri, 3 Apr 2026 14:34:36 +0000 (16:34 +0200)] 
[3.14] gh-148022: Add threat model to remote debugging docs (GH-148024) (#148039)

gh-148022: Add threat model to remote debugging docs (GH-148024)

The remote debugging protocol has been generating spurious
vulnerability reports from automated scanners that pattern-match
on "remote access" and "memory operations" without understanding
the privilege model. This section documents the security boundaries
so reporters can self-triage before submitting.

The threat model clarifies three points: attaching requires the
same OS-level privileges as GDB (ptrace, task_for_pid, or
SeDebugPrivilege), crashes caused by reading corrupted target
process memory are not security issues, and a compromised target
process is out of scope. A subsection explains when operators
should use PYTHON_DISABLE_REMOTE_DEBUG for defence-in-depth.
(cherry picked from commit edab6860a7d6c49b5d5762e1c094aa0261245a9c)

Co-authored-by: Pablo Galindo Salgado <Pablogsal@gmail.com>
11 days ago[3.14] gh-146907: Clarify ABI compatibility between debug and release builds (GH...
Miss Islington (bot) [Fri, 3 Apr 2026 08:02:36 +0000 (10:02 +0200)] 
[3.14] gh-146907: Clarify ABI compatibility between debug and release builds (GH-146925) (GH-147971)

(cherry picked from commit 03f3b9ade975e78a31bf776ff27ac6ac22fcb65a)

Co-authored-by: konsti <konstin@mailbox.org>
11 days ago[3.14] gh-142533: Document CRLF injection vulnerabilities in http.server doc (GH...
Miss Islington (bot) [Thu, 2 Apr 2026 21:32:48 +0000 (23:32 +0200)] 
[3.14] gh-142533: Document CRLF injection vulnerabilities in http.server doc (GH-143395) (#148020)

gh-142533: Document CRLF injection vulnerabilities in http.server doc (GH-143395)
(cherry picked from commit 617f4cc1c2605b86b4833450253c3599b61d6638)

Co-authored-by: Tadej Magajna <tmagajna@gmail.com>
Co-authored-by: Victor Stinner <vstinner@python.org>
11 days ago[3.14] gh-146488: hash-pin all action references (gh-146489) (#147983)
William Woodruff [Thu, 2 Apr 2026 09:30:01 +0000 (05:30 -0400)] 
[3.14] gh-146488: hash-pin all action references (gh-146489) (#147983)

12 days ago[3.14] gh-146615: Fix format specifiers in extension modules (GH-146617) (#147704)
sunmy2019 [Wed, 1 Apr 2026 13:12:44 +0000 (21:12 +0800)] 
[3.14] gh-146615: Fix format specifiers in extension modules (GH-146617) (#147704)

Fix format specifier in parse_task_name() for long result.

13 days ago[3.14] gh-144438: Fix false sharing between QSBR and tlbc_index (gh-144554) (#144923)
Sam Gross [Tue, 31 Mar 2026 19:20:24 +0000 (15:20 -0400)] 
[3.14] gh-144438: Fix false sharing between QSBR and tlbc_index (gh-144554) (#144923)

Align the QSBR thread state array to a 64-byte cache line boundary
and add padding at the end of _PyThreadStateImpl. Depending on heap
layout, the QSBR array could end up sharing a cache line with a
thread's tlbc_index, causing QSBR quiescent state updates to contend
with reads of tlbc_index in RESUME_CHECK. This is sensitive to
earlier allocations during interpreter init and can appear or
disappear with seemingly unrelated changes.

Either change alone is sufficient to fix the specific issue, but both
are worthwhile to avoid similar problems in the future.

(cherry picked from commit 6577d870b0cb82baf540f4bcf49c01d68204e468)

13 days ago[3.14] gh-143050: Correct PyLong_FromString() to use _PyLong_Negate() (GH-145901...
Miss Islington (bot) [Tue, 31 Mar 2026 14:14:12 +0000 (16:14 +0200)] 
[3.14] gh-143050: Correct PyLong_FromString() to use _PyLong_Negate() (GH-145901) (#147331)

gh-143050: Correct PyLong_FromString() to use _PyLong_Negate() (GH-145901)

The long_from_string_base() might return a small integer, when the
_pylong.py is used to do conversion.  Hence, we must be careful here to
not smash it "small int" bit by using the _PyLong_FlipSign().
(cherry picked from commit db5936c5b89aa19e04d63120e0cf5bbc73bf2420)

Co-authored-by: Sergey B Kirpichev <skirpichev@gmail.com>
Co-authored-by: Victor Stinner <vstinner@python.org>
13 days ago[3.14] gh-126835: Fix _PY_IS_SMALL_INT() macro (GH-146631) (#147187)
Miss Islington (bot) [Tue, 31 Mar 2026 13:27:11 +0000 (15:27 +0200)] 
[3.14] gh-126835: Fix _PY_IS_SMALL_INT() macro (GH-146631) (#147187)

gh-126835: Fix _PY_IS_SMALL_INT() macro (GH-146631)
(cherry picked from commit adf2c47911b35134cf108c24a3cc7794b7755aac)

Co-authored-by: Victor Stinner <vstinner@python.org>
13 days ago[3.14] gh-145563: Add thread-safety annotation for PyCapsule C-API (GH-146612) (...
Miss Islington (bot) [Tue, 31 Mar 2026 11:35:49 +0000 (13:35 +0200)] 
[3.14] gh-145563: Add thread-safety annotation for PyCapsule C-API (GH-146612) (#146659)

gh-145563: Add thread-safety annotation for PyCapsule C-API (GH-146612)
(cherry picked from commit 67354b2925e28b3bcc6e5b52bf92cd5f4cc69d3c)

Co-authored-by: Pieter Eendebak <pieter.eendebak@gmail.com>
13 days ago[3.14] gh-146615: Fix format specifiers in extension modules (GH-146617) (GH-146652)
Serhiy Storchaka [Tue, 31 Mar 2026 10:07:09 +0000 (13:07 +0300)] 
[3.14] gh-146615: Fix format specifiers in extension modules (GH-146617) (GH-146652)

(cherry picked from commit 1c396e18218daa723b425af0781c5e762d7717c2)

Co-authored-by: sunmy2019 <59365878+sunmy2019@users.noreply.github.com>
13 days ago[3.14] gh-146615: Fix format specifiers in Objects/ directory (GH-146620) (GH-146651)
Miss Islington (bot) [Tue, 31 Mar 2026 09:17:58 +0000 (11:17 +0200)] 
[3.14] gh-146615: Fix format specifiers in Objects/ directory (GH-146620) (GH-146651)

(cherry picked from commit bbf7fb2c15a1dc9a54d10937c3d0831b0968257d)

Co-authored-by: sunmy2019 <59365878+sunmy2019@users.noreply.github.com>
2 weeks ago[3.14] gh-146615: Fix format specifiers in test cextensions (GH-146618) (GH-146649)
Miss Islington (bot) [Tue, 31 Mar 2026 08:31:05 +0000 (10:31 +0200)] 
[3.14] gh-146615: Fix format specifiers in test cextensions (GH-146618) (GH-146649)

(cherry picked from commit b7055533abc2f7f93e04778fb70664096aa3d3b5)

Co-authored-by: sunmy2019 <59365878+sunmy2019@users.noreply.github.com>
2 weeks ago[3.14] gh-146615: Fix format specifiers in Python/ directory (GH-146619) (GH-146650)
Miss Islington (bot) [Tue, 31 Mar 2026 08:25:07 +0000 (10:25 +0200)] 
[3.14] gh-146615: Fix format specifiers in Python/ directory (GH-146619) (GH-146650)

(cherry picked from commit dcb260eff2d276976933f78c24a4ebd0ed7dbc36)

Co-authored-by: sunmy2019 <59365878+sunmy2019@users.noreply.github.com>
2 weeks ago[3.14] gh-146615: Fix crash in __get__() for METH_METHOD descriptors with invalid...
Miss Islington (bot) [Tue, 31 Mar 2026 08:20:00 +0000 (10:20 +0200)] 
[3.14] gh-146615: Fix crash in __get__() for METH_METHOD descriptors with invalid type argument (GH-146634) (GH-146647)

(cherry picked from commit 72d29ea363f1515115753653aeca735a1a817a7f)

Co-authored-by: sunmy2019 <59365878+sunmy2019@users.noreply.github.com>
2 weeks ago[3.14] gh-146376: Reduce timeout in Emscripten GHA workflow (GH-146378) (#146645)
Miss Islington (bot) [Mon, 30 Mar 2026 21:03:46 +0000 (23:03 +0200)] 
[3.14] gh-146376: Reduce timeout in Emscripten GHA workflow (GH-146378) (#146645)

gh-146376: Reduce timeout in Emscripten GHA workflow (GH-146378)
(cherry picked from commit 70d1b08a4bb52652094c3eb69e36223ecd8b8075)

Co-authored-by: Hood Chatham <roberthoodchatham@gmail.com>
2 weeks ago[3.14] gh-146250: Fix memory leak in re-initialization of `SyntaxError` (GH-146251...
Miss Islington (bot) [Mon, 30 Mar 2026 16:14:58 +0000 (18:14 +0200)] 
[3.14] gh-146250: Fix memory leak in re-initialization of `SyntaxError` (GH-146251) (#146517)

Co-authored-by: Brij Kapadia <97006829+bkap123@users.noreply.github.com>
2 weeks ago[3.14] gh-146416: Emscripten: Improve standard stream handling in node_entry.mjs...
Miss Islington (bot) [Mon, 30 Mar 2026 12:18:19 +0000 (14:18 +0200)] 
[3.14] gh-146416: Emscripten: Improve standard stream handling in node_entry.mjs (GH-146417) (#146630)

gh-146416: Emscripten: Improve standard stream handling in node_entry.mjs (GH-146417)
(cherry picked from commit 6857de625f1ab256c0ce48d9c8280d678d61bab1)

Co-authored-by: Hood Chatham <roberthoodchatham@gmail.com>
Co-authored-by: Victor Stinner <vstinner@python.org>
2 weeks ago[3.14] gh-146444: Don't package as part of iOS 'build hosts' target (GH-146628) ...
Miss Islington (bot) [Mon, 30 Mar 2026 11:19:22 +0000 (13:19 +0200)] 
[3.14] gh-146444: Don't package as part of iOS 'build hosts' target (GH-146628) (#146629)

gh-146444: Don't package as part of iOS 'build hosts' target (GH-146628)

* Revert Py3.9 compatibility fixes.
* Only build the package on 'build all'.
(cherry picked from commit 6420847bdaa945fb13251d3f93968946c0f3444f)

Co-authored-by: Russell Keith-Magee <russell@keith-magee.com>
2 weeks ago[3.14] gh-146444: Make Platforms/Apple/ compatible with Python 3.9 (GH-146624) (...
Miss Islington (bot) [Mon, 30 Mar 2026 09:41:50 +0000 (11:41 +0200)] 
[3.14] gh-146444: Make Platforms/Apple/ compatible with Python 3.9 (GH-146624) (#146627)

gh-146444: Make Platforms/Apple/ compatible with Python 3.9 (GH-146624)

Replace "str | None" with typing.Union[str, None].
(cherry picked from commit 382c04308d7c3638fc0402116ce8654b80b4b776)

Co-authored-by: Victor Stinner <vstinner@python.org>
2 weeks ago[3.14] gh-146579: _zstd: Fix decompression options dict error message (GH-146577...
Miss Islington (bot) [Mon, 30 Mar 2026 08:26:45 +0000 (10:26 +0200)] 
[3.14] gh-146579: _zstd: Fix decompression options dict error message (GH-146577) (#146611)

The TypeError in _zstd_set_d_parameters incorrectly referred to
compression options; say decompression options instead.
(cherry picked from commit 4d0e8ee649ceff96b130e1676a73c20c469624a9)

Co-authored-by: cui <cuiweixie@gmail.com>
2 weeks ago[3.14] gh-146556: Fix infinite loop in annotationlib.get_annotations() on circular...
Miss Islington (bot) [Mon, 30 Mar 2026 05:30:14 +0000 (07:30 +0200)] 
[3.14] gh-146556: Fix infinite loop in annotationlib.get_annotations() on circular __wrapped__ (GH-146557) (#146622)

gh-146556: Fix infinite loop in annotationlib.get_annotations() on circular __wrapped__ (GH-146557)
(cherry picked from commit 2cf6a68f028da164bdb9b0ce8ad2cc9bf8f72750)

Co-authored-by: Ramin Farajpour Cami <ramin.blackhat@gmail.com>
2 weeks ago[3.14] gh-146083: Upgrade bundled Expat to 2.7.5 (GH-146085) (#146603)
Miss Islington (bot) [Sun, 29 Mar 2026 17:31:02 +0000 (19:31 +0200)] 
[3.14] gh-146083: Upgrade bundled Expat to 2.7.5 (GH-146085) (#146603)

(cherry picked from commit e39d84a37dfc8bcdc0eb4d6f3ce7d5ee829d7f30)

Co-authored-by: Stan Ulbrych <89152624+StanFromIreland@users.noreply.github.com>
2 weeks ago[3.14] gh-146090: fix memory management of internal `sqlite3` callback contexts ...
Miss Islington (bot) [Sun, 29 Mar 2026 13:15:05 +0000 (15:15 +0200)] 
[3.14] gh-146090: fix memory management of internal `sqlite3` callback contexts (GH-146569) (#146595)

gh-146090: fix memory management of internal `sqlite3` callback contexts (GH-146569)
(cherry picked from commit aa6680775d6d9ca571a675c3b2d655f4ade78c0c)

Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
2 weeks ago[3.14] gh-146080: fix a crash in SNI callbacks when the SSL object is gone (GH-146573...
Bénédikt Tran [Sun, 29 Mar 2026 12:58:37 +0000 (14:58 +0200)] 
[3.14] gh-146080: fix a crash in SNI callbacks when the SSL object is gone (GH-146573) (#146597)

(cherry picked from commit 24db78c5329dd405460bfdf76df380ced6231353)

2 weeks ago[3.14] gh-146004: fix test_args_from_interpreter_flags on windows (GH-146580) (#146585)
Miss Islington (bot) [Sun, 29 Mar 2026 04:55:22 +0000 (06:55 +0200)] 
[3.14] gh-146004: fix test_args_from_interpreter_flags on windows (GH-146580) (#146585)

gh-146004: fix test_args_from_interpreter_flags on windows (GH-146580)
(cherry picked from commit 1af025dd2206eecee3ee6242f2a7cdb67173fb97)

Co-authored-by: Chris Eibl <138194463+chris-eibl@users.noreply.github.com>
2 weeks ago[3.14] gh-146544: Fix `asyncio.Queue` docstring ambiguity (GH-146545) (#146567)
Miss Islington (bot) [Sat, 28 Mar 2026 14:11:29 +0000 (15:11 +0100)] 
[3.14] gh-146544: Fix `asyncio.Queue` docstring ambiguity (GH-146545) (#146567)

gh-146544: Fix `asyncio.Queue` docstring ambiguity (GH-146545)
(cherry picked from commit 578d726d467dee14abe52a7790aca36e4cb9f70c)

Co-authored-by: Jonathan Dung <jonathandung@yahoo.com>
2 weeks ago[3.14] Docs: don't rely on implicit 'above' directions in socket docs (GH-146426...
Miss Islington (bot) [Sat, 28 Mar 2026 09:53:14 +0000 (10:53 +0100)] 
[3.14] Docs: don't rely on implicit 'above' directions in socket docs (GH-146426) (#146560)

Docs: don't rely on implicit 'above' directions in socket docs (GH-146426)
(cherry picked from commit 3ff582238fda913691734245416eaa1a18c7ca0e)

Co-authored-by: Ned Batchelder <ned@nedbatchelder.com>
2 weeks ago[3.14] gh-146004: propagate all -X options to multiprocessing child processes (GH...
Miss Islington (bot) [Sat, 28 Mar 2026 05:30:06 +0000 (06:30 +0100)] 
[3.14] gh-146004: propagate all -X options to multiprocessing child processes (GH-146005) (#146552)

gh-146004: propagate all -X options to multiprocessing child processes (GH-146005)

Propagate all -X command line options to multiprocessing spawned child Python processes.
(cherry picked from commit 1efe441de7c448852b9ba51fb0db4d355a7157a8)

Co-authored-by: Gregory P. Smith <68491+gpshead@users.noreply.github.com>
2 weeks ago[3.14] Fix possible memory leak in OrderedDict popitem (GH-145247) (#146537)
Sergey Miryanov [Fri, 27 Mar 2026 21:40:50 +0000 (02:40 +0500)] 
[3.14] Fix possible memory leak in OrderedDict popitem (GH-145247) (#146537)

2 weeks ago[3.14] gh-146310: Fix ensurepip to treat empty WHEEL_PKG_DIR as unset (GH-146357...
Miss Islington (bot) [Fri, 27 Mar 2026 21:13:17 +0000 (22:13 +0100)] 
[3.14] gh-146310: Fix ensurepip to treat empty WHEEL_PKG_DIR as unset (GH-146357) (#146534)

gh-146310: Fix ensurepip to treat empty WHEEL_PKG_DIR as unset (GH-146357)

Path('') resolves to CWD, so an empty WHEEL_PKG_DIR string caused
ensurepip to search the current working directory for wheel files.
Add a truthiness check to treat empty strings the same as None.
(cherry picked from commit 73cc1fd4f45b4daf2b2f9a6be69148775c7c2bff)

Co-authored-by: Imgyu Kim <kimimgo@gmail.com>
Co-authored-by: Victor Stinner <vstinner@python.org>
2 weeks ago[3.14] gh-145616: Detect Android sysconfig ABI correctly on 32-bit ARM Android on...
Miss Islington (bot) [Fri, 27 Mar 2026 19:43:23 +0000 (20:43 +0100)] 
[3.14] gh-145616: Detect Android sysconfig ABI correctly on 32-bit ARM Android on 64-bit ARM kernel (GH-145617) (#146464)

gh-145616: Detect Android sysconfig ABI correctly on 32-bit ARM Android on 64-bit ARM kernel (GH-145617)

When Python is running on 32-bit ARM Android on a 64-bit ARM kernel, `os.uname().machine` is `armv8l`. Such devices run the same userspace code as `armv7l` devices, so apply the same `armeabi_v7a` Android ABI to them, which works.
(cherry picked from commit 3a2b81e919103c0be3bc60a47aaa74d34fea6e9e)

Co-authored-by: Robert Kirkman <31490854+robertkirkman@users.noreply.github.com>
2 weeks ago[3.14] Mention _Float16 (type from Annex H of the C23) in the struct docs (GH-146243...
Miss Islington (bot) [Fri, 27 Mar 2026 17:44:27 +0000 (18:44 +0100)] 
[3.14] Mention _Float16 (type from Annex H of the C23) in the struct docs (GH-146243) (#146529)

Co-authored-by: Sergey B Kirpichev <skirpichev@gmail.com>
2 weeks ago[3.14] gh-142518: add thread safety annotations for bytearray C-API (GH-146514) ...
Miss Islington (bot) [Fri, 27 Mar 2026 13:51:05 +0000 (14:51 +0100)] 
[3.14] gh-142518: add thread safety annotations for bytearray C-API (GH-146514) (#146516)

gh-142518: add thread safety annotations for bytearray C-API (GH-146514)
(cherry picked from commit 5466f57eaddeec7f07a681993b22167e42c9807a)

Co-authored-by: Kumar Aditya <kumaraditya@python.org>
2 weeks ago[3.14] gh-142518: add thread safety docs on bytes C-API (GH-146415) (#146515)
Miss Islington (bot) [Fri, 27 Mar 2026 13:07:37 +0000 (14:07 +0100)] 
[3.14] gh-142518: add thread safety docs on bytes C-API (GH-146415) (#146515)

gh-142518: add thread safety docs on bytes C-API (GH-146415)
(cherry picked from commit 6a94980301b880b7ac1178efd31d14f031f690f5)

Co-authored-by: Kumar Aditya <kumaraditya@python.org>
2 weeks ago[3.14] gh-146480: Override the exception in _PyErr_SetKeyError() (GH-146486) (#146511)
Miss Islington (bot) [Fri, 27 Mar 2026 11:48:29 +0000 (12:48 +0100)] 
[3.14] gh-146480: Override the exception in _PyErr_SetKeyError() (GH-146486) (#146511)

gh-146480: Override the exception in _PyErr_SetKeyError() (GH-146486)

If _PyErr_SetKeyError() is called with an exception set, it now
replaces the current exception with KeyError (as expected), instead
of setting a SystemError or failing with a fatal error (in debug
mode).
(cherry picked from commit d4153a9f76736128306c4af01776729da846d926)

Co-authored-by: Victor Stinner <vstinner@python.org>
2 weeks ago[3.14] gh-146059: Cleanup pickle fast_save_enter() test (GH-146481) (#146509)
Miss Islington (bot) [Fri, 27 Mar 2026 08:40:03 +0000 (09:40 +0100)] 
[3.14] gh-146059: Cleanup pickle fast_save_enter() test (GH-146481) (#146509)

gh-146059: Cleanup pickle fast_save_enter() test (GH-146481)

Remove {"key": data}, it's not required to reproduce the bug.
Simplify also deep_nested_struct(): remove the seed parameter.
Fix a typo in a comment.
(cherry picked from commit 0c7a75aeef4dae87f02536ed4c42a57c13ef20e2)

Co-authored-by: Victor Stinner <vstinner@python.org>
2 weeks ago[3.14] gh-146244: Fix initconfig.c SET_ITEM macro leaks dict on expression failure...
Miss Islington (bot) [Fri, 27 Mar 2026 02:37:53 +0000 (03:37 +0100)] 
[3.14] gh-146244: Fix initconfig.c SET_ITEM macro leaks dict on expression failure (GH-146246) (GH-146432)

(cherry picked from commit 9343518c6f413b2231b17c56065e5cf823aa0d2a)

Co-authored-by: Wulian233 <1055917385@qq.com>
2 weeks ago[3.14] gh-146498: Ensure binary content is correctly processed in multi-arch iOS...
Miss Islington (bot) [Fri, 27 Mar 2026 02:16:52 +0000 (03:16 +0100)] 
[3.14] gh-146498: Ensure binary content is correctly processed in multi-arch iOS XCframeworks (GH-146499) (#146502)

Ensure that multi-arch libpython dylibs aren't copied into the app, and the
standard lib is always found for framework post-processing.
(cherry picked from commit 5684b3a04c6985e48b9a3d5394e3b7878901d6aa)

Co-authored-by: Russell Keith-Magee <russell@keith-magee.com>
2 weeks ago[3.14] gh-146446: Miscellaneous improvements to iOS XCframework build script (GH...
Miss Islington (bot) [Thu, 26 Mar 2026 22:18:16 +0000 (23:18 +0100)] 
[3.14] gh-146446: Miscellaneous improvements to iOS XCframework build script (GH-146447) (#146496)

Modifies the iOS build script so that the clean target is more selective about
what is cleaned, the test target has a valid fallback value for ci mode, and the
cross-build directory can be customised.
(cherry picked from commit ca6dfa0f31132c80aaad40855087c2d931dc2d0f)

Co-authored-by: Russell Keith-Magee <russell@keith-magee.com>