Commit Graph

129144 Commits

Author SHA1 Message Date
Miss Islington (bot) f795e04204 [3.14] gh-90309: Base64-encode cookie values embedded in JS (GH-148889)
(cherry picked from commit 76b3923d68)

Co-authored-by: Seth Larson <seth@python.org>
2026-04-23 15:05:09 +02:00
Miss Islington (bot) dd9a77ff2e [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 3b9397988d)

Co-authored-by: Nathan Goldbaum <nathan.goldbaum@gmail.com>
2026-04-23 04:06:39 +00:00
Miss Islington (bot) 032b1be5bb [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 8bf99ae3a9)

Co-authored-by: Victorien <65306057+Viicos@users.noreply.github.com>
2026-04-22 19:59:18 -07:00
Miss Islington (bot) 0a63bb8971 [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 75ff1afcb6)

Co-authored-by: John Seong <39040639+sandole@users.noreply.github.com>
2026-04-22 19:57:54 -07:00
Miss Islington (bot) 27cd23470a [3.14] gh-146553: Fix infinite loop in typing.get_type_hints() on circular __wrapped__ (GH-148595) (#148895)
(cherry picked from commit be833e658a)

Co-authored-by: Shamil <ashm.tech@proton.me>
2026-04-23 02:57:38 +00:00
Miss Islington (bot) 3c71d3654e [3.14] gh-145194: Fix typing in re tokenizer example (GH-145198) (#148897)
(cherry picked from commit bd7352d807)

Co-authored-by: Vikash Kumar <163628932+Vikash-Kumar-23@users.noreply.github.com>
2026-04-23 02:45:46 +00:00
Hugo van Kemenade 5b33424120 [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>
2026-04-23 00:41:40 +03:00
Stan Ulbrych 5f1b710a28 [3.14] gh-148801: Fix unbound C recursion in Element.__deepcopy__() (GH-148802) (#148842)
(cherry picked from commit 33e82be174)
2026-04-22 22:19:25 +01:00
Sam Gross e5d5541683 [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 ad3c5b7958)
2026-04-22 18:59:58 +00:00
Miss Islington (bot) 5aa8234cce [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 09233bd198)

Co-authored-by: cui <cuiweixie@gmail.com>
2026-04-21 13:31:46 -07:00
Miss Islington (bot) 27522b7d6e [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 1274766d3c)

Co-authored-by: Seth Larson <seth@python.org>
2026-04-21 21:56:19 +05:30
Miss Islington (bot) b1cf901633 [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 05ed7ce7ae)

Co-authored-by: Seth Larson <seth@python.org>
Co-authored-by: Illia Volochii <illia.volochii@gmail.com>
2026-04-21 10:49:37 +03:00
Miss Islington (bot) c235654cba [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 d206d42834)

Co-authored-by: Stan Ulbrych <stan@python.org>
2026-04-20 23:10:52 +00:00
Miss Islington (bot) c171c52c3c [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 983c7462d6)

Co-authored-by: Manoj K M <manojkmdev24@gmail.com>
2026-04-20 14:43:12 +00:00
Miss Islington (bot) 7b233c144f [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 a00b24ec68)

Co-authored-by: Stan Ulbrych <stan@python.org>
2026-04-20 02:36:44 +00:00
Miss Islington (bot) f283ac45e6 [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 e50acef0b2)


Doc: Fix buf argument name in multiprocessing connection send_bytes

Co-authored-by: Matthew Davis <7035647+mdavis-xyz@users.noreply.github.com>
2026-04-20 00:11:52 +00:00
Miss Islington (bot) ec1d8631b3 [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 82767780f8)

Co-authored-by: partev <petrosyan@gmail.com>
2026-04-19 21:50:07 +00:00
Miss Islington (bot) e9aacf90ec [3.14] gh-121946: Use clang-20 for TSan build (GH-148570) (#148755)
Co-authored-by: Sam Gross <colesbury@gmail.com>
2026-04-19 18:38:57 +03:00
Miss Islington (bot) f2a0dcbfac [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>
2026-04-19 09:46:41 +00:00
Miss Islington (bot) b0104a9cfe [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>
2026-04-19 12:22:26 +03:00
Miss Islington (bot) a37b105eec [3.14] gh-148653: Fix reference leaks in test_marshal introduced in gh-148698 (GH-148725) (GH-148727)
(cherry picked from commit 7ce737ea11)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2026-04-18 12:35:51 +00:00
Serhiy Storchaka d496c637a3 [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 2e37d83641)
2026-04-18 08:57:55 +00:00
Miss Islington (bot) 67100b3e92 [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 634568d030)

Co-authored-by: Prakash Sellathurai <prakashsellathurai@gmail.com>
2026-04-18 00:47:06 +00:00
Miss Islington (bot) 7f6a0c377b [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 446edda209)

Co-authored-by: Michael Bommarito <michael.bommarito@gmail.com>
2026-04-17 16:07:54 +00:00
Miss Islington (bot) 2fdccb3f88 [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 2faceeec5c)

Co-authored-by: Victor Stinner <vstinner@python.org>
2026-04-16 17:46:06 +00:00
Jelle Zijlstra 1c9de6bbaa [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.
2026-04-15 21:52:43 -07:00
Miss Islington (bot) 0a6bc082b7 Add PyManager documentation for index signatures (GH-148631)
(cherry picked from commit 54607eec34)

Co-authored-by: Steve Dower <steve.dower@python.org>
2026-04-15 21:54:01 +00:00
Miss Islington (bot) 0d2101de2a [3.14] gh-100305: Deemphasize that ast.literal_eval is safe in eval documentation (GH-100326) (#148420)
(cherry picked from commit b3b0cef0c2)

Co-authored-by: Ram Vikram Singh <ramvikrams243@gmail.com>
Co-authored-by: Éric <merwok@netwok.org>
2026-04-15 17:15:42 +01:00
Miss Islington (bot) 0968f332f4 [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>
2026-04-15 18:27:06 +03:00
Miss Islington (bot) bfbabb556c [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 236aa0a4e2)

Co-authored-by: Gregory P. Smith <68491+gpshead@users.noreply.github.com>
2026-04-14 17:06:41 -07:00
Miss Islington (bot) e590f007ed [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 fd81246bd5)

Co-authored-by: Gregory P. Smith <68491+gpshead@users.noreply.github.com>
2026-04-14 17:06:25 -07:00
Miss Islington (bot) 5dc69a6502 [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 94d42bf5c2)

Co-authored-by: Kliment Lamonov <klimentlamonov@yandex.ru>
2026-04-14 23:45:18 +00:00
Miss Islington (bot) d26fef174a [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 4286227308)

Co-authored-by: Santi Hernandez <santi@santihdzs.com>
Co-authored-by: Savannah Ostrowski <savannah@python.org>
2026-04-14 10:42:10 -07:00
Miss Islington (bot) b988157e87 [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 4af46b4ab5)

Co-authored-by: Henry Jones <44321887+henryivesjones@users.noreply.github.com>
2026-04-14 12:04:50 -04:00
Miss Islington (bot) 314f12c015 [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 44f1b987ed)

Co-authored-by: Stan Ulbrych <stan@python.org>
2026-04-14 10:12:42 +00:00
Miss Islington (bot) adb2a3ac51 [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 c40e8b016a)

Co-authored-by: Russell Keith-Magee <russell@keith-magee.com>
2026-04-14 12:41:37 +08:00
Miss Islington (bot) d42874a1ba [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 2662db0c45)

Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
2026-04-13 22:59:47 +00:00
Miss Islington (bot) 592c68cf6b [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 a5b76d53bb)

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>
2026-04-13 21:34:06 +00:00
Miss Islington (bot) 0b9332bc05 [3.14] InternalDocs: Correct struct path for latin1 singletons in string_interning.md (GH-148358) (#148492)
(cherry picked from commit 0274d8304e)

Co-authored-by: Stan Ulbrych <stan@python.org>
2026-04-13 18:52:55 +00:00
Miss Islington (bot) 1fa52c3c84 [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 19f96f99fe)

Co-authored-by: Sam Gross <colesbury@gmail.com>
2026-04-13 18:38:15 +00:00
Miss Islington (bot) e74e59d42a [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 8ecb6b8b0c)

Co-authored-by: Gleb Popov <gvpopov.dev@gmail.com>
2026-04-13 11:33:28 -07:00
Miss Islington (bot) 6a5f79c8d7 [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 8fc66aef6d)

Co-authored-by: Stan Ulbrych <stan@python.org>
2026-04-13 01:40:54 +00:00
Miss Islington (bot) 48c3c7fb73 [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 b29afe62f7)

Co-authored-by: Russell Keith-Magee <russell@keith-magee.com>
Co-authored-by: Malcolm Smith <smith@chaquo.com>
2026-04-13 09:13:49 +08:00
Miss Islington (bot) 82ab8fb666 [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 cef334fd4c)

Co-authored-by: Artem Yarulin <artem.yarulin@kapteko.com>
2026-04-12 18:13:14 -07:00
Miss Islington (bot) 942d3024b3 [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 8a398bfbbc)

Co-authored-by: Prometheus3375 <prometheus3375@gmail.com>
Co-authored-by: Sviataslau <35541026+Prometheus3375@users.noreply.github.com>
2026-04-12 21:45:43 +00:00
Miss Islington (bot) 7ecd85c032 [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 3a7df632c9)

Co-authored-by: Gregory P. Smith <68491+gpshead@users.noreply.github.com>
Co-authored-by: Itamar Oren <itamarost@gmail.com>
2026-04-12 10:08:23 -07:00
Miss Islington (bot) a89b2419e0 [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 3ab94d6842)

Co-authored-by: Sam Gross <colesbury@gmail.com>
2026-04-12 15:05:34 +00:00
Miss Islington (bot) a9d122fb05 [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 e2fa10e04d)

Co-authored-by: Wulian233 <1055917385@qq.com>
2026-04-12 00:52:21 +00:00
Miss Islington (bot) a4f9bbf5b8 [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 22290ed011)

Co-authored-by: WYSIATI <chester.lee.cold@gmail.com>
2026-04-12 00:51:58 +00:00
Miss Islington (bot) 47b916e213 [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 70b86e7829)

Co-authored-by: Stan Ulbrych <stan@python.org>
2026-04-11 17:10:41 -07:00