]>
git.ipfire.org Git - thirdparty/Python/cpython.git/log
Miss Islington (bot) [Fri, 9 Jan 2026 15:33:25 +0000 (16:33 +0100)]
[3.13] gh-143547: Fix PyErr_FormatUnraisable() fallback (GH-143557) (GH-143603) (#143612)
[3.14] gh-143547: Fix PyErr_FormatUnraisable() fallback (GH-143557) (GH-143603)
gh-143547: Fix PyErr_FormatUnraisable() fallback (GH-143557)
Hold a strong reference to 'hook' while calling the default
unraisable took to log hook failure.
(cherry picked from commit
1d0baf1ae48f98b61cc869a82e1b7206298f653f )
(cherry picked from commit
39a2bcf949095bd603f7b73f15b5b478dbb49ba9 )
Co-authored-by: Victor Stinner <vstinner@python.org>
Miss Islington (bot) [Fri, 9 Jan 2026 15:30:23 +0000 (16:30 +0100)]
[3.13] gh-106318: Add examples for str.rfind() method (GH-143582) (#143617)
gh-106318: Add examples for str.rfind() method (GH-143582)
(cherry picked from commit
c696f33d9ee425d7acd5de90d5418a3280444962 )
Co-authored-by: Adorilson Bezerra <adorilson@gmail.com>
Miss Islington (bot) [Fri, 9 Jan 2026 15:29:04 +0000 (16:29 +0100)]
[3.13] gh-106318: Improve str.removeprefix() and str.removesuffix() docs (GH-143580) (#143615)
gh-106318: Improve str.removeprefix() and str.removesuffix() docs (GH-143580)
Add doctest role and 'See also'.
(cherry picked from commit
6d6c7ed73786915d16f6ac3d8b6e6d67f404209f )
Co-authored-by: Adorilson Bezerra <adorilson@gmail.com>
Sam Gross [Thu, 8 Jan 2026 17:35:56 +0000 (12:35 -0500)]
[3.13] gh-142095: Use thread local frame info in `py-bt` and `py-bt-full` when available (gh-143371) (#143567)
In optimized and `-Og` builds, arguments and local variables are frequently
unavailable in gdb. This makes `py-bt` fail to print anything useful. Use the
`PyThreadState*` pointers `_Py_tss_gilstate` and `Py_tss_tstate` to find the
interpreter frame if we can't get the frame from the
`_PyEval_EvalFrameDefault` call.
(cherry picked from commit
49c3b0a67a77bb42e736cea7dcbc1aa8fa704074 )
Co-authored-by: Victor Stinner <vstinner@python.org>
Miss Islington (bot) [Thu, 8 Jan 2026 16:12:51 +0000 (17:12 +0100)]
[3.13] gh-143553: Add support for parametrized resources in regrtests (GH-143554) (GH-143556)
For example, "-u xpickle=2.7" will run test_xpickle only against Python 2.7.
(cherry picked from commit
c07e5ec0a9e5843fc39dec6aa94172faf6354858 )
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Miss Islington (bot) [Thu, 8 Jan 2026 13:46:33 +0000 (14:46 +0100)]
[3.13] gh-143513: Clarify changed argument name of `ResourceReader.is_resource` (GH-143523) (GH-143563)
gh-143513: Clarify changed argument name of `ResourceReader.is_resource` (GH-143523)
(cherry picked from commit
5462002bbefd6cb79716828051beae94de8f2529 )
Co-authored-by: Alex Willmer <alex@moreati.org.uk>
Miss Islington (bot) [Thu, 8 Jan 2026 13:29:41 +0000 (14:29 +0100)]
[3.13] gh-143528: Fix test_time.test_thread_time() (GH-143558) (#143560)
gh-143528: Fix test_time.test_thread_time() (GH-143558)
Tolerate 100 ms instead of 20 ms to support slow CIs.
(cherry picked from commit
efaa56f73cb1dc4863894444425e753afb7b997c )
Co-authored-by: Victor Stinner <vstinner@python.org>
Miss Islington (bot) [Thu, 8 Jan 2026 11:49:43 +0000 (12:49 +0100)]
[3.13] gh-143089: Fix ParamSpec default examples to use list instead of tuple (GH-143179) (#143539)
Co-authored-by: VanshAgarwal24036 <148854295+VanshAgarwal24036@users.noreply.github.com>
Miss Islington (bot) [Wed, 7 Jan 2026 22:42:48 +0000 (23:42 +0100)]
[3.13] Fix a typo in STORE_SLICE docs (GH-143500) (#143534)
Fix a typo in STORE_SLICE docs (GH-143500)
(cherry picked from commit
228d95582e080c60335d5f0a229a6698eb69b11c )
Co-authored-by: Tomas R <tomas.roun8@gmail.com>
Łukasz Langa [Wed, 7 Jan 2026 17:44:39 +0000 (18:44 +0100)]
[3.13] gh-138568: Make `help` mode in PyREPL not exit on empty line input (GH-143512) (GH-143520)
(cherry picked from commit
b3e4a3462f6011cacdfc58c565c69e4d7de6b9cd )
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
Co-authored-by: yihong0618 <zouzou0208@gmail.com>
Miss Islington (bot) [Wed, 7 Jan 2026 17:03:24 +0000 (18:03 +0100)]
[3.13] gh-106318: Add examples for str.casefold() and str.lower() methods (GH-142154) (#143525)
gh-106318: Add examples for str.casefold() and str.lower() methods (GH-142154)
(cherry picked from commit
51a56a3a7bd8cf05ceda65e843fb7bae40509799 )
Co-authored-by: Adorilson Bezerra <adorilson@gmail.com>
Co-authored-by: Victor Stinner <vstinner@python.org>
Co-authored-by: Stan Ulbrych <89152624+StanFromIreland@users.noreply.github.com>
Victor Stinner [Wed, 7 Jan 2026 14:17:06 +0000 (15:17 +0100)]
[3.13] gh-142991: Fix socketmodule.c build: remove _Py_FALLTHROUGH (#143514)
Fix commit
7f936694dbc0dc0dbb07d98fa668776c4e4ca595 backport which
uses _Py_FALLTHROUGH: this macro only exists in Python 3.14 and
newer.
Serhiy Storchaka [Wed, 7 Jan 2026 07:57:39 +0000 (09:57 +0200)]
[3.13] gh-75572: Forward-port test_xpickle from Python 2 to 3 (GH-22452) (GH-143509)
Move data classes used in tests to separate file test_picklecommon.py,
so it can be imported in old Python versions.
(cherry picked from commit
8735daf3e82d50defd791e9be7b9ae6843bc4ed1 )
(cherry picked from commit
ff0a8b72892e94ef6616ed70241d23985f7a5ac4 )
Co-authored-by: Ken Jin <kenjin@python.org>
Miss Islington (bot) [Tue, 6 Jan 2026 21:48:19 +0000 (22:48 +0100)]
[3.13] gh-106318: Add example for str.index() (GH-137023) (#143501)
Co-authored-by: Adorilson Bezerra <adorilson@gmail.com>
Miss Islington (bot) [Tue, 6 Jan 2026 20:32:56 +0000 (21:32 +0100)]
[3.13] gh-133315: Document that compat32 should not be used with MIMEPart/EmailMessage (GH-143307) (#143495)
gh-133315: Document that compat32 should not be used with MIMEPart/EmailMessage (GH-143307)
(cherry picked from commit
ff7d1cec41f391270560b9f4726791d8476c6eba )
Co-authored-by: Andrii Hrimov <andrew.hrimov@gmail.com>
Miss Islington (bot) [Tue, 6 Jan 2026 18:11:48 +0000 (19:11 +0100)]
[3.13] gh-143394: On macOS, run main PyREPL tests as "Apple Terminal" as well (GH-143461) (GH-143467)
(cherry picked from commit
7dae1077cd18c1ddc50b130335936bc71e1c4ccd )
Co-authored-by: Łukasz Langa <lukasz@langa.pl>
Miss Islington (bot) [Tue, 6 Jan 2026 17:14:42 +0000 (18:14 +0100)]
[3.13] gh-142302: Fix mkstemp() documentation: clarify file descriptor inheritance behavior (GH-142338) (#143487)
gh-142302: Fix mkstemp() documentation: clarify file descriptor inheritance behavior (GH-142338)
The documentation incorrectly stated that the file descriptor is not
inherited by child processes. In reality, the close-on-exec flag (when
available) only prevents inheritance across exec() calls, not fork().
(cherry picked from commit
e79c9b703117d8b0e7c4d86b704e2e7f120db883 )
Co-authored-by: ADITYA RAI <adi.hack1234@gmail.com>
Co-authored-by: Victor Stinner <vstinner@python.org>
Miss Islington (bot) [Tue, 6 Jan 2026 16:50:02 +0000 (17:50 +0100)]
[3.13] gh-106318: Add examples for str.isprintable() (GH-140043) (#143484)
gh-106318: Add examples for str.isprintable() (GH-140043)
(cherry picked from commit
7b0a372b20ae3b80053d52e84c2b7bdd114c19f0 )
Co-authored-by: Adorilson Bezerra <adorilson@gmail.com>
Co-authored-by: Stan Ulbrych <89152624+StanFromIreland@users.noreply.github.com>
Miss Islington (bot) [Tue, 6 Jan 2026 16:48:03 +0000 (17:48 +0100)]
[3.13] gh-142991: socketmodule: fixed getsockaddrlen() for PF_DIVERT socket (GH-142993) (#143482)
gh-142991: socketmodule: fixed getsockaddrlen() for PF_DIVERT socket (GH-142993)
(cherry picked from commit
05406b221dc9d5946c60253392788d60f1f08c8b )
Co-authored-by: Gleb Smirnoff <glebius@FreeBSD.org>
Miss Islington (bot) [Tue, 6 Jan 2026 16:38:38 +0000 (17:38 +0100)]
[3.13] gh-143394: filter for turning off automatic margins in test_no_newline (GH-143433) (GH-143478)
Co-authored-by: Chris Eibl <138194463+chris-eibl@users.noreply.github.com>
Co-authored-by: Łukasz Langa <lukasz@langa.pl>
Semyon Moroz [Tue, 6 Jan 2026 14:02:32 +0000 (14:02 +0000)]
[3.13] gh-143331: Schedule to remove format "N" for Decimal (GH-143372) (#143477)
(cherry picked from commit
dd750b348501247d458ea8d454213d4959a8f8b9 )
Hugo van Kemenade [Tue, 6 Jan 2026 13:02:16 +0000 (15:02 +0200)]
[3.13] Allow Android to fail CI (GH-143471) (GH-143473)
(cherry picked from commit
efb4e6c73374f910e9aae9b2431a3718331c3c79 )
Stan Ulbrych [Tue, 6 Jan 2026 11:49:31 +0000 (11:49 +0000)]
[3.13] gh-143003: Fix possible shared buffer overflow in bytearray.extend() (GH-143086) (GH-143448)
When __length_hint__() returns 0 for non-empty iterator, the data can be
written past the shared 0-terminated buffer, corrupting it.
(cherry picked from commit
522563549a49d28e763635c58274a23a6055f041 )
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Bénédikt Tran [Mon, 5 Jan 2026 18:56:02 +0000 (19:56 +0100)]
[3.13] gh-143309: fix UAF in `os.execve` when the environment is concurrently mutated (GH-143314) (#143431)
[3.13] gh-143309: fix UAF in `os.execve` when the environment is concurrently mutated (GH-143314) (#143431)
(cherry picked from commit
9609574e7fd36edfaa8b575558a82cc14e65bfbc )
(cherry picked from commit
c99f7667436d8978b4077704333e2a351f2a026f )
Miss Islington (bot) [Sat, 3 Jan 2026 23:53:59 +0000 (00:53 +0100)]
[3.13] gh-143308: fix UAF when PickleBuffer is concurrently mutated in a callback (GH-143312) (#143397)
gh-143308: fix UAF when PickleBuffer is concurrently mutated in a callback (GH-143312)
(cherry picked from commit
6c53af18f61c074d514e677b469b6201573a59da )
---------------
Co-authored-by: Aaron Wieczorek <aaronw@fastmail.com>
Co-authored-by: Aaron Wieczorek <woz@Aarons-MacBook-Pro.local>
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
Miss Islington (bot) [Sat, 3 Jan 2026 08:25:52 +0000 (09:25 +0100)]
[3.13] gh-140648: Make asyncio REPL respect the `-I` flag (isolated mode) (GH-143045) (#143384)
gh-140648: Make asyncio REPL respect the `-I` flag (isolated mode) (GH-143045)
(cherry picked from commit
e7c542de5f069a4b83e8eded3067613e4d59a529 )
Co-authored-by: Bartosz Sławecki <bartosz@ilikepython.com>
Miss Islington (bot) [Fri, 2 Jan 2026 19:25:21 +0000 (20:25 +0100)]
[3.13] gh-76187: Document the `c` typecode for `multiprocessing.Array`. (GH-132504) (#143370)
gh-76187: Document the `c` typecode for `multiprocessing.Array`. (GH-132504)
* Document the `c` typecode for `multiprocessing.Array`.
* Add quotes
* Mention that 'w' is not supported
(cherry picked from commit
136f6d835588e0f72cecdff855afc8f424381ed5 )
Co-authored-by: Tomas R <tomas.roun8@gmail.com>
Miss Islington (bot) [Fri, 2 Jan 2026 16:28:04 +0000 (17:28 +0100)]
[3.13] gh-138897: Use `_pyrepl.pager` for `_sitebuiltins._Printer` (GH-138898) (GH-143365)
(cherry picked from commit
0417dabe3f560470eec63a2485b1741ba9c5e697 )
Co-authored-by: Stan Ulbrych <89152624+StanFromIreland@users.noreply.github.com>
Co-authored-by: Łukasz Langa <lukasz@langa.pl>
Miss Islington (bot) [Fri, 2 Jan 2026 15:44:01 +0000 (16:44 +0100)]
[3.13] gh-139262: Prevent swallowing REPL input on Windows (GH-139263) (GH-143363)
(cherry picked from commit
ef6f92a2a63fd83d62d9a431b2c3133a9a069ea0 )
Co-authored-by: Chris Eibl <138194463+chris-eibl@users.noreply.github.com>
Co-authored-by: Łukasz Langa <lukasz@langa.pl>
Miss Islington (bot) [Fri, 2 Jan 2026 15:33:49 +0000 (16:33 +0100)]
[3.13] gh-128067: Fix pyrepl overriding printed output without newlines (GH-138732) (GH-143351)
(cherry picked from commit
8a2deea1fc725f8147254f87c6042fcf75a1d03b )
Co-authored-by: Jan-Eric Nitschke <47750513+JanEricNitschke@users.noreply.github.com>
Co-authored-by: Łukasz Langa <lukasz@langa.pl>
Miss Islington (bot) [Fri, 2 Jan 2026 15:21:41 +0000 (16:21 +0100)]
[3.13] gh-143148: Replace pre-commit with prek in CI (GH-143149) (#143359)
Co-authored-by: Johann Christensen <johannchristensen@outlook.de>
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
Miss Islington (bot) [Fri, 2 Jan 2026 11:54:41 +0000 (12:54 +0100)]
[3.13] Update docstrings of `typing.Hashable`, `typing.List`, etc., to reflect their deprecation (GH-143295) (#143349)
Update docstrings of `typing.Hashable`, `typing.List`, etc., to reflect their deprecation (GH-143295)
(cherry picked from commit
18f3c59e57e5d30218210136060310310b10ff72 )
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
Miss Islington (bot) [Fri, 2 Jan 2026 10:12:57 +0000 (11:12 +0100)]
[3.13] gh-143310: fix crash in Tcl object conversion with concurrent mutations (GH-143321) (#143344)
gh-143310: fix crash in Tcl object conversion with concurrent mutations (GH-143321)
(cherry picked from commit
9712dc1d9eb03ffa96ed746d20bd43239d251ba7 )
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
Bénédikt Tran [Thu, 1 Jan 2026 11:22:50 +0000 (12:22 +0100)]
[3.13] gh-142830: prevent some crashes when mutating `sqlite3` callbacks (GH-143245) (#143323)
(cherry picked from commit
7f6c16a956d598663d8c67071c492f197045d967 )
Jakub Kulík [Wed, 31 Dec 2025 11:09:10 +0000 (12:09 +0100)]
[3.13] gh-91214: Skip tests failing on Solaris (GH-31978) (GH-138462)
(cherry picked from commit
34ed03875a786879fe292fe472142ae0f3da0e80 )
Miss Islington (bot) [Tue, 30 Dec 2025 23:32:08 +0000 (00:32 +0100)]
[3.13] gh-115634: document ProcessPoolExecutor max_tasks_per_child bug (GH-140897) (#143303)
gh-115634: document ProcessPoolExecutor max_tasks_per_child bug (GH-140897)
(cherry picked from commit
04899b8539ab83657a4495203f26b3cb1a6f46dc )
Co-authored-by: Gregory P. Smith <68491+gpshead@users.noreply.github.com>
Miss Islington (bot) [Tue, 30 Dec 2025 12:37:47 +0000 (13:37 +0100)]
[3.13] gh-143284: Temporarily install Sphinx<9 to fix Chinese search (GH-143286) (#143291)
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
Bénédikt Tran [Tue, 30 Dec 2025 10:46:44 +0000 (11:46 +0100)]
[3.13] gh-142994, gh-142996: document missing async generator and coroutine field entries in `inspect` (GH-142997) (#143287)
(cherry picked from commit
0efbad60e13cbc8b27a5ca3a5d9afcdcc957b19e )
Co-authored-by: wangxiaolei <fatelei@gmail.com>
Miss Islington (bot) [Tue, 30 Dec 2025 05:22:47 +0000 (06:22 +0100)]
[3.13] gh-69686: Remove untrue part of `__import__` replacement docs (GH-143261) (#143282)
gh-69686: Remove untrue part of `__import__` replacement docs (GH-143261)
Remove untrue part of `__import__` replacement docs
The original statement effectively says that replacing `__import__` at global scope affects import statements, and not only that, but only import statements within the rest of the executing module. None of that has been true since at least Python 2.7, I think.
This was likely missed in python/cpython#69686.
(cherry picked from commit
79c03ac0015ccf1cbb759f870e2af9d68f60fe3a )
Co-authored-by: Thanos <111999343+Sachaa-Thanasius@users.noreply.github.com>
Miss Islington (bot) [Mon, 29 Dec 2025 18:15:28 +0000 (19:15 +0100)]
[3.13] gh-143200: fix UAFs in `Element.__{set,get}item__` when the element is concurrently mutated (GH-143226) (#143274)
gh-143200: fix UAFs in `Element.__{set,get}item__` when the element is concurrently mutated (GH-143226)
(cherry picked from commit
b6b0e14b3d4aa9e9b89bef9a516177238883e1a7 )
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
Miss Islington (bot) [Sun, 28 Dec 2025 17:20:40 +0000 (18:20 +0100)]
[3.13] gh-142195: Fixed Popen.communicate indefinite loops (GH-143203) (#143256)
gh-142195: Fixed Popen.communicate indefinite loops (GH-143203)
Changed condition to evaluate if timeout is less than or equals to 0. This is needed for simulated time environments such as Shadow where the time will match exactly on the boundary.
---------
(cherry picked from commit
fa9a4254e81c0abcc3345021c45aaf5f788f9ea9 )
Co-authored-by: Prithviraj Chaudhuri <p.chaudhuri1993@gmail.com>
Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
Miss Islington (bot) [Sun, 28 Dec 2025 15:11:32 +0000 (16:11 +0100)]
[3.13] gh-143241: Fix infinite loop in `zoneinfo._common.load_data` (GH-143243) (#143252)
gh-143241: Fix infinite loop in `zoneinfo._common.load_data` (GH-143243)
Correctly reject truncated TZif files in `ZoneInfo.from_file`.
---------
(cherry picked from commit
3ca1f2a370e44874d0dc8c82a01465e0171bec5c )
Co-authored-by: Fatih Çelik <fcelik.ft@gmail.com>
Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
Pablo Galindo Salgado [Sun, 28 Dec 2025 14:32:16 +0000 (14:32 +0000)]
[3.13] gh-143228: Fix UAF in perf trampoline during finalization (GH-143233) (#143248)
Bénédikt Tran [Sat, 27 Dec 2025 17:20:49 +0000 (17:20 +0000)]
[3.13] gh-142557: fix UAF in `bytearray.__mod__` when object is mutated while formatting `%`-style arguments (GH-143213) (#143229)
(cherry picked from commit
61ee04834b096be00678c6819b4957f3f4413a5e )
Miss Islington (bot) [Sat, 27 Dec 2025 14:53:13 +0000 (15:53 +0100)]
[3.13] gh-142664: fix `PyObject_Hash` invokation post GH-143217 (GH-143223) (#143225)
gh-142664: fix `PyObject_Hash` invokation post GH-143217 (GH-143223)
(cherry picked from commit
84fcdbd86ecd81f7cc793e22268a029ac6cf29c2 )
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
Bénédikt Tran [Sat, 27 Dec 2025 13:43:11 +0000 (13:43 +0000)]
[3.13] gh-142664: fix UAF in `memoryview.__hash__` via re-entrant data's `__hash__` (GH-143217) (#143222)
(cherry picked from commit
00e24b80e092e7d36dc189fd260b2a4e730a6e7f )
Bénédikt Tran [Sat, 27 Dec 2025 12:58:42 +0000 (12:58 +0000)]
[3.13] gh-143195: fix UAF in `{bytearray,memoryview}.hex(sep)` via re-entrant `sep.__len__` (GH-143209) (#143220)
(cherry picked from commit
9976c2b6349a079ae39931d960b8c147e21c6c3f )
Miss Islington (bot) [Sat, 27 Dec 2025 10:55:15 +0000 (11:55 +0100)]
[3.13] no-issue: Fix override value in os.rst (gh-123522) (gh-143212)
Miss Islington (bot) [Thu, 25 Dec 2025 17:09:39 +0000 (18:09 +0100)]
[3.13] gh-143145: Fix possible reference leak in ctypes _build_result() (GH-143131) (GH-143170)
The result tuple was leaked if __ctypes_from_outparam__() failed for any item.
(cherry picked from commit
579c5b496b467a2b175cb30caa4f6873cb13c9a1 )
Signed-off-by: Yongtao Huang <yongtaoh2022@gmail.com>
Co-authored-by: Yongtao Huang <yongtaoh2022@gmail.com>
Miss Islington (bot) [Thu, 25 Dec 2025 12:41:24 +0000 (13:41 +0100)]
[3.13] gh-140717: Add `exc_text` to LogRecord attributes table (GH-140718) (GH-143151)
Co-authored-by: Tom Kuson <mail@tjkuson.me>
Miss Islington (bot) [Thu, 25 Dec 2025 11:41:24 +0000 (12:41 +0100)]
[3.13] gh-143004: Fix possible use-after-free in collections.Counter.update() (GH-143044) (GH-143167)
This happened when the Counter was mutated when incrementing
the value for an existing key.
(cherry picked from commit
86d904588e8c84c7fccb8faf84b343f03461970d )
Co-authored-by: kaushal trivedi <155625932+Kaushalt2004@users.noreply.github.com>
Stan Ulbrych [Thu, 25 Dec 2025 10:57:20 +0000 (10:57 +0000)]
[3.13] gh-143135: Fix sys.flags.inspect when PYTHONINSPECT=0 (GH-143136) (GH-143168)
(cherry picked from commit
3509fa5a12855805f0c6d7f8a6a3b162744a8fd4 )
Cody Maloney [Wed, 24 Dec 2025 19:13:47 +0000 (11:13 -0800)]
[3.13] gh-142560: prevent use-after-free in search-like methods by exporting buffer in bytearray (GH-142938) (GH-142986)
(cherry picked from commit
220f0b107776391201a399c54dd01692c36fcdf4 )
Co-authored-by: wangxiaolei <fatelei@gmail.com>
Miss Islington (bot) [Wed, 24 Dec 2025 18:19:28 +0000 (19:19 +0100)]
[3.13] Correctly fold unknown-8bit originating from encoded words. (GH-142517) (#143147)
The unknown-8bit trick was designed to deal with unknown bytes in an
ASCII message, and it works fine for that. However, I also tried to
extend it to handle bytes that can't be decoded using the charset
specified in an encoded word, and there it fails because there can be
other non-ASCII characters that were *successfully* decoded. The fix is
simple: do the unknown-8bit encoding using the utf-8 codec. This is
especially appropriate since anyone trying to do recovery on an unknown
byte string will probably attempt utf-8 first.
(cherry picked from commit
1e17ccd030a2285ad53db5952360fffa33a8a877 )
Co-authored-by: R. David Murray <rdmurray@bitdance.com>
Co-authored-by: Stan Ulbrych <89152624+StanFromIreland@users.noreply.github.com>
Sam Gross [Wed, 24 Dec 2025 13:29:13 +0000 (08:29 -0500)]
[3.13] gh-143121: Skip test that leak threads under TSan (gh-143125) (#143142)
(cherry picked from commit
4ee6929d606fa7b976eba229de24219f0edac3d7 )
Miss Islington (bot) [Wed, 24 Dec 2025 13:26:07 +0000 (14:26 +0100)]
[3.13] gh-142145: Avoid timing measurements in quadratic behavior test (gh-143105) (#143140)
Count the number of Element attribute accesses as a proxy for work done.
With double the amount of work, a ratio of 2.0 indicates linear scaling
and 4.0 quadratic scaling. Use 3.2 as an intermediate threshold.
(cherry picked from commit
57937a8e5e293f0dcba5115f7b7a11b1e0c9a273 )
Co-authored-by: Sam Gross <colesbury@gmail.com>
Miss Islington (bot) [Wed, 24 Dec 2025 03:03:47 +0000 (04:03 +0100)]
[3.13] gh-109263: Start process from spawn context in multiprocessing no longer have side effect (GH-135813) (#143116)
gh-109263: Start process from spawn context in multiprocessing no longer have side effect (GH-135813)
(cherry picked from commit
c2202a7e661d40b1837cc0109cdb9ab40ec4e486 )
Co-authored-by: AN Long <aisk@users.noreply.github.com>
Hugo van Kemenade [Tue, 23 Dec 2025 19:28:00 +0000 (21:28 +0200)]
[3.13] Update pre-commit with zizmor and Ruff fixes (GH-143095) (GH-143102) (#143113)
Hugo van Kemenade [Tue, 23 Dec 2025 16:29:28 +0000 (18:29 +0200)]
[3.13] gh-84232: Fix `pydoc` docs.python.org link generation (GH-139995) (#143099)
Co-authored-by: Stan Ulbrych <89152624+StanFromIreland@users.noreply.github.com>
Co-authored-by: Éric <merwok@netwok.org>
Miss Islington (bot) [Tue, 23 Dec 2025 04:59:43 +0000 (05:59 +0100)]
[3.13] gh-122431: Correct the non-negative error message in `readline.append_history_file` (GH-143075) (GH-143091)
gh-122431: Correct the non-negative error message in `readline.append_history_file` (GH-143075)
"positive" -> "non-negative", since zero is included.
(cherry picked from commit
a273bc99d2ff853f59ee6da4d897b1be72a03975 )
Co-authored-by: Zheng Yu <dataisland@outlook.com>
Miss Islington (bot) [Mon, 22 Dec 2025 18:13:53 +0000 (19:13 +0100)]
[3.13] gh-143010: Prevent a TOCTOU issue by only calling open once (GH-143011) (#143079)
gh-143010: Prevent a TOCTOU issue by only calling open once (GH-143011)
RDM: per AZero13's research the 'x' option did not exist when this code was written, This
modernization can thus drop the fd trick in _create_carefully and just use open with 'x' to achieve the same goal more securely.
(cherry picked from commit
a88d1b8dab4cbd3180dd7f1acb44d627db90323b )
Co-authored-by: AZero13 <gfunni234@gmail.com>
Co-authored-by: sobolevn <mail@sobolevn.me>
Miss Islington (bot) [Mon, 22 Dec 2025 11:12:34 +0000 (12:12 +0100)]
[3.13] gh-139743: Avoid print twice verbose version for sqlite tests (GH-142850) (GH-142866)
(cherry picked from commit
454485e564f637eefd980568c090808a681a91d0 )
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
Co-authored-by: yihong <zouzou0208@gmail.com>
Miss Islington (bot) [Mon, 22 Dec 2025 08:18:28 +0000 (09:18 +0100)]
[3.13] gh-143046: Make asyncio REPL respect the `-q` flag (quiet mode) (GH-143047) (#143061)
gh-143046: Make asyncio REPL respect the `-q` flag (quiet mode) (GH-143047)
(cherry picked from commit
6213a512bf42464e35ae5090358b80aaa64904cc )
Co-authored-by: Bartosz Sławecki <bartosz@ilikepython.com>
Miss Islington (bot) [Sun, 21 Dec 2025 19:36:23 +0000 (20:36 +0100)]
[3.13] gh-79986: Add parsing for References/In-Reply-To email headers (GH-137201) (#142574)
gh-79986: Add parsing for References/In-Reply-To email headers (GH-137201)
This is a followup to
46d88a113142b26c01c95c93846a89318ba87ffc (GH-13397),
which added parsing for Message-ID. Similar handling is needed for the
other two identification headers.
(cherry picked from commit
79aa43a9797de64a3c42794f34329eab638dd67a )
Co-authored-by: elenril <anton@khirnov.net>
Gregory P. Smith [Sun, 21 Dec 2025 07:03:24 +0000 (23:03 -0800)]
[3.13] gh-70647: Better promote how to safely parse yearless dates in datetime. (GH-116179) (#143038)
* gh-70647: Better promote how to safely parse yearless dates in datetime. (GH-116179)
* gh-70647: Better promote how to safely parse yearless dates in datetime.
Every four years people encounter this because it just isn't obvious.
This moves the footnote up to a note with a code example.
We'd love to change the default year value for datetime but doing
that could have other consequences for existing code. This documented
workaround *always* works.
* doctest code within note is bad, dedent.
* Update to match the error message.
* remove no longer referenced footnote
* ignore the warning in the doctest
* use Petr's suggestion for the docs to hide the warning processing
* cover date.strptime (3.14) as well
* remove date.strptime mentions from 3.14
Gregory P. Smith [Sun, 21 Dec 2025 00:22:07 +0000 (16:22 -0800)]
[3.13] gh-142145: relax the no-longer-quadratic test timing (GH-143030) (#143032)
gh-142145: relax the no-longer-quadratic test timing (#143030)
* gh-142145: relax the no-longer-quadratic test timing
* require cpu resource
(cherry picked from commit
8d2d7bb )
Miss Islington (bot) [Sat, 20 Dec 2025 23:56:59 +0000 (00:56 +0100)]
[3.13] gh-142754: Ensure that Element & Attr instances have the ownerDocument attribute (GH-142794) (#142819)
gh-142754: Ensure that Element & Attr instances have the ownerDocument attribute (GH-142794)
(cherry picked from commit
1cc7551b3f9f71efbc88d96dce90f82de98b2454 )
Co-authored-by: Petr Viktorin <encukou@gmail.com>
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
Mikhail Efimov [Sat, 20 Dec 2025 14:21:11 +0000 (17:21 +0300)]
[3.13] gh-140373: Correctly emit PY_UNWIND event when generator is closed (GH-140767) (#140821)
Miro Hrončok [Sat, 20 Dec 2025 11:58:01 +0000 (12:58 +0100)]
[3.13] gh-141808: Don't remove the JIT stencils when building with PGO (GH-141809) (GH-142657) (#142955)
See: https://discuss.python.org/t/building-the-jit-with-pre-built-stencils/91838/12
(cherry picked from commit
8914148151c957aebfaab1f3c890144d1b33968d )
(cherry picked from commit
73c80f69ba37eebb5279dcdea7f0fa8ef856c143 )
Co-authored-by: Stan Ulbrych <89152624+StanFromIreland@users.noreply.github.com>
Co-authored-by: Mikhail Efimov <efimov.mikhail@gmail.com>
Miss Islington (bot) [Sat, 20 Dec 2025 07:59:55 +0000 (08:59 +0100)]
[3.13] gh-143012: use `Py_ssize_t` cast for `PyBytes_FromStringAndSize` (GH-143013) (#143015)
gh-143012: use `Py_ssize_t` cast for `PyBytes_FromStringAndSize` (GH-143013)
(cherry picked from commit
5989095dfd08735525f2b615066bc3c231b09388 )
Co-authored-by: AZero13 <gfunni234@gmail.com>
stratakis [Sat, 20 Dec 2025 07:18:42 +0000 (08:18 +0100)]
[3.13] gh-142776: Ensure fp file descriptor is closed on all code paths in import.c (GH-142777) (#142989)
gh-142776: Ensure fp file descriptor is closed on all code paths in import.c (GH-142777)
(cherry picked from commit
6a4f10325d58deb1906b39d68dc8e84f4c2bf5a4 )
Miss Islington (bot) [Fri, 19 Dec 2025 12:34:18 +0000 (13:34 +0100)]
[3.13] gh-142681: Move NormalizationTest-3.2.0.txt to more safe place. (GH-142935) (GH-142945)
(cherry picked from commit
4a8ecbad809dedd9268973d533f24117dfc2e5ba )
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Miss Islington (bot) [Fri, 19 Dec 2025 08:35:34 +0000 (09:35 +0100)]
[3.13] gh-142527: Docs: Clarify that random.seed() discards the sign of an integer input (GH-142483) (#142971)
gh-142527: Docs: Clarify that random.seed() discards the sign of an integer input (GH-142483)
If *a* is an integer, the sign of *a* is discarded in the C source code. Clarify this behavior to prevent foot guns, where a common use case might naively assume that flipping the sign will produce different sequences (e.g. for a train/test split of a synthetic data generator in machine learning).
(cherry picked from commit
610aabfef2f90dc1a274703779615aa5b7fbbb3a )
Co-authored-by: Andrej <andrej.karpathy@gmail.com>
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
Miss Islington (bot) [Thu, 18 Dec 2025 19:19:00 +0000 (20:19 +0100)]
[3.13] gh-118342: [Enum] update docs (GH-137290) (GH-142954)
gh-118342: [Enum] update docs (GH-137290)
(cherry picked from commit
e79c39101a9f55882f54df0bb3ecfa23238692de )
Co-authored-by: Ethan Furman <ethan@stoneleaf.us>
Co-authored-by: Stan Ulbrych <89152624+StanFromIreland@users.noreply.github.com>
Miss Islington (bot) [Thu, 18 Dec 2025 17:04:03 +0000 (18:04 +0100)]
[3.13] gh-142784: make the asyncio REPL call `loop.close()` at exit (GH-142785) (#142932)
gh-142784: make the asyncio REPL call `loop.close()` at exit (GH-142785)
(cherry picked from commit
ddfc155d3ade5f4867c6789136df73f61d4efb03 )
Co-authored-by: Bartosz Sławecki <bartosz@ilikepython.com>
Savannah Ostrowski [Wed, 17 Dec 2025 20:04:53 +0000 (12:04 -0800)]
[3.13] GH-100964: Fix reference cycle in exhausted generator frames (G… (#142904)
* [3.13] GH-100964: Fix reference cycle in exhausted generator frames (GH-141112)
(cherry picked from commit
92243dc62ce10715ab0d9074b23dea5a1bfa9dcc )
Co-authored-by: Savannah Ostrowski <savannah@python.org>
Sam Gross [Wed, 17 Dec 2025 18:46:23 +0000 (13:46 -0500)]
[3.13] gh-142766: Clear frame when `generator.close()` is called (gh-142838) (#142900)
(cherry picked from commit
25397f9541be89264d35d41a67defcfeaa950844 )
Serhiy Storchaka [Wed, 17 Dec 2025 17:15:21 +0000 (19:15 +0200)]
[3.13] gh-112127: Fix possible use-after-free in atexit.unregister() (GH-114092) (GH-142880)
(cherry picked from commit
2b466c47c333106dc9522ab77898e6972e25a2c6 )
Co-authored-by: Benjamin Johnson <ben332004@gmail.com>
Miss Islington (bot) [Wed, 17 Dec 2025 17:04:39 +0000 (18:04 +0100)]
[3.13] gh-142873: Do not check for `PyContextVar_CheckExact` twice in `PyContextVar_Set` (GH-142874) (#142894)
gh-142873: Do not check for `PyContextVar_CheckExact` twice in `PyContextVar_Set` (GH-142874)
(cherry picked from commit
e61a447d0e0753621e8fc347e99dfc87884d68ab )
Co-authored-by: sobolevn <mail@sobolevn.me>
Miss Islington (bot) [Wed, 17 Dec 2025 16:53:14 +0000 (17:53 +0100)]
[3.13] gh-142876: remove reference to thread in documentation of `asyncio.Queue.shutdown` (GH-142888) (#142892)
gh-142876: remove reference to thread in documentation of `asyncio.Queue.shutdown` (GH-142888)
(cherry picked from commit
77c8e6a2b8e206ea8151ab1b431e32f1cad51ddd )
Co-authored-by: Damian Birchler <damian@damianbirchler.net>
Miss Islington (bot) [Wed, 17 Dec 2025 16:12:35 +0000 (17:12 +0100)]
[3.13] decimal docs: specification link and examples (GH-128698) (#142805)
decimal docs: specification link and examples (GH-128698)
(cherry picked from commit
2450be607cfbdb1ab9e4ed7c0fe01d715e406d18 )
Co-authored-by: Sergey B Kirpichev <skirpichev@gmail.com>
Co-authored-by: RUANG (James Roy) <longjinyii@outlook.com>
Co-authored-by: Stan Ulbrych <89152624+StanFromIreland@users.noreply.github.com>
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
Miss Islington (bot) [Wed, 17 Dec 2025 15:43:51 +0000 (16:43 +0100)]
[3.13] Fix os.posix_spawn() error handling (GH-142532) (#142581)
Fix os.posix_spawn() error handling (GH-142532)
Consistently use `goto exit;` in `py_posix_spawn()`.
(cherry picked from commit
8cfa351560487d472df4c7d841814801fbf57397 )
Co-authored-by: Bartosz Sławecki <bartosz@ilikepython.com>
Miss Islington (bot) [Wed, 17 Dec 2025 13:20:28 +0000 (14:20 +0100)]
[3.13] gh-142836: Avoid /proc fd pipes on Solaris (GH-142853) (#142855)
gh-142836: Avoid /proc fd pipes on Solaris (GH-142853)
(cherry picked from commit
c35b812e773493f88631cd1e8be65d3a7c3b47ae )
Co-authored-by: Jason R. Coombs <jaraco@jaraco.com>
Miss Islington (bot) [Wed, 17 Dec 2025 11:47:36 +0000 (12:47 +0100)]
[3.13] gh-142859: Add `Tools/check-c-api-docs` to mypy check (GH-142860) (#142870)
gh-142859: Add `Tools/check-c-api-docs` to mypy check (GH-142860)
(cherry picked from commit
248eb3efb3cad7799ef9b4a2dd77a66d1ae65c11 )
Co-authored-by: sobolevn <mail@sobolevn.me>
Lysandros Nikolaou [Wed, 17 Dec 2025 11:22:33 +0000 (12:22 +0100)]
[3.13] gh-140374: Add glossary entries related to multithreading (GH-140375) (#142869)
---------
(cherry picked from commit
1e9a0ee6823023a9bdaa60e6fcc71327c604a0fb )
Co-authored-by: Daniele Parmeggiani <8658291+dpdani@users.noreply.github.com>
Miss Islington (bot) [Wed, 17 Dec 2025 10:28:37 +0000 (11:28 +0100)]
[3.13] gh-139320: Cover exception chaining in the docs of `contextmanager.__exit__` (GH-140169) (GH-142793)
(cherry picked from commit
a44509ea87021f78a9f769aff2bb3fc212bc8afc )
Co-authored-by: Bartosz Sławecki <bartosz@ilikepython.com>
Miss Islington (bot) [Wed, 17 Dec 2025 09:21:20 +0000 (10:21 +0100)]
[3.13] gh-142783: Fix possible use after free in zoneinfo module (GH-142790) (GH-142861)
(cherry picked from commit
8307a14d0edc14ae2f775995720e4b6d6dc865b3 )
Co-authored-by: wangxiaolei <fatelei@gmail.com>
Serhiy Storchaka [Wed, 17 Dec 2025 08:40:47 +0000 (10:40 +0200)]
[3.13] gh-142495: Make `defaultdict` keep existed value when racing with `__missing__` (GH-142668) (GH-142858)
(cherry picked from commit
a0434075108efe6acdfba34f42545f4d80ac9a5e )
Co-authored-by: Edward Xu <xuxiangad@gmail.com>
Miss Islington (bot) [Wed, 17 Dec 2025 08:09:59 +0000 (09:09 +0100)]
[3.13] gh-142752: add more thread safety tests for mock (GH-142791) (#142857)
gh-142752: add more thread safety tests for mock (GH-142791)
(cherry picked from commit
4fd006e71247601e9a84e0fa04f96bed5129f09e )
Co-authored-by: Kumar Aditya <kumaraditya@python.org>
Miss Islington (bot) [Tue, 16 Dec 2025 15:53:09 +0000 (16:53 +0100)]
[3.13] gh-142315: Don't pass the "real path" of Pdb script target to system functions (GH-142371) (#142498)
gh-142315: Don't pass the "real path" of Pdb script target to system functions (GH-142371
---------
(cherry picked from commit
d716e3b2dd33de27aaa31e8204723195c5ba706c )
Co-authored-by: Bartosz Sławecki <bartosz@ilikepython.com>
Co-authored-by: Jason R. Coombs <jaraco@jaraco.com>
Miss Islington (bot) [Tue, 16 Dec 2025 14:50:58 +0000 (15:50 +0100)]
[3.13] gh-130536: Add details to `os.path` documentation (GH-130557) (#142801)
Co-authored-by: Arthur Wigo <arthur.l.wigo@gmail.com>
Miss Islington (bot) [Tue, 16 Dec 2025 12:04:13 +0000 (13:04 +0100)]
[3.13] gh-83926: BlockingIOError characters_written is byte count (GH-141215) (#142815)
gh-83926: BlockingIOError characters_written is byte count (GH-141215)
(cherry picked from commit
e12c744b0a9322186146a90a5d2283d9a1049d31 )
Co-authored-by: Cody Maloney <cmaloney@users.noreply.github.com>
Miss Islington (bot) [Tue, 16 Dec 2025 12:02:07 +0000 (13:02 +0100)]
[3.13] gh-142019: Add description about the exponent of result formatted with presentation type 'e' (GH-142084) (#142814)
Co-authored-by: 1nftf <QfxZ11@proton.me>
Miss Islington (bot) [Tue, 16 Dec 2025 11:52:38 +0000 (12:52 +0100)]
[3.13] gh-141218: Fix inaccurate object comparison documentation (GH-141221) (#142811)
Co-authored-by: Mohsin Mehmood <55545648+mohsinm-dev@users.noreply.github.com>
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
Miss Islington (bot) [Tue, 16 Dec 2025 11:52:07 +0000 (12:52 +0100)]
[3.13] Remove duplicate content in `Mapping types - dict` documentation (GH-141036) (#142809)
Co-authored-by: Owain Davies <116417456+OTheDev@users.noreply.github.com>
Miss Islington (bot) [Tue, 16 Dec 2025 11:50:02 +0000 (12:50 +0100)]
[3.13] Correct Glossary key function example to use str.casefold instead of str.lower (GH-140316) (#142806)
Co-authored-by: Cameron Beck <94604154+cbkinase@users.noreply.github.com>
Miss Islington (bot) [Tue, 16 Dec 2025 11:45:31 +0000 (12:45 +0100)]
[3.13] gh-106318: Add examples for str.ljust() method (GH-142719) (#142803)
Co-authored-by: Adorilson Bezerra <adorilson@gmail.com>
Co-authored-by: Stan Ulbrych <89152624+StanFromIreland@users.noreply.github.com>
Miss Islington (bot) [Tue, 16 Dec 2025 11:32:19 +0000 (12:32 +0100)]
[3.13] gh-85204: Improve `locale.setlocale` example (GH-132683) (#142799)
Co-authored-by: Stan Ulbrych <89152624+StanFromIreland@users.noreply.github.com>
Miss Islington (bot) [Tue, 16 Dec 2025 11:27:42 +0000 (12:27 +0100)]
[3.13] gh-124864: Extends smtplib documentation on ESMTP options format (GH-132547) (#142797)
Co-authored-by: Patrick R <codeZeilen@users.noreply.github.com>
Miss Islington (bot) [Tue, 16 Dec 2025 11:00:40 +0000 (12:00 +0100)]
[3.13] gh-142595: Amend
be5e0dcdedb (fix NULL pointer dereference) (GH-142775) (GH-142789)
(cherry picked from commit
15a9762500b3d9a13206aa54d8695513efaf3b55 )
Co-authored-by: Sergey B Kirpichev <skirpichev@gmail.com>
Co-authored-by: Kumar Aditya <kumaraditya@python.org>