]> git.ipfire.org Git - thirdparty/Python/cpython.git/log
thirdparty/Python/cpython.git
5 weeks agogh-123720: When closing an asyncio server, stop the handlers (#124689)
Guido van Rossum [Sat, 14 Mar 2026 18:28:49 +0000 (11:28 -0700)] 
gh-123720: When closing an asyncio server, stop the handlers (#124689)

5 weeks agoFix `fuzz_builtin_int` fuzzer reproducibility (#145890)
Stan Ulbrych [Sat, 14 Mar 2026 18:11:29 +0000 (18:11 +0000)] 
Fix `fuzz_builtin_int` fuzzer reproducibility (#145890)

5 weeks agobuild(deps): bump the actions group with 4 updates (#145952)
dependabot[bot] [Sat, 14 Mar 2026 16:30:26 +0000 (16:30 +0000)] 
build(deps): bump the actions group with 4 updates (#145952)

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
5 weeks agogh-137650: Group dependabot actions updates (#145947)
Stan Ulbrych [Sat, 14 Mar 2026 16:00:15 +0000 (16:00 +0000)] 
gh-137650: Group dependabot actions updates (#145947)

5 weeks agogh-134584: Eliminate redundant refcounting in JIT for `MATCH_CLASS` (GH-144821)
Sacul [Sat, 14 Mar 2026 12:00:18 +0000 (20:00 +0800)] 
gh-134584: Eliminate redundant refcounting in JIT for `MATCH_CLASS` (GH-144821)

5 weeks agogh-143636: fix a crash when calling ``__replace__`` on invalid `SimpleNamespace`...
Bénédikt Tran [Sat, 14 Mar 2026 09:58:15 +0000 (10:58 +0100)] 
gh-143636: fix a crash when calling ``__replace__`` on invalid `SimpleNamespace` instances (#143655)

5 weeks agoDocs: fix missing period in `Doc/library/stdtypes.rst` (#145935)
Connor Gibson [Sat, 14 Mar 2026 09:19:00 +0000 (02:19 -0700)] 
Docs: fix missing period in `Doc/library/stdtypes.rst` (#145935)

5 weeks agogh-145703: Fix `asyncio.BaseEventLoop` low clock resolution (#145706)
Konstantin Vlasov [Sat, 14 Mar 2026 05:37:30 +0000 (06:37 +0100)] 
gh-145703: Fix `asyncio.BaseEventLoop` low clock resolution (#145706)

5 weeks agogh-129813: Document that PyBytesWriter_GetData() cannot fail (#145900)
Victor Stinner [Fri, 13 Mar 2026 18:44:51 +0000 (19:44 +0100)] 
gh-129813: Document that PyBytesWriter_GetData() cannot fail (#145900)

Document that PyBytesWriter_GetData() and PyBytesWriter_GetSize()
getter functions cannot fail

5 weeks agoGH-60729: Revert "Add IEEE format wave audio support (GH-145384)" (GH-145928)
Petr Viktorin [Fri, 13 Mar 2026 17:51:23 +0000 (18:51 +0100)] 
GH-60729: Revert "Add IEEE format wave audio support (GH-145384)" (GH-145928)

Revert "GH-60729: Add IEEE format wave audio support (GH-145384)"

This reverts commit 61f2a1a5993967ed4b97ba93a4477c37fe68cf59 for now;
as tests fail on big-endian machines.

5 weeks agogh-145376: Fix GC tracking in `structseq.__replace__` (#145820)
Pieter Eendebak [Fri, 13 Mar 2026 15:42:19 +0000 (16:42 +0100)] 
gh-145376: Fix GC tracking in `structseq.__replace__` (#145820)

5 weeks agogh-142518: Document thread-safety guarantees of set objects (#145225)
Lysandros Nikolaou [Fri, 13 Mar 2026 13:53:01 +0000 (14:53 +0100)] 
gh-142518: Document thread-safety guarantees of set objects (#145225)

5 weeks agoGH-60729: Add IEEE format wave audio support (GH-145384)
Michiel W. Beijen [Fri, 13 Mar 2026 13:10:48 +0000 (14:10 +0100)] 
GH-60729: Add IEEE format wave audio support (GH-145384)

Co-authored-by: Lionel Koenig <lionelk@google.com>
5 weeks agogh-140715: Add %t and %n format codes support to strptime() (GH-144896)
Jason Yalim, PhD [Fri, 13 Mar 2026 13:00:39 +0000 (06:00 -0700)] 
gh-140715: Add %t and %n format codes support to strptime() (GH-144896)

Co-authored-by: Stan Ulbrych <89152624+StanFromIreland@users.noreply.github.com>
5 weeks agogh-99631: Add shelve custom serialization to What's New in 3.15 (#145253)
Furkan Onder [Fri, 13 Mar 2026 12:38:06 +0000 (21:38 +0900)] 
gh-99631: Add shelve custom serialization to What's New in 3.15 (#145253)

5 weeks agogh-145792: Fix incorrect alloca allocation size in traceback.c (#145814)
VanshAgarwal24036 [Fri, 13 Mar 2026 12:15:26 +0000 (17:45 +0530)] 
gh-145792: Fix incorrect alloca allocation size in traceback.c (#145814)

5 weeks agogh-145887: Use `write()` instead of `stream.write()` in `PrettyPrinter._pprint_frozen...
devdanzin [Fri, 13 Mar 2026 11:57:35 +0000 (08:57 -0300)] 
gh-145887: Use `write()` instead of `stream.write()` in `PrettyPrinter._pprint_frozendict` (#145894)

5 weeks agogh-145850: Change some implementation details in struct.Struct (GH-145851)
Serhiy Storchaka [Fri, 13 Mar 2026 11:05:41 +0000 (13:05 +0200)] 
gh-145850: Change some implementation details in struct.Struct (GH-145851)

* calling it with non-ASCII string format will now raise a ValueError
  instead of UnicodeEncodeError
* calling it with non-ASCII bytes format will now raise a ValueError
  instead of struct.error
* getting the format attribute of uninitialized object will now raise
  an AttributeError instead of RuntimeError.

5 weeks agogh-145783: Propagate errors raised in `NEW_TYPE_COMMENT` (#145784)
Stan Ulbrych [Fri, 13 Mar 2026 11:05:20 +0000 (11:05 +0000)] 
gh-145783: Propagate errors raised in `NEW_TYPE_COMMENT`  (#145784)

5 weeks agoDocs: except with multiple exceptions parentheses not required (#145848)
Maurizio Sambati [Fri, 13 Mar 2026 09:40:20 +0000 (10:40 +0100)] 
Docs: except with multiple exceptions parentheses not required (#145848)

As of PEP 758 the except statement doesn't require parentheses anymore for exception tuples.

See: https://peps.python.org/pep-0758/

5 weeks agoRevert "gh-143050: Remove redundant decref in _PyLong_Negate (gh-143051)" (#145891)
Stan Ulbrych [Fri, 13 Mar 2026 01:53:29 +0000 (01:53 +0000)] 
Revert "gh-143050: Remove redundant decref in _PyLong_Negate (gh-143051)" (#145891)

OSS Fuzzer caught an assertion failure.

This reverts commit 5197ecb5e4df30ba0f6792d8bc0e36846154f58a.

5 weeks agogh-145801: Use gcc -fprofile-update=atomic for PGO builds (#145802)
Victor Stinner [Thu, 12 Mar 2026 22:48:51 +0000 (23:48 +0100)] 
gh-145801: Use gcc -fprofile-update=atomic for PGO builds (#145802)

When Python build is optimized with GCC using PGO, use
-fprofile-update=atomic option to use atomic operations when updating
profile information. This option reduces the risk of gcov Data Files
(.gcda) corruption which can cause random GCC crashes.

5 weeks agoGH-132042: Fix calculation of slotdef index in update_one_slot() (#145880)
Sergey Miryanov [Thu, 12 Mar 2026 22:16:53 +0000 (03:16 +0500)] 
GH-132042: Fix calculation of slotdef index in update_one_slot() (#145880)

5 weeks agogh-145685: Improve scaling of type attribute lookups (gh-145774)
Sam Gross [Thu, 12 Mar 2026 17:30:36 +0000 (13:30 -0400)] 
gh-145685: Improve scaling of type attribute lookups (gh-145774)

Avoid locking in the PyType_Lookup cache-miss path if the type's
tp_version_tag is already valid.

5 weeks agogh-145717: Add a few Microsoft-specific MIME types, and synchronize between `mimetype...
Charlie Lin [Thu, 12 Mar 2026 16:56:07 +0000 (12:56 -0400)] 
gh-145717: Add a few Microsoft-specific MIME types, and synchronize between `mimetypes` module and tests (#145718)

Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
Co-authored-by: Petr Viktorin <encukou@gmail.com>
5 weeks agogh-140131: Fix REPL cursor position on Windows when module completion suggestion...
Tan Long [Thu, 12 Mar 2026 15:59:43 +0000 (23:59 +0800)] 
gh-140131: Fix REPL cursor position on Windows when module completion suggestion line hits console width (GH-140333)

5 weeks agogh-141510: Update PyDict C API doc for frozendict (#145533)
Victor Stinner [Thu, 12 Mar 2026 14:04:36 +0000 (15:04 +0100)] 
gh-141510: Update PyDict C API doc for frozendict (#145533)

Mention frozendict support.

5 weeks agogh-145446: Add critical section in functools module for `PyDict_Next` (GH-145487)
bkap123 [Thu, 12 Mar 2026 13:46:37 +0000 (09:46 -0400)] 
gh-145446: Add critical section in functools module for `PyDict_Next` (GH-145487)

5 weeks agogh-145681: do not deallocate list buffer in `_PyList_AsTupleAndClear` (GH-145680)
Thomas Kowalski [Thu, 12 Mar 2026 13:27:07 +0000 (14:27 +0100)] 
gh-145681: do not deallocate list buffer in `_PyList_AsTupleAndClear` (GH-145680)

Setting the size to 0 turns the list contents into overallocated memory that the deallocator will free.
Ownership is transferred to the new tuple so no refcount adjustment is needed.

5 weeks agoGH-145692: Convert DEOPT_IFs to EXIT_IFs (GH-145751)
Mark Shannon [Thu, 12 Mar 2026 10:57:59 +0000 (10:57 +0000)] 
GH-145692: Convert DEOPT_IFs to EXIT_IFs (GH-145751)

* Convert DEOPT_IFs to EXIT_IFs for guards. Keep DEOPT_IF for intentional drops to the interpreter.

* Modify BINARY_OP_SUBSCR_LIST_INT and STORE_SUBSCR_LIST_INT to handle negative indices, to keep EXIT_IFs and DEOPT_IFs in different uops

5 weeks agogh-140594: Fix an out of bounds read when feeding NUL byte to PyOS_StdioReadline...
Shamil [Thu, 12 Mar 2026 10:46:36 +0000 (13:46 +0300)] 
gh-140594: Fix an out of bounds read when feeding NUL byte to PyOS_StdioReadline() (#140910)

Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
Co-authored-by: Victor Stinner <vstinner@python.org>
5 weeks agogh-143715: Deprecate incomplete initialization of struct.Struct() (GH-145580)
Serhiy Storchaka [Thu, 12 Mar 2026 07:44:11 +0000 (09:44 +0200)] 
gh-143715: Deprecate incomplete initialization of struct.Struct() (GH-145580)

* Struct.__new__() will require a mandatory argument (format)
* Calls of __init__() method with a different format argument on initialized
  Struct are deprecated

Co-authored-by: Sergey B Kirpichev <skirpichev@gmail.com>
5 weeks agogh-145254: Add thread safety annotation in docs (#145255)
Lysandros Nikolaou [Thu, 12 Mar 2026 06:48:43 +0000 (07:48 +0100)] 
gh-145254: Add thread safety annotation in docs (#145255)

5 weeks agoGH-145247: Use _PyTuple_FromPair in Parser and Python (#145842)
Sergey Miryanov [Wed, 11 Mar 2026 21:08:18 +0000 (02:08 +0500)] 
GH-145247: Use _PyTuple_FromPair in Parser and Python (#145842)

Use _PyTuple_FromPair in Parser and Python

5 weeks agogh-144540: Add _MAKE_HEAP_SAFE uop to eliminate unnecessary refcount operations in...
Hai Zhu [Wed, 11 Mar 2026 20:24:19 +0000 (04:24 +0800)] 
gh-144540: Add _MAKE_HEAP_SAFE uop to eliminate unnecessary refcount operations in RETURN_VALUE and YIELD_VALUE (GH-144414)

5 weeks agogh-145736: Fix Tkinter tests for Tk 8.7, 9.0 and 9.1 (GH-145738)
Serhiy Storchaka [Wed, 11 Mar 2026 19:01:03 +0000 (21:01 +0200)] 
gh-145736: Fix Tkinter tests for Tk 8.7, 9.0 and 9.1 (GH-145738)

5 weeks agogh-141510: Raise TypeError in PyDict_SetItem() on frozendict (#145564)
Victor Stinner [Wed, 11 Mar 2026 16:05:09 +0000 (17:05 +0100)] 
gh-141510: Raise TypeError in PyDict_SetItem() on frozendict (#145564)

If the following functions get an unexpected frozendict,
raise TypeError instead of SystemError:

* PyDict_DelItem()
* PyDict_DelItemString()
* PyDict_Merge()
* PyDict_MergeFromSeq2()
* PyDict_Pop()
* PyDict_PopString()
* PyDict_SetDefault()
* PyDict_SetDefaultRef()
* PyDict_SetItem()
* PyDict_SetItemString()
* _PyDict_SetItem_KnownHash()
* PyDict_Update()

Co-authored-by: mohsinm-dev <mohsin.mdev@gmail.com>
5 weeks agogh-142183: Cache one datachunk per tstate to prevent alloc/dealloc thrashing (#145789)
T. Wouters [Wed, 11 Mar 2026 14:46:16 +0000 (15:46 +0100)] 
gh-142183: Cache one datachunk per tstate to prevent alloc/dealloc thrashing (#145789)

Cache one datachunk per tstate to prevent alloc/dealloc thrashing when repeatedly hitting the same call depth at exactly the wrong boundary.

---------

Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
5 weeks agogh-139933: correctly suggest attributes for classes with a custom `__dir__` (GH-139950)
Bénédikt Tran [Wed, 11 Mar 2026 14:30:09 +0000 (15:30 +0100)] 
gh-139933: correctly suggest attributes for classes with a custom `__dir__` (GH-139950)

Co-authored-by: Łukasz Langa <lukasz@langa.pl>
5 weeks agogh-142518: Improve mimalloc allocator docs (#145224)
Lysandros Nikolaou [Wed, 11 Mar 2026 14:14:47 +0000 (15:14 +0100)] 
gh-142518: Improve mimalloc allocator docs (#145224)

5 weeks agoAdd GitHub team for maintaining fuzzers
Seth Michael Larson [Wed, 11 Mar 2026 13:51:25 +0000 (08:51 -0500)] 
Add GitHub team for maintaining fuzzers

Co-authored-by: Stan Ulbrych <89152624+StanFromIreland@users.noreply.github.com>
5 weeks agogh-141707: Skip TarInfo DIRTYPE normalization during GNU long name handling
Seth Michael Larson [Wed, 11 Mar 2026 13:47:55 +0000 (08:47 -0500)] 
gh-141707: Skip TarInfo DIRTYPE normalization during GNU long name handling

Co-authored-by: Eashwar Ranganathan <eashwar@eashwar.com>
5 weeks agogh-99875: Document rounding mode for old-style formatting (#126382)
Sergey B Kirpichev [Wed, 11 Mar 2026 13:25:24 +0000 (16:25 +0300)] 
gh-99875: Document rounding mode for old-style formatting (#126382)

5 weeks agogh-145376: Fix refleak & pointer type bug in uncommon code paths in Parser/ (GH-145684)
Pieter Eendebak [Wed, 11 Mar 2026 13:24:15 +0000 (14:24 +0100)] 
gh-145376: Fix refleak & pointer type bug in uncommon code paths in Parser/ (GH-145684)

5 weeks agogh-145492: fix regression test for defaultdict factory repr (GH-145788)
Thomas Kowalski [Wed, 11 Mar 2026 13:02:23 +0000 (14:02 +0100)] 
gh-145492: fix regression test for defaultdict factory repr (GH-145788)

5 weeks agoWarn that overriding `__builtins__` for `eval` is not a security mechanism (GH-145773)
Stan Ulbrych [Wed, 11 Mar 2026 12:29:43 +0000 (12:29 +0000)] 
Warn that overriding `__builtins__` for `eval` is not a security mechanism (GH-145773)

Co-authored-by: Ned Batchelder <ned@nedbatchelder.com>
5 weeks agogh-145546: unittest.util: fix `sorted_list_difference` tail deduplication (GH-145547)
Stefan Zetzsche [Wed, 11 Mar 2026 12:21:22 +0000 (12:21 +0000)] 
gh-145546: unittest.util: fix `sorted_list_difference` tail deduplication (GH-145547)

* fix(unittest.util): Deduplicate tail elements in sorted_list_difference

sorted_list_difference failed to deduplicate remaining elements when one
list was exhausted, causing duplicate values in the result.

Deduplicate before extending.

Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
5 weeks agogh-145587: fix busy loop in multiprocessing.connection.wait on Windows (GH-145597)
Shrey Naithani [Wed, 11 Mar 2026 12:08:48 +0000 (17:38 +0530)] 
gh-145587: fix busy loop in multiprocessing.connection.wait on Windows (GH-145597)

Ensure wait() blocks for the specified timeout when object_list is empty, preventing 100% CPU usage. This aligns the Windows behavior with the Unix implementation.

Co-authored-by: AN Long <aisk@users.noreply.github.com>
5 weeks agogh-145633: Remove support for ancient ARM platforms with mixed-endian doubles (#145634)
Sergey B Kirpichev [Wed, 11 Mar 2026 11:39:24 +0000 (14:39 +0300)] 
gh-145633: Remove support for ancient ARM platforms with mixed-endian doubles (#145634)

* Drop DOUBLE_IS_ARM_MIXED_ENDIAN_IEEE754 macro.
* Use DOUBLE_IS_BIG/LITTLE_ENDIAN_IEEE754 to detect endianness of
  float/doubles.
* Drop "unknown_format" code path in PyFloat_Pack/Unpack*().

Co-authored-by: Victor Stinner <vstinner@python.org>
5 weeks agogh-145685: Avoid contention on TYPE_LOCK in super() lookups (gh-145775)
Sam Gross [Wed, 11 Mar 2026 11:19:32 +0000 (07:19 -0400)] 
gh-145685: Avoid contention on TYPE_LOCK in super() lookups (gh-145775)

5 weeks agogh-101100: Fix sphinx reference warnings around I/O (#139592)
Cody Maloney [Wed, 11 Mar 2026 08:02:23 +0000 (01:02 -0700)] 
gh-101100: Fix sphinx reference warnings around I/O (#139592)

Co-authored-by: Carol Willing <carolcode@willingconsulting.com>
5 weeks agogh-145713: make bytearray.resize thread-safe on free-threading (#145714)
Thomas Kowalski [Wed, 11 Mar 2026 07:27:26 +0000 (08:27 +0100)] 
gh-145713: make bytearray.resize thread-safe on free-threading (#145714)

Co-authored-by: Kumar Aditya <kumaraditya@python.org>
5 weeks agogh-145219: Cache Emscripten build dependencies, add install-emscripten (#145664)
Hood Chatham [Wed, 11 Mar 2026 00:43:27 +0000 (01:43 +0100)] 
gh-145219: Cache Emscripten build dependencies, add install-emscripten (#145664)

Modifies the Emscripten build script to allow for caching of dependencies, and
for automated installation of new EMSDK versions.

Co-authored-by: Russell Keith-Magee <russell@keith-magee.com>
6 weeks agogh-143050: Remove redundant decref in _PyLong_Negate (gh-143051)
Pieter Eendebak [Tue, 10 Mar 2026 19:51:17 +0000 (20:51 +0100)] 
gh-143050: Remove redundant decref in _PyLong_Negate (gh-143051)

6 weeks agogh-142763: Fix race in ZoneInfo cache eviction (gh-144978)
Sam Gross [Tue, 10 Mar 2026 18:47:58 +0000 (14:47 -0400)] 
gh-142763: Fix race in ZoneInfo cache eviction (gh-144978)

The cache may be cleared between the evaluation of the if statement and the
call to popitem.

6 weeks agoFix integer overflow for formats "s" and "p" in the struct module (GH-145750)
Stan Ulbrych [Tue, 10 Mar 2026 16:57:34 +0000 (16:57 +0000)] 
Fix integer overflow for formats "s" and "p" in the struct module (GH-145750)

6 weeks agogh-145010: Fix Python.h compilation with -masm=intel (#145011)
Sam Gross [Tue, 10 Mar 2026 16:55:29 +0000 (12:55 -0400)] 
gh-145010: Fix Python.h compilation with -masm=intel (#145011)

6 weeks agogh-145685: Update find_name_in_mro() to return a _PyStackRef (gh-145693)
Sam Gross [Tue, 10 Mar 2026 16:47:12 +0000 (12:47 -0400)] 
gh-145685: Update find_name_in_mro() to return a _PyStackRef (gh-145693)

6 weeks agogh-144173: fix flaky test_complex.test_truediv() (#144355)
Sergey B Kirpichev [Tue, 10 Mar 2026 16:40:51 +0000 (19:40 +0300)] 
gh-144173: fix flaky test_complex.test_truediv() (#144355)

Previously, component-wise relative error bound was tested.  However,
such bound can't exist already for complex multiplication as one can be
used to perform subtraction of floating-point numbers, e.g. x and y for
z0=1+1j and z1=x+yj.

```pycon
>>> x, y = 1e-9+1j, 1+1j
>>> a = x*y*y.conjugate()/2;a
(1.0000000272292198e-09+1j)
>>> b = x*(y*y.conjugate()/2);b
(1e-09+1j)
>>> b == x
True
>>> (a.real-b.real)/math.ulp(b.real)
131672427.0
```

6 weeks agogh-145044: avoid calling `Py_DECREF` in `unsafe_object_compare` on immortal objects...
Benedikt Johannes [Tue, 10 Mar 2026 16:33:56 +0000 (17:33 +0100)] 
gh-145044: avoid calling `Py_DECREF` in `unsafe_object_compare` on immortal objects (#145045)

6 weeks agogh-145036: Fix data race for list capacity in free-threading (#145365)
bkap123 [Tue, 10 Mar 2026 16:30:11 +0000 (12:30 -0400)] 
gh-145036: Fix data race for list capacity in free-threading (#145365)

Co-authored-by: Kumar Aditya <kumaraditya@python.org>
6 weeks agogh-145743: Fix inconsistency after calling Struct.__init__() with invalid format...
Serhiy Storchaka [Tue, 10 Mar 2026 16:29:23 +0000 (18:29 +0200)] 
gh-145743: Fix inconsistency after calling Struct.__init__() with invalid format (GH-145744)

Only set the format attribute after successful (re-)initialization.

6 weeks agogh-125053: Document that ob_mutex must only be used via critical section API (#144599)
Farhan Saif [Tue, 10 Mar 2026 16:23:39 +0000 (11:23 -0500)] 
gh-125053: Document that ob_mutex must only be used via critical section API (#144599)

Add a warning in the free-threading extensions howto explaining that
PyObject.ob_mutex is reserved for the critical section API and must not
be locked directly with PyMutex_Lock, as this can cause deadlocks.
Extension authors who need their own lock should add a separate PyMutex
field to their object struct.

Also add an ob_mutex member entry under PyObject in the C API reference
(Doc/c-api/structures.rst) with a cross-reference to the howto.

Co-authored-by: Victor Stinner <vstinner@python.org>
6 weeks agogh-85277: Fix building without `stropts.h` or empty `stropts.h` (#143521)
Alexander Shadchin [Tue, 10 Mar 2026 16:02:57 +0000 (19:02 +0300)] 
gh-85277: Fix building without `stropts.h` or empty `stropts.h` (#143521)

6 weeks agogh-145591: Move slicing note to __getitem__ (GH-145606)
Ali Towaiji [Tue, 10 Mar 2026 15:48:41 +0000 (11:48 -0400)] 
gh-145591: Move slicing note to __getitem__ (GH-145606)

6 weeks agogh-145697: Add `.sql` and `.sqlite3` recognition in `mimetypes` (GH-145698)
Charlie Lin [Tue, 10 Mar 2026 15:21:33 +0000 (11:21 -0400)] 
gh-145697: Add `.sql` and `.sqlite3` recognition in `mimetypes` (GH-145698)

Co-authored-by: Stan Ulbrych <89152624+StanFromIreland@users.noreply.github.com>
Co-authored-by: Benedikt Johannes <benedikt.johannes.hofer@gmail.com>
6 weeks agoDocs: Improve the C API documentation involving threads (GH-145520)
Peter Bierma [Tue, 10 Mar 2026 14:57:13 +0000 (10:57 -0400)] 
Docs: Improve the C API documentation involving threads (GH-145520)

Co-authored-by: Stan Ulbrych <89152624+StanFromIreland@users.noreply.github.com>
6 weeks agoMerge branch 'main' of https://github.com/python/cpython
Hugo van Kemenade [Tue, 10 Mar 2026 14:41:02 +0000 (16:41 +0200)] 
Merge branch 'main' of https://github.com/python/cpython

6 weeks agoPost 3.15.0a7
Hugo van Kemenade [Tue, 10 Mar 2026 14:40:10 +0000 (16:40 +0200)] 
Post 3.15.0a7

6 weeks agogh-106318: Add examples for str.isspace() docs (#145399)
Adorilson Bezerra [Tue, 10 Mar 2026 14:19:24 +0000 (14:19 +0000)] 
gh-106318: Add examples for str.isspace() docs (#145399)

6 weeks agogh-145035: Allows removing the _pyrepl module to completely disable the modern REPL...
Steve Dower [Tue, 10 Mar 2026 13:58:32 +0000 (13:58 +0000)] 
gh-145035: Allows removing the _pyrepl module to completely disable the modern REPL (GH-145159)

6 weeks agogh-145492: Fix defaultdict __repr__ infinite recursion (GH-145659)
Matt Van Horn [Tue, 10 Mar 2026 13:20:42 +0000 (06:20 -0700)] 
gh-145492: Fix defaultdict __repr__ infinite recursion (GH-145659)

Co-Authored-By: Thomas Kowalski <thom.kowa@gmail.com>
6 weeks agoPython 3.15.0a7 v3.15.0a7
Hugo van Kemenade [Tue, 10 Mar 2026 12:30:46 +0000 (14:30 +0200)] 
Python 3.15.0a7

6 weeks agogh-142651: use `NonCallableMock._lock` for thread safety of `call_count` (#142922)
Kumar Aditya [Tue, 10 Mar 2026 12:11:12 +0000 (17:41 +0530)] 
gh-142651: use `NonCallableMock._lock` for thread safety of `call_count` (#142922)

6 weeks agogh-142927: Detect system theme in flame graph like in heatmap (#144885)
Hugo van Kemenade [Tue, 10 Mar 2026 11:38:48 +0000 (13:38 +0200)] 
gh-142927: Detect system theme in flame graph like in heatmap (#144885)

6 weeks agogh-133879: Copyedit "What's new in Python 3.15" (#145737)
Hugo van Kemenade [Tue, 10 Mar 2026 11:11:43 +0000 (13:11 +0200)] 
gh-133879: Copyedit "What's new in Python 3.15" (#145737)

6 weeks agoGH-145247: Implement _PyTuple_FromPair() (#145325)
Sergey Miryanov [Tue, 10 Mar 2026 10:44:20 +0000 (15:44 +0500)] 
GH-145247: Implement _PyTuple_FromPair() (#145325)

Implement _PyTuple_FromPair() and _PyTuple_FromPairSteal().

Co-authored-by: Pieter Eendebak <pieter.eendebak@gmail.com>
Co-authored-by: Victor Stinner <vstinner@python.org>
Co-authored-by: Bartosz Sławecki <bartosz@ilikepython.com>
Co-authored-by: Kumar Aditya <kumaraditya@python.org>
6 weeks agogh-145376: Fix refleaks and double decref for code in Python/ (#145666)
Pieter Eendebak [Tue, 10 Mar 2026 09:46:13 +0000 (10:46 +0100)] 
gh-145376: Fix refleaks and double decref for code in Python/ (#145666)

6 weeks agogh-145607: Ensure BIG_DATA has two compressed blocks in test_bz2 (#145730)
Emma Smith [Tue, 10 Mar 2026 09:21:57 +0000 (02:21 -0700)] 
gh-145607: Ensure BIG_DATA has two compressed blocks in test_bz2 (#145730)

6 weeks agogh-103997: Remove incorrect statements about `-c` dedenting (gh-138624)
Stan Ulbrych [Tue, 10 Mar 2026 08:56:00 +0000 (08:56 +0000)] 
gh-103997: Remove incorrect statements about `-c` dedenting (gh-138624)

6 weeks agogh-145731: Fix negative timestamp during DST on Windows (GH-145728)
Hugo van Kemenade [Tue, 10 Mar 2026 08:45:07 +0000 (10:45 +0200)] 
gh-145731: Fix negative timestamp during DST on Windows (GH-145728)

6 weeks agogh-144681: Fix JIT trace builder assertion failure when conditional branch jump targe...
Hai Zhu [Tue, 10 Mar 2026 04:12:48 +0000 (12:12 +0800)] 
gh-144681: Fix JIT trace builder assertion failure when conditional branch jump target coincides with fallthrough target (GH-144742)

6 weeks agoVary compiler flags in `fuzz_pycompile` (#145236)
Stan Ulbrych [Mon, 9 Mar 2026 22:51:00 +0000 (22:51 +0000)] 
Vary compiler flags in `fuzz_pycompile` (#145236)

* Vary compiler flags in fuzz_pycompile

* Drop `PyCF_SOURCE_IS_UTF8`

6 weeks agogh-145685: Stop the world when updating MRO of existing types (gh-145707)
Sam Gross [Mon, 9 Mar 2026 22:41:07 +0000 (18:41 -0400)] 
gh-145685: Stop the world when updating MRO of existing types (gh-145707)

We already have a stop-the-world pause elsewhere in this code path
(type_set_bases) and this makes will make it easier to avoid contention
on the TYPE_LOCK when looking up names in the MRO hierarchy.

Also use deferred reference counting for non-immortal MROs.

6 weeks agogh-145701: Fix `__classdict__` & `__conditional_annotations__` in class-scope inlined...
Stan Ulbrych [Mon, 9 Mar 2026 19:56:41 +0000 (19:56 +0000)] 
gh-145701: Fix `__classdict__` & `__conditional_annotations__` in class-scope inlined comprehensions (GH-145702)

6 weeks agoRemove the `distutils-sig@python.org` email in 'Installing Python Modules' (#145613)
Stan Ulbrych [Mon, 9 Mar 2026 19:43:13 +0000 (19:43 +0000)] 
Remove the `distutils-sig@python.org` email in 'Installing Python Modules' (#145613)

6 weeks agoGH-145273: don't skip missing platstdlib warning if stdlib_zip is found (#145544)
Filipe Laíns [Mon, 9 Mar 2026 19:37:33 +0000 (19:37 +0000)] 
GH-145273: don't skip missing platstdlib warning if stdlib_zip is found (#145544)

6 weeks agoDocs: Update programming FAQ (#144573)
Hugo van Kemenade [Mon, 9 Mar 2026 18:23:11 +0000 (20:23 +0200)] 
Docs: Update programming FAQ (#144573)

Co-authored-by: Savannah Ostrowski <savannah@python.org>
Co-authored-by: Stan Ulbrych <89152624+StanFromIreland@users.noreply.github.com>
Co-authored-by: Stan Ulbrych <stan@ulbrych.org>
6 weeks agogh-145278: Revert "freeze encodings (partially) and linecache (#145279)" (#145689)
Petr Viktorin [Mon, 9 Mar 2026 18:18:14 +0000 (19:18 +0100)] 
gh-145278: Revert "freeze encodings (partially) and linecache (#145279)" (#145689)

6 weeks agogh-143055: Fix crash in AST unparser when unparsing dict comprehension unpacking...
Stan Ulbrych [Mon, 9 Mar 2026 17:37:23 +0000 (17:37 +0000)] 
gh-143055: Fix crash in AST unparser when unparsing dict comprehension unpacking (#145556)

6 weeks agogh-145615: Fix mimalloc page leak in the free-threaded build (gh-145626)
Sam Gross [Mon, 9 Mar 2026 17:24:34 +0000 (13:24 -0400)] 
gh-145615: Fix mimalloc page leak in the free-threaded build (gh-145626)

Fix three issues that caused mimalloc pages to be leaked until the
owning thread exited:

1. In _PyMem_mi_page_maybe_free(), move pages out of the full queue
   when relying on QSBR to defer freeing the page. Pages in the full
   queue are never searched by mi_page_queue_find_free_ex(), so a page
   left there is unusable for allocations.

2. Move _PyMem_mi_page_clear_qsbr() from _mi_page_free_collect() to
   _mi_page_thread_free_collect() where it only fires when all blocks
   on the page are free (used == 0). The previous placement was too
   broad: it cleared QSBR state whenever local_free was non-NULL, but
   _mi_page_free_collect() is called from non-allocation paths (e.g.,
   page visiting in mi_heap_visit_blocks) where the page is not being
   reused.

3. In _PyMem_mi_page_maybe_free(), use the page's heap tld to find the
   correct thread state for QSBR list insertion instead of
   PyThreadState_GET(). During stop-the-world pauses, the function may
   process pages belonging to other threads, so the current thread
   state is not necessarily the owner of the page.

6 weeks agogh-141617: clarify `concurrent.futures.ThreadPoolExecutor` deadlock example (#141620)
Yashraj [Mon, 9 Mar 2026 16:30:00 +0000 (22:00 +0530)] 
gh-141617: clarify `concurrent.futures.ThreadPoolExecutor` deadlock example (#141620)

---------

Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
6 weeks agogh-139588: Docs: fix PDF build (#145480)
Maciej Olko [Mon, 9 Mar 2026 16:19:02 +0000 (12:19 -0400)] 
gh-139588: Docs: fix PDF build (#145480)

6 weeks agoGH-144688: Fix refleaks in JIT when optimization fails (GH-145420)
Mark Shannon [Mon, 9 Mar 2026 15:21:33 +0000 (15:21 +0000)] 
GH-144688: Fix refleaks in JIT when optimization fails (GH-145420)

6 weeks agogh-141510: Optimize frozendict(frozendict) (#145592)
Victor Stinner [Mon, 9 Mar 2026 14:47:02 +0000 (15:47 +0100)] 
gh-141510: Optimize frozendict(frozendict) (#145592)

Return the same object unmodified if it's exactly the frozendict
type.

Optimize also PyFrozenDict_New(frozendict).

6 weeks agogh-145541: Fix `InvalidStateError` in `BaseSubprocessTransport._call_connection_lost...
Daan De Meyer [Mon, 9 Mar 2026 14:07:23 +0000 (15:07 +0100)] 
gh-145541: Fix `InvalidStateError` in `BaseSubprocessTransport._call_connection_lost()` (#145554)

6 weeks agogh-78773: Improve ctypes dynamic library loading docs (GH-145313)
Petr Viktorin [Mon, 9 Mar 2026 14:02:06 +0000 (15:02 +0100)] 
gh-78773: Improve ctypes dynamic library loading docs  (GH-145313)

6 weeks agogh-145376: Fix _cursesmodule.c build on FreeBSD/macOS (#145669)
Victor Stinner [Mon, 9 Mar 2026 13:53:52 +0000 (14:53 +0100)] 
gh-145376: Fix _cursesmodule.c build on FreeBSD/macOS (#145669)

6 weeks agoDocument that PyType_GetModule returns a borrowed ref (GH-145612)
Petr Viktorin [Mon, 9 Mar 2026 13:32:28 +0000 (14:32 +0100)] 
Document that PyType_GetModule returns a borrowed ref (GH-145612)

6 weeks agoGH-145278: freeze encodings (partially) and linecache (#145279)
Filipe Laíns [Mon, 9 Mar 2026 13:28:00 +0000 (13:28 +0000)] 
GH-145278: freeze encodings (partially) and linecache (#145279)