]> git.ipfire.org Git - thirdparty/Python/cpython.git/log
thirdparty/Python/cpython.git
2 months agogh-146018: Disable over-aggressive optimization for _GUARD_CODE_VERSION (GH-145923)
Ken Jin [Mon, 16 Mar 2026 13:52:56 +0000 (21:52 +0800)] 
gh-146018: Disable over-aggressive optimization for _GUARD_CODE_VERSION (GH-145923)

2 months agoGH-145247: Use _PyTuple_FromPair in exceptions.c (GH-145910)
Sergey Miryanov [Mon, 16 Mar 2026 13:50:26 +0000 (18:50 +0500)] 
GH-145247: Use _PyTuple_FromPair in exceptions.c (GH-145910)

2 months agogh-145599, CVE 2026-3644: Reject control characters in `http.cookies.Morsel.update...
Stan Ulbrych [Mon, 16 Mar 2026 13:43:43 +0000 (13:43 +0000)] 
gh-145599, CVE 2026-3644: Reject control characters in `http.cookies.Morsel.update()` (#145600)

Reject control characters in `http.cookies.Morsel.update()` and `http.cookies.BaseCookie.js_output`.

Co-authored-by: Victor Stinner <vstinner@python.org>
Co-authored-by: Victor Stinner <victor.stinner@gmail.com>
2 months agogh-141510: Avoid critical section on frozendict copy (#145920)
Victor Stinner [Mon, 16 Mar 2026 13:19:00 +0000 (14:19 +0100)] 
gh-141510: Avoid critical section on frozendict copy (#145920)

2 months agogh-144984: Fix crash in Expat's `ExternalEntityParserCreate` error paths (#144992)
Ramin Farajpour Cami [Mon, 16 Mar 2026 12:30:13 +0000 (16:00 +0330)] 
gh-144984: Fix crash in Expat's `ExternalEntityParserCreate` error paths (#144992)

Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
2 months agogh-145866: Convert `CALL_INTRINSIC_1` to leave its inputs on the stack to be cleaned...
Sacul [Mon, 16 Mar 2026 11:58:12 +0000 (19:58 +0800)] 
gh-145866: Convert `CALL_INTRINSIC_1` to leave its inputs on the stack to be cleaned up by `_POP_TOP`. (GH-145964)

2 months agogh-145649: Fix man page text wrapping for -X option (#145656)
Matt Van Horn [Mon, 16 Mar 2026 10:55:00 +0000 (03:55 -0700)] 
gh-145649: Fix man page text wrapping for -X option (#145656)

Replace hardcoded space indentation with proper troff macros
(.TP, .RS/.RE, .IP) for -X sub-options so text wraps correctly
at any terminal width.

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2 months agogh-139038: Link to Savannah's webpage for JIT results (#146013)
Ken Jin [Mon, 16 Mar 2026 10:10:34 +0000 (18:10 +0800)] 
gh-139038: Link to Savannah's webpage for JIT results (#146013)

2 months agogh-123471: make concurrent iteration over itertools.accumulate thread-safe (#144486)
Pieter Eendebak [Mon, 16 Mar 2026 08:53:37 +0000 (09:53 +0100)] 
gh-123471: make concurrent iteration over itertools.accumulate thread-safe (#144486)

2 months agogh-129849: Add tests for `Py_tp_bases` (#143208)
AN Long [Mon, 16 Mar 2026 08:29:55 +0000 (17:29 +0900)] 
gh-129849: Add tests for `Py_tp_bases` (#143208)

2 months agoDocs: fix a form error and a grammatical error in float.rst (#140989)
RayXu [Mon, 16 Mar 2026 08:21:49 +0000 (16:21 +0800)] 
Docs: fix a form error and a grammatical error in float.rst (#140989)

2 months agogh-140814: Fix freeze_support() setting start method as side effect (GH-144608)
Gregory P. Smith [Mon, 16 Mar 2026 05:50:19 +0000 (22:50 -0700)] 
gh-140814: Fix freeze_support() setting start method as side effect (GH-144608)

freeze_support() called get_start_method() without allow_none=True,
which locked in the default start method context. This caused a
subsequent set_start_method() call to raise "context has already been
set". Use allow_none=True and accept None as a matching value, since
spawn.freeze_support() independently detects spawned child processes.

Test that freeze_support() does not lock in the default start method,
which would prevent a subsequent set_start_method() call.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
2 months agoExpand `fuzz_pycompile.dict` for new syntax
Stan Ulbrych [Sun, 15 Mar 2026 23:54:20 +0000 (23:54 +0000)] 
Expand `fuzz_pycompile.dict` for new syntax

2 months agogh-145990: sort `--help-env` sections by environment variable name (GH-145997)
Gregory P. Smith [Sun, 15 Mar 2026 22:22:57 +0000 (15:22 -0700)] 
gh-145990: sort `--help-env` sections by environment variable name (GH-145997)

* sort --help-env alphabetically by name.
* add a sorting regression test in test_help_env.

2 months agogh-145990: Sort `python --help-xoptions` by option name (GH-145991)
Gregory P. Smith [Sun, 15 Mar 2026 22:02:14 +0000 (15:02 -0700)] 
gh-145990: Sort `python --help-xoptions` by option name (GH-145991)

* Sort --help-xoptions alphabetically by name.
* add a sorting regression test in test_help_xoptions

2 months agogh-145998: Remove duplicated "What's New in 3.15" entry (#145994)
Shahar Naveh [Sun, 15 Mar 2026 21:54:19 +0000 (22:54 +0100)] 
gh-145998: Remove duplicated "What's New in 3.15" entry (#145994)

2 months agogh-145986: Avoid unbound C recursion in `conv_content_model` in `pyexpat.c` (CVE...
Stan Ulbrych [Sun, 15 Mar 2026 21:46:06 +0000 (21:46 +0000)] 
gh-145986: Avoid unbound C recursion in `conv_content_model` in `pyexpat.c` (CVE 2026-4224) (#145987)

Fix C stack overflow (CVE-2026-4224) when an Expat parser
with a registered `ElementDeclHandler` parses inline DTD
containing deeply nested content model.

---------

Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
2 months agogh-145976: Remove `Misc/indent.pro` (#145992)
Stan Ulbrych [Sun, 15 Mar 2026 21:29:12 +0000 (21:29 +0000)] 
gh-145976: Remove `Misc/indent.pro` (#145992)

Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
2 months agogh-122575: gh-142349: fix sys.flags tuple size (it unintentionally increased) (GH...
Gregory P. Smith [Sun, 15 Mar 2026 20:30:01 +0000 (13:30 -0700)] 
gh-122575: gh-142349: fix sys.flags tuple size (it unintentionally increased) (GH-145988)

the lazy imports PEP initial implementation (3.15 alpha) inadvertently incremented the length of the sys.flags tuple. In a way that did not do anything useful or related to the lazy imports setting (it exposed sys.flags.gil in the tuple). This fixes that to hard code the length to the 3.13 & 3.14 released length of 18 and have our tests and code comments make it clear that we've since stopped making new sys.flags attributes available via sequence index.

2 months agogh-145968: Fix base64.b64decode altchars translation in specific cases (GH-145969)
Matthieu Darbois [Sun, 15 Mar 2026 17:46:44 +0000 (18:46 +0100)] 
gh-145968: Fix base64.b64decode altchars translation in specific cases (GH-145969)

When altchars overlaps with the standard ones, the translation does not
always yield to the expected outcome.

2 months agogh-145976: Remove `Misc/{Porting,vgrindefs}` (#145973)
Stan Ulbrych [Sun, 15 Mar 2026 17:14:27 +0000 (17:14 +0000)] 
gh-145976: Remove `Misc/{Porting,vgrindefs}` (#145973)

Cleanup outdated files under Misc/

2 months agogh-142518: Document thread-safety guarantees of bytearray objects (#145226)
Lysandros Nikolaou [Sun, 15 Mar 2026 14:57:05 +0000 (15:57 +0100)] 
gh-142518: Document thread-safety guarantees of bytearray objects (#145226)

2 months agoBump mypy to 1.19.1 (#145956)
Brian Schubert [Sun, 15 Mar 2026 09:48:56 +0000 (05:48 -0400)] 
Bump mypy to 1.19.1 (#145956)

2 months agogh-141004: Document `PyDTrace*` (GH-141856)
Peter Bierma [Sun, 15 Mar 2026 02:58:35 +0000 (22:58 -0400)] 
gh-141004: Document `PyDTrace*` (GH-141856)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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