109685 Commits

Author SHA1 Message Date
Łukasz Langa
0bbaf5de97
Python 3.9.25 3.9 v3.9.25 2025-10-31 19:40:52 +01:00
Serhiy Storchaka
941811fc9d
[3.9] gh-137836: Support more RAWTEXT and PLAINTEXT elements in HTMLParser (GH-137837) (GH-140842) (GH-140857)
(cherry picked from commit a17c57eee5b5cc81390750d07e4800b19c0c3084)
(cherry picked from commit 0329bd11c7e98484727bbb9062d53a8fa53ac7fd)

Co-authored-by: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
2025-10-31 18:02:38 +01:00
Miss Islington (bot)
fde6ac1290
[3.9] gh-90953: Don't use deprecated AST nodes in clinic.py (GH-104322) (GH-140854)
(cherry picked from commit fe694a6db620062f467469bd2bb987315d72fd62)

Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2025-10-31 17:56:55 +01:00
Łukasz Langa
2e6150adcc
[3.9] gh-136065: Fix quadratic complexity in os.path.expandvars() (GH-134952) (GH-140839)
(cherry picked from commit f029e8db626ddc6e3a3beea4eff511a71aaceb5c)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Co-authored-by: Łukasz Langa <lukasz@langa.pl>
2025-10-31 17:05:53 +01:00
Łukasz Langa
798eaca665
[3.9] gh-98793: Fix typecheck in overlapped.c (GH-98835) (GH-98890) (GH-140825)
(cherry picked from commit d3d1738acd4f62869d7f1e119c257e2ee46fd16f)

Co-authored-by: Charlie Zhao <zhaoyu_hit@qq.com>
Co-authored-by: Kumar Aditya <59607654+kumaraditya303@users.noreply.github.com>
Co-authored-by: Petr Viktorin <encukou@gmail.com>
2025-10-31 16:37:20 +01:00
Miss Islington (bot)
42762bb098
[3.9] gh-120384: gh-120298: Fix array-out-of-bounds & use after free list (GH-121345) (GH-140834)
(cherry picked from commit 8334a1b55c93068f5d243852029baa83377ff6c9)
(cherry picked from commit 0cd888b8d3a47428097571dddf5a0b5de37084e0)

Co-authored-by: Gregory P. Smith <68491+gpshead@users.noreply.github.com>
Co-authored-by: Nikita Sobolev <mail@sobolevn.me>
Co-authored-by: Łukasz Langa <lukasz@langa.pl>
2025-10-31 15:44:41 +01:00
Miss Islington (bot)
90719e3c43
[3.9] gh-136063: fix quadratic-complexity parsing in email.message._parseparam (GH-136072) (GH-140832)
(cherry picked from commit 680a5d070f59798bb88a1bb6eb027482b8d85c34)

Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
2025-10-31 15:16:40 +01:00
Adam Turner
d3118ebd98
[3.9] gh-139436: Remove `dist-pdf` from the docs archives rebuild target (GH-139437) (GH-140413)
(cherry picked from commit 0e2cdd313ba5c67c5e2e21d993399b890e687c63)

Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
2025-10-31 11:24:16 +01:00
Stan Ulbrych
111bbc15b2
[3.9] gh-136755: Ignore additional errors in ntpath.realpath (GH-27574) (GH-140008)
(cherry picked from commit 124ecd657646f808d1d3282c37ee19aae6bcb47f)

Co-authored-by: Michael Förderer <michael.foerderer@gmx.de>
2025-10-20 14:57:24 +02:00
Łukasz Langa
9c4638d1b2
Post 3.9.24 2025-10-09 14:42:00 +02:00
Łukasz Langa
91bdb00dfe
Python 3.9.24 v3.9.24 2025-10-09 13:54:19 +02:00
Miss Islington (bot)
f9728747f8
[3.9] gh-139310: skip test_aead_aes_gcm for Linux kernel between 6.16.0 and 6.17.x (GH-139552) (GH-139763)
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] 1b34cbbf4f
[2] d0ca0df179.
[3] 45bcf60fe4
(cherry picked from commit 41712c4e095b2cc988febfe3887616c2779c6210)

Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
2025-10-09 11:13:16 +02:00
Miss Islington (bot)
76437ac248
[3.9] gh-139700: Check consistency of the zip64 end of central directory record (GH-139702) (GH-139708) (#139715)
Support records with "zip64 extensible data" if there are no bytes
prepended to the ZIP file.

(cherry picked from commit 333d4a6f4967d3ace91492a39ededbcf3faa76a6)
(cherry picked from commit 162997bb70e067668c039700141770687bc8f267)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2025-10-07 21:16:10 +02:00
Miss Islington (bot)
e26ba93181
[3.9] gh-139312: Update bundled libexpat to 2.7.3 (GH-139319) (GH-139697)
(cherry picked from commit 7252d2b73b3dea0c17a644527b767aa6da1305bd)

Co-authored-by: Stan Ulbrych <89152624+StanFromIreland@users.noreply.github.com>
2025-10-07 21:15:33 +02:00
Miss Islington (bot)
ed904d5bbf
[3.9] gh-135661: Fix CDATA section parsing in HTMLParser (GH-135665) (GH-137774) (GH-139661)
"] ]>" and "]] >" no longer end the CDATA section.

Make CDATA section parsing  context depending.
Add private method HTMLParser._set_support_cdata() to change the context.
If called with True, "<[CDATA[" starts a CDATA section which ends with "]]>".
If called with False, "<[CDATA[" starts a bogus comments which ends with ">".
(cherry picked from commit 0cbbfc462119b9107b373c24d2bda5a1271bed36)
(cherry picked from commit dcf24768c918c41821cda6fe6a1aa20ce26545dd)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Co-authored-by: Łukasz Langa <lukasz@langa.pl>
2025-10-07 21:15:04 +02:00
Stan Ulbrych
f3d8338cd5
[3.9] gh-138998: Upgrade vendored expat to 2.7.2 (GH-138999) (GH-139055)
(cherry picked from commit 64c876dd6812ade19cb7a0c619111d30f0b2b860)
2025-10-07 14:53:33 +02:00
Stan Ulbrych
a2cdbb6e81
[3.9] gh-121227: Disallow setting an empty list for NPN (GH-137161) 2025-10-07 14:09:33 +02:00
Miss Islington (bot)
312de66fb5
[3.9] gh-135374: Adjust test for setuptools' replacement of distutils (GH-138796) (GH-139304)
ensurepip installs a bundled copy of distutils, which overrides
the stdlib module. This affects several tests. This commit:

- skips distutils in test___all__, as we're unlikely to break
  `__all__` in a security-fix-only branch (and if we do it's not
  much of a a big deal)
- skips importability tests of distutils submodules if the
  setuptools hack is detected
(cherry picked from commit 987af36a717793e97aad57f7da36a0677edfbdbd)

Co-authored-by: Petr Viktorin <encukou@gmail.com>
Co-authored-by: Łukasz Langa <lukasz@langa.pl>
Co-authored-by: Emma Smith <emma@emmatyping.dev>
2025-10-07 14:03:43 +02:00
Sebastian Pipping
598165e373
[3.9] gh-139400: Make sure that parent parsers outlive their subparsers in pyexpat (GH-139403) (GH-139614)
Within libexpat, a parser created via `XML_ExternalEntityParserCreate`
is relying on its parent parser throughout its entire lifetime.
Prior to this fix, is was possible for the parent parser to be
garbage-collected too early.

(cherry picked from commit 6edb2ddb5f3695cf4938979d645f31d7fba43ec8)
2025-10-07 13:52:10 +02:00
Serhiy Storchaka
4dea0fb67b
[3.9] gh-118350: Fix support of elements "textarea" and "title" in HTMLParser (GH-135310) (GH-137784)
(cherry picked from commit 4d02f31cdd45d81b95540d9076222b709d4f2335)

Co-authored-by: Timon Viola <44016238+timonviola@users.noreply.github.com>
Co-authored-by: Łukasz Langa <lukasz@langa.pl>
2025-09-13 22:35:13 +02:00
Hugo van Kemenade
220e67748a
[3.9] gh-138744: GitHub Actions: pin to windows-2022 (GH-138743) (GH-138758)
(cherry picked from commit 6e78a539bfb406238ec251ba01b7a1819e5c303e)
2025-09-13 22:35:01 +02:00
Victor Stinner
73f03e4808
[3.9] gh-130577: tarfile now validates archives to ensure member offsets are non-negative (GH-137027) (GH-137645)
gh-130577: tarfile now validates archives to ensure member offsets are non-negative (GH-137027)

(cherry picked from commit 7040aa54f14676938970e10c5f74ea93cd56aa38)

Co-authored-by: Alexander Urieles <aeurielesn@users.noreply.github.com>
Co-authored-by: Gregory P. Smith <greg@krypto.org>
2025-09-13 22:34:15 +02:00
Miss Islington (bot)
06fc882eac
[3.9] gh-135661: Fix parsing attributes with whitespaces around the "=" separator in HTMLParser (GH-136908) (GH-136922)
This fixes a regression introduced in GH-135930.
(cherry picked from commit dee650189497735edbc08a54edabb5b06ef1bd09)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2025-07-22 11:58:28 +02:00
Miss Islington (bot)
6c97200861
[3.9] gh-135661: Fix parsing start and end tags in HTMLParser according to the HTML5 standard (GH-135930) (GH-136268) (#136293)
* Whitespaces no longer accepted between `</` and the tag name.
  E.g. `</ script>` does not end the script section.

* Vertical tabulation (`\v`) and non-ASCII whitespaces no longer recognized
  as whitespaces. The only whitespaces are `\t\n\r\f `.

* Null character (U+0000) no longer ends the tag name.

* Attributes and slashes after the tag name in end tags are now ignored,
  instead of terminating after the first `>` in quoted attribute value.
  E.g. `</script/foo=">"/>`.

* Multiple slashes and whitespaces between the last attribute and closing `>`
  are now ignored in both start and end tags. E.g. `<a foo=bar/ //>`.

* Multiple `=` between attribute name and value are no longer collapsed.
  E.g. `<a foo==bar>` produces attribute "foo" with value "=bar".

* Whitespaces between the `=` separator and attribute name or value are no
  longer ignored. E.g. `<a foo =bar>` produces two attributes "foo" and
  "=bar", both with value None; `<a foo= bar>` produces two attributes:
  "foo" with value "" and "bar" with value None.

* Fix data loss after unclosed script or style tag (gh-86155).

Also backport test.support.subTests() (gh-135120).

---------
(cherry picked from commit 0243f97cbadec8d985e63b1daec5d1cbc850cae3)
(cherry picked from commit c555f889c3558a0a8cd8d8ecc2b493014b88a700)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Co-authored-by: Ezio Melotti <ezio.melotti@gmail.com>
Co-authored-by: Waylan Limberg <waylan.limberg@icloud.com>
2025-07-12 14:27:08 +02:00
Miss Islington (bot)
a63f2294b7
[3.9] gh-102555: Fix comment parsing in HTMLParser according to the HTML5 standard (GH-135664) (GH-136276)
* "--!>" now ends the comment.
* "-- >" no longer ends the comment.
* Support abnormally ended empty comments "<-->" and "<--->".

---------
(cherry picked from commit 8ac7613dc8b8f82253d7c0e2b6ef6ed703a0a1ee)


Co-author: Kerim Kabirov <the.privat33r+gh@pm.me>

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Co-authored-by: Ezio Melotti <ezio.melotti@gmail.com>
2025-07-12 14:24:14 +02:00
Serhiy Storchaka
8d1b3dfa09
[3.9] gh-135462: Fix quadratic complexity in processing special input in HTMLParser (GH-135464) (GH-135486)
End-of-file errors are now handled according to the HTML5 specs --
comments and declarations are automatically closed, tags are ignored.
(cherry picked from commit 6eb6c5dbfb528bd07d77b60fd71fd05d81d45c41)
2025-07-03 23:06:00 +02:00
Łukasz Langa
4f28afe545
[3.9] gh-135374: Update the bundled copy of setuptools to 79.0.1 (#135397) 2025-06-11 18:10:39 +02:00
Łukasz Langa
f690a6f1c2
Post 3.9.23 2025-06-03 21:14:38 +02:00
Łukasz Langa
865270262a
Python 3.9.23 v3.9.23 2025-06-03 20:47:52 +02:00
Łukasz Langa
920a1c30dd
Reword 3.9.23 notable changes to reflect status of backports 2025-06-03 20:33:38 +02:00
T. Wouters
dd8f187d07
[3.9] gh-135034: Normalize link targets in tarfile, add os.path.realpath(strict='allow_missing') (GH-135037) (GH-135084)
Addresses CVEs 2024-12718, 2025-4138, 2025-4330, and 2025-4517.
(cherry picked from commit 3612d8f51741b11f36f8fb0494d79086bac9390a)

Co-authored-by: Łukasz Langa <lukasz@langa.pl>
Co-authored-by: Petr Viktorin <encukou@gmail.com>
Co-authored-by: Seth Michael Larson <seth@python.org>
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2025-06-03 19:02:50 +02:00
Miss Islington (bot)
24eaf53bc6
[3.9] gh-128840: Fix parsing long IPv6 addresses with embedded IPv4 address (GH-134836) (GH-135090)
(cherry picked from commit d83576bf48d07d5e29d5d171c4e25afb048622aa)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2025-06-03 16:27:03 +02:00
Miss Islington (bot)
8e318728c6
[3.9] gh-123409: fix IPv6Address.reverse_pointer for IPv4-mapped addresses (GH-123419) (GH-135085)
Fix functionality that was broken with better textual representation for IPv4-mapped addresses (gh-87799)
(cherry picked from commit 77a2fb4bf1a1b160d6ce105508288fc77f636943)

Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
2025-06-03 16:08:20 +02:00
Miss Islington (bot)
78394a612b
[3.9] gh-128840: Limit the number of parts in IPv6 address parsing (GH-128841) (GH-134615)
Limit length of IP address string to 39

(cherry picked from commit 47f1161d3a2bec52b5b5e952150141709c247da2)

Co-authored-by: Seth Michael Larson <seth@python.org>
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Co-authored-by: Gregory P. Smith <greg@krypto.org>
2025-06-03 15:55:59 +02:00
Miss Islington (bot)
65f2e24040
[3.9] gh-87799: Improve the textual representation of IPv4-mapped IPv6 addresses (GH-29345) (GH-135078)
Represent IPv4-mapped IPv6 address as xxxd.d.d.d,
where the 'x's are the hexadecimal values
of the six high-order 16-bit pieces of the address,
and the 'd's are the decimal values
of the four low-order 8-bit pieces of the address
(standard IPv4 representation).

(cherry picked from commit f22bf8e3cf899896cf587099d29290cb43aa9724)

Co-authored-by: opavliuk <40970635+opavlyuk@users.noreply.github.com>
Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
Co-authored-by: Andrew Svetlov <andrew.svetlov@gmail.com>
2025-06-03 15:45:59 +02:00
Łukasz Langa
00af9794dd
[3.9] bpo-43757: Make pathlib use os.path.realpath() to resolve symlinks in a path (GH-25264) (GH-135035)
Also adds a new "strict" argument to realpath() to avoid changing the default behaviour of pathlib while sharing the implementation.

(cherry-picked from commit baecfbd849dbf42360d3a84af6cc13160838f24d)

Co-authored-by: Barney Gale <barney.gale@gmail.com>
2025-06-02 18:28:09 +02:00
Miss Islington (bot)
03ac445b11
[3.9] gh-134062: Fix hash collisions in IPv4Network and IPv6Network (GH-134063) (GH-134481)
(cherry picked from commit f3fc0c16e08b317cb201cf1073e934e6909f1251)

Co-authored-by: Mike Salvatore <mike.s.salvatore@gmail.com>
2025-06-02 18:00:18 +02:00
Serhiy Storchaka
8d35fd1b34
[3.9] gh-133767: Fix use-after-free in the unicode-escape decoder with an error handler (GH-129648) (GH-133944) (#134346)
* [3.9] gh-133767: Fix use-after-free in the unicode-escape decoder with an error handler (GH-129648) (GH-133944)

If the error handler is used, a new bytes object is created to set as
the object attribute of UnicodeDecodeError, and that bytes object then
replaces the original data. A pointer to the decoded data will became invalid
after destroying that temporary bytes object. So we need other way to return
the first invalid escape from _PyUnicode_DecodeUnicodeEscapeInternal().

_PyBytes_DecodeEscape() does not have such issue, because it does not
use the error handlers registry, but it should be changed for compatibility
with _PyUnicode_DecodeUnicodeEscapeInternal().
(cherry picked from commit 9f69a58623bd01349a18ba0c7a9cb1dad6a51e8e)
(cherry picked from commit 6279eb8c076d89d3739a6edb393e43c7929b429d)
(cherry picked from commit a75953b347716fff694aa59a7c7c2489fa50d1f5)
(cherry picked from commit 0c33e5baedf18ebcb04bc41dff7cfc614d5ea5fe)
(cherry picked from commit 8b528cacbbde60504f6ac62784d04889d285f18b)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2025-06-02 17:58:01 +02:00
Brian Schubert
d4df3c55e4
[3.9] gh-80222: Fix email address header folding with long quoted-string (GH-122753) (GH-129111) (GH-132371)
Email generators using email.policy.default could incorrectly omit the
quote ('"') characters from a quoted-string during header refolding,
leading to invalid address headers and enabling header spoofing. This
change restores the quote characters on a bare-quoted-string as the
header is refolded, and escapes backslash and quote chars in the string.

(cherry picked from commit 5aaf4168583)
(cherry picked from commit a4ef689ce670684ec132204b1cd03720c8e0a03d)

Co-authored-by: R. David Murray <rdmurray@bitdance.com>
Co-authored-by: Mike Edmunds <medmunds@gmail.com>
Co-authored-by: Łukasz Langa <lukasz@langa.pl>
2025-06-02 17:57:06 +02:00
Łukasz Langa
558e27abf1
Post 3.9.22 2025-04-08 19:30:37 +02:00
Łukasz Langa
05c5549224
Python 3.9.22 v3.9.22 2025-04-08 17:21:55 +02:00
Seth Michael Larson
12deea5acf
[3.9] gh-131809: Upgrade vendored expat to 2.7.1 (GH-132192) (#132242)
(cherry picked from commit c0de6500249469e6fc5b458d6afb6bad1b6755cd)

Co-authored-by: Gregory P. Smith <greg@krypto.org>
2025-04-08 11:36:44 +02:00
Seth Michael Larson
8ad2d88ebd
[3.9] gh-131261: Update libexpat to 2.7.0 (CVE-2024-8176) (GH-131272) (GH-131364)
(cherry picked from commit bb0268f60dfe903a9bdb8d84104247a9318c6b18)
(cherry picked from commit 6af54d298d5135302037cdda7a1f5535e48cb1b6)

Co-authored-by: Petr Viktorin <encukou@gmail.com>
Co-authored-by: Gregory P. Smith <greg@krypto.org>
2025-04-03 18:40:35 +02:00
Petr Viktorin
9a31386eec
[3.9] gh-121284: Fix email address header folding with parsed encoded-word (GH-122754) (GH-131412)
Email generators using email.policy.default may convert an RFC 2047
encoded-word to unencoded form during header refolding. In a structured
header, this could allow 'specials' chars outside a quoted-string,
leading to invalid address headers and enabling spoofing. This change
ensures a parsed encoded-word that contains specials is kept as an
encoded-word while the header is refolded.

[Better fix from @bitdancer.]

(cherry picked from commit 295b53df2aa18deb625a7da41f7e4babfe6ef34b)

Co-authored-by: Mike Edmunds <medmunds@gmail.com>
Co-authored-by: R David Murray <rdmurray@bitdance.com>
2025-04-03 18:27:33 +02:00
Miss Islington (bot)
ff4e5c2566
[3.9] gh-105704: Disallow square brackets ([ and ]) in domain names for parsed URLs (GH-129418) (#129530)
(cherry picked from commit d89a5f6a6e65511a5f6e0618c4c30a7aa5aba56a)

Co-authored-by: Seth Michael Larson <seth@python.org>
Co-authored-by: Peter Bierma <zintensitydev@gmail.com>
Co-authored-by: Łukasz Langa <lukasz@langa.pl>
2025-02-19 14:36:40 +01:00
Hugo van Kemenade
f116a9c15c
[3.9] gh-119511: Fix a potential denial of service in imaplib (GH-119514) (#130248)
The IMAP4 client could consume an arbitrary amount of memory when trying
to connect to a malicious server, because it read a "literal" data with a
single read(size) call, and BufferedReader.read() allocates the bytes
object of the specified size before reading. Now the IMAP4 client reads data
by chunks, therefore the amount of used memory is limited by the
amount of the data actually been sent by the server.
(cherry picked from commit 735f25c5e3a0f74438c86468ec4dfbe219d93c91)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Co-authored-by: Gregory P. Smith <greg@krypto.org>
2025-02-19 14:31:01 +01:00
Miss Islington (bot)
d80cbdd708
[3.9] gh-119461: Fix ThreadedVSOCKSocketStreamTest (GH-129171) (GH-129440) (#130075)
Fix ThreadedVSOCKSocketStreamTest: if get_cid() returns the host
address or the "any" address, use the local communication address
(loopback): VMADDR_CID_LOCAL.

On Linux 6.9, apparently, the /dev/vsock device is now available but
get_cid() returns VMADDR_CID_ANY (-1).

(cherry picked from commit 45db419c3104a14007ea9efbc4bff03aef8ed10c)
(cherry picked from commit e94dbe4ed83460f18bd72563c5f09f6cdc71f604)
(cherry picked from commit c750061047ee520d8299334df4b112fd983d7e48)
(cherry picked from commit cbfe3023e46b544b80ea1a38a8c900c6fb881554)

---

Restore the skipUnless removed by GH-119465.

This test can only pass on virtual machines, not actual machines.
Actual machines see:

```
    self.cli.connect((cid, VSOCKPORT))
    ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
OSError: [Errno 19] No such device
```

Reproduced on (Linux) Ubuntu 24.04.1 running 6.8.0-52-generic.

(cherry picked from commit 2bd9f9b0547f6ffe40cd1dd964459ce11b58144d)

Co-authored-by: Victor Stinner <vstinner@python.org>
Co-authored-by: Gregory P. Smith <greg@krypto.org>
Co-authored-by: Petr Viktorin <encukou@gmail.com>
2025-02-19 14:23:10 +01:00
Hugo van Kemenade
8a417ed4fc
[3.9] gh-122544: Change OS image in GitHub Actions to Ubuntu 22.04 (#122566) (#130295)
Co-authored-by: Damien <81557462+Damien-Chen@users.noreply.github.com>
2025-02-19 14:20:20 +01:00
Miss Islington (bot)
61746a3327
[3.9] gh-107262: Update Tkinter tests for Tcl/Tk 8.6.14 (GH-119322) (#130275)
Co-authored-by: James De Bias <81095953+DBJim@users.noreply.github.com>
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
2025-02-19 10:53:20 +02:00
Petr Viktorin
fe6c43ec39
[3.9] gh-129641: Docs GHA build: use upload-artifact@v4 (GH-129642) (#130114)
Co-authored-by: shallow-beach <96891913+shallow-beach@users.noreply.github.com>
fix (#128077)
2025-02-18 11:15:37 +02:00