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

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

3 weeks 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>
3 weeks 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>
3 weeks 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'.

3 weeks 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>
3 weeks 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].

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

3 weeks 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.

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

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

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

3 weeks 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.

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

3 weeks 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

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

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

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

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

3 weeks 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.

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

3 weeks 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>
3 weeks 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

3 weeks 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

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

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

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

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

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

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

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

3 weeks 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.

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

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

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

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

3 weeks 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>
3 weeks 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).

3 weeks 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>
3 weeks 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

3 weeks 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.

3 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.

3 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.

3 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.

3 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.

3 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.

3 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.

3 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)

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

3 weeks 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.

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

3 weeks 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.

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

3 weeks 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>
3 weeks 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.

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

3 weeks 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.

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

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

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

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

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

3 weeks agogh-146358: Fix warnings.catch_warnings on Free Threading (#146374)
Victor Stinner [Wed, 25 Mar 2026 13:34:50 +0000 (14:34 +0100)] 
gh-146358: Fix warnings.catch_warnings on Free Threading (#146374)

catch_warnings now also overrides warnings.showwarning() on Free
Threading to support custom warnings.showwarning().

3 weeks agogh-146386: fix missing `va_end` in `_abiinfo_raise` in `modsupport.c` (#146387)
Brandon [Wed, 25 Mar 2026 12:54:08 +0000 (07:54 -0500)] 
gh-146386: fix missing `va_end` in `_abiinfo_raise` in `modsupport.c` (#146387)

3 weeks agogh-145098: Run Apple Silicon macOS CI on macos-26 (Tahoe) (#145099)
clintonsteiner [Wed, 25 Mar 2026 11:15:46 +0000 (06:15 -0500)] 
gh-145098: Run Apple Silicon macOS CI on macos-26 (Tahoe) (#145099)

3 weeks agogh-146369: Ensure `PYTHON_LAZY_IMPORTS=none` overrides `__lazy_modules__` (#146371)
Hugo van Kemenade [Wed, 25 Mar 2026 11:08:45 +0000 (13:08 +0200)] 
gh-146369: Ensure `PYTHON_LAZY_IMPORTS=none` overrides `__lazy_modules__` (#146371)

3 weeks agogh-146352: In Emscripten pyrepl test, pick port dynamically (#146375)
Hood Chatham [Wed, 25 Mar 2026 10:38:11 +0000 (11:38 +0100)] 
gh-146352: In Emscripten pyrepl test, pick port dynamically (#146375)

Dynamically allocates the port for the pyrepl browser test, so that multiple
tests can run at the same time. Also allows the pyrepl test to honor the
CROSS_BUILD_DIR environment variable.

3 weeks agogh-146207: Add support for OpenSSL 4.0.0 alpha1 (#146217)
Victor Stinner [Wed, 25 Mar 2026 06:44:47 +0000 (07:44 +0100)] 
gh-146207: Add support for OpenSSL 4.0.0 alpha1 (#146217)

OpenSSL 4.0.0 alpha1 removed these functions:

* SSLv3_method()
* TLSv1_method()
* TLSv1_1_method()
* TLSv1_2_method()

Other changes:

* Update test_openssl_version().
* Update multissltests.py for OpenSSL 4.
* Add const qualifier to fix compiler warnings.

Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
3 weeks agogh-146355: Fix `main_module` ref leak in `_PyRun_SimpleStringFlagsWithName` (#146356)
Brandon [Wed, 25 Mar 2026 06:36:59 +0000 (01:36 -0500)] 
gh-146355: Fix `main_module` ref leak in `_PyRun_SimpleStringFlagsWithName` (#146356)

3 weeks agogh-145633: Remove remnants of the "unknown_format" (floats) in the struct module...
Sergey B Kirpichev [Wed, 25 Mar 2026 06:23:44 +0000 (09:23 +0300)] 
gh-145633: Remove remnants of the "unknown_format" (floats) in the struct module (#146189)

3 weeks agogh-145633: Drop runtime checks for floatting-point formats in the array module (...
Sergey B Kirpichev [Wed, 25 Mar 2026 06:06:38 +0000 (09:06 +0300)] 
gh-145633: Drop runtime checks for floatting-point formats in the array module (#146162)

4 weeks agogh-146041: Avoid lock in sys.intern() for already interned strings (gh-146072)
Sam Gross [Tue, 24 Mar 2026 18:29:37 +0000 (14:29 -0400)] 
gh-146041: Avoid lock in sys.intern() for already interned strings (gh-146072)

Fix free-threading scaling bottleneck in sys.intern and `PyObject_SetAttr` by
avoiding the interpreter-wide lock when the string is already interned and
immortalized.

4 weeks agoGH-126910: Allow most native profilers and debuggers to unwind through JIT frames...
Brandt Bucher [Tue, 24 Mar 2026 18:09:35 +0000 (11:09 -0700)] 
GH-126910: Allow most native profilers and debuggers to unwind through JIT frames (GH-143548)

4 weeks agogh-128341: Use _Py_ABI_SLOT in stdlib modules (#145770)
Karolina Surma [Tue, 24 Mar 2026 17:47:55 +0000 (18:47 +0100)] 
gh-128341: Use _Py_ABI_SLOT in stdlib modules (#145770)

Rename from _Py_INTERNAL_ABI_SLOT to _Py_ABI_SLOT
and define the macro using _PyABIInfo_DEFAULT.

Use the ABI slot in stdlib extension modules to enable running
a check of ABI version compatibility.

_tkinter, _tracemalloc and readline don't use the slots, hence they need
explicit handling.

Co-authored-by: Victor Stinner <vstinner@python.org>
4 weeks agogh-144984: Skip test under tracerefs (GH-146218)
Petr Viktorin [Tue, 24 Mar 2026 16:34:12 +0000 (17:34 +0100)] 
gh-144984: Skip test under tracerefs (GH-146218)

4 weeks agogh-146306: JIT: Optimize float operations by mutating uniquely-referenced operands...
Pieter Eendebak [Tue, 24 Mar 2026 13:16:02 +0000 (14:16 +0100)] 
gh-146306: JIT: Optimize float operations by mutating uniquely-referenced operands in place (GH-146307)

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
4 weeks agogh-138580: Add sys.float_info.iec_60559 boolean flag (#138811)
Sergey B Kirpichev [Tue, 24 Mar 2026 11:36:15 +0000 (14:36 +0300)] 
gh-138580: Add sys.float_info.iec_60559 boolean flag (#138811)

This value indicating support the IEC 60559 floating-point standard (the
Annex F of C99).  If enabled, the float type characteristics matches the
IEC 60559 double format and exceptional cases for the math's functions
follow to the section F.10 of the C99 standard.

Co-authored-by: Victor Stinner <vstinner@python.org>
Co-authored-by: Stan Ulbrych <89152624+StanFromIreland@users.noreply.github.com>
4 weeks agogh-145866: Convert `DICT_MERGE` to leave its inputs on the stack to be cleaned up...
Neko Asakura [Tue, 24 Mar 2026 10:31:41 +0000 (06:31 -0400)] 
gh-145866: Convert `DICT_MERGE` to leave its inputs on the stack to be cleaned up by `_POP_TOP` (GH-146329)

4 weeks agogh-133879: Copyedit "What's new in Python 3.15" (#146345)
Hugo van Kemenade [Tue, 24 Mar 2026 09:01:26 +0000 (11:01 +0200)] 
gh-133879: Copyedit "What's new in Python 3.15" (#146345)

4 weeks agoRemove inactive CODEOWNERS (#145930)
Stan Ulbrych [Tue, 24 Mar 2026 01:09:49 +0000 (01:09 +0000)] 
Remove inactive CODEOWNERS (#145930)

4 weeks agogh-140196: Added constructor behavior changes in ast.rst for python 3.13 (GH-140243)
Parman Mohammadalizadeh [Tue, 24 Mar 2026 00:51:31 +0000 (00:51 +0000)] 
gh-140196: Added constructor behavior changes in ast.rst for python 3.13 (GH-140243)

Co-authored-by: Łukasz Langa <lukasz@langa.pl>
4 weeks agogh-146202: Create tmp_dir in regrtest worker (#146347)
Victor Stinner [Mon, 23 Mar 2026 23:47:47 +0000 (00:47 +0100)] 
gh-146202: Create tmp_dir in regrtest worker (#146347)

Create tmp_dir in libregrtest.worker since the directory can be
different than the --tempdir directory.

4 weeks agogh-144319: obtain SeLockMemoryPrivilege on Windows (#144928)
Chris Eibl [Mon, 23 Mar 2026 23:00:26 +0000 (00:00 +0100)] 
gh-144319: obtain SeLockMemoryPrivilege on Windows (#144928)

4 weeks agogh-146199: Fix error handling in `code_richcompare` when `PyObject_RichCompareBool...
Brij Kapadia [Mon, 23 Mar 2026 22:41:53 +0000 (18:41 -0400)] 
gh-146199: Fix error handling in `code_richcompare` when `PyObject_RichCompareBool` fails (#146200)

Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
Co-authored-by: Victor Stinner <vstinner@python.org>
4 weeks agogh-146197: Include a bit more information in sys._emscripten_info.runtime (#146346)
Hood Chatham [Mon, 23 Mar 2026 21:57:23 +0000 (22:57 +0100)] 
gh-146197: Include a bit more information in sys._emscripten_info.runtime (#146346)

4 weeks agogh-135871: Reload lock internal state while spinning in `PyMutex_LockTimed` (gh-146064)
Daniele Parmeggiani [Mon, 23 Mar 2026 20:55:06 +0000 (21:55 +0100)] 
gh-135871: Reload lock internal state while spinning in `PyMutex_LockTimed` (gh-146064)

Add atomic loads in the slow path of PyMutex to increase the number
of lock acquisitions per second that threads can make on a shared mutex.

4 weeks agogh-145719: Add `.efi` file detection in `mimetypes` (#145720)
Charlie Lin [Mon, 23 Mar 2026 20:16:41 +0000 (16:16 -0400)] 
gh-145719: Add `.efi` file detection in `mimetypes` (#145720)

Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
4 weeks agogh-146197: Run -m test.pythoninfo on the Emscripten CI (#146332)
Victor Stinner [Mon, 23 Mar 2026 17:23:25 +0000 (18:23 +0100)] 
gh-146197: Run -m test.pythoninfo on the Emscripten CI (#146332)

Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
4 weeks agogh-146325: Use `test.support.requires_fork` in test_fastpath_cache_cleared_in_forked_...
Hood Chatham [Mon, 23 Mar 2026 14:56:11 +0000 (15:56 +0100)] 
gh-146325: Use `test.support.requires_fork` in test_fastpath_cache_cleared_in_forked_child (#146330)

4 weeks agogh-146197: Add Emscripten to CI (#146198)
Hood Chatham [Mon, 23 Mar 2026 14:34:53 +0000 (15:34 +0100)] 
gh-146197: Add Emscripten to CI (#146198)

Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
4 weeks agogh-143387: Raise an exception instead of returning None when metadata file is missing...
Jason R. Coombs [Mon, 23 Mar 2026 13:12:36 +0000 (09:12 -0400)] 
gh-143387: Raise an exception instead of returning None when metadata file is missing. (#146234)

4 weeks agogh-108907: ctypes: Document _type_ codes (GH-145837)
Petr Viktorin [Mon, 23 Mar 2026 12:41:38 +0000 (13:41 +0100)] 
gh-108907: ctypes: Document _type_ codes (GH-145837)

Add `_SimpleCData._type_` docs.

Add type codes to the summary table.

Cross-link `struct`, `array`, and `ctypes`; throw in `numpy` too.
(Anyone wanting to add a code should be aware of those.)

Add `py_object`, and `VARIANT_BOOL` for completeness.

4 weeks agogh-146175: Soft-deprecate outdated macros; convert internal usage (GH-146178)
Petr Viktorin [Mon, 23 Mar 2026 11:42:09 +0000 (12:42 +0100)] 
gh-146175: Soft-deprecate outdated macros; convert internal usage (GH-146178)

Co-authored-by: Victor Stinner <vstinner@python.org>
4 weeks agogh-146056: Rework ref counting in treebuilder_handle_end() (#146167)
Victor Stinner [Mon, 23 Mar 2026 11:17:54 +0000 (12:17 +0100)] 
gh-146056: Rework ref counting in treebuilder_handle_end() (#146167)

Use more regular code to handle reference counting in
treebuilder_handle_end().

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
4 weeks agoAdd a warning about untrusted input to `configparser` docs (#146276)
Stan Ulbrych [Sun, 22 Mar 2026 23:58:31 +0000 (23:58 +0000)] 
Add a warning about untrusted input to `configparser` docs (#146276)

4 weeks agogh-145264: Do not ignore excess Base64 data after the first padded quad (GH-145267)
Serhiy Storchaka [Sun, 22 Mar 2026 21:12:58 +0000 (23:12 +0200)] 
gh-145264: Do not ignore excess Base64 data after the first padded quad (GH-145267)

Base64 decoder (see binascii.a2b_base64(), base64.b64decode(), etc)
no longer ignores excess data after the first padded quad in non-strict
(default) mode.  Instead, in conformance with RFC 4648, it ignores the
pad character, "=", if it is present before the end of the encoded data.