128994 Commits

Author SHA1 Message Date
Zachary Ware
d64665b6ae
[3.14] gh-136728: Combine OpenSSL and AWS-LC CI configurations (GH-144805) (GH-145397)
(cherry picked from commit c9b96b1e6fea13dc2879dcc626015c06dc0056ac)

Co-authored-by: Łukasz Langa <lukasz@langa.pl>
2026-03-24 00:28:27 +01:00
Miss Islington (bot)
cbb1985b72
[3.14] GH-131296: Suppress clang-cl warnings in socketmodule.c (GH-131821) (GH-146339)
(cherry picked from commit cc8e6d27031dcf2582bd287b14ab9b6e200d5e92)

Co-authored-by: Chris Eibl <138194463+chris-eibl@users.noreply.github.com>
2026-03-24 00:27:20 +01:00
Miss Islington (bot)
c334bdee7b
[3.14] GH-131296: Fix clang-cl warning on Windows in socketmodule.h (GH-131832) (GH-146340)
(cherry picked from commit 59e2330cf391a9dc324690f8579acd179e66d19d)

Co-authored-by: Chris Eibl <138194463+chris-eibl@users.noreply.github.com>
2026-03-24 00:27:01 +01:00
Serhiy Storchaka
e31c551216
[3.14] gh-145264: Do not ignore excess Base64 data after the first padded quad (GH-145267) (GH-146326)
Base64 decoder (see binascii.a2b_base64(), base64.b64decode(), etc)
no longer ignores excess data after the first padded quad in non-strict
(default) mode.  Instead, in conformance with RFC 4648, it ignores the
pad character, "=", if it is present before the end of the encoded data.
(cherry picked from commit 4561f6418a691b3e89aef0901f53fe0dfb7f7c0e)
2026-03-24 00:20:26 +01:00
Miss Islington (bot)
9669a912a0
[3.14] gh-143930: Reject leading dashes in webbrowser URLs (GH-146214)
(cherry picked from commit 82a24a4442312bdcfc4c799885e8b3e00990f02b)

Co-authored-by: Seth Michael Larson <seth@python.org>
2026-03-24 00:16:27 +01:00
Hood Chatham
7c8a46bcce
[3.14] gh-146197: Add Emscripten to CI (GH-146198) (GH-146331)
(cherry picked from commit c94048be025ad9d39cd9307db8f503039094df11)

Co-authored-by: Hood Chatham <roberthoodchatham@gmail.com>
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
Co-authored-by: Victor Stinner <vstinner@python.org>
2026-03-24 00:13:16 +01:00
Miss Islington (bot)
abd276ab3d
[3.14] docs: fix f-string in ExceptionGroup example (GH-146108) (GH-146126)
(cherry picked from commit 2c6afb935ad588f32cb969345d0345e45d3a766e)

Co-authored-by: Bartosz Grabowski <58475557+bartosz-grabowski@users.noreply.github.com>
2026-03-24 00:09:00 +01:00
Miss Islington (bot)
74d104d66c
[3.14] gh-145305: Update ocert.org URLs in docs from http to https (GH-145304) (GH-145322)
(cherry picked from commit 11eec7a492670fff67fc083036d595f8498217db)

Co-authored-by: indoor47 <indoor47@gmail.com>
Co-authored-by: Adam (indoor47) <adamai@agentmail.to>
2026-03-23 23:36:40 +01:00
dr-carlos
dd4ea46917
[3.14] gh-141732: Fix ExceptionGroup repr changing when original exception sequence is mutated (GH-141736) (GH-144445)
Co-authored-by: Pablo Galindo Salgado <Pablogsal@gmail.com>
Co-authored-by: Stan Ulbrych <89152624+StanFromIreland@users.noreply.github.com>
Co-authored-by: Łukasz Langa <lukasz@langa.pl>
2026-03-23 23:31:32 +01:00
Miss Islington (bot)
1b2f0bd54c
[3.14] gh-136672: Docs: Move parts of Enum HOWTO to API Docs (GH-139176) (GH-144802)
To avoid duplicate content in the Enum HOWTO and
API documentation which is not automatically synced,
the section about supported __dunder__ and _sunder
names is moved from HOWTO to API docs.

See also https://github.com/python/cpython/pull/136791
(cherry picked from commit 629a363ddd2889f023d5925506e61f5b6647accd)

Co-authored-by: Rafael Weingartner-Ortner <38643099+RafaelWO@users.noreply.github.com>
2026-03-23 21:21:41 +01:00
Victor Stinner
c6dd764719
[3.14] gh-146197: Run -m test.pythoninfo on the Emscripten CI (#146332) (#146336)
gh-146197: Run -m test.pythoninfo on the Emscripten CI (#146332)


(cherry picked from commit a57209eb98943f4d8edbf56a55e98ec112e00e39)

Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
2026-03-23 17:54:57 +00:00
Miss Islington (bot)
f883bbd433
[3.14] gh-108907: ctypes: Document _type_ codes (GH-145837) (GH-146328)
gh-108907: ctypes: Document _type_ codes (GH-145837)

Add `_SimpleCData._type_` docs.

Add type codes to the summary table.

Cross-link `struct`, `array`, and `ctypes`; throw in `numpy` too.
(Anyone wanting to add a code should be aware of those.)

Add `py_object`, and `VARIANT_BOOL` for completeness.
(cherry picked from commit 1114d7f7f874790f009c61cc14965888769bc198)

Co-authored-by: Petr Viktorin <encukou@gmail.com>
2026-03-23 14:07:24 +01:00
Miss Islington (bot)
8e7c62b41a
[3.14] gh-145144: Add more tests for UserList, UserDict, etc (GH-145145) (GH-146290)
(cherry picked from commit 161329cde2b1ce4e6a6fdd85c0da1d857aebfd2d)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2026-03-22 15:47:37 +00:00
Miss Islington (bot)
114d1c38b1
[3.14] gh-143959: Fix test_datetime if _datetime is unavailable (GH-145248) (GH-146288)
(cherry picked from commit 97c725cd391ac63a934a6fe6f97602fe4c56f473)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2026-03-22 14:41:38 +00:00
Miss Islington (bot)
69a37be21c
[3.14] gh-146245: Fix reference and buffer leaks via audit hook in socket module (GH-146248) (GH-146274)
(cherry picked from commit c30fae4bea9f9ba07833e97eb542754c26610765)

Co-authored-by: AN Long <aisk@users.noreply.github.com>
2026-03-22 11:55:13 +00:00
Serhiy Storchaka
796513306f
[3.14] gh-146056: Fix repr() for lists and tuples containing NULLs (GH-146129) (GH-146155)
(cherry picked from commit 0f2246b1553f401da5ade47e0fd1c80ad7a8dfa5)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Co-authored-by: Victor Stinner <vstinner@python.org>
2026-03-22 09:25:02 +02:00
Miss Islington (bot)
d65e8d9094
[3.14] Docs: replace all datetime imports with import datetime as dt (GH-145640) (#146258)
Docs: replace all `datetime` imports with `import datetime as dt` (GH-145640)
(cherry picked from commit 83360b5869a4981c87dcb59d1186d26c41fe3386)

Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
2026-03-21 20:19:07 +02:00
Maciej Olko
9737ce2ac2
[3.14] gh-139588: Docs: fix PDF build (#145741) 2026-03-21 19:07:12 +02:00
Miss Islington (bot)
f2c70247fb
[3.14] gh-138234: clarify returncode behavior for subprocesses created with shell=True (GH-138536) (#146254)
gh-138234: clarify returncode behavior for subprocesses created with `shell=True` (GH-138536)
(cherry picked from commit 8a531f89df8f8bf4c4fe395f9edcdc19852bdf1c)

Co-authored-by: andreuu-tsai <32549555+andreuu-tsai@users.noreply.github.com>
Co-authored-by: Kumar Aditya <kumaraditya@python.org>
2026-03-21 12:38:34 +00:00
Miss Islington (bot)
d6e0066920
[3.14] GH-100108: Add async generators best practices section (GH-141885) (#146252)
GH-100108: Add async generators best practices section (GH-141885)
(cherry picked from commit 897fa231a7b9f3b0d5a983e1d2ab37f22304c455)

Co-authored-by: Sergey Miryanov <sergey.miryanov@gmail.com>
Co-authored-by: Stan Ulbrych <89152624+StanFromIreland@users.noreply.github.com>
Co-authored-by: Guido van Rossum <gvanrossum@gmail.com>
Co-authored-by: Kumar Aditya <kumaraditya@python.org>
2026-03-21 12:05:06 +00:00
AN Long
6bd5992d8b
[3.14] gh-129849: Add tests for Py_tp_bases (GH-143208) (#146225)
(cherry picked from commit 6f8867a6765d3e6effdc09a22691830aa887c3d0)
2026-03-21 15:22:58 +05:30
Sam Gross
73e74eeb2f
[3.14] gh-146227: Fix wrong type in _Py_atomic_load_uint16 in pyatomic_std.h (gh-146229) (#146232)
Also fix a few related issues in the pyatomic headers:

* Fix _Py_atomic_store_uint_release in pyatomic_msc.h to use __stlr32
  on ARM64 instead of a plain volatile store (which is only relaxed on
  ARM64).

* Add missing _Py_atomic_store_uint_release to pyatomic_gcc.h.

* Fix pseudo-code comment for _Py_atomic_store_ptr_release in
  pyatomic.h.

(cherry picked from commit 1eff27f2c0452b3114bcf139062c87c025842c3e)
2026-03-20 20:08:20 +00:00
Miss Islington (bot)
a2a45d7d13
[3.14] gh-146092: Raise MemoryError on allocation failure in _zoneinfo (GH-146165) (#146223)
gh-146092: Raise MemoryError on allocation failure in _zoneinfo (GH-146165)
(cherry picked from commit 6450b1d142b6254d2e3b2eba47d69125ca79b3fe)

Co-authored-by: Victor Stinner <vstinner@python.org>
2026-03-20 16:44:19 +00:00
Victor Stinner
6e73225c32
[3.14] gh-146196: Fix Undefined Behavior in _PyUnicodeWriter_WriteASCIIString() (#146201) (#146220)
gh-146196: Fix Undefined Behavior in _PyUnicodeWriter_WriteASCIIString() (#146201)

Avoid calling memcpy(data + writer->pos, NULL, 0)
which has an undefined behavior.


(cherry picked from commit cd10a2e65c25682095f6ee4a9b9a181938a50d2e)

Co-authored-by: Shamil <ashm.tech@proton.me>
2026-03-20 16:26:18 +00:00
Miss Islington (bot)
8b447fb56c
[3.14] gh-91279: Note SOURCE_DATE_EPOCH support in ZipFile.writestr() doc (GH-139396) (#146222)
gh-91279: Note `SOURCE_DATE_EPOCH` support in `ZipFile.writestr()` doc (GH-139396)
(cherry picked from commit 5ad738f8fb214e9852dc527e6754cbfb7abf6cc8)

Co-authored-by: Wulian233 <1055917385@qq.com>
Co-authored-by: Victor Stinner <vstinner@python.org>
2026-03-20 16:20:39 +00:00
Serhiy Storchaka
2105187546
[3.14] Improve tests for the PyUnicodeWriter C API (GH-146157) (GH-146180)
Add tests for corner cases: NULL pointers and out of range values.
(cherry picked from commit ab47892c32e6361f2180e7d86682650f0850c1c4)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2026-03-20 11:44:25 +00:00
Miss Islington (bot)
7ba9580f00
[3.14] gh-145754: Update signature retrieval in unittest.mock to use forwardref annotation format (GH-145756) (#146191)
gh-145754: Update signature retrieval in unittest.mock to use forwardref annotation format (GH-145756)
(cherry picked from commit d357a7dbf38868844415ec1d5df80379ea5a2326)

Co-authored-by: Matthias Schoettle <git@mattsch.com>
2026-03-20 03:06:03 +00:00
Miss Islington (bot)
bc6edf8350
[3.14] gh-145177: Add emscripten run --test, uses test args from config.toml (GH-146160) (#146186)
This allows us to change the test arguments from the python repo rather
than having to change buildmaster-config.
(cherry picked from commit 6b5511d66bab0754d1d959cfe98947c536bf4d82)

Co-authored-by: Hood Chatham <roberthoodchatham@gmail.com>
Co-authored-by: Russell Keith-Magee <russell@keith-magee.com>
2026-03-20 06:39:48 +08:00
Miss Islington (bot)
6a8436138a
[3.14] gh-145177: Add make-dependencies command to emscripten build script (GH-146158) (#146184)
Adds a standalone target for building all dependencies so that the buildbot
script is independent of a specific dependency list.
(cherry picked from commit db11623694d1231323ee3a9339f7f7504a839478)

Co-authored-by: Hood Chatham <roberthoodchatham@gmail.com>
2026-03-19 22:27:30 +00:00
Miss Islington (bot)
0a9f397239
[3.14] gh-145177: Put node version into emscripten/config.toml. (GH-146156) (#146159)
Configure node version as part of the emscripten build script, and install
that node version if it isn't available.
(cherry picked from commit 91e1312b950e3a98a9e968da02500db127e06f43)

Co-authored-by: Hood Chatham <roberthoodchatham@gmail.com>
2026-03-20 05:23:39 +08:00
Sam Gross
fa3143a1d2
[3.14] gh-145779: Improve classmethod/staticmethod scaling in free-threaded build (gh-145826) (#146088)
Add special cases for classmethod and staticmethod descriptors in
_PyObject_GetMethodStackRef() to avoid calling tp_descr_get, which
avoids reference count contention on the bound method and underlying
callable. This improves scaling when calling classmethods and
staticmethods from multiple threads.

Also refactor method_vectorcall in classobject.c into a new
_PyObject_VectorcallPrepend() helper so that it can be used by
PyObject_VectorcallMethod as well.

(cherry picked from commit e0f7c1097e19b6f5c2399e19f283c9fb373c243f)
2026-03-19 10:49:12 -04:00
Victor Stinner
7f29c1d0da
[3.14] gh-146092: Fix error handling in _BINARY_OP_ADD_FLOAT opcode (#146119)
Fix error handling in _PyFloat_FromDouble_ConsumeInputs() used by
_BINARY_OP_ADD_FLOAT, _BINARY_OP_SUBTRACT_FLOAT and
_BINARY_OP_MULTIPLY_FLOAT opcodes. PyStackRef_FromPyObjectSteal()
must not be called with a NULL pointer.

Fix also _BINARY_OP_INPLACE_ADD_UNICODE opcode.
2026-03-19 12:14:33 +01:00
Miss Islington (bot)
cfdc5e86dd
[3.14] gh-145254: Fix formatting of thread safety annotations (GH-146111) (#146163)
- Add leading space so that the spacing between the previous annotation
  and the thread safety annotation looks correct.
- Remove trailing period from the link to the thread safety level.
(cherry picked from commit 580043dfae90331de15cf1504d09e2c7216182a6)

Co-authored-by: Lysandros Nikolaou <lisandrosnik@gmail.com>
2026-03-19 11:08:27 +00:00
Miss Islington (bot)
888026fa7c
[3.14] gh-145805: Add python Platforms/emscripten run subcommand (GH-146051) (#146150)
Provides a `run` command in the Emscripten build tooling, and adds
environment variable configuration for EMSDK_CACHE, CROSS_BUILD_DIR
and QUIET.
(cherry picked from commit abd5246305655fc09e4e3c668c8ca09a1b0fc638)

Co-authored-by: Hood Chatham <roberthoodchatham@gmail.com>
2026-03-19 10:05:09 +08:00
Victor Stinner
8eeb800faf
[3.14] gh-146092: Handle _PyFrame_GetFrameObject() failures properly (#146124) (#146132)
gh-146092: Handle _PyFrame_GetFrameObject() failures properly (#146124)

* Fix _PyFrame_GetLocals() and _PyFrame_GetLocals() error handling.
* _PyEval_ExceptionGroupMatch() now fails on _PyFrame_GetLocals()
  error.

(cherry picked from commit e1e4852133ea548479bc9b975420a32331df7cee)
2026-03-18 17:57:08 +00:00
Miss Islington (bot)
5feedc7593
[3.14] gh-146093: Fix csv _set_str(): check if PyUnicode_DecodeASCII() failed (GH-146113) (#146130)
gh-146093: Fix csv _set_str(): check if PyUnicode_DecodeASCII() failed (GH-146113)

The function can fail on a memory allocation failure.

Bug reported by devdanzin.
(cherry picked from commit 724c7c8146f44a7c737ec4588a1ee4b9db994f6f)

Co-authored-by: Victor Stinner <vstinner@python.org>
2026-03-18 17:47:39 +00:00
Miss Islington (bot)
3ebf54ed93
[3.14] gh-142518: Annotate PyList_* C APIs for thread safety (GH-146109) (#146125)
(cherry picked from commit 5b25eaec373430b628a1e591f7312f9bdafe55b2)

Co-authored-by: Lysandros Nikolaou <lisandrosnik@gmail.com>
2026-03-18 17:48:38 +01:00
Miss Islington (bot)
19cbcc0f85
[3.14] gh-142183: Cache one datachunk per tstate to prevent alloc/dealloc thrashing (GH-145789) (#145828)
Cache one datachunk per tstate to prevent alloc/dealloc thrashing when repeatedly hitting the same call depth at exactly the wrong boundary.

Move new _ts member to the end to not mess up remote debuggers' ideas of the
struct's layout. (The struct is only created by the runtime, and the new
field only used by the runtime, so it should be safe.)

(cherry picked from commit 706fd4ec08acbf1b1def3630017ebe55d224adfa)
Co-authored-by: T. Wouters <thomas@python.org>
Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
2026-03-18 16:47:36 +01:00
Miss Islington (bot)
6980b94c3a
[3.14] gh-146076: Fix crash when a ZoneInfo subclass is missing a _weak_cache (GH-146082) (GH-146116)
(cherry picked from commit 3b06d68d8a3cc1f37359af1d7ebb3d09e1222296)

Co-authored-by: Stan Ulbrych <89152624+StanFromIreland@users.noreply.github.com>
2026-03-18 15:23:46 +00:00
Miss Islington (bot)
f20a637644
[3.14] gh-142518: Add thread safety notes for the buffer protocol (GH-145911) (#146106)
(cherry picked from commit 847f83ef1c1693d75cc024b31c3dcb9bcaca826f)

Co-authored-by: Lysandros Nikolaou <lisandrosnik@gmail.com>
2026-03-18 14:28:52 +01:00
Miss Islington (bot)
c9900734fa
[3.14] gh-146054: Limit the growth of encodings.search_function cache (GH-146055) (GH-146067)
(cherry picked from commit 9d7621b75bc4935e14d4f12dffb3cb1d89ea1bc6)

Co-authored-by: Stan Ulbrych <89152624+StanFromIreland@users.noreply.github.com>
2026-03-18 13:47:13 +01:00
Sam Gross
b3c2ef5f31
[3.14] gh-134043: use stackrefs for dict lookup in _PyObject_GetMethodStackRef (GH-136412) (#146077)
(cherry picked from commit cbe6ebe15b3b8db00d3ca82a408cfd62b6d93b7d)

Co-authored-by: Kumar Aditya <kumaraditya@python.org>
2026-03-17 16:59:26 -04:00
Serhiy Storchaka
a005f323b7
[3.14] gh-144545: Improve handling of default values in Argument Clinic (GH-146016) (GH-146052)
* Add the c_init_default attribute which is used to initialize the C variable
  if the default is not explicitly provided.
* Add the c_default_init() method which is used to derive c_default from
  default if c_default is not explicitly provided.
* Explicit c_default and py_default are now almost always have precedence
  over the generated value.
* Add support for bytes literals as default values.
* Improve support for str literals as default values (support non-ASCII
  and non-printable characters and special characters like backslash or quotes).
* Fix support for str and bytes literals containing trigraphs, "/*" and "*/".
* Improve support for default values in converters "char" and "int(accept={str})".
* Converter "int(accept={str})" now requires 1-character string instead of
  integer as default value.
* Add support for non-None default values in converter "Py_buffer": NULL,
  str and bytes literals.
* Improve error handling for invalid default values.
* Rename Null to NullType for consistency.
(cherry picked from commit 99e2c5eccd2b83ac955125522a952a4ff5c7eb43)
2026-03-17 10:55:15 +00:00
Miss Islington (bot)
7ad3093d76
[3.14] gh-141707: Skip TarInfo DIRTYPE normalization during GNU long name handling (GH-145819)
(cherry picked from commit 42d754e34c06e57ad6b8e7f92f32af679912d8ab)

Co-authored-by: Seth Michael Larson <seth@python.org>
Co-authored-by: Eashwar Ranganathan <eashwar@eashwar.com>
2026-03-17 10:51:19 +01:00
Miss Islington (bot)
4601007395
[3.14] Docs: a brief note in the sets tutorial about order (GH-145984) (#146049)
Docs: a brief note in the sets tutorial about order (GH-145984)
(cherry picked from commit 4f5e79805ebcaa0d3ba1677694d4120a9e8f4513)


Docs: a brief note in the sets tut about order

Co-authored-by: Ned Batchelder <ned@nedbatchelder.com>
2026-03-17 05:18:11 -04:00
Miss Islington (bot)
f06961e044
[3.14] gh-145176 Move Emscripten files into Platforms/emscripten (GH-145806) (#146043)
Moves Emscripten build files into Platforms/emscripten.
(cherry picked from commit 1b118353bb0a9d816de6ef673f3b11775de5bec5)

Co-authored-by: Hood Chatham <roberthoodchatham@gmail.com>
2026-03-17 10:17:47 +08:00
Miss Islington (bot)
0548f41053
[3.14] gh-144984: Fix crash in Expat's ExternalEntityParserCreate error paths (GH-144992) (#146019)
gh-144984: Fix crash in Expat's `ExternalEntityParserCreate` error paths (GH-144992)
(cherry picked from commit e6b9a1406980fbb1d4032eca9cc0b4f8f252b716)

Co-authored-by: Ramin Farajpour Cami <ramin.blackhat@gmail.com>
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
2026-03-17 01:49:39 +01:00
Miss Islington (bot)
e050831bd9
[3.14] Docs: remove unmatched parenthesis for asyncio.TaskGroup note (GH-146035) (#146037)
Docs: remove unmatched parenthesis for `asyncio.TaskGroup` note (GH-146035)
(cherry picked from commit 4e96282ee42ab51cf325b52a0173ddddbe66c05c)

Co-authored-by: trag1c <dev@jakubr.me>
2026-03-16 21:59:31 +01:00
Miss Islington (bot)
9743d88334
[3.14] gh-135329: Remove flaky test_repl_eio test (gh-145932) (#146028)
The test doesn't actually test any pyrepl code (it runs Python with -S)
and has a race condition that causes intermittent timeouts on CI.
(cherry picked from commit e18abc6a1f1b60434b529d4c1ff4855acde0fd13)

Co-authored-by: Sam Gross <colesbury@gmail.com>
2026-03-16 11:42:47 -04:00
Miss Islington (bot)
62ceb396fc
[3.14] gh-145599, CVE 2026-3644: Reject control characters in http.cookies.Morsel.update() (GH-145600) (#146023)
gh-145599, CVE 2026-3644: Reject control characters in `http.cookies.Morsel.update()` (GH-145600)

Reject control characters in `http.cookies.Morsel.update()` and `http.cookies.BaseCookie.js_output`.
(cherry picked from commit 57e88c1cf95e1481b94ae57abe1010469d47a6b4)

Co-authored-by: Stan Ulbrych <89152624+StanFromIreland@users.noreply.github.com>
Co-authored-by: Victor Stinner <vstinner@python.org>
Co-authored-by: Victor Stinner <victor.stinner@gmail.com>
2026-03-16 14:13:19 +00:00