]>
git.ipfire.org Git - thirdparty/Python/cpython.git/log
Miss Islington (bot) [Tue, 7 Oct 2025 19:24:01 +0000 (21:24 +0200)]
[3.14] gh-69605: Hardcode some stdlib submodules in PyREPL module completion (os.path, collections.abc...) (GH-138268) (GH-138943)
(cherry picked from commit
537133d2b63611ce1c04aac4c283c932dee9985a )
Co-authored-by: Loïc Simon <loic.simon@napta.io>
Co-authored-by: Łukasz Langa <lukasz@langa.pl>
Miss Islington (bot) [Tue, 7 Oct 2025 19:23:08 +0000 (21:23 +0200)]
[3.14] gh-139283: correctly handle `size` limit in `cursor.fetchmany()` (GH-139296) (GH-139441)
Passing a negative or zero size to `cursor.fetchmany()` made it fetch all rows
instead of none.
While this could be considered a security vulnerability, it was decided to treat
this issue as a regular bug as passing a non-sanitized *size* value in the first
place is not recommended.
(cherry picked from commit
bc172ee8307431caf4c89612e9e454081635191f )
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
Co-authored-by: Petr Viktorin <encukou@gmail.com>
Miss Islington (bot) [Tue, 7 Oct 2025 19:14:54 +0000 (21:14 +0200)]
[3.14] gh-95844: Move help_url code to a help module function (GH-129971) (#138484)
gh-95844: Move help_url code to a help module function (GH-129971)
---------
(cherry picked from commit
3b4cd885634abc029b409cb566e8d9a530d061f8 )
Co-authored-by: Stan Ulbrych <89152624+StanFromIreland@users.noreply.github.com>
Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
Miss Islington (bot) [Tue, 7 Oct 2025 19:13:27 +0000 (21:13 +0200)]
[3.14] gh-139210: Fix use-after-free in xml.etree.ElementTree.iterparse() (GH-139211) (GH-139455)
(cherry picked from commit
c86eb4d3ac5984efc1ea920ba643e3c4f02fdee8 )
Co-authored-by: Ken Jin <kenjin@python.org>
Co-authored-by: Petr Viktorin <encukou@gmail.com>
Miss Islington (bot) [Tue, 7 Oct 2025 19:11:43 +0000 (21:11 +0200)]
[3.14] gh-131178: Add tests for `site` command-line interface (GH-133582) (GH-137832)
gh-131178: Add tests for `site` command-line interface (GH-133582)
(cherry picked from commit
03f5519d776e28ffd0b8344ef328ecddf863fe0a )
Co-authored-by: ggqlq <124190229+ggqlq@users.noreply.github.com>
Brett Cannon [Tue, 7 Oct 2025 19:07:36 +0000 (12:07 -0700)]
[3.14] Always use the latest dev container image in `devcontainer.json` (GH-138003)
This is a manual backport of
14319a99e52954d038d7568c5119be161a00a6b8 .
Miss Islington (bot) [Tue, 7 Oct 2025 18:58:35 +0000 (20:58 +0200)]
[3.14] gh-138004: Fix setting a thread name on OpenIndiana (GH-138017) (#138384)
gh-138004: Fix setting a thread name on OpenIndiana (GH-138017)
Encode Solaris/Illumos thread names to ASCII, since
OpenIndiana does not support non-ASCII names.
Add tests for setting non-ASCII name for the main thread.
(cherry picked from commit
c19db1d2b8935b6f4f775a0957a076f1864fbf80 )
Co-authored-by: jadonduff <jadon_duff@icloud.com>
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Stan Ulbrych [Tue, 7 Oct 2025 18:52:12 +0000 (19:52 +0100)]
[3.14] gh-71648: Optimize PNG files (GH-138842) (GH-138851)
* Only keep > 1 kb savings
(cherry picked from commit
2e8f64c9317a327a2be1ab8031844ef3967c1040 )
Miss Islington (bot) [Tue, 7 Oct 2025 18:51:22 +0000 (20:51 +0200)]
[3.14] gh-116738: make `cProfile` module thread-safe (GH-138229) (#138575)
gh-116738: make `cProfile` module thread-safe (GH-138229)
(cherry picked from commit
8554c0917e25a7abe12b3000f1589b6566c91a25 )
Co-authored-by: Alper <alperyoney@fb.com>
Co-authored-by: Kumar Aditya <kumaraditya@python.org>
Gregory P. Smith [Tue, 7 Oct 2025 18:49:22 +0000 (11:49 -0700)]
[3.14] gh-134698: Hold a lock when the thread state is detached in `ssl` (GH-134724) (GH-137107)
* [3.14] gh-134698: Hold a lock when the thread state is detached in `ssl` (GH-134724)
Lock when the thread state is detached.
(cherry picked from commit
e047a35b23c1aa69ab8d5da56f36319cec4d36b8 )
Co-authored-by: Peter Bierma <zintensitydev@gmail.com>
Co-authored-by: Gregory P. Smith <greg@krypto.org>
* Only lock the SSL context, not the SSL socket.
This solves a deadlock when a socket is blocked while waiting on data,
which ended up causing a major regression in 3.13.6 (see gh-137583).
---------
Co-authored-by: Peter Bierma <zintensitydev@gmail.com>
Miss Islington (bot) [Tue, 7 Oct 2025 18:48:40 +0000 (20:48 +0200)]
[3.14] gh-137477: Fix inspect.getblock() for generator expressions (GH-137488) (#137993)
gh-137477: Fix inspect.getblock() for generator expressions (GH-137488)
This fixes also inspect.getsourcelines() and inspect.getsource().
(cherry picked from commit
eae9d7de1c45a64076a926d53672823e6ae1777d )
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Miss Islington (bot) [Tue, 7 Oct 2025 18:48:10 +0000 (20:48 +0200)]
[3.14] gh-136914: Fix support of cached functions and properties in DocTest's lineno computation (GH-136930) (#137616)
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().
(cherry picked from commit
fece15d29f28e89f1231afa80508c80ed28dc37d )
Co-authored-by: Denis Laxalde <denis@laxalde.org>
Miss Islington (bot) [Tue, 7 Oct 2025 18:47:26 +0000 (20:47 +0200)]
[3.14] gh-137440: Update comment in Python/hamt.c on importing for testing (GH-137441) (#137519)
gh-137440: Update comment in Python/hamt.c on importing for testing (GH-137441)
Switch from `_testcapi` to `_testinternalcapi`.
(cherry picked from commit
7ab68cd50658f76abc9e0f12e6212736e2440720 )
Co-authored-by: Bartosz Sławecki <bartosz@ilikepython.com>
Miss Islington (bot) [Tue, 7 Oct 2025 18:46:52 +0000 (20:46 +0200)]
[3.14] gh-137433: Fix deadlock with stop-the-world and daemon threads (gh-137735) (GH-138965)
There was a deadlock originally seen by Memray when a daemon thread
enabled or disabled profiling while the interpreter was shutting down.
I think this could also happen with garbage collection, but I haven't
seen that in practice.
The daemon thread could be hung while trying acquire the global rwmutex
that prevents overlapping global and per-interpreter stop-the-world events.
Since it already held the main interpreter's stop-the-world lock, it
also deadlocked the main thread, which is trying to perform interpreter
finalization.
Swap the order of lock acquisition to prevent this deadlock.
Additionally, refactor `_PyParkingLot_Park` so that the global buckets
hashtable is left in a clean state if the thread is hung in
`PyEval_AcquireThread`.
(cherry picked from commit
90fe3250f82712b61630d636246c92df7c40c816 )
Co-authored-by: Sam Gross <colesbury@gmail.com>
Miss Islington (bot) [Tue, 7 Oct 2025 18:45:49 +0000 (20:45 +0200)]
[3.14] GH-92266: Remove embedded tabs from ``c-analyzer/cpython/_parser.py`` (GH-137622) (#139718)
GH-92266: Remove embedded tabs from ``c-analyzer/cpython/_parser.py`` (GH-137622)
(cherry picked from commit
2212ae5557d4ad9dfc792f728d2bf2697b063b92 )
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
Miss Islington (bot) [Tue, 7 Oct 2025 18:43:12 +0000 (20:43 +0200)]
[3.14] gh-137044: Support large limit values in getrlimit() and setrlimit() (GH-137338) (#137506)
gh-137044: Support large limit values in getrlimit() and setrlimit() (GH-137338)
* Return large limit values as positive integers instead of negative integers
in resource.getrlimit().
* Accept large values and reject negative values (except RLIM_INFINITY)
for limits in resource.setrlimit().
(cherry picked from commit
baefaa6cba1d69efd2f930cdc56bca682c54b139 )
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Miss Islington (bot) [Tue, 7 Oct 2025 18:40:42 +0000 (20:40 +0200)]
[3.14] gh-81325: Support path-like objects with streaming TarFile (GH-137188) (#137365)
gh-81325: Support path-like objects with streaming TarFile (GH-137188)
(cherry picked from commit
3ec3d053452af8a769c18826ea61ba66fc73c8da )
Co-authored-by: Alexander Urieles <aeurielesn@users.noreply.github.com>
Co-authored-by: Emma Smith <emma@emmatyping.dev>
Miss Islington (bot) [Tue, 7 Oct 2025 18:39:57 +0000 (20:39 +0200)]
[3.14] gh-136520: Clarify docs for _pack_ & _align_ (GH-137036) (#137381)
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.
(cherry picked from commit
8943bb722f2f88a95ea6c5ee36bb5d540740d792 )
Co-authored-by: Petr Viktorin <encukou@gmail.com>
Miss Islington (bot) [Tue, 7 Oct 2025 18:39:13 +0000 (20:39 +0200)]
[3.14] gh-137273: Fix debug assertion failure in locale.setlocale() on Windows (GH-137300) (#137305)
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.
(cherry picked from commit
718e0c89ba0610bba048245028ac133bbf2d44c2 )
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Erlend E. Aasland [Tue, 7 Oct 2025 18:38:26 +0000 (20:38 +0200)]
[3.14] gh-138736: Fix sqlite3.Connection.blobopen 'row' parameter type and naming (#138738) (GH-139062)
(cherry picked from commit
8eb106240f5d70baeabd4ad137de6213dd8cfb30 )
Co-authored-by: chiri <chirizxc@proton.me>
Miss Islington (bot) [Tue, 7 Oct 2025 18:36:55 +0000 (20:36 +0200)]
[3.14] gh-138779: Use the dev_t converter for st_rdev (GH-138780) (#138926)
gh-138779: Use the dev_t converter for st_rdev (GH-138780)
This allows to support device numbers larger than 2**63-1.
(cherry picked from commit
43013f72f0aadc5ee428aa5bdf6d949b4e79779a )
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Miss Islington (bot) [Tue, 7 Oct 2025 18:35:38 +0000 (20:35 +0200)]
[3.14] gh-138489: Add missing `build-details.json` step for building wasm (GH-139302) (GH-139557)
(cherry picked from commit
db53ca30d761abba525bc8e47b16920b1fc43a83 )
Signed-off-by: Ho Kim <ho.kim@ulagbulag.io>
Co-authored-by: Ho Kim <ho.kim@ulagbulag.io>
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
Miss Islington (bot) [Tue, 7 Oct 2025 18:34:15 +0000 (20:34 +0200)]
[3.14] fix comment reference from man 7 signal to man 7 signal-safety (GH-138554) (#138594)
fix comment reference from man 7 signal to man 7 signal-safety (GH-138554)
(cherry picked from commit
2f5ace780ba3880ce07c4aacbda08ebba36e3b4d )
docs: fix comment reference from man 7 signal to man 7 signal-safety
Co-authored-by: mqudah <mohghq@gmail.com>
Miss Islington (bot) [Tue, 7 Oct 2025 18:32:55 +0000 (20:32 +0200)]
[3.14] Bump mypy to 1.17.1 (GH-137542) (#137543)
Bump mypy to 1.17.1 (GH-137542)
(cherry picked from commit
fb1cb00030c706366dfd1a457dd5de324d5619ea )
Co-authored-by: sobolevn <mail@sobolevn.me>
Miss Islington (bot) [Tue, 7 Oct 2025 18:30:21 +0000 (20:30 +0200)]
[3.14] gh-138952: Document platform.machine() output casing inconsistency across platforms (GH-138962) (#139045)
gh-138952: Document platform.machine() output casing inconsistency across platforms (GH-138962)
(cherry picked from commit
dd15a2e11ea5d16ad42050a2723dec0e400ea394 )
Co-authored-by: Aniket <148300120+Aniketsy@users.noreply.github.com>
Co-authored-by: AN Long <aisk@users.noreply.github.com>
Miss Islington (bot) [Tue, 7 Oct 2025 18:30:05 +0000 (20:30 +0200)]
[3.14] gh-129368: In PyRun C API docs, clarify what a "start token" is (GH-129935) (#139042)
gh-129368: In PyRun C API docs, clarify what a "start token" is (GH-129935)
(cherry picked from commit
e1eca8b308a585af45e9ebf4f605c9f67b7115d8 )
Co-authored-by: Rajhans Jadhao <rajhans.jadhao@gmail.com>
Serhiy Storchaka [Tue, 7 Oct 2025 18:26:00 +0000 (21:26 +0300)]
[3.14] Update the dbm documentation (GH-137919) (#137962)
Unify documentation for all backends, enumerate all not implemented mapping
methods, document particularities of implemented mapping methods.
(cherry picked from commit
8700404f8688d6a56279dce47a5a5802ec53ed06 )
Serhiy Storchaka [Tue, 7 Oct 2025 18:25:34 +0000 (21:25 +0300)]
[3.14] Update the availability info in the resource docs (#137939)
Update the availability info in the resource docs
Miss Islington (bot) [Tue, 7 Oct 2025 18:25:25 +0000 (20:25 +0200)]
[3.14] gh-130102: drop "require numeric arguments" from pow() docs (GH-137456) (#137536)
gh-130102: drop "require numeric arguments" from pow() docs (GH-137456)
(cherry picked from commit
37b5a0d671685645db8f1d5ecfa1260587f1fc28 )
Co-authored-by: Sergey B Kirpichev <skirpichev@gmail.com>
Co-authored-by: Senthil Kumaran <senthil@python.org>
Miss Islington (bot) [Tue, 7 Oct 2025 18:24:59 +0000 (20:24 +0200)]
[3.14] gh-138772: Add tests for Turtle.dot() signature (GH-138773) (GH-139326)
(cherry picked from commit
2462807b702d9a71f0bd73a6618d4948491852a0 )
Co-authored-by: Jan-Eric Nitschke <47750513+JanEricNitschke@users.noreply.github.com>
Miss Islington (bot) [Tue, 7 Oct 2025 18:24:17 +0000 (20:24 +0200)]
[3.14] Remove unmatched closing parenthesis (GH-139082) (#139099)
Remove unmatched closing parenthesis (GH-139082)
(cherry picked from commit
d22b25081bc406808cc5967951b42abedb634de3 )
Co-authored-by: Rafael Fontenelle <rffontenelle@users.noreply.github.com>
Miss Islington (bot) [Tue, 7 Oct 2025 18:23:58 +0000 (20:23 +0200)]
[3.14] gh-116738: add multi-threaded tests for `resource` module on free-threading builds (GH-138504) (#138793)
gh-116738: add multi-threaded tests for `resource` module on free-threading builds (GH-138504)
(cherry picked from commit
32e1e0699ffda8ec1dd5a0eb178b052352ab7d31 )
Co-authored-by: Alper <alperyoney@fb.com>
Co-authored-by: Kumar Aditya <kumaraditya@python.org>
Miss Islington (bot) [Tue, 7 Oct 2025 18:23:39 +0000 (20:23 +0200)]
[3.14] `Doc/library/zoneinfo.rst`: Fix typo (GH-139190) (#139229)
(cherry picked from commit
4fb338d844a1e992857a17b5bd1269837e847fb2 )
Miss Islington (bot) [Tue, 7 Oct 2025 18:23:18 +0000 (20:23 +0200)]
[3.14] gh-115119: Defer `--with-system-libmpdec` removal to 3.16 (GH-139318) (#139347)
gh-115119: Defer `--with-system-libmpdec` removal to 3.16 (GH-139318)
(cherry picked from commit
0aab07ccf79f335e3afa8021ddcbcfb8afa4d70c )
Co-authored-by: sobolevn <mail@sobolevn.me>
Miss Islington (bot) [Tue, 7 Oct 2025 18:22:20 +0000 (20:22 +0200)]
[3.14] gh-139327: fix some reference leaks in `sqlite3` error branches (GH-139328) (GH-139471)
(cherry picked from commit
d0a3eff9d6e72e209da0236fb1ea1f8c18938eaa )
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
Miss Islington (bot) [Tue, 7 Oct 2025 18:20:57 +0000 (20:20 +0200)]
[3.14] gh-139308: Skip test_special_chars_csh on NetBSD due to csh variable expansion issue (GH-139341) (GH-139559)
(cherry picked from commit
ae6e7f572c18d9183cb23e6e53c3324dd9bf0c64 )
Co-authored-by: Furkan Onder <furkanonder@protonmail.com>
Co-authored-by: Filipe Laíns 🇵🇸 <lains@riseup.net>
Miss Islington (bot) [Tue, 7 Oct 2025 18:19:50 +0000 (20:19 +0200)]
[3.14] Replace ambiguous word "pound" by "hash" in `difflib` docs (GH-139601) (GH-139616)
(cherry picked from commit
dadbb2662a405a34763db0298025f6af06342849 )
Co-authored-by: George Ogden <38294960+George-Ogden@users.noreply.github.com>
Miss Islington (bot) [Tue, 7 Oct 2025 18:19:42 +0000 (20:19 +0200)]
[3.14] gh-135944: Add a "Runtime Components" Section to the Execution Model Docs (gh-135945) (#139509)
gh-135944: Add a "Runtime Components" Section to the Execution Model Docs (gh-135945)
The section provides a brief overview of the Python runtime's execution environment. It is meant to be implementation agnostic,
(cherry picked from commit
46a1f0a9ff6e7cbea111dcb35e7aced1a7a3f3dc )
Co-authored-by: Eric Snow <ericsnowcurrently@gmail.com>
Miss Islington (bot) [Tue, 7 Oct 2025 18:19:01 +0000 (20:19 +0200)]
[3.14] gh-139646: fix typo in `pickletools` error message (GH-139647) (GH-139649)
(cherry picked from commit
36a6c2cdfaddc4a82d14f2c84b04e05089802876 )
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
Co-authored-by: yihong <zouzou0208@gmail.com>
Kumar Aditya [Tue, 7 Oct 2025 18:18:28 +0000 (23:48 +0530)]
[3.14] gh-132551: make `io.BytesIO` thread safe (GH-132616) (#138551)
* [3.14] gh-132551: make `io.BytesIO` thread safe (GH-132616)
(cherry picked from commit
5dd3a3a58cca4798ebfc2edd673211067453e81e )
Co-authored-by: Tomasz Pytel <tompytel@gmail.com>
Co-authored-by: Kumar Aditya <kumaraditya@python.org>
Miss Islington (bot) [Tue, 7 Oct 2025 18:18:23 +0000 (20:18 +0200)]
[3.14] gh-133467: fix data race in `type_set_name` (GH-137302) (#137303)
gh-133467: fix data race in `type_set_name` (GH-137302)
Fix data race in `type_set_name` by assigning name under stop the world pause making it thread safe in free-threading.
(cherry picked from commit
e99bc7fd44bbbf2464c37d5a57777ac0e1264c37 )
Co-authored-by: Kumar Aditya <kumaraditya@python.org>
Miss Islington (bot) [Tue, 7 Oct 2025 18:18:15 +0000 (20:18 +0200)]
[3.14] gh-135729: Store reference to globals in `Interpreter._decref` (GH-139104) (GH-139112)
* gh-135729: Store reference to globals in `Interpreter._decref` (GH-139104)
(cherry picked from commit
571210b8f34a54922e5eb11d65060d7a77b8bdf0 )
Co-authored-by: Peter Bierma <zintensitydev@gmail.com>
Miss Islington (bot) [Tue, 7 Oct 2025 18:16:55 +0000 (20:16 +0200)]
[3.14] gh-138854: Skip test_script_shadowing_stdlib_cwd_failure on AIX (GH-138855) (GH-139674)
(cherry picked from commit
171f787a297ec4b02cfe8b3ebab8374018391f20 )
Co-authored-by: Furkan Onder <furkanonder@protonmail.com>
Miss Islington (bot) [Tue, 7 Oct 2025 18:16:20 +0000 (20:16 +0200)]
[3.14] gh-75989: TarFile.extractall and TarFile.extract now overwrite symlinks when extracting hardlinks (GH-137316) (GH-139705)
(cherry picked from commit
481d5b54556e97fed4cf1f48a2ccbc7b4f7aaa42 )
Co-authored-by: Alexander Urieles <aeurielesn@users.noreply.github.com>
Miss Islington (bot) [Tue, 7 Oct 2025 18:15:33 +0000 (20:15 +0200)]
[3.14] gh-137025: Include ``python.worker.mjs`` in the Emscripten Web Example (GH-137236) (#137272)
gh-137025: Include ``python.worker.mjs`` in the Emscripten Web Example (GH-137236)
(cherry picked from commit
d5191ba99b8f7723cbdb9b7a07ef8a3eef6524c1 )
Co-authored-by: adam j hartz <hz@mit.edu>
Sergey B Kirpichev [Tue, 7 Oct 2025 18:15:22 +0000 (21:15 +0300)]
[3.14] gh-122450: Expand documentation for ``Rational`` and ``Fraction`` (GH-136800) (#137363)
(cherry picked from commit
b266fbc9ecd25d08ab572ecb91913e86b6ddc75e )
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Miss Islington (bot) [Tue, 7 Oct 2025 18:15:05 +0000 (20:15 +0200)]
[3.14] gh-137390: Add missing line continuation character in configure.ac (GH-137391) (#137394)
gh-137390: Add missing line continuation character in configure.ac (GH-137391)
(cherry picked from commit
001461a29235216eb9c8295c66c323fdd34a7d59 )
Co-authored-by: markmcclain <markmcclain@users.noreply.github.com>
Co-authored-by: Erlend E. Aasland <erlend@python.org>
Miss Islington (bot) [Tue, 7 Oct 2025 18:14:40 +0000 (20:14 +0200)]
[3.14] gh-131885: Use positional-only markers for ``max()`` and ``min()`` (GH-131868) (#137656)
gh-131885: Use positional-only markers for ``max()`` and ``min()`` (GH-131868)
(cherry picked from commit
dd079db4b96fa474b8e6d71ae9db662c4ce28caf )
Co-authored-by: Evan Kohilas <ekohilas@users.noreply.github.com>
Miss Islington (bot) [Tue, 7 Oct 2025 18:14:16 +0000 (20:14 +0200)]
[3.14] gh-135629: rewrite language reference section on except* to improve clarity (GH-136150) (#139059)
gh-135629: rewrite language reference section on except* to improve clarity (GH-136150)
(cherry picked from commit
a651ec95241c25161d525499a739f01bfe527895 )
Co-authored-by: Irit Katriel <1055913+iritkatriel@users.noreply.github.com>
Adam Turner [Tue, 7 Oct 2025 18:13:35 +0000 (19:13 +0100)]
[3.14] gh-105812: Use the ``:deco:`` role in place of manual decorator markup (GH-139619) (#139627)
(cherry picked from commit
3195da0b1a5dc8a03faa5142d4ab4a1549797e53 )
Miss Islington (bot) [Tue, 7 Oct 2025 18:12:05 +0000 (20:12 +0200)]
[3.14] gh-139436: Remove ``dist-pdf`` from the docs archives rebuild target (GH-139437) (#139692)
gh-139436: Remove ``dist-pdf`` from the docs archives rebuild target (GH-139437)
(cherry picked from commit
0e2cdd313ba5c67c5e2e21d993399b890e687c63 )
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
Miss Islington (bot) [Tue, 7 Oct 2025 18:11:46 +0000 (20:11 +0200)]
[3.14] gh-137185: Fix `_Py_DumpStack()` async signal safety (gh-137187) (gh-137206)
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.
(cherry picked from commit
11a8652e25341e696b06d8dc7a18e8c3ee8059e4 )
Co-authored-by: Sam Gross <colesbury@gmail.com>
Miss Islington (bot) [Tue, 7 Oct 2025 18:10:03 +0000 (20:10 +0200)]
[3.14] gh-135444: fix `asyncio.DatagramTransport.sendto` to account for datagram header size when data cannot be sent (GH-135445) (#137245)
gh-135444: fix `asyncio.DatagramTransport.sendto` to account for datagram header size when data cannot be sent (GH-135445)
(cherry picked from commit
e3ea8613519bd08aa6ce7d142403e644ae32d843 )
Co-authored-by: Justin Bronder <jsbronder@cold-front.org>
Co-authored-by: Kumar Aditya <kumaraditya@python.org>
Miss Islington (bot) [Tue, 7 Oct 2025 18:06:45 +0000 (20:06 +0200)]
[3.14] gh-138661: fix data race in `PyCode_Addr2Line` (GH-138664) (#138834)
gh-138661: fix data race in `PyCode_Addr2Line` (GH-138664)
(cherry picked from commit
ea26f6da39294b7d3c28873d070a2218bd528b5f )
Co-authored-by: Kumar Aditya <kumaraditya@python.org>
Miss Islington (bot) [Tue, 7 Oct 2025 18:02:42 +0000 (20:02 +0200)]
[3.14] gh-139624: Skip problematic locales on AIX in test_date_locale2 (GH-139625) (GH-139644)
(cherry picked from commit
6f3dae0dc5ccd47b2b8a6e052244353d8c37e59b )
Co-authored-by: Furkan Onder <furkanonder@protonmail.com>
Co-authored-by: Petr Viktorin <encukou@gmail.com>
Miss Islington (bot) [Tue, 7 Oct 2025 18:01:51 +0000 (20:01 +0200)]
[3.14] gh-138163: skip failures if tests are run with `SCHED_BATCH` on glibc (GH-138576) (GH-138820)
(cherry picked from commit
492941459acb5b5a104d96414288601d2e2b7e6f )
Co-authored-by: jxes993409 <68891412+jxes993409@users.noreply.github.com>
Co-authored-by: Petr Viktorin <encukou@gmail.com>
Miss Islington (bot) [Tue, 7 Oct 2025 18:00:28 +0000 (20:00 +0200)]
[3.14] gh-138008: Fix segfaults in _ctypes due to invalid argtypes (GH-138285) (GH-138742)
(cherry picked from commit
1ce05537a3ebaf1e5c54505b2272d61bb6cf5de0 )
Signed-off-by: Nguyen Viet Dung <29406816+magnified103@users.noreply.github.com>
Co-authored-by: Yongzi Li <204532581+Yzi-Li@users.noreply.github.com>
Co-authored-by: Petr Viktorin <encukou@gmail.com>
Miss Islington (bot) [Tue, 7 Oct 2025 17:59:52 +0000 (19:59 +0200)]
[3.14] gh-136507: Fix mimetypes CLI to handle multiple file parameters (GH-136508) (GH-138140)
(cherry picked from commit
81268a3e2a6aa936a9941dde31965c7b90a963f5 )
Co-authored-by: Wulian233 <1055917385@qq.com>
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
Co-authored-by: Petr Viktorin <encukou@gmail.com>
Miss Islington (bot) [Tue, 7 Oct 2025 17:59:29 +0000 (19:59 +0200)]
[3.14] gh-137376: Add note on top-level `global` declarations (GH-137707) (GH-138023)
(cherry picked from commit
9f05f98730bbc36f4ad173845458827c4df879f6 )
Co-authored-by: Petr Viktorin <encukou@gmail.com>
Co-authored-by: Brian Schubert <brianm.schubert@gmail.com>
Miss Islington (bot) [Tue, 7 Oct 2025 17:59:06 +0000 (19:59 +0200)]
[3.14] gh-123681: Check NORMALIZE_CENTURY behavior at runtime; require C99 (GH-136022) (GH-137947)
A runtime check is needed to support cross-compiling.
Remove the _Py_NORMALIZE_CENTURY macro.
Remove _pydatetime.py's _can_support_c99.
(cherry picked from commit
719e5c3f7111bcda5eee72fe648786c427c4d4c2 )
Co-authored-by: Petr Viktorin <encukou@gmail.com>
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Miss Islington (bot) [Tue, 7 Oct 2025 17:57:05 +0000 (19:57 +0200)]
[3.14] gh-138902: Fix generator send arg name (GH-138905) (#138914)
gh-138902: Fix generator send arg name (GH-138905)
(cherry picked from commit
cb07bd24eed43a0ac182e664398398164089f294 )
Co-authored-by: Marat Khagazheev <marathagazeev@gmail.com>
Co-authored-by: marat <khagazheev@artlebedev.ru>
Miss Islington (bot) [Tue, 7 Oct 2025 17:53:33 +0000 (19:53 +0200)]
[3.14] gh-136823: Update documentation on excluded headers in Python.h (GH-136824) (#137437)
gh-136823: Update documentation on excluded headers in Python.h (GH-136824)
(cherry picked from commit
c2428ca9ea0c4eac9c7f2b41aff5f77660f21298 )
Co-authored-by: Sina Zel taat <111974143+SZeltaat@users.noreply.github.com>
Co-authored-by: Adam Turner <9087854+aa-turner@users.noreply.github.com>
Miss Islington (bot) [Tue, 7 Oct 2025 17:52:07 +0000 (19:52 +0200)]
[3.14] gh-137239: Add *_max functions to heapq.__all__ (gh-137241) (#137256)
gh-137239: Add *_max functions to heapq.__all__ (gh-137241)
(cherry picked from commit
5f35f9b8fad50670604552062c1df8fbdff835ab )
Co-authored-by: Stan Ulbrych <89152624+StanFromIreland@users.noreply.github.com>
Miss Islington (bot) [Tue, 7 Oct 2025 17:50:13 +0000 (19:50 +0200)]
[3.14] gh-136516: Mention installation artifacts as de-facto resources (GH-136419) (#137038)
gh-136516: Mention installation artifacts as de-facto resources (GH-136419)
Files like NUL on windows are, from `importlib.resources` point of
view, an artifact caused by installing to a filesystem directory.
Mention these.
(cherry picked from commit
fac4964fdb2ae12969b485de496dd6d064fdbe99 )
Co-authored-by: Petr Viktorin <encukou@gmail.com>
Miss Islington (bot) [Tue, 7 Oct 2025 17:46:00 +0000 (19:46 +0200)]
[3.14] gh-139698: Fix typo in What's New 3.14 (GH-139699) (#139711)
gh-139698: Fix typo in What's New 3.14 (GH-139699)
(cherry picked from commit
d396a32b3d1a4b3a35bdfc8b44521d3021a108c7 )
Co-authored-by: Stan Ulbrych <89152624+StanFromIreland@users.noreply.github.com>
Sam Gross [Tue, 7 Oct 2025 17:45:23 +0000 (13:45 -0400)]
[3.14] gh-137400: Fix thread-safety issues when profiling all threads (gh-137518) (gh-137730)
There were a few thread-safety issues when profiling or tracing all
threads via PyEval_SetProfileAllThreads or PyEval_SetTraceAllThreads:
* The loop over thread states could crash if a thread exits concurrently
(in both the free threading and default build)
* The modification of `c_profilefunc` and `c_tracefunc` wasn't
thread-safe on the free threading build.
(cherry picked from commit
a10152f8fd0f4b291e53d646cffe22fbeec73e1e )
Co-authored-by: Sam Gross <colesbury@gmail.com>
Co-authored-by: Petr Viktorin <encukou@gmail.com>
Miss Islington (bot) [Tue, 7 Oct 2025 17:42:46 +0000 (19:42 +0200)]
[3.14] gh-126662: naming consistency for `signal.ItimerError` (GH-126712) (#137122)
gh-126662: naming consistency for `signal.ItimerError` (GH-126712)
(cherry picked from commit
d5fa437dfb50e2e47632cdc994e3257608688f30 )
Co-authored-by: Stephen Morton <git@tungol.org>
Miss Islington (bot) [Tue, 7 Oct 2025 17:41:03 +0000 (19:41 +0200)]
[3.14] Fix docs for Queue.shutdown (gh-137028) (#137080)
Fix docs for Queue.shutdown (gh-137028)
(cherry picked from commit
245671555b7e33112ae1efd0c26071d7a0e27b3a )
Co-authored-by: Raymond Hettinger <rhettinger@users.noreply.github.com>
Co-authored-by: Zachary Ware <zach@python.org>
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Miss Islington (bot) [Tue, 7 Oct 2025 17:40:30 +0000 (19:40 +0200)]
[3.14] gh-136278: Document codecs.escape_encode() and codecs.escape_decode() (GH-136314) (#137149)
gh-136278: Document codecs.escape_encode() and codecs.escape_decode() (GH-136314)
Closes GH-136278
(cherry picked from commit
6784ef7da7cbf1a944fd0685630ced54e4a0066c )
Co-authored-by: Toshaksha <147024929+Toshaksha@users.noreply.github.com>
Miss Islington (bot) [Tue, 7 Oct 2025 17:39:31 +0000 (19:39 +0200)]
[3.14] gh-58124: Avoid CP_UTF8 in UnicodeDecodeError (GH-137415) (#137460)
gh-58124: Avoid CP_UTF8 in UnicodeDecodeError (GH-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.
(cherry picked from commit
ce1b747ff68754635b7b12870dfc527184ee3b39 )
Co-authored-by: Victor Stinner <vstinner@python.org>
Miss Islington (bot) [Tue, 7 Oct 2025 17:39:06 +0000 (19:39 +0200)]
[3.14] gh-139208: Fix regrtest --fast-ci --verbose (GH-139240) (#139260)
gh-139208: Fix regrtest --fast-ci --verbose (GH-139240)
Don't ignore the --verbose option anymore.
(cherry picked from commit
dd683f8f341dd0c95ac4f1363d92d141ea5b3842 )
Co-authored-by: Victor Stinner <vstinner@python.org>
Miss Islington (bot) [Tue, 7 Oct 2025 17:38:40 +0000 (19:38 +0200)]
[3.14] gh-71810: Fix _PyLong_AsByteArray() undefined behavior (GH-138873) (#138883)
gh-71810: Fix _PyLong_AsByteArray() undefined behavior (GH-138873)
Don't read p[-1] when p is an empty string: when n==0.
(cherry picked from commit
8b5ce31c2b44d9bf82e6119e90a52dd530bfd1db )
Co-authored-by: Victor Stinner <vstinner@python.org>
Miss Islington (bot) [Tue, 7 Oct 2025 17:38:30 +0000 (19:38 +0200)]
[3.14] gh-137179: Fix flaky test_history_survive_crash test (gh-137180) (gh-137216)
Kill the REPL subprocess once it prints the output from the command
immediately before the `time.sleep()`.
(cherry picked from commit
98d462cf4de82d4ef40b20bd346db1ba7edfa35c )
Co-authored-by: Sam Gross <colesbury@gmail.com>
Miss Islington (bot) [Tue, 7 Oct 2025 17:38:12 +0000 (19:38 +0200)]
[3.14] gh-135329: Use longer timeout in pyrepl test_repl_eio() (GH-139503) (#139506)
gh-135329: Use longer timeout in pyrepl test_repl_eio() (GH-139503)
Replace hardcoded 5 seconds with support.SHORT_TIMEOUT.
Fix the following error on slow CI such as GitHub Action UBSan:
test test_pyrepl failed -- Traceback (most recent call last):
File "Lib/test/test_pyrepl/test_unix_console.py", line 362, in test_repl_eio
_, err = proc.communicate(timeout=5) # sleep for pty to settle
~~~~~~~~~~~~~~~~^^^^^^^^^^^
File "Lib/subprocess.py", line 1219, in communicate
stdout, stderr = self._communicate(input, endtime, timeout)
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
File "Lib/subprocess.py", line 2126, in _communicate
self._check_timeout(endtime, orig_timeout, stdout, stderr)
~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "Lib/subprocess.py", line 1266, in _check_timeout
raise TimeoutExpired(
...<2 lines>...
stderr=b''.join(stderr_seq) if stderr_seq else None)
subprocess.TimeoutExpired: Command '[...]' timed out after 5 seconds
(cherry picked from commit
c985822d86892cd0a978e6e63945be3c0e59217c )
Co-authored-by: Victor Stinner <vstinner@python.org>
Miss Islington (bot) [Tue, 7 Oct 2025 17:37:31 +0000 (19:37 +0200)]
[3.14] gh-137017: Ensure `Thread.is_alive()` only returns False after the underlying OS thread exits (gh-137315) (gh-138916)
(cherry picked from commit
aa9ceb17215af21ed6618d6f7ccb5bf57ca57101 )
Co-authored-by: Abdul <abdulrasheedibrahim47@gmail.com>
Co-authored-by: Sam Gross <colesbury@gmail.com>
Sam Gross [Tue, 7 Oct 2025 17:36:56 +0000 (13:36 -0400)]
[3.14] gh-137238: Fix data race in `_Py_slot_tp_getattr_hook` (gh-137240) (#137416)
Replacing the slot isn't thread-safe if the GIL is disabled. Don't
require that the slot has been replaced when specializing.
(cherry picked from commit
485b16b4f7b28cefdfb524c2869d473078e349bf )
Kumar Aditya [Tue, 7 Oct 2025 17:36:04 +0000 (23:06 +0530)]
[3.14] gh-136234: Fix `SelectorSocketTransport.writelines` to be robust to connection loss (GH-136743) (#138702)
Miss Islington (bot) [Tue, 7 Oct 2025 17:35:17 +0000 (19:35 +0200)]
[3.14] gh-139516: Fix lambda colon start format spec in f-string in tokenizer (GH-139657) (#139701)
gh-139516: Fix lambda colon start format spec in f-string in tokenizer (GH-139657)
(cherry picked from commit
539461d9ec8e5322ead638f7be733fd196aa6c79 )
Co-authored-by: Tomasz Pytel <tompytel@gmail.com>
Miss Islington (bot) [Tue, 7 Oct 2025 17:30:38 +0000 (19:30 +0200)]
[3.14] gh-128639: Don't assume one thread in subinterpreter finalization with fixed daemon thread support (GH-134606) (GH-139050)
gh-128639: Don't assume one thread in subinterpreter finalization with fixed daemon thread support (GH-134606)
This reapplies GH-128640.
(cherry picked from commit
a64881363b836b95fb4512a5689d69c1aa07ecb8 )
Co-authored-by: Peter Bierma <zintensitydev@gmail.com>
Miss Islington (bot) [Tue, 7 Oct 2025 17:30:23 +0000 (19:30 +0200)]
[3.14] gh-112729: Correctly fail when the process is out of memory during interpreter creation (GH-139164) (GH-139168)
gh-112729: Correctly fail when the process is out of memory during interpreter creation (GH-139164)
(cherry picked from commit
d06113c7a7cac76a28847702685e601b79f71bf8 )
Co-authored-by: Peter Bierma <zintensitydev@gmail.com>
Miss Islington (bot) [Tue, 7 Oct 2025 17:29:37 +0000 (19:29 +0200)]
[3.14] gh-123828: Fix data race in `_interpchannels._waiting_release` (GH-124107) (GH-139517)
gh-123828: Fix data race in `_interpchannels._waiting_release` (GH-124107)
(cherry picked from commit
f39dea3baeb9f9b7a0199d06508d722494db0145 )
Co-authored-by: Nadeshiko Manju <me@manjusaka.me>
Miss Islington (bot) [Tue, 7 Oct 2025 17:11:20 +0000 (19:11 +0200)]
[3.14] gh-138756: Fix leak of inittab memory in PyInitConfig_Free() (GH-138792) (#139703)
gh-138756: Fix leak of inittab memory in PyInitConfig_Free() (GH-138792)
(cherry picked from commit
3d521a62e7c377ac518c9f0326a88be204f0e3aa )
Co-authored-by: Victor Stinner <vstinner@python.org>
Miss Islington (bot) [Tue, 7 Oct 2025 16:55:33 +0000 (18:55 +0200)]
[3.14] gh-82916: Don't fail when importing from / with sys.pycache_prefix set (GH-30456) (GH-137906)
(cherry picked from commit
d8a9466e29f59f81aacf1959b835862bcd47b731 )
Co-authored-by: Petr Viktorin <encukou@gmail.com>
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Miss Islington (bot) [Tue, 7 Oct 2025 16:42:50 +0000 (18:42 +0200)]
[3.14] gh-138756: Fix memory leak in PyInitConfig_Free() (GH-138759) (#138785)
gh-138756: Fix memory leak in PyInitConfig_Free() (GH-138759)
Clear also memory of PyConfig members.
(cherry picked from commit
96dee64c73531325daa9e048b3c18212f5eadd98 )
Co-authored-by: Victor Stinner <vstinner@python.org>
Victor Stinner [Tue, 7 Oct 2025 16:41:45 +0000 (18:41 +0200)]
[3.14] gh-137058: Sync _Py_NULL macro with the main branch (#137409)
gh-137058: Sync _Py_NULL macro with the main branch
* use __STDC_VERSION__ >= 202311L instead of
__STDC_VERSION__ > 201710L.
* Check for _MSC_VER.
Hugo van Kemenade [Tue, 7 Oct 2025 14:15:20 +0000 (17:15 +0300)]
Post 3.14.0
Hugo van Kemenade [Tue, 7 Oct 2025 09:34:30 +0000 (12:34 +0300)]
Python 3.14.0
Miss Islington (bot) [Tue, 7 Oct 2025 08:56:02 +0000 (10:56 +0200)]
[3.14] GH-123299: Announce final release in What's New in Python 3.14 (GH-139631) (#139685)
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
Miss Islington (bot) [Tue, 7 Oct 2025 05:19:28 +0000 (07:19 +0200)]
[3.14] gh-124111: Update macOS installer to use Tcl/Tk 8.6.17. (GH-139682) (#139683)
gh-124111: Update macOS installer to use Tcl/Tk 8.6.17. (GH-139682)
(cherry picked from commit
6d804e4efb8ed2ebeb9cef9577945c46c0038178 )
Co-authored-by: Ned Deily <nad@python.org>
Miss Islington (bot) [Tue, 7 Oct 2025 05:01:57 +0000 (07:01 +0200)]
[3.14] gh-139573: Update macOS installer to use OpenSSL 3.0.18 (GH-139575) (#139680)
gh-139573: Update macOS installer to use OpenSSL 3.0.18 (GH-139575)
(cherry picked from commit
23410f0a9e2f691c8cd342cfd05cc3ca5f09c242 )
Co-authored-by: Zachary Ware <zach@python.org>
Miss Islington (bot) [Mon, 6 Oct 2025 21:30:00 +0000 (23:30 +0200)]
[3.14] Add warnings filter suggestions to PEP 765 entry in What's New (GH-139658) (#139676)
Co-authored-by: Alyssa Coghlan <ncoghlan@gmail.com>
Co-authored-by: Irit Katriel <1055913+iritkatriel@users.noreply.github.com>
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
Miss Islington (bot) [Mon, 6 Oct 2025 16:04:44 +0000 (18:04 +0200)]
[3.14] gh-116488: Mention `dict.get` in the data structures tutorial (GH-139643) (#139655)
Co-authored-by: Cycloctane <Cycloctane@outlook.com>
Sebastian Pipping [Mon, 6 Oct 2025 15:12:43 +0000 (17:12 +0200)]
[3.14] gh-139400: Move NEWS item from section "Core and Builtins" to section "Security" (GH-139606) (#139663)
Miss Islington (bot) [Mon, 6 Oct 2025 12:15:06 +0000 (14:15 +0200)]
[3.14] gh-137242: Allow Android testbed to take all Python command-line options (GH-138805) (#139637)
Co-authored-by: Malcolm Smith <smith@chaquo.com>
Miss Islington (bot) [Sun, 5 Oct 2025 20:34:05 +0000 (22:34 +0200)]
[3.14] GH-123299: Copyedit 3.14 What's New: Trivia (GH-139618) (#139626)
GH-123299: Copyedit 3.14 What's New: Trivia (GH-139618)
(cherry picked from commit
46de475af7225e6ef4c3fd08ee9202115a22de10 )
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
Miss Islington (bot) [Sun, 5 Oct 2025 18:38:28 +0000 (20:38 +0200)]
[3.14] GH-123299: Copyedit 3.14 What's New: New Features (GH-139543) (#139615)
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
Miss Islington (bot) [Sun, 5 Oct 2025 16:02:11 +0000 (18:02 +0200)]
[3.14] gh-139400: Make sure that parent parsers outlive their subparsers in `pyexpat` (GH-139403) (#139606)
Co-authored-by: Sebastian Pipping <sebastian@pipping.org>
Miss Islington (bot) [Sun, 5 Oct 2025 13:03:49 +0000 (15:03 +0200)]
[3.14] gh-138130: Fix return value of libc_ver() on Emscripten (GH-138132) (#138312)
Co-authored-by: Hood Chatham <roberthoodchatham@gmail.com>
Miss Islington (bot) [Sun, 5 Oct 2025 13:01:35 +0000 (15:01 +0200)]
[3.14] gh-118767: Remove ``bool(NotImplemented)`` from pending-removal document (GH-139526) (#139599)
Co-authored-by: Jost Migenda <jost.migenda@kcl.ac.uk>
Miss Islington (bot) [Sun, 5 Oct 2025 08:53:23 +0000 (10:53 +0200)]
[3.14] gh-139310: skip `test_aead_aes_gcm` for Linux kernel between 6.16.0 and 6.17.x (GH-139552) (#139594)
gh-139310: skip `test_aead_aes_gcm` for Linux kernel between 6.16.0 and 6.17.x (GH-139552)
Currently, Fedora 42 uses a custom Linux Kernel 6.16.9 that backported an upstream change
from 6.17-rc7 [1,3] but not its subsequent fix [2]. Until the issue is resolved upstream,
we skip the failing test `test_socket.test_aead_aes_gcm` for kernel versions between 6.16
and 6.17.x.
[1] https://github.com/torvalds/linux/commit/
1b34cbbf4f011a121ef7b2d7d6e6920a036d5285
[2] https://github.com/torvalds/linux/commit/
d0ca0df179c4b21e2a6c4a4fb637aa8fa14575cb .
[3] https://gitlab.com/cki-project/kernel-ark/-/commit/
45bcf60fe49b37daab1acee57b27211ad1574042
(cherry picked from commit
41712c4e095b2cc988febfe3887616c2779c6210 )
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>