]> git.ipfire.org Git - thirdparty/Python/cpython.git/log
thirdparty/Python/cpython.git
79 min ago[3.15] gh-142349: Add `help("lazy")` support (GH-149886) (#149889) 3.15
Miss Islington (bot) [Fri, 15 May 2026 16:57:59 +0000 (18:57 +0200)] 
[3.15] gh-142349: Add `help("lazy")` support (GH-149886) (#149889)

gh-142349: Add `help("lazy")` support (GH-149886)
(cherry picked from commit 8be3fb1b50ce6b01bf0924f0a0362a5e04af83b4)

Co-authored-by: sobolevn <mail@sobolevn.me>
4 hours ago[3.15] gh-149786: Fixes venvlauncher builds on Windows free-threaded (GH-149847)
Miss Islington (bot) [Fri, 15 May 2026 14:12:05 +0000 (16:12 +0200)] 
[3.15] gh-149786: Fixes venvlauncher builds on Windows free-threaded (GH-149847)

(cherry picked from commit 1c5fe21eb2a65190c04bb3f4c0931d76f5ccf415)

Co-authored-by: Steve Dower <steve.dower@python.org>
4 hours ago[3.15] gh-138489: Add build-details.json generation to PC/layout (GH-149153)
Miss Islington (bot) [Fri, 15 May 2026 13:19:39 +0000 (15:19 +0200)] 
[3.15] gh-138489: Add build-details.json generation to PC/layout (GH-149153)

(cherry picked from commit 4aa296f9c4a85a7badc09bf7ca6ede36cd8cd14c)

Co-authored-by: Steve Dower <steve.dower@python.org>
5 hours ago[3.15] gh-149816: Fix race condition in `memoryview` with free-threading (GH-149858...
Miss Islington (bot) [Fri, 15 May 2026 13:07:18 +0000 (15:07 +0200)] 
[3.15] gh-149816: Fix race condition in `memoryview` with free-threading (GH-149858) (#149875)

gh-149816: Fix race condition in `memoryview` with free-threading (GH-149858)
(cherry picked from commit 1fdf0337742762cc47837042747cc607f024a202)

Co-authored-by: sobolevn <mail@sobolevn.me>
6 hours ago[3.15] gh-149801: Add IANA registered names and aliases with leading zeros (GH-149804...
Miss Islington (bot) [Fri, 15 May 2026 12:08:15 +0000 (14:08 +0200)] 
[3.15] gh-149801: Add IANA registered names and aliases with leading zeros (GH-149804) (GH-149870)

Like IBM00858, CP00858, IBM01140, CP01140.
(cherry picked from commit 20438866aefc2e63949d8bb85d8f8e55633fd977)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
6 hours ago[3.15] gh-148675: Use a string for ctypes cparam tag (GH-149778) (#149869)
Miss Islington (bot) [Fri, 15 May 2026 11:52:55 +0000 (13:52 +0200)] 
[3.15] gh-148675: Use a string for ctypes cparam tag (GH-149778) (#149869)

gh-148675: Use a string for ctypes cparam tag (GH-149778)
(cherry picked from commit 3ecca22567249ae44bf4369fbdb4d6d056701405)

Co-authored-by: Victor Stinner <vstinner@python.org>
6 hours ago[3.15] gh-149707: Fix compiler warning in _ctypes_test on strchr() (#149791) (#149865)
Victor Stinner [Fri, 15 May 2026 11:36:21 +0000 (13:36 +0200)] 
[3.15] gh-149707: Fix compiler warning in _ctypes_test on strchr() (#149791) (#149865)

gh-149707: Fix compiler warning in _ctypes_test on strchr() (#149791)

Change my_strchr() return type to "const char*" (add "const").

Fix the compiler warning:

Modules/_ctypes/_ctypes_test.c: In function 'my_strchr':
Modules/_ctypes/_ctypes_test.c:451:12: warning: return discards
'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
  451 |     return strchr(s, c);
      |            ^~~~~~

When using C23, strchr(text, ch) return type is "const char*" if text
type is "const char*".

(cherry picked from commit 5465b69255890650df99debb8256e0a7bc68138b)

7 hours ago[3.15] gh-87451: Apply CVE-2021-4189 PASV fix to ftplib.ftpcp() (GH-149648) (#149792)
Miss Islington (bot) [Fri, 15 May 2026 10:50:45 +0000 (12:50 +0200)] 
[3.15] gh-87451: Apply CVE-2021-4189 PASV fix to ftplib.ftpcp() (GH-149648) (#149792)

gh-87451: Apply CVE-2021-4189 PASV fix to ftplib.ftpcp() (GH-149648)

ftpcp() called parse227() directly and passed the source server's
self-reported PASV IPv4 address to the target server's PORT command,
bypassing the CVE-2021-4189 fix that was applied only to FTP.makepasv().
A malicious source FTP server could use this to redirect the target
server's data connection to an arbitrary host:port (SSRF).

ftpcp() now uses the source server's actual peer address, honoring the
existing trust_server_pasv_ipv4_address opt-out, the same as makepasv().

Thanks to Qi Ding at Aurascape AI for the report. (GHSA-w8c5-q2xf-gf7c)
(cherry picked from commit eac4fe3b2c77693790a5ef7dfab127c1fee81bf9)

Co-authored-by: Gregory P. Smith <68491+gpshead@users.noreply.github.com>
10 hours ago[3.15] gh-149763: Improve availablity docs in `select.rst` (GH-149764) (#149854)
Miss Islington (bot) [Fri, 15 May 2026 07:24:43 +0000 (09:24 +0200)] 
[3.15] gh-149763: Improve availablity docs in `select.rst` (GH-149764) (#149854)

gh-149763: Improve availablity docs in `select.rst` (GH-149764)
(cherry picked from commit 7e98debdf4bfcf1c3f592c9424bc654117c2723e)

Co-authored-by: sobolevn <mail@sobolevn.me>
19 hours ago[3.15] gh-149144: Use decodeURIComponent() for UTF-8 support in js_output() (GH-14915...
Miss Islington (bot) [Thu, 14 May 2026 22:38:11 +0000 (00:38 +0200)] 
[3.15] gh-149144: Use decodeURIComponent() for UTF-8 support in js_output() (GH-149157) (GH-149846)

gh-149144: Use decodeURIComponent() for UTF-8 support in js_output() (GH-149157)
(cherry picked from commit 461b1d96313de02992d284c1782be9aff24586c9)

Co-authored-by: Seth Larson <seth@python.org>
23 hours ago[3.15] gh-124111: Update Windows build to use Tcl/Tk 9.0.3 (GH-149842)
Miss Islington (bot) [Thu, 14 May 2026 18:49:29 +0000 (20:49 +0200)] 
[3.15] gh-124111: Update Windows build to use Tcl/Tk 9.0.3 (GH-149842)

(cherry picked from commit c62c3710dc795a60c3c3dc8e2aeeeb16c06da197)

Co-authored-by: Zachary Ware <zach@python.org>
25 hours ago[3.15] gh-149231: Revert extra NEWS entry (GH-149840)
Petr Viktorin [Thu, 14 May 2026 17:16:23 +0000 (19:16 +0200)] 
[3.15] gh-149231: Revert extra NEWS entry (GH-149840)

gh-149231: Revert extra NEWS entry

This reverts commit dc7cad2f5db834aefb5ecabebc6f25bbb898381b.

25 hours ago[3.15] Link to existing rules in compound_stmts.rst (GH-149811) (GH-149836)
Miss Islington (bot) [Thu, 14 May 2026 17:09:05 +0000 (19:09 +0200)] 
[3.15] Link to existing rules in compound_stmts.rst (GH-149811) (GH-149836)

Link to existing rules in compound_stmts.rst (GH-149811)

In gh-138418, `!` was added to links to rules that don't exist in
the docs, in order to silence broken link warnings.
However, productionlist doesn't parse the `!`, which ends up in
the rendered documentation. (It's possible that gh-127835 broke
the `!` support.)

Replace the names with ones that appear in docs:

- `star_named_expression` in the grammar corresponds to
  `flexible_expression` in the docs
- `star_named_expressions` in the grammar corresponds to
  `flexible_expression_list` in the docs
- `named_expression` in the grammar corresponds to
  `assignment_expression` in the docs

Having two sets of names isn't great of course. Consolidating them
is tracked in (subissues of) gh-127833.
(cherry picked from commit c37529293d1e05081cb4e8668162c76583b88007)

Co-authored-by: Petr Viktorin <encukou@gmail.com>
31 hours ago[3.15] gh-148821: Add more tests for invalid XML encodings (GH-149820) (GH-149821)
Miss Islington (bot) [Thu, 14 May 2026 10:37:11 +0000 (12:37 +0200)] 
[3.15] gh-148821: Add more tests for invalid XML encodings (GH-149820) (GH-149821)

(cherry picked from commit c6f7368157ecf9f2cdd537d8b6fad6e011bce344)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
33 hours ago[3.15] gh-149698: Update bundled expat to 2.8.1 (GH-149699) (#149812)
Miss Islington (bot) [Thu, 14 May 2026 08:52:51 +0000 (10:52 +0200)] 
[3.15] gh-149698: Update bundled expat to 2.8.1 (GH-149699) (#149812)

(cherry picked from commit f1a47e79fb7081d3cde6364530bfa98240ebbe4c)

Co-authored-by: Stan Ulbrych <stan@python.org>
42 hours ago[3.15] Fix incorrect sentence in stable.rst (GH-149684) (GH-149814)
Miss Islington (bot) [Wed, 13 May 2026 23:34:59 +0000 (01:34 +0200)] 
[3.15] Fix incorrect sentence in stable.rst (GH-149684) (GH-149814)

(cherry picked from commit 374f9d3f5e70d2204d88ab123f29825d71537de2)

Co-authored-by: Manoj K M <manojkmdev24@gmail.com>
42 hours ago[3.15] gh-149231: tomllib: Limit the number of parts in a key (GH-149233) (GH-149677)
Miss Islington (bot) [Wed, 13 May 2026 23:24:29 +0000 (01:24 +0200)] 
[3.15] gh-149231: tomllib: Limit the number of parts in a key (GH-149233) (GH-149677)

(cherry picked from commit bc7c102f3462a9f014f3ac2546acfb471b2a7eae)

Co-authored-by: Petr Viktorin <encukou@gmail.com>
Co-authored-by: Stan Ulbrych <stan@python.org>
43 hours ago[3.15] gh-149504: Fix re-entrancy bug when .pth/.start file invokes site.add sitedir...
Barry Warsaw [Wed, 13 May 2026 22:45:39 +0000 (15:45 -0700)] 
[3.15] gh-149504: Fix re-entrancy bug when .pth/.start file invokes site.add sitedir() (#149659) (#149799)

* gh-149504: Fix re-entrancy bug when .pth/.start file invokes site.addsitedir() (#149659)

* Add re-entrant tests for gh-149504
* Add end-to-end integration test coverage

This ensures that future whitebox internal test changes do not regress the
public surface semantics.

* Implement a state class to process .pth and .start files

By using this state class and managing implicit and explicit batching, we make it structurally
impossible to get bitten by re-entrant site startup processing.

Fixes #149504

(cherry picked from commit b162307d7f216e87976d76c9b8f4a932961cb2d4)

* Add myself back to CODEOWNERS

44 hours ago[3.15] gh-140550: Update xxlimited with 3.15 limited API (GH-142827) (GH-149785)
Miss Islington (bot) [Wed, 13 May 2026 22:00:29 +0000 (00:00 +0200)] 
[3.15] gh-140550: Update xxlimited with 3.15 limited API (GH-142827) (GH-149785)

(cherry picked from commit fa81cd976ad88e022839a37501d75d8716e22e3b)

Co-authored-by: Petr Viktorin <encukou@gmail.com>
44 hours ago[3.15] gh-149685: Use the _Py prefix for private C macros (GH-149686) (GH-149790)
Miss Islington (bot) [Wed, 13 May 2026 21:29:08 +0000 (23:29 +0200)] 
[3.15] gh-149685: Use the _Py prefix for private C macros (GH-149686) (GH-149790)

(cherry picked from commit 125f26358ac7ecab98095fa85490e5465bdad698)

Co-authored-by: Petr Viktorin <encukou@gmail.com>
45 hours ago[3.15] gh-128110: Fix rfc2047 whitespace handling in email parser address headers...
Miss Islington (bot) [Wed, 13 May 2026 20:26:42 +0000 (22:26 +0200)] 
[3.15] gh-128110: Fix rfc2047 whitespace handling in email parser address headers (GH-130749) (#149787)

RFC 2047 Section 6.2 requires that "any 'linear-white-space' that
separates a pair of adjacent 'encoded-word's is ignored." The modern
header value parser correctly implements that for unstructured headers,
but had missed a case in structured headers. This could cause a parsed
address header to include extraneous spaces in a display-name.

Switch to @bitdancer's fix from review feedback. Recharacterize space
between ews as fws after parsing in get_phrase.

RDM: This fix is dependent on the fact that "subsequent" atoms will never have
leading whitespace because that's been consumed already. I don't think
it's worth adding extra code for the possibility of leading whitespace
because the parser won't produce it. It's a bit of parser fragility in the
face of code changes, but I think that's a minor concern given the
parser design (which is that it consumes whitespace greedily)
(cherry picked from commit 7a4c6dfb8839eb05fb87baf70364680e45001dd4)

Co-authored-by: Mike Edmunds <medmunds@gmail.com>
Co-authored-by: R David Murray <rdmurray@bitdance.com>
2 days ago[3.15] gh-148906: fix performance scaling of descriptors on free-threading (GH-148915...
Miss Islington (bot) [Wed, 13 May 2026 18:09:33 +0000 (20:09 +0200)] 
[3.15] gh-148906: fix performance scaling of descriptors on free-threading (GH-148915) (#149798)

gh-148906: fix performance scaling of descriptors on free-threading (GH-148915)
(cherry picked from commit 94bca40ff09c20f6168d6a27e3aa42bf8a8077b8)

Co-authored-by: Kumar Aditya <kumaraditya@python.org>
2 days ago[3.15] gh-149776: Skip UDP Lite tests if it's not supported (GH-149777) (#149780)
Miss Islington (bot) [Wed, 13 May 2026 15:36:27 +0000 (17:36 +0200)] 
[3.15] gh-149776: Skip UDP Lite tests if it's not supported (GH-149777) (#149780)

gh-149776: Skip UDP Lite tests if it's not supported (GH-149777)

Fix test_socket on Linux kernel 7.1 and newer: skip UDP Lite tests if
it's not supported.
(cherry picked from commit 3cfc249e11a132dc69624150843779aa96c72b2b)

Co-authored-by: Victor Stinner <vstinner@python.org>
2 days ago[3.15] Run mypy with four worker processes and uv (GH-149726) (#149773)
Miss Islington (bot) [Wed, 13 May 2026 11:33:31 +0000 (13:33 +0200)] 
[3.15] Run mypy with four worker processes and uv (GH-149726) (#149773)

Run mypy with four worker processes and uv (GH-149726)
(cherry picked from commit 6304eb1f5b93f682bff558befe4a7b9585f4601e)

Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
2 days ago[3.15] gh-148821: Add more strict tests for XML encodings (GH-149765) (GH-149770)
Miss Islington (bot) [Wed, 13 May 2026 11:10:30 +0000 (13:10 +0200)] 
[3.15] gh-148821: Add more strict tests for XML encodings (GH-149765) (GH-149770)

Exclude encodings like 'utf-8-sig', 'iso2022-jp' and 'hz' from the list of
supported encodings.
(cherry picked from commit fa2afa64d9467fb7362672ed603d29d8e246d240)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2 days ago[3.15] bpo-45509: Check gzip headers for corrupted fields (GH-29028) (GH-149769)
Miss Islington (bot) [Wed, 13 May 2026 10:54:10 +0000 (12:54 +0200)] 
[3.15] bpo-45509: Check gzip headers for corrupted fields (GH-29028) (GH-149769)

Check the header checksum it the HCRC field is present.
(cherry picked from commit dd94457893a1dd2c99c2405e197f54a7692cbe09)

Co-authored-by: Ruben Vorderman <r.h.p.vorderman@lumc.nl>
2 days ago[3.15] gh-148829: Add PySentinel_CheckExact() (GH-149725) (#149766)
Miss Islington (bot) [Wed, 13 May 2026 10:39:38 +0000 (12:39 +0200)] 
[3.15] gh-148829: Add PySentinel_CheckExact() (GH-149725) (#149766)

gh-148829: Add PySentinel_CheckExact() (GH-149725)
(cherry picked from commit 94df62542cdf1c9eb082abab1534cbd1fd425062)

Co-authored-by: scoder <stefan_ml@behnel.de>
2 days ago[3.15] gh-149701: Fully silence potential `hash -r` error (GH-149702) (GH-149757)
Miss Islington (bot) [Wed, 13 May 2026 09:28:27 +0000 (11:28 +0200)] 
[3.15] gh-149701: Fully silence potential `hash -r` error (GH-149702) (GH-149757)

(cherry picked from commit cd6096887e22cdb6d6365ad0eb5b0ffac50d4791)

2 days ago[3.15] gh-149642: Fix interaction between exec and lazy_imports=all (GH-149643) ...
Miss Islington (bot) [Wed, 13 May 2026 03:36:32 +0000 (05:36 +0200)] 
[3.15] gh-149642: Fix interaction between exec and lazy_imports=all (GH-149643) (#149749)

gh-149642: Fix interaction between exec and lazy_imports=all (GH-149643)
(cherry picked from commit 4087ff859958abc897711b501bb66dc308890ba5)

Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
2 days ago[3.15] gh-149574: Document that is_typeddict, is_protocol, is_dataclass, isclass...
Miss Islington (bot) [Wed, 13 May 2026 03:08:49 +0000 (05:08 +0200)] 
[3.15] gh-149574: Document that is_typeddict, is_protocol, is_dataclass, isclass return False for generic aliases (GH-149604) (#149750)

gh-149574: Document that is_typeddict, is_protocol, is_dataclass, isclass return False for generic aliases (GH-149604)
(cherry picked from commit a4e51c8dac9fdd49ae26ff8c6cd3c808fd8ba15e)

Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
2 days ago[3.15] gh-149718: Aggregate same stack frames in Tachyon in some collectors (GH-14971...
Miss Islington (bot) [Wed, 13 May 2026 00:30:22 +0000 (02:30 +0200)] 
[3.15] gh-149718: Aggregate same stack frames in Tachyon in some collectors (GH-149719) (#149747)

gh-149718: Aggregate same stack frames in Tachyon in some collectors (GH-149719)
(cherry picked from commit 76f22853410d3ded872cbfe1430852cf8c048962)

Co-authored-by: Maurycy Pawłowski-Wieroński <maurycy@maurycy.com>
2 days ago[3.15] gh-149496: Fix MacOSTest.test_default regression when BROWSER env var is set...
Miss Islington (bot) [Tue, 12 May 2026 21:25:21 +0000 (23:25 +0200)] 
[3.15] gh-149496: Fix MacOSTest.test_default regression when BROWSER env var is set (GH-149579) (#149745)

gh-149496: Fix MacOSTest.test_default regression when BROWSER env var is set (GH-149579)

gh-149496: Fix MacOSTest.test_default failing when BROWSER env var is set

MacOSTest.test_default calls webbrowser.get() and asserts it returns a
MacOS instance. When BROWSER is set in the environment (e.g. BROWSER=open,
a common macOS workaround for the old osascript-based implementation),
register_standard_browsers() registers a GenericBrowser as the preferred
browser instead, causing the assertion to fail.

This is a regression introduced in gh-137586, which added MacOSTest and
moved test_default into it from MacOSXOSAScriptTest. MacOSXOSAScriptTest
had an identical setUp() guard added in gh-131254 specifically to fix this
same failure. The guard was not carried over to MacOSTest.

Add setUp() to MacOSTest to unset BROWSER for the duration of each test,
restoring the isolation that was already established as the correct pattern
for macOS webbrowser tests.
(cherry picked from commit 45c47d26c230086163ac1ef0aa9f955f794fb69c)

Co-authored-by: Jeff Lyon <146767590+secengjeff@users.noreply.github.com>
2 days ago[3.15] gh-134837: Correct and improve base85 documentation for base64 and binascii...
Miss Islington (bot) [Tue, 12 May 2026 20:25:28 +0000 (22:25 +0200)] 
[3.15] gh-134837: Correct and improve base85 documentation for base64 and binascii modules (GH-145843) (GH-149742)

(cherry picked from commit e667d62f114b54dcba17bdfad3835b9c91fda348)

Co-authored-by: David Huggins-Daines <dhd@ecolingui.ca>
2 days ago[3.15] gh-139808: Add branch protections for aarch64 in asm_trampoline.S (GH-130864...
Miss Islington (bot) [Tue, 12 May 2026 20:10:24 +0000 (22:10 +0200)] 
[3.15] gh-139808: Add branch protections for aarch64 in asm_trampoline.S (GH-130864) (#149730)

gh-139808: Add branch protections for aarch64 in asm_trampoline.S (GH-130864)

Apply protection against ROP/JOP attacks for aarch64 on asm_trampoline.S.

The BTI flag must be applied in assembler sources for this class
of attacks to be mitigated on newer aarch64 processors.

See also:
https://sourceware.org/annobin/annobin.html/Test-branch-protection.html
and
https://community.arm.com/arm-community-blogs/b/architectures-and-processors-blog/posts/enabling-pac-and-bti-on-aarch64
(cherry picked from commit da8477b25c6124c961306d4d7cd5ec7dafda6be4)

Co-authored-by: stratakis <cstratak@redhat.com>
Co-authored-by: Victor Stinner <vstinner@python.org>
3 days ago[3.15] GH-149501: Fix compilation warning in `_YIELD_VALUE` uop (GH-149502) (#149737)
Miss Islington (bot) [Tue, 12 May 2026 17:58:31 +0000 (19:58 +0200)] 
[3.15] GH-149501: Fix compilation warning in `_YIELD_VALUE` uop (GH-149502) (#149737)

GH-149501: Fix compilation warning in `_YIELD_VALUE` uop (GH-149502)
(cherry picked from commit 1a79fd0ad650f0a0f21f653cc46a89bc1741d253)

Co-authored-by: Sergey Miryanov <sergey.miryanov@gmail.com>
3 days ago[3.15] gh-149694: Fix missing docstring on `asyncio.iscoroutinefunction` (#149696)
deadlovelll [Tue, 12 May 2026 17:22:36 +0000 (20:22 +0300)] 
[3.15] gh-149694: Fix missing docstring on `asyncio.iscoroutinefunction` (#149696)

3 days ago[3.15] Remove myself from CODEOWNERS (GH-149727) (#149732)
Miss Islington (bot) [Tue, 12 May 2026 16:09:41 +0000 (18:09 +0200)] 
[3.15] Remove myself from CODEOWNERS (GH-149727) (#149732)

Remove myself from CODEOWNERS (GH-149727)

(cherry picked from commit 058c12528d98954c44d6f92f2eea48b881c1967f)

Co-authored-by: Berker Peksag <berker.peksag@gmail.com>
3 days ago[3.15] gh-149676: Fix hash(frozendict | frozendict) (GH-149675) (#149717)
Miss Islington (bot) [Tue, 12 May 2026 13:57:02 +0000 (15:57 +0200)] 
[3.15] gh-149676: Fix hash(frozendict | frozendict) (GH-149675) (#149717)

gh-149676: Fix hash(frozendict | frozendict) (GH-149675)

Fix new_dict_impl() to properly initialize ma_hash on frozendict.
(cherry picked from commit f5fb491341e566bbaf17d9bf3e4ec3af4a56bb3f)

Co-authored-by: Thomas Kowalski <thom.kowa@gmail.com>
Co-authored-by: Victor Stinner <vstinner@python.org>
3 days ago[3.15] Update mypy to 2.1.0 (GH-149709) (#149711)
Miss Islington (bot) [Tue, 12 May 2026 09:09:52 +0000 (11:09 +0200)] 
[3.15] Update mypy to 2.1.0 (GH-149709) (#149711)

Update mypy to 2.1.0 (GH-149709)
(cherry picked from commit b546cc10f5c659344ce3cf49db6d9c92307ed1fc)

Co-authored-by: sobolevn <mail@sobolevn.me>
3 days ago[3.15] gh-148669: Clarify `__reduce__()` module lookup behavior (GH-148670) (#149703)
Miss Islington (bot) [Tue, 12 May 2026 02:54:10 +0000 (04:54 +0200)] 
[3.15] gh-148669: Clarify `__reduce__()` module lookup behavior (GH-148670) (#149703)

gh-148669: Clarify `__reduce__()` module lookup behavior (GH-148670)
(cherry picked from commit 54a5fd4126df74f7b84d1f8a6a36ef79803f66f9)

Co-authored-by: Victorien <65306057+Viicos@users.noreply.github.com>
3 days ago[3.15] gh-149614 - Restore deepcopiability of argparse.ArgumentParser… (#149693)
Savannah Ostrowski [Mon, 11 May 2026 18:25:40 +0000 (11:25 -0700)] 
[3.15] gh-149614 - Restore deepcopiability of argparse.ArgumentParser… (#149693)

[3.15] gh-149614 - Restore deepcopiability of argparse.ArgumentParser instances (GH-149617)
(cherry picked from commit fadd9bc14e43041c84bb8d06824990264fe1434a)

Co-authored-by: David Ellis <ducksual@gmail.com>
Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
3 days ago[3.15] gh-145235: Make dict watcher API thread-safe for free-threaded builds (gh...
Sam Gross [Mon, 11 May 2026 18:23:39 +0000 (18:23 +0000)] 
[3.15] gh-145235: Make dict watcher API thread-safe for free-threaded builds (gh-145233) (#149690)

In free-threaded builds, concurrent calls to PyDict_AddWatcher, PyDict_ClearWatcher, PyDict_Watch, and PyDict_Unwatch can race on the shared callback array and the per-dict watcher tags. This change adds a mutex to serialize watcher registration and removal, atomic operations for tag updates, and atomic acquire/release synchronization for callback dispatch in _PyDict_SendEvent.

(cherry picked from commit 8a4895985f42282504d83b9bd0c77b129f95a5d5)

Co-authored-by: Alper <alperyoney@fb.com>
4 days ago[3.15] gh-112821: Fix rlcompleter failures on objects with descriptors (GH-149577...
Miss Islington (bot) [Mon, 11 May 2026 16:07:50 +0000 (18:07 +0200)] 
[3.15] gh-112821: Fix rlcompleter failures on objects with descriptors (GH-149577) (#149656)

gh-112821: Fix rlcompleter failures on objects with descriptors (GH-149577)

* gh-112821: Fix rlcompleter failures on objects with descriptors

* Confirm no accesses
(cherry picked from commit f23a1837d7156c4c478528321a423eae2b31e4bf)

Co-authored-by: Michael Droettboom <mdboom@gmail.com>
4 days ago[3.15] gh-144957: Fix lazy imports + module __getattr__ (GH-149624) (#149678)
Miss Islington (bot) [Mon, 11 May 2026 13:36:35 +0000 (15:36 +0200)] 
[3.15] gh-144957: Fix lazy imports + module __getattr__ (GH-149624) (#149678)

gh-144957: Fix lazy imports + module __getattr__ (GH-149624)
(cherry picked from commit 56171da3417bc14fded2f42033d72f63e1bf7cd9)

Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
4 days ago[3.15] gh-149663: fix typo in `unittest` docs (GH-149670) (#149672)
Miss Islington (bot) [Mon, 11 May 2026 12:02:28 +0000 (14:02 +0200)] 
[3.15] gh-149663: fix typo in `unittest` docs (GH-149670) (#149672)

gh-149663: fix typo in `unittest` docs (GH-149670)

`hastattr` -> `hasattr`
(cherry picked from commit 4956d2be9d5e555f2cf64faed9ef39e6a797c360)

Co-authored-by: Árni Már Jónsson <arnimarj@gmail.com>
4 days ago[3.15] gh-146061: Clarify indent=None in json docs (GH-146095) (GH-149667)
Miss Islington (bot) [Mon, 11 May 2026 11:44:11 +0000 (13:44 +0200)] 
[3.15] gh-146061: Clarify indent=None in json docs (GH-146095) (GH-149667)

(cherry picked from commit 833dae7c1fdc556200cbfc3e76bad4d54628042c)

Co-authored-by: Jonathan Dung <jonathandung@yahoo.com>
4 days ago[3.15] gh-149486: tarfile.data_filter: validate written link target (GH-149487) ...
Miss Islington (bot) [Mon, 11 May 2026 09:57:32 +0000 (11:57 +0200)] 
[3.15] gh-149486: tarfile.data_filter: validate written link target (GH-149487) (GH-149553)

gh-149486: tarfile.data_filter: validate written link target (GH-149487)

The data filter rewrote linknames with normpath() but ran the
containment check against the un-normalised value, and computed a
symlink's directory before stripping trailing slashes.  Both let a
crafted archive create links pointing outside the destination.  Also
reject link members that resolve to the destination directory itself,
which could otherwise replace it with a symlink and redirect all
subsequent members.

(cherry picked from commit 578411982c16f753f4893532510099ef665117da)

Co-authored-by: Gregory P. Smith <greg@krypto.org>
4 days ago[3.15] gh-149083: use sentinel to fix _functools.reduce() signature (GH-149591) ...
Miss Islington (bot) [Sun, 10 May 2026 23:32:35 +0000 (01:32 +0200)] 
[3.15] gh-149083: use sentinel to fix _functools.reduce() signature (GH-149591) (#149653)

gh-149083: use sentinel to fix _functools.reduce() signature (GH-149591)
(cherry picked from commit c6fd7de64ac7591a9708c14a34737eb9baf050bc)

Co-authored-by: Sergey B Kirpichev <skirpichev@gmail.com>
4 days ago[3.15] gh-139489: Add is_valid_text to xml.__all__ (GH-149641) (#149652)
Miss Islington (bot) [Sun, 10 May 2026 21:11:04 +0000 (23:11 +0200)] 
[3.15] gh-139489: Add is_valid_text to xml.__all__ (GH-149641) (#149652)

gh-139489: Add is_valid_text to xml.__all__ (GH-149641)
(cherry picked from commit b45319e13273ee17e84e6b8c459f03b141518289)

Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
5 days ago[3.15] gh-148441: Avoid integer overflow in Expat's CharacterDataHandler (GH-148904...
Miss Islington (bot) [Sun, 10 May 2026 14:11:57 +0000 (16:11 +0200)] 
[3.15] gh-148441: Avoid integer overflow in Expat's CharacterDataHandler (GH-148904) (#149639)

gh-148441: Avoid integer overflow in Expat's CharacterDataHandler (GH-148904)
(cherry picked from commit bc1be4f6174086b4a46e3fe656552f5bb4e6e7b2)

Co-authored-by: ByteFlow <fakeshadow1337@gmail.com>
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
5 days ago[3.15] gh-139871: Fix 3.15 bytearray.take_bytes example (GH-149520) (#149622)
Miss Islington (bot) [Sat, 9 May 2026 21:47:21 +0000 (23:47 +0200)] 
[3.15] gh-139871: Fix 3.15 bytearray.take_bytes example (GH-149520) (#149622)

gh-139871: Fix 3.15 bytearray.take_bytes example (GH-149520)

Currently:
```python
buffer = bytearray(b'abc\ndef')
n = buffer.find(b'\n')
data = bytes(buffer[:n + 1])
del buffer[:n + 1]
assert data == b'abc'
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
    assert data == b'abc'
           ^^^^^^^^^^^^^^
AssertionError
```

Adding in the `\n` makes the two match:

```python
buffer = bytearray(b'abc\ndef')
n = buffer.find(b'\n')
data = bytes(buffer[:n + 1])
del buffer[:n + 1]
assert data == b'abc\n'
assert buffer == bytearray(b'def')

buffer = bytearray(b'abc\ndef')
n = buffer.find(b'\n')
data = buffer.take_bytes(n + 1)
assert data == b'abc\n'
assert buffer == bytearray(b'def')
```
(cherry picked from commit cc5cf14ae0a3665ba9d192cc4152c0a46a9dab2f)

Co-authored-by: Cody Maloney <cmaloney@users.noreply.github.com>
5 days ago[3.15] Fix minor typos in unicode.rst (GH-149587) (#149620)
Miss Islington (bot) [Sat, 9 May 2026 21:39:35 +0000 (23:39 +0200)] 
[3.15] Fix minor typos in unicode.rst (GH-149587) (#149620)

Fix minor typos in unicode.rst (GH-149587)
(cherry picked from commit 4e97ff3351f381a61b238bd8e805e4e8dd3ea5cf)

Co-authored-by: Manoj K M <manojkmdev24@gmail.com>
6 days ago[3.15] gh-149388: Make asyncio `PipeHandle.close` idempotent (GH-149518) (#149605)
Miss Islington (bot) [Sat, 9 May 2026 15:08:34 +0000 (17:08 +0200)] 
[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 7241f2739c4bbdf4519238689e5e4ea9268b411e)

Co-authored-by: Max Schmitt <max@schmitt.mx>
6 days ago[3.15] gh-149430: Fix edge-cases in `profiling.sampling` outputs (GH-149431) (#149602)
Miss Islington (bot) [Sat, 9 May 2026 13:33:05 +0000 (15:33 +0200)] 
[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 9587726a3ebbcdb780e3f15c9e016e3a28c646e3)

Co-authored-by: László Kiss Kollár <kiss.kollar.laszlo@gmail.com>
6 days ago[3.15] gh-149083: Convert `_initial_missing` for pure py `reduce` to `sentinel` ...
Miss Islington (bot) [Sat, 9 May 2026 08:27:29 +0000 (10:27 +0200)] 
[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 bc8cf07d8dbb4341955dc85d9b2bf273ec5852c7)

Co-authored-by: sobolevn <mail@sobolevn.me>
6 days ago[3.15] gh-149474: use `Py_fopen` in `Binary{Reader,Writer}` for audit hook and path...
Miss Islington (bot) [Sat, 9 May 2026 00:28:21 +0000 (02:28 +0200)] 
[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 354ef336e4cd48cf0c02bc9a0c642adf5d543184)

Co-authored-by: Maurycy Pawłowski-Wieroński <maurycy@maurycy.com>
6 days ago[3.15] gh-79638: Test other HTTP error codes besides 403 in test_robotparser (GH...
Miss Islington (bot) [Fri, 8 May 2026 20:53:55 +0000 (22:53 +0200)] 
[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 57ef2199503387617b8af3d719c74089fb70dbd4)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
7 days ago[3.15] Rename fp unwind test module to C stack unwind (GH-149563) (#149565)
Miss Islington (bot) [Fri, 8 May 2026 14:24:49 +0000 (16:24 +0200)] 
[3.15] Rename fp unwind test module to C stack unwind (GH-149563) (#149565)

7 days ago[3.15] Skip GNU backtrace test on Arm 32-bit (GH-149493) (#149562)
Miss Islington (bot) [Fri, 8 May 2026 13:32:59 +0000 (15:32 +0200)] 
[3.15] Skip GNU backtrace test on Arm 32-bit (GH-149493) (#149562)

7 days ago[3.15] Add Diego as author of PEP 831 (GH-149551) (#149561)
Miss Islington (bot) [Fri, 8 May 2026 13:06:08 +0000 (15:06 +0200)] 
[3.15] Add Diego as author of PEP 831 (GH-149551) (#149561)

7 days ago[3.15] gh-149459: Fix segfault when `_LOAD_SPECIAL` guard deoptimizes (GH-149478...
Miss Islington (bot) [Fri, 8 May 2026 11:48:04 +0000 (13:48 +0200)] 
[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 c341e341b25cec03d28d1b2c368bb871d76ca88b)

Co-authored-by: Hai Zhu <haiizhu@outlook.com>
7 days ago[3.15] gh-145176: Update CODEOWNERS for Emscripten migration to Platforms directory...
Miss Islington (bot) [Fri, 8 May 2026 11:09:06 +0000 (13:09 +0200)] 
[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 52a05e8da71abcc83df54e465d0a4df50785e910)

Co-authored-by: Malcolm Smith <smith@chaquo.com>
7 days ago[3.15] docs: Clarify docs for error case of `PyDict_GetItemRef` (GH-149506) (#149546)
Miss Islington (bot) [Fri, 8 May 2026 11:06:52 +0000 (13:06 +0200)] 
[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 3565d31690d30a189933bce7b27d0bd2c6973f47)

Co-authored-by: Nathan Goldbaum <nathan.goldbaum@gmail.com>
7 days ago[3.15] gh-146445: Update CODEOWNERS for Android and iOS migration to Platforms direct...
Miss Islington (bot) [Fri, 8 May 2026 10:33:35 +0000 (12:33 +0200)] 
[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 5b58fbc07c8173df98ce6d378ded1bc605997c3f)

Co-authored-by: Malcolm Smith <smith@chaquo.com>
7 days ago[3.15] gh-149481: skip `FOR_ITER` inline specialization for Python `__next__` (GH...
Miss Islington (bot) [Fri, 8 May 2026 02:08:12 +0000 (04:08 +0200)] 
[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 49918f5b0ceb1950c3222fd4fd6be872d2e15c6f)

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>
7 days ago[3.15] Improve error messages when the WASI SDK can't be found (GH-149519)
Miss Islington (bot) [Thu, 7 May 2026 22:27:34 +0000 (00:27 +0200)] 
[3.15] Improve error messages when the WASI SDK can't be found (GH-149519)

(cherry picked from commit b142878db1e54149feba62b08df1236432793bf0)

Co-authored-by: Brett Cannon <brett@python.org>
7 days ago[3.15] Forward-port 'check-abi' CI job from 3.14 (GH-149517)
Zachary Ware [Thu, 7 May 2026 22:15:06 +0000 (17:15 -0500)] 
[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 0eb2291a7e85062dba387dfecaee94858db8a0a9)

8 days agoPost 3.15.0b1
Hugo van Kemenade [Thu, 7 May 2026 16:01:11 +0000 (19:01 +0300)] 
Post 3.15.0b1

8 days agoPython 3.15.0b1 v3.15.0b1
Hugo van Kemenade [Thu, 7 May 2026 13:26:06 +0000 (16:26 +0300)] 
Python 3.15.0b1

8 days agogh-126910: Update 3.15 what's new to include GDB/backtrace integration (#149494)
Diego Russo [Thu, 7 May 2026 13:05:29 +0000 (14:05 +0100)] 
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

8 days agogh-148937: revert process RSS based GC deferral (#149475)
Neil Schemenauer [Thu, 7 May 2026 11:32:14 +0000 (04:32 -0700)] 
gh-148937: revert process RSS based GC deferral (#149475)

8 days agogh-149202: Don't use -fno-omit-frame-pointer on ppc64le (#149485)
Victor Stinner [Thu, 7 May 2026 09:47:08 +0000 (11:47 +0200)] 
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.

8 days agogh-149202: Fix frame pointer unwinding on ppc64le and armv7/clang (#149409)
Petr Viktorin [Thu, 7 May 2026 08:37:00 +0000 (10:37 +0200)] 
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

8 days agogh-142295: Update macOS framework build Info.plist files. (#149479)
Ned Deily [Thu, 7 May 2026 03:52:23 +0000 (23:52 -0400)] 
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.

8 days agogh-142295: Update CFBundleShortVersionString in Mac framework Info.plist (#143064)
Martinus Verburg [Thu, 7 May 2026 03:07:17 +0000 (05:07 +0200)] 
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.

8 days agogh-149101: Implement PEP 788 (GH-149116)
Peter Bierma [Wed, 6 May 2026 21:39:30 +0000 (17:39 -0400)] 
gh-149101: Implement PEP 788 (GH-149116)

Co-authored-by: Petr Viktorin <encukou@gmail.com>
Co-authored-by: Sam Gross <colesbury@gmail.com>
8 days agoUpdate Doc/pylock.toml (#149467)
Ned Batchelder [Wed, 6 May 2026 20:05:30 +0000 (16:05 -0400)] 
Update Doc/pylock.toml (#149467)

update Doc/pylock.toml

8 days agogh-141560: Add annotation_format parameter to getfullargspec (#149457)
Jelle Zijlstra [Wed, 6 May 2026 19:00:56 +0000 (12:00 -0700)] 
gh-141560: Add annotation_format parameter to getfullargspec (#149457)

8 days agogh-148823: Avoid importing `_colorize` when creating an `ArgumentParser` (#148827)
David Ellis [Wed, 6 May 2026 18:24:18 +0000 (19:24 +0100)] 
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>
9 days agogh-148599: Update WSA `socket` error codes (#148033)
Alexis Dauphin [Wed, 6 May 2026 17:52:23 +0000 (19:52 +0200)] 
gh-148599: Update WSA `socket` error codes (#148033)

9 days agogh-133879: Copyedit "What's new in Python 3.15" (#149451)
Hugo van Kemenade [Wed, 6 May 2026 17:33:08 +0000 (20:33 +0300)] 
gh-133879: Copyedit "What's new in Python 3.15" (#149451)

9 days agogh-144384: Lazily import `_colorize` (#149318)
Hugo van Kemenade [Wed, 6 May 2026 16:07:43 +0000 (19:07 +0300)] 
gh-144384: Lazily import `_colorize` (#149318)

9 days agogh-124111: Only set TCLSH_NATIVE for AMD64/ARM64 (GH-149443)
Zachary Ware [Wed, 6 May 2026 16:04:42 +0000 (11:04 -0500)] 
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.

9 days agoRewrite RTD configuration to use build.jobs rather than build.commands (GH-149429)
Zachary Ware [Wed, 6 May 2026 15:44:47 +0000 (10:44 -0500)] 
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>
9 days agogh-149202: Fix frame pointer unwinding on s390x and ARM (GH-149362)
Pablo Galindo Salgado [Wed, 6 May 2026 15:03:37 +0000 (16:03 +0100)] 
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>
9 days agogh-145559: Add PyUnstable_DumpTraceback() and PyUnstable_DumpTracebackThreads() ...
Alex Malyshev [Wed, 6 May 2026 15:01:12 +0000 (11:01 -0400)] 
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>
9 days agogh-142307: deprecate legacy support for altering `IMAP4.file` (#142335)
Bénédikt Tran [Wed, 6 May 2026 14:41:26 +0000 (16:41 +0200)] 
gh-142307: deprecate legacy support for altering `IMAP4.file` (#142335)

Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
9 days agogh-139489: Add xml.is_valid_text() (GH-149412)
Serhiy Storchaka [Wed, 6 May 2026 14:40:10 +0000 (17:40 +0300)] 
gh-139489: Add xml.is_valid_text() (GH-149412)

9 days agogh-148675: Optimize arraydescr structure: use char[3] (GH-149455)
Victor Stinner [Wed, 6 May 2026 14:28:11 +0000 (16:28 +0200)] 
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.

9 days agogh-137586: Replace 'osascript' with 'open' on macOS in webbrowser (#146439)
Jeff Lyon [Wed, 6 May 2026 13:56:17 +0000 (06:56 -0700)] 
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>
9 days agogh-146270: Fix `PyMember_SetOne(..., NULL)` not being atomic (gh-148800)
Daniele Parmeggiani [Wed, 6 May 2026 13:50:24 +0000 (14:50 +0100)] 
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.

9 days agogh-148766: Add colour to Python help (#148767)
Hugo van Kemenade [Wed, 6 May 2026 13:48:04 +0000 (16:48 +0300)] 
gh-148766: Add colour to Python help (#148767)

9 days agogh-146238: Add missing tests for 'e', 'Zf' and 'Zd' array type codes in test_buffer...
Sergey B Kirpichev [Wed, 6 May 2026 13:14:49 +0000 (16:14 +0300)] 
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.

9 days agogh-100239: specialize mixed int/float inplace binary ops (GH-149413)
Wulian233 [Wed, 6 May 2026 12:59:08 +0000 (20:59 +0800)] 
gh-100239: specialize mixed int/float inplace binary ops (GH-149413)

9 days agogh-149415: Replace `typing._LazyAnnotationLib` with `lazy import` (#149416)
sobolevn [Wed, 6 May 2026 12:58:45 +0000 (15:58 +0300)] 
gh-149415: Replace `typing._LazyAnnotationLib` with `lazy import` (#149416)

9 days agoReplace use of Python keyword in `issubclass` function documentation (#142357)
Guo Ci [Wed, 6 May 2026 12:08:13 +0000 (08:08 -0400)] 
Replace use of Python keyword in `issubclass` function documentation (#142357)

9 days agogh-148641: Flesh out PEP 829 for What's New (#149347)
Barry Warsaw [Wed, 6 May 2026 11:22:54 +0000 (04:22 -0700)] 
gh-148641: Flesh out PEP 829 for What's New (#149347)

Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
9 days agoAdd the posix dependencies to Ubuntu JIT builds (#149422)
Diego Russo [Wed, 6 May 2026 09:20:11 +0000 (10:20 +0100)] 
Add the posix dependencies to Ubuntu JIT builds (#149422)

9 days agoSkip test_jit when the JIT backend is "interpreter" (GH-149423)
Diego Russo [Wed, 6 May 2026 08:20:33 +0000 (09:20 +0100)] 
Skip test_jit when the JIT backend is "interpreter" (GH-149423)

9 days agogh-148615: Handle `--` separator in pdb argument parsing (#148624)
Shrey Naithani [Wed, 6 May 2026 04:22:58 +0000 (09:52 +0530)] 
gh-148615: Handle `--` separator in pdb argument parsing (#148624)