]> git.ipfire.org Git - thirdparty/Python/cpython.git/log
thirdparty/Python/cpython.git
4 days agoGH-137484: Have `Tools/wasm/wasi` use the build triple instead of "build" (GH-37485)
Brett Cannon [Wed, 6 Aug 2025 19:28:54 +0000 (12:28 -0700)] 
GH-137484: Have `Tools/wasm/wasi` use the build triple instead of "build" (GH-37485)

This should help prevent issuse where something like a container is used to do one build and then someone tries to build again locally.

4 days agoFurther CODEOWNERS listings for Adam Turner (#137483)
Adam Turner [Wed, 6 Aug 2025 18:53:08 +0000 (20:53 +0200)] 
Further CODEOWNERS listings for Adam Turner (#137483)

4 days agoGH-137466: Remove deprecated and undocumented `glob.glob0()` and `glob1()` (#137467)
Barney Gale [Wed, 6 Aug 2025 16:13:58 +0000 (17:13 +0100)] 
GH-137466: Remove deprecated and undocumented `glob.glob0()` and `glob1()` (#137467)

4 days agogh-75989: TarFile.extractall and TarFile.extract now overwrite symlinks when extracti...
Alexander Urieles [Wed, 6 Aug 2025 12:59:22 +0000 (14:59 +0200)] 
gh-75989: TarFile.extractall and TarFile.extract now overwrite symlinks when extracting hardlinks (GH-137316)

4 days agogh-58124: Avoid CP_UTF8 in UnicodeDecodeError (#137415)
Victor Stinner [Wed, 6 Aug 2025 12:35:27 +0000 (14:35 +0200)] 
gh-58124: Avoid CP_UTF8 in UnicodeDecodeError (#137415)

Fix name of the Python encoding in Unicode errors of the code page
codec: use "cp65000" and "cp65001" instead of "CP_UTF7" and "CP_UTF8"
which are not valid Python code names.

4 days agoUse PyInitConfig API in _freeze_module.c (#137423)
Victor Stinner [Wed, 6 Aug 2025 12:34:56 +0000 (14:34 +0200)] 
Use PyInitConfig API in _freeze_module.c (#137423)

4 days agoUse PyConfig_Get() in frozenmain.c (#137421)
Victor Stinner [Wed, 6 Aug 2025 12:33:28 +0000 (14:33 +0200)] 
Use PyConfig_Get() in frozenmain.c (#137421)

Replace private _Py_GetConfig() with public PyConfig_Get().

Remove also explicit PyRuntime initialization, it's not needed.

4 days agogh-137450: macOS installer shell path management improvements (#137451)
Ned Deily [Wed, 6 Aug 2025 11:21:30 +0000 (07:21 -0400)] 
gh-137450: macOS installer shell path management improvements (#137451)

Separate the installer `Shell profile updater` postinstall script from the `Update Shell Profile.command` to enable more robust error handling.

4 days agogh-133390: Amend gh-135659 (sqlite3 docs update) (#137447)
Erlend E. Aasland [Wed, 6 Aug 2025 08:47:18 +0000 (10:47 +0200)] 
gh-133390: Amend gh-135659 (sqlite3 docs update) (#137447)

* gh-133390: Amend gh-135659 (sqlite3 docs update)

4 days agogh-137056: Fix DTrace build support on NetBSD (GH-137057)
Furkan Onder [Wed, 6 Aug 2025 07:19:56 +0000 (07:19 +0000)] 
gh-137056: Fix DTrace build support on NetBSD (GH-137057)

5 days agogh-136823: Update documentation on excluded headers in Python.h (#136824)
Sina Zel taat [Tue, 5 Aug 2025 20:52:33 +0000 (22:52 +0200)] 
gh-136823: Update documentation on excluded headers in Python.h (#136824)

Co-authored-by: Adam Turner <9087854+aa-turner@users.noreply.github.com>
5 days agogh-137134: Update SQLite to 3.50.4 for binary releases (GH-137135)
Gregory P. Smith [Tue, 5 Aug 2025 20:50:51 +0000 (13:50 -0700)] 
gh-137134: Update SQLite to 3.50.4 for binary releases (GH-137135)

* Update SQLite to 3.50.3 for binary releases.
* macOS and Windows news entries. what about Android?
* update sbom hash
* newline fix via regen-sbom
* news wording
* Update SQLite to 3.50.4 for binary releases.
* update 3.50.4.0.tar.gz hash in sbom & regen-sbom to fix whitespace
* Postpone to a separate PR the build-installer changes to support additional hash types

Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Ned Deily <nad@python.org>
5 days agoDocs: add dunder and walrus to the glossary (#137430)
Ned Batchelder [Tue, 5 Aug 2025 20:30:38 +0000 (16:30 -0400)] 
Docs: add dunder and walrus to the glossary (#137430)

5 days agoGH-136155: Use ``sphinxext-opengraph`` v0.12.0 (#137393)
Adam Turner [Tue, 5 Aug 2025 20:14:31 +0000 (22:14 +0200)] 
GH-136155: Use ``sphinxext-opengraph`` v0.12.0 (#137393)

5 days agoFix buildbot release status link in CONTRIBUTING.rst (GH-137429)
Zachary Ware [Tue, 5 Aug 2025 19:44:27 +0000 (14:44 -0500)] 
Fix buildbot release status link in CONTRIBUTING.rst (GH-137429)

The existing link works, but includes the legacy `/all` part of the path
which causes a scary-looking banner about a misconfiguration on the
`Home` page when in reality it's the link that includes a deprecated path.

5 days agogh-137288: Fix bug where boolean expressions are not associated with the correct...
Irit Katriel [Tue, 5 Aug 2025 18:25:57 +0000 (19:25 +0100)] 
gh-137288: Fix bug where boolean expressions are not associated with the correct exception handler (#137310)

5 days agogh-123441: Correct the supported languages of the iso-8859-4 codec (GH-137034)
Stan Ulbrych [Tue, 5 Aug 2025 14:55:05 +0000 (16:55 +0200)] 
gh-123441: Correct the supported languages of the iso-8859-4 codec (GH-137034)

5 days agogh-137238: Fix data race in `_Py_slot_tp_getattr_hook` (gh-137240)
Sam Gross [Tue, 5 Aug 2025 13:32:22 +0000 (09:32 -0400)] 
gh-137238: Fix data race in `_Py_slot_tp_getattr_hook` (gh-137240)

Replacing the slot isn't thread-safe if the GIL is disabled. Don't
require that the slot has been replaced when specializing.

5 days agogh-107545: Fix misleading setsockopt() error messages (GH-107546)
naweiss [Tue, 5 Aug 2025 10:16:14 +0000 (13:16 +0300)] 
gh-107545: Fix misleading setsockopt() error messages (GH-107546)

5 days agogh-137397: Skip test_os_open on NetBSD due to indefinite hang (#137398)
Furkan Onder [Tue, 5 Aug 2025 08:32:21 +0000 (08:32 +0000)] 
gh-137397: Skip test_os_open on NetBSD due to indefinite hang (#137398)

5 days agogh-136306: fix `test_ssl.ContextTests.test_set_groups` on FIPS builds (#137405)
Bénédikt Tran [Tue, 5 Aug 2025 07:50:34 +0000 (09:50 +0200)] 
gh-136306: fix `test_ssl.ContextTests.test_set_groups` on FIPS builds (#137405)

X25519 is not a valid curve if OpenSSL is built with FIPS mode,
and ignoring unknown groups in `SSL_CTX_set1_groups_list()`
is only supported since OpenSSL 3.3, so we use two curves that
are known to be FIPS-compliant, namely P-256 and P-384.

5 days agogh-137390: Add missing line continuation character in configure.ac (#137391)
markmcclain [Mon, 4 Aug 2025 22:08:26 +0000 (18:08 -0400)] 
gh-137390: Add missing line continuation character in configure.ac (#137391)

5 days agogh-132661: PEP 750 documentation: second pass (#137020)
Adam Turner [Mon, 4 Aug 2025 21:45:51 +0000 (23:45 +0200)] 
gh-132661: PEP 750 documentation: second pass (#137020)

6 days agogh-137128: Remove outdated todo about coro_fns in asyncio (#137385)
alexey semenyuk [Mon, 4 Aug 2025 16:44:29 +0000 (21:44 +0500)] 
gh-137128: Remove outdated todo about coro_fns in asyncio (#137385)

6 days agogh-129033: Remove dead code in test.support.has_no_debug_ranges() (#137379)
Victor Stinner [Mon, 4 Aug 2025 14:48:24 +0000 (16:48 +0200)] 
gh-129033: Remove dead code in test.support.has_no_debug_ranges() (#137379)

6 days agogh-134170: Add colorization to unraisable exceptions (#134183)
Peter Bierma [Mon, 4 Aug 2025 14:35:00 +0000 (10:35 -0400)] 
gh-134170: Add colorization to unraisable exceptions (#134183)

Default implementation of sys.unraisablehook() now uses traceback._print_exception_bltin() to print exceptions with colorized text.

Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
Co-authored-by: Victor Stinner <vstinner@python.org>
6 days agogh-136520: Clarify docs for _pack_ & _align_ (GH-137036)
Petr Viktorin [Mon, 4 Aug 2025 13:40:42 +0000 (15:40 +0200)] 
gh-136520: Clarify docs for _pack_ & _align_ (GH-137036)

Move docs to the reference section & reduce the “tutorial” part to a quick intro & link.

Clarify what values are accepted.

Add macro/attribute equivalents.

Discourage _align_ values that aren't powers of two.

6 days agogh-137368: document __index__() support for PyLong_AsInt32/64() (GH-137369)
Sergey B Kirpichev [Mon, 4 Aug 2025 13:30:29 +0000 (16:30 +0300)] 
gh-137368: document __index__() support for PyLong_AsInt32/64() (GH-137369)

6 days agoRemove Alex Waygood as a codeowner for pre-commit config (#137372)
Alex Waygood [Mon, 4 Aug 2025 10:29:14 +0000 (11:29 +0100)] 
Remove Alex Waygood as a codeowner for pre-commit config (#137372)

6 days agogh-81325: Support path-like objects with streaming TarFile (#137188)
Alexander Urieles [Mon, 4 Aug 2025 02:53:01 +0000 (04:53 +0200)] 
gh-81325: Support path-like objects with streaming TarFile (#137188)

Co-authored-by: Emma Smith <emma@emmatyping.dev>
6 days agogh-122450: Expand documentation for ``Rational`` and ``Fraction`` (#136800)
Sergey B Kirpichev [Mon, 4 Aug 2025 02:15:59 +0000 (05:15 +0300)] 
gh-122450: Expand documentation for ``Rational`` and ``Fraction`` (#136800)

Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
6 days agogh-137257: Upgrade bundled pip to 25.2 (GH-137258)
Richard Si [Mon, 4 Aug 2025 02:00:17 +0000 (22:00 -0400)] 
gh-137257: Upgrade bundled pip to 25.2 (GH-137258)

6 days agogh-132983: Use ``Py_UNREACHABLE`` in ``_zstd_load_impl()`` (#137320)
Rogdham [Mon, 4 Aug 2025 01:36:12 +0000 (03:36 +0200)] 
gh-132983: Use ``Py_UNREACHABLE`` in ``_zstd_load_impl()`` (#137320)

7 days agogh-136567: Add information about lost prefixes to `Tools/cases_generator/interpreter_...
Kliment Lamonov [Sun, 3 Aug 2025 18:43:13 +0000 (21:43 +0300)] 
gh-136567: Add information about lost prefixes to `Tools/cases_generator/interpreter_definition.md` (#136780)

7 days agoGH-136155: Use ``sphinxext-opengraph`` v0.11.0 (#137348)
Adam Turner [Sun, 3 Aug 2025 18:32:46 +0000 (20:32 +0200)] 
GH-136155: Use ``sphinxext-opengraph`` v0.11.0 (#137348)

7 days agogh-137341: Remove more word duplications (GH-137342)
Serhiy Storchaka [Sun, 3 Aug 2025 16:41:12 +0000 (19:41 +0300)] 
gh-137341: Remove more word duplications (GH-137342)

7 days agogh-137314: Fix incorrect treatment of format specs in raw fstrings (#137328)
Pablo Galindo Salgado [Sun, 3 Aug 2025 16:10:51 +0000 (17:10 +0100)] 
gh-137314: Fix incorrect treatment of format specs in raw fstrings (#137328)

7 days agogh-132983: Fix docstrings in ``ZstdDict`` (#137321)
Rogdham [Sun, 3 Aug 2025 15:04:45 +0000 (17:04 +0200)] 
gh-132983: Fix docstrings in ``ZstdDict`` (#137321)

Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
7 days agogh-137191: Fix how type parameters are collected from `Protocol` and `Generic` bases...
sobolevn [Sun, 3 Aug 2025 07:40:55 +0000 (10:40 +0300)] 
gh-137191: Fix how type parameters are collected from `Protocol` and `Generic` bases with parameters (#137281)

8 days agoGH-137276: Don't mark uop as escaping if the escaping call is on an exit branch ...
Mark Shannon [Sat, 2 Aug 2025 15:49:34 +0000 (16:49 +0100)] 
GH-137276: Don't mark uop as escaping if the escaping call is on an exit branch (GH-137277)

8 days agoRemove incorrect feature coverage comment from msgfmt script's docstring (#112862)
Maciej Olko [Sat, 2 Aug 2025 14:37:25 +0000 (16:37 +0200)] 
Remove incorrect feature coverage comment from msgfmt script's docstring (#112862)

Remove feature coverage comment from msgfmt script's docstring

msgfmt handles plural forms since cb081b83.

The comment was incorrectly applied in 637a33b -- original patch was from before the cb081b83 commit.

Co-authored-by: Tomas R. <tomas.roun8@gmail.com>
8 days agoDoc: remove unused images (#137323)
Inada Naoki [Sat, 2 Aug 2025 14:32:18 +0000 (23:32 +0900)] 
Doc: remove unused images (#137323)

8 days agogh-137308: Replace a single docstring with `pass` in `-OO` mode (#137318)
sobolevn [Sat, 2 Aug 2025 11:57:01 +0000 (14:57 +0300)] 
gh-137308: Replace a single docstring with `pass` in `-OO` mode (#137318)

This is required so we would never have empty node bodies.
Refs #130087

9 days agogh-131876: Revert "gh-131876: extract `_hashlib` helpers into a separate directory...
Bénédikt Tran [Fri, 1 Aug 2025 17:45:40 +0000 (19:45 +0200)] 
gh-131876: Revert "gh-131876: extract `_hashlib` helpers into a separate directory (#136995) (#137307)

Revert "gh-131876: extract `_hashlib` helpers into a separate directory (#136995)"

This reverts commit 45138d35843297395b2d646f5391be108243957a.

9 days agoGH-136410: Faster side exits by using a cold exit stub (GH-136411)
Mark Shannon [Fri, 1 Aug 2025 15:26:07 +0000 (16:26 +0100)] 
GH-136410: Faster side exits by using a cold exit stub (GH-136411)

9 days agogh-137273: Fix debug assertion failure in locale.setlocale() on Windows (GH-137300)
Serhiy Storchaka [Fri, 1 Aug 2025 14:43:53 +0000 (17:43 +0300)] 
gh-137273: Fix debug assertion failure in locale.setlocale() on Windows (GH-137300)

It happened when there were at least 16 characters after dot in the
locale name.

9 days agogh-133467: fix data race in `type_set_name` (#137302)
Kumar Aditya [Fri, 1 Aug 2025 13:40:40 +0000 (19:10 +0530)] 
gh-133467: fix data race in `type_set_name` (#137302)

Fix data race in `type_set_name` by assigning name under stop the world pause making it thread safe in free-threading.

9 days agogh-128813: soft-deprecate _Py_c_*() functions (GH-137261)
Sergey B Kirpichev [Fri, 1 Aug 2025 07:40:12 +0000 (10:40 +0300)] 
gh-128813: soft-deprecate _Py_c_*() functions (GH-137261)

10 days agogh-137282: Fix `TypeError` in tab completion and `dir()` of `concurrent.futures`...
Henry Schreiner [Thu, 31 Jul 2025 16:17:27 +0000 (12:17 -0400)] 
gh-137282: Fix `TypeError` in tab completion and `dir()` of `concurrent.futures` (GH-137214)

Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
10 days agogh-137200: support frame lineno setter with `BRANCH_LEFT` and `BRANCH_RIGHT` events...
Xuanteng Huang [Thu, 31 Jul 2025 13:22:22 +0000 (21:22 +0800)] 
gh-137200: support frame lineno setter with `BRANCH_LEFT` and `BRANCH_RIGHT` events (GH-137229)

10 days agogh-131146: Fix month names in a "standalone form" in calendar module (GH-131147)
Dzmitry Plashchynski [Thu, 31 Jul 2025 12:06:33 +0000 (15:06 +0300)] 
gh-131146: Fix month names in a "standalone form" in calendar module (GH-131147)

The calendar module displays month names in some locales using the genitive case.
This is grammatically incorrect, as the nominative case should be used when the month
is named by itself. To address this issue, this change introduces new lists
`standalone_month_name` and `standalone_month_abbr` that contain month names in
the nominative case -- or more generally, in the form that should be used to
name the month itself, rather than form a date.

The module now uses the `%OB` format specifier to get month names in this form
where available.

10 days agogh-137194: Fix requires_debug_ranges when _testcpi doesn't exist (GH-137195)
Jeong, YunWon [Thu, 31 Jul 2025 11:22:11 +0000 (20:22 +0900)] 
gh-137194: Fix requires_debug_ranges when _testcpi doesn't exist (GH-137195)

10 days agogh-124503: Optimize ast.literal_eval() for small input (GH-137010)
Krzysztof Magusiak [Thu, 31 Jul 2025 09:55:00 +0000 (11:55 +0200)] 
gh-124503: Optimize ast.literal_eval() for small input (GH-137010)

The implementation does not create anymore local functions which reduces
the overhead for small inputs. Some other calls are inlined into a
single `_convert_literal` function.
We have a gain of 10-20% for small inputs and only 1-2% for bigger
inputs.

10 days agogh-137025: Include ``python.worker.mjs`` in the Emscripten Web Example (#137236)
adam j hartz [Thu, 31 Jul 2025 08:19:52 +0000 (04:19 -0400)] 
gh-137025: Include ``python.worker.mjs`` in the Emscripten Web Example (#137236)

10 days agogh-119180: Refer to `annotationlib.get_annotations()` in `typing.get_type_hints(...
Victorien [Thu, 31 Jul 2025 03:21:56 +0000 (05:21 +0200)] 
gh-119180: Refer to `annotationlib.get_annotations()` in `typing.get_type_hints()` documentation (#137247)

10 days agoGH-134291: Support older macOS deployment targets for JIT builds (GH-137211)
Brandt Bucher [Wed, 30 Jul 2025 22:48:18 +0000 (15:48 -0700)] 
GH-134291: Support older macOS deployment targets for JIT builds (GH-137211)

11 days agogh-137239: Add *_max functions to heapq.__all__ (gh-137241)
Stan Ulbrych [Wed, 30 Jul 2025 21:12:14 +0000 (23:12 +0200)] 
gh-137239: Add *_max functions to heapq.__all__ (gh-137241)

11 days agoAdd example of min-heap and max-heap working together (gh-137251)
Raymond Hettinger [Wed, 30 Jul 2025 20:53:33 +0000 (15:53 -0500)] 
Add example of min-heap and max-heap working together (gh-137251)

11 days agoGH-137248: Add a `--logdir` option to `Tools/wasm/wasi` (GH-137249)
Brett Cannon [Wed, 30 Jul 2025 19:13:37 +0000 (12:13 -0700)] 
GH-137248: Add a `--logdir` option to `Tools/wasm/wasi` (GH-137249)

11 days agoGH-137243: Have `Tools/wasm/wasi` detect WASI SDK installs in `/opt` when the release...
Brett Cannon [Wed, 30 Jul 2025 18:46:24 +0000 (11:46 -0700)] 
GH-137243: Have `Tools/wasm/wasi` detect WASI SDK installs in `/opt` when the release tarball is extracted (GH-137244)

11 days agogh-135444: fix `asyncio.DatagramTransport.sendto` to account for datagram header...
Justin Bronder [Wed, 30 Jul 2025 18:11:28 +0000 (14:11 -0400)] 
gh-135444: fix `asyncio.DatagramTransport.sendto` to account for datagram header size when data cannot be sent (#135445)

Co-authored-by: Kumar Aditya <kumaraditya@python.org>
11 days agogh-71189: Support all-but-last mode in os.path.realpath() (GH-117562)
Serhiy Storchaka [Wed, 30 Jul 2025 07:19:19 +0000 (10:19 +0300)] 
gh-71189: Support all-but-last mode in os.path.realpath() (GH-117562)

11 days agoGH-116738: document thread-safety of bisect (GH-136555)
Neil Schemenauer [Wed, 30 Jul 2025 02:44:10 +0000 (19:44 -0700)] 
GH-116738: document thread-safety of bisect (GH-136555)

12 days agogh-137179: Fix flaky test_history_survive_crash test (gh-137180)
Sam Gross [Tue, 29 Jul 2025 18:25:50 +0000 (14:25 -0400)] 
gh-137179: Fix flaky test_history_survive_crash test (gh-137180)

Kill the REPL subprocess once it prints the output from the command
immediately before the `time.sleep()`.

12 days agogh-137183: Document that `array.array` typecode `w` is new in 3.13 (GH-137184)
Akuli [Tue, 29 Jul 2025 15:23:44 +0000 (18:23 +0300)] 
gh-137183: Document that `array.array` typecode `w` is new in 3.13 (GH-137184)

12 days agogh-137185: Fix `_Py_DumpStack()` async signal safety (gh-137187)
Sam Gross [Tue, 29 Jul 2025 14:25:32 +0000 (10:25 -0400)] 
gh-137185: Fix `_Py_DumpStack()` async signal safety (gh-137187)

Call backtrace() once when installing the signal handler to ensure that
libgcc is dynamically loaded outside the signal handler.

This fixes a "signal-unsafe call inside of a signal" TSan error from
test_faulthandler.test_enable_fd.

12 days agoAdd a What's New entry for Emscripten (#137035)
Hood Chatham [Tue, 29 Jul 2025 00:42:07 +0000 (02:42 +0200)] 
Add a What's New entry for Emscripten (#137035)

Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
Co-authored-by: Stan Ulbrych <89152624+StanFromIreland@users.noreply.github.com>
13 days agogh-136843: Document how multiple inheritance works (#136844)
Jelle Zijlstra [Mon, 28 Jul 2025 19:35:40 +0000 (12:35 -0700)] 
gh-136843: Document how multiple inheritance works (#136844)

Co-authored-by: Petr Viktorin <encukou@gmail.com>
Co-authored-by: Akuli <akuviljanen17@gmail.com>
13 days agogh-136586: Improve winreg's module docstring (GH-136587)
AN Long [Mon, 28 Jul 2025 19:19:01 +0000 (04:19 +0900)] 
gh-136586: Improve winreg's module docstring (GH-136587)

13 days agogh-136306: Add support for getting and setting SSL groups (#136307)
Ron Frederick [Mon, 28 Jul 2025 17:33:31 +0000 (10:33 -0700)] 
gh-136306: Add support for getting and setting SSL groups (#136307)

Add support for getting and setting groups used for key agreement.

* `ssl.SSLSocket.group()` returns the name of the group used
  for the key agreement of the current session establishment.
  This feature requires Python to be built with OpenSSL 3.2 or later.

* `ssl.SSLContext.get_groups()` returns the list of names of groups
  that are compatible with the TLS version of the current context.
  This feature requires Python to be built with OpenSSL 3.5 or later.

* `ssl.SSLContext.set_groups()` sets the groups allowed for key agreement
  for sockets created with this context. This feature is always supported.

13 days agoGH-131296: Fixes clang-cl warning on Windows in socketmodule.h (GH-131832)
Chris Eibl [Mon, 28 Jul 2025 16:52:07 +0000 (18:52 +0200)] 
GH-131296: Fixes clang-cl warning on Windows in socketmodule.h (GH-131832)

13 days agogh-134043: use stackrefs for dict lookup in `_PyObject_GetMethodStackRef` (#136412)
Kumar Aditya [Mon, 28 Jul 2025 16:34:57 +0000 (22:04 +0530)] 
gh-134043: use stackrefs for dict lookup in `_PyObject_GetMethodStackRef` (#136412)

Co-authored-by: Sam Gross <colesbury@gmail.com>
13 days agogh-131338: Disable computed stack limit checks on non-glibc linux (#134336)
R. David Murray [Mon, 28 Jul 2025 16:32:34 +0000 (12:32 -0400)] 
gh-131338: Disable computed stack limit checks on non-glibc linux (#134336)

Co-authored-by: Kumar Aditya <kumaraditya@python.org>
Co-authored-by: Victor Stinner <vstinner@python.org>
13 days agogh-130577: tarfile now validates archives to ensure member offsets are non-negative...
Alexander Urieles [Mon, 28 Jul 2025 15:37:26 +0000 (17:37 +0200)] 
gh-130577: tarfile now validates archives to ensure member offsets are non-negative (GH-137027)

Co-authored-by: Gregory P. Smith <greg@krypto.org>
13 days agogh-119711: describe `create_datagram_endpoint`'s behavior in asyncio when `local_addr...
AN Long [Mon, 28 Jul 2025 10:55:59 +0000 (19:55 +0900)] 
gh-119711: describe `create_datagram_endpoint`'s behavior in asyncio when `local_addr` is `None` (#136913)

13 days agogh-131876: extract `_hashlib` helpers into a separate directory (#136995)
Bénédikt Tran [Mon, 28 Jul 2025 09:28:48 +0000 (11:28 +0200)] 
gh-131876: extract `_hashlib` helpers into a separate directory (#136995)

The `Modules/hashlib.h` helper file is now removed and split into multiple files:

* `Modules/_hashlib/hashlib_buffer.[ch]` -- Utilities for getting a buffer view and handling buffer inputs.
* `Modules/_hashlib/hashlib_fetch.h` -- Utilities used when fetching a message digest from a digest-like identifier.
  Currently, this file only contains common error messages as the fetching API is not yet implemented.
* `Modules/_hashlib/hashlib_mutex.h` -- Utilities for managing the lock on cryptographic hash objects.

13 days agogh-136968: fortify macro usage in cryptographic modules (#136973)
Bénédikt Tran [Mon, 28 Jul 2025 07:36:15 +0000 (09:36 +0200)] 
gh-136968: fortify macro usage in cryptographic modules (#136973)

Macros used in cryptographic extension modules are partially rewritten
to use `static inline` functions when possible to help code completion.

2 weeks agogh-132898: Add a note in `multiprocessing.Process` docs about creating a process...
Duprat [Sun, 27 Jul 2025 19:59:08 +0000 (21:59 +0200)] 
gh-132898: Add a note in `multiprocessing.Process` docs about creating a process in a REPL (GH-137118)

* Reword, expand, and clarify the limitation, highlighting the REPL case.
* Mention in the high level Process description.
* added a pointer to the GH issue from the doc note

---------

Co-authored-by: Gregory P. Smith <greg@krypto.org>
2 weeks agogh-136278: Document codecs.escape_encode() and codecs.escape_decode() (#136314)
Toshaksha [Sun, 27 Jul 2025 16:37:52 +0000 (22:07 +0530)] 
gh-136278: Document codecs.escape_encode() and codecs.escape_decode() (#136314)

Closes #136278

2 weeks agoGH-128520: pathlib ABCs: tweak protocol for virtual path strings (#134104)
Barney Gale [Sun, 27 Jul 2025 11:47:15 +0000 (12:47 +0100)] 
GH-128520: pathlib ABCs: tweak protocol for virtual path strings (#134104)

Adjust `pathlib._os.vfspath()` so that it doesn't try `os.fsdecode()`. I
don't know that supporting `os.PathLike` arguments is a good idea, so
it's best to leave it out for now.

2 weeks agoGH-137059: `url2pathname()`: fix support for drive letter in netloc (#137060)
Barney Gale [Sun, 27 Jul 2025 11:44:41 +0000 (12:44 +0100)] 
GH-137059: `url2pathname()`: fix support for drive letter in netloc (#137060)

Support file URLs like `file://c:/foo` in `urllib.request.url2pathname()`
on Windows. This restores behaviour from 3.13.

2 weeks agogh-136992: Add "None" as valid `SameSite` value as per RFC 6265bis (#137040)
Iqra Khan [Sun, 27 Jul 2025 08:27:08 +0000 (13:57 +0530)] 
gh-136992: Add "None" as valid `SameSite` value as per RFC 6265bis (#137040)

The "SameSite" attribute defined in RFC 6265bis [1] allows the "Strict", "Lax" and "None"
enforcement modes. We already documented "Strict" and "Lax" as being valid values
but "None" was missing from the list. While the RFC has not been formally approved,
modern browsers support the "None" value [2, 3] thereby making sense to document it.

[1]: https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-rfc6265bis
[2]: https://developers.google.com/search/blog/2020/01/get-ready-for-new-samesitenone-secure
[3]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Set-Cookie#none

---------

Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
2 weeks agogh-137058: Update C23 standard version check in `pyport.h` (#137127)
Abdul [Sun, 27 Jul 2025 07:47:21 +0000 (08:47 +0100)] 
gh-137058: Update C23 standard version check in `pyport.h` (#137127)

Use `__STDC_VERSION__ >= 202311L` instead of `__STDC_VERSION__ > 201710L`.

2 weeks agoLink to plaintext for "show source" links (#137131)
ryan-duve [Sun, 27 Jul 2025 01:48:56 +0000 (21:48 -0400)] 
Link to plaintext for "show source" links (#137131)

2 weeks agogh-131038: Use text=True in subprocesses in test_perf_profiler (#137117)
Pablo Galindo Salgado [Sat, 26 Jul 2025 17:01:51 +0000 (18:01 +0100)] 
gh-131038: Use text=True in subprocesses in test_perf_profiler (#137117)

2 weeks agogh-126662: naming consistency for `signal.ItimerError` (#126712)
Stephen Morton [Sat, 26 Jul 2025 16:44:12 +0000 (09:44 -0700)] 
gh-126662: naming consistency for `signal.ItimerError` (#126712)

2 weeks agogh-136912: fix handling of `OverflowError` in `hmac.digest` (#136917)
Bénédikt Tran [Sat, 26 Jul 2025 08:22:06 +0000 (10:22 +0200)] 
gh-136912: fix handling of `OverflowError` in `hmac.digest` (#136917)

The OpenSSL and HACL* implementations of HMAC single-shot
digest computation reject keys whose length exceeds `INT_MAX`
and `UINT32_MAX` respectively. The OpenSSL implementation
also rejects messages whose length exceed `INT_MAX`.

Using such keys in `hmac.digest` previously raised an `OverflowError`
which was propagated to the caller. This commit mitigates this case by
making `hmac.digest` fall back to HMAC's pure Python implementation
which accepts arbitrary large keys or messages.

This change only affects the top-level entrypoint `hmac.digest`, leaving
`_hashopenssl.hmac_digest` and `_hmac.compute_digest` untouched.

2 weeks agoGH-132732: Use pure op machinery to optimize `COMPARE_OP_INT/FLOAT/STR` (#137062)
Savannah Bailey [Sat, 26 Jul 2025 02:02:04 +0000 (19:02 -0700)] 
GH-132732: Use pure op machinery to optimize `COMPARE_OP_INT/FLOAT/STR` (#137062)

Co-authored-by: Ken Jin <kenjin4096@gmail.com>
2 weeks agogh-137090: Remove redundant statement in ``Doc/library/concurrent.interpreters.rst...
soolabettu [Fri, 25 Jul 2025 15:50:53 +0000 (11:50 -0400)] 
gh-137090: Remove redundant statement in ``Doc/library/concurrent.interpreters.rst`` (#137091)

Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
2 weeks agogh-134698: Hold a lock when the thread state is detached in `ssl` (GH-134724)
Peter Bierma [Fri, 25 Jul 2025 15:16:05 +0000 (10:16 -0500)] 
gh-134698: Hold a lock when the thread state is detached in `ssl` (GH-134724)

Lock when the thread state is detached.

Co-authored-by: Gregory P. Smith <greg@krypto.org>
2 weeks agogh-130522: Fix unraisable TypeError in threading at interpreter shutdown (#131537)
Tyler Kennedy [Fri, 25 Jul 2025 14:51:30 +0000 (10:51 -0400)] 
gh-130522: Fix unraisable TypeError in threading at interpreter shutdown (#131537)

Co-authored-by: Peter Bierma <zintensitydev@gmail.com>
2 weeks agogh-136929: ensure that `hashlib.<name>` does not raise `AttributeError` (#136933)
Bénédikt Tran [Fri, 25 Jul 2025 14:49:09 +0000 (16:49 +0200)] 
gh-136929: ensure that `hashlib.<name>` does not raise `AttributeError` (#136933)

Previously, if OpenSSL was not present and built-in cryptographic extension modules
were disabled, requesting `hashlib.<name>` raised `AttributeError` and an ERROR log
message with the exception traceback is emitted when importing `hashlib`.

Now, the named constructor function will always be available but raises a `ValueError`
at runtime indicating that the algorithm is not supported. The log message has also
been reworded to be less verbose.

2 weeks agoFix Queue.shutdown docs for condition to unblock a join (gh-137088)
Raymond Hettinger [Fri, 25 Jul 2025 13:56:28 +0000 (07:56 -0600)] 
Fix Queue.shutdown docs for condition to unblock a join (gh-137088)

2 weeks agogh-137084: remove multiple calls to `get_gc_state` in `gc.c` (#137085)
Sergey Miryanov [Fri, 25 Jul 2025 12:43:54 +0000 (05:43 -0700)] 
gh-137084: remove multiple calls to `get_gc_state` in `gc.c` (#137085)

2 weeks agogh-137093: Fix race condition in `test_embed.test_bpo20891` (GH-137094)
Peter Bierma [Fri, 25 Jul 2025 12:33:18 +0000 (07:33 -0500)] 
gh-137093: Fix race condition in `test_embed.test_bpo20891` (GH-137094)

Use a `PyEvent` instead of a lock to fix a race on the free-threaded build.

2 weeks agogh-136914: Fix support of cached functions and properties in DocTest's lineno computa...
Denis Laxalde [Fri, 25 Jul 2025 09:46:12 +0000 (11:46 +0200)] 
gh-136914: Fix support of cached functions and properties in DocTest's lineno computation (GH-136930)

Previously, DocTest's lineno of functions and methods decorated with
functools.cache(), functools.lru_cache() and functools.cached_property()
was not properly returned (None was returned) because the
computation relied on inspect.isfunction() which does not consider the
decorated result as a function.

We now use the more generic inspect.isroutine(), as elsewhere
in doctest's logic.

Also, added a special case for functools.cached_property().

2 weeks agoExclude _testclinic_depr.c.h from c-analyzer (GH-137086)
Zachary Ware [Thu, 24 Jul 2025 20:50:01 +0000 (15:50 -0500)] 
Exclude _testclinic_depr.c.h from c-analyzer (GH-137086)

_testclinic.c mocks out PY_VERSION_HEX to 3.8 before including
_testclinic_depr.c.h to avoid the errors the preprocessor would
otherwise throw due to the deprecation feature it is testing.

Also partially revert 74e2acddf68b31ce16e8e0067b1df8c7b67bd6c8:
this restores Modules/_testclinic.c to match the same file in the 3.14
branch.

2 weeks agogh-136870: fix data races in instrumentation of bytecode (#136994)
Kumar Aditya [Thu, 24 Jul 2025 17:58:46 +0000 (23:28 +0530)] 
gh-136870: fix data races in instrumentation of bytecode (#136994)

De-instrumenting code objects modifies the thread local bytecode for all threads as such, holding the critical section on the code object is not sufficient and leads to data races. Now, the de-instrumentation is now performed under a stop the world pause as such no thread races with executing the thread local bytecode while it is being de-instrumented.

2 weeks agoFix docs for Queue.shutdown (gh-137028)
Raymond Hettinger [Thu, 24 Jul 2025 17:23:03 +0000 (11:23 -0600)] 
Fix docs for Queue.shutdown (gh-137028)

2 weeks agogh-132551: add missing critical sections on BytesIO methods (#137073)
Kumar Aditya [Thu, 24 Jul 2025 11:57:48 +0000 (17:27 +0530)] 
gh-132551: add missing critical sections on BytesIO methods (#137073)