Commit graph

131317 commits

Author SHA1 Message Date
Miss Islington (bot)
f488c7d45f
[3.15] Fix minor typos in unicode.rst (GH-149587) (#149620)
Fix minor typos in unicode.rst (GH-149587)
(cherry picked from commit 4e97ff3351)

Co-authored-by: Manoj K M <manojkmdev24@gmail.com>
2026-05-09 21:39:35 +00:00
Miss Islington (bot)
212e996cba
[3.15] gh-149388: Make asyncio PipeHandle.close idempotent (GH-149518) (#149605)
gh-149388: Make asyncio `PipeHandle.close` idempotent (GH-149518)
(cherry picked from commit 7241f2739c)

Co-authored-by: Max Schmitt <max@schmitt.mx>
2026-05-09 20:38:34 +05:30
Miss Islington (bot)
dc8c32e59d
[3.15] gh-149430: Fix edge-cases in profiling.sampling outputs (GH-149431) (#149602)
gh-149430: Fix edge-cases in `profiling.sampling` outputs (GH-149431)

The line highlights on the heatmap are driven by the URL hash and the
`:target` selector. When clicking a caller/callee link for the line that
was already selected, the hash doesn't change, so the browser keeps the
existing target state and doesn't restart the animation. Due to this the
highlight only works the first time.

With this fix, line navigation goes through JavaScript. If the target
URL already points to the current location, the highlight is replayed by
clearing the animation, forcing style recalculation, and restoring it.

The `baseline_self` variable isn't initialized for structural elided
roots. This variable is accessed later unconditionally and leads to a
crash.

The child process ends up being invoked with `--diff_flamegraph` instead
of the correct argument.
(cherry picked from commit 9587726a3e)

Co-authored-by: László Kiss Kollár <kiss.kollar.laszlo@gmail.com>
2026-05-09 13:33:05 +00:00
Miss Islington (bot)
915b6c1572
[3.15] gh-149083: Convert _initial_missing for pure py reduce to sentinel (GH-149536) (#149592)
gh-149083: Convert `_initial_missing` for pure py `reduce` to `sentinel` (GH-149536)
(cherry picked from commit bc8cf07d8d)

Co-authored-by: sobolevn <mail@sobolevn.me>
2026-05-09 08:27:29 +00:00
Miss Islington (bot)
2b1eed460d
[3.15] gh-149474: use Py_fopen in Binary{Reader,Writer} for audit hook and path-like support (GH-149524) (#149586)
gh-149474: use `Py_fopen` in `Binary{Reader,Writer}` for audit hook and path-like support (GH-149524)
(cherry picked from commit 354ef336e4)

Co-authored-by: Maurycy Pawłowski-Wieroński <maurycy@maurycy.com>
2026-05-09 00:28:21 +00:00
Miss Islington (bot)
bb060b82f6
[3.15] gh-79638: Test other HTTP error codes besides 403 in test_robotparser (GH-149569) (GH-149580)
Also, use urllib.request.urlcleanup() in NetworkTestCase.
(cherry picked from commit 57ef219950)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2026-05-08 20:53:55 +00:00
Miss Islington (bot)
0bdbc48101
[3.15] Rename fp unwind test module to C stack unwind (GH-149563) (#149565) 2026-05-08 14:24:49 +00:00
Miss Islington (bot)
54a187d3b3
[3.15] Skip GNU backtrace test on Arm 32-bit (GH-149493) (#149562) 2026-05-08 13:32:59 +00:00
Miss Islington (bot)
333b7c54c0
[3.15] Add Diego as author of PEP 831 (GH-149551) (#149561) 2026-05-08 13:06:08 +00:00
Miss Islington (bot)
f9e5975deb
[3.15] gh-149459: Fix segfault when _LOAD_SPECIAL guard deoptimizes (GH-149478) (#149552)
gh-149459: Fix segfault when `_LOAD_SPECIAL` guard deoptimizes (GH-149478)
(cherry picked from commit c341e341b2)

Co-authored-by: Hai Zhu <haiizhu@outlook.com>
2026-05-08 11:48:04 +00:00
Miss Islington (bot)
b922b42be7
[3.15] gh-145176: Update CODEOWNERS for Emscripten migration to Platforms directory (GH-149544) (#149550)
gh-145176: Update CODEOWNERS for Emscripten migration to Platforms directory (GH-149544)
(cherry picked from commit 52a05e8da7)

Co-authored-by: Malcolm Smith <smith@chaquo.com>
2026-05-08 11:09:06 +00:00
Miss Islington (bot)
20e298bc37
[3.15] docs: Clarify docs for error case of PyDict_GetItemRef (GH-149506) (#149546)
docs: Clarify docs for error case of `PyDict_GetItemRef` (GH-149506)
(cherry picked from commit 3565d31690)

Co-authored-by: Nathan Goldbaum <nathan.goldbaum@gmail.com>
2026-05-08 16:36:52 +05:30
Miss Islington (bot)
831dac8b51
[3.15] gh-146445: Update CODEOWNERS for Android and iOS migration to Platforms directory (GH-149543) (#149545)
gh-146445: Update CODEOWNERS for Android and iOS migration to Platforms directory (GH-149543)
(cherry picked from commit 5b58fbc07c)

Co-authored-by: Malcolm Smith <smith@chaquo.com>
2026-05-08 10:33:35 +00:00
Miss Islington (bot)
5cb915da44
[3.15] gh-149481: skip FOR_ITER inline specialization for Python __next__ (GH-149491) (#149523)
gh-149481: skip `FOR_ITER` inline specialization for Python `__next__` (GH-149491)
(cherry picked from commit 49918f5b0c)

Co-authored-by: Neko Asakura <neko.asakura@outlook.com>
Co-authored-by: Savannah Ostrowski <savannah@python.org>
Co-authored-by: Stan Ulbrych <stan@python.org>
2026-05-07 19:08:12 -07:00
Miss Islington (bot)
b311ea8691
[3.15] Improve error messages when the WASI SDK can't be found (GH-149519)
(cherry picked from commit b142878db1)

Co-authored-by: Brett Cannon <brett@python.org>
2026-05-07 22:27:34 +00:00
Zachary Ware
4caee143d2
[3.15] Forward-port 'check-abi' CI job from 3.14 (GH-149517)
Also add the python3.15.abi file as generated by the new job and remove
the 'main branch only' entry from .gitignore.

(adapted from commit 0eb2291a7e)
2026-05-07 22:15:06 +00:00
Hugo van Kemenade
e81025e6d2 Post 3.15.0b1 2026-05-07 19:01:11 +03:00
Hugo van Kemenade
f31a89bb90 Python 3.15.0b1 2026-05-07 16:26:31 +03:00
Diego Russo
299cf3c497
gh-126910: Update 3.15 what's new to include GDB/backtrace integration (#149494)
Update 3.15 what's new to include GDB/backtrace intergration
2026-05-07 16:05:29 +03:00
Neil Schemenauer
13188dbf85
gh-148937: revert process RSS based GC deferral (#149475) 2026-05-07 14:32:14 +03:00
Victor Stinner
b3cfd36ba4
gh-149202: Don't use -fno-omit-frame-pointer on ppc64le (#149485)
The power ABI specification requires that compilers maintain a back
chain by default, so unwinding already works without a dedicated
frame pointer. Don't use -fno-omit-frame-pointer on ppc64le.
2026-05-07 11:47:08 +02:00
Petr Viktorin
612140e7dd
gh-149202: Fix frame pointer unwinding on ppc64le and armv7/clang (#149409)
- ppc64's backchain format is also different from x86
- On 32-bit ARM, clang needs `-mno-thumb`, not `-marm` like GCC
2026-05-07 10:37:00 +02:00
Ned Deily
5fcab14c35
gh-142295: Update macOS framework build Info.plist files. (#149479)
For Python macOS framework builds, update all Info.plist files to be more
compliant with current Apple guidelines. Original patch contributed by
Martinus Verburg.
2026-05-06 23:52:23 -04:00
Martinus Verburg
65ed109b5d
gh-142295: Update CFBundleShortVersionString in Mac framework Info.plist (#143064)
Updated macOS framework Info.plist to use x.y.z format for CFBundleShortVersionString to comply with Apple guidelines. Patch contributed by Martinus Verburg.
2026-05-06 23:07:17 -04:00
Peter Bierma
2b7c28a440
gh-149101: Implement PEP 788 (GH-149116)
Co-authored-by: Petr Viktorin <encukou@gmail.com>
Co-authored-by: Sam Gross <colesbury@gmail.com>
2026-05-06 17:39:30 -04:00
Ned Batchelder
b2582a6cf2
Update Doc/pylock.toml (#149467)
update Doc/pylock.toml
2026-05-06 16:05:30 -04:00
Jelle Zijlstra
ff422bd1c1
gh-141560: Add annotation_format parameter to getfullargspec (#149457) 2026-05-06 12:00:56 -07:00
David Ellis
8cad740557
gh-148823: Avoid importing _colorize when creating an ArgumentParser (#148827)
Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
Co-authored-by: Savannah Ostrowski <savannah@python.org>
2026-05-06 18:24:18 +00:00
Alexis Dauphin
947c8ea3bc
gh-148599: Update WSA socket error codes (#148033) 2026-05-06 19:52:23 +02:00
Hugo van Kemenade
9514dd750c
gh-133879: Copyedit "What's new in Python 3.15" (#149451) 2026-05-06 20:33:08 +03:00
Hugo van Kemenade
7cea70e14d
gh-144384: Lazily import _colorize (#149318) 2026-05-06 16:07:43 +00:00
Zachary Ware
d13fc36f73
gh-124111: Only set TCLSH_NATIVE for AMD64/ARM64 (GH-149443)
The Tcl 9 makefile.vc now uses TCLSH_NATIVE during the build process,
not just the installation.  We had been setting it to the installed
location of the x86 tclsh.exe, which does not yet exist when the x86
build process needs it.  That build doesn't actually need TCLSH_NATIVE,
though (there's a check specifically allowing TCLSH to be used if
MACHINE is IX86 and TCLSH_NATIVE is undefined), so don't set it.
2026-05-06 11:04:42 -05:00
Zachary Ware
1dcc546d84
Rewrite RTD configuration to use build.jobs rather than build.commands (GH-149429)
As part of this conversion, we now ensure that we're comparing against the
merge-base of the PR branch and the base branch when checking whether an RTD
build is worthwhile, deepening the history of the base branch by up to 500
commits if necessary.  If the merge-base can't be found or there are merge
conflicts with the head of the base branch, the build is skipped since it would
give a warped perception of the actual changes anyway.

This unfortunately does nothing about RTD preview comments comparing against
the wrong base, other than skipping builds that shouldn't produce any diff at
all thus avoiding the comment.

Co-authored-by: 🇺🇦 Sviatoslav Sydorenko (Святослав Сидоренко) <wk.cvs.github@sydorenko.org.ua>
2026-05-06 10:44:47 -05:00
Pablo Galindo Salgado
4ed40146f1
gh-149202: Fix frame pointer unwinding on s390x and ARM (GH-149362)
-fno-omit-frame-pointer is not enough to make every target walkable by the
simple manual frame pointer unwinder.

The helper used by test_frame_pointer_unwind used to assume the frame pointer
named a two-word record where fp[0] was the previous frame pointer and fp[1]
was the return address. That is only the generic layout used by some targets.
This patch keeps that default, but moves the slots behind named offsets so
architecture-specific layouts can describe where the backchain and return
address really live.

On s390x, GCC and Clang do not emit a usable backchain unless -mbackchain is
enabled. Without it, the unwinder stops at the current C frame and the test
reports no Python frames. Once backchains are present, the helper must also
stop at the current thread's known C stack bounds; otherwise it can follow the
final backchain far enough to dereference an invalid frame and segfault.
For Linux s390x backchain frames, the documented z/Architecture stack-frame
layout saves r14, the return-address register, at byte offset 112 from the
frame pointer, so read the return address from that named slot instead of fp[1].

The 112-byte offset comes from Linux's s390 debugging documentation: its Stack
Frame Layout table shows z/Architecture backchain frames with the backchain at
offset 0 and saved r14 of the caller function at offset 112:
https://www.kernel.org/doc/html/v5.3/s390/debugging390.html#stack-frame-layout

This helper remains scoped to Linux s390x backchain frames. GNU SFrame's s390x
notes state that the s390x ELF ABI does not generally mandate where RA and FP
are saved, or whether they are saved at all:
https://sourceware.org/binutils/docs/sframe-spec.html#s390x

As Jens Remus noted, -fno-omit-frame-pointer is not needed when -mbackchain is
present.

On 32-bit ARM, GCC defaults to Thumb mode on common armhf toolchains. The Thumb
prologue keeps the saved frame pointer and link register at offsets that depend
on the generated frame, which breaks the fp[0]/fp[1] walk used by the helper.
Use -marm when it is supported for frame-pointer builds, and teach the helper
the GCC ARM-mode slots where the previous frame pointer is at fp[-1] and the
saved LR return address is at fp[0].


Co-authored-by: Petr Viktorin <encukou@gmail.com>
Co-authored-by: Victor Stinner <vstinner@python.org>
2026-05-06 15:03:37 +00:00
Alex Malyshev
646853df13
gh-145559: Add PyUnstable_DumpTraceback() and PyUnstable_DumpTracebackThreads() (#148145)
Co-authored-by: Petr Viktorin <encukou@gmail.com>
Co-authored-by: Victor Stinner <vstinner@python.org>
2026-05-06 15:01:12 +00:00
Bénédikt Tran
7b6c248d61
gh-142307: deprecate legacy support for altering IMAP4.file (#142335)
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
2026-05-06 17:41:26 +03:00
Serhiy Storchaka
a5c7a74418
gh-139489: Add xml.is_valid_text() (GH-149412) 2026-05-06 14:40:10 +00:00
Victor Stinner
9274d969f3
gh-148675: Optimize arraydescr structure: use char[3] (GH-149455)
Replace "const char *typecode;" with "char typecode[3];" to make the
arraydescr structure smaller and avoids an indirection.
2026-05-06 16:28:11 +02:00
Jeff Lyon
aeb02ac42b
gh-137586: Replace 'osascript' with 'open' on macOS in webbrowser (#146439)
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
Co-authored-by: Gregory P. Smith <greg@krypto.org>
2026-05-06 16:56:17 +03:00
Daniele Parmeggiani
1bdfc0f253
gh-146270: Fix PyMember_SetOne(..., NULL) not being atomic (gh-148800)
Fixes a sequential consistency bug whereby two threads that are deleting a struct member may observe both their deletions to be successful.
2026-05-06 09:50:24 -04:00
Hugo van Kemenade
e7613f2735
gh-148766: Add colour to Python help (#148767) 2026-05-06 16:48:04 +03:00
Sergey B Kirpichev
ffa4d47abd
gh-146238: Add missing tests for 'e', 'Zf' and 'Zd' array type codes in test_buffer (#149345)
This amends e79fd60.  I'll not fix this for 'F'/'D' complex types as
they might be removed.
2026-05-06 15:14:49 +02:00
Wulian233
0b75b7338d
gh-100239: specialize mixed int/float inplace binary ops (GH-149413) 2026-05-06 13:59:08 +01:00
sobolevn
347f53853f
gh-149415: Replace typing._LazyAnnotationLib with lazy import (#149416) 2026-05-06 12:58:45 +00:00
Guo Ci
70e365c0ca
Replace use of Python keyword in issubclass function documentation (#142357) 2026-05-06 15:08:13 +03:00
Barry Warsaw
762c9f95ae
gh-148641: Flesh out PEP 829 for What's New (#149347)
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
2026-05-06 11:22:54 +00:00
Diego Russo
6b359a24a6
Add the posix dependencies to Ubuntu JIT builds (#149422) 2026-05-06 09:20:11 +00:00
Diego Russo
055cbf04ab
Skip test_jit when the JIT backend is "interpreter" (GH-149423) 2026-05-06 09:20:33 +01:00
Shrey Naithani
970b0433f4
gh-148615: Handle -- separator in pdb argument parsing (#148624) 2026-05-05 21:22:58 -07:00
Zachary Ware
2140b14a9b
gh-124111: Fix tclWin32Exe value in tcltk.props for Tcl 9 (GH-149441) 2026-05-06 03:48:00 +00:00