]> git.ipfire.org Git - thirdparty/Python/cpython.git/log
thirdparty/Python/cpython.git
2 months agogh-130555: Fix use-after-free in dict.clear() with embedded values (gh-145268)
Sam Gross [Mon, 2 Mar 2026 17:25:13 +0000 (12:25 -0500)] 
gh-130555: Fix use-after-free in dict.clear() with embedded values (gh-145268)

2 months agogh-144569: Avoid creating temporary objects in `BINARY_SLICE` for list, tuple, and...
Hai Zhu [Mon, 2 Mar 2026 17:02:38 +0000 (01:02 +0800)] 
gh-144569: Avoid creating temporary objects in `BINARY_SLICE` for list, tuple, and unicode (GH-144590)

* Scalar replacement of BINARY_SLICE for list, tuple, and unicode

2 months agogh-145307: Defer loading psapi.dll until ctypes.util.dllist() is called. (GH-145308)
Steve Dower [Mon, 2 Mar 2026 16:10:15 +0000 (16:10 +0000)] 
gh-145307: Defer loading psapi.dll until ctypes.util.dllist() is called. (GH-145308)

2 months agoDOC: clarify and expand documentation about PYTHONUSERBASE and PYTHONNOUSERSITE ...
Thomas A Caswell [Mon, 2 Mar 2026 15:54:26 +0000 (10:54 -0500)] 
DOC: clarify and expand documentation about PYTHONUSERBASE and PYTHONNOUSERSITE (#144637)

2 months agogh-142781: Fix type confusion in zoneinfo weak cache (GH-142925)
zhong [Mon, 2 Mar 2026 12:30:38 +0000 (20:30 +0800)] 
gh-142781: Fix type confusion in zoneinfo weak cache (GH-142925)

Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
Co-authored-by: Stan Ulbrych <89152624+StanFromIreland@users.noreply.github.com>
2 months agogh-144835: Added missing explanations for some parameters in glob and iglob. (#144836)
Facundo Batista [Mon, 2 Mar 2026 11:56:28 +0000 (08:56 -0300)] 
gh-144835: Added missing explanations for some parameters in glob and iglob. (#144836)

* Added missing explanations for some parameters in glob and iglob.

* News entry.

* Added proper 'func' indication in News file.

* Consistent use of backticks.

* Improved wording.

* consistent wording between the two docstrings

---------

Co-authored-by: Gregory P. Smith <68491+gpshead@users.noreply.github.com>
2 months agogh-144851: Fix `__lazy_import__` crash with user-defined filters (#144852)
Bartosz Sławecki [Mon, 2 Mar 2026 11:01:32 +0000 (12:01 +0100)] 
gh-144851: Fix `__lazy_import__` crash with user-defined filters (#144852)

2 months agogh-144748: Make PyErr_CheckSignals raise the exception scheduled by PyThreadState_Set...
Petr Viktorin [Mon, 2 Mar 2026 10:47:32 +0000 (11:47 +0100)] 
gh-144748: Make PyErr_CheckSignals raise the exception scheduled by PyThreadState_SetAsyncExc (GH-145178)

Co-authored-by: Peter Bierma <zintensitydev@gmail.com>
2 months agogh-100538: Add workflow to verify bundled libexpat (GH-145359)
Stan Ulbrych [Sun, 1 Mar 2026 19:48:28 +0000 (19:48 +0000)] 
gh-100538: Add workflow to verify bundled libexpat (GH-145359)

Add workflow to verify bundled libexpat.

2 months agogh-137829: Fix shelve tests for backend compatibility (#137879)
Furkan Onder [Sun, 1 Mar 2026 15:48:13 +0000 (00:48 +0900)] 
gh-137829: Fix shelve tests for backend compatibility (#137879)

2 months agogh-145351: use `--no-install-recommends` (#145352)
Thomas Kowalski [Sun, 1 Mar 2026 15:24:42 +0000 (16:24 +0100)] 
gh-145351: use `--no-install-recommends` (#145352)

2 months agogh-140715: Improve class reference links on datetime.rst (#123980)
edson duarte [Sun, 1 Mar 2026 11:59:02 +0000 (08:59 -0300)] 
gh-140715: Improve class reference links on datetime.rst (#123980)

Co-authored-by: Erlend E. Aasland <erlend@python.org>
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
Co-authored-by: Stan Ulbrych <89152624+StanFromIreland@users.noreply.github.com>
2 months agogh-136728: Combine OpenSSL and AWS-LC CI configurations (#144805)
Zachary Ware [Sun, 1 Mar 2026 09:18:23 +0000 (03:18 -0600)] 
gh-136728: Combine OpenSSL and AWS-LC CI configurations (#144805)

2 months agogh-145033: Implement PEP 747 (#145034)
Jelle Zijlstra [Sun, 1 Mar 2026 03:52:04 +0000 (19:52 -0800)] 
gh-145033: Implement PEP 747 (#145034)

2 months agogh-144551: Update iOS builds to use OpenSSL 3.5.5 (GH-145372)
Zachary Ware [Sat, 28 Feb 2026 22:26:47 +0000 (16:26 -0600)] 
gh-144551: Update iOS builds to use OpenSSL 3.5.5 (GH-145372)

2 months agogh-144551: Update Android builds to use OpenSSL 3.5.5 (GH-145371)
Zachary Ware [Sat, 28 Feb 2026 22:14:46 +0000 (16:14 -0600)] 
gh-144551: Update Android builds to use OpenSSL 3.5.5 (GH-145371)

2 months agoDestroy the turtle window after its doctests finish (GH-125294)
Zachary Ware [Sat, 28 Feb 2026 21:12:05 +0000 (15:12 -0600)] 
Destroy the turtle window after its doctests finish (GH-125294)

2 months agogh-145349: Do not install `ccache` (#145350)
Thomas Kowalski [Sat, 28 Feb 2026 20:37:15 +0000 (21:37 +0100)] 
gh-145349: Do not install `ccache` (#145350)

2 months agogh-142352: Fix `asyncio` `start_tls()` to transfer buffered data from StreamReader...
Maksym Kasimov [Sat, 28 Feb 2026 17:49:04 +0000 (19:49 +0200)] 
gh-142352: Fix `asyncio` `start_tls()` to transfer buffered data from StreamReader (#142354)

Co-authored-by: Kumar Aditya <kumaraditya@python.org>
2 months agoAdd Stan to 'Dates and times' reviewers (#145360)
Stan Ulbrych [Sat, 28 Feb 2026 13:07:35 +0000 (13:07 +0000)] 
Add Stan to 'Dates and times' reviewers (#145360)

2 months agogh-145269: simplify bisect.bisect doc example (#145270)
Nathan Goldbaum [Sat, 28 Feb 2026 09:09:39 +0000 (02:09 -0700)] 
gh-145269: simplify bisect.bisect doc example (#145270)

Co-authored-by: Pieter Eendebak <pieter.eendebak@gmail.com>
---------

Co-authored-by: Pieter Eendebak <pieter.eendebak@gmail.com>
2 months agogh-145241: specialize SyntaxError for single trailing-comma with item (#145282)
Pablo Galindo Salgado [Sat, 28 Feb 2026 02:24:06 +0000 (02:24 +0000)] 
gh-145241: specialize SyntaxError for single trailing-comma with item (#145282)

Co-authored-by: Bartosz Sławecki <bartosz@ilikepython.com>
2 months agogh-142927: Tachyon: Fix singular and plurals (#145329)
Hugo van Kemenade [Sat, 28 Feb 2026 01:48:35 +0000 (03:48 +0200)] 
gh-142927: Tachyon: Fix singular and plurals (#145329)

2 months agogh-145334: Make lazy import tests discoverable (#145336)
Bartosz Sławecki [Sat, 28 Feb 2026 01:44:50 +0000 (02:44 +0100)] 
gh-145334: Make lazy import tests discoverable (#145336)

2 months agoGH-144533: Use wasmtime's --argv0 to auto-discover sysconfig in WASI builds (#145328)
Savannah Ostrowski [Sat, 28 Feb 2026 00:23:12 +0000 (16:23 -0800)] 
GH-144533: Use wasmtime's --argv0 to auto-discover sysconfig in WASI builds (#145328)

2 months agogh-145230: Update lockbench (gh-145231)
Sam Gross [Fri, 27 Feb 2026 19:09:05 +0000 (14:09 -0500)] 
gh-145230: Update lockbench (gh-145231)

Remove PyThread_type_lock (now uses PyMutex internally).

Add new benchmark options:
- work_inside/work_outside: control work inside and outside the critical section to vary contention levels
- num_locks: use multiple independent locks with threads assigned round-robin
- total_iters: fixed iteration count per thread instead of time-based, useful for measuring fairness
- num_acquisitions: lock acquisitions per loop iteration
- random_locks: acquire random lock each iteration

Also return elapsed time from benchmark_locks() and switch lockbench.py to use argparse.

2 months agogh-76007: Deprecate `tarfile.version` (#145326)
Stan Ulbrych [Fri, 27 Feb 2026 18:46:02 +0000 (18:46 +0000)] 
gh-76007: Deprecate `tarfile.version` (#145326)

Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
2 months agogh-145305: Update ocert.org URLs in docs from http to https (#145304)
indoor47 [Fri, 27 Feb 2026 16:24:39 +0000 (17:24 +0100)] 
gh-145305: Update ocert.org URLs in docs from http to https (#145304)

Co-authored-by: Adam (indoor47) <adamai@agentmail.to>
2 months agogh-145142: Make str.maketrans safe under free-threading (gh-145157)
VanshAgarwal24036 [Fri, 27 Feb 2026 16:08:15 +0000 (21:38 +0530)] 
gh-145142: Make str.maketrans safe under free-threading (gh-145157)

2 months agogh-144693: Clarify that `PyFrame_GetBack` does not raise exceptions (GH-144824)
Taegyun Kim [Fri, 27 Feb 2026 15:25:46 +0000 (16:25 +0100)] 
gh-144693: Clarify that `PyFrame_GetBack` does not raise exceptions (GH-144824)

Co-authored-by: Sergey Miryanov <sergey.miryanov@gmail.com>
Co-authored-by: Peter Bierma <zintensitydev@gmail.com>
2 months agogh-141004: Document missing type flags (GH-145127)
Peter Bierma [Fri, 27 Feb 2026 15:11:52 +0000 (10:11 -0500)] 
gh-141004: Document missing type flags (GH-145127)

2 months agogh-145234: Normalize decoded CR in string tokenizer (#145281)
Pablo Galindo Salgado [Fri, 27 Feb 2026 12:44:54 +0000 (12:44 +0000)] 
gh-145234: Normalize decoded CR in string tokenizer (#145281)

2 months agogh-123853: Cleanup Windows 95 locale fallback support (#144738)
莯凛 [Fri, 27 Feb 2026 10:06:46 +0000 (18:06 +0800)] 
gh-123853: Cleanup Windows 95 locale fallback support (#144738)

Closes #123853

2 months agoFix unlikely potential reference leak in _locale._getdefaultlocale (GH-145250)
Serhiy Storchaka [Fri, 27 Feb 2026 08:02:19 +0000 (10:02 +0200)] 
Fix unlikely potential reference leak in _locale._getdefaultlocale (GH-145250)

It occurs in a code which perhaps never executed.

2 months agogh-142787: Handle empty sqlite3 blob slices (#142824)
A.Ibrahim [Thu, 26 Feb 2026 23:40:25 +0000 (23:40 +0000)] 
gh-142787: Handle empty sqlite3 blob slices (#142824)

2 months agogh-144872: fix heap buffer overflow `_PyTokenizer_ensure_utf8` (#144807)
AdamKorcz [Thu, 26 Feb 2026 22:35:08 +0000 (22:35 +0000)] 
gh-144872: fix heap buffer overflow `_PyTokenizer_ensure_utf8` (#144807)

2 months agogh-141510: support frozendict's in the C decimal module (gh-145165)
Sergey B Kirpichev [Thu, 26 Feb 2026 22:02:39 +0000 (01:02 +0300)] 
gh-141510: support frozendict's in the C decimal module (gh-145165)

2 months agogh-144316: Fix missing exception in _remote_debugging with debug=False (#144442)
Taegyun Kim [Thu, 26 Feb 2026 21:14:34 +0000 (22:14 +0100)] 
gh-144316: Fix missing exception in _remote_debugging with debug=False (#144442)

2 months agogh-141510: Update `PyDict_Copy` documentation with note on `frozendict` (GH-145249)
Pieter Eendebak [Thu, 26 Feb 2026 16:00:22 +0000 (17:00 +0100)] 
gh-141510: Update `PyDict_Copy` documentation with note on `frozendict` (GH-145249)

2 months agogh-144190: Clarify get_type_hints() instance behavior in docs (#144831)
Rajhans Jadhao [Thu, 26 Feb 2026 13:47:13 +0000 (19:17 +0530)] 
gh-144190: Clarify get_type_hints() instance behavior in docs (#144831)

2 months agogh-106318: Add examples for str.rjust() method (#143890)
Adorilson Bezerra [Thu, 26 Feb 2026 13:41:49 +0000 (13:41 +0000)] 
gh-106318: Add examples for str.rjust() method (#143890)

2 months agogh-145202: Fix crash in unicodedata's GraphemeBreakIterator and Segment (GH-145216)
Serhiy Storchaka [Thu, 26 Feb 2026 09:30:08 +0000 (11:30 +0200)] 
gh-145202: Fix crash in unicodedata's GraphemeBreakIterator and Segment (GH-145216)

Remove the tp_clear slots and make Segment members read-only.

Also add tests for reference loops involving GraphemeBreakIterator
and Segment.

2 months agogh-145037: Fix Emscripten trampoline with emcc >= 4.0.19 (#145038)
Hood Chatham [Wed, 25 Feb 2026 22:21:05 +0000 (23:21 +0100)] 
gh-145037: Fix Emscripten trampoline with emcc >= 4.0.19 (#145038)

This undoes a change made as a part of PR 137470, for compatibility with EMSDK
4.0.19. It adds `emscripten_trampoline` field in `pycore_runtime_structs.h`
and initializes it from JS initialization code with the wasm-gc based trampoline
if possible. Otherwise we fall back to the JS trampoline.

2 months agogh-144156: move news entry to Library (#145205)
Robsdedude [Wed, 25 Feb 2026 17:42:59 +0000 (18:42 +0100)] 
gh-144156: move news entry to Library (#145205)

2 months agogh-145197: Fix JIT trace crash when recording function from cleared generator frame...
Hai Zhu [Wed, 25 Feb 2026 16:52:53 +0000 (00:52 +0800)] 
gh-145197: Fix JIT trace crash when recording function from cleared generator frame (GH-145220)

2 months agoFix compileall in lazy imports test data with bad syntax (#145221)
Filipe Laíns [Wed, 25 Feb 2026 16:27:53 +0000 (16:27 +0000)] 
Fix compileall in lazy imports test data with bad syntax (#145221)

2 months agoFix "lazy from (...) import (...)" tests (#145213)
Filipe Laíns [Wed, 25 Feb 2026 15:57:06 +0000 (15:57 +0000)] 
Fix "lazy from (...) import (...)" tests (#145213)

2 months agogh-142518: Move thread safety sections into a new page (#144716)
Lysandros Nikolaou [Wed, 25 Feb 2026 15:49:46 +0000 (16:49 +0100)] 
gh-142518: Move thread safety sections into a new page (#144716)

- Create a new page for thread safety notes for built-in types
- Move thread safety notes for `list` into the new page
- Move thread safety notes for `dict` into the new page
---------

Co-authored-by: Stan Ulbrych <89152624+StanFromIreland@users.noreply.github.com>
2 months agoUpdate status of blockers on combining pixi packges variant sources (#145222)
Filipe Laíns [Wed, 25 Feb 2026 15:39:45 +0000 (15:39 +0000)] 
Update status of blockers on combining pixi packges variant sources (#145222)

2 months agogh-85809: Ensure shutil.make_archive accepts path-like objects in all cases (GH-143668)
Tadej Magajna [Wed, 25 Feb 2026 14:44:17 +0000 (15:44 +0100)] 
gh-85809: Ensure shutil.make_archive accepts path-like objects in all cases (GH-143668)

2 months agoGH-145000: Add a tool to record/check removed HTML IDs (#145001)
Petr Viktorin [Wed, 25 Feb 2026 12:37:59 +0000 (13:37 +0100)] 
GH-145000: Add a tool to record/check removed HTML IDs (#145001)

2 months agogh-47655: Add support for user data and detail of Tk events to tkinter (GH-7142)
Matthias Kievernagel [Wed, 25 Feb 2026 08:34:00 +0000 (08:34 +0000)] 
gh-47655: Add support for user data and detail of Tk events to tkinter (GH-7142)

Expose the %d substitution as the tkinter.Event attributes:

* "detail" for Enter, Leave, FocusIn, FocusOut, and ConfigureRequest events
* "user_data" for virtual events

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2 months agoGH-145006: add ModuleNotFoundError hints when a module for a differen… (#145007)
Filipe Laíns [Wed, 25 Feb 2026 00:53:01 +0000 (00:53 +0000)] 
GH-145006: add ModuleNotFoundError hints when a module for a differen… (#145007)

* GH-145006: add ModuleNotFoundError hints when a module for a different ABI exists

Signed-off-by: Filipe Laíns <lains@riseup.net>
* Fix deprecation warnings

Signed-off-by: Filipe Laíns <lains@riseup.net>
* Use SHLIB_SUFFIX in test_find_incompatible_extension_modules when available

Signed-off-by: Filipe Laíns <lains@riseup.net>
* Add test_incompatible_extension_modules_hint

Signed-off-by: Filipe Laíns <lains@riseup.net>
* Fix Windows

Signed-off-by: Filipe Laíns <lains@riseup.net>
* Show the whole extension module file name in hint

Signed-off-by: Filipe Laíns <lains@riseup.net>
---------

Signed-off-by: Filipe Laíns <lains@riseup.net>
2 months agogh-136677: Introduce executable specific linker flags to configure (#137296)
rueteh [Tue, 24 Feb 2026 22:52:02 +0000 (09:52 +1100)] 
gh-136677: Introduce executable specific linker flags to configure (#137296)

* introduce executable specific linker flags

Add PY_CORE_EXE_LDFLAGS and EXE_LDFLAGS which stores executable specific
LDFLAGS, replacing PY_CORE_LDFLAGS for building
executable targets.

If PY_CORE_EXE_LDFLAGS / EXE_LDFLAGS is not provided, then it defaults
to the value of PY_CORE_LDFLAGS which is the existing behaviour.

If both flags are supplied, and there is a need
to distinguish between executable and shared specific LDFLAGS,
in particular, PY_CORE_LDFLAGS should contain the shared specific LDFLAGS.

* documentation for new linker flags

* update Misc folder documentation

* Update Makefile.pre.in

Co-authored-by: Victor Stinner <vstinner@python.org>
---------

Co-authored-by: Filipe Laíns <filipe.lains@gmail.com>
Co-authored-by: Victor Stinner <vstinner@python.org>
Co-authored-by: Filipe Laíns <lains@riseup.net>
2 months agogh-145187: Fix crash on invalid type parameter bound expression in conditional block...
Stan Ulbrych [Tue, 24 Feb 2026 20:44:57 +0000 (20:44 +0000)] 
gh-145187: Fix crash on invalid type parameter bound expression in conditional block (GH-145188)

Fix parsing crash found by oss-fuzz

2 months agogh-88091: Fix unicodedata.decomposition() for Hangul Syllables (GH-144993)
Stan Ulbrych [Tue, 24 Feb 2026 17:42:33 +0000 (17:42 +0000)] 
gh-88091: Fix unicodedata.decomposition() for Hangul Syllables (GH-144993)

2 months agogh-143535: Dispatch on the second argument if generic method is instance-bindable...
Bartosz Sławecki [Tue, 24 Feb 2026 16:04:37 +0000 (17:04 +0100)] 
gh-143535: Dispatch on the second argument if generic method is instance-bindable (GH-144615)

Co-authored-by: Jason R. Coombs <jaraco@jaraco.com>
2 months agogh-145122: Add _GUARD_NOS_ANY_DICT to prevent STORE_SUBSCR_DICT on frozendict (gh...
Donghee Na [Tue, 24 Feb 2026 15:48:45 +0000 (00:48 +0900)] 
gh-145122: Add _GUARD_NOS_ANY_DICT to prevent STORE_SUBSCR_DICT on frozendict (gh-145039)

2 months agoFix `inspect.Parameter` docstring on the `kind` attribute (GH-143541)
Bartosz Sławecki [Tue, 24 Feb 2026 12:17:45 +0000 (13:17 +0100)] 
Fix `inspect.Parameter` docstring on the `kind` attribute (GH-143541)

2 months agogh-143304: Fix ctypes.CDLL to honor handle parameter on POSIX systems (GH-143318)
Arjit Singh Grover [Tue, 24 Feb 2026 12:16:58 +0000 (17:46 +0530)] 
gh-143304: Fix ctypes.CDLL to honor handle parameter on POSIX systems (GH-143318)

The handle parameter was being ignored in the POSIX implementation
of CDLL._load_library(), causing it to always call _dlopen() even
when a valid handle was provided. This was a regression introduced
in recent refactoring.

2 months agogh-137335: Fix unlikely name conflicts for named pipes in multiprocessing and asyncio...
Serhiy Storchaka [Tue, 24 Feb 2026 11:27:49 +0000 (13:27 +0200)] 
gh-137335: Fix unlikely name conflicts for named pipes in multiprocessing and asyncio on Windows (#137389)

Since os.stat() raises an OSError for existing named pipe "\\.\pipe\...",
os.path.exists() always returns False for it, and tempfile.mktemp() can
return a name that matches an existing named pipe.

So, tempfile.mktemp() cannot be used to generate unique names for named
pipes. Instead, CreateNamedPipe() should be called in a loop with
different names until it completes successfully.

2 months agogh-66305: Fix a hang on Windows in the tempfile module (GH-144672)
Serhiy Storchaka [Tue, 24 Feb 2026 11:05:06 +0000 (13:05 +0200)] 
gh-66305: Fix a hang on Windows in the tempfile module (GH-144672)

It occurred when trying to create a temporary file or subdirectory in
a non-writable directory.

2 months agogh-101178: Fix possible integer overflow in Ascii85 encoder with wrapcol=1 (GH-144778)
Serhiy Storchaka [Tue, 24 Feb 2026 09:40:24 +0000 (11:40 +0200)] 
gh-101178: Fix possible integer overflow in Ascii85 encoder with wrapcol=1 (GH-144778)

It could happen if the size of the input is more than 4/5 of sys.maxsize
(only feasible on 32-bit platforms).

Also simplify the integer overflow checks in the Base64 encoder, and
harmonize them with the code for Ascii85 and Base85.

2 months ago`_struct.c`: Fix UB from integer overflow in `prepare_s` (GH-145158)
Stan Ulbrych [Tue, 24 Feb 2026 00:53:17 +0000 (00:53 +0000)] 
`_struct.c`: Fix UB from integer overflow in `prepare_s` (GH-145158)

Avoid possible undefined behaviour from signed overflow in `struct` module

As discovered via oss-fuzz.

2 months agogh-110937: Document full public importlib.metadata.Distribution API (#143480)
Philipp A. [Mon, 23 Feb 2026 23:51:03 +0000 (00:51 +0100)] 
gh-110937: Document full public importlib.metadata.Distribution API (#143480)

2 months agogh-145110: Fix cleaning of PGO builds in Windows build.bat script (GH-145111)
Chris Eibl [Mon, 23 Feb 2026 22:53:56 +0000 (23:53 +0100)] 
gh-145110: Fix cleaning of PGO builds in Windows build.bat script (GH-145111)

2 months agoUpdate Python install manager docs (GH-145160)
Steve Dower [Mon, 23 Feb 2026 22:28:23 +0000 (22:28 +0000)] 
Update Python install manager docs (GH-145160)

These updates align with v26.0 that was just released.

2 months agogh-145118: Add `frozendict` support to `str.maketrans()` (gh-145129)
Stan Ulbrych [Mon, 23 Feb 2026 22:04:16 +0000 (22:04 +0000)] 
gh-145118: Add `frozendict` support to `str.maketrans()` (gh-145129)

Add support to `str.maketrans`

2 months agoIndexing is more straight-forward (and faster) than unpacking (gh-145154)
Raymond Hettinger [Mon, 23 Feb 2026 18:31:35 +0000 (12:31 -0600)] 
Indexing is more straight-forward (and faster) than unpacking (gh-145154)

2 months agoAdd Savannah as `jit.yml` CODEOWNER (#145152)
Savannah Ostrowski [Mon, 23 Feb 2026 17:54:14 +0000 (09:54 -0800)] 
Add Savannah as `jit.yml` CODEOWNER (#145152)

Add Savannah for jit.yml CODEOWNER

2 months agoUpdate argparse `suggest_on_error` code snippet in docs (#144985)
Savannah Ostrowski [Mon, 23 Feb 2026 17:25:05 +0000 (09:25 -0800)] 
Update argparse `suggest_on_error` code snippet in docs (#144985)

2 months agogh-144777: Fix data races in IncrementalNewlineDecoder (gh-144971)
Sam Gross [Mon, 23 Feb 2026 14:32:16 +0000 (09:32 -0500)] 
gh-144777: Fix data races in IncrementalNewlineDecoder (gh-144971)

2 months agogh-141004: Document `PyModuleDef_Type` (GH-145043)
Peter Bierma [Mon, 23 Feb 2026 14:18:45 +0000 (09:18 -0500)] 
gh-141004: Document `PyModuleDef_Type` (GH-145043)

2 months agogh-145089: Fix frozendict constructor (#145128)
Victor Stinner [Mon, 23 Feb 2026 07:22:29 +0000 (08:22 +0100)] 
gh-145089: Fix frozendict constructor (#145128)

2 months agogh-144015: Add portable SIMD optimization for bytes.hex() et. al. (GH-143991)
Gregory P. Smith [Mon, 23 Feb 2026 03:19:03 +0000 (19:19 -0800)] 
gh-144015: Add portable SIMD optimization for bytes.hex() et. al. (GH-143991)

Add SIMD optimization for `bytes.hex()`, `bytearray.hex()`, and `binascii.hexlify()` as well as `hashlib` `.hexdigest()` methods using platform-agnostic GCC/Clang vector extensions that compile to native SIMD instructions on our [PEP-11 Tier 1 Linux and macOS](https://peps.python.org/pep-0011/#tier-1) platforms.

- 1.1-3x faster for common small data (16-64 bytes, covering md5 through sha512 digest sizes)
- Up to 11x faster for large data (1KB+)
- Retains the existing scalar code for short inputs (<16 bytes) or platforms lacking SIMD instructions, no observable performance regressions there.

## Supported platforms:

- x86-64: the compiler generates SSE2 - always available, no flags or CPU feature checks needed
- ARM64: NEON is always available, always available, no flags or CPU feature checks needed
- ARM32: Requires NEON support and that appropriate compiler flags enable that (e.g., `-march=native` on a Raspberry Pi 3+) - while we _could_ use runtime detection to allow neon when compiled without a recent enough `-march=` flag (`cortex-a53` and later IIRC), there are diminishing returns in doing so. Anyone using 32-bit ARM in a situation where performance matters will already be compiling with such flags. (as opposed to 32-bit Raspbian compilation that defaults to aiming primarily for compatibility with rpi1&0 armv6 arch=armhf which lacks neon)
- Windows/MSVC: Not supported. MSVC lacks `__builtin_shufflevector`, so the existing scalar path is used. Leaving it as an opportunity for the future for someone to figure out how to express the intent to that compiler.

This is compile time detection of features that are always available on the target architectures. No need for runtime feature inspection.

2 months agogh-145131: difflib.Differ._fancy_replace performance (re-use ratio) (#145133)
dgpb [Mon, 23 Feb 2026 01:59:40 +0000 (03:59 +0200)] 
gh-145131: difflib.Differ._fancy_replace performance (re-use ratio) (#145133)

re-use calculated ratio

2 months agogh-145064: Fix JIT assertion failure during CALL_ALLOC_AND_ENTER_INIT side exit...
Hai Zhu [Sun, 22 Feb 2026 18:46:03 +0000 (02:46 +0800)] 
gh-145064:  Fix JIT assertion failure during CALL_ALLOC_AND_ENTER_INIT side exit (GH-145100)

2 months agoRefactor jit.yml (#144577)
Savannah Ostrowski [Sun, 22 Feb 2026 18:43:35 +0000 (10:43 -0800)] 
Refactor jit.yml (#144577)

Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
2 months agoFix warnings on main (GH-145104)
Chris Eibl [Sun, 22 Feb 2026 11:02:15 +0000 (12:02 +0100)] 
Fix warnings on main (GH-145104)

2 months agogh-145092: Fix compiler warning for memchr() and wcschr() returning const pointer...
Rudi Heitbaum [Sun, 22 Feb 2026 08:01:27 +0000 (19:01 +1100)] 
gh-145092: Fix compiler warning for memchr() and wcschr() returning const pointer (GH-145093)

2 months agogh-145076: Check globals type in __lazy_import__() (#145086)
Victor Stinner [Sat, 21 Feb 2026 21:06:59 +0000 (22:06 +0100)] 
gh-145076: Check globals type in __lazy_import__() (#145086)

2 months agogh-141510: Change dict_unhashable_type() error message for frozendict (#145085)
Victor Stinner [Sat, 21 Feb 2026 19:08:28 +0000 (20:08 +0100)] 
gh-141510: Change dict_unhashable_type() error message for frozendict (#145085)

2 months agogh-141510: Test frozendict in test_capi.test_dict (#145084)
Victor Stinner [Sat, 21 Feb 2026 19:07:30 +0000 (20:07 +0100)] 
gh-141510: Test frozendict in test_capi.test_dict (#145084)

Complete PyDict_Clear() documentation.

2 months agogh-141510: Check argument in PyDict_Contains() (#145083)
Victor Stinner [Sat, 21 Feb 2026 17:36:02 +0000 (18:36 +0100)] 
gh-141510: Check argument in PyDict_Contains() (#145083)

PyDict_Contains() and PyDict_ContainsString() now fail with
SystemError if the first argument is not a dict, frozendict, dict
subclass or frozendict subclass.

2 months agogh-66802: Add `unicodedata.block()` function (#145042)
Stan Ulbrych [Sat, 21 Feb 2026 17:27:55 +0000 (17:27 +0000)] 
gh-66802: Add `unicodedata.block()` function (#145042)

Closes #66802

2 months agogh-141510: Check argument in PyDict_MergeFromSeq2() (#145082)
Victor Stinner [Sat, 21 Feb 2026 16:21:43 +0000 (17:21 +0100)] 
gh-141510: Check argument in PyDict_MergeFromSeq2() (#145082)

PyDict_MergeFromSeq2() now fails with SystemError if the first
argument is not a dict or a dict subclass.

PyDict_Update(), PyDict_Merge() and _PyDict_MergeEx() no longer
accept frozendict.

2 months agogh-141510: Support frozendict in pprint (#144908)
Victor Stinner [Sat, 21 Feb 2026 16:08:24 +0000 (17:08 +0100)] 
gh-141510: Support frozendict in pprint (#144908)

Co-authored-by: devdanzin <74280297+devdanzin@users.noreply.github.com>
2 months agogh-141510: Test frozendict C API (#145081)
Victor Stinner [Sat, 21 Feb 2026 16:00:23 +0000 (17:00 +0100)] 
gh-141510: Test frozendict C API (#145081)

Add tests on functions:

* PyAnyDict_Check()
* PyAnyDict_CheckExact()
* PyFrozenDict_Check()
* PyFrozenDict_CheckExact()
* PyFrozenDict_New()

2 months agogh-141510: Fix copy.deepcopy() for recursive frozendict (#145027)
Victor Stinner [Sat, 21 Feb 2026 15:30:40 +0000 (16:30 +0100)] 
gh-141510: Fix copy.deepcopy() for recursive frozendict (#145027)

2 months agoUse `lazy` imports in `collections` (gh-145054)
Raymond Hettinger [Sat, 21 Feb 2026 14:14:53 +0000 (08:14 -0600)] 
Use `lazy` imports in `collections` (gh-145054)

2 months agogh-145058: Add input validation to `_PyImport_LazyImportModuleLevelObject` (#145068)
Stan Ulbrych [Sat, 21 Feb 2026 12:52:40 +0000 (12:52 +0000)] 
gh-145058: Add input validation to `_PyImport_LazyImportModuleLevelObject` (#145068)

2 months agogh-144285: Update *What's New* entry after GH-144299 (#145077)
Bartosz Sławecki [Sat, 21 Feb 2026 12:50:55 +0000 (13:50 +0100)] 
gh-144285: Update *What's New* entry after GH-144299 (#145077)

2 months agogh-141510: Fix test_xpickle for Python 3.14 and older (#145069)
Victor Stinner [Sat, 21 Feb 2026 12:05:35 +0000 (13:05 +0100)] 
gh-141510: Fix test_xpickle for Python 3.14 and older (#145069)

Skip tests on frozendict on Python 3.14 and older.

2 months agogh-141226: Deprecate PEP-456 support for embedders (#141287)
Bénédikt Tran [Sat, 21 Feb 2026 11:42:13 +0000 (12:42 +0100)] 
gh-141226: Deprecate PEP-456 support for embedders (#141287)

Deprecate PEP-456 [1] support for providing an external definition
of the string hashing scheme. Removal is scheduled for Python 3.19.

Previously, embedders could define the ``Py_HASH_ALGORITHM`` macro to be
``Py_HASH_EXTERNAL`` [2] to indicate that the hashing scheme was provided
externally but this feature was undocumented, untested and most likely
unused.

[1]: https://peps.python.org/pep-0456/
[2]: https://peps.python.org/pep-0456/#hash-function-selection

2 months agogh-142516: fix reference leaks in `ssl.SSLContext` objects (#143685)
Bénédikt Tran [Sat, 21 Feb 2026 11:31:16 +0000 (12:31 +0100)] 
gh-142516: fix reference leaks in `ssl.SSLContext` objects (#143685)

2 months agogh-141510, PEP 814: Add frozendict support to json (#144903)
Victor Stinner [Sat, 21 Feb 2026 11:22:47 +0000 (12:22 +0100)] 
gh-141510, PEP 814: Add frozendict support to json (#144903)

2 months agogh-143698: correctly check `scheduler` and `setpgroup` values for `os.posix_spawn...
Bénédikt Tran [Sat, 21 Feb 2026 11:20:42 +0000 (12:20 +0100)] 
gh-143698: correctly check `scheduler` and `setpgroup` values for `os.posix_spawn[p]` (#143699)

Fix an issue where passing invalid arguments to `os.posix_spawn[p]` functions
raised a SystemError instead of a TypeError, and allow to explicitly use `None`
for `scheduler` and `setpgroup` as specified in the docs.

2 months agogh-141510, PEP 814: Add frozendict support to pickle (#144967)
Victor Stinner [Sat, 21 Feb 2026 10:07:55 +0000 (11:07 +0100)] 
gh-141510, PEP 814: Add frozendict support to pickle (#144967)

Add frozendict.__getnewargs__() method.

2 months agogh-144694: Fix re.Match.group() doc claiming [1..99] range limit (#144696)
Mohsin Mehmood [Sat, 21 Feb 2026 05:36:26 +0000 (10:36 +0500)] 
gh-144694: Fix re.Match.group() doc claiming [1..99] range limit (#144696)

The documentation incorrectly stated that numeric group arguments
must be in the range [1..99]. This limit was removed in Python 3.5
(bpo-22437). Replace with "a positive integer" since the next
sentence already documents the IndexError for out-of-range values.

2 months agogh-145028: Fix blake2 tests in test_hashlib when it is missing due to build config...
Rafael Santos [Sat, 21 Feb 2026 04:57:29 +0000 (22:57 -0600)] 
gh-145028: Fix blake2 tests in test_hashlib when it is missing due to build config (GH-145029)

specifically configure --without-builtin-hashlib-hashes means the otherwise guaranteed available blake2 family will not exist.  this allows the test suite to still pass.