]> git.ipfire.org Git - thirdparty/Python/cpython.git/log
thirdparty/Python/cpython.git
4 days agogh-143513: Clarify changed argument name of `ResourceReader.is_resource` (GH-143523)
Alex Willmer [Thu, 8 Jan 2026 13:40:17 +0000 (13:40 +0000)] 
gh-143513: Clarify changed argument name of `ResourceReader.is_resource` (GH-143523)

4 days agogh-143528: Fix test_time.test_thread_time() (#143558)
Victor Stinner [Thu, 8 Jan 2026 13:05:57 +0000 (14:05 +0100)] 
gh-143528: Fix test_time.test_thread_time() (#143558)

Tolerate 100 ms instead of 20 ms to support slow CIs.

4 days agogh-140025: Fix `queue.SimpleQueue.__sizeof__()` to return correct size (#143137)
Aniket [Thu, 8 Jan 2026 12:40:25 +0000 (18:10 +0530)] 
gh-140025: Fix `queue.SimpleQueue.__sizeof__()` to return correct size (#143137)

4 days agogh-143553: Add support for parametrized resources in regrtests (GH-143554)
Serhiy Storchaka [Thu, 8 Jan 2026 11:51:38 +0000 (13:51 +0200)] 
gh-143553: Add support for parametrized resources in regrtests (GH-143554)

For example, "-u xpickle=2.7" will run test_xpickle only against Python 2.7.

4 days agogh-143517: Fix an edge case in rewriting stringified starred annotations (#143518)
Bartosz Sławecki [Thu, 8 Jan 2026 03:41:27 +0000 (04:41 +0100)] 
gh-143517: Fix an edge case in rewriting stringified starred annotations (#143518)

4 days agogh-143089: Fix ParamSpec default examples to use list instead of tuple (#143179)
VanshAgarwal24036 [Thu, 8 Jan 2026 03:32:44 +0000 (09:02 +0530)] 
gh-143089: Fix ParamSpec default examples to use list instead of tuple (#143179)

4 days agogh-129824: Fix data race on `runtime->gilstate.check_enabled` (gh-143530)
Sam Gross [Wed, 7 Jan 2026 22:56:14 +0000 (17:56 -0500)] 
gh-129824: Fix data race on `runtime->gilstate.check_enabled` (gh-143530)

4 days agoFix a typo in STORE_SLICE docs (#143500)
Tomas R. [Wed, 7 Jan 2026 22:36:22 +0000 (23:36 +0100)] 
Fix a typo in STORE_SLICE docs (#143500)

4 days agogh-143531: Use macro to check if PEP 523 is hooked (#143532)
Dino Viehland [Wed, 7 Jan 2026 21:26:19 +0000 (13:26 -0800)] 
gh-143531: Use macro to check if PEP 523 is hooked (#143532)

Use macro to check if PEP 523 is hooked

4 days agoGH-142950: Process format specifiers before colourization in argparse help (#142960)
Savannah Ostrowski [Wed, 7 Jan 2026 17:39:47 +0000 (09:39 -0800)] 
GH-142950: Process format specifiers before colourization in argparse help (#142960)

4 days agogh-117657: Remove remaining TSan suppressions (gh-143499)
Sam Gross [Wed, 7 Jan 2026 17:34:05 +0000 (12:34 -0500)] 
gh-117657: Remove remaining TSan suppressions (gh-143499)

5 days agogh-106318: Add examples for str.casefold() and str.lower() methods (#142154)
Adorilson Bezerra [Wed, 7 Jan 2026 16:16:25 +0000 (16:16 +0000)] 
gh-106318: Add examples for str.casefold() and str.lower() methods (#142154)

Co-authored-by: Victor Stinner <vstinner@python.org>
Co-authored-by: Stan Ulbrych <89152624+StanFromIreland@users.noreply.github.com>
5 days agogh-141536: Fix a crash when running test_capi *after* test_code in the same process...
T. Wouters [Wed, 7 Jan 2026 15:40:33 +0000 (16:40 +0100)] 
gh-141536: Fix a crash when running test_capi *after* test_code in the same process (#141537)

5 days agogh-138568: Make `help` mode in PyREPL not exit on empty line input (#143512)
Łukasz Langa [Wed, 7 Jan 2026 15:30:58 +0000 (16:30 +0100)] 
gh-138568: Make `help` mode in PyREPL not exit on empty line input (#143512)

Signed-off-by: yihong0618 <zouzou0208@gmail.com>
Co-authored-by: yihong0618 <zouzou0208@gmail.com>
5 days agogh-94172: delete mention of ssl_version from ftplib doc (#143515)
Giampaolo Rodola [Wed, 7 Jan 2026 14:11:50 +0000 (15:11 +0100)] 
gh-94172: delete mention of ssl_version from ftplib doc (#143515)

`FTP_TLS.ssl_version` class attribute was removed in https://github.com/python/cpython/commit/ef0e72b31d2.

5 days agogh-141671: PyMODINIT_FUNC: apply `__declspec(dllexport)` on Windows (GH-141672)
Petr Viktorin [Wed, 7 Jan 2026 12:09:48 +0000 (13:09 +0100)] 
gh-141671: PyMODINIT_FUNC: apply `__declspec(dllexport)` on Windows (GH-141672)

5 days agogh-75572: Fix test_xpickle and disable it by default (GH-143503)
Serhiy Storchaka [Tue, 6 Jan 2026 23:51:12 +0000 (01:51 +0200)] 
gh-75572: Fix test_xpickle and disable it by default (GH-143503)

5 days agogh-106318: Add example for str.index() (#137023)
Adorilson Bezerra [Tue, 6 Jan 2026 21:42:11 +0000 (21:42 +0000)] 
gh-106318: Add example for str.index()  (#137023)

5 days agogh-134584: Eliminate redundant refcounting from `TO_BOOL_STR` (GH-143417)
Nadeshiko Manju [Tue, 6 Jan 2026 21:11:53 +0000 (05:11 +0800)] 
gh-134584: Eliminate redundant refcounting from `TO_BOOL_STR` (GH-143417)

Signed-off-by: Manjusaka <me@manjusaka.me>
5 days agogh-132070: Fix PyObject_Realloc thread-safety in free threaded Python (gh-143441)
Sam Gross [Tue, 6 Jan 2026 20:55:37 +0000 (15:55 -0500)] 
gh-132070: Fix PyObject_Realloc thread-safety in free threaded Python (gh-143441)

The PyObject header reference count fields must be initialized using
atomic operations because they may be concurrently read by another
thread (e.g., from `_Py_TryIncref`).

5 days agogh-142982: Specialize CALL_FUNCTION_EX (GH-143391)
Ken Jin [Tue, 6 Jan 2026 20:34:08 +0000 (04:34 +0800)] 
gh-142982: Specialize CALL_FUNCTION_EX (GH-143391)

5 days agogh-133315: Document that compat32 should not be used with MIMEPart/EmailMessage ...
Andrii Hrimov [Tue, 6 Jan 2026 20:18:37 +0000 (21:18 +0100)] 
gh-133315: Document that compat32 should not be used with MIMEPart/EmailMessage (#143307)

5 days agoDoc: Fix missing closing parenthesis in argparse example (#143488)
Xiao Yuan [Tue, 6 Jan 2026 17:53:43 +0000 (19:53 +0200)] 
Doc: Fix missing closing parenthesis in argparse example (#143488)

5 days agogh-142863: optimize `list` and `set` calls with generator expressions (#142864)
Kumar Aditya [Tue, 6 Jan 2026 17:53:28 +0000 (23:23 +0530)] 
gh-142863: optimize `list` and `set` calls with generator expressions  (#142864)

6 days agogh-142302: Fix mkstemp() documentation: clarify file descriptor inheritance behavior...
ADITYA RAI [Tue, 6 Jan 2026 17:08:25 +0000 (22:38 +0530)] 
gh-142302: Fix mkstemp() documentation: clarify file descriptor inheritance behavior (#142338)

The documentation incorrectly stated that the file descriptor is not
inherited by child processes. In reality, the close-on-exec flag (when
available) only prevents inheritance across exec() calls, not fork().

Co-authored-by: Victor Stinner <vstinner@python.org>
6 days agogh-75572: Forward-port test_xpickle from Python 2 to 3 (GH-22452)
Ken Jin [Tue, 6 Jan 2026 17:03:03 +0000 (01:03 +0800)] 
gh-75572: Forward-port test_xpickle from Python 2 to 3 (GH-22452)

Move data classes used in tests to separate file test_picklecommon.py,
so it can be imported in old Python versions.

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
6 days agogh-106318: Add examples for str.isprintable() (#140043)
Adorilson Bezerra [Tue, 6 Jan 2026 16:43:44 +0000 (16:43 +0000)] 
gh-106318: Add examples for str.isprintable()  (#140043)

Co-authored-by: Stan Ulbrych <89152624+StanFromIreland@users.noreply.github.com>
6 days agogh-131798: Support generator frames in the JIT optimizer (GH-143340)
Ken Jin [Tue, 6 Jan 2026 16:39:57 +0000 (00:39 +0800)] 
gh-131798: Support generator frames in the JIT optimizer (GH-143340)

6 days agogh-143469: enable `LOAD_ATTR_MODULE` specialization even if `__getattr__` is defined...
Kumar Aditya [Tue, 6 Jan 2026 16:39:18 +0000 (22:09 +0530)] 
gh-143469: enable `LOAD_ATTR_MODULE` specialization even if `__getattr__` is defined (#143470)

6 days agogh-142991: socketmodule: fixed getsockaddrlen() for PF_DIVERT socket (#142993)
Gleb Smirnoff [Tue, 6 Jan 2026 16:25:29 +0000 (08:25 -0800)] 
gh-142991: socketmodule: fixed getsockaddrlen() for PF_DIVERT socket (#142993)

6 days agogh-134584: Eliminate redundant refcounting in TO_BOOL_ALWAYS_TRUE (GH-143427)
reiden [Tue, 6 Jan 2026 16:11:56 +0000 (00:11 +0800)] 
gh-134584: Eliminate redundant refcounting in TO_BOOL_ALWAYS_TRUE (GH-143427)

Co-authored-by: Ken Jin <kenjin@python.org>
6 days agogh-139038: Add macOS performance numbers for the JIT (GH-143479)
Ken Jin [Tue, 6 Jan 2026 15:19:35 +0000 (23:19 +0800)] 
gh-139038: Add macOS performance numbers for the JIT (GH-143479)

6 days agogh-143424: Fix assertion in _PyMutex_LockTimed (gh-143439)
Sam Gross [Tue, 6 Jan 2026 14:40:14 +0000 (09:40 -0500)] 
gh-143424: Fix assertion in _PyMutex_LockTimed (gh-143439)

The assertion doesn't necessarily hold for `threading.Lock`, so allow
the lock to be unlocked if `_PY_LOCK_PYTHONLOCK` is set on the flags.

6 days agogh-143474: Add `os.RWF_ATOMIC` constant (GH-143475)
Clay Dugo [Tue, 6 Jan 2026 14:35:51 +0000 (09:35 -0500)] 
gh-143474: Add `os.RWF_ATOMIC` constant (GH-143475)

6 days agogh-129824: Fix data race in _PyBuiltins_AddExceptions with subinterpreters (gh-143446)
Sam Gross [Tue, 6 Jan 2026 14:15:55 +0000 (09:15 -0500)] 
gh-129824: Fix data race in _PyBuiltins_AddExceptions with subinterpreters (gh-143446)

6 days agogh-143331: Schedule to remove format "N" for Decimal (#143372)
Semyon Moroz [Tue, 6 Jan 2026 13:12:05 +0000 (13:12 +0000)] 
gh-143331: Schedule to remove format "N" for Decimal (#143372)

6 days agoAllow Android to fail CI (GH-143471)
Hugo van Kemenade [Tue, 6 Jan 2026 12:31:21 +0000 (14:31 +0200)] 
Allow Android to fail CI (GH-143471)

6 days agogh-143394: On macOS, run main PyREPL tests as "Apple Terminal" as well (GH-143461)
Łukasz Langa [Tue, 6 Jan 2026 10:10:18 +0000 (11:10 +0100)] 
gh-143394: On macOS, run main PyREPL tests as "Apple Terminal" as well (GH-143461)

6 days agogh-41779: Allow defining any __slots__ for a class derived from tuple (GH-141763)
Serhiy Storchaka [Tue, 6 Jan 2026 09:36:00 +0000 (11:36 +0200)] 
gh-41779: Allow defining any __slots__ for a class derived from tuple (GH-141763)

6 days agogh-116738: make entering of `contextvars.Context` thread safe (#143074)
Kumar Aditya [Tue, 6 Jan 2026 06:54:02 +0000 (12:24 +0530)] 
gh-116738: make entering of `contextvars.Context` thread safe (#143074)

6 days agogh-134740: Document distribution discovery in importlib.metadata (#134751)
Emma Smith [Tue, 6 Jan 2026 01:25:30 +0000 (17:25 -0800)] 
gh-134740: Document distribution discovery in importlib.metadata (#134751)

Document the following items listed in `__all__` but missing from
documentation:

- `distributions()`: mentioned in doc strings as well
- `DistributionFinder`: mentioned but didn't have it's own :class:
  entry
- `DistributionFinder.Context`: mentioned but didn't have it's own :class:
  entry)
- `Distribution.discover()`: mentioned in doc strings

Closes #134740
Partially addresses #110937

---------

Co-authored-by: Bartosz Sławecki <bartosz@ilikepython.com>
Co-authored-by: Alyssa Coghlan <ncoghlan@gmail.com>
6 days agogh-143394: filter for turning off automatic margins in test_no_newline (GH-143433)
Chris Eibl [Mon, 5 Jan 2026 21:46:08 +0000 (22:46 +0100)] 
gh-143394: filter for turning off automatic margins in test_no_newline (GH-143433)

6 days agogh-143108: Don't instrument some faulthandler related functions for TSan (#143450)
Sam Gross [Mon, 5 Jan 2026 21:13:29 +0000 (16:13 -0500)] 
gh-143108: Don't instrument some faulthandler related functions for TSan (#143450)

6 days agogh-143434: Fix typo in zstd documentation (#143437)
Ritam Pal [Mon, 5 Jan 2026 19:55:11 +0000 (01:25 +0530)] 
gh-143434: Fix typo in zstd documentation (#143437)

6 days agogh-138205: explicit mention to `mmap.mmap.resize` in "Porting to Python 3.15" notes...
Ori Avtalion [Mon, 5 Jan 2026 19:27:45 +0000 (21:27 +0200)] 
gh-138205: explicit mention to `mmap.mmap.resize` in "Porting to Python 3.15" notes (#143440)

7 days agogh-69605: In test_pyrepl.test_already_imported*, invalidate FS import caches (#143436)
Łukasz Langa [Mon, 5 Jan 2026 17:00:48 +0000 (18:00 +0100)] 
gh-69605: In test_pyrepl.test_already_imported*, invalidate FS import caches (#143436)

This makes the test robust against file systems with low timestamp resolution, which otherwise would fail to re-import in the tight loop of the test.

7 days agogh-69605: Check for already imported modules in PyREPL module completion (GH-139461)
Loïc Simon [Mon, 5 Jan 2026 15:18:54 +0000 (16:18 +0100)] 
gh-69605: Check for already imported modules in PyREPL module completion (GH-139461)

Co-authored-by: Tomas R. <tomas.roun8@gmail.com>
7 days agogh-143082: Make readline work when sys.stdin is explicitly passed to pdb (#143083)
Denizhan Dakılır [Mon, 5 Jan 2026 04:39:11 +0000 (07:39 +0300)] 
gh-143082: Make readline work when sys.stdin is explicitly passed to pdb (#143083)

7 days agogh-143309: fix `test_execve_env_concurrent_mutation_with_fspath_posix` buildbot failu...
Bénédikt Tran [Sun, 4 Jan 2026 20:44:47 +0000 (21:44 +0100)] 
gh-143309: fix `test_execve_env_concurrent_mutation_with_fspath_posix` buildbot failure (#143415)

8 days agogh-139757: Add BINARY_OP_SUBSCR_USTR_INT (GH-143389)
Chris Eibl [Sun, 4 Jan 2026 14:14:27 +0000 (15:14 +0100)] 
gh-139757: Add BINARY_OP_SUBSCR_USTR_INT (GH-143389)

8 days agogh-143403: Fix a UAF in `_BINARY_OP_INPLACE_ADD_UNICODE` (GH-143404)
Ken Jin [Sun, 4 Jan 2026 13:10:39 +0000 (21:10 +0800)] 
gh-143403: Fix a UAF in `_BINARY_OP_INPLACE_ADD_UNICODE` (GH-143404)

Fix a UAF in `_BINARY_OP_INPLACE_ADD_UNICODE`

8 days agogh-143309: fix UAF in `os.execve` when the environment is concurrently mutated (...
Bénédikt Tran [Sat, 3 Jan 2026 22:05:57 +0000 (23:05 +0100)] 
gh-143309: fix UAF in `os.execve` when the environment is concurrently mutated (#143314)

8 days agogh-143308: fix UAF when PickleBuffer is concurrently mutated in a callback (#143312)
Aaron Wieczorek [Sat, 3 Jan 2026 22:01:59 +0000 (22:01 +0000)] 
gh-143308: fix UAF when PickleBuffer is concurrently mutated in a callback (#143312)

Co-authored-by: Aaron Wieczorek <woz@Aarons-MacBook-Pro.local>
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
8 days agogh-142927: Clarify pstats file output in docs and CLI (#143388)
László Kiss Kollár [Sat, 3 Jan 2026 21:16:29 +0000 (21:16 +0000)] 
gh-142927: Clarify pstats file output in docs and CLI (#143388)

When running the `profiling.sampling` module in pstats mode, the output
can be emitted in two different ways: text to stdout or a binary file
when the `--output` argument is set.

The current documentation and help text is confusing as it does not
distinguish between these two output formats so it may be surprising to
the user to get different formats depending whether `--output` is set or not.

9 days agogh-141504: Factor out tracing and optimization heuristics into a single object (gh...
Donghee Na [Sat, 3 Jan 2026 15:22:14 +0000 (00:22 +0900)] 
gh-141504: Factor out tracing and optimization heuristics into a single object (gh-143381)

9 days agogh-143001: Add @cpython_only to test_threading.ThreadTests.test_PyThreadState_SetAsyn...
Jeong, YunWon [Sat, 3 Jan 2026 15:01:49 +0000 (00:01 +0900)] 
gh-143001: Add @cpython_only to test_threading.ThreadTests.test_PyThreadState_SetAsyncExc (gh-143002)

9 days agogh-138122: Skip threads on EPERM in blocking mode profiler (GH-143368)
Pablo Galindo Salgado [Sat, 3 Jan 2026 14:37:16 +0000 (14:37 +0000)] 
gh-138122: Skip threads on EPERM in blocking mode profiler (GH-143368)

When using blocking mode in the remote debugging profiler, ptrace calls
to seize threads can fail with EPERM if the thread has exited between
listing and attaching, is in a special kernel state, or is already being
traced. Previously this raised a RuntimeError that was caught by the
Python sampling loop,and retried indefinitely since EPERM is
a persistent condition that will not resolve on its own.

Treat EPERM the same as ESRCH by returning 1 (skip this thread) instead
of -1 (fatal error). This allows profiling to continue with the threads
that can be traced rather than entering an endless retry loop printing
the same error message repeatedly.

9 days agogh-136924: Suspend REPL colorizing when in a REPL interactive command (GH-136926)
Olga Matoula [Sat, 3 Jan 2026 13:35:34 +0000 (15:35 +0200)] 
gh-136924: Suspend REPL colorizing when in a REPL interactive command (GH-136926)

Co-authored-by: Łukasz Langa <lukasz@langa.pl>
9 days agoFix dunder name typo in compiler code comment (#143374)
Bartosz Sławecki [Sat, 3 Jan 2026 10:08:42 +0000 (11:08 +0100)] 
Fix dunder name typo in compiler code comment (#143374)

9 days agogh-140648: Make asyncio REPL respect the `-I` flag (isolated mode) (#143045)
Bartosz Sławecki [Sat, 3 Jan 2026 08:03:04 +0000 (09:03 +0100)] 
gh-140648: Make asyncio REPL respect the `-I` flag (isolated mode) (#143045)

9 days agogh-142615: disallow multiple initializations of `asyncio.Task` and `asyncio.Future...
Kumar Aditya [Sat, 3 Jan 2026 07:57:02 +0000 (13:27 +0530)] 
gh-142615: disallow multiple initializations of `asyncio.Task` and `asyncio.Future` (#142616)

9 days agogh-143361: Pass PY_VECTORCALL_ARGUMENTS_OFFSET in _Py_CallBuiltinClass_StackRefSteal...
Aaron Wieczorek [Fri, 2 Jan 2026 20:43:00 +0000 (20:43 +0000)] 
gh-143361: Pass PY_VECTORCALL_ARGUMENTS_OFFSET in _Py_CallBuiltinClass_StackRefSteal (GH-143367)

Co-authored-by: Aaron Wieczorek <woz@Aarons-MacBook-Pro.local>
9 days agogh-76187: Document the `c` typecode for `multiprocessing.Array`. (#132504)
Tomas R. [Fri, 2 Jan 2026 19:18:32 +0000 (20:18 +0100)] 
gh-76187: Document the `c` typecode for `multiprocessing.Array`. (#132504)

* Document the `c` typecode for `multiprocessing.Array`.

* Add quotes

* Mention that 'w' is not supported

9 days agogh-134584: JIT: Remove redundant refcount from STORE_FAST (GH-143336)
Ken Jin [Fri, 2 Jan 2026 18:22:21 +0000 (02:22 +0800)] 
gh-134584: JIT: Remove redundant refcount from STORE_FAST (GH-143336)

10 days agono-issue: Fix optimizer_generator.py to print abstract_uop_name properly (gh-143366)
Donghee Na [Fri, 2 Jan 2026 17:18:15 +0000 (02:18 +0900)] 
no-issue: Fix optimizer_generator.py to print abstract_uop_name properly (gh-143366)

10 days agogh-138897: Use `_pyrepl.pager` for `_sitebuiltins._Printer` (GH-138898)
Stan Ulbrych [Fri, 2 Jan 2026 15:24:48 +0000 (15:24 +0000)] 
gh-138897: Use `_pyrepl.pager` for `_sitebuiltins._Printer` (GH-138898)

Co-authored-by: Łukasz Langa <lukasz@langa.pl>
10 days agogh-139262: Prevent swallowing REPL input on Windows (GH-139263)
Chris Eibl [Fri, 2 Jan 2026 15:17:45 +0000 (16:17 +0100)] 
gh-139262: Prevent swallowing REPL input on Windows (GH-139263)

Co-authored-by: Łukasz Langa <lukasz@langa.pl>
10 days agogh-143148: Replace pre-commit with prek in CI (#143149)
Johann Christensen [Fri, 2 Jan 2026 14:58:23 +0000 (15:58 +0100)] 
gh-143148: Replace pre-commit with prek in CI (#143149)

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: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
10 days agogh-128067: In test_pyrepl, discover escape sequences from terminfo instead of using...
Łukasz Langa [Fri, 2 Jan 2026 14:42:04 +0000 (15:42 +0100)] 
gh-128067: In test_pyrepl, discover escape sequences from terminfo instead of using hard-coded values (#143356)

10 days agogh-139757: Fix unintended bytecode specialization for non-ascii string (gh-143352)
Donghee Na [Fri, 2 Jan 2026 14:05:08 +0000 (23:05 +0900)] 
gh-139757: Fix unintended bytecode specialization for non-ascii string (gh-143352)

10 days agogh-128067: Fix pyrepl overriding printed output without newlines (#138732)
Jan-Eric Nitschke [Fri, 2 Jan 2026 13:04:37 +0000 (14:04 +0100)] 
gh-128067: Fix pyrepl overriding printed output without newlines (#138732)

Co-authored-by: Łukasz Langa <lukasz@langa.pl>
10 days agogh-142927: Hide _sync_coordinator frames from profiler output (#143337)
Pablo Galindo Salgado [Fri, 2 Jan 2026 12:09:36 +0000 (12:09 +0000)] 
gh-142927: Hide _sync_coordinator frames from profiler output (#143337)

10 days agogh-139757: Add _GUARD_NOS_COMPACT_ASCII for compact ascii optimization (gh-143332)
Donghee Na [Fri, 2 Jan 2026 11:58:14 +0000 (20:58 +0900)] 
gh-139757: Add _GUARD_NOS_COMPACT_ASCII for compact ascii optimization (gh-143332)

10 days agoUpdate docstrings of `typing.Hashable`, `typing.List`, etc., to reflect their depreca...
Alex Waygood [Fri, 2 Jan 2026 11:31:41 +0000 (11:31 +0000)] 
Update docstrings of `typing.Hashable`, `typing.List`, etc., to reflect their deprecation (#143295)

10 days agogh-143310: fix crash in Tcl object conversion with concurrent mutations (#143321)
Bénédikt Tran [Fri, 2 Jan 2026 09:51:05 +0000 (10:51 +0100)] 
gh-143310: fix crash in Tcl object conversion with concurrent mutations (#143321)

10 days agogh-124951: Optimize base64 encode & decode for an easy 2-3x speedup [no SIMD] (GH...
Gregory P. Smith [Fri, 2 Jan 2026 06:03:05 +0000 (22:03 -0800)] 
gh-124951: Optimize base64 encode & decode for an easy 2-3x speedup [no SIMD] (GH-143262)

Optimize base64 encoding/decoding by eliminating loop-carried dependencies. Key changes:
- Add `base64_encode_trio()` and `base64_decode_quad()` helper functions that process complete groups independently
- Add `base64_encode_fast()` and `base64_decode_fast()` wrappers
- Update `b2a_base64` and `a2b_base64` to use fast path for complete groups

Performance gains (encode/decode speedup vs main, PGO builds):
```
             64 bytes    64K        1M
  Zen2:      1.2x/1.8x   1.7x/2.8x  1.5x/2.8x
  Zen4:      1.2x/1.7x   1.6x/3.0x  1.5x/3.0x  [old data, likely faster]
  M4:        1.3x/1.9x   2.3x/2.8x  2.4x/2.9x  [old data, likely faster]
  RPi5-32:   1.2x/1.2x   2.4x/2.4x  2.0x/2.1x
```

Based on my exploratory work done in https://github.com/python/cpython/compare/main...gpshead:cpython:claude/vectorize-base64-c-S7Hku

See PR and issue for further thoughts on sometimes MUCH faster SIMD vectorized versions of this.

10 days agogh-138122: Move local imports to module level in sampling profiler (#143257)
Pablo Galindo Salgado [Fri, 2 Jan 2026 02:31:39 +0000 (02:31 +0000)] 
gh-138122: Move local imports to module level in sampling profiler (#143257)

10 days agogh-138122: Integrate live profiler TUI with _colorize theming system (#142360)
Pablo Galindo Salgado [Thu, 1 Jan 2026 21:10:52 +0000 (21:10 +0000)] 
gh-138122: Integrate live profiler TUI with _colorize theming system (#142360)

Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
10 days agogh-142927: Fix heatmap caller navigation for interior lines (#143180)
Pablo Galindo Salgado [Thu, 1 Jan 2026 19:05:59 +0000 (19:05 +0000)] 
gh-142927: Fix heatmap caller navigation for interior lines (#143180)

10 days agogh-142927: Auto-open HTML output in browser after generation (#143178)
ivonastojanovic [Thu, 1 Jan 2026 19:05:45 +0000 (20:05 +0100)] 
gh-142927: Auto-open HTML output in browser after generation (#143178)

10 days agogh-134584: Fix _CALL_BUILTIN_O test to reflect real-world usage (GH-143333)
Ken Jin [Thu, 1 Jan 2026 18:54:49 +0000 (02:54 +0800)] 
gh-134584: Fix _CALL_BUILTIN_O  test to reflect real-world usage (GH-143333)

Fix test to reflect real-world usage

11 days agogh-134584: Eliminate redundant refcounting from `_LOAD_ATTR_SLOT` (GH-143320)
Nadeshiko Manju [Thu, 1 Jan 2026 17:27:02 +0000 (01:27 +0800)] 
gh-134584: Eliminate redundant refcounting from `_LOAD_ATTR_SLOT` (GH-143320)

Signed-off-by: Manjusaka <me@manjusaka.me>
Co-authored-by: Ken Jin <kenjin4096@gmail.com>
11 days agogh-134584: Eliminate redundant refcounting from _CALL{_BUILTIN_O, _METHOD_DESCRIPTOR_...
Donghee Na [Thu, 1 Jan 2026 17:25:38 +0000 (02:25 +0900)] 
gh-134584: Eliminate redundant refcounting from _CALL{_BUILTIN_O, _METHOD_DESCRIPTOR_O} (GH-143330)

Co-authored-by: Ken Jin <kenjin4096@gmail.com>
11 days agoAmend NEWS entries for PRs GH-139553 and GH-142790 (#143329)
Bénédikt Tran [Thu, 1 Jan 2026 14:16:26 +0000 (15:16 +0100)] 
Amend NEWS entries for PRs GH-139553 and GH-142790 (#143329)

11 days agogh-143048: Remove outdated mention to `curses` in the "Interactive Mode" docs (#143049)
Bartosz Sławecki [Thu, 1 Jan 2026 11:52:21 +0000 (12:52 +0100)] 
gh-143048: Remove outdated mention to `curses` in the "Interactive Mode" docs (#143049)

11 days agogh-142830: prevent some crashes when mutating `sqlite3` callbacks (#143245)
Bénédikt Tran [Thu, 1 Jan 2026 10:55:05 +0000 (11:55 +0100)] 
gh-142830: prevent some crashes when mutating `sqlite3` callbacks (#143245)

11 days agogh-140920: remove incorrect mentions to `concurrent.futures.interpreter.ExecutionFail...
Lakshya Upadhyaya [Wed, 31 Dec 2025 20:45:41 +0000 (02:15 +0530)] 
gh-140920: remove incorrect mentions to `concurrent.futures.interpreter.ExecutionFailed` (#141723)

Remove documentation for inexistant `concurrent.futures.interpreter.ExecutionFailed`
and replace its occurrences by `concurrent.interpreters.ExecutionFailed` since this
is the documented exception.

12 days agogh-135852: Remove out of tree pywin32 dependency for NTEventLogHandler (GH-137860)
AN Long [Wed, 31 Dec 2025 10:50:50 +0000 (19:50 +0900)] 
gh-135852: Remove out of tree pywin32 dependency for NTEventLogHandler (GH-137860)

Add RegisterEventSource(), DeregisterEventSource(), ReportEvent()
and a number of EVENTLOG_* constants to _winapi.

12 days agogh-140795: Keep 'err' in local variable in _ssl.c (gh-143275)
Sam Gross [Wed, 31 Dec 2025 00:45:44 +0000 (19:45 -0500)] 
gh-140795: Keep 'err' in local variable in _ssl.c (gh-143275)

The error return code doesn't need to be mutable state on the SSLSocket.
This simplifes thread-safety and avoids potential reentrancy issues.

12 days agogh-143121: Avoid thread leak in configure (gh-143122)
Sam Gross [Wed, 31 Dec 2025 00:45:23 +0000 (19:45 -0500)] 
gh-143121: Avoid thread leak in configure (gh-143122)

If you are building with `--with-thread-sanitizer` and don't use the
suppression file, then running configure will report a thread leak.

Call `pthread_join()` to avoid the thread leak.

12 days agogh-115634: document ProcessPoolExecutor max_tasks_per_child bug (GH-140897)
Gregory P. Smith [Tue, 30 Dec 2025 23:24:32 +0000 (15:24 -0800)] 
gh-115634: document ProcessPoolExecutor max_tasks_per_child bug (GH-140897)

13 days agogh-143237: Fix support of named pipes in the rotating logging handlers (GH-143259)
Serhiy Storchaka [Tue, 30 Dec 2025 14:56:29 +0000 (16:56 +0200)] 
gh-143237: Fix support of named pipes in the rotating logging handlers (GH-143259)

This fixes regression introduced in GH-105887.

13 days agogh-130167: Add a What's New entry for changes to ``textwrap.{de,in}dent`` (#131924)
Adam Turner [Tue, 30 Dec 2025 12:57:28 +0000 (12:57 +0000)] 
gh-130167: Add a What's New entry for changes to ``textwrap.{de,in}dent`` (#131924)

Co-authored-by: Stan Ulbrych <89152624+StanFromIreland@users.noreply.github.com>
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
13 days agogh-143284: Temporarily install Sphinx<9 to fix Chinese search (#143286)
Hugo van Kemenade [Tue, 30 Dec 2025 12:31:41 +0000 (14:31 +0200)] 
gh-143284: Temporarily install Sphinx<9 to fix Chinese search (#143286)

13 days agogh-142939: difflib.get_close_matches performance (#142940)
dgpb [Tue, 30 Dec 2025 07:15:59 +0000 (09:15 +0200)] 
gh-142939: difflib.get_close_matches performance (#142940)

13 days agogh-128546: Document that getaddrinfo() can return raw data (#128547)
Sebastian Rittau [Tue, 30 Dec 2025 05:23:30 +0000 (06:23 +0100)] 
gh-128546: Document that getaddrinfo() can return raw data (#128547)

Document that getaddrinfo() can return raw data

This is the case for IPv6 addresses if Python was compiled with
--disable-ipv6.

13 days agogh-69686: Remove untrue part of `__import__` replacement docs (#143261)
Thanos [Tue, 30 Dec 2025 05:16:54 +0000 (00:16 -0500)] 
gh-69686: Remove untrue part of `__import__` replacement docs (#143261)

Remove untrue part of `__import__` replacement docs

The original statement effectively says that replacing `__import__` at global scope affects import statements, and not only that, but only import statements within the rest of the executing module. None of that has been true since at least Python 2.7, I think.

This was likely missed in python/cpython#69686.

2 weeks agogh-143200: fix UAFs in `Element.__{set,get}item__` when the element is concurrently...
Bénédikt Tran [Mon, 29 Dec 2025 17:30:51 +0000 (18:30 +0100)] 
gh-143200: fix UAFs in `Element.__{set,get}item__` when the element is concurrently mutated (#143226)

2 weeks agogh-143183: Link trace to side exits, rather than stop (GH-143268)
Ken Jin [Mon, 29 Dec 2025 15:10:42 +0000 (23:10 +0800)] 
gh-143183: Link trace to side exits, rather than stop (GH-143268)

2 weeks agogh-131421: Fix ASDL kw_defaults being `expr*` instead of `expr?*` (GH-133773)
Samuel [Mon, 29 Dec 2025 11:43:09 +0000 (11:43 +0000)] 
gh-131421: Fix ASDL kw_defaults being `expr*` instead of `expr?*` (GH-133773)

Also fix docs ASDL highlighting.