]>
git.ipfire.org Git - thirdparty/Python/cpython.git/log
Fatih Çelik [Sun, 28 Dec 2025 14:48:43 +0000 (17:48 +0300)]
gh-143241: Fix infinite loop in `zoneinfo._common.load_data` (#143243)
Correctly reject truncated TZif files in `ZoneInfo.from_file`.
---------
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 13:50:23 +0000 (13:50 +0000)]
gh-143228: Fix UAF in perf trampoline during finalization (#143233)
Pablo Galindo Salgado [Sun, 28 Dec 2025 12:52:32 +0000 (12:52 +0000)]
gh-136186: Fix more flaky tests in test_external_inspection (#143235)
Serhiy Storchaka [Sun, 28 Dec 2025 12:30:36 +0000 (14:30 +0200)]
gh-143003: Fix possible shared buffer overflow in bytearray.extend() (GH-143086)
When __length_hint__() returns 0 for non-empty iterator, the data can be
written past the shared 0-terminated buffer, corrupting it.
Ken Jin [Sun, 28 Dec 2025 12:15:24 +0000 (20:15 +0800)]
gh-139922: Link to results in MSVC tail calling in What's New 3.15 (GH-143242)
Link to results in MSVC tail calling for whats new in 3.15
Bénédikt Tran [Sat, 27 Dec 2025 14:57:13 +0000 (14:57 +0000)]
gh-142557: fix UAF in `bytearray.__mod__` when object is mutated while formatting `%`-style arguments (#143213)
Bénédikt Tran [Sat, 27 Dec 2025 14:30:09 +0000 (14:30 +0000)]
gh-142664: fix `PyObject_Hash` invokation post GH-143217 (#143223)
Pablo Galindo Salgado [Sat, 27 Dec 2025 13:38:11 +0000 (13:38 +0000)]
gh-131591: Do not free page caches that weren't allocated (#143205)
Bénédikt Tran [Sat, 27 Dec 2025 13:12:03 +0000 (13:12 +0000)]
gh-142664: fix UAF in `memoryview.__hash__` via re-entrant data's `__hash__` (#143217)
Bénédikt Tran [Sat, 27 Dec 2025 12:57:03 +0000 (12:57 +0000)]
gh-138122: fix AC warnings in `Modules/_remote_debugging/module.c` (#143218)
Bénédikt Tran [Sat, 27 Dec 2025 12:32:52 +0000 (12:32 +0000)]
gh-143195: fix UAF in `{bytearray,memoryview}.hex(sep)` via re-entrant `sep.__len__` (#143209)
Rafael Fontenelle [Sat, 27 Dec 2025 10:48:01 +0000 (07:48 -0300)]
no-issue: Fix override value in os.rst (gh-123522)
AN Long [Sat, 27 Dec 2025 10:33:56 +0000 (19:33 +0900)]
gh-63016: Add flags parameter on mmap.flush (#139553)
Co-authored-by: Victor Stinner <vstinner@python.org>
SYan212 [Sat, 27 Dec 2025 07:52:28 +0000 (07:52 +0000)]
Fix typos in docs (#143193)
Duane Hilton [Sat, 27 Dec 2025 07:23:57 +0000 (00:23 -0700)]
gh-143181: Fix 'overriden' -> 'overridden' in c-api/module.rst (#143182)
* Doc: Fix typo 'overriden' -> 'overridden' in c-api/module.rst
* Fix 'overriden' -> 'overridden' in tests
Pablo Galindo Salgado [Sat, 27 Dec 2025 01:39:21 +0000 (01:39 +0000)]
gh-140739: Fix missing exception on allocation failure in BinaryWriter (#143204)
Marta Gómez Macías [Sat, 27 Dec 2025 00:36:15 +0000 (01:36 +0100)]
gh-143040: Exit taychon live mode gracefully and display profiled script errors (#143101)
Hai Zhu [Fri, 26 Dec 2025 20:30:02 +0000 (04:30 +0800)]
gh-134584: Eliminate redundant refcounting from `IS_OP` (GH-143171)
Eliminate redundant refcounting from IS_OP
Hai Zhu [Fri, 26 Dec 2025 16:12:28 +0000 (00:12 +0800)]
gh-134584: Eliminate redundant refcounting from `_COMPARE_OP_X` (GH-143186)
Pablo Galindo Salgado [Fri, 26 Dec 2025 16:06:48 +0000 (16:06 +0000)]
gh-140739: Fix crashes from corrupted remote memory (#143190)
Yongtao Huang [Fri, 26 Dec 2025 11:11:11 +0000 (19:11 +0800)]
Remove redundant pycore_optimizer.h includes (#143184)
`pycore_optimizer.h` was included redundantly in
Objects/frameobject.c and Python/instrumentation.c.
Both includes are unnecessary and can be safely removed.
No functional change.
Signed-off-by: Yongtao Huang <yongtaoh2022@gmail.com>
László Kiss Kollár [Thu, 25 Dec 2025 19:21:16 +0000 (19:21 +0000)]
gh-138122: Remove default duration for statistical profiling (#143174)
Co-authored-by: Pablo Galindo Salgado <pablogsal@gmail.com>
Hugo van Kemenade [Thu, 25 Dec 2025 18:28:13 +0000 (20:28 +0200)]
gh-142927: Tachyon: Fix contrast ratio in top panel (#142936)
ivonastojanovic [Thu, 25 Dec 2025 18:22:54 +0000 (19:22 +0100)]
gh-138122: Convert GIL/GC/exception stats from tiles to progress bars (#143177)
Yongtao Huang [Thu, 25 Dec 2025 17:08:43 +0000 (01:08 +0800)]
gh-143164: Fix incorrect error message for ctypes bitfield overflow (GH-143165)
Signed-off-by: Yongtao Huang <yongtaoh2022@gmail.com>
Peter Bierma [Thu, 25 Dec 2025 16:31:41 +0000 (11:31 -0500)]
gh-142975: During GC, mark frozen objects with a merged zero refcount for destruction (GH-143156)
Yongtao Huang [Thu, 25 Dec 2025 14:24:25 +0000 (22:24 +0800)]
gh-143145: Fix possible reference leak in ctypes _build_result() (GH-143131)
The result tuple was leaked if __ctypes_from_outparam__() failed for any item.
Signed-off-by: Yongtao Huang <yongtaoh2022@gmail.com>
Hauke D [Thu, 25 Dec 2025 11:34:44 +0000 (12:34 +0100)]
gh-143103: Added pad parameter to base64.z85encode() (GH-143106)
This makes it analogous to a85encode() and b85encode() and allows the
user to more easily meet the Z85 specification, which requires input
lengths to be a multiple of 4.
kaushal trivedi [Thu, 25 Dec 2025 09:13:39 +0000 (14:43 +0530)]
gh-143004: Fix possible use-after-free in collections.Counter.update() (GH-143044)
This happened when the Counter was mutated when incrementing
the value for an existing key.
Ken Jin [Wed, 24 Dec 2025 22:03:00 +0000 (06:03 +0800)]
gh-143092: Make CALL_LIST_APPEND and BINARY_OP_INPLACE_ADD_UNICODE normal instructions (GH-143124)
These super instructions need many special cases in the interpreter, specializer, and JIT. It's best we convert them to normal instructions.
Sam Gross [Wed, 24 Dec 2025 21:10:43 +0000 (16:10 -0500)]
gh-120321: Fix TSan reported races on gi_frame_state (gh-143128)
Cody Maloney [Wed, 24 Dec 2025 19:03:10 +0000 (11:03 -0800)]
Move News for gh-142560 to Core and Builtins (GH-143154)
R. David Murray [Wed, 24 Dec 2025 18:14:23 +0000 (13:14 -0500)]
gh-142517: Fix typo in news item. (#143150)
Stan Ulbrych [Wed, 24 Dec 2025 17:56:59 +0000 (17:56 +0000)]
gh-143135: Fix sys.flags.inspect when PYTHONINSPECT=0 (GH-143136)
Tom Kuson [Wed, 24 Dec 2025 17:30:20 +0000 (17:30 +0000)]
gh-140717: Add `exc_text` to LogRecord attributes table (GH-140718)
Pablo Galindo Salgado [Wed, 24 Dec 2025 16:15:11 +0000 (16:15 +0000)]
gh-138122: Extend binary profiling format with full source location and opcode (#143088)
Co-authored-by: Stan Ulbrych <stan@ulbrych.org>
R. David Murray [Wed, 24 Dec 2025 14:14:39 +0000 (09:14 -0500)]
Correctly fold unknown-8bit originating from encoded words. (#142517)
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.
László Kiss Kollár [Wed, 24 Dec 2025 13:46:33 +0000 (13:46 +0000)]
gh-138122: Replace --interval with --sampling-rate (#143085)
Sam Gross [Wed, 24 Dec 2025 13:02:19 +0000 (08:02 -0500)]
gh-143100: Fix memcpy data race in setobject.c (gh-143127)
Sam Gross [Wed, 24 Dec 2025 13:02:02 +0000 (08:02 -0500)]
gh-143121: Skip test that leak threads under TSan (gh-143125)
Sam Gross [Wed, 24 Dec 2025 13:01:45 +0000 (08:01 -0500)]
gh-142145: Avoid timing measurements in quadratic behavior test (gh-143105)
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.
Pablo Galindo Salgado [Wed, 24 Dec 2025 12:38:17 +0000 (12:38 +0000)]
gh-136186: Fix flaky tests in test_external_inspection (#143110)
Diego Russo [Wed, 24 Dec 2025 09:44:16 +0000 (09:44 +0000)]
JIT: Move executor to a register (#143072)
Sam Gross [Wed, 24 Dec 2025 01:12:55 +0000 (20:12 -0500)]
gh-143108: Don't instrument faulthandler.c for TSan (#143109)
The dumping of tracebacks has data races and that's okay (it's best
effort).
Hai Zhu [Tue, 23 Dec 2025 21:47:12 +0000 (05:47 +0800)]
gh-134584: Eliminate redundant refcounting from `_BINARY_OP_SUBSCR_TUPLE_INT` (GH-143094)
Sam Gross [Tue, 23 Dec 2025 20:52:59 +0000 (15:52 -0500)]
gh-143100: Add temporary suppression for set_swap_bodies (gh-143114)
AN Long [Tue, 23 Dec 2025 19:28:32 +0000 (04:28 +0900)]
gh-109263: Start process from spawn context in multiprocessing no longer have side effect (GH-135813)
Diego Russo [Tue, 23 Dec 2025 17:50:00 +0000 (17:50 +0000)]
JIT: don't leak shim memory when shutting down the interpreter (#142984)
Mark Shannon [Tue, 23 Dec 2025 17:19:34 +0000 (17:19 +0000)]
GH-143026: Fix assertion error in executor management. (GH-143104)
Tomas R. [Tue, 23 Dec 2025 17:01:10 +0000 (18:01 +0100)]
gh-134584: Eliminate redundant refcounting from `_CALL_TYPE_1` (GH-135818)
Ken Jin [Tue, 23 Dec 2025 16:47:46 +0000 (00:47 +0800)]
gh-134584: Add another contributor to whats new 3.15 (GH-143107)
Add another contributor to whats new 3.15
Hugo van Kemenade [Tue, 23 Dec 2025 15:51:02 +0000 (17:51 +0200)]
Update pre-commit with zizmor and Ruff fixes (#143095)
Victor Stinner [Tue, 23 Dec 2025 15:31:10 +0000 (16:31 +0100)]
gh-130796: Undeprecate locale.getdefaultlocale() (#143069)
Ken Jin [Tue, 23 Dec 2025 11:27:23 +0000 (19:27 +0800)]
gh-142448: Disable JIT tracing when monitoring is enabled (GH-142842)
Pablo Galindo Salgado [Tue, 23 Dec 2025 11:01:32 +0000 (11:01 +0000)]
gh-142368: Fix transient error handling in inspection tests (#143093)
Pablo Galindo Salgado [Tue, 23 Dec 2025 10:49:47 +0000 (10:49 +0000)]
gh-138122: Add blocking mode for accurate stack traces in Tachyon (#142998)
Stan Ulbrych [Tue, 23 Dec 2025 08:29:58 +0000 (08:29 +0000)]
gh-84232: Fix `pydoc` docs.python.org link generation (#139995)
Co-authored-by: Éric <merwok@netwok.org>
Zheng Yu [Tue, 23 Dec 2025 04:35:23 +0000 (22:35 -0600)]
gh-122431: Correct the non-negative error message in `readline.append_history_file` (GH-143075)
"positive" -> "non-negative", since zero is included.
Hai Zhu [Tue, 23 Dec 2025 00:28:08 +0000 (08:28 +0800)]
gh-134584: Eliminate redundant refcounting from `_LOAD_ATTR_WITH_HINT` (GH-143062)
Eliminate redundant refcounting from _LOAD_ATTR_WITH_HINT
Pablo Galindo Salgado [Mon, 22 Dec 2025 23:57:20 +0000 (23:57 +0000)]
gh-138122: Allow tachyon to write and read binary output (#142730)
Ken Jin [Mon, 22 Dec 2025 23:56:26 +0000 (07:56 +0800)]
gh-139922: Add tail call for MSVC for whats new in 3.15 (GH-143087)
Chris Eibl [Mon, 22 Dec 2025 23:01:34 +0000 (00:01 +0100)]
GH-139922: Tail calling for MSVC (VS 2026) (GH-143068)
Co-authored-by: Ken Jin <28750310+Fidget-Spinner@users.noreply.github.com>
Co-authored-by: Brandt Bucher <brandt@python.org>
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
Ken Jin [Mon, 22 Dec 2025 20:54:47 +0000 (04:54 +0800)]
gh-139109: Add terminator to JIT code when halting due to invalid dependencies (#143033)
* Add terminator to JIT code when halting due to invalid dependencies
* 📜🤖 Added by blurb_it.
---------
Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
Stan Ulbrych [Mon, 22 Dec 2025 19:36:44 +0000 (19:36 +0000)]
gh-89152: Note truth testing exception in `stdtypes.rst` (#137640)
Co-authored-by: Peter Bierma <zintensitydev@gmail.com>
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
AZero13 [Mon, 22 Dec 2025 17:48:11 +0000 (12:48 -0500)]
gh-143010: Prevent a TOCTOU issue by only calling open once (#143011)
* gh-143010: Prevent a TOCTOU issue by gh-143010: Prevent a TOCTOU issue by only calling open once
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.
Co-authored-by: sobolevn <mail@sobolevn.me>
Chris Eibl [Mon, 22 Dec 2025 17:10:52 +0000 (18:10 +0100)]
GH-142513: fix missing return in executor_clear (GH-143073)
fix missing return in executor_clear
Kumar Aditya [Mon, 22 Dec 2025 16:15:28 +0000 (21:45 +0530)]
gh-129069: fix more thread safety issues in `list` (#143019)
Kumar Aditya [Mon, 22 Dec 2025 15:38:07 +0000 (21:08 +0530)]
gh-143057: avoid locking in `tracemalloc` C-APIs when it is not enabled (#143065)
Ken Jin [Mon, 22 Dec 2025 14:57:13 +0000 (22:57 +0800)]
gh-142476: Fix Windows crashing with JIT (GH-143021)
Fix Windows crashing with JIT
Hugo van Kemenade [Mon, 22 Dec 2025 14:15:57 +0000 (16:15 +0200)]
gh-142927: Tachyon: Comma separate thousands and fix singular/plurals (#142934)
Yongtao Huang [Mon, 22 Dec 2025 10:16:50 +0000 (18:16 +0800)]
Remove unreachable code in mmapmodule error path on Windows (GH-143063)
mmapmodule: remove unreachable code in Windows error path
Remove an unreachable `return NULL` after `PyErr_SetFromWindowsErr()` in
the Windows mmap resize error path.
Signed-off-by: Yongtao Huang <yongtaoh2022@gmail.com>
Bartosz Sławecki [Mon, 22 Dec 2025 07:05:15 +0000 (08:05 +0100)]
gh-143046: Make asyncio REPL respect the `-q` flag (quiet mode) (#143047)
saucoide [Sun, 21 Dec 2025 16:58:07 +0000 (17:58 +0100)]
gh-80744: do not read .pdbrc twice when cwd == $home (#136816)
Gregory P. Smith [Sun, 21 Dec 2025 06:47:40 +0000 (22:47 -0800)]
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
Gregory P. Smith [Sat, 20 Dec 2025 23:42:06 +0000 (15:42 -0800)]
gh-142145: relax the no-longer-quadratic test timing (#143030)
* gh-142145: relax the no-longer-quadratic test timing
* require cpu resource
Sam Gross [Sat, 20 Dec 2025 20:37:31 +0000 (15:37 -0500)]
gh-122581: Use parser mutex in default build for subinterpreters (gh-142959)
Sam Gross [Sat, 20 Dec 2025 19:42:12 +0000 (14:42 -0500)]
gh-120321: Avoid `-Wunreachable-code` warning on Clang (gh-143022)
Hai Zhu [Sat, 20 Dec 2025 17:27:34 +0000 (01:27 +0800)]
gh-142834: pdb commands command should use last available breakpoint (#142835)
AZero13 [Sat, 20 Dec 2025 07:37:10 +0000 (02:37 -0500)]
gh-143012: use `Py_ssize_t` cast for `PyBytes_FromStringAndSize` (#143013)
Hugo van Kemenade [Sat, 20 Dec 2025 01:36:09 +0000 (03:36 +0200)]
gh-142927: Tachyon: Start with user's default light/dark theme (#142987)
Sam Gross [Fri, 19 Dec 2025 23:06:47 +0000 (18:06 -0500)]
gh-129069: Fix listobject.c data races due to memmove (gh-142957)
The use of memmove and _Py_memory_repeat were not thread-safe in the
free threading build in some cases. In theory, memmove and
_Py_memory_repeat can copy byte-by-byte instead of pointer-by-pointer,
so concurrent readers could see uninitialized data or tearing.
Additionally, we should be using "release" (or stronger) ordering to be
compliant with the C11 memory model when copying objects within a list.
Sam Gross [Fri, 19 Dec 2025 22:33:49 +0000 (17:33 -0500)]
gh-120321: Fix TSan reported race in gen_clear_frame (gh-142995)
TSan treats compare-exchanges that fail as if they are writes
so there is a false positive with the read of gi_frame_state in
gen_close.
Sam Gross [Fri, 19 Dec 2025 19:10:37 +0000 (14:10 -0500)]
gh-120321: Make gi_frame_state transitions atomic in FT build (gh-142599)
This makes generator frame state transitions atomic in the free
threading build, which avoids segfaults when trying to execute
a generator from multiple threads concurrently.
There are still a few operations that aren't thread-safe and may crash
if performed concurrently on the same generator/coroutine:
* Accessing gi_yieldfrom/cr_await/ag_await
* Accessing gi_frame/cr_frame/ag_frame
* Async generator operations
Shamil [Fri, 19 Dec 2025 19:07:11 +0000 (22:07 +0300)]
gh-142476: fix memory leak when creating JIT executors (GH-142492)
Ken Jin [Fri, 19 Dec 2025 19:06:34 +0000 (03:06 +0800)]
gh-134584: JIT: Borrow references for immortal promoted globals (GH-142921)
JIT: Borrow references for immortal promoted globals
stratakis [Fri, 19 Dec 2025 18:14:52 +0000 (19:14 +0100)]
gh-142776: Ensure fp file descriptor is closed on all code paths in import.c (GH-142777)
Ken Jin [Fri, 19 Dec 2025 17:43:36 +0000 (01:43 +0800)]
gh-142961: Fix constant folding len(tuple) in JIT (GH-142963)
Petr Viktorin [Fri, 19 Dec 2025 16:48:34 +0000 (17:48 +0100)]
gh-134160: Start "Extending and embedding" with a Diataxis-style tutorial (GH-142314)
Co-authored-by: Stan Ulbrych <89152624+StanFromIreland@users.noreply.github.com>
Co-authored-by: Éric <merwok@netwok.org>
Co-authored-by: Daniele Nicolodi <daniele@grinta.net>
Co-authored-by: Peter Bierma <zintensitydev@gmail.com>
Diego Russo [Fri, 19 Dec 2025 14:39:41 +0000 (14:39 +0000)]
JIT: Rename trampoline.c to shim.c (#142974)
Rogdham [Fri, 19 Dec 2025 12:44:03 +0000 (13:44 +0100)]
gh-136282: Configparser: create unnamed sections via mapping protocol access (GH-136313)
Andrej [Fri, 19 Dec 2025 08:29:35 +0000 (00:29 -0800)]
gh-142527: Docs: Clarify that random.seed() discards the sign of an integer input (#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).
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
wangxiaolei [Fri, 19 Dec 2025 08:02:23 +0000 (16:02 +0800)]
gh-142560: prevent use-after-free in search-like methods by exporting buffer in bytearray (#142938)
Savannah Ostrowski [Thu, 18 Dec 2025 21:29:54 +0000 (13:29 -0800)]
GH-134584: Remove redundant refcount for `BINARY_OP_SUBSCR_STR_INT` (#142844)
Ethan Furman [Thu, 18 Dec 2025 18:31:37 +0000 (10:31 -0800)]
gh-118342: [Enum] update docs (GH-137290)
Co-authored-by: Stan Ulbrych <89152624+StanFromIreland@users.noreply.github.com>
LloydZ [Thu, 18 Dec 2025 18:25:36 +0000 (02:25 +0800)]
gh-134584: Eliminate redundant refcounting from _BINARY_OP_SUBSCR_LIST_INT (GH-142926)
Sam Gross [Thu, 18 Dec 2025 18:11:51 +0000 (13:11 -0500)]
gh-129068: Make range iterators thread-safe (gh-142886)
Now that we specialize range iteration in the interpreter for the common
case where the iterator has only one reference, there's not a
significant performance cost to making the iteration thread-safe.
Kumar Aditya [Thu, 18 Dec 2025 17:18:56 +0000 (22:48 +0530)]
gh-142890: remove unnecessary interp parameter from dict functions and `_PyDict_NotifyEvent` (#142923)
Serhiy Storchaka [Thu, 18 Dec 2025 17:04:28 +0000 (19:04 +0200)]
gh-142681: Move NormalizationTest-3.2.0.txt to more safe place. (GH-142935)
Mark Shannon [Thu, 18 Dec 2025 16:43:44 +0000 (16:43 +0000)]
GH-142513: Reimplement executor management (GH-142931)
* Invalidating an executor does not cause arbitrary code to run
* Executors are only freed at safe points
Donghee Na [Thu, 18 Dec 2025 14:33:49 +0000 (23:33 +0900)]
gh-142419: Add mmap.set_name method for user custom annotation (gh-142480)