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

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

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

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

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

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

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

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

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

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

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

8 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

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

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

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

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

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

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

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

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