Commit graph

57305 commits

Author SHA1 Message Date
Miss Islington (bot)
68abb378af
[3.15] gh-152434: Fix async-aware Gecko collection (GH-152442) (#152450)
gh-152434: Fix async-aware Gecko collection (GH-152442)
(cherry picked from commit 87ac0bc66a)

Co-authored-by: László Kiss Kollár <kiss.kollar.laszlo@gmail.com>
2026-06-27 18:00:28 +00:00
Miss Islington (bot)
5d0fa7a5c4
[3.15] gh-145306: Fix browser open after empty export (GH-150017) (#152447)
gh-145306: Fix browser open after empty export (GH-150017)
(cherry picked from commit 860f8a5add)

Co-authored-by: ivonastojanovic <80911834+ivonastojanovic@users.noreply.github.com>
2026-06-27 17:36:38 +00:00
Miss Islington (bot)
61bb57fa3f
[3.15] gh-152434: Block --async-aware with --binary (GH-152444) (#152446)
gh-152434: Block --async-aware with --binary (GH-152444)

The binary writer does not currently handle AwaitedInfo samples and
crashes when running in --async-aware mode.
(cherry picked from commit 876c06cab9)

Co-authored-by: László Kiss Kollár <kiss.kollar.laszlo@gmail.com>
2026-06-27 17:24:53 +00:00
Miss Islington (bot)
e88d41685b
[3.15] gh-151029: Fix sys.remote_exec() unable to find writable memory when libpython replaced on disk (GH-151032) (#152443)
gh-151029: Fix sys.remote_exec() unable to find writable memory when libpython replaced on disk (GH-151032)
(cherry picked from commit a69d0fc41e)

Co-authored-by: Łukasz Langa <lukasz@langa.pl>
Co-authored-by: Pablo Galindo <pablogsal@gmail.com>
2026-06-27 16:49:40 +00:00
Miss Islington (bot)
3206fc74fb
[3.15] gh-152391: Improve test_interpreters.test_stress test (GH-152396) (#152427)
gh-152391: Improve `test_interpreters.test_stress` test (GH-152396)
(cherry picked from commit 219f7a9453)

Co-authored-by: sobolevn <mail@sobolevn.me>
2026-06-27 15:37:40 +00:00
Miss Islington (bot)
bfb01d8a0c
[3.15] gh-152305: Fix _pydatetime.time.strftime() raising on year directives (GH-152306) (#152425)
(cherry picked from commit 5733361fdd)

Co-authored-by: tonghuaroot (童话) <tonghuaroot@gmail.com>
Co-authored-by: Stan Ulbrych <stan@python.org>
2026-06-27 15:36:31 +00:00
Miss Islington (bot)
2c7e8908cd
[3.15] gh-152402: Use support.nomemtest in test_pyexpat (GH-152403) (#152411)
gh-152402: Use `support.nomemtest` in `test_pyexpat` (GH-152403)
(cherry picked from commit 109c59e25f)

Co-authored-by: sobolevn <mail@sobolevn.me>
2026-06-27 13:58:20 +00:00
Miss Islington (bot)
d0a23186f0
[3.15] gh-82830: Improve tkinter messagebox docstrings and cursor documentation (GH-152380) (GH-152386)
Document Windows cursor files (gh-99089).
(cherry picked from commit ea7f64a65c)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-27 11:30:15 +00:00
Miss Islington (bot)
cab3bb8e30
[3.15] gh-152212: Reject a POSIX TZ footer with a missing std offset in pure-Python zoneinfo (GH-152213) (#152379)
(cherry picked from commit 93454fe0da)

Co-authored-by: tonghuaroot (童话) <tonghuaroot@gmail.com>
2026-06-27 09:45:43 +00:00
Miss Islington (bot)
d3eea1be60
[3.15] gh-71880: Allow editing the last cell in curses.textpad.Textbox (GH-152363) (GH-152364)
Textbox.edit() ignored typing in the lower-right cell of the window.  It is
now written with insch(), which fills the cell without moving the cursor out
of the window (addch() there raises an error and scrolls a scrollable window).
(cherry picked from commit 11b394381f)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-27 07:50:59 +00:00
Miss Islington (bot)
fbf61fbd4d
[3.15] gh-151678: Add more tests for tkinter.dnd (GH-152362) (GH-152367)
Cover the drag cursor, the Motion and ButtonRelease bindings, switching
between targets, the target search up the master chain, dnd_accept()
returning None, and restarting after a drag has finished.
(cherry picked from commit 389e00f13f)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-27 07:41:21 +00:00
Miss Islington (bot)
029016654e
[3.15] gh-38464: Make tkinter nametowidget() work with cloned menus (GH-152336) (GH-152349)
Map the auto-generated name of a cloned menu (a menu used as a menubar
or a cascade) back to the original widget instead of raising KeyError.
(cherry picked from commit 5c3555bdc5)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-26 23:31:46 +00:00
Miss Islington (bot)
90528ec040
[3.15] gh-88758: Handle non-tkinter widgets in tkinter focus methods (GH-152337) (GH-152346)
focus_get(), focus_displayof(), focus_lastfor() and winfo_containing()
now return None instead of raising KeyError when the focused widget was
not created by tkinter (for example a torn-off menu).
(cherry picked from commit 5fed5ce85d)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-26 23:30:32 +00:00
Miss Islington (bot)
ba4084fa17
[3.15] IDLE: fix dedent() usage in htest (GH-152256) (#152342)
IDLE: fix dedent() usage in htest (GH-152256)

Fix typos: in GH-112642, initial string concatenation quotes were left when switching to textwrap.dedent().
(cherry picked from commit 74272d4f0b)

Co-authored-by: Inada Naoki <songofacandy@gmail.com>
2026-06-26 23:13:47 +00:00
Miss Islington (bot)
d19b93a6fc
[3.15] gh-98894: Skip test_dtrace when building without dtrace (GH-152239) (#152300)
gh-98894: Skip test_dtrace when building without dtrace (GH-152239)
(cherry picked from commit 671357691f)

Co-authored-by: stratakis <cstratak@redhat.com>
2026-06-26 22:59:17 +02:00
Miss Islington (bot)
2a3189ce67
[3.15] gh-80937: Fix memory leak in tkinter createcommand (GH-152294) (GH-152327)
A command created with createcommand() held a strong reference to the
interpreter, forming an uncollectable cycle (interpreter -> command ->
interpreter) that kept the interpreter and the callback alive until the
command was removed with deletecommand() or destroy().  The command now
borrows the reference; it cannot outlive the interpreter, which deletes its
commands when finalized.
(cherry picked from commit bbf7786a90)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-26 19:22:21 +00:00
Miss Islington (bot)
f3e6bdafd2
[3.15] gh-152052: Fix misleading json error for \uXXXX escape at the end of input (GH-152053) (#152283)
(cherry picked from commit 588be7af08)

Co-authored-by: tonghuaroot (童话) <tonghuaroot@gmail.com>
Co-authored-by: Stan Ulbrych <stan@python.org>
2026-06-26 14:15:21 +00:00
Miss Islington (bot)
a89de4b230
[3.15] gh-152236: Fix skips on _testcapi.set_nomemory tests (GH-152253) (#152281)
gh-152236: Fix skips on `_testcapi.set_nomemory` tests (GH-152253)
(cherry picked from commit 1cbe460eb6)

Co-authored-by: sobolevn <mail@sobolevn.me>
2026-06-26 14:03:29 +00:00
Miss Islington (bot)
41f5b920e4
[3.15] gh-152246: Fix pure-Python zoneinfo accepting invalid seperators in POSIX TZ rules (GH-152247) (#152265)
(cherry picked from commit f47acc7f09)

Co-authored-by: tonghuaroot (童话) <tonghuaroot@gmail.com>
Co-authored-by: Stan Ulbrych <stan@python.org>
2026-06-26 12:08:15 +00:00
Miss Islington (bot)
30f9c8a3ef
[3.15] gh-151722: Do not track the frozendict in the GC in _PyDict_FromKeys() (GH-152067) (#152225)
gh-151722: Do not track the frozendict in the GC in _PyDict_FromKeys() (GH-152067)

_PyDict_FromKeys() now creates a frozendict copy which is
not tracked by the GC.

dict_merge() no longer requires the dictionary to be tracked by the
GC.
(cherry picked from commit 55bc3126e0)

Co-authored-by: Victor Stinner <vstinner@python.org>
Co-authored-by: Donghee Na <donghee.na@python.org>
Co-authored-by: Inada Naoki <songofacandy@gmail.com>
2026-06-25 20:48:52 +02:00
Miss Islington (bot)
0222238e3a
[3.15] Don't require _testcapi for test_code (GH-152185) (#152202)
(cherry picked from commit 11c241e1a8)

Co-authored-by: Shahar Naveh <50263213+ShaharNaveh@users.noreply.github.com>
Co-authored-by: Stan Ulbrych <stan@python.org>
2026-06-25 14:02:49 +00:00
Miss Islington (bot)
06e6515e36
[3.15] gh-152168: Don't skip test_bigmem if _testcapi is missing (GH-152171) (#152198)
(cherry picked from commit 6a82832a0b)

Co-authored-by: Shahar Naveh <50263213+ShaharNaveh@users.noreply.github.com>
2026-06-25 13:58:50 +00:00
Miss Islington (bot)
1926cf3dc9
[3.15] gh-151929: Get uptime on BSD/macOS in pythoninfo (GH-152189) (#152196)
gh-151929: Get uptime on BSD/macOS in pythoninfo (GH-152189)

* Check sysctlbyname() function and sys/sysctl.h header in
  configure.
* Add _testcapi.uptime_bsd() function.
(cherry picked from commit b6d89edc4a)

Co-authored-by: Victor Stinner <vstinner@python.org>
2026-06-25 13:41:18 +00:00
Miss Islington (bot)
a53c6ca143
[3.15] gh-127802: Schedule removal of legacy tkinter variable trace methods in 3.17 (GH-152012) (GH-152186)
The tkinter.Variable methods trace_variable(), trace(), trace_vdelete()
and trace_vinfo(), deprecated since Python 3.14, are now scheduled for
removal in Python 3.17.
(cherry picked from commit deeae2ac07)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-25 12:34:47 +00:00
Victor Stinner
ae4c2c126b
[3.15] gh-151929: Get machine ID and uptime on Windows in pythoninfo (#152146) (#152187)
gh-151929: Get machine ID and uptime on Windows in pythoninfo (#152146)

* Replace "linux." prefix with "system." in pythoninfo.
* Add _winapi.GetTickCount64() function.

(cherry picked from commit f9910519af)
2026-06-25 12:34:16 +00:00
Miss Islington (bot)
1deffc37fd
[3.15] gh-151678: Add tests for ttk Menubutton and OptionMenu widget options (GH-151960) (GH-151963)
Decorate ttk.MenubuttonTest with add_configure_tests() and make
ttk.OptionMenuTest inherit it to cover the standard widget options.
(cherry picked from commit ce147129c1)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2026-06-25 15:10:18 +03:00
Miss Islington (bot)
cf8051b2e7
[3.15] gh-152079: Fix _datetime.fromisoformat() mishandling a sub-second tz offset (GH-152087) (#152174)
(cherry picked from commit 6f9c76d8d8)

Co-authored-by: tonghuaroot (童话) <tonghuaroot@gmail.com>
Co-authored-by: Stan Ulbrych <stan@python.org>
2026-06-25 09:41:48 +00:00
Miss Islington (bot)
7d5e2dd398
[3.15] gh-151929: Get boot ID, machine ID and uptime in test.pythoninfo (GH-152127) (#152134)
gh-151929: Get boot ID, machine ID and uptime in test.pythoninfo (GH-152127)
(cherry picked from commit 3db3bba4d1)


GHA: Run test.pythoninfo on the "Cross build Linux" job.

Co-authored-by: Victor Stinner <vstinner@python.org>
2026-06-25 00:00:32 +00:00
Miss Islington (bot)
ab8434a3dc
[3.15] gh-105895: Add match and case doc to help() (GH-152113) (#152126)
gh-105895: Add `match` and `case` doc to `help()` (GH-152113)
(cherry picked from commit 1d55b3778c)

Co-authored-by: sobolevn <mail@sobolevn.me>
Co-authored-by: dzherb <zherbin.dima@yandex.ru>
Co-authored-by: Stan Ulbrych <stan@python.org>
2026-06-24 22:02:21 +00:00
Miss Islington (bot)
14d23fddd9
[3.15] Re-raise unexpected exceptions instead of swallowing them in various tests (GH-152019) (#152102)
(cherry picked from commit 6c3da17d1f)

Co-authored-by: An Long <aisk@users.noreply.github.com>
Co-authored-by: Stan Ulbrych <stan@python.org>
2026-06-24 16:53:16 +00:00
Miss Islington (bot)
c93039d453
[3.15] gh-151496: Use process groups in TraceBackend in test_dtrace (GH-152039) (#152082)
gh-151496: Use process groups in TraceBackend in test_dtrace (GH-152039)

Run the generic DTrace/SystemTap commands in a new process group and
terminate the whole group on timeout.

This prevents a forked tracer child from keeping stdout/stderr pipes
open after the direct tracer process is killed.
(cherry picked from commit 1785f4b35f)

Co-authored-by: stratakis <cstratak@redhat.com>
2026-06-24 14:15:43 +00:00
Miss Islington (bot)
8146fa4727
[3.15] gh-152060: Fix _pydatetime.fromisoformat() raising AssertionError on invalid lengths (GH-152061) (#152081)
(cherry picked from commit ff781d52d4)

Co-authored-by: tonghuaroot (童话) <tonghuaroot@gmail.com>
2026-06-24 14:10:54 +00:00
Miss Islington (bot)
c3129e692f
[3.15] gh-152020: Fix asyncio.all_tasks() loosing eager tasks on FT-build (GH-152022) (#152076)
gh-152020: Fix `asyncio.all_tasks()` loosing eager tasks on FT-build (GH-152022)
(cherry picked from commit ad2cabfccb)

Co-authored-by: Timofei <128279579+deadlovelll@users.noreply.github.com>
Co-authored-by: Kumar Aditya <kumaraditya@python.org>
2026-06-24 12:47:07 +00:00
Miss Islington (bot)
dcbcf09fe9
[3.15] Capitalize first word in unittest.mock.assert_* docs and docstrings (GH-151951) (#152059)
(cherry picked from commit a46db4f8ba)

Co-authored-by: Hans Yu <github@shauny.anonaddy.me>
2026-06-24 10:35:55 +00:00
Miss Islington (bot)
0adb386f6e
[3.15] gh-143927: Normalize all line endings (CR, CRLF, and LF) in configparser (GH-143929) (GH-152002)
gh-143927: Normalize all line endings (CR, CRLF, and LF) in configparser (GH-143929)
(cherry picked from commit 5858e42c53)

Co-authored-by: Seth Larson <seth@python.org>
2026-06-24 11:35:18 +02:00
Miss Islington (bot)
72554b378e
[3.15] gh-151497: Avoid huge pre-allocation for oversized tarfile extended headers (GH-151498) (GH-151977)
gh-151497: Avoid huge pre-allocation for oversized tarfile extended headers (GH-151498)

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 da99711d37)

Co-authored-by: Shardul Deshpande <iamsharduld@users.noreply.github.com>
2026-06-24 11:21:41 +02:00
Miss Islington (bot)
dbc9b686e0
[3.15] gh-126219: Fix crash in tkinter.Tk with non-BMP className on Tcl/Tk 8.x (GH-151980) (GH-152045)
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 124c7cd91b)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-24 06:32:05 +00:00
Miss Islington (bot)
4677e25714
[3.15] gh-150994: _colorize: modernize typing imports (GH-151018) (#152041)
gh-150994: _colorize: modernize typing imports (GH-151018)
(cherry picked from commit fcda96fbf3)

Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
2026-06-24 03:27:00 +00:00
Miss Islington (bot)
bd39eea0db
[3.15] gh-151596: Add missing argument 'size' to pure-Python implementation of TextIOBase.readline (GH-151679) (GH-151870)
(cherry picked from commit 30aeeb375b)

Co-authored-by: saber-bit <bryanventura0324@gmail.com>
2026-06-23 12:41:17 -04:00
Miss Islington (bot)
672825e2f3
[3.15] gh-151558: Fix symlink escape via tarfile hardlink-extraction fallback (GH-151559) (#151997)
(cherry picked from commit 27dd970bf6)

Co-authored-by: Stan Ulbrych <stan@python.org>
2026-06-23 13:58:57 +00:00
Miss Islington (bot)
4ce6bf7c8a
[3.15] gh-151981: Make tarfile._Stream.seek break at EOF (GH-151982) (#151991)
(cherry picked from commit f50bf13566)

Co-authored-by: Petr Viktorin <encukou@gmail.com>
Co-authored-by: Stan Ulbrych <stan@python.org>
2026-06-23 14:46:28 +01:00
Hugo van Kemenade
cf16a33fad Python 3.15.0b3 2026-06-23 12:35:49 +03:00
Miss Islington (bot)
752e23ec90
[3.15] gh-75666: Fix a reference leak in tkinter event bindings (GH-151808) (GH-151958)
The Tcl commands created for event callbacks are now deleted when a
binding is replaced or unbound, instead of being leaked.
(cherry picked from commit 3f09a175ad)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2026-06-23 04:26:53 +00:00
Miss Islington (bot)
59706a6d9a
[3.15] gh-86726: Document tkinter method-name conflicts (GH-151917) (GH-151926)
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, content 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 4de5683f21)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-22 12:42:45 +00:00
Timofei
453714a2dc
[3.15] gh-151665: Fix inspect.signature() on type alias and type parameter evaluators (#151787) 2026-06-21 15:08:37 -07:00
Miss Islington (bot)
2e4dddfa17
[3.15] gh-151678: Add tests for tkinter.simpledialog (GH-151856) (GH-151869)
(cherry picked from commit f28ef858f5)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-21 18:59:26 +00:00
Miss Islington (bot)
f43f4384cc
[3.15] gh-151678: Add interactive tests for tkinter.simpledialog (GH-151794) (GH-151802)
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 706238e764)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-21 16:54:36 +00:00
Miss Islington (bot)
45a0043971
[3.15] gh-151770: Fix datetime.fromisoformat() on an out-of-range month w/ a 24:00 time (GH-151771) (#151809)
(cherry picked from commit 1fb874cc07)

Co-authored-by: tonghuaroot (童话) <tonghuaroot@gmail.com>
Co-authored-by: Stan Ulbrych <stan@python.org>
2026-06-20 17:01:40 +00:00
Miss Islington (bot)
ba8548ca82
[3.15] gh-151678: Add tests for tkinter widget virtual events (GH-151793) (GH-151805)
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 e51b616eff)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-20 15:00:38 +00:00
Miss Islington (bot)
86cdbd8e44
[3.15] gh-151678: Add tests for the remaining tkinter Misc, Wm and Text methods (GH-151782) (GH-151799)
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 aa71eb287f)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-20 14:12:08 +00:00