127550 Commits

Author SHA1 Message Date
Miss Islington (bot)
4606b4089d
[3.14] gh-136839: Refactor simple dict.update calls (GH-136811) (#136840)
gh-136839: Refactor simple dict.update calls (GH-136811)

Refactor simple dict.update calls

This commit refactors simple `dict.update({key: value})` calls which can
be done via `dict[key] = value` instead.

I found those cases with the [semgrep](https://semgrep.dev/) tool:

```
$ semgrep --lang python --pattern '$DICT.update({$A: ...})'

┌─────────────────┐
│ 5 Code Findings │
└─────────────────┘

    Lib/dataclasses.py
         1268┆ slots.update({slot: doc})

    Lib/multiprocessing/resource_tracker.py
           50┆ _CLEANUP_FUNCS.update({
           51┆     'semaphore': _multiprocessing.sem_unlink,
           52┆ })
            ⋮┆----------------------------------------
           53┆ _CLEANUP_FUNCS.update({
           54┆     'shared_memory': _posixshmem.shm_unlink,
           55┆ })

    Lib/tkinter/scrolledtext.py
           26┆ kw.update({'yscrollcommand': self.vbar.set})

    Lib/xmlrpc/server.py
          242┆ self.funcs.update({'system.multicall' : self.system_multicall})
```
(cherry picked from commit 69ea1b3a8f45fec46add3272ad47f14ff5321ae8)

Co-authored-by: Disconnect3d <dominik.b.czarnota@gmail.com>
2025-07-19 17:36:31 +00:00
Miss Islington (bot)
f8af7cb723
[3.14] gh-136752: Clarify documentation for `IPv{N}Address.is_reserved` (GH-136794) (#136827)
gh-136752: Clarify documentation for ``IPv{N}Address.is_reserved`` (GH-136794)
(cherry picked from commit 6293d8a1a648a498b7ac899631b74fa25c71c1ac)

Co-authored-by: Matthieu Lienart <50069805+mlnrt@users.noreply.github.com>
Co-authored-by: Matthieu Lienart <matthieu.lienart@axians.com>
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
2025-07-19 14:50:30 +00:00
Miss Islington (bot)
8d063f3d92
[3.14] gh-54732: Make argparse error caused by empty rows in option files explicit (GH-136795) (#136818)
gh-54732: Make argparse error caused by empty rows in option files explicit (GH-136795)
(cherry picked from commit 8ffc3ef01e83ffe629c6107082677de4d23974d5)

Co-authored-by: jdunter <2ve@mailbox.org>
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
2025-07-19 14:28:52 +00:00
Miss Islington (bot)
2a9aeb0f57
[3.14] gh-136801: Fix PyREPL syntax highlightning on match cases after multi-line case (GH-136804) (GH-136813)
(cherry picked from commit 3a648445337098abf22c7faa296389dab597797c)

Co-authored-by: Olga Matoula <olgamatoula@gmail.com>
2025-07-19 15:56:40 +02:00
Miss Islington (bot)
03457ca2ac
[3.14] gh-135730: Clarify multiprocessing.Queue close() documentation (GH-136803) (GH-136806)
gh-135730: Clarify multiprocessing.Queue close() documentation (GH-136803)

Add a copy of the text from SimpleQueue.close()

---------
(cherry picked from commit f575588ccf27d8d54a1e99cfda944f2614b3255c)

Co-authored-by: aggshruti99 <aggshruti99@gmail.com>
Co-authored-by: Petr Viktorin <encukou@gmail.com>
2025-07-19 14:57:52 +02:00
Miss Islington (bot)
8b4275c99a
[3.14] gh-136769: Include fixed-width integers in the fundamental data types table (GH-136784) (#136785)
gh-136769: Include fixed-width integers in the fundamental data types table (GH-136784)

Fixed-sized types, like ``c_int32``, are currently missing from the fundamental data types table
in the ``ctypes`` documentation. This commit adds them, and  notes that ``c_[u]int8`` is an alias
of ``c_[u]byte``.
(cherry picked from commit acefb978dcb5dd554e3c49a3015ee5c2ad6bfda1)

Co-authored-by: Sina Zel taat <111974143+SZeltaat@users.noreply.github.com>
2025-07-19 10:26:22 +00:00
Miss Islington (bot)
a91e2bc440
[3.14] Fix typo in Lib/test/test_ast/test_ast.py (GH-136767) (#136783)
Fix typo in `Lib/test/test_ast/test_ast.py` (GH-136767)

`ASTOptimiziationTests` -> `ASTOptimizationTests`
(cherry picked from commit 60146f4f6f24f37e3bfcb9f101565f6e86cf0146)

Co-authored-by: Hunter Hogan <hunterhogan@users.noreply.github.com>
2025-07-19 10:23:52 +00:00
Miss Islington (bot)
ba6ea7c53d
[3.14] gh-74598: document that fnmatch.filterfalse is affected by cache limitation (GH-136781) (#136782)
gh-74598: document that `fnmatch.filterfalse` is affected by cache limitation (GH-136781)
(cherry picked from commit 263e451c4114ac98add1f1e8aa9ee030e054bdfd)

Co-authored-by: Gergely Elias <gergely.elias@gmail.com>
2025-07-19 09:56:55 +00:00
Miss Islington (bot)
aeeacdb8b5
[3.14] Docs: Improve example for `itertools.batched()` (GH-136775) (#136778)
Docs: Improve example for ``itertools.batched()`` (GH-136775)

The current example `batched('ABCDEFG', n=3) → ABC DEF G` can confuse readers because both, the size of the tuples and the number of tuples are 3.
By using a batch size of n=2, it is clearer that the `n` argument refers to the size of the resulting tuples.
I.e. the new example is: `batched('ABCDEFG', n=2) → AB CD EF G`
(cherry picked from commit 3eecc72ac70943f7e33297eea17803af15322c88)

Co-authored-by: RafaelWO <38643099+RafaelWO@users.noreply.github.com>
2025-07-19 09:36:35 +00:00
Miss Islington (bot)
81aab6d51c
[3.14] parser_generator.py typo - keywods -> keywords (GH-135014) (#136772)
Co-authored-by: chemelnucfin <3982092+chemelnucfin@users.noreply.github.com>
2025-07-19 09:18:55 +00:00
Miss Islington (bot)
201c765d76
[3.14] Fix typo: "occured" =>"occurred" (GH-134928) (#136771)
Co-authored-by: Roman <121314722+GameRoMan@users.noreply.github.com>
Co-authored-by: Stan Ulbrych <89152624+StanFromIreland@users.noreply.github.com>
2025-07-19 09:13:51 +00:00
Miss Islington (bot)
2ea3b75200
[3.14] gh-136697: Use the standard audit event format for sys.monitoring docs (GH-136747) (#136749)
gh-136697: Use the standard audit event format for sys.monitoring docs (GH-136747)
(cherry picked from commit 28937d3a21cf8168c853ae43374a8287c21f71c9)

Co-authored-by: Tian Gao <gaogaotiantian@hotmail.com>
2025-07-17 12:00:09 -07:00
Miss Islington (bot)
76d4a43bd8
[3.14] gh-127146: Emscripten: Set umask to zero in python.sh (GH-136740) (#136745)
Clears the umask used during a test of pydoc.apropos when testing on
Emscripten. This is to work around a known issue in Emscripten; but it's not
clear if the chmod call that is causing the problem is actually testing
anything of significance.
(cherry picked from commit 22af5d35a620ee44393853036a8450ceb047688e)

Co-authored-by: Hood Chatham <roberthoodchatham@gmail.com>
2025-07-17 16:05:40 +00:00
Miss Islington (bot)
2ce207108c
[3.14] Improved venv docs to indicate that isolation is the default. (GH-136698) (GH-136705)
(cherry picked from commit 8e2f4b448380b4c835442534d566618f06e32573)
Co-authored-by: Facundo Batista <facundo@taniquetil.com.ar>
Co-authored-by: Vinay Sajip <vinay_sajip@yahoo.co.uk>
2025-07-17 11:24:54 +01:00
Miss Islington (bot)
9bf3464852
[3.14] gh-135148: Correctly handle f/t strings with comments and debug expressions (GH-135198) (#136720) 2025-07-17 00:10:46 +02:00
Zachary Ware
5f1d46f7d0
[3.14] gh-136710: Fix bad indentation in os.chdir docstring (GH-136719)
(cherry picked from commit bde808ad6ba5eee8a6201983cf071449d7ce7e39)

Co-authored-by: Harmen Stoppels <harmenstoppels@gmail.com>
2025-07-16 17:15:50 +00:00
Miss Islington (bot)
6943d8ef27
[3.14] gh-126548: Add a thread-unsafety warning for importlib.reload() (GH-136704) (GH-136723)
gh-126548: Add a thread-unsafety warning for `importlib.reload()` (GH-136704)
(cherry picked from commit 69d8fe50ddc4dbe757c9929a532e2e882f0261ba)

Co-authored-by: Bartosz Sławecki <bartosz@ilikepython.com>
2025-07-16 16:40:11 +00:00
Miss Islington (bot)
9b7c4183cd
[3.14] gh-127146: Emscripten: Don't need to avoid unpaired surrogate anymore (GH-136707) (#136717)
This might have been fixed by gh-136624, or by some Emscripten change.
In any case, it no longer seems to be needed.
(cherry picked from commit dcd27aace180737adaddc79c00c181816fc6e162)

Co-authored-by: Hood Chatham <roberthoodchatham@gmail.com>
2025-07-16 16:24:15 +00:00
Miss Islington (bot)
4eee754091
[3.14] gh-127146: Emscripten: Make os.umask() actually work (GH-136706) (#136711)
Provide a stub implementation of umask that is enough to get some tests passing.
More work is needed upstream in Emscripten to make all umask tests to pass.
(cherry picked from commit 12e52cad718723636a96042f9399634392285c44)

Co-authored-by: Hood Chatham <roberthoodchatham@gmail.com>
2025-07-16 16:12:36 +00:00
Miss Islington (bot)
ca6db4fdae
[3.14] gh-127146: Emscripten: more regular stack overflow skips (GH-136708) (#136712)
Makes the Emscripten stack overflow skip message consistent with WASI,
and replaces some ad-hoc skips.
(cherry picked from commit c730952aa64b790c75c437cb63a1242dc08c2e97)

Co-authored-by: Hood Chatham <roberthoodchatham@gmail.com>
2025-07-16 17:54:04 +02:00
Miss Islington (bot)
9ab29cac19
[3.14] Add .gram file to the .editorconfig (GH-136680) (#136714)
Add `.gram` file to the `.editorconfig` (GH-136680)
(cherry picked from commit 2f0db9b05f0598548c0c136571c31065ecf961e5)

Co-authored-by: sobolevn <mail@sobolevn.me>
2025-07-16 15:01:44 +00:00
Miss Islington (bot)
677b0e314c
[3.14] gh-136523: Fix wave.Wave_write emitting an unraisable when open raises (GH-136529) (GH-136606)
(cherry picked from commit 171de05b4884d1353044417ea51a4efcb55ba633)

Co-authored-by: Sachin Shah <39803835+inventshah@users.noreply.github.com>
2025-07-16 07:26:52 +00:00
Miss Islington (bot)
cdf98c3b7e
[3.14] gh-127146: Report uid in Emscripten + node as native uid (GH-136509) (#136699)
Corrects the handling of getuid on emscripten, which was consistently reporting as 0.
(cherry picked from commit e81c4e84b3a8688a367099e3adf9b2fcf914447f)

Co-authored-by: Hood Chatham <roberthoodchatham@gmail.com>
2025-07-16 06:50:51 +02:00
Miss Islington (bot)
d888f46fba
[3.14] Fix the doctest.testmod() docstring (GH-136675) (GH-136690)
__test__ = None is not supported since Python 2.4.
(cherry picked from commit cb59eaefeda5ff44ac0c742bff2b8afc023be313)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2025-07-15 17:07:01 +00:00
Miss Islington (bot)
323974295d
[3.14] Fix index entry and anchor for module.__test__ (GH-136674) (GH-136688)
It was "doctest.module attribute". Now it is "module attribute".
(cherry picked from commit 7689407fa4406ab79d7e9e02363f50be4ec35b5e)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2025-07-15 15:58:52 +00:00
Miss Islington (bot)
9ae74e94a0
[3.14] gh-136396: Include instrumentation when creating new copies of the bytecode (GH-136525) (GH-136657)
Previously, we assumed that instrumentation would happen for all copies of
the bytecode if the instrumentation version on the code object didn't match
the per-interpreter instrumentation version. That assumption was incorrect:
instrumentation will exit early if there are no new "events," even if there
is an instrumentation version mismatch.

To fix this, include the instrumented opcodes when creating new copies of
the bytecode, rather than replacing them with their uninstrumented variants.
I don't think we have to worry about races between instrumentation and creating
new copies of the bytecode: instrumentation and new bytecode creation cannot happen
concurrently. Instrumentation requires that either the world is stopped or the
code object's per-object lock is held and new bytecode creation requires holding
the code object's per-object lock.
(cherry picked from commit d995922198304a6de19ac1bec3e36d1e886d8468)

Co-authored-by: mpage <mpage@meta.com>
Co-authored-by: Kumar Aditya <kumaraditya@python.org>
2025-07-15 11:10:37 -04:00
Miss Islington (bot)
c939963b53
[3.14] gh-136682: Remove incorrect statement that os.path.samestat accepts file-like objects (GH-136683) (#136684)
gh-136682: Remove incorrect statement that `os.path.samestat` accepts file-like objects (GH-136683)
(cherry picked from commit 7e10a103dfe52feb0ef3d541e08abc2640838101)

Co-authored-by: Ran Benita <ran@unusedvar.com>
2025-07-15 12:59:38 +00:00
Miss Islington (bot)
45b72c447c
[3.14] gh-72570: mention the incompatibility of XOFs with HMAC (GH-136676) (#136678)
gh-72570: mention the incompatibility of XOFs with HMAC (GH-136676)
(cherry picked from commit a02cf19deed353d1e0e7564468f10aced61c12e8)

Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
2025-07-15 12:09:54 +00:00
Miss Islington (bot)
2ae0eb1a87
[3.14] GH-132661: Add `string.templatelib.convert()` (GH-135217) (#136671)
GH-132661: Add ``string.templatelib.convert()`` (GH-135217)
(cherry picked from commit 5b969fd64502a6e2ba6513e2b18beaeae58b8aa1)

Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
2025-07-15 10:22:24 +00:00
Miss Islington (bot)
115477399b
[3.14] gh-131189: Fix "msvcrt" import warning on Linux when "_ctypes" is not available. (GH-131201) (GH-136668)
Fix "msvcrt" import warning on Linux when "_ctypes" is not available.

On Linux, compiling without "libffi" causes a
"No module named 'msvcrt'" warning when launching PyREPL.
(cherry picked from commit f320c951c3220aa6727b581216463e8b3f8bcd6b)

Co-authored-by: Dzmitry Plashchynski <plashchynski@gmail.com>
2025-07-15 10:12:45 +02:00
Miss Islington (bot)
088d79e3ee
[3.14] gh-136663: fix signatures of PyFloat_Pack/Unpack in docs (GH-136664) (#136666)
gh-136663: fix signatures of PyFloat_Pack/Unpack in docs (GH-136664)
(cherry picked from commit e4654e0b3e7d802c8fe984cf39a36a42b67de1ad)

Co-authored-by: Sergey B Kirpichev <skirpichev@gmail.com>
2025-07-15 05:36:47 +00:00
Miss Islington (bot)
55eaaab8a4
[3.14] gh-116738: Make grp module thread-safe (GH-135434) (#136658)
gh-116738: Make grp module thread-safe (GH-135434)

Make grp module methods getgrgid() and getgrnam() thread-safe when the GIL is disabled and getgrgid_r()/getgrnam_r() C APIs are not available.
---------
(cherry picked from commit 9363703bd3bf86e363c14a02e3d729caf1e29f44)

Co-authored-by: Alper <alperyoney@fb.com>
Co-authored-by: Kumar Aditya <kumaraditya@python.org>
2025-07-15 11:03:33 +05:30
Miss Islington (bot)
bbbbb2e2d1
[3.14] Partially revert "gh-101100: Fix sphinx warnings in library/email.parser.rst (GH-136475)" (GH-136629) (#136646)
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
2025-07-14 13:19:23 +03:00
Miss Islington (bot)
261818061e
[3.14] gh-127146: Emscripten: Fix test_open_undecodable_uri by setting -sTEXTDECODER=2 (GH-136624) (#136631)
Removes the JS text decoder fallback and gets rid of the bugs due to the differences
in behavior on invalid utf8 strings. See https://github.com/emscripten-core/emscripten/issues/24690.
(cherry picked from commit 283b05052338dd735cd4927011afc3735d9c6c7c)

Co-authored-by: Hood Chatham <roberthoodchatham@gmail.com>
2025-07-14 04:49:36 +02:00
Miss Islington (bot)
ba070b6b07
[3.14] gh-135256: Simplify parsing parameters in Argument Clinic (GH-135257) (121914136635)
(cherry picked from commit b74fb8e220a50a9580320dfd398a16995b845c69)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2025-07-13 20:52:02 +00:00
Miss Islington (bot)
348e22cf06
[3.14] gh-127971: fix off-by-one read beyond the end of a string during search (GH-132574) (#136628)
gh-127971: fix off-by-one read beyond the end of a string during search (GH-132574)
(cherry picked from commit 85ec3b3b503ffd5b7e45f8b3fa2cec0c10e4bef0)

Co-authored-by: Duane Griffin <duaneg@dghda.com>
2025-07-13 13:58:03 +00:00
Miss Islington (bot)
ed1e0cdc58
[3.14] gh-42237: Link to complete list of codec aliases (GH-136625) (#136626)
gh-42237: Link to complete list of codec aliases (GH-136625)

Closes GH-42237
(cherry picked from commit a93d9aaf62bb2565e9eec00a2a8d06a91305127b)

Co-authored-by: Stan Ulbrych <89152624+StanFromIreland@users.noreply.github.com>
2025-07-13 13:19:23 +00:00
Miss Islington (bot)
9ee72ab266
[3.14] gh-132346: Docs: Clarify that reference counts aren't stable between versions (GH-132352) (GH-136613)
gh-132346: Docs: Clarify that reference counts aren't stable between versions (GH-132352)
(cherry picked from commit 3dbe02ccd3eefc48ac9fa14427bb4cdb82d1ebae)

Co-authored-by: Peter Bierma <zintensitydev@gmail.com>
2025-07-13 09:17:48 +00:00
Miss Islington (bot)
e1dc08bd9a
[3.14] gh-134833: improve docs for del s[i:j] in Mutable Sequence Types (GH-134834) (#136608)
gh-134833: improve docs for `del s[i:j]` in `Mutable Sequence Types` (GH-134834)
(cherry picked from commit 609d5adc7cc241da8fe314a64ddd2c8a883ee8b7)

Co-authored-by: Yongzi Li <204532581+Yzi-Li@users.noreply.github.com>
2025-07-13 12:28:45 +05:30
Miss Islington (bot)
a1ed132a19
[3.14] Docs: Fix and improve the PyUnstable_Object_EnableDeferredRefcount documentation (GH-135323) (GH-136610)
Docs: Fix and improve the `PyUnstable_Object_EnableDeferredRefcount` documentation (GH-135323)
(cherry picked from commit 0d4fd10fbab2767fad3eb27639905c8885b88c89)

Co-authored-by: Peter Bierma <zintensitydev@gmail.com>
2025-07-13 06:52:58 +00:00
Miss Islington (bot)
f50cd5bec7
[3.14] gh-134939: Correct concurrent.interpreters source code link (GH-136564) (#136605)
gh-134939: Correct `concurrent.interpreters` source code link (GH-136564)
(cherry picked from commit 42b251bcebd749eceeb62389e413a3be37cff343)

Co-authored-by: Stan Ulbrych <89152624+StanFromIreland@users.noreply.github.com>
2025-07-13 05:42:51 +00:00
Miss Islington (bot)
d351f29ef0
[3.14] gh-101100: Fix sphinx warnings in Doc/library/platform.rst (GH-136562) (GH-136597)
(cherry picked from commit 47b01da4ccedd9c00fad4325b3e87d7732abeb6d)

Co-authored-by: Weilin Du <108666168+LamentXU123@users.noreply.github.com>
2025-07-12 18:22:51 +00:00
Miss Islington (bot)
64df22c190
[3.14] gh-136549: Fix signature of threading.excepthook() (GH-136559) (GH-136589)
(cherry picked from commit be2c3d284ecce67474a260b8c37e2f1e0628a9cf)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2025-07-12 16:18:23 +00:00
Miss Islington (bot)
d5866a8e84
[3.14] gh-91153: prevent a crash in bytearray.__setitem__(ind, ...) when ind.__index__ has side-effects (GH-132379) (#136581)
gh-91153: prevent a crash in `bytearray.__setitem__(ind, ...)` when `ind.__index__` has side-effects (GH-132379)
(cherry picked from commit 5e1e21dee35b8e9066692d08033bbbdb562e2c28)

Co-authored-by: Bast <52266665+bast0006@users.noreply.github.com>
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
2025-07-12 14:38:57 +00:00
Miss Islington (bot)
c71ecd1418
[3.14] gh-134759: fix UnboundLocalError in email.message.Message.get_payload (GH-136071) (#136579)
gh-134759: fix `UnboundLocalError` in `email.message.Message.get_payload` (GH-136071)
(cherry picked from commit 25335d297b5248922a4c82183bcdf0c0ada8352b)

Co-authored-by: Kliment Lamonov <klimentlamonov@yandex.ru>
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
2025-07-12 13:56:10 +00:00
Miss Islington (bot)
33f561d7be
[3.14] gh-89083: Add CLI tests for UUIDv{6,7,8} (GH-136548) (#136576)
gh-89083: Add CLI tests for `UUIDv{6,7,8}` (GH-136548)
(cherry picked from commit c564847e98db462edfc30a971da061eeb775e475)

Co-authored-by: Weilin Du <108666168+LamentXU123@users.noreply.github.com>
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
2025-07-12 12:33:53 +00:00
Miss Islington (bot)
ac807cb3a0
[3.14] gh-101100: Fix sphinx warnings in Doc/library/functools.rst (GH-136424) (GH-136552)
Add index entries and anchors for cache_info, cache_clear and register.
(cherry picked from commit 252e2f710ea376a38c4545dd758e03d331c1eaad)

Co-authored-by: Weilin Du <108666168+LamentXU123@users.noreply.github.com>
2025-07-11 17:09:22 +00:00
Miss Islington (bot)
e4e86a1b87
[3.14] gh-130160: use .. program:: directive for documenting venv CLI (GH-130699) (#136550)
gh-130160: use `.. program::` directive for documenting `venv` CLI (GH-130699)
(cherry picked from commit fb9f933b8eda6cdc1336582dc8709b759ced91af)

Co-authored-by: Kanishk Pachauri <itskanishkp.py@gmail.com>
Co-authored-by: Semyon Moroz <donbarbos@proton.me>
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
2025-07-11 17:03:11 +00:00
Miss Islington (bot)
3b28b402a5
[3.14] gh-130478: fix HACL* build for macOS Silicon (GH-134188) (#135009)
gh-130478: fix HACL* build for macOS Silicon (GH-134188)
(cherry picked from commit ac7511062bf8e16ad489b17990d99abd3b4351f5)

Co-authored-by: Sam Ng <hongsheng@gmail.com>
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
2025-07-11 16:25:58 +00:00
Miss Islington (bot)
e03db7317f
[3.14] gh-136517: Print uncollectable objects if DEBUG_UNCOLLECTABLE mode was set (GH-136518) (#136522)
gh-136517: Print uncollectable objects if DEBUG_UNCOLLECTABLE mode was set (GH-136518)
(cherry picked from commit c560df9658f1a24edea995fe6f9c84c55b37cfb3)

Co-authored-by: Sergey Miryanov <sergey.miryanov@gmail.com>
2025-07-11 15:20:05 +01:00