]> git.ipfire.org Git - thirdparty/Python/cpython.git/log
thirdparty/Python/cpython.git
5 weeks agoUse bytecodealliance/setup-wasi-sdk-action to install the WASI SDK (#145445)
Brett Cannon [Wed, 4 Mar 2026 21:27:47 +0000 (13:27 -0800)] 
Use bytecodealliance/setup-wasi-sdk-action to install the WASI SDK (#145445)

5 weeks agoRefactor `Platforms/WASI/__main__.py` for lazy importing and future new subcommands...
Brett Cannon [Wed, 4 Mar 2026 21:27:23 +0000 (13:27 -0800)] 
Refactor `Platforms/WASI/__main__.py` for lazy importing and future new subcommands (#145404)

Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
5 weeks agoFix bugs in `compute-changes.py` logic for CIFuzz (#145232)
Stan Ulbrych [Wed, 4 Mar 2026 20:43:44 +0000 (20:43 +0000)] 
Fix bugs in `compute-changes.py` logic for CIFuzz (#145232)

5 weeks agogh-145506: Fixes CVE-2026-2297 by ensuring SourcelessFileLoader uses io.open_code...
Steve Dower [Wed, 4 Mar 2026 19:55:52 +0000 (19:55 +0000)] 
gh-145506: Fixes CVE-2026-2297 by ensuring SourcelessFileLoader uses io.open_code (GH-145507)

5 weeks agogh-141510: Optimize PyDict_Copy() for frozendict (#145509)
Victor Stinner [Wed, 4 Mar 2026 19:49:20 +0000 (20:49 +0100)] 
gh-141510: Optimize PyDict_Copy() for frozendict (#145509)

Implement fast-path for frozendict in PyDict_Copy().

5 weeks agogh-141510: Return frozendict unmodified in PyDict_Copy() (#145505)
Victor Stinner [Wed, 4 Mar 2026 19:11:00 +0000 (20:11 +0100)] 
gh-141510: Return frozendict unmodified in PyDict_Copy() (#145505)

Add also the internal _PyDict_CopyAsDict() function.

5 weeks agogh-145500: Delete _PyType_GetMRO (gh-145501)
Sam Gross [Wed, 4 Mar 2026 18:32:43 +0000 (13:32 -0500)] 
gh-145500: Delete _PyType_GetMRO (gh-145501)

5 weeks agogh-122941: Fix test_launcher sporadic failures via py.ini isolation (GH-145090)
Itamar Oren [Wed, 4 Mar 2026 18:06:49 +0000 (10:06 -0800)] 
gh-122941: Fix test_launcher sporadic failures via py.ini isolation (GH-145090)

Adds _PYLAUNCHER_INIDIR as a private variable since the launcher is deprecated and not getting new features.

5 weeks agogh-144741: Fix test_frame_pointer_unwind for libpython (#145499)
Victor Stinner [Wed, 4 Mar 2026 17:29:02 +0000 (18:29 +0100)] 
gh-144741: Fix test_frame_pointer_unwind for libpython (#145499)

Fix test_frame_pointer_unwind when Python is built with
--enable-shared. Classify also libpython frames as "python".

5 weeks agogh-145376: Fix refleak in unusual error path in BaseExceptionGroup_new (GH-145474)
Pieter Eendebak [Wed, 4 Mar 2026 13:34:24 +0000 (14:34 +0100)] 
gh-145376: Fix refleak in unusual error path in BaseExceptionGroup_new (GH-145474)

5 weeks agogh-145376: Avoid reference leaks in failure path of _functoolsmodule.c method partial...
Pieter Eendebak [Wed, 4 Mar 2026 13:32:14 +0000 (14:32 +0100)] 
gh-145376: Avoid reference leaks in failure path of _functoolsmodule.c method partial_new (GH-145423)

5 weeks agogh-145376: Fix refleak in error path of time_tzset (GH-145477)
Pieter Eendebak [Wed, 4 Mar 2026 13:21:10 +0000 (14:21 +0100)] 
gh-145376: Fix refleak in error path of time_tzset (GH-145477)

5 weeks agoGH-144739: Skip test_pyexpat.MemoryProtectionTest based on expat compile-time version...
Miro Hrončok [Wed, 4 Mar 2026 12:59:50 +0000 (13:59 +0100)] 
GH-144739: Skip test_pyexpat.MemoryProtectionTest based on expat compile-time version, not runtime (#144740)

5 weeks agogh-142417: Restore private _Py_InitializeMain() function (#145472)
Victor Stinner [Wed, 4 Mar 2026 10:00:08 +0000 (11:00 +0100)] 
gh-142417: Restore private _Py_InitializeMain() function (#145472)

This reverts commit 07c3518ffb27875b14a0f1637aa85f773ff2f9ff.

Co-authored-by: Petr Viktorin <encukou@gmail.com>
5 weeks agoFix incorrect statement about argparse.ArgumentParser.add_argument() (#145479)
Justin Kunimune [Tue, 3 Mar 2026 21:41:26 +0000 (16:41 -0500)] 
Fix incorrect statement about argparse.ArgumentParser.add_argument() (#145479)

Co-authored-by: Savannah Ostrowski <savannah@python.org>
5 weeks agoDocs: use a Sphinx extension to eliminate excessive links (#145130)
Ned Batchelder [Tue, 3 Mar 2026 20:48:43 +0000 (15:48 -0500)] 
Docs: use a Sphinx extension to eliminate excessive links (#145130)

5 weeks agogh-135883: Fix sqlite3 CLI history scrolling with colored prompts (#135884)
Tan Long [Tue, 3 Mar 2026 18:48:03 +0000 (02:48 +0800)] 
gh-135883: Fix sqlite3 CLI history scrolling with colored prompts (#135884)

5 weeks agogh-145452: Initialize `PyLazyImport_Type` during interpreter startup (#145453)
Bartosz Sławecki [Tue, 3 Mar 2026 16:14:12 +0000 (17:14 +0100)] 
gh-145452: Initialize `PyLazyImport_Type` during interpreter startup (#145453)

Co-authored-by: Victor Stinner <vstinner@python.org>
5 weeks agoReference `memoryview.tolist` as a method (#145412)
Victorien [Tue, 3 Mar 2026 16:05:14 +0000 (16:05 +0000)] 
Reference `memoryview.tolist` as a method (#145412)

5 weeks agogh-145376: Fix various reference leaks (GH-145377)
Jelle Zijlstra [Tue, 3 Mar 2026 15:23:30 +0000 (07:23 -0800)] 
gh-145376: Fix various reference leaks (GH-145377)

5 weeks agoAdd myself to initialization and import machinery codeowners (#145473)
Filipe Laíns [Tue, 3 Mar 2026 14:35:48 +0000 (14:35 +0000)] 
Add myself to initialization and import machinery codeowners (#145473)

5 weeks agogh-144475: Fix reference management in partial_repr (GH-145362)
bkap123 [Tue, 3 Mar 2026 13:46:02 +0000 (08:46 -0500)] 
gh-144475: Fix reference management in partial_repr (GH-145362)

5 weeks agogh-145335: Fix os functions when passing fd -1 as path (#145439)
Victor Stinner [Tue, 3 Mar 2026 12:57:08 +0000 (13:57 +0100)] 
gh-145335: Fix os functions when passing fd -1 as path (#145439)

os.listdir(-1) and os.scandir(-1) now fail with OSError(errno.EBADF)
rather than listing the current directory.

os.listxattr(-1) now fails with OSError(errno.EBADF) rather than
listing extended attributes of the current directory.

5 weeks agoGH-145450: Document missing `wave.Wave_write` getter methods (GH-145451)
Michiel W. Beijen [Tue, 3 Mar 2026 12:44:56 +0000 (13:44 +0100)] 
GH-145450: Document missing `wave.Wave_write` getter methods (GH-145451)

5 weeks agoAdd `PyExc_OverflowError` to the list of possible exceptions in `fuzz_ast_literal_eva...
Stan Ulbrych [Tue, 3 Mar 2026 12:10:34 +0000 (12:10 +0000)] 
Add `PyExc_OverflowError` to the list of possible exceptions in `fuzz_ast_literal_eval` fuzzer (GH-145429)

5 weeks agogh-144995: Optimize memoryview == memoryview (#144996)
Victor Stinner [Tue, 3 Mar 2026 11:15:32 +0000 (12:15 +0100)] 
gh-144995: Optimize memoryview == memoryview (#144996)

Optimize memoryview comparison: a memoryview is equal to itself, there is no
need to compare values, except if it uses float format.

Benchmark comparing 1 MiB:

    from timeit import timeit
    with open("/dev/random", 'br') as fp:
        data = fp.read(2**20)
    view = memoryview(data)
    LOOPS = 1_000
    b = timeit('x == x', number=LOOPS, globals={'x': data})
    m = timeit('x == x', number=LOOPS, globals={'x': view})
    print("bytes %f seconds" % b)
    print("mview %f seconds" % m)
    print("=> %f time slower" % (m / b))

Result before the change:

    bytes 0.000026 seconds
    mview 1.445791 seconds
    => 55660.873940 time slower

Result after the change:

    bytes 0.000026 seconds
    mview 0.000028 seconds
    => 1.104382 time slower

This missed optimization was discovered by Pierre-Yves David
while working on Mercurial.

Co-authored-by: Pieter Eendebak <pieter.eendebak@gmail.com>
5 weeks agogh-145455: Show output of blurb & sphinx-build version commands (GH-145457)
Petr Viktorin [Tue, 3 Mar 2026 10:47:02 +0000 (11:47 +0100)] 
gh-145455: Show output of blurb & sphinx-build version commands (GH-145457)

In gh-145455, an outdated dependency caused an import error that was not
printed out (`2>&1`); the message instead said that the tools are missing.

Don't redirect stderr, to show warnings and failures.

Also, switch `blurb` to output a version on a single line (`--version` rather
than `help`), and, and don't redirect stdout either.
This results in two version info lines being printed out. These get drowned
in typical Sphinx output, and can be helpful when debugging.

5 weeks agogh-145214: Narrow _GUARD_TOS_ANY_{SET,DICT} by using probable type (gh-145215)
Donghee Na [Tue, 3 Mar 2026 00:58:38 +0000 (09:58 +0900)] 
gh-145214: Narrow _GUARD_TOS_ANY_{SET,DICT} by using probable type (gh-145215)

5 weeks agogh-117865: Speedup import of `inspect` module (#144756)
Daniel Hollas [Mon, 2 Mar 2026 21:39:07 +0000 (21:39 +0000)] 
gh-117865: Speedup import of `inspect` module (#144756)

Co-authored-by: Alex Waygood <alex.waygood@gmail.com>
5 weeks agoGH-145273: skip stdlib warning on module_search_paths_set (#145442)
Filipe Laíns [Mon, 2 Mar 2026 21:11:27 +0000 (21:11 +0000)] 
GH-145273: skip stdlib warning on module_search_paths_set (#145442)

5 weeks agoHide "object" prefix on dunders in contextlib docs & selectivly link some more (...
C.A.M. Gerlach [Mon, 2 Mar 2026 21:10:26 +0000 (13:10 -0800)] 
Hide "object" prefix on dunders in contextlib docs & selectivly link some more (#145436)

5 weeks agoAdd `sysconfig[VPATH]` to `test.pythoninfo` (#145434)
Filipe Laíns [Mon, 2 Mar 2026 20:48:07 +0000 (20:48 +0000)] 
Add `sysconfig[VPATH]` to `test.pythoninfo` (#145434)

5 weeks agoGH-145273: drop build_prefix check from missing stdlib warning (#145437)
Filipe Laíns [Mon, 2 Mar 2026 20:23:22 +0000 (20:23 +0000)] 
GH-145273: drop build_prefix check from missing stdlib warning (#145437)

5 weeks agogh-145118: Add `frozendict` support to `type()` (#145124)
Stan Ulbrych [Mon, 2 Mar 2026 19:45:03 +0000 (19:45 +0000)] 
gh-145118: Add `frozendict` support to `type()` (#145124)

5 weeks agogh-130327: Always traverse managed dictionaries, even when inline values are availabl...
Peter Bierma [Mon, 2 Mar 2026 19:32:06 +0000 (14:32 -0500)] 
gh-130327: Always traverse managed dictionaries, even when inline values are available (#130469)

5 weeks agoGH-145275: add -X pathconfig_warnings and PYTHON_PATHCONFIG_WARNINGS (#145277)
Filipe Laíns [Mon, 2 Mar 2026 19:19:05 +0000 (19:19 +0000)] 
GH-145275: add -X pathconfig_warnings and PYTHON_PATHCONFIG_WARNINGS (#145277)

5 weeks agoGH-145273: warn when we can't find the standard library (#145274)
Filipe Laíns [Mon, 2 Mar 2026 18:51:45 +0000 (18:51 +0000)] 
GH-145273: warn when we can't find the standard library (#145274)

5 weeks agogh-145335: Fix crash when passing -1 as fd in os.pathconf (#145390)
AN Long [Mon, 2 Mar 2026 18:07:49 +0000 (03:07 +0900)] 
gh-145335: Fix crash when passing -1 as fd in os.pathconf (#145390)

Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
5 weeks 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)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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