]> git.ipfire.org Git - thirdparty/Python/cpython.git/log
thirdparty/Python/cpython.git
2 weeks agogh-100239: Propagate type info through _BINARY_OP_EXTEND in tier 2 (GH-148146)
Pieter Eendebak [Mon, 6 Apr 2026 12:52:42 +0000 (14:52 +0200)] 
gh-100239: Propagate type info through _BINARY_OP_EXTEND in tier 2 (GH-148146)

2 weeks agoAdd Stan to docs config reviewers (#148164)
Stan Ulbrych [Mon, 6 Apr 2026 12:47:44 +0000 (13:47 +0100)] 
Add Stan to docs config reviewers (#148164)

2 weeks agogh-148119: Refactor `get_type_attr_as_size` to improve error handling in `structseq...
Wulian233 [Mon, 6 Apr 2026 12:11:30 +0000 (20:11 +0800)] 
gh-148119: Refactor `get_type_attr_as_size` to improve error handling in `structseq.c` (#148120)

2 weeks ago gh-148157: Check for `_PyPegen_add_type_comment_to_arg` fail in `_PyPegen_name_defau...
Stan Ulbrych [Mon, 6 Apr 2026 11:56:36 +0000 (12:56 +0100)] 
 gh-148157: Check for `_PyPegen_add_type_comment_to_arg` fail in `_PyPegen_name_default_pair` (#148158)

2 weeks agoDocs: Update "Installing Python modules" (#146249)
Hugo van Kemenade [Mon, 6 Apr 2026 11:21:59 +0000 (14:21 +0300)] 
Docs: Update "Installing Python modules" (#146249)

2 weeks agogh-148153: Do not use assert for parameter validation in base64 (GH-148154)
Serhiy Storchaka [Mon, 6 Apr 2026 10:47:27 +0000 (13:47 +0300)] 
gh-148153: Do not use assert for parameter validation in base64 (GH-148154)

base64.b32encode() now always raises ValueError instead of
AssertionError for the value of map01 with invalid length.

2 weeks agogh-144418: Increase Android testbed emulator RAM to 4 GB (#148054)
Malcolm Smith [Mon, 6 Apr 2026 05:48:00 +0000 (06:48 +0100)] 
gh-144418: Increase Android testbed emulator RAM to 4 GB (#148054)

Pre-create the Android emulator image so that the the configuration can be
modified to use 4GB of RAM.

2 weeks agogh-148144: Initialize visited on copied interpreter frames (#148143)
Pablo Galindo Salgado [Sun, 5 Apr 2026 23:23:07 +0000 (00:23 +0100)] 
gh-148144: Initialize visited on copied interpreter frames (#148143)

_PyFrame_Copy() copied interpreter frames into generator and
frame-object storage without initializing the visited byte. Incremental
GC later reads frame->visited in mark_stacks() on non-start passes, so
copied frames could expose an uninitialized value once they became live
on a thread stack again.

Reset visited when copying a frame so copied frames start with defined
GC bookkeeping state. Preserve lltrace in Py_DEBUG builds.

2 weeks agogh-145098: Use `macos-15-intel` instead of unstable `macos-26-intel` in `{jit,tail...
Stan Ulbrych [Sun, 5 Apr 2026 19:23:43 +0000 (20:23 +0100)] 
gh-145098: Use `macos-15-intel` instead of unstable `macos-26-intel` in `{jit,tail-call}.yml` (#148126)

Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
2 weeks agogh-140870: PyREPL auto-complete module attributes in import statements (#140871)
Loïc Simon [Sun, 5 Apr 2026 19:10:59 +0000 (21:10 +0200)] 
gh-140870: PyREPL auto-complete module attributes in import statements  (#140871)

Co-authored-by: Pablo Galindo Salgado <pablogsal@gmail.com>
2 weeks agogh-69605: Add math.integer to PyREPL module completer hardcoded list (#144811)
Loïc Simon [Sun, 5 Apr 2026 18:31:19 +0000 (20:31 +0200)] 
gh-69605: Add math.integer to PyREPL module completer hardcoded list (#144811)

2 weeks agoSilence `unused-variable` warnings in `optimizer_cases.c.h` (#148127)
Stan Ulbrych [Sun, 5 Apr 2026 18:22:10 +0000 (19:22 +0100)] 
Silence `unused-variable` warnings in `optimizer_cases.c.h` (#148127)

2 weeks agogh-94632: document the subprocess need for extra_groups=() with user= (GH-148129)
Gregory P. Smith [Sun, 5 Apr 2026 18:07:07 +0000 (11:07 -0700)] 
gh-94632: document the subprocess need for extra_groups=() with user= (GH-148129)

2 weeks agogh-144319: Fix huge page leak in datastack chunk allocator (#147963)
Pablo Galindo Salgado [Sun, 5 Apr 2026 15:29:38 +0000 (16:29 +0100)] 
gh-144319: Fix huge page leak in datastack chunk allocator (#147963)

Fix huge page leak in datastack chunk allocator

The original fix rounded datastack chunk allocations in pystate.c so that
_PyObject_VirtualFree() would receive the full huge page mapping size.

Change direction and move that logic into _PyObject_VirtualAlloc() and
_PyObject_VirtualFree() instead. The key invariant is that munmap() must see
the full mapped size, so alloc and free now apply the same platform-specific
rounding in the allocator layer.

This keeps _PyStackChunk bookkeeping in requested-size units, avoids a
hardcoded 2 MB assumption, and also covers other small virtual-memory users
such as the JIT tracer state allocation in optimizer.c.

2 weeks agoGH-139922: add interpreter types to InternalDocs/interpreter.md (GH-148035)
Chris Eibl [Sun, 5 Apr 2026 15:25:14 +0000 (17:25 +0200)] 
GH-139922: add interpreter types to InternalDocs/interpreter.md (GH-148035)

2 weeks agogh-130472: Integrate fancycompleter with the new repl, to get colored tab completions...
Antonio Cuni [Sun, 5 Apr 2026 14:23:07 +0000 (16:23 +0200)] 
gh-130472: Integrate fancycompleter with the new repl, to get colored tab completions (#130473)

Co-authored-by: Pablo Galindo <pablogsal@gmail.com>
2 weeks agoAdd `permissions: {}` to all reusable workflows (#148114)
Ezio Melotti [Sat, 4 Apr 2026 22:31:54 +0000 (06:31 +0800)] 
Add `permissions: {}` to all reusable workflows (#148114)

Add permissions: {} to all reusable workflows

2 weeks agogh-142927: Show self time in flamegraph tooltip (#147706)
ivonastojanovic [Sat, 4 Apr 2026 19:55:05 +0000 (20:55 +0100)] 
gh-142927: Show self time in flamegraph tooltip (#147706)

We already show self time in differential flamegraphs, but it should
be included in regular flamegraphs as well. Display the time spent
in the function body excluding callees, not just the total inclusive
time.

2 weeks agogh-145000: Find correct merge base in `reusable-check-html-ids.yml` workflow (#147975)
Stan Ulbrych [Sat, 4 Apr 2026 19:47:11 +0000 (20:47 +0100)] 
gh-145000: Find correct merge base in `reusable-check-html-ids.yml` workflow (#147975)

2 weeks agogh-73613: Support Base32 and Base64 without padding (GH-147974)
Serhiy Storchaka [Sat, 4 Apr 2026 18:26:16 +0000 (21:26 +0300)] 
gh-73613: Support Base32 and Base64 without padding (GH-147974)

Add the padded parameter in functions related to Base32 and Base64 codecs
in the binascii and base64 modules.  In the encoding functions it controls
whether the pad character can be added in the output, in the decoding
functions it controls whether padding is required in input.

Padding of input no longer required in base64.urlsafe_b64decode() by default.

2 weeks agoDocs: Standardize documentation authors (#148102)
Stan Ulbrych [Sat, 4 Apr 2026 18:02:16 +0000 (19:02 +0100)] 
Docs: Standardize documentation authors (#148102)

2 weeks agogh-146527: Heap-allocate gc_stats to avoid bloating PyInterpreterState (#148057)
Pablo Galindo Salgado [Sat, 4 Apr 2026 17:42:30 +0000 (18:42 +0100)] 
gh-146527: Heap-allocate gc_stats to avoid bloating PyInterpreterState (#148057)

The gc_stats struct contains ring buffers of gc_generation_stats
entries (11 young + 3×2 old on default builds). Embedding it inline
in _gc_runtime_state, which is itself inline in PyInterpreterState,
pushed fields like _gil.locked and threads.head to offsets beyond
what out-of-process profilers and debuggers can reasonably read in
a single buffer (e.g. offset 9384 for _gil.locked vs an 8 KiB read
buffer).

Heap-allocate generation_stats via PyMem_RawCalloc in _PyGC_Init and
free it in _PyGC_Fini. This shrinks PyInterpreterState by ~1.6 KiB
and keeps the GIL, thread-list, and other frequently-inspected fields
at stable, low offsets.

2 weeks agoDocs: Fix a typo in the 'Non-ASCII characters in names' section (#148043)
Stan Ulbrych [Sat, 4 Apr 2026 16:45:52 +0000 (17:45 +0100)] 
Docs: Fix a typo in the 'Non-ASCII characters in names' section (#148043)

2 weeks agoRegex HOWTO: invalid string literals result in `SyntaxWarning` (#148092)
Hugo van Kemenade [Sat, 4 Apr 2026 16:13:17 +0000 (19:13 +0300)] 
Regex HOWTO: invalid string literals result in `SyntaxWarning` (#148092)

Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
2 weeks agogh-148083: Prevent constant folding when lhs is container types (gh-148090)
Donghee Na [Sat, 4 Apr 2026 15:40:12 +0000 (00:40 +0900)] 
gh-148083: Prevent constant folding when lhs is container types (gh-148090)

2 weeks agogh-148074: Fix `typeobject.c` missing error return (#148075)
Wulian233 [Sat, 4 Apr 2026 15:34:55 +0000 (23:34 +0800)] 
gh-148074: Fix `typeobject.c` missing error return (#148075)

2 weeks agogh-148083: Constant-fold _CONTAINS_OP_SET for frozenset (gh-148084)
Donghee Na [Sat, 4 Apr 2026 12:32:12 +0000 (21:32 +0900)] 
gh-148083: Constant-fold _CONTAINS_OP_SET for frozenset (gh-148084)

2 weeks agogh-145883: Fix two heap-buffer-overflows in `_zoneinfo` (#145885)
Stan Ulbrych [Sat, 4 Apr 2026 12:29:17 +0000 (13:29 +0100)] 
gh-145883: Fix two heap-buffer-overflows in `_zoneinfo` (#145885)

2 weeks agogh-146073: Revert "gh-146073: Add fitness/exit quality mechanism for JIT trace fronte...
Ken Jin [Sat, 4 Apr 2026 11:56:40 +0000 (19:56 +0800)] 
gh-146073: Revert "gh-146073: Add fitness/exit quality mechanism for JIT trace frontend (GH-147966)" (#148082)

This reverts commit 198b04b75f7425c401ffe40a748688a89d28dd59.

2 weeks agogh-148067: Fix typo in asyncio event loop docs: 'signals' -> 'signal' (#148073)
TT [Sat, 4 Apr 2026 10:32:58 +0000 (12:32 +0200)] 
gh-148067: Fix typo in asyncio event loop docs: 'signals' -> 'signal' (#148073)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

2 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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