129073 Commits

Author SHA1 Message Date
Hugo van Kemenade
23116f998f Python 3.14.4 v3.14.4 2026-04-07 16:13:20 +03:00
Hugo van Kemenade
383c2919b1
[3.14] GH-146128: Remove the buggy AArch64 "33rx" relocation (GH-146263) (#148198)
Co-authored-by: Brandt Bucher <brandt@python.org>
2026-04-07 14:05:47 +03:00
Miss Islington (bot)
d786d59a8f
[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>
2026-04-07 12:48:29 +02:00
Gregory P. Smith
25369a8c78
[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)
2026-04-07 06:19:32 +00:00
Miss Islington (bot)
8f59d40244
[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>
2026-04-07 03:35:12 +00:00
Miss Islington (bot)
07158b605d
[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>
2026-04-06 18:23:08 +03:00
Miss Islington (bot)
40a0a94700
[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>
2026-04-06 12:22:33 +00:00
Miss Islington (bot)
90ae9381ea
[3.14] Docs: Update "Installing Python modules" (GH-146249) (#148159)
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
2026-04-06 11:28:07 +00:00
Miss Islington (bot)
bf6bd15156
[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>
2026-04-06 14:09:14 +08:00
Miss Islington (bot)
636946f413
[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>
2026-04-05 23:49:47 +00:00
Miss Islington (bot)
e99b801aeb
[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>
2026-04-05 23:07:16 +03:00
Miss Islington (bot)
9bc5bc5618
[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>
2026-04-05 18:13:29 +00:00
Ezio Melotti
f74e2ee2d3
[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)
2026-04-05 01:46:39 +02:00
Miss Islington (bot)
26c57c05d3
[3.14] Docs: Standardize documentation authors (GH-148102) (#148104)
(cherry picked from commit 75be902a13c670a1ea16aee3644548723b7d7407)

Co-authored-by: Stan Ulbrych <stan@python.org>
2026-04-04 19:11:45 +01:00
Miss Islington (bot)
3530d32bb7
[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>
2026-04-04 16:51:39 +00:00
Miss Islington (bot)
8040b20473
[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>
2026-04-04 16:19:38 +00:00
Miss Islington (bot)
64207c930b
[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>
2026-04-04 17:13:13 +01:00
Miss Islington (bot)
61c919cf1b
[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>
2026-04-04 16:01:34 +00:00
Miss Islington (bot)
58756bf0db
[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>
2026-04-04 10:02:44 +00:00
Miss Islington (bot)
1c3e3fbcfb
[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>
2026-04-04 08:38:43 +00:00
Miss Islington (bot)
83ee46c4c9
[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>
2026-04-04 12:27:49 +08:00
Russell Keith-Magee
ab3d37fab6
[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>
2026-04-04 03:58:20 +00:00
Miss Islington (bot)
f4c9bc899b
[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>
2026-04-03 12:10:19 -07:00
Miss Islington (bot)
594b5a05dc
[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>
2026-04-03 18:28:52 +02:00
Miss Islington (bot)
242ededffd
[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>
2026-04-03 16:40:12 +01:00
Miss Islington (bot)
3d49e490e2
[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>
2026-04-03 14:34:36 +00:00
Miss Islington (bot)
6996c8303b
[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>
2026-04-03 10:02:36 +02:00
Miss Islington (bot)
dbba26dabe
[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>
2026-04-02 21:32:48 +00:00
William Woodruff
ea9ecc8955
[3.14] gh-146488: hash-pin all action references (gh-146489) (#147983) 2026-04-02 09:30:01 +00:00
sunmy2019
b406d85603
[3.14] gh-146615: Fix format specifiers in extension modules (GH-146617) (#147704)
Fix format specifier in parse_task_name() for long result.
2026-04-01 15:12:44 +02:00
Sam Gross
6ea4f842fb
[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)
2026-03-31 19:20:24 +00:00
Miss Islington (bot)
25b48b84b8
[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>
2026-03-31 16:14:12 +02:00
Miss Islington (bot)
e387bac1a4
[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>
2026-03-31 13:27:11 +00:00
Miss Islington (bot)
2d1515dc21
[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>
2026-03-31 17:05:49 +05:30
Serhiy Storchaka
58c7259133
[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>
2026-03-31 10:07:09 +00:00
Miss Islington (bot)
e5ec90e021
[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>
2026-03-31 09:17:58 +00:00
Miss Islington (bot)
3866c2947b
[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>
2026-03-31 08:31:05 +00:00
Miss Islington (bot)
9ac758e6a4
[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>
2026-03-31 08:25:07 +00:00
Miss Islington (bot)
ed557e6a5f
[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>
2026-03-31 08:20:00 +00:00
Miss Islington (bot)
99f333de7f
[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>
2026-03-30 21:03:46 +00:00
Miss Islington (bot)
3c434f7f0f
[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>
2026-03-30 16:14:58 +00:00
Miss Islington (bot)
ec1148556f
[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>
2026-03-30 12:18:19 +00:00
Miss Islington (bot)
487fb7e342
[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>
2026-03-30 11:19:22 +00:00
Miss Islington (bot)
836e5abfb3
[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>
2026-03-30 09:41:50 +00:00
Miss Islington (bot)
de234fc07a
[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>
2026-03-30 08:26:45 +00:00
Miss Islington (bot)
7317e9d761
[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>
2026-03-29 22:30:14 -07:00
Miss Islington (bot)
36c22d06f0
[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>
2026-03-29 17:31:02 +00:00
Miss Islington (bot)
1458ea0065
[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>
2026-03-29 15:15:05 +02:00
Bénédikt Tran
883b6d22d1
[3.14] gh-146080: fix a crash in SNI callbacks when the SSL object is gone (GH-146573) (#146597)
(cherry picked from commit 24db78c5329dd405460bfdf76df380ced6231353)
2026-03-29 12:58:37 +00:00
Miss Islington (bot)
525f8e4dce
[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>
2026-03-29 04:55:22 +00:00