]> git.ipfire.org Git - thirdparty/Python/cpython.git/log
thirdparty/Python/cpython.git
4 hours ago[3.14] gh-149017: Upgrade bundled Expat to 2.8.0 (GH-149020) (#149073) 3.14
Stan Ulbrych [Tue, 28 Apr 2026 13:30:12 +0000 (14:30 +0100)] 
[3.14] gh-149017: Upgrade bundled Expat to 2.8.0 (GH-149020) (#149073)

(cherry picked from commit 005555a3f0ae20ee8154eb4ee172e1e355144c8c)

13 hours ago[3.14] gh-149035: Modernize legacy Python patterns in `Doc/tutorial/stdlib2.rst`...
Miss Islington (bot) [Tue, 28 Apr 2026 05:17:18 +0000 (07:17 +0200)] 
[3.14] gh-149035: Modernize legacy Python patterns in `Doc/tutorial/stdlib2.rst` (GH-149036) (#149089)

Co-authored-by: ByteFlow <fakeshadow1337@gmail.com>
Co-authored-by: Copilot <copilot@github.com>
22 hours ago[3.14] gh-148529: Minor improvements of the struct module documentation (GH-148565...
Miss Islington (bot) [Mon, 27 Apr 2026 20:07:00 +0000 (22:07 +0200)] 
[3.14] gh-148529: Minor improvements of the struct module documentation (GH-148565) (GH-149063)

* Document that 's' and 'p' accept bytes and bytearray.
* Fix some footnotes.
* Clarify that "string" is a byte string.
* Fix the module docstring.
(cherry picked from commit 3e5a3cb2bd222f97f793b01bc1c0f7bb62aefc31)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
22 hours ago[3.14] gh-148663: Document that `calendar.IllegalMonthError` inherits from both ...
Miss Islington (bot) [Mon, 27 Apr 2026 20:00:46 +0000 (22:00 +0200)] 
[3.14] gh-148663: Document that `calendar.IllegalMonthError` inherits from both `ValueError` and `IndexError` (GH-148664) (#148917)

(cherry picked from commit 435be06dd25a5e4e19014340c4ba873d71051c4c)

Co-authored-by: Eoin Shaughnessy <45000144+EoinTrial@users.noreply.github.com>
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
Co-authored-by: Stan Ulbrych <stan@python.org>
22 hours ago[3.14] gh-146581: Fix vulnerability in shutil.unpack_archive() for ZIP files on Windo...
Miss Islington (bot) [Mon, 27 Apr 2026 19:55:02 +0000 (21:55 +0200)] 
[3.14] gh-146581: Fix vulnerability in shutil.unpack_archive() for ZIP files on Windows (GH-146591) (GH-149064)

Use ZipFile.extractall() to sanitize file names and extract files.

Files with invalid names (e.g. absolute paths) are now skipped.

Files containing ".." in the name are no longer skipped.
(cherry picked from commit fc829e88753858c8ac669594bf0093f44948c0f4)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
25 hours ago[3.14] Un-skip previously-broken `test_get_type_hints_modules_forward_ref` (#149053)
Thomas Kowalski [Mon, 27 Apr 2026 16:54:56 +0000 (18:54 +0200)] 
[3.14] Un-skip previously-broken `test_get_type_hints_modules_forward_ref` (#149053)

26 hours ago[3.14] Improve `hash()` builtin docstring with caveats. (GH-125229) (#149054)
Gregory P. Smith [Mon, 27 Apr 2026 16:17:30 +0000 (09:17 -0700)] 
[3.14] Improve  `hash()` builtin docstring with caveats. (GH-125229) (#149054)

Improve  `hash()` builtin docstring with caveats.

Mention its return type and that the value can be expected to change between
processes (hash randomization).

Why? The `hash` builtin gets reached for and used by a lot of people whether it
is the right tool or not. IDEs surface docstrings and people use pydoc and
`help(hash)`.
(cherry picked from commit 665b7dfcfa240e02760f58bed5ca29ec01d028e6)

27 hours ago[3.14] gh-82665 Mention that HTMLParser.handle_starttag value can be None (GH-134312...
Miss Islington (bot) [Mon, 27 Apr 2026 14:30:00 +0000 (16:30 +0200)] 
[3.14] gh-82665 Mention that HTMLParser.handle_starttag value can be None (GH-134312) (#149037)

gh-82665 Mention that HTMLParser.handle_starttag value can be None (GH-134312)

* Specify boolean attribute behavior in parser

* Tweak wording and example

* Fix backticks

---------
(cherry picked from commit 804c213c89366dd5ffa7feeb1bd4feccfee75b38)

Co-authored-by: Micah Najacht <micah.najacht@gmail.com>
Co-authored-by: Ezio Melotti <ezio.melotti@gmail.com>
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
40 hours ago[3.14] Document that multiprocessing treats local same-user processes as trusted...
Miss Islington (bot) [Mon, 27 Apr 2026 01:49:27 +0000 (03:49 +0200)] 
[3.14] Document that multiprocessing treats local same-user processes as trusted (GH-149001) (#149033)

Document that multiprocessing treats local same-user processes as trusted (GH-149001)

Clarify in the Authentication keys section that the authkey handshake
covers Listener/Client (addressable endpoints) only, not the anonymous
pipes behind Pipe() and Queue, and that isolation between same-user
processes must be arranged at the OS level.
(cherry picked from commit f27e91e37212f148b8fe72a3656a69b242625622)

Co-authored-by: Gregory P. Smith <68491+gpshead@users.noreply.github.com>
2 days ago[3.14] GH-148726: Forward-port generational GC (#148720)
Sergey Miryanov [Sun, 26 Apr 2026 18:12:52 +0000 (23:12 +0500)] 
[3.14] GH-148726: Forward-port generational GC (#148720)

Co-authored-by: Neil Schemenauer <nas@arctrix.com>
Co-authored-by: Sergey Miryanov <sergey.miryanov@gmail.com>
Co-authored-by: Zanie Blue <contact@zanie.dev>
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
Co-authored-by: Neil Schemenauer <nas-github@arctrix.com>
2 days ago[3.14] gh-146455: Fix O(N²) in add_const() after constant folding moved to CFG (GH...
Miss Islington (bot) [Sun, 26 Apr 2026 15:45:38 +0000 (17:45 +0200)] 
[3.14] gh-146455: Fix O(N²) in add_const() after constant folding moved to CFG (GH-146456) (#149011)

gh-146455: Fix O(N²) in add_const() after constant folding moved to CFG (GH-146456)

The add_const() function in flowgraph.c uses a linear search over the
consts list to find the index of a constant. After gh-126835 moved
constant folding from the AST optimizer to the CFG optimizer, this
function is now called N times for N inner tuple elements during
fold_tuple_of_constants(), resulting in O(N²) total time.

Fix by maintaining an auxiliary _Py_hashtable_t that maps object
pointers to their indices in the consts list, providing O(1) lookup.

For a file with 100,000 constant 2-tuples:
- Before: 10.38s (add_const occupies 83.76% of CPU time)
- After:  1.48s
(cherry picked from commit 5d416324c56cd6f262fa123f41b97b48631bea79)

Co-authored-by: zSirius <107359899+zSirius@users.noreply.github.com>
2 days ago[3.14] gh-141473: Speed up subprocess test_communicate_timeout_large_input long tail...
Miss Islington (bot) [Sun, 26 Apr 2026 04:29:47 +0000 (06:29 +0200)] 
[3.14] gh-141473: Speed up subprocess test_communicate_timeout_large_input long tail (GH-149003) (#149004)

gh-141473: Speed up subprocess test_communicate_timeout_large_input long tail (GH-149003)

gh-141473: Speed up test_communicate_timeout_large_input

Replace the slow reader's 30s sleep with a parent-driven wake over a
loopback socket so post-timeout communicate() doesn't block waiting
for the child to wake on its own. Worst-case runtime: ~30s -> <1s.
(cherry picked from commit e1384cfd25b4fba5e0f8f3e6b536930e2e6cf5cf)

Co-authored-by: Gregory P. Smith <68491+gpshead@users.noreply.github.com>
3 days ago[3.14] gh-148947: dataclasses: fix error on empty __class__ cell (GH-148948) (#148995)
Miss Islington (bot) [Sat, 25 Apr 2026 15:57:33 +0000 (17:57 +0200)] 
[3.14] gh-148947: dataclasses: fix error on empty __class__ cell  (GH-148948) (#148995)

gh-148947: dataclasses: fix error on empty __class__ cell  (GH-148948)

Also add a test demonstrating the need for the existing "is oldcls" check.
(cherry picked from commit 6d7bbee1d5714a345dca5a7e4089de3c2fc0fb59)

Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
Co-authored-by: Bartosz Sławecki <bartosz@ilikepython.com>
3 days ago[3.14] gh-148973: fix segfault on mismatch between consts size and oparg in compiler...
Miss Islington (bot) [Sat, 25 Apr 2026 12:53:42 +0000 (14:53 +0200)] 
[3.14] gh-148973: fix segfault on mismatch between consts size and oparg in compiler (GH-148974) (#148980)

gh-148973: fix segfault on mismatch between consts size and oparg in compiler (GH-148974)
(cherry picked from commit c650b51c32f92563f3319bb25c64ca2d2dc05ec0)

Co-authored-by: Irit Katriel <1055913+iritkatriel@users.noreply.github.com>
3 days ago[3.14] gh-148735: Fix a UAF in `Element.findtext()` (GH-148738) (#148916)
Miss Islington (bot) [Fri, 24 Apr 2026 20:38:15 +0000 (22:38 +0200)] 
[3.14] gh-148735: Fix a UAF in `Element.findtext()` (GH-148738) (#148916)

(cherry picked from commit 0469e6d38dcb3ff904690028cb3a25155bdcedae)

Co-authored-by: Stan Ulbrych <stan@python.org>
4 days ago[3.14] Additional itertool recipes for running statistics (gh-148879) (gh-148949)
Miss Islington (bot) [Fri, 24 Apr 2026 05:52:35 +0000 (07:52 +0200)] 
[3.14] Additional itertool recipes for running statistics (gh-148879) (gh-148949)

4 days ago[3.14] gh-113956: Make intern_common thread-safe in free-threaded build (gh-148886...
Sam Gross [Thu, 23 Apr 2026 19:12:19 +0000 (15:12 -0400)] 
[3.14] gh-113956: Make intern_common thread-safe in free-threaded build (gh-148886) (#148927)

Avoid racing with the owning thread's refcount operations when
immortalizing an interned string: if we don't own it and its refcount
isn't merged, intern a copy we own instead. Use atomic stores in
_Py_SetImmortalUntracked so concurrent atomic reads are race-free.

(cherry picked from commit 4629c2215a9a4b3d1ec4a306cd4dd7d11dcfebb4)

5 days ago[3.14] gh-132631: Fix "I/O operation on closed file" when parsing JSON Lines file...
Miss Islington (bot) [Thu, 23 Apr 2026 16:32:29 +0000 (18:32 +0200)] 
[3.14] gh-132631: Fix "I/O operation on closed file" when parsing JSON Lines file (GH-132632) (#148921)

Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
Co-authored-by: Brian Schubert <brianm.schubert@gmail.com>
5 days ago[3.14] gh-148484: Fix memory leak of iterator in array.array constructor (GH-148523...
Miss Islington (bot) [Thu, 23 Apr 2026 14:00:37 +0000 (16:00 +0200)] 
[3.14] gh-148484: Fix memory leak of iterator in array.array constructor (GH-148523) (GH-148678)

(cherry picked from commit afde75664eb3ff3e147806f027c9da54c7eb77d4)

Co-authored-by: Gleb Popov <gvpopov.dev@gmail.com>
5 days ago[3.14] gh-148464: Add missing ``__ctype_le/be__`` attributes for complex types in...
Miss Islington (bot) [Thu, 23 Apr 2026 13:57:55 +0000 (15:57 +0200)] 
[3.14] gh-148464: Add missing ``__ctype_le/be__`` attributes for complex types in the ctype module (GH-148485) (GH-148677)

(cherry picked from commit 769cc8338f35eb134508aca701a59342bcb6a84b)

Co-authored-by: Sergey B Kirpichev <skirpichev@gmail.com>
Co-authored-by: sunmy2019 <59365878+sunmy2019@users.noreply.github.com>
5 days ago[3.14] gh-148680: Replace internal names with type_reprs of objects in string represe...
Miss Islington (bot) [Thu, 23 Apr 2026 13:47:52 +0000 (15:47 +0200)] 
[3.14] gh-148680: Replace internal names with type_reprs of objects in string representations of ForwardRef (GH-148682) (#148913)

(cherry picked from commit 158dbbb97fffbc47eb446d2b1576ce887e5c1802)

Co-authored-by: David Ellis <ducksual@gmail.com>
Co-authored-by: Shamil <ashm.tech@proton.me>
5 days ago[3.14] gh-90309: Base64-encode cookie values embedded in JS (GH-148889)
Miss Islington (bot) [Thu, 23 Apr 2026 13:05:09 +0000 (15:05 +0200)] 
[3.14] gh-90309: Base64-encode cookie values embedded in JS (GH-148889)

(cherry picked from commit 76b3923d688c0efc580658476c5f525ec8735104)

Co-authored-by: Seth Larson <seth@python.org>
5 days ago[3.14] gh-148892: Drop mention of deprecated cibuildwheel option (GH-148893) (#148903)
Miss Islington (bot) [Thu, 23 Apr 2026 04:06:39 +0000 (06:06 +0200)] 
[3.14] gh-148892: Drop mention of deprecated cibuildwheel option (GH-148893) (#148903)

gh-148892: Drop mention of deprecated cibuildwheel option (GH-148893)
(cherry picked from commit 3b9397988d1f83740e7d73d17d56767976a583b4)

Co-authored-by: Nathan Goldbaum <nathan.goldbaum@gmail.com>
5 days ago[3.14] gh-119180: Document the `format` parameter in `typing.get_type_hints()` (GH...
Miss Islington (bot) [Thu, 23 Apr 2026 02:59:18 +0000 (04:59 +0200)] 
[3.14] gh-119180: Document the `format` parameter in `typing.get_type_hints()` (GH-143758) (#148901)

Do not mention `__annotations__` dictionaries, as this is slightly
outdated since 3.14.

Rewrite the note about possible exceptions for clarity. Also do not
mention imported type aliases, as since 3.12 aliases with the `type`
statement do not suffer from this limitation anymore.
(cherry picked from commit 8bf99ae3a9f12d105a70d6fda93dddde4adeee8f)

Co-authored-by: Victorien <65306057+Viicos@users.noreply.github.com>
5 days ago[3.14] gh-142965: Fix Concatenate documentation to reflect valid use cases (GH-143316...
Miss Islington (bot) [Thu, 23 Apr 2026 02:57:54 +0000 (04:57 +0200)] 
[3.14] gh-142965: Fix Concatenate documentation to reflect valid use cases (GH-143316) (#148899)

The documentation previously stated that Concatenate is only valid
when used as the first argument to Callable, but according to PEP 612,
it can also be used when instantiating user-defined generic classes
with ParamSpec parameters.
(cherry picked from commit 75ff1afcb6a1bb2b3d54899e9b222a61798fa491)

Co-authored-by: John Seong <39040639+sandole@users.noreply.github.com>
5 days ago[3.14] gh-146553: Fix infinite loop in typing.get_type_hints() on circular __wrapped_...
Miss Islington (bot) [Thu, 23 Apr 2026 02:57:38 +0000 (04:57 +0200)] 
[3.14] gh-146553: Fix infinite loop in typing.get_type_hints() on circular __wrapped__ (GH-148595) (#148895)

(cherry picked from commit be833e658aaf6703b0dd0c0dadb893d72cbe4c77)

Co-authored-by: Shamil <ashm.tech@proton.me>
5 days ago[3.14] gh-145194: Fix typing in re tokenizer example (GH-145198) (#148897)
Miss Islington (bot) [Thu, 23 Apr 2026 02:45:46 +0000 (04:45 +0200)] 
[3.14] gh-145194: Fix typing in re tokenizer example (GH-145198) (#148897)

(cherry picked from commit bd7352d8071dc00531f2c527977602729f2d3ec6)

Co-authored-by: Vikash Kumar <163628932+Vikash-Kumar-23@users.noreply.github.com>
5 days ago[3.14] Add a new Sphinx `soft-deprecated` directive (GH-148630) (#148714)
Hugo van Kemenade [Wed, 22 Apr 2026 21:41:40 +0000 (00:41 +0300)] 
[3.14] Add a new Sphinx `soft-deprecated` directive (GH-148630) (#148714)

Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
Co-authored-by: Stan Ulbrych <stan@python.org>
5 days ago[3.14] gh-148801: Fix unbound C recursion in `Element.__deepcopy__()` (GH-148802...
Stan Ulbrych [Wed, 22 Apr 2026 21:19:25 +0000 (22:19 +0100)] 
[3.14] gh-148801: Fix unbound C recursion in `Element.__deepcopy__()` (GH-148802) (#148842)

(cherry picked from commit 33e82be1746a964b595b2bba64f38a5787681eb3)

5 days ago[3.14] gh-148820: Fix _PyRawMutex use-after-free on spurious semaphore wakeup (gh...
Sam Gross [Wed, 22 Apr 2026 18:59:58 +0000 (14:59 -0400)] 
[3.14] gh-148820: Fix _PyRawMutex use-after-free on spurious semaphore wakeup (gh-148852) (#148884)

_PyRawMutex_UnlockSlow CAS-removes the waiter from the list and then
calls _PySemaphore_Wakeup, with no handshake. If _PySemaphore_Wait
returns Py_PARK_INTR, the waiter can destroy its stack-allocated
semaphore before the unlocker's Wakeup runs, causing a fatal error from
ReleaseSemaphore / sem_post.

Loop in _PyRawMutex_LockSlow until _PySemaphore_Wait returns Py_PARK_OK,
which is only signalled when a matching Wakeup has been observed.

Also include GetLastError() and the handle in the Windows fatal messages
in _PySemaphore_Init, _PySemaphore_Wait, and _PySemaphore_Wakeup to make
similar races easier to diagnose in the future.

(cherry picked from commit ad3c5b7958b890382f431a53349320cb7c84d405)

6 days ago[3.14] gh-146578: _zstd: Fix printf format for pledged size errors (GH-146576) (...
Miss Islington (bot) [Tue, 21 Apr 2026 20:31:46 +0000 (22:31 +0200)] 
[3.14] gh-146578: _zstd: Fix printf format for pledged size errors (GH-146576) (#148855)

gh-146578: _zstd: Fix printf format for pledged size errors (GH-146576)

Use %llu instead of %ull for unsigned long long in zstd_contentsize_converter ValueError messages.
(cherry picked from commit 09233bd19879284395aff97d7357b693893e6dd7)

Co-authored-by: cui <cuiweixie@gmail.com>
7 days ago[3.14] gh-148808: Add boundary check to asyncio.AbstractEventLoop.sock_recvf… (GH...
Miss Islington (bot) [Tue, 21 Apr 2026 16:26:19 +0000 (18:26 +0200)] 
[3.14] gh-148808: Add boundary check to asyncio.AbstractEventLoop.sock_recvf… (GH-148809) (#148837)

gh-148808: Add boundary check to asyncio.AbstractEventLoop.sock_recvf… (GH-148809)
(cherry picked from commit 1274766d3c29007ab77245a72abbf8dce2a9db4d)

Co-authored-by: Seth Larson <seth@python.org>
7 days ago[3.14] gh-146211: Reject CR/LF in HTTP tunnel request headers (GH-146212) (#148342)
Miss Islington (bot) [Tue, 21 Apr 2026 07:49:37 +0000 (09:49 +0200)] 
[3.14] gh-146211: Reject CR/LF in HTTP tunnel request headers (GH-146212) (#148342)

gh-146211: Reject CR/LF in HTTP tunnel request headers (GH-146212)
(cherry picked from commit 05ed7ce7ae9e17c23a04085b2539fe6d6d3cef69)

Co-authored-by: Seth Larson <seth@python.org>
Co-authored-by: Illia Volochii <illia.volochii@gmail.com>
7 days ago[3.14] gh-148814: Fix an issue in Emscripten README (GH-148752) (#148815)
Miss Islington (bot) [Mon, 20 Apr 2026 23:10:52 +0000 (01:10 +0200)] 
[3.14] gh-148814: Fix an issue in Emscripten README (GH-148752) (#148815)

Correct the description of the default state of test module compilation.
(cherry picked from commit d206d42834b2a34aee11b048357131371cf6947d)

Co-authored-by: Stan Ulbrych <stan@python.org>
8 days ago[3.14] Docs: Fix some typos in `calendar.rst` (GH-148756) (GH-148795)
Miss Islington (bot) [Mon, 20 Apr 2026 14:43:12 +0000 (16:43 +0200)] 
[3.14] Docs: Fix some typos in `calendar.rst` (GH-148756) (GH-148795)

Docs: Fix some typos in `calendar.rst` (GH-148756)
(cherry picked from commit 983c7462d65abc82d80345aa4769c1907522f310)

Co-authored-by: Manoj K M <manojkmdev24@gmail.com>
8 days ago[3.14] gh-148788: Update Emscripten example post move to Platforms dir (GH-148761...
Miss Islington (bot) [Mon, 20 Apr 2026 02:36:44 +0000 (04:36 +0200)] 
[3.14] gh-148788: Update Emscripten example post move to Platforms dir (GH-148761) (#148789)

Update Emscripten example post move to Platforms dir.
(cherry picked from commit a00b24ec6832f0972823fb0a453a547113fbd55f)

Co-authored-by: Stan Ulbrych <stan@python.org>
8 days ago[3.14] gh-148763: Fix paramter name in `multiprocessing.connection.send_bytes/recv_by...
Miss Islington (bot) [Mon, 20 Apr 2026 00:11:52 +0000 (02:11 +0200)] 
[3.14] gh-148763: Fix paramter name in `multiprocessing.connection.send_bytes/recv_bytes_into` docs (GH-126603) (#148786)

gh-148763: Fix paramter name in `multiprocessing.connection.send_bytes/recv_bytes_into` docs (GH-126603)
(cherry picked from commit e50acef0b2c2057874a9eec98c37ca6cf8ee98e1)

Doc: Fix buf argument name in multiprocessing connection send_bytes

Co-authored-by: Matthew Davis <7035647+mdavis-xyz@users.noreply.github.com>
8 days ago[3.14] gh-148779: Update Briefcase link in android.rst documentation (GH-148777)...
Miss Islington (bot) [Sun, 19 Apr 2026 21:50:07 +0000 (23:50 +0200)] 
[3.14] gh-148779: Update Briefcase link in android.rst documentation (GH-148777) (#148780)

Use canonical beeware.org URL for link to Briefcase.
(cherry picked from commit 82767780f8de2fc492567ceb6a590101ae3b19ad)

Co-authored-by: partev <petrosyan@gmail.com>
9 days ago[3.14] gh-121946: Use clang-20 for TSan build (GH-148570) (#148755)
Miss Islington (bot) [Sun, 19 Apr 2026 15:38:57 +0000 (17:38 +0200)] 
[3.14] gh-121946: Use clang-20 for TSan build (GH-148570) (#148755)

Co-authored-by: Sam Gross <colesbury@gmail.com>
9 days ago[3.14] Prevent GitHub's web conflict editor from converting LF to CRLF (GH-148739...
Miss Islington (bot) [Sun, 19 Apr 2026 09:46:41 +0000 (11:46 +0200)] 
[3.14] Prevent GitHub's web conflict editor from converting LF to CRLF (GH-148739) (#148748)

Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
9 days ago[3.14] gh-133403: Add type annotations to generate_levenshtein_examples.py (GH-143317...
Miss Islington (bot) [Sun, 19 Apr 2026 09:22:26 +0000 (11:22 +0200)] 
[3.14] gh-133403: Add type annotations to generate_levenshtein_examples.py (GH-143317) (#148734)

Co-authored-by: John Seong <39040639+sandole@users.noreply.github.com>
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
10 days ago[3.14] gh-148653: Fix reference leaks in test_marshal introduced in gh-148698 (GH...
Miss Islington (bot) [Sat, 18 Apr 2026 12:35:51 +0000 (14:35 +0200)] 
[3.14] gh-148653: Fix reference leaks in test_marshal introduced in gh-148698 (GH-148725) (GH-148727)

(cherry picked from commit 7ce737ea11919aebf7eef174f910759e74d0ea50)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
10 days ago[3.14] gh-148653: Fix some marshal errors related to recursive immutable objects...
Serhiy Storchaka [Sat, 18 Apr 2026 08:57:55 +0000 (11:57 +0300)] 
[3.14] gh-148653: Fix some marshal errors related to recursive immutable objects (GH-148698) (GH-148711)

Forbid marshalling recursive code and slice objects which
cannot be correctly unmarshalled.
Add multiple tests for recursive data structures.
(cherry picked from commit 2e37d836411e99cff7bb341ba14be5ea95fac08c)

10 days ago[3.14] gh-148222: Fix NULL dereference bugs in genericaliasobject.c (GH-148226) ...
Miss Islington (bot) [Sat, 18 Apr 2026 00:47:06 +0000 (02:47 +0200)] 
[3.14] gh-148222: Fix NULL dereference bugs in genericaliasobject.c (GH-148226) (#148705)

gh-148222: Fix NULL dereference bugs in genericaliasobject.c (GH-148226)
(cherry picked from commit 634568d030f18183212c01bd4544aa7f97e05442)

Co-authored-by: Prakash Sellathurai <prakashsellathurai@gmail.com>
11 days ago[3.14] gh-148651: Fix refcount leak in _zstd decompressor options (GH-148657) (#148691)
Miss Islington (bot) [Fri, 17 Apr 2026 16:07:54 +0000 (18:07 +0200)] 
[3.14] gh-148651: Fix refcount leak in _zstd decompressor options (GH-148657) (#148691)

gh-148651: Fix refcount leak in _zstd decompressor options (GH-148657)

The option parsing in Modules/_zstd/decompressor.c had a missing Py_DECREF(value) before the early return -1 when PyLong_AsInt(key) fails. The identical code in Modules/_zstd/compressor.c line 158 has the fix.
(cherry picked from commit 446edda20919447fdc8b5a43f2f2ae686df82e6a)

Co-authored-by: Michael Bommarito <michael.bommarito@gmail.com>
12 days ago[3.14] gh-148535: Don't use gcc -fprofile-update=atomic flag on i686 (GH-148554)...
Miss Islington (bot) [Thu, 16 Apr 2026 17:46:06 +0000 (19:46 +0200)] 
[3.14] gh-148535: Don't use gcc -fprofile-update=atomic flag on i686 (GH-148554) (#148655)

gh-148535: Don't use gcc -fprofile-update=atomic flag on i686 (GH-148554)

The -fprofile-update=atomic flag was added to fix a random GCC
internal error on PGO build (gh-145801) caused by corruption of
profile data (.gcda files). The problem is that it makes the PGO
build way slower (up to 47x slower) on i686. Since the GCC internal
error was not seen on i686 so far, don't use -fprofile-update=atomic
on i686.
(cherry picked from commit 2faceeec5c0fb06498a9654d429180ac4610c65a)

Co-authored-by: Victor Stinner <vstinner@python.org>
12 days ago[3.14] gh-137814: Fix __qualname__ of __annotate__ functions in the interpreter ...
Jelle Zijlstra [Thu, 16 Apr 2026 04:52:43 +0000 (21:52 -0700)] 
[3.14] gh-137814: Fix __qualname__ of __annotate__ functions in the interpreter (#148221)

gh-137814: [3.14] Fix __qualname__ of __annotate__ functions in the interpreter

I'd still like to do #137842 on 3.15+, but that requires changing bytecode and we can't
really afford to do that in 3.14. So to fix this in 3.14, let's patch things up in the
ceval loop instead.

This is safe because the compiler only sets __annotate__ to just-created dedicated
annotate functions.

12 days agoAdd PyManager documentation for index signatures (GH-148631)
Miss Islington (bot) [Wed, 15 Apr 2026 21:54:01 +0000 (23:54 +0200)] 
Add PyManager documentation for index signatures (GH-148631)

(cherry picked from commit 54607eec34b42d377a12fe16697e61a1663a1f42)

Co-authored-by: Steve Dower <steve.dower@python.org>
13 days ago[3.14] gh-100305: Deemphasize that `ast.literal_eval` is safe in `eval` documentation...
Miss Islington (bot) [Wed, 15 Apr 2026 16:15:42 +0000 (18:15 +0200)] 
[3.14] gh-100305: Deemphasize that `ast.literal_eval` is safe in `eval` documentation (GH-100326) (#148420)

(cherry picked from commit b3b0cef0c2aacdc616fa48674552ab1e34553835)

Co-authored-by: Ram Vikram Singh <ramvikrams243@gmail.com>
Co-authored-by: Éric <merwok@netwok.org>
13 days ago[3.14] Docs: Use bash lexer for http.server CLI commands, not Python (GH-148612)...
Miss Islington (bot) [Wed, 15 Apr 2026 15:27:06 +0000 (17:27 +0200)] 
[3.14] Docs: Use bash lexer for http.server CLI commands, not Python (GH-148612) (#148620)

Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
13 days ago[3.14] tiny edit, fix a couple of minor typos in enum and sqlite3 docs (GH-148580...
Miss Islington (bot) [Wed, 15 Apr 2026 00:06:41 +0000 (02:06 +0200)] 
[3.14] tiny edit, fix a couple of minor typos in enum and sqlite3 docs (GH-148580) (#148581)

tiny edit, fix a couple of minor typos in enum and sqlite3 docs (GH-148580)

pair of minor doc typo fixes
(cherry picked from commit 236aa0a4e2106f98757e12a9f656f98d91f03c13)

Co-authored-by: Gregory P. Smith <68491+gpshead@users.noreply.github.com>
13 days ago[3.14] gh-137335: remove a mktemp use in multiprocessing.connection to avoid security...
Miss Islington (bot) [Wed, 15 Apr 2026 00:06:25 +0000 (02:06 +0200)] 
[3.14] gh-137335: remove a mktemp use in multiprocessing.connection to avoid security scanner noise (GH-148578) (#148583)

gh-137335: remove a mktemp use in multiprocessing.connection to avoid security scanner noise (GH-148578)

remove a mktemp use to avoid security scanner noise
(cherry picked from commit fd81246bd55e4fab1976a7cca3e5d42582dbdac0)

Co-authored-by: Gregory P. Smith <68491+gpshead@users.noreply.github.com>
13 days ago[3.14] gh-148186: Improve `assertCountEqual` description in docs. (GH-148463) (#148585)
Miss Islington (bot) [Tue, 14 Apr 2026 23:45:18 +0000 (01:45 +0200)] 
[3.14] gh-148186: Improve `assertCountEqual` description in docs. (GH-148463) (#148585)

gh-148186: Improve `assertCountEqual` description in docs. (GH-148463)
(cherry picked from commit 94d42bf5c2b95417d6187a57fef94570ba017e33)

Co-authored-by: Kliment Lamonov <klimentlamonov@yandex.ru>
2 weeks ago[3.14] gh-72406: Document argument ordering in argparse help output (GH-148534) ...
Miss Islington (bot) [Tue, 14 Apr 2026 17:42:10 +0000 (19:42 +0200)] 
[3.14] gh-72406: Document argument ordering in argparse help output (GH-148534) (#148562)

gh-72406: Document argument ordering in argparse help output (GH-148534)
(cherry picked from commit 4286227308ee8dafc867062df4cad73af2a84696)

Co-authored-by: Santi Hernandez <santi@santihdzs.com>
Co-authored-by: Savannah Ostrowski <savannah@python.org>
2 weeks ago[3.14] gh-148192: Fix Generator._make_boundary behavior with CRLF line endings. ...
Miss Islington (bot) [Tue, 14 Apr 2026 16:04:50 +0000 (18:04 +0200)] 
[3.14] gh-148192: Fix Generator._make_boundary behavior with CRLF line endings. (GH-148193) (#148550)

The Generator._make_boundary regex did not match on boundary phrases correctly when using CRLF line endings due to re.MULTILINE not considering \r\n as a line ending.
(cherry picked from commit 4af46b4ab5af49d8df034320a9a70fcbb062f7cf)

Co-authored-by: Henry Jones <44321887+henryivesjones@users.noreply.github.com>
2 weeks ago[3.14] gh-148487: Fix issues in `test_add_python_opts` (GH-148507) (#148545)
Miss Islington (bot) [Tue, 14 Apr 2026 10:12:42 +0000 (12:12 +0200)] 
[3.14] gh-148487: Fix issues in `test_add_python_opts` (GH-148507) (#148545)

gh-148487: Fix issues in `test_add_python_opts` (GH-148507)
(cherry picked from commit 44f1b987ed1908185d8021fd31703b2dd4d97e82)

Co-authored-by: Stan Ulbrych <stan@python.org>
2 weeks ago[3.14] gh-148508: Add resilience to SSL preauth tests on iOS (GH-148536) (#148539)
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>
2 weeks 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>
2 weeks 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>
2 weeks 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>
2 weeks 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>
2 weeks 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>
2 weeks 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>
2 weeks 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>
2 weeks 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>
2 weeks 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>
2 weeks 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>
2 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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>
2 weeks 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)

2 weeks 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>
2 weeks 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>
2 weeks 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>
2 weeks 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>
2 weeks 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>
2 weeks 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>
2 weeks 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>
2 weeks 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>
2 weeks 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>
2 weeks 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>
2 weeks 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>
2 weeks 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)

2 weeks 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>
3 weeks agoPost 3.14.4
Hugo van Kemenade [Tue, 7 Apr 2026 17:46:24 +0000 (20:46 +0300)] 
Post 3.14.4

3 weeks 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

3 weeks 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>
3 weeks 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>
3 weeks 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)

3 weeks 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>
3 weeks 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>
3 weeks 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>
3 weeks 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>