]> git.ipfire.org Git - thirdparty/Python/cpython.git/log
thirdparty/Python/cpython.git
3 weeks agogh-148078: Fix uses of sym_is_not_null in JIT optimizer (GH-148079)
Ken Jin [Sat, 4 Apr 2026 10:16:23 +0000 (18:16 +0800)] 
gh-148078: Fix uses of sym_is_not_null in JIT optimizer (GH-148079)

3 weeks agogh-131798: split recursion check to _CHECK_RECURSION_LIMIT and combine checks (GH...
Kumar Aditya [Sat, 4 Apr 2026 09:23:03 +0000 (14:53 +0530)] 
gh-131798: split recursion check to _CHECK_RECURSION_LIMIT and combine checks (GH-148070)

3 weeks agogh-148016: Improve "Leading padding not allowed" error in Base32 and Base64 decoders...
Serhiy Storchaka [Sat, 4 Apr 2026 08:37:14 +0000 (11:37 +0300)] 
gh-148016: Improve "Leading padding not allowed" error in Base32 and Base64 decoders (GH-148017)

It is now raised instead of "Excess padding not allowed" if all characters
preceding "=" were ignored.

3 weeks agogh-148029: Fix error message for invalid number of Base32 characters (GH-148030)
Serhiy Storchaka [Sat, 4 Apr 2026 08:07:19 +0000 (11:07 +0300)] 
gh-148029: Fix error message for invalid number of Base32 characters (GH-148030)

Do not count ignored non-alphabet characters.

3 weeks agogh-131798: relax GUARD_CALLABLE checks for self type checks (#148069)
Kumar Aditya [Sat, 4 Apr 2026 07:19:23 +0000 (12:49 +0530)] 
gh-131798: relax GUARD_CALLABLE checks for self type checks (#148069)

3 weeks agogh-131798: JIT inline function addresses of builtin methods (#146906)
Kumar Aditya [Sat, 4 Apr 2026 03:42:13 +0000 (09:12 +0530)] 
gh-131798: JIT inline function addresses of builtin methods  (#146906)

3 weeks agogh-146450: Normalise feature set of Android build script with other platform build...
Russell Keith-Magee [Sat, 4 Apr 2026 03:42:04 +0000 (11:42 +0800)] 
gh-146450: Normalise feature set of Android build script with other platform build scripts (#146451)

Allows for cleaning a subset of targets, customization of the download cache and
cross-build directories, and modifies the build command to allow 'all', 'build'
and 'hosts' targets.

3 weeks agogh-146541: Allow building the Android testbed for 32-bit targets (#146542)
Robert Kirkman [Sat, 4 Apr 2026 03:27:27 +0000 (22:27 -0500)] 
gh-146541: Allow building the Android testbed for 32-bit targets (#146542)

Allows building the Android testbed for 32-bit targets, adding the target triplets
`arm-linux-androideabi` and `i686-linux-android`.

Co-authored-by: Malcolm Smith <smith@chaquo.com>
3 weeks agoGH-146210: Fix building the jit stencils on Windows when the interpreter is built...
Chris Eibl [Fri, 3 Apr 2026 19:42:13 +0000 (21:42 +0200)] 
GH-146210: Fix building the jit stencils on Windows when the interpreter is built with a different clang version (#146338)

Co-authored-by: Savannah Ostrowski <savannah@python.org>
3 weeks agogh-126676: Expand argparse docs for type=bool with warning and alternatives (#146435)
Joshua Swanson [Fri, 3 Apr 2026 18:07:03 +0000 (20:07 +0200)] 
gh-126676: Expand argparse docs for type=bool with warning and alternatives (#146435)

Co-authored-by: joshuaswanson <joshuaswanson@users.noreply.github.com>
Co-authored-by: Savannah Ostrowski <savannah@python.org>
3 weeks agogh-145098: Use `macos-15-intel` instead of unstable `macos-26-intel` (#148038)
Hugo van Kemenade [Fri, 3 Apr 2026 16:23:29 +0000 (19:23 +0300)] 
gh-145098: Use `macos-15-intel` instead of unstable `macos-26-intel` (#148038)

3 weeks agogh-146073: Add fitness/exit quality mechanism for JIT trace frontend (GH-147966)
Hai Zhu [Fri, 3 Apr 2026 15:54:30 +0000 (23:54 +0800)] 
gh-146073: Add fitness/exit quality mechanism for JIT trace frontend (GH-147966)

3 weeks agogh-143930: Tweak the exception message and increase test coverage (GH-146476)
Łukasz Langa [Fri, 3 Apr 2026 15:31:25 +0000 (17:31 +0200)] 
gh-143930: Tweak the exception message and increase test coverage (GH-146476)

3 weeks agogh-146640: Optimize int operations by mutating uniquely-referenced operands in place...
Pieter Eendebak [Fri, 3 Apr 2026 15:23:04 +0000 (17:23 +0200)] 
gh-146640: Optimize int operations by mutating uniquely-referenced operands in place (JIT only) (GH-146641)

3 weeks agogh-125895: Fix static asset location for `sphinx-notfound-page` (#147984)
Stan Ulbrych [Fri, 3 Apr 2026 15:19:30 +0000 (16:19 +0100)] 
gh-125895: Fix static asset location for `sphinx-notfound-page` (#147984)

3 weeks agogh-148022: Add threat model to remote debugging docs (#148024)
Pablo Galindo Salgado [Fri, 3 Apr 2026 14:20:50 +0000 (15:20 +0100)] 
gh-148022: Add threat model to remote debugging docs (#148024)

The remote debugging protocol has been generating spurious
vulnerability reports from automated scanners that pattern-match
on "remote access" and "memory operations" without understanding
the privilege model. This section documents the security boundaries
so reporters can self-triage before submitting.

The threat model clarifies three points: attaching requires the
same OS-level privileges as GDB (ptrace, task_for_pid, or
SeDebugPrivilege), crashes caused by reading corrupted target
process memory are not security issues, and a compromised target
process is out of scope. A subsection explains when operators
should use PYTHON_DISABLE_REMOTE_DEBUG for defence-in-depth.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

4 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>
4 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>
4 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'.

4 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>
4 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].

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

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

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

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

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

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

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

4 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

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

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

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

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

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

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

4 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>
4 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

4 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

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

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

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

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

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

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

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

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