]> git.ipfire.org Git - thirdparty/Python/cpython.git/log
thirdparty/Python/cpython.git
5 days ago[3.13] gh-105895: Add `match` and `case` doc to `help()` (GH-152113) (#152128)
sobolevn [Wed, 24 Jun 2026 22:05:05 +0000 (01:05 +0300)] 
[3.13] gh-105895: Add `match` and `case` doc to `help()` (GH-152113) (#152128)

(cherry picked from commit 1d55b3778c1c31549c5f914fcc451db4a3dcc501)

Co-authored-by: dzherb <zherbin.dima@yandex.ru>
Co-authored-by: Stan Ulbrych <stan@python.org>
5 days ago[3.13] gh-151955: Allow more ParamSpec bounds (#152122)
Jelle Zijlstra [Wed, 24 Jun 2026 20:08:56 +0000 (13:08 -0700)] 
[3.13] gh-151955: Allow more ParamSpec bounds (#152122)

gh-151955: Allow more ParamSpec and TypeVarTuple bounds (#151956)

(cherry picked from commit 0fb82b46df7bc95c2ba816afba56ff6a6c51caaf)

5 days ago[3.13] gh-86726: Improve the structure of the tkinter reference (GH-152109 (GH-152111...
Serhiy Storchaka [Wed, 24 Jun 2026 19:36:14 +0000 (22:36 +0300)] 
[3.13] gh-86726: Improve the structure of the tkinter reference (GH-152109 (GH-152111) (GH-152119)

Add short group intros before each cluster of Misc methods.
Group the Tk and Toplevel classes in a new "Toplevel widgets" section, move
the Tcl() function to the module-level functions, and move the "File
handlers" section into the reference.
(cherry picked from commit c7faa6936e17630ec26d4e0438ae9b95561b7151)
(cherry picked from commit 2d5187116b526b3570c0010ba58f4066b6be468d)

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
6 days ago[3.13] Re-raise unexpected exceptions instead of swallowing them in various tests...
Miss Islington (bot) [Wed, 24 Jun 2026 16:50:36 +0000 (18:50 +0200)] 
[3.13] Re-raise unexpected exceptions instead of swallowing them in various tests (GH-152019) (#152104)

(cherry picked from commit 6c3da17d1f333f6bd4c07d11e2e304159d550822)

Co-authored-by: An Long <aisk@users.noreply.github.com>
Co-authored-by: Stan Ulbrych <stan@python.org>
6 days ago[3.13] gh-151763: Fix NULL dereference in `os._path_normpath()` under OOM (GH-151779...
Miss Islington (bot) [Wed, 24 Jun 2026 16:22:23 +0000 (18:22 +0200)] 
[3.13] gh-151763: Fix NULL dereference in `os._path_normpath()` under OOM (GH-151779) (#152094)

(cherry picked from commit ce8b81fff4094bd0cfb0c57193135bfc904c0ca2)

Co-authored-by: Zain Nadeem <zainnadeemzainnadeem80@gmail.com>
6 days ago[3.13] `valgrind-python.supp`: Update suppression for readline leaks (GH-151783)...
Miss Islington (bot) [Wed, 24 Jun 2026 14:02:51 +0000 (16:02 +0200)] 
[3.13] `valgrind-python.supp`: Update suppression for readline leaks (GH-151783) (#152086)

`valgrind-python.supp`: Update suppression for readline leaks (GH-151783)
(cherry picked from commit 28b63d301dcfb7ecff86903094b9351d92d9c31e)

Co-authored-by: Stan Ulbrych <stan@python.org>
6 days ago[3.13] gh-151814: Fix unbounded memory growth from repeated empty writes to `io.TextI...
Miss Islington (bot) [Wed, 24 Jun 2026 12:19:03 +0000 (14:19 +0200)] 
[3.13] gh-151814: Fix unbounded memory growth from repeated empty writes to `io.TextIOWrapper` (GH-151817) (#152073)

(cherry picked from commit c61307222e18bfa06691d53e3ad336c46f432de0)

Co-authored-by: Stan Ulbrych <stan@python.org>
6 days ago[3.13] gh-151905: fix memory error handling in PyFrame_GetBack (GH-151906) (#152065)
Prakash Sellathurai [Wed, 24 Jun 2026 11:40:07 +0000 (17:10 +0530)] 
[3.13] gh-151905: fix memory error handling in PyFrame_GetBack (GH-151906) (#152065)

[3.13] gh-151905: fix memory error handling in PyFrame_GetBack
(pythonGH-151906)

Signed-off-by: Prakash Sellathurai <prakashsellathurai@gmail.com>
6 days ago[3.13] gh-143927: Normalize all line endings (CR, CRLF, and LF) in configparser ...
Miss Islington (bot) [Wed, 24 Jun 2026 09:46:43 +0000 (11:46 +0200)] 
[3.13] gh-143927: Normalize all line endings (CR, CRLF, and LF) in configparser (GH-143929) (GH-152004)

(cherry picked from commit 5858e42c539dac8394636a6e9b30472b8994851f)

Co-authored-by: Seth Larson <seth@python.org>
6 days ago[3.13] gh-151497: Avoid huge pre-allocation for oversized tarfile extended headers...
Miss Islington (bot) [Wed, 24 Jun 2026 09:23:45 +0000 (11:23 +0200)] 
[3.13] gh-151497: Avoid huge pre-allocation for oversized tarfile extended headers (GH-151498) (GH-151978)

tarfile reads a member's extended header (a GNU long name/link or a pax
header) with a single read sized by the header's size field:

    buf = tarfile.fileobj.read(self._block(self.size))

The size is taken from the archive and is not validated, so a ~512-byte
crafted file can claim several gigabytes (or, via base-256 encoding, far
more) and make read() pre-allocate that much memory -- on open/iterate,
before any extraction filter runs.

Read the extended-header data in bounded chunks instead, so an oversized
or truncated header can no longer force a huge allocation. The bytes
returned for valid archives are unchanged.
(cherry picked from commit da99711d37dba3413af05207ea8b12cb06041c0f)

Co-authored-by: Shardul Deshpande <iamsharduld@users.noreply.github.com>
6 days ago[3.13] gh-84008: Document that the LC_NUMERIC locale affects tkinter numeric widgets...
Miss Islington (bot) [Wed, 24 Jun 2026 06:36:53 +0000 (08:36 +0200)] 
[3.13] gh-84008: Document that the LC_NUMERIC locale affects tkinter numeric widgets (GH-152008) (GH-152051)

Spinbox, Scale and ttk.Spinbox format floating-point values according to
the LC_NUMERIC locale, but such values are always parsed with a period, so
a comma-decimal locale breaks DoubleVar.get().
(cherry picked from commit ee78d4323c174d0281fef5e04e965cda4c46eeb7)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
6 days ago[3.13] gh-126219: Fix crash in tkinter.Tk with non-BMP className on Tcl/Tk 8.x (GH...
Miss Islington (bot) [Wed, 24 Jun 2026 06:31:24 +0000 (08:31 +0200)] 
[3.13] gh-126219: Fix crash in tkinter.Tk with non-BMP className on Tcl/Tk 8.x (GH-151980) (GH-152047)

Tcl 8.x crashes when title-casing a non-BMP character during Tk
initialization, so such a className is now rejected with a ValueError.
(cherry picked from commit 124c7cd91be8cff76d1eec0adef65991c23c4419)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
7 days ago[3.13] gh-151596: Add missing argument 'size' to pure-Python implementation of `TextI...
Miss Islington (bot) [Tue, 23 Jun 2026 16:41:37 +0000 (18:41 +0200)] 
[3.13] gh-151596: Add missing argument 'size' to pure-Python implementation of `TextIOBase.readline` (GH-151679) (GH-151872)

(cherry picked from commit 30aeeb375b8f6c1f0eec95f7af60d3d4afa37f33)

Co-authored-by: saber-bit <bryanventura0324@gmail.com>
7 days ago[3.13] gh-151126: Add missing `PyErr_NoMemory()` in `type_from_slots_or_spec` (GH...
Miss Islington (bot) [Tue, 23 Jun 2026 15:12:29 +0000 (17:12 +0200)] 
[3.13] gh-151126: Add missing `PyErr_NoMemory()` in `type_from_slots_or_spec` (GH-151582)

(cherry picked from commit 7928a8b730b0334c9f97c2144ab00fe0d88f1e97)

Co-authored-by: Ivy Xu <fakeshadow1337@gmail.com>
Co-authored-by: Stan Ulbrych <stan@python.org>
7 days ago[3.13] gh-151773: Fix NULL dereference in `PyContextVar_Set` (GH-151836) (#152011)
Miss Islington (bot) [Tue, 23 Jun 2026 14:39:29 +0000 (16:39 +0200)] 
[3.13] gh-151773: Fix NULL dereference in `PyContextVar_Set` (GH-151836) (#152011)

gh-151773: Fix NULL dereference in `PyContextVar_Set` (GH-151836)
(cherry picked from commit d35b1719a58c8682a22ef698e070e97661af8d14)

Co-authored-by: dev <b.chouksey27@gmail.com>
7 days ago[3.13] gh-151558: Fix symlink escape via `tarfile` hardlink-extraction fallback ...
Miss Islington (bot) [Tue, 23 Jun 2026 13:56:51 +0000 (15:56 +0200)] 
[3.13] gh-151558: Fix symlink escape via `tarfile` hardlink-extraction fallback (GH-151559)

(cherry picked from commit 27dd970bf6b17ebca7c8ed486a40ab043ed7af8f)

Co-authored-by: Stan Ulbrych <stan@python.org>
7 days ago[3.13] gh-151981: Make tarfile._Stream.seek break at EOF (GH-151982) (#151993)
Miss Islington (bot) [Tue, 23 Jun 2026 13:46:38 +0000 (15:46 +0200)] 
[3.13] gh-151981: Make tarfile._Stream.seek break at EOF (GH-151982) (#151993)

(cherry picked from commit f50bf13566189c8d0ce5a814f33eff3d89951896)

Co-authored-by: Petr Viktorin <encukou@gmail.com>
Co-authored-by: Stan Ulbrych <stan@python.org>
7 days ago[3.13] gh-151556: Show example CSV file content in the `csv` module docs (GH-151563...
Miss Islington (bot) [Tue, 23 Jun 2026 12:08:09 +0000 (14:08 +0200)] 
[3.13] gh-151556: Show example CSV file content in the `csv` module docs (GH-151563) (#151986)

(cherry picked from commit 7915c4a8dd5b047b1e48b127690fb6a202a6e4ca)

Co-authored-by: Lucas <lucasefernandes333@gmail.com>
Co-authored-by: Stan Ulbrych <stan@python.org>
7 days ago[3.13] gh-62480: De-personalize docs on using the C API (GH-151784) (#151938)
Miss Islington (bot) [Mon, 22 Jun 2026 20:08:29 +0000 (22:08 +0200)] 
[3.13] gh-62480: De-personalize docs on using the C API (GH-151784) (#151938)

(cherry picked from commit 1c5a11018ad605072b2efac67f3ca87b41b622c6)

Co-authored-by: Rafael Weingartner-Ortner <38643099+RafaelWO@users.noreply.github.com>
Co-authored-by: Stan Ulbrych <stan@python.org>
7 days ago[3.13] gh-86726: Document tkinter method-name conflicts (GH-151917) (GH-151934)
Serhiy Storchaka [Mon, 22 Jun 2026 19:44:03 +0000 (22:44 +0300)] 
[3.13] gh-86726: Document tkinter method-name conflicts (GH-151917) (GH-151934)

Document where widget methods shadow inherited Misc, geometry-manager and
Wm methods, correct the inaccurate "size/bbox is an alias of
grid_size/grid_bbox" claims, and add "# overrides X" comments at the
definitions.

Also document the geometry-manager ambiguity: the short names forget, info,
slaves and propagate are defined by Pack, Place and Grid but
resolve to the pack variant.

Cross-reference the window-manager methods grid, forget and state with the
same-named grid geometry manager, Pack.forget and ttk.Widget.state.

(cherry picked from commit 4de5683f213a862c23cf8d46e3d797986e663025)

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
8 days agogh-151544: Fixes CVE-2026-12003 by removing the fallback to %VPATH%/Modules/Setup...
Steve Dower [Mon, 22 Jun 2026 16:31:25 +0000 (17:31 +0100)] 
gh-151544: Fixes CVE-2026-12003 by removing the fallback to %VPATH%/Modules/Setup.local for discovering sources in getpath.py (GH-151928)

8 days ago[3.13] gh-144133: Add a warning to the `encodings.punycode` documentation (GH-151812...
Miss Islington (bot) [Mon, 22 Jun 2026 12:02:09 +0000 (14:02 +0200)] 
[3.13] gh-144133: Add a warning to the `encodings.punycode` documentation (GH-151812) (#151924)

(cherry picked from commit 7ec70e1df33098de24d4b2cb181586d04cdde441)

Co-authored-by: Stan Ulbrych <stan@python.org>
8 days ago[3.13] gh-142387: Revert Android testbed to API level 35 (GH-151816) (#151885)
Miss Islington (bot) [Sun, 21 Jun 2026 22:55:19 +0000 (00:55 +0200)] 
[3.13] gh-142387: Revert Android testbed to API level 35 (GH-151816) (#151885)

Revert Android testbed to API level 35
(cherry picked from commit 24828e57e17621fff166c7c81c8cf70fd5cf4540)

Co-authored-by: Malcolm Smith <smith@chaquo.com>
9 days ago[3.13] gh-150484: Fix mock_open __exit__ with contextlib.ExitStack (GH-151829) (GH...
Miss Islington (bot) [Sun, 21 Jun 2026 17:02:30 +0000 (19:02 +0200)] 
[3.13] gh-150484: Fix mock_open __exit__ with contextlib.ExitStack (GH-151829) (GH-151861)

  mock_open's _exit_side_effect had a fixed 3-arg signature, but
  contextlib.ExitStack calls __exit__ with 4 args (self + 3 exc info).
  Use *args to accept any number of arguments.
(cherry picked from commit 85fa295073a0291e517ae6bd24a26e03b5925b75)

Co-authored-by: Zang Peiyu <166481866+factnn@users.noreply.github.com>
9 days ago[3.13] gh-151678: Add tests for tkinter.simpledialog (GH-151856) (GH-151860)
Miss Islington (bot) [Sun, 21 Jun 2026 16:48:54 +0000 (18:48 +0200)] 
[3.13] gh-151678: Add tests for tkinter.simpledialog (GH-151856) (GH-151860)

(cherry picked from commit f28ef858f5515d200319e9675d66f8f13afa5a0d)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
9 days ago[3.13] gh-86726: Document tkinter.simpledialog query options and Dialog.result (GH...
Miss Islington (bot) [Sun, 21 Jun 2026 15:10:08 +0000 (17:10 +0200)] 
[3.13] gh-86726: Document tkinter.simpledialog query options and Dialog.result (GH-151851) (GH-151854)

(cherry picked from commit 8270ae560c632f2ee88ab6c6b33562227d0deaae)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
9 days ago[3.13] gh-150831: docs: clarify generator, generator function, and generator iterator...
Miss Islington (bot) [Sun, 21 Jun 2026 11:34:58 +0000 (13:34 +0200)] 
[3.13] gh-150831: docs: clarify generator, generator function, and generator iterator in glossary (GH-150905) (#151841)

gh-150831: docs: clarify generator, generator function, and generator iterator in glossary (GH-150905)
(cherry picked from commit 1de86e1492af92f4b18aad94390bcd4336e579ab)

Co-authored-by: Aniket <148300120+Aniketsy@users.noreply.github.com>
10 days ago[3.13] gh-151678: Add tests for tkinter widget virtual events (GH-151793) (GH-151807)
Miss Islington (bot) [Sat, 20 Jun 2026 14:56:01 +0000 (16:56 +0200)] 
[3.13] gh-151678: Add tests for tkinter widget virtual events (GH-151793) (GH-151807)

Verify the virtual events that widgets emit in response to user
interaction, driven by generated events: <<ListboxSelect>> (Listbox),
<<Increment>> and <<Decrement>> (ttk Spinbox), and <<TreeviewSelect>>,
<<TreeviewOpen>> and <<TreeviewClose>> (ttk Treeview).
(cherry picked from commit e51b616efff845ea2a7d312aa43d5f5100064d88)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
10 days ago[3.13] gh-151678: Add interactive tests for tkinter.simpledialog (GH-151794) (GH...
Miss Islington (bot) [Sat, 20 Jun 2026 14:13:18 +0000 (16:13 +0200)] 
[3.13] gh-151678: Add interactive tests for tkinter.simpledialog (GH-151794) (GH-151804)

Drive the modal query dialogs with generated events to exercise the
<Return> and <Escape> key bindings and the value validation: accepting
an integer, float or string, cancelling, rejecting a non-numeric value
and rejecting a value outside the allowed range.
(cherry picked from commit 706238e764169dd36f918a0541adf9687cc3f296)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
10 days ago[3.13] gh-151678: Add tests for the remaining tkinter Misc, Wm and Text methods ...
Miss Islington (bot) [Sat, 20 Jun 2026 13:58:51 +0000 (15:58 +0200)] 
[3.13] gh-151678: Add tests for the remaining tkinter Misc, Wm and Text methods (GH-151782) (GH-151801)

Cover Misc.wait_variable and wait_window, tk_focusFollowsMouse,
selection_handle, the error paths of grab_set_global, send, the
X11-specific Wm methods iconposition, iconmask, iconwindow,
colormapwindows and manage/forget, and the Text.window_config alias and
deprecated yview_pickplace.
(cherry picked from commit aa71eb287f6d812e5270109acb9119c2ad0baef9)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
10 days ago[3.13] gh-151678: Add tests for tkinter.filedialog (GH-151781) (GH-151797)
Miss Islington (bot) [Sat, 20 Jun 2026 13:44:56 +0000 (15:44 +0200)] 
[3.13] gh-151678: Add tests for tkinter.filedialog (GH-151781) (GH-151797)

Exercise the native dialogs (Open, SaveAs and Directory) through the
_test_callback seam without opening them, and test the pure-Python
FileDialog selection, filter and ok/cancel logic without entering its
modal loop.
(cherry picked from commit 58fd9ec3cfe0d588db97eb98c0dc7fdb0256be76)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
10 days ago[3.13] gh-151678: Add tests for tkinter.dnd (GH-151780) (GH-151792)
Miss Islington (bot) [Sat, 20 Jun 2026 13:26:04 +0000 (15:26 +0200)] 
[3.13] gh-151678: Add tests for tkinter.dnd (GH-151780) (GH-151792)

Drive the drag-and-drop protocol (dnd_start and the DndHandler enter/
motion/commit, leave/cancel and end callbacks).
(cherry picked from commit 2a126a534b0253cf65fb6d06da0cce72eb2eaa23)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
10 days ago[3.13] gh-151678: Add tests for tkinter.scrolledtext (GH-151753) (GH-151761)
Miss Islington (bot) [Sat, 20 Jun 2026 06:17:03 +0000 (08:17 +0200)] 
[3.13] gh-151678: Add tests for tkinter.scrolledtext (GH-151753) (GH-151761)

Add a test for the ScrolledText widget, which had no tests: that it is
a Text widget held in a Frame with a Scrollbar, that Text methods work,
that the geometry manager methods are redirected to the frame while
configure is not, and that the scrollbar tracks the text view.
(cherry picked from commit a9db5cb52fefffc8fcdddc8e1c5f23222970825a)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
10 days ago[3.13] gh-151678: Add tests for tkinter font, image, variable, Misc and Wm methods...
Miss Islington (bot) [Fri, 19 Jun 2026 23:09:39 +0000 (01:09 +0200)] 
[3.13] gh-151678: Add tests for tkinter font, image, variable, Misc and Wm methods (GH-151751) (GH-151756)

* font: copy(), the config alias, the displayof argument of measure and
  metrics, and the errors raised for invalid options and a wrong number
  of arguments;
* image: the cget method and the config alias, and the errors raised by
  transparency_get and transparency_set;
* variable: that initialize is an alias of set and the deprecated trace
  is an alias of trace_variable;
* Misc: tk_focusNext, tk_focusPrev, tk_strictMotif, tk_bisque and
  option_readfile;
* Wm: wm_iconphoto.
(cherry picked from commit 66cc04855100c3865bd01adfe92a3a02dbc3a914)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
10 days ago[3.13] gh-151678: Add tests for tkinter.ttk methods (GH-151736) (GH-151743)
Miss Islington (bot) [Fri, 19 Jun 2026 22:27:27 +0000 (00:27 +0200)] 
[3.13] gh-151678: Add tests for tkinter.ttk methods (GH-151736) (GH-151743)

Cover previously-untested ttk methods:

* Progressbar.step, start and stop;
* Treeview.parent, next, prev, see and identify_element;
* Style.theme_settings;
* OptionMenu.set_menu.
(cherry picked from commit 7d4a0aad7be3cfb367b8977a03a64e754577d5f0)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
* Fix regex in tests.

---------

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
11 days ago[3.13] gh-151678: Add tests for tkinter Misc, Wm and geometry manager methods (GH...
Miss Islington (bot) [Fri, 19 Jun 2026 16:07:18 +0000 (18:07 +0200)] 
[3.13] gh-151678: Add tests for tkinter Misc, Wm and geometry manager methods (GH-151732) (GH-151739)

Cover previously-untested methods of the Misc, Wm, Pack, Place and Grid
classes:

* a new WinfoTest class for the winfo_* query methods (class, name,
  parent, children, toplevel, visual and screen information, atoms,
  pointer and screen coordinates, fpixels, containing, interps,
  viewable), including the pre-existing winfo_rgb and winfo_pathname;
* in MiscTest: getint, getdouble, getvar, register, deletecommand,
  option_add/get/clear, nametowidget, the focus_*, grab_* and
  selection_own* methods, event_add/delete/info, and bell;
* in WmTest: title, geometry, minsize/maxsize, resizable, aspect, grid,
  positionfrom/sizefrom, focusmodel, iconname, client/command,
  overrideredirect, state (with withdraw and deiconify), frame, group,
  protocol and transient;
* the short-named aliases of the grid_*, pack_* and place_* geometry
  manager methods.
(cherry picked from commit 23793ac211371415eaf9491fef031f121969dfb3)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
11 days ago[3.13] gh-151693: Make the curses tests portable to other curses implementations...
Serhiy Storchaka [Fri, 19 Jun 2026 12:07:24 +0000 (15:07 +0300)] 
[3.13] gh-151693: Make the curses tests portable to other curses implementations (GH-151729) (GH-151730)

Guard the chgat() check (chgat() needs wchgat()) and stop assuming a
subpad shares the parent pad's cells (implementation-defined in X/Open).
(cherry picked from commit 64fab74bd7288bfa67cd7727452febdaafed4270)

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
11 days ago[3.13] gh-151678: Add tests for tkinter.Canvas (GH-151683) (GH-151718)
Miss Islington (bot) [Fri, 19 Jun 2026 11:14:14 +0000 (13:14 +0200)] 
[3.13] gh-151678: Add tests for tkinter.Canvas (GH-151683) (GH-151718)

Cover previously-untested Canvas methods in CanvasTest:

* item creation and types, bbox, coordinate conversion, move/scale,
  find and addtag queries, tags, item configuration, stacking order,
  text-item editing, selection, focus, scan and postscript;
* the create_arc, create_oval, create_bitmap, create_image,
  create_text and create_window item creation methods, checking
  coordinates, default and explicit options, valid enumerations and
  rejection of invalid values;
* tag_bind() and tag_unbind(), checking the returned function id and
  binding script, querying bound sequences, the add parameter, event
  delivery to items via a tag, and removal of a single binding by id
  or all bindings for a sequence.
(cherry picked from commit bb127c5a96a285f1f6b11261c1f0dc2b3c7f70ff)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
11 days ago[3.13] gh-151678: Add tests for the remaining tkinter widgets (GH-151687) (GH-151727)
Serhiy Storchaka [Fri, 19 Jun 2026 10:54:03 +0000 (13:54 +0300)] 
[3.13] gh-151678: Add tests for the remaining tkinter widgets (GH-151687) (GH-151727)

Cover previously-untested methods of several widgets:

* Button, Checkbutton and Radiobutton: invoke, flash and toggle;
* Entry: delete, icursor and the select_* aliases;
* Spinbox: invoke, identify and scan;
* Scale and Scrollbar: identify, and Scrollbar fraction and delta;
* PanedWindow: panes, remove/forget, sash and proxy positioning,
  identify, and adding panes with configuration options.

Also test that invoke does nothing for a disabled button and the
errors raised for invalid indices, coordinates, option names and values.
(cherry picked from commit 93b9e7666f4337e3cacfed6993568e4bec575e9b)

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
11 days ago[3.13] gh-151695: Fix use-after-free of the curses screen encoding (GH-151696) (GH...
Serhiy Storchaka [Fri, 19 Jun 2026 10:30:35 +0000 (13:30 +0300)] 
[3.13] gh-151695: Fix use-after-free of the curses screen encoding (GH-151696) (GH-151706) (GH-151723)

The module-global screen_encoding stored a borrowed pointer to the
encoding owned by the window returned by the first initscr() call.  That
window can be deallocated while unctrl() and ungetch(), which have no window
of their own, still use the pointer to encode non-ASCII characters.

Keep a private copy of the encoding instead.
(cherry picked from commit 551f8e16f8bb38a1e9c6df259a2a0969493de070)
(cherry picked from commit 7b55e9a93e67913d9086a7b31f5b911958f2bf14)

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
11 days ago[3.13] gh-151693: Add curses tests for panels, textpad, and window behavior (GH-15169...
Miss Islington (bot) [Fri, 19 Jun 2026 10:17:22 +0000 (12:17 +0200)] 
[3.13] gh-151693: Add curses tests for panels, textpad, and window behavior (GH-151694) (GH-151721)

Add curses tests for panels, textpad, and window behavior

Extend test_curses with behavior-verifying tests that go beyond the
existing smoke tests:

* curses.panel stacking: new_panel/top/bottom/above/below ordering,
  hide/show/hidden, move, replace and userptr round-trip.
* Real-window curses.textpad.Textbox: gather(), edit(), stripspaces,
  insert mode and the Emacs-like editing commands (previously only
  exercised through a MagicMock).
* Window output: addstr cursor advance and addnstr truncation,
  insstr/insnstr shifting without cursor movement, and pad behavior
  (instr, subpad cell sharing, the required 6-argument refresh()).
* Error handling: out-of-range coordinates raising curses.error and
  bad character/string argument types.
(cherry picked from commit b4cfb992ed3a28b8cd626f70e3550ac8dbec1758)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
11 days ago[3.13] gh-151678: Add tests for tkinter.Text (GH-151681) (GH-151705) (GH-151715)
Miss Islington (bot) [Fri, 19 Jun 2026 09:28:36 +0000 (11:28 +0200)] 
[3.13] gh-151678: Add tests for tkinter.Text (GH-151681) (GH-151705) (GH-151715)

Cover previously-untested Text methods (indices, content, marks, tags,
undo/redo, dump, embedded images and windows, peers, and geometry) and
the tag, embedded-image and embedded-window configuration options.
(cherry picked from commit 4ac809e10bdb413d7dd8c7bab7e365b2b618ad91)
(cherry picked from commit 22c000eeb4341f650f2c660b29d49f3f44741392)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
11 days ago[3.13] gh-151678: Add tests for tkinter.Listbox (GH-151686) (GH-151714)
Miss Islington (bot) [Fri, 19 Jun 2026 09:27:30 +0000 (11:27 +0200)] 
[3.13] gh-151678: Add tests for tkinter.Listbox (GH-151686) (GH-151714)

Cover previously-untested Listbox methods in ListboxTest: size, delete,
index resolution, nearest, see, activate, and the selection methods
(selection_set/clear/includes/anchor and their select_* aliases),
including the errors raised for invalid indices.
(cherry picked from commit cf3b3c11485a870d8e8c02579bed27a316838eb1)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
11 days ago[3.13] gh-151678: Add tests for tkinter.Menu (GH-151685) (GH-151711)
Miss Islington (bot) [Fri, 19 Jun 2026 09:23:43 +0000 (11:23 +0200)] 
[3.13] gh-151678: Add tests for tkinter.Menu (GH-151685) (GH-151711)

Cover previously-untested Menu methods in MenuTest: adding, inserting and
deleting items of every type, index resolution, invoking items, entry x/y
positions, and post/unpost/tk_popup mapping.

Also test per-entry configuration options and the errors raised for
invalid indices, entry types, option names and option values.
(cherry picked from commit ef5c32a40be50a33a9b7ac39ee64e6893bc22f60)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
11 days ago[3.13] gh-101100: Document os.uname_result and os.statvfs_result with related constan...
Miss Islington (bot) [Fri, 19 Jun 2026 08:42:41 +0000 (10:42 +0200)] 
[3.13] gh-101100: Document os.uname_result and os.statvfs_result with related constants (GH-151301) (GH-151691)

(cherry picked from commit 9688d252d330b0b586760a121ee8c8f7215176e8)

Co-authored-by: Cody Maloney <cmaloney@users.noreply.github.com>
11 days ago[3.13] gh-151427: add 'not macOS' and 'not iOS' restrictions on availability state...
Miss Islington (bot) [Fri, 19 Jun 2026 08:17:02 +0000 (10:17 +0200)] 
[3.13] gh-151427: add  'not macOS' and 'not iOS' restrictions on availability state of some functions in `os` module. (GH-151537) (#151697)

(cherry picked from commit da69fcf98de500b1e10bdce41a05c904e345d89f)
Co-authored-by: Duprat <yduprat@gmail.com>
12 days ago[3.13] gh-86726: Fix the documented return type of tkinter info_patchlevel() (GH...
Serhiy Storchaka [Thu, 18 Jun 2026 14:44:23 +0000 (17:44 +0300)] 
[3.13] gh-86726: Fix the documented return type of tkinter info_patchlevel() (GH-151655) (GH-151660)

It returns a sys.version_info-like named tuple, not a string.
(cherry picked from commit 3cd02a1c2da023974464fd1155982a16474f331b)

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
12 days ago[3.13] gh-86726: Document the full public API of tkinter (GH-151579) (GH-151650)...
Serhiy Storchaka [Thu, 18 Jun 2026 13:32:37 +0000 (16:32 +0300)] 
[3.13] gh-86726: Document the full public API of tkinter (GH-151579) (GH-151650) (GH-151653)

Replace the previously sparse reference documentation with full coverage of
the public API of the tkinter package, written from the Tcl/Tk manual pages,
the existing documentation and the module docstrings.

* Doc/library/tkinter.rst gains a "Reference" section documenting every public
  class, method, function and constant of the core module -- the widgets, the
  Misc, Wm, Pack, Place, Grid, XView and YView mix-ins, the Variable and image
  classes, the module-level functions and the symbolic constants.
* Doc/library/tkinter.ttk.rst, dialog.rst, tkinter.font.rst and the other
  module pages document their remaining classes, methods and functions.

The descriptions are Python-oriented (correct return types -- tuples rather
than Tcl lists, booleans, integers, None on cancellation, and so on) and were
checked against the Tcl/Tk 9.1 manual pages and the implementation.

versionadded, versionchanged and deprecated directives are added for the
public API, determined from the git history relative to Python 3.0: the
tkinter.ttk module (3.1); the Text, Wm, Menu and Misc methods exposing Tk 8.5
features (3.3); and the many later additions and behavior changes up to 3.15.
The Tk version required by features added after Tk 8.6 is noted as well.  The
bundled Tcl/Tk version is updated to 9.0 and the manual-page links point at
the tcl9.0 reference.

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

* gh-86726: Adjust tkinter docs for the 3.14 backport

Remove documentation of API added only in 3.15 (the grid_content/
pack_content/place_content aliases, Text.search_all, the search
nolinestop/strictlimits parameters and Event.user_data/detail), date the
wm_attributes positional-argument deprecation to 3.13, and update the
bundled Tcl/Tk version to 8.6.

---------
(cherry picked from commit 1141d294eea16683ce2261af8f802c1535135cf9)

Co-authored-by: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
12 days ago[3.13] gh-151623: Improve curses documentation style (GH-151635) (#151638)
Hugo van Kemenade [Thu, 18 Jun 2026 10:10:37 +0000 (13:10 +0300)] 
[3.13] gh-151623: Improve curses documentation style (GH-151635) (#151638)

12 days ago[3.13] gh-151623: Improve curses documentation and docstrings (GH-151625) (GH-151629...
Serhiy Storchaka [Thu, 18 Jun 2026 09:51:51 +0000 (12:51 +0300)] 
[3.13] gh-151623: Improve curses documentation and docstrings (GH-151625) (GH-151629) (GH-151630)

(cherry picked from commit 015cc42bc254dd1fbfcb799869cb6e8196fd1c84)

Fix errors and clarify the curses, curses.panel and curses.ascii docs
against X/Open Curses and ncurses, and sync the affected docstrings.
(cherry picked from commit 65afcdd8dfb3621ac696fce076e6282c76a04b2b)

13 days ago[3.13] gh-120665: make unittest loaders avoid loading test cases that are abstract...
Miss Islington (bot) [Wed, 17 Jun 2026 15:49:23 +0000 (17:49 +0200)] 
[3.13] gh-120665: make unittest loaders avoid loading test cases that are abstract base classes (GH-120666) (#151599)

gh-120665: make unittest loaders avoid loading test cases that are abstract base classes (GH-120666)
(cherry picked from commit 5ad3c6dfbfe60a7f232e9604866c77ced24c4bfe)

Co-authored-by: blhsing <blhsing@gmail.com>
2 weeks ago[3.13] gh-151519: Check effective gid in `_test_all_chown_common` group-0 guard ...
Miss Islington (bot) [Tue, 16 Jun 2026 16:42:16 +0000 (18:42 +0200)] 
[3.13] gh-151519: Check effective gid in `_test_all_chown_common` group-0 guard (GH-151521) (#151551)

gh-151519: Check effective gid in `_test_all_chown_common` group-0 guard (GH-151521)

The guard that skips the "chown to gid 0 should fail" assertion used
only `os.getgroups()` (supplementary groups). The kernel also accepts
the effective/filesystem gid for chown, so when a process runs with
egid 0 and a non-zero uid (common in containers and user namespaces),
chown(-1, 0) succeeds and the assertion spuriously fails.

Add an `os.getegid() != 0` check alongside the existing
`0 not in os.getgroups()` guard.
(cherry picked from commit 2ce260033b457a0ad2c9767a1d9902bef5a30b0e)

Co-authored-by: Itamar Oren <itamarost@gmail.com>
2 weeks ago[3.13] gh-151522: Guard against None transport in slow-socket SSL test (GH-151523...
Miss Islington (bot) [Tue, 16 Jun 2026 05:54:53 +0000 (07:54 +0200)] 
[3.13] gh-151522: Guard against None transport in slow-socket SSL test (GH-151523) (#151530)

gh-151522: Guard against None transport in slow-socket SSL test (GH-151523)
(cherry picked from commit 11f032f904c8019b332a3c367f335e05cde63628)

Co-authored-by: Itamar Oren <itamarost@gmail.com>
2 weeks ago[3.13] gh-148441: Avoid integer overflow in Expat's CharacterDataHandler (GH-148904...
Miss Islington (bot) [Mon, 15 Jun 2026 13:52:47 +0000 (15:52 +0200)] 
[3.13] gh-148441: Avoid integer overflow in Expat's CharacterDataHandler (GH-148904) (#149637)

* gh-148441: Avoid integer overflow in Expat's CharacterDataHandler (GH-148904)
(cherry picked from commit bc1be4f6174086b4a46e3fe656552f5bb4e6e7b2)

Co-authored-by: ByteFlow <fakeshadow1337@gmail.com>
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
* Apply suggestion from @picnixz

Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
---------

Co-authored-by: ByteFlow <fakeshadow1337@gmail.com>
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Co-authored-by: Victor Stinner <vstinner@python.org>
2 weeks ago[3.13] gh-150389: Make perf profiler tests resilient (GH-150437) (GH-151501) (#151503)
Miss Islington (bot) [Mon, 15 Jun 2026 13:39:52 +0000 (15:39 +0200)] 
[3.13] gh-150389: Make perf profiler tests resilient (GH-150437) (GH-151501) (#151503)

[3.14] gh-150389: Make perf profiler tests resilient (GH-150437) (GH-151501)

gh-150389: Make perf profiler tests resilient (GH-150437)

(cherry picked from commit 638754cb8579a4f7acfd465c885f783c073c0baf)
(cherry picked from commit d06b473f8f7880d79b2ee694fde3bf174121c63c)

Co-authored-by: Victor Stinner <vstinner@python.org>
Co-authored-by: Pablo Galindo Salgado <Pablogsal@gmail.com>
2 weeks ago[3.13] Add `.toml` to `.editorconfig` (GH-151481) (#151493)
Miss Islington (bot) [Mon, 15 Jun 2026 09:40:58 +0000 (11:40 +0200)] 
[3.13] Add `.toml` to `.editorconfig` (GH-151481) (#151493)

Add `.toml` to `.editorconfig` (GH-151481)
(cherry picked from commit 7a70afa199a9bdd5bf65b2b396b9fa76c8842ac2)

Co-authored-by: sobolevn <mail@sobolevn.me>
2 weeks ago[3.13] gh-139837: Document attributes of objects recorded by warnings.catch_warnings...
Miss Islington (bot) [Mon, 15 Jun 2026 09:30:46 +0000 (11:30 +0200)] 
[3.13] gh-139837: Document attributes of objects recorded by warnings.catch_warnings (GH-139893) (GH-151473) (#151494)

[3.14] gh-139837: Document attributes of objects recorded by warnings.catch_warnings (GH-139893) (GH-151473)

* gh-139837: Document attributes of objects recorded by warnings.catch_warnings (GH-139893)
(cherry picked from commit 47b7dc788c9bcf3d5ea69a2ea0aed3d5883647a8)

* Apply suggestions from code review

---------
(cherry picked from commit eb612f4571299d3cc73411574e2f95e299a36198)

Co-authored-by: Aniket <148300120+Aniketsy@users.noreply.github.com>
Co-authored-by: Victor Stinner <vstinner@python.org>
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2 weeks ago[3.13] Add a new Sphinx `soft-deprecated` directive (GH-148630) (#148715)
Hugo van Kemenade [Sun, 14 Jun 2026 16:08:04 +0000 (19:08 +0300)] 
[3.13] Add a new Sphinx `soft-deprecated` directive (GH-148630) (#148715)

Co-authored-by: Stan Ulbrych <stan@python.org>
2 weeks ago[3.13] gh-151403: Fix use-after-free when an argv item's __fspath__ mutates args...
Miss Islington (bot) [Sat, 13 Jun 2026 21:33:13 +0000 (23:33 +0200)] 
[3.13] gh-151403: Fix use-after-free when an argv item's __fspath__ mutates args (GH-151404) (#151447)

gh-151403: Fix use-after-free when an argv item's __fspath__ mutates args (GH-151404)

---------
(cherry picked from commit 6679ac07d881f6e0ce30b7cc28b5671eafa20d9d)

Co-authored-by: tonghuaroot (童话) <tonghuaroot@gmail.com>
Co-authored-by: tonghuaroot <23011166+tonghuaroot@users.noreply.github.com>
2 weeks ago[3.13] gh-151443: Fix documented default of `unittest.mock.mock_open`'s `read_data...
Miss Islington (bot) [Sat, 13 Jun 2026 18:37:47 +0000 (20:37 +0200)] 
[3.13] gh-151443: Fix documented default of  `unittest.mock.mock_open`'s `read_data` parameter (GH-151444)

(cherry picked from commit 9ad6ba0324a71ae5b51ded6e59b1ea3b653814a5)

Co-authored-by: Shardul Deshpande <iamsharduld@users.noreply.github.com>
2 weeks ago[3.13] gh-77328: Update `base64` module RFC references to RFC 4648 (GH-151275) (...
Stan Ulbrych [Sat, 13 Jun 2026 13:27:27 +0000 (14:27 +0100)] 
[3.13] gh-77328: Update `base64` module RFC references to RFC 4648 (GH-151275) (#151441)

(cherry picked from commit e9339876883f96af2e406a92a05be647b7fbe5d5)

2 weeks ago[3.13] gh-101267: ProcessPoolExecutor no longer shares 1 BrokenProcessPool exception...
Miss Islington (bot) [Sat, 13 Jun 2026 09:37:19 +0000 (11:37 +0200)] 
[3.13] gh-101267: ProcessPoolExecutor no longer shares 1 BrokenProcessPool exception among all failed futures (GH-101268) (GH-151431) (#151435)

[3.14] gh-101267: ProcessPoolExecutor no longer shares 1 BrokenProcessPool exception among all failed futures (GH-101268) (GH-151431)

* gh-101267: ProcessPoolExecutor no longer shares 1 BrokenProcessPool exception among all failed futures (GH-101268)
(cherry picked from commit 3c00ebc2bbd902495b163def850bc931420209fc)

(cherry picked from commit 4e8c9c6a5742659ca9f77719178802cce06a3507)

* Drop the abrupt-exit-code reporting from the 3.14 backport

Reporting the exit codes of processes that died without a known cause
is a new feature, not part of the gh-101267 bugfix. Keep only the
bugfix on 3.14: each failed future gets its own BrokenProcessPool
exception instead of one shared instance.

---------
(cherry picked from commit 27ff2c8c53e29e5075cba7d393f593a3a682a2f3)

Co-authored-by: Gregory P. Smith <68491+gpshead@users.noreply.github.com>
Co-authored-by: Daniel Shields <daniel.shields@twosigma.com>
Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
2 weeks ago[3.13] Docs: Fix method directive signatures in `enum` docs (GH-151429) (#151433)
Miss Islington (bot) [Sat, 13 Jun 2026 08:55:39 +0000 (10:55 +0200)] 
[3.13] Docs: Fix method directive signatures in `enum` docs (GH-151429) (#151433)

(cherry picked from commit 5b385197625e669473859c63bee6f14c983d2be6)

Co-authored-by: Jonathan Dung <jonathandung@yahoo.com>
2 weeks ago[3.13] Fix typos in the `curses.ascii` module documentation (GH-129300) (#151415)
Miss Islington (bot) [Fri, 12 Jun 2026 16:09:38 +0000 (18:09 +0200)] 
[3.13] Fix typos in the `curses.ascii` module documentation (GH-129300) (#151415)

(cherry picked from commit f4f102027a9b0edc72a048f17b696aa92d2e6893)

Co-authored-by: Rafael Fontenelle <rffontenelle@users.noreply.github.com>
Co-authored-by: Stan Ulbrych <stan@python.org>
2 weeks ago[3.13] Docs: avoid repetitions of class references in functions.rst (GH-150891) ...
Hugo van Kemenade [Fri, 12 Jun 2026 15:04:54 +0000 (18:04 +0300)] 
[3.13] Docs: avoid repetitions of class references in functions.rst (GH-150891) (#151407)

Co-authored-by: Maciej Olko <maciej.olko@affirm.com>
2 weeks ago[3.13] gh-151126: Fix crash on unset memory error in `ctypes.get_errno` (GH-151382...
Miss Islington (bot) [Fri, 12 Jun 2026 11:27:19 +0000 (13:27 +0200)] 
[3.13] gh-151126: Fix crash on unset memory error in `ctypes.get_errno` (GH-151382) (#151400)

gh-151126: Fix crash on unset memory error in `ctypes.get_errno` (GH-151382)
(cherry picked from commit 6b217ea90b9cd694fded6308bc796e324bbacd19)

Co-authored-by: sobolevn <mail@sobolevn.me>
2 weeks ago[3.13] gh-151065: Copy fix for memory leak from mimalloc upstream (GH-151066) (GH...
Miss Islington (bot) [Fri, 12 Jun 2026 01:18:14 +0000 (03:18 +0200)] 
[3.13] gh-151065: Copy fix for memory leak from mimalloc upstream (GH-151066) (GH-151385)

Applies https://github.com/microsoft/mimalloc/commit/d7a72c4912943e8aaf135e465ca5ea229ea96646 to our copy of mimalloc.
(cherry picked from commit 80f9467434cecbc4e97b853b3876de13e75aec38)

Co-authored-by: Peter Bierma <zintensitydev@gmail.com>
2 weeks ago[3.13] gh-151337: Avoid possible memory leak in `_tkinter.c` on Windows. (GH-151340...
Miss Islington (bot) [Thu, 11 Jun 2026 20:13:33 +0000 (22:13 +0200)] 
[3.13] gh-151337: Avoid possible memory leak in `_tkinter.c` on Windows. (GH-151340) (GH-151381)

(cherry picked from commit 71805db4294de9495954571c82a835d94ba67594)

Co-authored-by: Ivy Xu <fakeshadow1337@gmail.com>
2 weeks ago[3.13] gh-138991: Update dataclass documentation for new eq behavior in Python 3...
Miss Islington (bot) [Thu, 11 Jun 2026 17:39:04 +0000 (19:39 +0200)] 
[3.13] gh-138991: Update dataclass documentation for new eq behavior in Python 3.13 (GH-139007) (#151374)

gh-138991: Update dataclass documentation for new eq behavior in Python 3.13 (GH-139007)

And add tests.
(cherry picked from commit 402668b2b1a63a2b3cfd7a2ede07f6786f9beb8e)

Co-authored-by: Aniket <148300120+Aniketsy@users.noreply.github.com>
Co-authored-by: Victor Stinner <vstinner@python.org>
2 weeks ago[3.13] gh-150285: Fix too long docstrings in GenericAlias and __class_getitem__ ...
Miss Islington (bot) [Thu, 11 Jun 2026 17:11:49 +0000 (19:11 +0200)] 
[3.13] gh-150285: Fix too long docstrings in GenericAlias and __class_getitem__ (GH-151354) (GH-151369)

(cherry picked from commit 65047f2e2fb80e4ad36df56a343d75963a20c110)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2 weeks ago[3.13] gh-151126: Fix missing memory error in `os._path_splitroot` (GH-151339) (...
Miss Islington (bot) [Thu, 11 Jun 2026 16:43:15 +0000 (18:43 +0200)] 
[3.13] gh-151126: Fix missing memory error in `os._path_splitroot` (GH-151339) (#151362)

gh-151126: Fix missing memory error in `os._path_splitroot` (GH-151339)
(cherry picked from commit 10595b1cb7ac04ba9a3ef3f7da4fa31c9966300d)

Co-authored-by: sobolevn <mail@sobolevn.me>
2 weeks ago[3.13] gh-101100: Fix Sphinx nitpick in `unittest.mock.rst` (GH-151302)
Miss Islington (bot) [Thu, 11 Jun 2026 15:38:41 +0000 (17:38 +0200)] 
[3.13] gh-101100: Fix Sphinx nitpick in `unittest.mock.rst` (GH-151302)

(cherry picked from commit b18168cb32d545ed976b760983478cbd5dde5bdf)

Co-authored-by: Cody Maloney <cmaloney@users.noreply.github.com>
2 weeks ago[3.13] gh-150285: Suppress showing the __getstate__() comment in the help for datacla...
Miss Islington (bot) [Thu, 11 Jun 2026 15:02:38 +0000 (17:02 +0200)] 
[3.13] gh-150285: Suppress showing the __getstate__() comment in the help for dataclasses (GH-151328) (GH-151333)

(cherry picked from commit 0066fd73a20950dc790d219f4e3cfb07e816df47)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2 weeks ago[3.13] gh-151126: Fix missing memory errors in `_interpchannelsmodule.c` (GH-151239...
sobolevn [Thu, 11 Jun 2026 13:31:10 +0000 (16:31 +0300)] 
[3.13] gh-151126: Fix missing memory errors in `_interpchannelsmodule.c` (GH-151239) (#151338)

(cherry picked from commit 9fd1a125bc0ebdc26eae684da6e48ef24ee23b34)

2 weeks ago[3.13] gh-130796: Undeprecate locale.getdefaultlocale() (GH-143069) (#151318)
Hugo van Kemenade [Thu, 11 Jun 2026 11:34:40 +0000 (14:34 +0300)] 
[3.13] gh-130796: Undeprecate locale.getdefaultlocale() (GH-143069) (#151318)

Co-authored-by: Victor Stinner <vstinner@python.org>
2 weeks ago[3.13] gh-151284: Fix test_capi on UBSan (GH-151286) (#151325)
Miss Islington (bot) [Thu, 11 Jun 2026 11:19:54 +0000 (13:19 +0200)] 
[3.13] gh-151284: Fix test_capi on UBSan (GH-151286) (#151325)

gh-151284: Fix test_capi on UBSan (GH-151286)

Comment two checks relying on undefined behavior in
test_fromwidechar() of test_capi.

Enable test_capi in GitHub Action "Reusable Sanitizer".
(cherry picked from commit d87d77287392b78d36a06660228f6a5ca88888d7)

Co-authored-by: Victor Stinner <vstinner@python.org>
2 weeks ago[3.13] gh-150285: Fix merging error in GH-150458 (GH-151320)
Serhiy Storchaka [Thu, 11 Jun 2026 11:06:27 +0000 (14:06 +0300)] 
[3.13] gh-150285: Fix merging error in GH-150458 (GH-151320)

2 weeks ago[3.13] gh-151112: Move an `assert` that may fail in `cfg_builder_check` (GH-151153...
Miss Islington (bot) [Thu, 11 Jun 2026 09:40:49 +0000 (11:40 +0200)] 
[3.13] gh-151112: Move an `assert` that may fail in `cfg_builder_check` (GH-151153) (#151315)

(cherry picked from commit 2d3381035df24fbf512d897daa19a1040f7af3fd)

Co-authored-by: Stan Ulbrych <stan@python.org>
2 weeks ago[3.13] gh-151295: Fix use-after-free in bytes.join()/bytearray.join() via re-entrant...
Miss Islington (bot) [Thu, 11 Jun 2026 08:30:49 +0000 (10:30 +0200)] 
[3.13] gh-151295: Fix use-after-free in bytes.join()/bytearray.join() via re-entrant __buffer__ (GH-151296) (GH-151306)

(cherry picked from commit 84a322aa1555df745a2c115df03bfb7a4ed8c594)

Co-authored-by: tonghuaroot (童话) <tonghuaroot@gmail.com>
2 weeks ago[3.13] gh-136880: Add warning about PYTHONPATH (GH-151098) (GH-151298)
Miss Islington (bot) [Thu, 11 Jun 2026 06:38:47 +0000 (08:38 +0200)] 
[3.13] gh-136880: Add warning about PYTHONPATH (GH-151098) (GH-151298)

(cherry picked from commit 84630e2cb90ef334e41eb9bccd860b3b0a7ff51b)

2 weeks ago[3.13] gh-151253: Dump the Python path configuration on _PyCodec_InitRegistry() failu...
Victor Stinner [Wed, 10 Jun 2026 21:24:46 +0000 (23:24 +0200)] 
[3.13] gh-151253: Dump the Python path configuration on _PyCodec_InitRegistry() failure (#151250) (#151269) (#151283) (#151287)

[3.14][3.15] gh-151253: Dump the Python path configuration on _PyCodec_InitRegistry() failure (#151250) (#151269) (#151283)

[3.15] gh-151253: Dump the Python path configuration on _PyCodec_InitRegistry() failure (#151250) (#151269)

gh-151253: Dump the Python path configuration on _PyCodec_InitRegistry() failure (#151250)

If "import encodings" fails at Python startup, dump the Python path
configuration to help users debugging their configuration. The
encodings module is the first module imported during Python startup.

(cherry picked from commit 7b6e98911e1485be13817f2aedbbfadb1c4ea876)
(cherry picked from commit 10f616cf3939f87605081d05c1913ba630046c54)
(cherry picked from commit b3a7758d8a6333501fd60c052a40ae5c958e3d14)

2 weeks ago[3.13][3.14] GHA: Display output when a sanitizer test fails (#151268) (#151273)...
Victor Stinner [Wed, 10 Jun 2026 19:25:15 +0000 (21:25 +0200)] 
[3.13][3.14] GHA: Display output when a sanitizer test fails (#151268) (#151273) (#151280)

[3.14] GHA: Display output when a sanitizer test fails (#151268) (#151273)

GHA: Display output when a sanitizer test fails (#151268)

Modify GitHub Action "Reusable Sanitizer" to display output when a
test fails: pass -W option.

(cherry picked from commit 3a8bebd86f36be05442fa2f3adcc83c2a4b00ef2)
(cherry picked from commit bc75e47ffaffbfd33bb2a57c98e25055a1337308)

2 weeks ago[3.13] Move blurb entry to correct section. (#151270)
Ned Deily [Wed, 10 Jun 2026 17:29:20 +0000 (13:29 -0400)] 
[3.13] Move blurb entry to correct section. (#151270)

2 weeks ago[3.13][3.14] gh-143988: Fix re-entrant mutation crashes in socket sendmsg/recvmsg_int...
Victor Stinner [Wed, 10 Jun 2026 17:04:04 +0000 (19:04 +0200)] 
[3.13][3.14] gh-143988: Fix re-entrant mutation crashes in socket sendmsg/recvmsg_into (#143987) (#151251) (#151256)

[3.14] gh-143988: Fix re-entrant mutation crashes in socket sendmsg/recvmsg_into (#143987) (#151251)

gh-143988: Fix re-entrant mutation crashes in socket sendmsg/recvmsg_into (#143987)

Fix crashes in socket.sendmsg() and socket.recvmsg_into() that could
occur if buffer sequences are mutated re-entrantly during argument
parsing via __buffer__ protocol callbacks.

The bug occurs because:

1. PySequence_Fast() returns the original list object when the input
   is already a list (not a copy).
2. During iteration, PyObject_GetBuffer() triggers __buffer__
   callbacks which may clear the list.
3. Subsequent iterations access invalid memory (heap OOB read).

The fix replaces PySequence_Fast() with PySequence_Tuple() which
always creates a new tuple, ensuring the sequence cannot be mutated
during iteration.

(cherry picked from commit 896f7fdc7d0ba6d4ace06935b9d67c4da0f9ecbe)

(cherry picked from commit 632daaf5e9fb172e3206c4c1f700a4490a2d6df3)

Co-authored-by: tonghuaroot (童话) <tonghuaroot@gmail.com>
Co-authored-by: tonghuaroot <23011166+tonghuaroot@users.noreply.github.com>
2 weeks ago[3.13][3.14] gh-89554: Document socket.SocketType as a class (#150683) (#151245)...
Victor Stinner [Wed, 10 Jun 2026 17:02:34 +0000 (19:02 +0200)] 
[3.13][3.14] gh-89554: Document socket.SocketType as a class (#150683) (#151245) (#151254)

[3.14] gh-89554: Document socket.SocketType as a class (#150683) (#151245)

gh-89554: Document socket.SocketType as a class (#150683)

socket.SocketType is a class (re-exported from _socket as an alias of
_socket.socket, the base class of socket.socket), but was documented with
the ".. data::" directive, so ":class:" cross-references to it cannot
resolve against a py:class target.

Switch the entry to ".. class::", correct the misleading description
(SocketType is the base class of the socket type, not "type(socket(...))"
which is socket.socket; addresses gh-88427), move it into the Socket
Objects section, and document the socket object methods and attributes
nested under the socket class, dropping the redundant "socket." prefix.

Backport to 3.13: Replace ":platform: Windows" with
".. availability:: Windows" in ioctl() method.

(cherry picked from commit a621e8ad811e7d51d69b0969a2bd07888a02db1e)

(cherry picked from commit 4ef6a375a15adf76361a73f3c7074350e23e53ba)

Co-authored-by: Bernát Gábor <gaborjbernat@gmail.com>
2 weeks ago[3.13] gh-109940: Respect VIRTUAL_ENV_DISABLE_PROMPT in activate.bat (GH-151215)...
Harjoth Khara [Wed, 10 Jun 2026 16:49:45 +0000 (09:49 -0700)] 
[3.13] gh-109940: Respect VIRTUAL_ENV_DISABLE_PROMPT in activate.bat (GH-151215) (GH-151263)

2 weeks agoMerge branch '3.13' of https://github.com/python/cpython into 3.13
Thomas Wouters [Wed, 10 Jun 2026 16:01:42 +0000 (18:01 +0200)] 
Merge branch '3.13' of https://github.com/python/cpython into 3.13

2 weeks agoPost 3.13.14
Thomas Wouters [Wed, 10 Jun 2026 16:01:10 +0000 (18:01 +0200)] 
Post 3.13.14

2 weeks ago[3.13] Docs: Fix typos in the "Memory Management" section (GH-151243)
Miss Islington (bot) [Wed, 10 Jun 2026 13:20:03 +0000 (15:20 +0200)] 
[3.13] Docs: Fix typos in the "Memory Management" section (GH-151243)

(cherry picked from commit 8c0e2515bb0059b75e264cc5baeb27bb17337c83)

Co-authored-by: Manoj K M <manojkm24dev@gmail.com>
2 weeks ago[3.13] gh-150988: Fix refleak in `OSError` when attrs are set before `super().__init_...
Miss Islington (bot) [Wed, 10 Jun 2026 12:51:12 +0000 (14:51 +0200)] 
[3.13] gh-150988: Fix refleak in `OSError` when attrs are set before `super().__init__()` (GH-150990) (#151242)

gh-150988: Fix refleak in `OSError` when attrs are set before `super().__init__()` (GH-150990)
(cherry picked from commit f2a0f82282d6307f7fd2d4ccf52a8fd95ac3922f)

Co-authored-by: Lukas Geiger <lukas.geiger94@gmail.com>
Co-authored-by: Victor Stinner <vstinner@python.org>
2 weeks agoPython 3.13.14 v3.13.14
Thomas Wouters [Wed, 10 Jun 2026 12:23:45 +0000 (14:23 +0200)] 
Python 3.13.14

2 weeks ago[3.13] gh-80384: Fix docs for PyWeakref_NewRef() and PyWeakref_NewProxy() (GH-151146...
Miss Islington (bot) [Wed, 10 Jun 2026 10:48:23 +0000 (12:48 +0200)] 
[3.13] gh-80384: Fix docs for PyWeakref_NewRef() and PyWeakref_NewProxy() (GH-151146) (GH-151233)

The type of the callback argument is not checked.
(cherry picked from commit 0b6adeb20f5d7c8b81673d14e0a4db41fd2fca2d)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2 weeks ago[3.13][3.15] gh-143008: Fix race re-initializing TextIOWrapper (#151203) (#151227)
Victor Stinner [Wed, 10 Jun 2026 09:40:14 +0000 (11:40 +0200)] 
[3.13][3.15] gh-143008: Fix race re-initializing TextIOWrapper (#151203) (#151227)

[3.15] gh-143008: Fix race re-initializing TextIOWrapper (#151203)

__init__() changes multiple variables and may be called more than once
from multiple threads.

(cherry picked from commit 0318867acf72e3acf78f480db73a69982573263a)

Co-authored-by: Cody Maloney <cmaloney@users.noreply.github.com>
2 weeks ago[3.13] gh-150285: Fix too long docstrings in the concurrent package (GH-151076) ...
Serhiy Storchaka [Tue, 9 Jun 2026 20:25:09 +0000 (23:25 +0300)] 
[3.13] gh-150285: Fix too long docstrings in the concurrent package (GH-151076) (#151178)

(cherry picked from commit 0fa06f4d7fb3494a62ba2631362ce8b98a7eec25)

2 weeks ago[3.13] gh-151130: Add more tests for PyWeakref_* C API (GH-151131) (GH-151141) (...
Serhiy Storchaka [Tue, 9 Jun 2026 20:24:39 +0000 (23:24 +0300)] 
[3.13] gh-151130: Add more tests for PyWeakref_* C API (GH-151131) (GH-151141) (#151148)

(cherry picked from commit cb96d5ea4a63faa0db47213f386012214447be8a)

(cherry picked from commit c3cd75afdf86f6a811663c71da22cc24c784a6f4)

2 weeks ago[3.13] gh-132467: Document and test that generic aliases are not classes (GH-133504...
Abduaziz π [Tue, 9 Jun 2026 20:24:02 +0000 (01:24 +0500)] 
[3.13] gh-132467: Document and test that generic aliases are not classes (GH-133504) (#151117)

(cherry picked from commit 5915a1fb9d8499387e371c6801b40c55cf126dbf)

Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
2 weeks ago[3.13] gh-101100: Fix Sphinx warnings in 'Buffer Object Structures' documentation...
Miss Islington (bot) [Tue, 9 Jun 2026 20:21:51 +0000 (22:21 +0200)] 
[3.13] gh-101100: Fix Sphinx warnings in 'Buffer Object Structures' documentation (GH-151058) (#151071)

(cherry picked from commit a1873300eebe9c634f59592c3333035768f09de9)

Co-authored-by: Christian Zinck <christian.zinck@gmail.com>
Co-authored-by: Stan Ulbrych <stan@python.org>
2 weeks ago[3.13] gh-149231: tomllib: Limit the number of parts in a key (GH-149233) (GH-149815...
Petr Viktorin [Tue, 9 Jun 2026 20:20:07 +0000 (22:20 +0200)] 
[3.13] gh-149231: tomllib: Limit the number of parts in a key (GH-149233) (GH-149815) (#149848)

[3.14] gh-149231: tomllib: Limit the number of parts in a key (GH-149233) (GH-149815)

(cherry picked from commit bc7c102f3462a9f014f3ac2546acfb471b2a7eae)
(cherry picked from commit 724a5e5e3b4ab3e943992193d79f83429d56d6d8)

Co-authored-by: Stan Ulbrych <stan@python.org>
2 weeks ago[3.13] gh-151112: Fix double free in `assemble_init` when out of memory (GH-151142...
Miss Islington (bot) [Tue, 9 Jun 2026 20:13:40 +0000 (22:13 +0200)] 
[3.13] gh-151112: Fix double free in `assemble_init` when out of memory (GH-151142) (#151207)

gh-151112: Fix double free in `assemble_init` when out of memory (GH-151142)
(cherry picked from commit 580499177ca91477b53b4a40afcec7d3370265b0)

Co-authored-by: Stan Ulbrych <stan@python.org>
3 weeks ago[3.13] gh-151159: Bump OpenSSL version for Android (GH-151200)
Zachary Ware [Tue, 9 Jun 2026 18:21:33 +0000 (13:21 -0500)] 
[3.13] gh-151159: Bump OpenSSL version for Android (GH-151200)