]> git.ipfire.org Git - thirdparty/Python/cpython.git/log
thirdparty/Python/cpython.git
6 days agotest_copy_dir_no_read_permission requires non root user (GH-148028)
Jakub Kulík [Fri, 3 Apr 2026 08:47:59 +0000 (10:47 +0200)] 
test_copy_dir_no_read_permission requires non root user (GH-148028)

This fixes a bug introduced in commit 86b8617747699416fcf9cd4ce6ea1da58a66f70e
(GH-146195).

7 days agogh-80642: timeit - make target time of autorange configurable (#140283)
Miikka Koskinen [Fri, 3 Apr 2026 06:47:21 +0000 (09:47 +0300)] 
gh-80642: timeit - make target time of autorange configurable (#140283)

Co-authored-by: Alessandro Cucci <alessandro.cucci@gmail.com>
Co-authored-by: blurb-it[bot] <blurb-it[bot]@users.noreply.github.com>
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
Co-authored-by: Stan Ulbrych <89152624+StanFromIreland@users.noreply.github.com>
Co-authored-by: Stan Ulbrych <stan@python.org>
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
7 days agoGH-147985: Use lock-free lookup in `PySet_Contains` (#147986)
Neil Schemenauer [Fri, 3 Apr 2026 06:34:06 +0000 (23:34 -0700)] 
GH-147985: Use lock-free lookup in `PySet_Contains` (#147986)

Co-authored-by: Kumar Aditya <kumaraditya@python.org>
7 days agogh-142533: Document CRLF injection vulnerabilities in http.server doc (#143395)
Tadej Magajna [Thu, 2 Apr 2026 21:26:21 +0000 (23:26 +0200)] 
gh-142533: Document CRLF injection vulnerabilities in http.server doc (#143395)

Co-authored-by: Victor Stinner <vstinner@python.org>
7 days agoGH-145247: Use _PyTuple_FromPair in Modules (part 2) (#148003)
Sergey Miryanov [Thu, 2 Apr 2026 21:24:03 +0000 (02:24 +0500)] 
GH-145247: Use _PyTuple_FromPair in Modules (part 2) (#148003)

Co-authored-by: Victor Stinner <vstinner@python.org>
7 days agoGH-145247: Use _PyTuple_FromPair in Modules (part 1) (#148000)
Sergey Miryanov [Thu, 2 Apr 2026 21:20:13 +0000 (02:20 +0500)] 
GH-145247: Use _PyTuple_FromPair in Modules (part 1) (#148000)

7 days agogh-139038: Update JIT results in preparation for 3.15a8 (GH-148018)
Ken Jin [Thu, 2 Apr 2026 19:10:04 +0000 (03:10 +0800)] 
gh-139038: Update JIT results in preparation for 3.15a8 (GH-148018)

Update JIT results in preparation for 3.15a8

7 days agoMove root user checks to test.support (#146195)
Jakub Kulík [Thu, 2 Apr 2026 15:50:38 +0000 (17:50 +0200)] 
Move root user checks to test.support (#146195)

7 days agoGH-126910: Revert "Make `_Py_get_machine_stack_pointer` return the stack pointer...
Petr Viktorin [Thu, 2 Apr 2026 14:53:09 +0000 (16:53 +0200)] 
GH-126910: Revert "Make `_Py_get_machine_stack_pointer` return the stack pointer (#147945)" (GH-147994)

Revert "GH-126910: Make `_Py_get_machine_stack_pointer` return the stack pointer (#147945)"

This reverts commit 255026d9eea81719214c8e807d23df55b5f39b54,
which broke a tier-1 buildbot.

7 days agogh-146613: Fix re-entrant use-after-free in `itertools._grouper` (#147962)
Ma Yukun [Thu, 2 Apr 2026 13:34:58 +0000 (21:34 +0800)] 
gh-146613: Fix re-entrant use-after-free in `itertools._grouper` (#147962)

7 days agogh-147988: Initialize digits in long_alloc() in debug mode (#147989)
Victor Stinner [Thu, 2 Apr 2026 11:55:34 +0000 (13:55 +0200)] 
gh-147988: Initialize digits in long_alloc() in debug mode (#147989)

When Python is built in debug mode:

* long_alloc() now initializes digits with a pattern to detect usage of
  uninitialized digits.
* _PyLong_CompactValue() now makes sure that the digit is zero when the
  sign is zero.
* PyLongWriter_Finish() now raises SystemError if it detects uninitialized
  digits

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
7 days agogh-146636: Py_mod_abi mandatory for modules created from slots array (GH-146855)
Petr Viktorin [Thu, 2 Apr 2026 11:54:21 +0000 (13:54 +0200)] 
gh-146636: Py_mod_abi mandatory for modules created from slots array (GH-146855)

7 days agogh-143394: Skip pyrepl test_no_newline() basic REPL if readline is missing (#147973)
Victor Stinner [Thu, 2 Apr 2026 11:45:59 +0000 (13:45 +0200)] 
gh-143394: Skip pyrepl test_no_newline() basic REPL if readline is missing (#147973)

8 days agogh-146444: Remove legacy iOS folder (#147993)
Russell Keith-Magee [Thu, 2 Apr 2026 03:46:20 +0000 (11:46 +0800)] 
gh-146444: Remove legacy iOS folder (#147993)

Remove legacy iOS folder.

8 days agogh-146656: properly raise `NotImplementedError` instead of `NotImplemented` in `test_...
Locked-chess-official [Wed, 1 Apr 2026 22:54:06 +0000 (06:54 +0800)] 
gh-146656: properly raise `NotImplementedError` instead of `NotImplemented` in `test_discover` (#146661)

Co-authored-by: AN Long <aisk@users.noreply.github.com>
Co-authored-by: Victor Stinner <vstinner@python.org>
Co-authored-by: Filipe Laíns <filipe.lains@gmail.com>
8 days agogh-143050: Add helper _PyLong_InitTag() (#147956)
Sergey B Kirpichev [Wed, 1 Apr 2026 21:42:10 +0000 (00:42 +0300)] 
gh-143050: Add helper _PyLong_InitTag() (#147956)

With this we can assume, that _PyLong_SetSignAndDigitCount() and
_PyLong_SetDigitCount() operate on non-immortal integers.

Co-authored-by: Victor Stinner <vstinner@python.org>
8 days agogh-147960: Fix memory leak in crossinterp _tuple_shared() on alloc failure (#147961)
Yongtao Huang [Wed, 1 Apr 2026 16:34:55 +0000 (00:34 +0800)] 
gh-147960: Fix memory leak in crossinterp _tuple_shared() on alloc failure (#147961)

8 days agoDocs: Use !r in __repr__ example (gh-146273)
Peter Sutton [Wed, 1 Apr 2026 16:16:36 +0000 (17:16 +0100)] 
Docs: Use !r in __repr__ example (gh-146273)

8 days agoGH-126910: Make `_Py_get_machine_stack_pointer` return the stack pointer (#147945)
Mark Shannon [Wed, 1 Apr 2026 16:15:13 +0000 (17:15 +0100)] 
GH-126910: Make `_Py_get_machine_stack_pointer` return the stack pointer (#147945)

* Make _Py_get_machine_stack_pointer return the stack pointer (or close to it), not the frame pointer

* Make ``_Py_ReachedRecursionLimit`` inline again
* Remove ``_Py_MakeRecCheck`` relacing its use with ``_Py_ReachedRecursionLimit``
* Move stack swtiching check into ``_Py_CheckRecursiveCall``

8 days agogh-146488: hash-pin check-html-ids action references (#147968)
Hugo van Kemenade [Wed, 1 Apr 2026 14:23:25 +0000 (17:23 +0300)] 
gh-146488: hash-pin check-html-ids action references (#147968)

8 days agogh-146907: Clarify ABI compatibility between debug and release builds (GH-146925)
konsti [Wed, 1 Apr 2026 14:17:56 +0000 (16:17 +0200)] 
gh-146907: Clarify ABI compatibility between debug and release builds (GH-146925)

8 days agogh-146636: PEP 803: add Py_TARGET_ABI3T and .abi3t.so extension (GH-146637)
Petr Viktorin [Wed, 1 Apr 2026 14:14:59 +0000 (16:14 +0200)] 
gh-146636: PEP 803: add Py_TARGET_ABI3T and .abi3t.so extension (GH-146637)

- Add Py_TARGET_ABI3T macro.
- Add ".abi3t.so" to importlib EXTENSION_SUFFIXES.
- Remove ".abi3.so" from importlib EXTENSION_SUFFIXES on Free Threading.
- Adjust tests

This is part of the implementation for PEP-803.
Detailed documentation to come later.

Co-authored-by: Nathan Goldbaum <nathan.goldbaum@gmail.com>
8 days agogh-145000: Run `check-html-ids.py` in CI (#145632)
Stan Ulbrych [Wed, 1 Apr 2026 13:10:27 +0000 (15:10 +0200)] 
gh-145000: Run `check-html-ids.py` in CI (#145632)

Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
8 days agoIncrease dependabot interval to quarterly (#147959)
Stan Ulbrych [Wed, 1 Apr 2026 12:46:57 +0000 (14:46 +0200)] 
Increase dependabot interval to quarterly (#147959)

8 days agogh-146488: hash-pin all action references
William Woodruff [Wed, 1 Apr 2026 12:46:19 +0000 (08:46 -0400)] 
gh-146488: hash-pin all action references

Signed-off-by: William Woodruff <william@yossarian.net>
8 days agogh-146479: Skip test_frame_pointer_unwind for gcc -O3 --enable-shared (#147947)
Victor Stinner [Wed, 1 Apr 2026 10:35:58 +0000 (12:35 +0200)] 
gh-146479: Skip test_frame_pointer_unwind for gcc -O3 --enable-shared (#147947)

Skip the test if Python is built with --enable-shared and "gcc -O2"
or "gcc -O3".

8 days agogh-147944: Increase range of bytes_per_sep (GH-147946)
Serhiy Storchaka [Wed, 1 Apr 2026 08:33:30 +0000 (11:33 +0300)] 
gh-147944: Increase range of bytes_per_sep (GH-147946)

Accepted range for the bytes_per_sep argument of bytes.hex(),
bytearray.hex(), memoryview.hex(), and binascii.b2a_hex()
is now increased, so passing sys.maxsize and -sys.maxsize is now
valid.

8 days agogh-146431: Add the wrapcol and ignorechars parameters for more Base XX codec (GH...
Serhiy Storchaka [Wed, 1 Apr 2026 07:48:50 +0000 (10:48 +0300)] 
gh-146431: Add the wrapcol and ignorechars parameters for more Base XX codec (GH-146434)

Add the wrapcol parameter to base64 functions b16encode(), b32encode(),
b32hexencode(), b85encode() and z85encode(), and binascii functions
b2a_base32() and b2a_base85().

Add the ignorechars parameter to base64 functions b16decode(), b32decode(),
b32hexdecode(), b85decode() and z85decode(), and binascii functions
a2b_hex(), unhexlify(), a2b_base32() and a2b_base85().

9 days agobuild(deps): bump qs from 6.14.0 to 6.15.0 in /Platforms/emscripten/browser_test...
dependabot[bot] [Wed, 1 Apr 2026 06:43:58 +0000 (09:43 +0300)] 
build(deps): bump qs from 6.14.0 to 6.15.0 in /Platforms/emscripten/browser_test (#146048)

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
9 days agoDocs: fill in descriptor C API docs (GH-146644)
Boy Steven [Tue, 31 Mar 2026 21:52:11 +0000 (04:52 +0700)] 
Docs: fill in descriptor C API docs (GH-146644)

9 days agogh-147856: Allow the 'count' argument of `bytes.replace()` to be a keyword (#147943)
Stan Ulbrych [Tue, 31 Mar 2026 17:27:52 +0000 (19:27 +0200)] 
gh-147856: Allow the 'count' argument of `bytes.replace()` to be a keyword (#147943)

9 days agogh-139109: Document the trace recording interpreter in internaldocs (GH-146110)
Ken Jin [Tue, 31 Mar 2026 15:25:54 +0000 (23:25 +0800)] 
gh-139109: Document the trace recording interpreter in internaldocs (GH-146110)

9 days agogh-143050: Correct PyLong_FromString() to use _PyLong_Negate() (#145901)
Sergey B Kirpichev [Tue, 31 Mar 2026 13:17:49 +0000 (16:17 +0300)] 
gh-143050: Correct PyLong_FromString() to use _PyLong_Negate() (#145901)

The long_from_string_base() might return a small integer, when the
_pylong.py is used to do conversion.  Hence, we must be careful here to
not smash it "small int" bit by using the _PyLong_FlipSign().

Co-authored-by: Victor Stinner <vstinner@python.org>
9 days agogh-141510: Support `frozendict` in `plistlib` (#145590)
Hugo van Kemenade [Tue, 31 Mar 2026 12:45:23 +0000 (15:45 +0300)] 
gh-141510: Support `frozendict` in `plistlib` (#145590)

Co-authored-by: Victor Stinner <vstinner@python.org>
9 days agogh-145563: Add thread-safety annotation for PyCapsule C-API (#146612)
Pieter Eendebak [Tue, 31 Mar 2026 11:02:35 +0000 (13:02 +0200)] 
gh-145563: Add thread-safety annotation for PyCapsule C-API (#146612)

9 days agogh-145458: use `self.skip_idle` consistently in the tachyon profiler (#145459)
Thomas Kowalski [Tue, 31 Mar 2026 08:57:07 +0000 (10:57 +0200)] 
gh-145458: use `self.skip_idle` consistently in the tachyon profiler (#145459)

9 days agogh-146615: Fix format specifiers in Objects/ directory (GH-146620)
sunmy2019 [Tue, 31 Mar 2026 07:59:48 +0000 (15:59 +0800)] 
gh-146615: Fix format specifiers in Objects/ directory (GH-146620)

9 days agogh-146615: Fix format specifiers in Python/ directory (GH-146619)
sunmy2019 [Tue, 31 Mar 2026 07:59:17 +0000 (15:59 +0800)] 
gh-146615: Fix format specifiers in Python/ directory (GH-146619)

9 days agogh-146615: Fix format specifiers in test cextensions (GH-146618)
sunmy2019 [Tue, 31 Mar 2026 07:58:27 +0000 (15:58 +0800)] 
gh-146615: Fix format specifiers in test cextensions (GH-146618)

9 days agogh-146615: Fix format specifiers in extension modules (GH-146617)
sunmy2019 [Tue, 31 Mar 2026 07:57:37 +0000 (15:57 +0800)] 
gh-146615: Fix format specifiers in extension modules (GH-146617)

9 days agogh-146615: Fix crash in __get__() for METH_METHOD descriptors with invalid type argum...
sunmy2019 [Tue, 31 Mar 2026 07:48:02 +0000 (15:48 +0800)] 
gh-146615: Fix crash in __get__() for METH_METHOD descriptors with invalid type argument (GH-146634)

10 days agogh-146376: Reduce timeout in Emscripten GHA workflow (#146378)
Hood Chatham [Mon, 30 Mar 2026 20:31:36 +0000 (22:31 +0200)] 
gh-146376: Reduce timeout in Emscripten GHA workflow (#146378)

10 days agogh-146442: Fix various bugs in compiler pipeline (#146443)
Brandon [Mon, 30 Mar 2026 20:04:04 +0000 (15:04 -0500)] 
gh-146442: Fix various bugs in compiler pipeline (#146443)

Fix null derefs, missing decrefs, and unchecked returns from bug report.

10 days agogh-146238: Support half-floats in the array module (#146242)
Sergey B Kirpichev [Mon, 30 Mar 2026 19:48:34 +0000 (22:48 +0300)] 
gh-146238: Support half-floats in the array module (#146242)

Co-authored-by: Victor Stinner <vstinner@python.org>
10 days agogh-145056: Add support for merging collections.UserDict and frozendict (GH-146465)
Serhiy Storchaka [Mon, 30 Mar 2026 19:07:28 +0000 (22:07 +0300)] 
gh-145056: Add support for merging collections.UserDict and frozendict (GH-146465)

10 days agogh-145056: Fix merging of collections.OrderedDict and frozendict (GH-146466)
Serhiy Storchaka [Mon, 30 Mar 2026 19:06:44 +0000 (22:06 +0300)] 
gh-145056: Fix merging of collections.OrderedDict and frozendict (GH-146466)

10 days agogh-139633: Run netrc file permission check only once per parse (GH-139634)
Cody Maloney [Mon, 30 Mar 2026 19:05:18 +0000 (12:05 -0700)] 
gh-139633: Run netrc file permission check only once per parse (GH-139634)

Change the `.netrc` security check to be run once per parse of the
default file rather than once per line inside the file.

10 days agogh-144270: Make SubElement parent and tag positional-only (GH-144845)
Neko Asakura [Mon, 30 Mar 2026 16:42:24 +0000 (00:42 +0800)] 
gh-144270: Make SubElement parent and tag positional-only (GH-144845)

The C accelerator implementations use PyArg_ParseTuple, which
inherently enforces positional-only parameters. The Python fallback
allowed these as keyword arguments, creating a behavioral mismatch.

Make the tag parameter of Element.__init__ and the parent and tag
parameters of SubElement positional-only to align with the C
accelerator.

10 days agogh-146558: JIT optimize dict access for objects with known hash (#146559)
Kumar Aditya [Mon, 30 Mar 2026 14:23:29 +0000 (19:53 +0530)] 
gh-146558: JIT optimize dict access for objects with known hash (#146559)

10 days agogh-139922: always run MSVC 64-bit tail-calling CI (GH-146570)
Chris Eibl [Mon, 30 Mar 2026 13:55:44 +0000 (15:55 +0200)] 
gh-139922: always run MSVC 64-bit tail-calling CI (GH-146570)

Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
Co-authored-by: 🇺🇦 Sviatoslav Sydorenko (Святослав Сидоренко) <wk.cvs.github@sydorenko.org.ua>
10 days agogh-126835: Fix _PY_IS_SMALL_INT() macro (#146631)
Victor Stinner [Mon, 30 Mar 2026 12:48:18 +0000 (14:48 +0200)] 
gh-126835: Fix _PY_IS_SMALL_INT() macro (#146631)

10 days agogh-146587: fix type slot assignment incase of multiple slots for same name (#146593)
Kumar Aditya [Mon, 30 Mar 2026 12:37:38 +0000 (18:07 +0530)] 
gh-146587: fix type slot assignment incase of multiple slots for same name (#146593)

10 days agogh-138122: Add differential flame graph (#145785)
ivonastojanovic [Mon, 30 Mar 2026 11:31:06 +0000 (12:31 +0100)] 
gh-138122: Add differential flame graph (#145785)

Differential flame graphs compare two profiling runs and highlight where
performance has changed. This makes it easier to detect regressions
introduced by code changes and to verify that optimizations have the
intended effect.

The visualization renders the current profile with frame widths
representing current time consumption. Color is then applied to show the
difference relative to the baseline profile: red gradients indicate
regressions, while blue gradients indicate improvements.

Some call paths may disappear entirely between profiles. These are
referred to as elided stacks and occur when optimizations remove code
paths or when certain branches stop executing. When elided stacks are
present, an "Elided" toggle is displayed, allowing the user to switch
between the main differential view and a view showing only the removed
paths.

Co-authored-by: Pablo Galindo Salgado <Pablogsal@gmail.com>
10 days agogh-146416: Emscripten: Improve standard stream handling in node_entry.mjs (#146417)
Hood Chatham [Mon, 30 Mar 2026 11:24:35 +0000 (13:24 +0200)] 
gh-146416: Emscripten: Improve standard stream handling in node_entry.mjs (#146417)

Co-authored-by: Victor Stinner <vstinner@python.org>
10 days agogh-146444: Don't package as part of iOS 'build hosts' target (#146628)
Russell Keith-Magee [Mon, 30 Mar 2026 10:58:57 +0000 (18:58 +0800)] 
gh-146444: Don't package as part of iOS 'build hosts' target (#146628)

* Revert Py3.9 compatibility fixes.
* Only build the package on 'build all'.

10 days agogh-138850: Add --disable-epoll to configure (GH-145768)
Marcel Telka [Mon, 30 Mar 2026 09:55:42 +0000 (11:55 +0200)] 
gh-138850: Add --disable-epoll to configure (GH-145768)

* gh-138850: Add --disable-epoll to configure

Co-authored-by: Petr Viktorin <encukou@gmail.com>
10 days agogh-146444: Make Platforms/Apple/ compatible with Python 3.9 (#146624)
Victor Stinner [Mon, 30 Mar 2026 09:25:11 +0000 (11:25 +0200)] 
gh-146444: Make Platforms/Apple/ compatible with Python 3.9 (#146624)

Replace "str | None" with typing.Union[str, None].

10 days agogh-138577: Fix keyboard shortcuts in getpass with echo_char (#141597)
Sanyam Khurana [Mon, 30 Mar 2026 09:11:13 +0000 (05:11 -0400)] 
gh-138577: Fix keyboard shortcuts in getpass with echo_char (#141597)

When using getpass.getpass(echo_char='*'), keyboard shortcuts like
Ctrl+U (kill line), Ctrl+W (erase word), and Ctrl+V (literal next)
now work correctly by reading the terminal's control character
settings and processing them in non-canonical mode.

Co-authored-by: Victor Stinner <vstinner@python.org>
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
11 days agogh-146556: Fix infinite loop in annotationlib.get_annotations() on circular __wrapped...
Ramin Farajpour Cami [Mon, 30 Mar 2026 03:08:18 +0000 (06:38 +0330)] 
gh-146556: Fix infinite loop in annotationlib.get_annotations() on circular __wrapped__ (#146557)

11 days agogh-146579: _zstd: Fix decompression options dict error message (#146577)
cui [Sun, 29 Mar 2026 19:58:12 +0000 (03:58 +0800)] 
gh-146579: _zstd: Fix decompression options dict error message (#146577)

The TypeError in _zstd_set_d_parameters incorrectly referred to
compression options; say decompression options instead.

11 days agogh-146083: Upgrade bundled Expat to 2.7.5 (#146085)
Stan Ulbrych [Sun, 29 Mar 2026 17:05:14 +0000 (19:05 +0200)] 
gh-146083: Upgrade bundled Expat to 2.7.5 (#146085)

11 days agogh-146080: fix a crash in SNI callbacks when the SSL object is gone (#146573)
Bénédikt Tran [Sun, 29 Mar 2026 12:27:22 +0000 (14:27 +0200)] 
gh-146080: fix a crash in SNI callbacks when the SSL object is gone (#146573)

11 days agogh-146090: fix memory management of internal `sqlite3` callback contexts (#146569)
Bénédikt Tran [Sun, 29 Mar 2026 12:21:37 +0000 (14:21 +0200)] 
gh-146090: fix memory management of internal `sqlite3` callback contexts (#146569)

11 days agogh-145876: Do not mask KeyErrors raised during dictionary unpacking in call (GH-146472)
Serhiy Storchaka [Sun, 29 Mar 2026 08:58:52 +0000 (11:58 +0300)] 
gh-145876: Do not mask KeyErrors raised during dictionary unpacking in call (GH-146472)

KeyErrors raised in keys() or __getitem__() during dictionary unpacking
in call (func(**mymapping)) are no longer masked by TypeError.

12 days agogh-146004: fix test_args_from_interpreter_flags on windows (#146580)
Chris Eibl [Sun, 29 Mar 2026 04:08:45 +0000 (06:08 +0200)] 
gh-146004: fix test_args_from_interpreter_flags on windows (#146580)

12 days agogh-139003: Use frozenset for module level attributes in _pyrepl.utils (#139004)
Pieter Eendebak [Sat, 28 Mar 2026 20:21:19 +0000 (21:21 +0100)] 
gh-139003: Use frozenset for module level attributes in _pyrepl.utils (#139004)

Use frozenset for module level attributes

12 days agoGH-146527: Add more data to GC statistics and add it to PyDebugOffsets (#146532)
Sergey Miryanov [Sat, 28 Mar 2026 18:52:10 +0000 (23:52 +0500)] 
GH-146527: Add more data to GC statistics and add it to PyDebugOffsets (#146532)

12 days ago`_pyrepl/pager.py`: call `less` with `--clear-screen` (#146382)
Stan Ulbrych [Sat, 28 Mar 2026 17:23:58 +0000 (18:23 +0100)] 
`_pyrepl/pager.py`: call `less` with `--clear-screen` (#146382)

12 days agogh-146544: Fix `asyncio.Queue` docstring ambiguity (#146545)
Jonathan Dung [Sat, 28 Mar 2026 11:05:45 +0000 (19:05 +0800)] 
gh-146544: Fix `asyncio.Queue` docstring ambiguity (#146545)

12 days agoDocs: don't rely on implicit 'above' directions in socket docs (#146426)
Ned Batchelder [Sat, 28 Mar 2026 09:41:24 +0000 (05:41 -0400)] 
Docs: don't rely on implicit 'above' directions in socket docs (#146426)

13 days agogh-146004: propagate all -X options to multiprocessing child processes (GH-146005)
Gregory P. Smith [Sat, 28 Mar 2026 05:03:05 +0000 (22:03 -0700)] 
gh-146004: propagate all -X options to multiprocessing child processes (GH-146005)

Propagate all -X command line options to multiprocessing spawned child Python processes.

13 days agogh-146381: Constant-fold frozendict subscript lookups via REPLACE_OPCODE_IF_EVALUATES...
Donghee Na [Sat, 28 Mar 2026 00:48:53 +0000 (09:48 +0900)] 
gh-146381: Constant-fold frozendict subscript lookups via REPLACE_OPCODE_IF_EVALUATES_PURE (gh-146490)

13 days agoGH-145247: Use _PyTuple_FromPair[Steal] in Objects (#145884)
Sergey Miryanov [Sat, 28 Mar 2026 00:01:01 +0000 (05:01 +0500)] 
GH-145247: Use _PyTuple_FromPair[Steal] in Objects (#145884)

Co-authored-by: Victor Stinner <vstinner@python.org>
13 days agogh-145059: Record lazy modules without submodules in `sys.lazy_modules` (#146081)
Bartosz Sławecki [Fri, 27 Mar 2026 21:37:11 +0000 (22:37 +0100)] 
gh-145059: Record lazy modules without submodules in `sys.lazy_modules` (#146081)

Record simple lazy modules as well

13 days agogh-145057: Fix test names and comments to reflect `sys.lazy_modules` is a dict, not...
Bartosz Sławecki [Fri, 27 Mar 2026 21:35:50 +0000 (22:35 +0100)] 
gh-145057: Fix test names and comments to reflect `sys.lazy_modules` is a dict, not a set (#146084)

Fix test names and comments to reflect sys.lazy_modules is a dict, not a set

13 days agogh-146310: Fix ensurepip to treat empty WHEEL_PKG_DIR as unset (#146357)
Imgyu Kim [Fri, 27 Mar 2026 20:48:07 +0000 (05:48 +0900)] 
gh-146310: Fix ensurepip to treat empty WHEEL_PKG_DIR as unset (#146357)

Path('') resolves to CWD, so an empty WHEEL_PKG_DIR string caused
ensurepip to search the current working directory for wheel files.
Add a truthiness check to treat empty strings the same as None.

Co-authored-by: Victor Stinner <vstinner@python.org>
13 days agogh-126910: Verify that JIT stencils preserve frame pointer (GH-146524)
Ken Jin [Fri, 27 Mar 2026 19:38:54 +0000 (03:38 +0800)] 
gh-126910: Verify that JIT stencils preserve frame pointer (GH-146524)

13 days agoGH-126910: avoid reading the FP for getting the SP (GH-146521)
Diego Russo [Fri, 27 Mar 2026 17:52:48 +0000 (17:52 +0000)] 
GH-126910: avoid reading the FP for getting the SP (GH-146521)

13 days agoGH-126910: reserve FP on AArch64 when generating JIT stencils (GH-146520)
Diego Russo [Fri, 27 Mar 2026 17:51:51 +0000 (17:51 +0000)] 
GH-126910: reserve FP on AArch64 when generating JIT stencils (GH-146520)

13 days agoMention _Float16 (type from Annex H of the C23) in the struct docs (#146243)
Sergey B Kirpichev [Fri, 27 Mar 2026 17:38:28 +0000 (20:38 +0300)] 
Mention _Float16 (type from Annex H of the C23) in the struct docs (#146243)

13 days agogh-145866: Convert `LIST_EXTEND` to leave its inputs on the stack to be cleaned up...
Neko Asakura [Fri, 27 Mar 2026 17:04:17 +0000 (13:04 -0400)] 
gh-145866: Convert `LIST_EXTEND` to leave its inputs on the stack to be cleaned up by `_POP_TOP` be cleaned up by `_POP_TOP` (GH-146383)

13 days agogh-146507: cache the buffer size for `SelectorTransport.get_write_buffer_size()`...
moktamd [Fri, 27 Mar 2026 16:13:15 +0000 (01:13 +0900)] 
gh-146507: cache the buffer size for `SelectorTransport.get_write_buffer_size()`  (#146518)

13 days agogh-146388: Add null check for `sym_new(ctx)` in `make_bottom` (GH-146389)
Brandon [Fri, 27 Mar 2026 14:50:29 +0000 (09:50 -0500)] 
gh-146388: Add null check for `sym_new(ctx)` in `make_bottom` (GH-146389)

13 days agogh-85332: Support cross-compiling for GNU/Hurd (#146094)
Sam James [Fri, 27 Mar 2026 14:33:12 +0000 (14:33 +0000)] 
gh-85332: Support cross-compiling for GNU/Hurd (#146094)

Recognise *-gnu (after *-linux*) as GNU/Hurd for cross-compilation.

13 days agogh-123471: Make `itertools.zip_longest` safe in the FT build (#146033)
Pieter Eendebak [Fri, 27 Mar 2026 14:01:49 +0000 (15:01 +0100)] 
gh-123471: Make `itertools.zip_longest` safe in the FT build (#146033)

13 days agogh-146250: Fix memory leak in re-initialization of `SyntaxError` (#146251)
Brij Kapadia [Fri, 27 Mar 2026 13:59:21 +0000 (09:59 -0400)] 
gh-146250: Fix memory leak in re-initialization of `SyntaxError` (#146251)

13 days agogh-142518: add thread safety annotations for bytearray C-API (#146514)
Kumar Aditya [Fri, 27 Mar 2026 13:10:26 +0000 (18:40 +0530)] 
gh-142518: add thread safety annotations for bytearray C-API (#146514)

13 days agogh-142518: add thread safety docs on bytes C-API (#146415)
Kumar Aditya [Fri, 27 Mar 2026 13:01:18 +0000 (18:31 +0530)] 
gh-142518: add thread safety docs on bytes C-API (#146415)

13 days agoGH-139922: update 3.15 whatsnew: Windows 64-bit binaries now use the tail-calling...
Chris Eibl [Fri, 27 Mar 2026 11:44:25 +0000 (12:44 +0100)] 
GH-139922: update 3.15 whatsnew: Windows 64-bit binaries now use the tail-calling interpreter (#146391)

Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
13 days agogh-146480: Override the exception in _PyErr_SetKeyError() (#146486)
Victor Stinner [Fri, 27 Mar 2026 11:20:19 +0000 (12:20 +0100)] 
gh-146480: Override the exception in _PyErr_SetKeyError() (#146486)

If _PyErr_SetKeyError() is called with an exception set, it now
replaces the current exception with KeyError (as expected), instead
of setting a SystemError or failing with a fatal error (in debug
mode).

13 days agogh-146440: Add array_hook parameter to JSON decoders (#146441)
Joao S. O. Bueno [Fri, 27 Mar 2026 11:10:48 +0000 (08:10 -0300)] 
gh-146440: Add array_hook parameter to JSON decoders (#146441)

Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
Co-authored-by: Victor Stinner <vstinner@python.org>
13 days agogh-138580: Revert sys.float_info.iec_60559 boolean flag (#146501)
Sergey B Kirpichev [Fri, 27 Mar 2026 10:29:15 +0000 (13:29 +0300)] 
gh-138580: Revert sys.float_info.iec_60559 boolean flag (#146501)

This reverts commit 68c7fad757f3a99fca257d11ce61adb78128a66c.

It looks like on practice the __STDC_IEC_559__ doesn't indicate
conformance to the standard. It can't be used to filter out tests
or to give some promises in documentation. See discussion in
the reverted PR thread:
https://github.com/python/cpython/pull/138811#issuecomment-4117692418

13 days agogh-146059: Cleanup pickle fast_save_enter() test (#146481)
Victor Stinner [Fri, 27 Mar 2026 08:13:48 +0000 (09:13 +0100)] 
gh-146059: Cleanup pickle fast_save_enter() test (#146481)

Remove {"key": data}, it's not required to reproduce the bug.
Simplify also deep_nested_struct(): remove the seed parameter.
Fix a typo in a comment.

2 weeks agogh-146444: Move the Apple folder to the Platforms directory (#146497)
Russell Keith-Magee [Fri, 27 Mar 2026 02:50:35 +0000 (10:50 +0800)] 
gh-146444: Move the Apple folder to the Platforms directory (#146497)

Migrate the Apple/iOS XCframework build tools to the Platforms directory.

2 weeks agogh-146498: Ensure binary content is correctly processed in multi-arch iOS XCframework...
Russell Keith-Magee [Fri, 27 Mar 2026 01:56:49 +0000 (09:56 +0800)] 
gh-146498: Ensure binary content is correctly processed in multi-arch iOS XCframeworks (#146499)

Ensure that multi-arch libpython dylibs aren't copied into the app, and the
standard lib is always found for framework post-processing.

2 weeks agogh-146410: Add --pythoninfo to make testios (#146494)
Victor Stinner [Thu, 26 Mar 2026 22:40:32 +0000 (23:40 +0100)] 
gh-146410: Add --pythoninfo to make testios (#146494)

Add --pythoninfo option to dump build information.

2 weeks agogh-146446: Miscellaneous improvements to iOS XCframework build script (#146447)
Russell Keith-Magee [Thu, 26 Mar 2026 21:54:03 +0000 (05:54 +0800)] 
gh-146446: Miscellaneous improvements to iOS XCframework build script (#146447)

Modifies the iOS build script so that the clean target is more selective about
what is cleaned, the test target has a valid fallback value for ci mode, and the
cross-build directory can be customised.

2 weeks agogh-144837: Improve documentation for more collection methods (GH-144841)
Serhiy Storchaka [Thu, 26 Mar 2026 19:29:23 +0000 (21:29 +0200)] 
gh-144837: Improve documentation for more collection methods (GH-144841)

Use uniform standard signature syntax in the tutorial and in
the array and collections modules documentation.

2 weeks agogh-146059: Call fast_save_leave() in pickle save_frozenset() (#146173)
Victor Stinner [Thu, 26 Mar 2026 16:35:27 +0000 (17:35 +0100)] 
gh-146059: Call fast_save_leave() in pickle save_frozenset() (#146173)

Add more pickle tests: test also nested structures.

2 weeks agogh-146318: Document that signal.SIGSTOP is Unix-only (#146319)
Jonathan Dung [Thu, 26 Mar 2026 15:05:21 +0000 (23:05 +0800)] 
gh-146318: Document that signal.SIGSTOP is Unix-only (#146319)