]> git.ipfire.org Git - thirdparty/Python/cpython.git/log
thirdparty/Python/cpython.git
8 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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().

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

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

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

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

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

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

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

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

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

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

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

2 months 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.

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

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

2 months 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.

2 months 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.

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

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

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

2 months 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>
2 months 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>
2 months 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'.

2 months 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>
2 months 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].

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

2 months 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.

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

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

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

2 months 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.

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

2 months 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

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

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

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

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

2 months 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.

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

2 months 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>
2 months 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

2 months 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

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

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

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

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

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

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

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

2 months 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.

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

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

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

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

2 months 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>
2 months 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).

2 months 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>
2 months 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

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

2 months agogh-146151: Add support for complex arrays in the array module (#146237)
Sergey B Kirpichev [Thu, 26 Mar 2026 14:45:20 +0000 (17:45 +0300)] 
gh-146151: Add support for complex arrays in the array module (#146237)

Co-authored-by: Victor Stinner <vstinner@python.org>
2 months agogh-146151: memoryview supports 'F' and 'D' format types (complex) (#146241)
Sergey B Kirpichev [Thu, 26 Mar 2026 14:26:34 +0000 (17:26 +0300)] 
gh-146151: memoryview supports 'F' and 'D' format types (complex) (#146241)

Co-authored-by: Victor Stinner <vstinner@python.org>
2 months agogh-131798: JIT: split call method and call builtin opcodes into smaller uops (#146463)
Kumar Aditya [Thu, 26 Mar 2026 14:20:57 +0000 (19:50 +0530)] 
gh-131798: JIT: split call method and call builtin opcodes into smaller uops (#146463)

2 months agogh-145876: Do not mask AttributeErrors raised during dictionary unpacking (GH-145906)
Serhiy Storchaka [Thu, 26 Mar 2026 13:48:57 +0000 (15:48 +0200)] 
gh-145876: Do not mask AttributeErrors raised during dictionary unpacking (GH-145906)

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

2 months agogh-145650: Add `logging.{Formatter,Filter}.__repr__` (GH-145652)
Jack Danger [Thu, 26 Mar 2026 12:41:14 +0000 (05:41 -0700)] 
gh-145650: Add `logging.{Formatter,Filter}.__repr__` (GH-145652)

2 months agogh-145616: Detect Android sysconfig ABI correctly on 32-bit ARM Android on 64-bit...
Robert Kirkman [Thu, 26 Mar 2026 12:27:36 +0000 (07:27 -0500)] 
gh-145616: Detect Android sysconfig ABI correctly on 32-bit ARM Android on 64-bit ARM kernel (GH-145617)

When Python is running on 32-bit ARM Android on a 64-bit ARM kernel, `os.uname().machine` is `armv8l`. Such devices run the same userspace code as `armv7l` devices, so apply the same `armeabi_v7a` Android ABI to them, which works.

2 months agogh-145866: Convert `DICT_UPDATE` to leave its inputs on the stack to be cleaned up...
Sacul [Thu, 26 Mar 2026 11:38:44 +0000 (19:38 +0800)] 
gh-145866: Convert `DICT_UPDATE` to leave its inputs on the stack to be cleaned up by `_POP_TOP` (GH-146190)

2 months agogh-145633: Fix struct.pack('f') on s390x (#146422)
Victor Stinner [Thu, 26 Mar 2026 11:12:49 +0000 (12:12 +0100)] 
gh-145633: Fix struct.pack('f') on s390x (#146422)

Use PyFloat_Pack4() to raise OverflowError.
Add more tests on packing/unpacking floats.

Co-authored-by: Sergey B Kirpichev <skirpichev@gmail.com>
2 months agogh-146410: Run tests with with --pythoninfo on iOS (#146457)
Victor Stinner [Thu, 26 Mar 2026 10:44:51 +0000 (11:44 +0100)] 
gh-146410: Run tests with with --pythoninfo on iOS (#146457)

Add --pythoninfo option to dump build information.

2 months agogh-GH-131798: optimize jit attribute loads on immutable types (#146449)
Kumar Aditya [Thu, 26 Mar 2026 10:12:10 +0000 (15:42 +0530)] 
gh-GH-131798: optimize jit attribute loads on immutable types (#146449)

2 months agogh-146410: Add --pythoninfo option to regrtest (#146413)
Victor Stinner [Thu, 26 Mar 2026 09:56:38 +0000 (10:56 +0100)] 
gh-146410: Add --pythoninfo option to regrtest (#146413)

* Android now runs tests with --pythoninfo to dump build information.
* Add display_title() function.

2 months agogh-145866: Convert `_CALL_INTRINSIC_2` to leave its inputs on the stack to be cleaned...
Kevin Huai [Thu, 26 Mar 2026 09:41:07 +0000 (03:41 -0600)] 
gh-145866: Convert `_CALL_INTRINSIC_2` to leave its inputs on the stack to be cleaned up by `_POP_TOP`  (GH-146262)

2 months agogh-146453: fix `_PyType_LookupByVersion` for types with fixed pre-defined version...
Kumar Aditya [Thu, 26 Mar 2026 09:06:55 +0000 (14:36 +0530)] 
gh-146453: fix `_PyType_LookupByVersion` for types with fixed pre-defined version tags (#146454)

2 months agogh-138573: Filter out failing math tests on Solaris (#146402)
Sergey B Kirpichev [Wed, 25 Mar 2026 23:11:20 +0000 (02:11 +0300)] 
gh-138573: Filter out failing math tests on Solaris (#146402)

2 months agogh-146244: Fix initconfig.c SET_ITEM macro leaks dict on expression failure (GH-146246)
Wulian233 [Wed, 25 Mar 2026 19:09:56 +0000 (03:09 +0800)] 
gh-146244: Fix initconfig.c SET_ITEM macro leaks dict on expression failure (GH-146246)

2 months agoFix typo in 3.14 What's New tail call interpreter docs (GH-146425)
johnthagen [Wed, 25 Mar 2026 18:53:25 +0000 (14:53 -0400)] 
Fix typo in 3.14 What's New tail call interpreter docs (GH-146425)