]> git.ipfire.org Git - thirdparty/Python/cpython.git/log
thirdparty/Python/cpython.git
4 months agogh-135855: Raise TypeError When Passing Non-dict Object to `_interpreters.set___main_...
Brian Schubert [Tue, 24 Jun 2025 18:53:14 +0000 (14:53 -0400)] 
gh-135855: Raise TypeError When Passing Non-dict Object to `_interpreters.set___main___attrs` (gh-135856)

4 months agogh-135805: Document the X option and env var for controlling thread-local bytecode...
mpage [Tue, 24 Jun 2025 17:02:50 +0000 (10:02 -0700)] 
gh-135805: Document the X option and env var for controlling thread-local bytecode (#135868)

Document the X option and env var for controlling thread-local bytecode.

4 months agogh-135878: Fix crash in `types.SimpleNamespace.__repr__` (#135889)
sobolevn [Tue, 24 Jun 2025 16:33:25 +0000 (19:33 +0300)] 
gh-135878: Fix crash in `types.SimpleNamespace.__repr__` (#135889)

Co-authored-by: Peter Bierma <zintensitydev@gmail.com>
4 months agogh-135487: fix `reprlib.Repr.repr_int` when given very large integers (#135506)
Bénédikt Tran [Tue, 24 Jun 2025 11:09:46 +0000 (13:09 +0200)] 
gh-135487: fix `reprlib.Repr.repr_int` when given very large integers (#135506)

4 months agogh-135494: Fix python -m test --pgo -x test_re (#135713)
Victor Stinner [Tue, 24 Jun 2025 10:21:35 +0000 (12:21 +0200)] 
gh-135494: Fix python -m test --pgo -x test_re (#135713)

Fix regrtest to support excluding tests from --pgo tests.

4 months agoGH-135106: Restrict trashcan to GC'ed objects (GH-135682)
Mark Shannon [Tue, 24 Jun 2025 08:49:38 +0000 (09:49 +0100)] 
GH-135106: Restrict trashcan to GC'ed objects (GH-135682)

4 months agogh-123299: Update 'What's New in Python 3.14' from `3.14` branch (#135616)
Hugo van Kemenade [Tue, 24 Jun 2025 08:08:23 +0000 (09:08 +0100)] 
gh-123299: Update 'What's New in Python 3.14' from `3.14` branch (#135616)

4 months agogh-135532: use `defining_class` for copying BLAKE-2 and SHA-3 objects (#135838)
Bénédikt Tran [Tue, 24 Jun 2025 07:58:07 +0000 (09:58 +0200)] 
gh-135532: use `defining_class` for copying BLAKE-2 and SHA-3 objects (#135838)

4 months agogh-135648: Document that `shutil.copyfileobj` doesn't flush (#135737)
Russell Keith-Magee [Tue, 24 Jun 2025 00:55:50 +0000 (08:55 +0800)] 
gh-135648: Document that `shutil.copyfileobj` doesn't flush (#135737)

Adds a note about flush/close on copyfileobj, and updates
the Emscripten build script to follow documented advice.

4 months agoFix example according to PEP 750 in "What's new in 3.14" (GH-134727)
Vincent Poulailleau [Mon, 23 Jun 2025 23:36:30 +0000 (01:36 +0200)] 
Fix example according to PEP 750 in "What's new in 3.14" (GH-134727)

A redundant extra part was written. Added a closing tag, to match the usage in PEP 750.

4 months agoDocs: Use `arguments` to replace `args` in `argparse.rst` (GH-135510)
Yongzi Li [Mon, 23 Jun 2025 22:53:33 +0000 (06:53 +0800)] 
Docs: Use `arguments` to replace `args` in `argparse.rst` (GH-135510)

4 months agogh-119786: Add InternalDocs/qsbr.md. (gh-135411)
Neil Schemenauer [Mon, 23 Jun 2025 22:09:40 +0000 (15:09 -0700)] 
gh-119786: Add InternalDocs/qsbr.md. (gh-135411)

Add internal doc for the Quiescent-State Based Reclamation (QSBR) implementation.

4 months agogh-131798: Optimize `_UNARY_NEGATIVE` (GH-135223)
Noam Cohen [Mon, 23 Jun 2025 19:42:09 +0000 (22:42 +0300)] 
gh-131798: Optimize `_UNARY_NEGATIVE` (GH-135223)

4 months agogh-134584: Specialize POP_TOP by reference and type in JIT (GH-135761)
Ken Jin [Mon, 23 Jun 2025 16:57:14 +0000 (00:57 +0800)] 
gh-134584: Specialize POP_TOP by reference and type in JIT (GH-135761)

4 months agoGH-124878: reenable `test_finalize_daemon_thread_hang` test under TSAN (#135793)
Kumar Aditya [Mon, 23 Jun 2025 16:08:57 +0000 (21:38 +0530)] 
GH-124878: reenable `test_finalize_daemon_thread_hang` test under TSAN (#135793)

4 months agoBump mypy to 1.16.1 (#135720)
sobolevn [Mon, 23 Jun 2025 12:29:30 +0000 (15:29 +0300)] 
Bump mypy to 1.16.1 (#135720)

4 months agogh-135823: improve error message in `netrc` security checks (#135827)
Bénédikt Tran [Mon, 23 Jun 2025 10:49:27 +0000 (12:49 +0200)] 
gh-135823: improve error message in `netrc` security checks (#135827)

4 months agogh-89488: Add warning about `Py_BuildValue("p")` needing exact `int` (GH-135610)
Petr Viktorin [Mon, 23 Jun 2025 10:35:59 +0000 (12:35 +0200)] 
gh-89488: Add warning about `Py_BuildValue("p")` needing exact `int` (GH-135610)

4 months agogh-134986: Catch PermissionError when trying to call perf in tests (#134987)
Emma Smith [Mon, 23 Jun 2025 10:28:05 +0000 (06:28 -0400)] 
gh-134986: Catch PermissionError when trying to call perf in tests (#134987)

Using Ubuntu 24.04 on the Windows Subsystem for Linux, perf will raise a
`PermissionError` instead of `FileNotFoundError`. This commit modifies
the tests to catch that.

4 months agoadd async generators section to asyncio internal docs (#135674)
Kumar Aditya [Mon, 23 Jun 2025 06:22:28 +0000 (11:52 +0530)] 
add async generators section to asyncio internal docs  (#135674)

4 months agogh-135532: cleanup clinic `module` directives for cryptographic modules (#135822)
Bénédikt Tran [Sun, 22 Jun 2025 20:04:38 +0000 (22:04 +0200)] 
gh-135532: cleanup clinic `module` directives for cryptographic modules (#135822)

4 months agogh-135815: skip `netrc` security checks if `os.getuid` is missing (#135816)
Bénédikt Tran [Sun, 22 Jun 2025 19:48:06 +0000 (21:48 +0200)] 
gh-135815: skip `netrc` security checks if `os.getuid` is missing (#135816)

4 months agogh-135239: simpler use of mutexes in cryptographic modules (#135267)
Bénédikt Tran [Sun, 22 Jun 2025 14:59:57 +0000 (16:59 +0200)] 
gh-135239: simpler use of mutexes in cryptographic modules (#135267)

4 months agopatchcheck: use URL paths to identify upstream remote (GH-135806)
Kattni [Sun, 22 Jun 2025 04:51:23 +0000 (00:51 -0400)] 
patchcheck: use URL paths to identify upstream remote (GH-135806)

* find defined "(fetch)" remotes with "python/cpython" in their URL
* if there is exactly one, use that remote name
* if there is one named "upstream", "origin", or "python",
  use that remote (in that precedence order)
* otherwise report an error listing the defined remotes

4 months agogh-130605: reenable `test_concurrent_futures` tests under TSAN (#135790)
Kumar Aditya [Sat, 21 Jun 2025 16:33:17 +0000 (22:03 +0530)] 
gh-130605: reenable `test_concurrent_futures` tests under TSAN  (#135790)

4 months agoDocs: Remove unnecessary trailing backslashes (GH-135781)
Rafael Fontenelle [Sat, 21 Jun 2025 13:01:14 +0000 (10:01 -0300)] 
Docs: Remove unnecessary trailing backslashes (GH-135781)

This fixes Sphinx's gettext extraction for translations.

4 months agogh-135532: optimize calls to `PyMem_Malloc` in SHAKE digest computation (#135744)
Bénédikt Tran [Sat, 21 Jun 2025 12:32:00 +0000 (14:32 +0200)] 
gh-135532: optimize calls to `PyMem_Malloc` in SHAKE digest computation (#135744)

- Add a fast path when the digest length is 0 to avoid calling useless functions.
- Directly allocate via `PyBytes_FromStringAndSize(NULL, length)` when possible.

4 months agogh-135759: consistently reject negative sizes in SHAKE digests (#135767)
Bénédikt Tran [Sat, 21 Jun 2025 09:43:30 +0000 (11:43 +0200)] 
gh-135759: consistently reject negative sizes in SHAKE digests (#135767)

Passing a negative digest length to `_hashilb.HASHXOF.[hex]digest()` now
raises a ValueError instead of a MemoryError or a SystemError. This makes
the behavior consistent with that of `_sha3.shake_{128,256}.[hex]digest`.

4 months agogh-135557: use atomic stores in `heapq` operations in free-threading (#135601)
Xuanteng Huang [Sat, 21 Jun 2025 08:43:15 +0000 (16:43 +0800)] 
gh-135557: use atomic stores in `heapq` operations in free-threading (#135601)

4 months agogh-135645: Added `supports_isolated_interpreters` to `sys.implementation` (#135667)
sobolevn [Sat, 21 Jun 2025 07:56:14 +0000 (10:56 +0300)] 
gh-135645: Added `supports_isolated_interpreters` to `sys.implementation` (#135667)

Co-authored-by: Eric Snow <ericsnowcurrently@gmail.com>
4 months agogh-127146: Skip test_os.test_mode for Emscripten (#135764)
Hood Chatham [Sat, 21 Jun 2025 06:06:59 +0000 (23:06 -0700)] 
gh-127146: Skip test_os.test_mode for Emscripten (#135764)

Temporarily skip test_os.test_mode on Emscripten; this fails consistently
on the buildbot, but not on other test configurations. Reported as #135783
for follow up.

4 months agogh-135756: Fix nonexistent parameter in tkinter docs (#135770)
Marcell Perger [Fri, 20 Jun 2025 22:45:36 +0000 (23:45 +0100)] 
gh-135756: Fix nonexistent parameter in tkinter docs (#135770)

Remove nonexistent color parameter from tkinter.commondialog.Dialog.show() method documentation.

4 months agogh-135698: Fix Cross-interpreter Queue.full() With Negative/Default max_size (gh...
Eric Snow [Fri, 20 Jun 2025 20:26:32 +0000 (14:26 -0600)] 
gh-135698: Fix Cross-interpreter Queue.full() With Negative/Default max_size (gh-135724)

We weren't handling non-positive maxsize values (including the default) properly
in Queue.full().  This change fixes that and adjusts an associated assert.

4 months agogh-135380: enhance critical section held assertions (#135381)
Kumar Aditya [Fri, 20 Jun 2025 17:13:23 +0000 (22:43 +0530)] 
gh-135380: enhance critical section held assertions (#135381)

4 months agogh-135721: skip `test_trashcan_python_class` on wasm buildbots with stack overflow...
Pastukhov Nikita [Fri, 20 Jun 2025 17:06:01 +0000 (20:06 +0300)] 
gh-135721: skip `test_trashcan_python_class` on wasm buildbots with stack overflow (#135766)

4 months agogh-131798: JIT: Optimize _CALL_LEN when the length is known (#135260)
Tomas R. [Fri, 20 Jun 2025 16:21:39 +0000 (18:21 +0200)] 
gh-131798: JIT: Optimize _CALL_LEN when the length is known (#135260)

* Add news entry

* Optimize _CALL_LEN

* Simplify tests

4 months agoDocs: Document `PyExceptionClass` functions in the C API (GH-135697)
Yuki Kobayashi [Fri, 20 Jun 2025 13:57:04 +0000 (22:57 +0900)] 
Docs: Document `PyExceptionClass` functions in the C API (GH-135697)

* Docs: Document `PyExceptionClass_Name`

`PyExceptionClass_Name` is an undocumented function in the limited API.

* Document `PyExceptionClass_Check`

4 months agogh-135748: use argument clinic for more socket methods (#135749)
Kumar Aditya [Fri, 20 Jun 2025 12:02:37 +0000 (17:32 +0530)] 
gh-135748: use argument clinic for more socket methods (#135749)

4 months agogh-89083: add links to RFC 9562 sections in UUID docs (#135684)
Weilin Du [Fri, 20 Jun 2025 11:03:41 +0000 (19:03 +0800)] 
gh-89083: add links to RFC 9562 sections in UUID docs (#135684)

We also sync the docs for UUIDv1 and UUIDv6 concerning the node address and clock sequence.

---------

Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
4 months agogh-135532: use `_Py_strhex` in HACL-MD5's `hexdigest` (#135742)
Bénédikt Tran [Fri, 20 Jun 2025 09:50:09 +0000 (11:50 +0200)] 
gh-135532: use `_Py_strhex` in HACL-MD5's `hexdigest` (#135742)

4 months agogh-135532: update `Modules/_hacl/python_hacl_namespaces.h` (#135741)
Bénédikt Tran [Fri, 20 Jun 2025 09:32:38 +0000 (11:32 +0200)] 
gh-135532: update `Modules/_hacl/python_hacl_namespaces.h` (#135741)

4 months agogh-135379: fix MSVC warning: conversion from 'stwodigits' to 'digit' (GH-135714)
Chris Eibl [Fri, 20 Jun 2025 09:05:33 +0000 (11:05 +0200)] 
gh-135379: fix MSVC warning: conversion from 'stwodigits' to 'digit' (GH-135714)

fix warning C4244: 'initializing': conversion from

'stwodigits' to 'digit', possible loss of data

4 months agogh-135532: simplify handling of HACL* errors in `_hmac` (#135740)
Bénédikt Tran [Fri, 20 Jun 2025 08:57:16 +0000 (10:57 +0200)] 
gh-135532: simplify handling of HACL* errors in `_hmac` (#135740)

4 months agogh-135608: Add a null check for attribute promotion to fix a JIT crash (GH-135613)
Ken Jin [Fri, 20 Jun 2025 06:33:35 +0000 (14:33 +0800)] 
gh-135608: Add a null check for attribute promotion to fix a JIT crash (GH-135613)

Co-authored-by: devdanzin <74280297+devdanzin@users.noreply.github.com>
4 months agogh-127146: Add skip_emscripten_stack_overflow in a few places (#135722)
Hood Chatham [Thu, 19 Jun 2025 21:27:02 +0000 (14:27 -0700)] 
gh-127146: Add skip_emscripten_stack_overflow in a few places (#135722)

More tests that hit stack limits on some platforms.

4 months agogh-135543: Emit sys.remote_exec audit event when sys.remote_exec is called (GH-135544)
Nadeshiko Manju [Thu, 19 Jun 2025 20:23:38 +0000 (04:23 +0800)] 
gh-135543: Emit sys.remote_exec audit event when sys.remote_exec is called (GH-135544)

4 months agoAdd tomasr8 as a codeowner for AST, gettext and the Tier 2 optimizer (#135727)
Tomas R. [Thu, 19 Jun 2025 19:55:13 +0000 (21:55 +0200)] 
Add tomasr8 as a codeowner for AST, gettext and the Tier 2 optimizer (#135727)

4 months agogh-135561: ensure that the GIL is held when handling an HACL* error in `_hmac` (...
Bénédikt Tran [Thu, 19 Jun 2025 17:27:19 +0000 (19:27 +0200)] 
gh-135561: ensure that the GIL is held when handling an HACL* error in `_hmac` (#135562)

4 months agogh-135709: Fix two compile warnings on WASM buildbot (#135712)
sobolevn [Thu, 19 Jun 2025 15:46:40 +0000 (18:46 +0300)] 
gh-135709: Fix two compile warnings on WASM buildbot (#135712)

4 months agoDocs: Add missing lines between regex and text (GH-134505)
Rafael Fontenelle [Thu, 19 Jun 2025 15:01:29 +0000 (12:01 -0300)] 
Docs: Add missing lines between regex and text (GH-134505)

4 months agogh-135273: Unify `ZoneInfo.from_file` signatures (#135274)
Andrii Hrimov [Thu, 19 Jun 2025 14:47:35 +0000 (16:47 +0200)] 
gh-135273: Unify `ZoneInfo.from_file` signatures (#135274)

Align `ZoneInfo.from_file` pure-Python signature with Argument Clinic signature.

4 months agogh-135379: Move PyLong_CheckCompact to private header and rename it (GH-135707)
Ken Jin [Thu, 19 Jun 2025 13:09:09 +0000 (21:09 +0800)] 
gh-135379: Move PyLong_CheckCompact to private header and rename it (GH-135707)

4 months agoDocs: Emphasize parameter name in `pkgutil.iter_importers` (GH-135597)
Rafael Fontenelle [Thu, 19 Jun 2025 12:56:43 +0000 (09:56 -0300)] 
Docs: Emphasize parameter name in `pkgutil.iter_importers` (GH-135597)

4 months agogh-135379: Add back const cast to _PyLong_IsCompact (GH-135706)
Ken Jin [Thu, 19 Jun 2025 11:54:21 +0000 (19:54 +0800)] 
gh-135379: Add back const cast to _PyLong_IsCompact (GH-135706)

4 months agogh-133934: Mention special commands in sqlite3 `.help` message (GH-135224)
Stan Ulbrych [Thu, 19 Jun 2025 11:47:29 +0000 (12:47 +0100)] 
gh-133934: Mention special commands in sqlite3 `.help` message (GH-135224)

4 months agogh-133439: Fix the error message in the sqlite3 CLI (GH-133807)
Stan Ulbrych [Thu, 19 Jun 2025 11:46:33 +0000 (12:46 +0100)] 
gh-133439: Fix the error message in the sqlite3 CLI (GH-133807)

Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
4 months agoGH-135379: Specialize int operations for compact ints only (GH-135668)
Mark Shannon [Thu, 19 Jun 2025 10:10:29 +0000 (11:10 +0100)] 
GH-135379: Specialize int operations for compact ints only (GH-135668)

4 months agogh-126112: Fix test_os.TimerfdTests: use 10 ms resolution (#135681)
Victor Stinner [Thu, 19 Jun 2025 09:40:40 +0000 (11:40 +0200)] 
gh-126112: Fix test_os.TimerfdTests: use 10 ms resolution (#135681)

Use 10 ms for CLOCK_RES instead of 100 ms to tolerate slow buildbots.

4 months agogh-111758: Run UBSan in GitHub Actions (GH-135578)
Petr Viktorin [Thu, 19 Jun 2025 09:36:56 +0000 (11:36 +0200)] 
gh-111758: Run UBSan in GitHub Actions (GH-135578)

Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
4 months agoDocument that PyType_GetModuleByDef returns a borrowed reference (GH-135666)
Petr Viktorin [Thu, 19 Jun 2025 07:00:41 +0000 (09:00 +0200)] 
Document that PyType_GetModuleByDef returns a borrowed reference (GH-135666)

4 months agogh-133485: Use interpreters.Interpreter in InterpreterPoolExecutor (gh-133957)
Eric Snow [Wed, 18 Jun 2025 23:57:14 +0000 (17:57 -0600)] 
gh-133485: Use interpreters.Interpreter in InterpreterPoolExecutor (gh-133957)

Most importantly, this resolves the issues with functions and types defined in __main__.
It also expands the number of supported objects and simplifies the implementation.

4 months agogh-135450: Remove assertion in `_PyCode_CheckNoExternalState` (gh-135466)
Peter Bierma [Wed, 18 Jun 2025 23:31:23 +0000 (19:31 -0400)] 
gh-135450: Remove assertion in `_PyCode_CheckNoExternalState` (gh-135466)

The assertion reflected a misunderstanding of situations where "hidden" variables might exist,
namely generator expressions and comprehensions.

4 months agogh-134538: Add link to shutil.rmtree example in function docs (GH-135540)
alexey semenyuk [Wed, 18 Jun 2025 21:10:20 +0000 (02:10 +0500)] 
gh-134538: Add link to shutil.rmtree example in function docs (GH-135540)

4 months agogh-135641: Fix flaky `test_capi.test_lock_two_threads` test case (gh-135642)
Sam Gross [Wed, 18 Jun 2025 18:24:05 +0000 (14:24 -0400)] 
gh-135641: Fix flaky `test_capi.test_lock_two_threads` test case (gh-135642)

The mutex may have the `_Py_HAS_PARKED` bit set.

4 months agoDocs: Fix markups for emphasis (GH-135598)
Yuki Kobayashi [Wed, 18 Jun 2025 17:32:43 +0000 (02:32 +0900)] 
Docs: Fix markups for emphasis (GH-135598)

The word emphasis character `_` is not supported as sphinx markup, so changed to `*`.

4 months agogh-135639: fix `test_cycle` test (#135662)
Kumar Aditya [Wed, 18 Jun 2025 16:41:35 +0000 (22:11 +0530)] 
gh-135639: fix `test_cycle` test (#135662)

4 months agogh-135376: Fix and improve test_random (GH-135377)
Serhiy Storchaka [Wed, 18 Jun 2025 15:26:01 +0000 (18:26 +0300)] 
gh-135376: Fix and improve test_random (GH-135377)

* Remove duplicated code. Tests for Random and SystemRandom now share
  the code.
* Move implementation agnostic tests that was only run for SystemRandom,
  so they are now run for Random too.
* Add tests for __index__() support.
* Add tests for randint().

4 months agogh-135676: lexical analysis: Improve section on Numeric literals (GH-134850)
Petr Viktorin [Wed, 18 Jun 2025 14:34:18 +0000 (16:34 +0200)] 
gh-135676: lexical analysis: Improve section on Numeric literals (GH-134850)

4 months agogh-135646: Raise consistent `NameError` exceptions in `ForwardRef.evaluate()` (#135663)
Victorien [Wed, 18 Jun 2025 13:00:55 +0000 (15:00 +0200)] 
gh-135646: Raise consistent `NameError` exceptions in `ForwardRef.evaluate()` (#135663)

4 months agogh-135335: flush stdout/stderr in forkserver after preloading modules (#135338)
Duane Griffin [Wed, 18 Jun 2025 12:17:02 +0000 (00:17 +1200)] 
gh-135335: flush stdout/stderr in forkserver after preloading modules (#135338)

If a preloaded module writes to stdout or stderr, and the stream is buffered,
child processes will inherit the buffered data after forking. Attempt to
prevent this by flushing the streams after preload.

Co-authored-by: Mikhail Efimov <efimov.mikhail@gmail.com>
Co-authored-by: Victor Stinner <vstinner@python.org>
4 months agogh-133390: Document `SQLITE_KEYWORDS` (GH-135659)
Stan Ulbrych [Wed, 18 Jun 2025 10:56:49 +0000 (11:56 +0100)] 
gh-133390: Document `SQLITE_KEYWORDS` (GH-135659)

4 months agogh-134632: Add iOS/Android test skip for C API check for headers. (#135656)
Russell Keith-Magee [Wed, 18 Jun 2025 06:21:14 +0000 (14:21 +0800)] 
gh-134632: Add iOS/Android test skip for C API check for headers. (#135656)

iOS and Android don't ship headers in the testbed, so we can't test for their existence.

4 months agogh-127146: Enable large files on Emscripten (#135635)
Hood Chatham [Wed, 18 Jun 2025 04:34:30 +0000 (21:34 -0700)] 
gh-127146: Enable large files on Emscripten (#135635)

Large files have been fully supported by Emscripten for a long time.

4 months agogh-119180: Only fetch globals and locals if necessary in `annotationlib.get_annotatio...
Victorien [Wed, 18 Jun 2025 03:29:13 +0000 (05:29 +0200)] 
gh-119180: Only fetch globals and locals if necessary in `annotationlib.get_annotations()` (#135644)

4 months agogh-127146: Emscripten: Fix pathlib glob_dotdot test (#135624)
Hood Chatham [Wed, 18 Jun 2025 03:20:43 +0000 (20:20 -0700)] 
gh-127146: Emscripten: Fix pathlib glob_dotdot test (#135624)

The Emscripten path resolver uses the same mechanism for resolving `..`
at a file system root as for resolving symlinks. This is because
roots don't store their mountpoints. If the parent of a node is itself,
it is a root but it might be a mountpoint in some other file system.

If a path has enough `..`'s at the root, it will return ELOOP.
Enough turns out to be 49.

4 months agogh-127146: Emscripten: Fix test failure due to missing os.link (#135626)
Hood Chatham [Wed, 18 Jun 2025 03:19:23 +0000 (20:19 -0700)] 
gh-127146: Emscripten: Fix test failure due to missing os.link (#135626)

Check for existence of os.link, rather than assuming it exists.

4 months agogh-127146: Emscripten: Skip test_url2pathname_resolve_host (#135634)
Hood Chatham [Wed, 18 Jun 2025 02:59:01 +0000 (19:59 -0700)] 
gh-127146: Emscripten: Skip test_url2pathname_resolve_host (#135634)

Emscripten currently `gethostbyname_r()` returns an incorrect
IP address for `localhost`. Will be resolved by upstream PR:
https://github.com/emscripten-core/emscripten/pull/24593

4 months agogh-127146: Allow ignored keys to be missing in test_sysconfig (#135622)
Hood Chatham [Wed, 18 Jun 2025 02:51:46 +0000 (19:51 -0700)] 
gh-127146: Allow ignored keys to be missing in test_sysconfig (#135622)

Fixes the test on Emscripten where userbase can be missing.

4 months agogh-135627: Remove documentation for LOAD_CONST_IMMORTAL opcode (GH-135632)
Vladyslav Lazoryk [Wed, 18 Jun 2025 02:39:41 +0000 (05:39 +0300)] 
gh-135627: Remove documentation for LOAD_CONST_IMMORTAL opcode (GH-135632)

Remove documentation for LOAD_CONST_IMMORTAL opcode

4 months agogh-133931: Introduce _PyObject_XSetRefDelayed to replace Py_XSETREF (gh-134377)
Donghee Na [Tue, 17 Jun 2025 23:36:02 +0000 (08:36 +0900)] 
gh-133931: Introduce _PyObject_XSetRefDelayed to replace Py_XSETREF (gh-134377)

4 months agoInitial internal asyncio docs (#135469)
Kumar Aditya [Tue, 17 Jun 2025 19:21:41 +0000 (00:51 +0530)] 
Initial internal asyncio docs (#135469)

Currently focused on `_asynciomodule.c` but could also receive updates about internals of the Python package.

4 months agogh-132775: Fix Interpreter.call() __main__ Visibility (gh-135595)
Eric Snow [Tue, 17 Jun 2025 19:16:59 +0000 (13:16 -0600)] 
gh-132775: Fix Interpreter.call() __main__ Visibility (gh-135595)

As noted in the new tests, there are a few situations we must carefully accommodate
for functions that get pickled during interp.call().  We do so by running the script
from the main interpreter's __main__ module in a hidden module in the other
interpreter.  That hidden module is used as the function __globals__.

4 months agogh-134584: Decref elimination for float ops in the JIT (GH-134588)
Ken Jin [Tue, 17 Jun 2025 15:25:53 +0000 (23:25 +0800)] 
gh-134584: Decref elimination for float ops in the JIT (GH-134588)

This PR adds a PyJitRef API to the JIT's optimizer that mimics the _PyStackRef API. This allows it to track references and their stack lifetimes properly. Thus opening up the doorway to refcount elimination in the JIT.

4 months agoGH-135379: Support limited scalar replacement for replicated uops in the JIT code...
Mark Shannon [Tue, 17 Jun 2025 12:43:09 +0000 (13:43 +0100)] 
GH-135379: Support limited scalar replacement for replicated uops in the JIT code generator. (GH-135563)

* Use it to support efficient specializations of COPY and SWAP in the JIT.

4 months agogh-132815: Add support for JUMP_BACKWARD in specialization stats (#135606)
PuQing [Tue, 17 Jun 2025 12:11:09 +0000 (20:11 +0800)] 
gh-132815: Add support for JUMP_BACKWARD in specialization stats (#135606)

4 months agogh-134262: Catch both URLError and ConnectionError in retries (#135365)
Emma Smith [Tue, 17 Jun 2025 11:51:23 +0000 (07:51 -0400)] 
gh-134262: Catch both URLError and ConnectionError in retries (#135365)

4 months agogh-134632: Fix `build-details.json` to use `INCLUDEPY` path (#134633)
Michał Górny [Tue, 17 Jun 2025 08:05:04 +0000 (10:05 +0200)] 
gh-134632: Fix `build-details.json` to use `INCLUDEPY` path (#134633)

* gh-134632: Fix `build-details.json` to use `INCLUDEPY` path

Fix ``build-details.json`` generation to use ``INCLUDEPY``, in order to
reference the ``pythonX.Y`` subdirectory of the include directory, as
required in :pep:`739`, instead of the top-level include directory.

* test_build_details: Add tests for the c_api section

* test_build_details: Expect pkgconfig for CPython unconditionally

4 months agogh-123299: Add PEP 779 to What's New in Python 3.14 (#135555)
Hugo van Kemenade [Tue, 17 Jun 2025 06:02:35 +0000 (09:02 +0300)] 
gh-123299: Add PEP 779 to What's New in Python 3.14 (#135555)

4 months agogh-135489: Show verbose output for failing tests during PGO profiling step with ...
PuQing [Tue, 17 Jun 2025 05:06:48 +0000 (13:06 +0800)] 
gh-135489: Show verbose output for failing tests during PGO profiling step with `--enable-optimizations` (#135512)

4 months agogh-119132: Update 'Using Python on macOS' documentation. (#135591)
Ned Deily [Mon, 16 Jun 2025 23:35:59 +0000 (01:35 +0200)] 
gh-119132: Update 'Using Python on macOS' documentation. (#135591)

Remove `experimental` qualification for free-threading in the document text. Note that images included in the document will be updated later in the release cycle.

4 months agogh-135443: Sometimes Fall Back to __main__.__dict__ For Globals (gh-135491)
Eric Snow [Mon, 16 Jun 2025 23:34:19 +0000 (17:34 -0600)] 
gh-135443: Sometimes Fall Back to __main__.__dict__ For Globals (gh-135491)

For several builtin functions, we now fall back to __main__.__dict__ for the globals
when there is no current frame and _PyInterpreterState_IsRunningMain() returns
true.  This allows those functions to be run with Interpreter.call().

The affected builtins:

* exec()
* eval()
* globals()
* locals()
* vars()
* dir()

We take a similar approach with "stateless" functions, which don't use any
global variables.

4 months agogh-128627: Emscripten: Add missing semicolon in ios detection code (#135590)
Hood Chatham [Mon, 16 Jun 2025 23:17:17 +0000 (16:17 -0700)] 
gh-128627: Emscripten: Add missing semicolon in ios detection code (#135590)

4 months agoAdd Peter Bierma as a codeowner for the object and runtime lifecycle (#135588)
Peter Bierma [Mon, 16 Jun 2025 23:03:53 +0000 (19:03 -0400)] 
Add Peter Bierma as a codeowner for the object and runtime lifecycle (#135588)

4 months agoUse replacements to update versions in "Using Python on macOS" (#130400)
Hugo van Kemenade [Mon, 16 Jun 2025 22:07:25 +0000 (01:07 +0300)] 
Use replacements to update versions in "Using Python on macOS" (#130400)

4 months agogh-132617: Fix `dict.update()` mutation check (gh-134815)
Sam Gross [Mon, 16 Jun 2025 16:55:20 +0000 (12:55 -0400)] 
gh-132617: Fix `dict.update()` mutation check (gh-134815)

Use `ma_used` instead of `ma_keys->dk_nentries` for modification check
so that we only check if the dictionary is modified, not if new keys are
added to a different dictionary that shared the same keys object.

4 months agogh-135513: Fix unused variable warning in `crossinterp.c` (#135514)
sobolevn [Mon, 16 Jun 2025 16:12:20 +0000 (19:12 +0300)] 
gh-135513: Fix unused variable warning in `crossinterp.c` (#135514)

4 months agogh-119132: Remove "experimental" tag from the CPython free-threading. (gh-135550)
Donghee Na [Mon, 16 Jun 2025 14:32:52 +0000 (23:32 +0900)] 
gh-119132: Remove "experimental" tag from the CPython free-threading. (gh-135550)

* gh-119132: Remove "experimental" tag from the CPython free-threading build

* Address code review

Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
* Add NEWS.d

* Regen configure.ac

* Update doc

* Update

* Update

* Update

* Update Doc/howto/free-threading-python.rst

Co-authored-by: Peter Bierma <zintensitydev@gmail.com>
* Update ctypes.rst

* Update

* Update Doc/howto/free-threading-python.rst

Co-authored-by: T. Wouters <thomas@python.org>
* Apply suggestions from code review

Co-authored-by: T. Wouters <thomas@python.org>
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
---------

Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
Co-authored-by: Peter Bierma <zintensitydev@gmail.com>
Co-authored-by: T. Wouters <thomas@python.org>
4 months agogh-120608: fix NEWS entry typo (#135535)
Rafael Fontenelle [Mon, 16 Jun 2025 10:11:49 +0000 (07:11 -0300)] 
gh-120608: fix NEWS entry typo (#135535)

4 months agogh-131798: JIT: replace _CHECK_METHOD_VERSION with _CHECK_FUNCTION_VERSION_INLINE...
Nadeshiko Manju [Mon, 16 Jun 2025 05:25:50 +0000 (13:25 +0800)] 
gh-131798: JIT: replace _CHECK_METHOD_VERSION with _CHECK_FUNCTION_VERSION_INLINE (GH-135022)

Signed-off-by: Manjusaka <me@manjusaka.me>
Co-authored-by: Brandt Bucher <brandtbucher@gmail.com>
4 months agogh-67022: Document bytes/str inconsistency in email.header.decode_header() and sugges...
Dan Lenski [Sun, 15 Jun 2025 19:29:38 +0000 (12:29 -0700)] 
gh-67022: Document bytes/str inconsistency in email.header.decode_header() and suggest email.headerregistry.HeaderRegistry as a sane alternative (#92900)

* gh-67022: Document bytes/str inconsistency in email.header.decode_header()

This function's possible return types have been surprising and error-prone
for the entirety of its Python 3.x history. It can return either:

1. `typing.List[typing.Tuple[bytes, typing.Optional[str]]]` of length >1
2. or `typing.List[typing.Tuple[str, None]]`, of length exactly 1

This means that any user of this function must be prepared to accept either
`bytes` or `str` for the first member of the 2-tuples it returns, which is a
very surprising behavior in Python 3.x, particularly given that the second
member of the tuple is supposed to represent the charset/encoding of the
first member.

This patch documents the behavior of this function, and adds test cases
to demonstrate it.

As discussed in bpo-22833, this cannot be changed in a backwards-compatible
way, and some users of this function depend precisely on the existing
behavior.

Add warnings about obsolescence of 'email.header.decode_header' and 'email.header.make_header' functions.

Recommend use of `email.headerregistry.HeaderRegistry` instead, as suggested
in https://github.com/python/cpython/pull/92900#discussion_r1112472177