]> git.ipfire.org Git - thirdparty/Python/cpython.git/log
thirdparty/Python/cpython.git
3 days agoImprove colorsys coverage (#153982)
MonadChains [Sun, 19 Jul 2026 09:48:02 +0000 (11:48 +0200)] 
Improve colorsys coverage (#153982)

* improve colorsys coverage

* add subtest

3 days agogh-154053: Fix compilation of the ssl module against LibreSSL (GH-154054)
Serhiy Storchaka [Sun, 19 Jul 2026 09:38:47 +0000 (12:38 +0300)] 
gh-154053: Fix compilation of the ssl module against LibreSSL (GH-154054)

LibreSSL does not provide SSL_CTX_set1_sigalgs_list() or
SSL_CTX_set1_client_sigalgs_list(), added in gh-138252, so _ssl failed to
compile against LibreSSL on 3.15+. Guard the set_server_sigalgs() and
set_client_sigalgs() methods so they raise NotImplementedError on LibreSSL,
and skip the corresponding tests.

3 days agoFix typo "interruptability" in Logging Cookbook documentation (#154027)
Michael Newman [Sun, 19 Jul 2026 08:54:25 +0000 (04:54 -0400)] 
Fix typo "interruptability" in Logging Cookbook documentation (#154027)

3 days agogh-153864: Fix curses window.insch() for non-ASCII characters on a wide build (GH...
Serhiy Storchaka [Sun, 19 Jul 2026 08:45:06 +0000 (11:45 +0300)] 
gh-153864: Fix curses window.insch() for non-ASCII characters on a wide build (GH-153865)

On a wide build, winsch() does not locale-decode a byte above 127, unlike
waddch(), so insch() inserted '¤' (U+00A4) instead of '€' for byte 0xA4
under ISO-8859-15.  Decode the byte with btowc() and insert it as a wide
character, like addch().

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
3 days agoTest that `ValueError` is raised when `vfsopen` is passed an invalid mode (#154008)
Rayan [Sun, 19 Jul 2026 08:21:26 +0000 (10:21 +0200)] 
Test that `ValueError` is raised when `vfsopen` is passed an invalid mode (#154008)

* ValueError with message test

* Remove white space

* Apply suggestions from code review

Change from double quotes to single quotes.

Co-authored-by: Tomas R. <tomas.roun8@gmail.com>
---------

Co-authored-by: Tomas R. <tomas.roun8@gmail.com>
3 days agofix typos in `abi3t-migration.rst` (GH-153918)
Jost Migenda [Sun, 19 Jul 2026 07:49:00 +0000 (09:49 +0200)] 
fix typos in `abi3t-migration.rst` (GH-153918)

Co-authored-by: Chris Eibl <138194463+chris-eibl@users.noreply.github.com>
3 days agogh-153862: Fix curses window.inch() for non-ASCII characters on a wide build (GH...
Serhiy Storchaka [Sun, 19 Jul 2026 07:43:22 +0000 (10:43 +0300)] 
gh-153862: Fix curses window.inch() for non-ASCII characters on a wide build (GH-153863)

On a wide build, winch() returns the low 8 bits of the character's code
point with no locale conversion, so inch()/mvinch() disagreed with instr()
for a non-ASCII character of an 8-bit locale ('€' under ISO-8859-15 gave
0xAC instead of 0xA4).  Re-encode the cell to its locale byte via wctob(),
as ncurses does for getbkgd().

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
3 days agogh-154048: Fix building the iconv codec on illumos/Solaris (GH-154049)
Serhiy Storchaka [Sun, 19 Jul 2026 06:23:26 +0000 (09:23 +0300)] 
gh-154048: Fix building the iconv codec on illumos/Solaris (GH-154049)

iconv()'s input-buffer argument is declared "const char **" on some systems
(illumos/Solaris, old GNU libiconv) rather than the POSIX "char **", so passing
a "char **" failed to compile.  Cast it through void*, which converts to either
without a warning.

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
3 days agogh-136687: Add ./configure --with-curses to select the curses backend (GH-153992)
Serhiy Storchaka [Sun, 19 Jul 2026 06:08:30 +0000 (09:08 +0300)] 
gh-136687: Add ./configure --with-curses to select the curses backend (GH-153992)

Add --with-curses=ncursesw|ncurses|curses|no, mirroring --with-readline.
The default (auto) keeps the current behaviour: prefer ncursesw, fall back
to ncurses.  --with-curses=curses links the system's native curses (e.g. on
NetBSD or Solaris), which has no pkg-config file and was previously
unreachable; it is built with wide-character support when the library
provides it.  --without-curses excludes the curses and _curses_panel modules
from the build.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
3 days agogh-154001: Avoid division by zero in binomialvariate (GH-154004)
Łukasz [Sun, 19 Jul 2026 06:06:09 +0000 (08:06 +0200)] 
gh-154001: Avoid division by zero in binomialvariate (GH-154004)

3 days agoUse Py_complex_protected AC converter for cmath.rect() (GH-154034)
Sergey B Kirpichev [Sun, 19 Jul 2026 00:24:16 +0000 (03:24 +0300)] 
Use Py_complex_protected AC converter for cmath.rect() (GH-154034)

3 days agoDocs: point `uu` module users to the `"uu"` encoding (#153657)
Ondřej Hošek [Sat, 18 Jul 2026 19:46:16 +0000 (21:46 +0200)] 
Docs: point `uu` module users to the `"uu"` encoding (#153657)

Co-authored-by: Stan Ulbrych <stan@python.org>
3 days agogh-153856: Add `os.RWF_NOSIGNAL` constant (#153858)
Benjamin Peterson [Sat, 18 Jul 2026 19:26:11 +0000 (12:26 -0700)] 
gh-153856: Add `os.RWF_NOSIGNAL` constant (#153858)

RWF_NOSIGNAL was added in Linux 6.18 to prevent pwritev2() from raising SIGPIPE when writing to disconnected pipes or sockets.

fixes gh-153856

3 days agogh-150663: Document that PyErr_SetRaisedException accepts null (#153046)
Andrii Hrimov [Sat, 18 Jul 2026 18:10:05 +0000 (20:10 +0200)] 
gh-150663: Document that PyErr_SetRaisedException accepts null (#153046)

3 days agogh-153395: Fix test_complexchar on narrow curses builds (GH-154005)
Serhiy Storchaka [Sat, 18 Jul 2026 16:33:03 +0000 (19:33 +0300)] 
gh-153395: Fix test_complexchar on narrow curses builds (GH-154005)

On a narrow build, complexchar() of a multibyte character raises
OverflowError, not ValueError.

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
3 days agogh-153568: Skip parser memo lookups that cannot match (#153571)
Pablo Galindo Salgado [Sat, 18 Jul 2026 16:12:38 +0000 (18:12 +0200)] 
gh-153568: Skip parser memo lookups that cannot match (#153571)

Each token now carries a small filter of the rule types present in its
memo list, so the common case of a miss no longer walks the list.

3 days agoAdd vfspath TypeError test (#153987)
Ajob Kustra [Sat, 18 Jul 2026 16:03:54 +0000 (18:03 +0200)] 
Add vfspath TypeError test (#153987)

typeerror with message test

4 days agoAdd test coverage to check execution of GetoptError.__str__ (#153941)
Manith Hettiarachchilage [Sat, 18 Jul 2026 15:00:13 +0000 (16:00 +0100)] 
Add test coverage to check execution of GetoptError.__str__ (#153941)

* Increase test coverage of getopt to check execution of GetoptError.__str__

* Add test coverage to check execution of GetoptError.__str__

* Add test coverage to check execution of GetoptError.__str__

* Add test coverage to check execution of GetoptError.__str__

* Add test coverage to check execution of GetoptError.__str__

* Add test coverage to check execution of GetoptError.__str__

4 days agogh-124111: Update Windows builds to Tcl/Tk 9.0.4 (GH-153901)
Zachary Ware [Sat, 18 Jul 2026 14:52:10 +0000 (16:52 +0200)] 
gh-124111: Update Windows builds to Tcl/Tk 9.0.4 (GH-153901)

4 days agogh-141004: Document unstable executable kind macros from `pyframe.h` (GH-143490)
Yashraj [Sat, 18 Jul 2026 14:50:40 +0000 (20:20 +0530)] 
gh-141004: Document unstable executable kind macros from `pyframe.h` (GH-143490)

Co-authored-by: Peter Bierma <zintensitydev@gmail.com>
4 days agogh-141004: Document remaining `PyCF_*` compiler flag macros (GH-153958)
Bartosz Sławecki [Sat, 18 Jul 2026 14:42:24 +0000 (16:42 +0200)] 
gh-141004: Document remaining `PyCF_*` compiler flag macros (GH-153958)

4 days agoFix parameter name of read_mime_types() in mimetypes docs (GH-153974)
Raúl Santos Quirós [Sat, 18 Jul 2026 14:29:45 +0000 (16:29 +0200)] 
Fix parameter name of read_mime_types() in mimetypes docs (GH-153974)

4 days agoImprove `getopt.getopt` and `getopt.gnu_getopt` test coverage (GH-153933)
Florian Freitag [Sat, 18 Jul 2026 13:50:28 +0000 (15:50 +0200)] 
Improve `getopt.getopt` and `getopt.gnu_getopt` test coverage (GH-153933)

4 days agogh-71896: Add a docs warning about trailing newlines ignored by `difflib.HtmlDiff...
Lenormand Julien [Sat, 18 Jul 2026 13:40:11 +0000 (15:40 +0200)] 
gh-71896: Add a docs warning about trailing newlines ignored by `difflib.HtmlDiff` (GH-153930)

4 days agoDocs: Fix typo in the pymanager command name (GH-153877)
Sam Katakouzinos [Sat, 18 Jul 2026 13:27:59 +0000 (23:27 +1000)] 
Docs: Fix typo in the pymanager command name (GH-153877)

4 days agogh-153568: Cache repeated identifiers while parsing (#153577)
Pablo Galindo Salgado [Sat, 18 Jul 2026 13:25:39 +0000 (15:25 +0200)] 
gh-153568: Cache repeated identifiers while parsing (#153577)

4 days agogh-153896: Deduplicate unhashable arguments in `typing.Literal` (GH-153914)
Massimiliano Bruni [Sat, 18 Jul 2026 13:16:03 +0000 (15:16 +0200)] 
gh-153896: Deduplicate unhashable arguments in `typing.Literal` (GH-153914)

4 days agogh-153908: Fix data race in `itertools.count.__repr__` (GH-153917)
John [Sat, 18 Jul 2026 13:01:51 +0000 (15:01 +0200)] 
gh-153908: Fix data race in `itertools.count.__repr__` (GH-153917)

4 days agogh-122102: Fix/improve docs of descriptor-related tools in `inspect` (GH-122104)
Jan Kaliszewski [Sat, 18 Jul 2026 13:01:31 +0000 (15:01 +0200)] 
gh-122102: Fix/improve docs of descriptor-related tools in `inspect` (GH-122104)

Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
4 days agogh-153934: Correct documented paramemeter in `calendar.weekheader` from `n` to `width...
Marta [Sat, 18 Jul 2026 12:46:23 +0000 (14:46 +0200)] 
gh-153934: Correct documented paramemeter in `calendar.weekheader` from `n` to `width` (GH-153942)

4 days agogh-153903: Add a `ctypes` decorator for generating function pointers using annotation...
Peter Bierma [Sat, 18 Jul 2026 12:30:50 +0000 (08:30 -0400)] 
gh-153903: Add a `ctypes` decorator for generating function pointers using annotations (GH-153904)

Co-authored-by: Tomas R. <tomas.roun8@gmail.com>
Co-authored-by: Bartosz Sławecki <bartosz@ilikepython.com>
4 days agogh-153926: Fix documented parameter name for `calendar.calendar` and `calendar.prcal...
Vyron Vasileiadis [Sat, 18 Jul 2026 12:29:23 +0000 (15:29 +0300)] 
gh-153926: Fix documented parameter name for `calendar.calendar` and `calendar.prcal` (#153927)

gh-153926: Fix documented parameter name for calendar.calendar and calendar.prcal

calendar.calendar() and calendar.prcal() are bound methods of the
module's TextCalendar instance, whose first parameter is named theyear,
but the documentation named it year, so the documented keyword raised
TypeError. Update the documentation to match the real signature, which
also matches the sibling month() and prmonth() functions.

4 days agogh-153236: Propagate lazy submodule import errors (#153237)
Pablo Galindo Salgado [Sat, 18 Jul 2026 12:28:43 +0000 (14:28 +0200)] 
gh-153236: Propagate lazy submodule import errors (#153237)

4 days agogh-152433: Windows: implement ``os.cpu_count()`` for UWP (GH-152479)
thexai [Sat, 18 Jul 2026 12:19:03 +0000 (14:19 +0200)] 
gh-152433: Windows: implement ``os.cpu_count()`` for UWP (GH-152479)

4 days agogh-149319: Make `asyncio` REPL respect `-I` and `-E` options (#149405)
Jonathan Dung [Sat, 18 Jul 2026 12:10:37 +0000 (20:10 +0800)] 
gh-149319: Make `asyncio` REPL respect `-I` and `-E` options (#149405)

4 days agoFix duplicated words in "What's new in Python 3.15" documentation (#153922)
Michael Newman [Sat, 18 Jul 2026 11:55:56 +0000 (07:55 -0400)] 
Fix duplicated words in "What's new in Python 3.15" documentation (#153922)

4 days agogh-153808: Replace obsolete 'condition list' verbiage with 'expression list' in eval...
palakkhinvasara [Sat, 18 Jul 2026 11:42:38 +0000 (17:12 +0530)] 
gh-153808: Replace obsolete 'condition list' verbiage with 'expression list' in eval() docs (GH-153811)

4 days agogh-151822: Colorize commands separately in the REPL (#151823)
Bartosz Sławecki [Sat, 18 Jul 2026 11:17:51 +0000 (13:17 +0200)] 
gh-151822: Colorize commands separately in the REPL (#151823)

4 days agoTest `calendar.February` deprecation (#153893)
vjabuilds [Sat, 18 Jul 2026 10:54:10 +0000 (12:54 +0200)] 
Test `calendar.February` deprecation (#153893)

Calendar related tests now check if both deprecated constants surface the proper warnings.

* extended `test_deprecation_warning` to check `constants.February` as well

Co-authored-by: Tomas R. <tomas.roun8@gmail.com>
4 days agoFix punctuation in `Doc/library/concurrent.interpreters.rst` (GH-153894)
Raúl Santos Quirós [Sat, 18 Jul 2026 10:38:45 +0000 (12:38 +0200)] 
Fix punctuation in `Doc/library/concurrent.interpreters.rst` (GH-153894)

4 days agogh-153899: Fix documented parameter names for `filecmp.cmpfiles` (#153900)
Vyron Vasileiadis [Sat, 18 Jul 2026 10:34:50 +0000 (13:34 +0300)] 
gh-153899: Fix documented parameter names for `filecmp.cmpfiles` (#153900)

Update the `filecmp.cmpfiles()` docs to match its actual signature.

4 days agogh-147950: Additionally bind `yank-arg` to `M-_` in pyrepl (#147949)
Jonathan Oberländer [Sat, 18 Jul 2026 09:56:14 +0000 (11:56 +0200)] 
gh-147950: Additionally bind `yank-arg` to `M-_` in pyrepl (#147949)

4 days agoAdd versionadded tag to wave module getformat functions (#153897)
Elias Dorneles [Sat, 18 Jul 2026 09:30:40 +0000 (11:30 +0200)] 
Add versionadded tag to wave module getformat functions (#153897)

4 days agogh-104533: Add a dataclass-like decorator for `ctypes` structures (GH-153781)
Peter Bierma [Sat, 18 Jul 2026 08:48:16 +0000 (04:48 -0400)] 
gh-104533: Add a dataclass-like decorator for `ctypes` structures (GH-153781)

Co-authored-by: Bartosz Sławecki <bartosz@ilikepython.com>
4 days agoFix duplicated words in the 'Coroutines and tasks' documentation (#153880)
Michael Newman [Sat, 18 Jul 2026 07:22:45 +0000 (03:22 -0400)] 
Fix duplicated words in the 'Coroutines and tasks' documentation (#153880)

4 days agogh-150583: Fix zstd compression level with digested ZstdDict (#150586)
Rogdham [Sat, 18 Jul 2026 04:15:39 +0000 (06:15 +0200)] 
gh-150583: Fix zstd compression level with digested ZstdDict (#150586)

4 days agogh-153872: Update macOS installer ReadMe files for 3.15. (#153875)
Ned Deily [Fri, 17 Jul 2026 23:43:38 +0000 (01:43 +0200)] 
gh-153872: Update macOS installer ReadMe files for 3.15. (#153875)

4 days agogh-124111: Update macOS installer to use Tcl/Tk 9.0.4. (#153868)
Ned Deily [Fri, 17 Jul 2026 22:14:40 +0000 (00:14 +0200)] 
gh-124111: Update macOS installer to use Tcl/Tk 9.0.4. (#153868)

4 days agoSkip curses tests when scr_dump()/is_keypad() are unavailable (GH-153866)
Serhiy Storchaka [Fri, 17 Jul 2026 21:59:27 +0000 (00:59 +0300)] 
Skip curses tests when scr_dump()/is_keypad() are unavailable (GH-153866)

test_scr_dump() and test_state_getters() errored instead of skipping on
builds without scr_dump(), is_keypad() or is_leaveok() (e.g. some narrow
ncurses, NetBSD, PDCurses).

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
4 days agogh-152023: Update macOS installer builds to SQLite 3.53.3 (#153867)
Ned Deily [Fri, 17 Jul 2026 21:48:26 +0000 (23:48 +0200)] 
gh-152023: Update macOS installer builds to SQLite 3.53.3 (#153867)

Enable median() and percentile() functions.

4 days agogh-153853: Fix parameter name of calendar.setfirstweekday() in docs (#153851)
Ibrahim Shaqqou [Fri, 17 Jul 2026 18:51:37 +0000 (14:51 -0400)] 
gh-153853: Fix parameter name of calendar.setfirstweekday() in docs (#153851)

4 days agogh-153844: Support AST input in symtable.symtable() (GH-153845)
Serhiy Storchaka [Fri, 17 Jul 2026 16:17:08 +0000 (19:17 +0300)] 
gh-153844: Support AST input in symtable.symtable() (GH-153845)

The builtin compile() accepts an AST object since Python 2.6, but
symtable.symtable() only accepted str and bytes, although the
implementation builds the symbol table from an AST anyway.  Accept an
AST object as well: convert it for the requested compile type, validate
it, honor future statements found in the tree, and build the symbol
table the same way the compiler does.

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
5 days agoShut down leaked executors in `test_interpreter_pool` (#153780)
Stan Ulbrych [Fri, 17 Jul 2026 15:19:48 +0000 (17:19 +0200)] 
Shut down leaked executors in `test_interpreter_pool` (#153780)

5 days agogh-153395: Accept curses.complexchar in curses.ascii predicates and conversions ...
Serhiy Storchaka [Fri, 17 Jul 2026 08:10:21 +0000 (11:10 +0300)] 
gh-153395: Accept curses.complexchar in curses.ascii predicates and conversions (GH-153396)

The curses.ascii predicates and the ctrl() and unctrl() functions now accept
a curses.complexchar, classifying it by its single character.  ctrl() now
returns a non-ASCII argument unchanged instead of masking it to a control
character.

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
5 days agogh-153521: Support structured arguments in imaplib commands (GH-153522)
Serhiy Storchaka [Fri, 17 Jul 2026 08:06:45 +0000 (11:06 +0300)] 
gh-153521: Support structured arguments in imaplib commands (GH-153522)

Command methods now accept a structured *message_set* (an integer, or a
sequence of integers, (start, stop) ranges and range objects) and lists of
flags or other atoms in place of preformatted parenthesized strings.

The search, fetch, sort, thread and uid methods gain a keyword-only *params*
argument that substitutes and quotes '?' placeholders in their value-bearing
arguments, in the manner of sqlite3 parameter substitution.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: R. David Murray <rdmurray@bitdance.com>
5 days agogh-85943: Fix BytesWarning in the struct format cache under -bb (GH-153627)
Serhiy Storchaka [Fri, 17 Jul 2026 07:49:11 +0000 (10:49 +0300)] 
gh-85943: Fix BytesWarning in the struct format cache under -bb (GH-153627)

Normalize bytes format strings to str before using them as the cache key,
so that equal str and bytes formats no longer collide and get compared.

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
5 days agogh-152384: pixi-packages: use `flags` to define variants (#152385)
Lucas Colley [Fri, 17 Jul 2026 06:32:29 +0000 (08:32 +0200)] 
gh-152384: pixi-packages: use `flags` to define variants (#152385)

Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
Co-authored-by: Isuru Fernando <isuruf@gmail.com>
Co-authored-by: Nathan Goldbaum <nathan.goldbaum@gmail.com>
5 days agogh-153404: Silently ignore non-decimal digits in robots.txt Crawl-delay and Request...
tonghuaroot (童话) [Fri, 17 Jul 2026 05:54:46 +0000 (13:54 +0800)] 
gh-153404: Silently ignore non-decimal digits in robots.txt Crawl-delay and Request-rate (GH-153405)

str.isdigit() returned True for non-decimal Unicode digits such as
U+00B2 SUPERSCRIPT TWO, which int() then rejected with ValueError.

5 days agogh-149162: Use _Py_LOCK_DONT_DETACH in intern_common (gh-149164)
Sam Gross [Thu, 16 Jul 2026 17:37:00 +0000 (10:37 -0700)] 
gh-149162: Use _Py_LOCK_DONT_DETACH in intern_common (gh-149164)

Avoids potential deadlocks with C++ static local initialization in
extensions that call PyUnicode_InternFromString during one-time
initialization.

6 days agogh-153761: Fix asyncio sock_accept() dropping a connection when cancelled (#153762)
Timofei [Thu, 16 Jul 2026 06:05:25 +0000 (09:05 +0300)] 
gh-153761: Fix asyncio sock_accept() dropping a connection when cancelled (#153762)

6 days agogh-153630: Add `str.remove{prefix,suffix}()` to the `str` method summary (#153629)
darida12321 [Wed, 15 Jul 2026 18:05:17 +0000 (19:05 +0100)] 
gh-153630: Add `str.remove{prefix,suffix}()` to the `str` method summary (#153629)

Co-authored-by: Stan Ulbrych <stan@python.org>
6 days agogh-150077: Fix fileobj leak in `tarfile.TarFile.zstopen` on `BaseException` (GH-150080)
stevens [Wed, 15 Jul 2026 17:53:23 +0000 (01:53 +0800)] 
gh-150077: Fix fileobj leak in `tarfile.TarFile.zstopen` on `BaseException` (GH-150080)

This is one of those times when a bare `except` is appropriate.

6 days agogh-153550: Modernize the older prose sections of the tkinter documentation (GH-153647)
Serhiy Storchaka [Wed, 15 Jul 2026 16:19:00 +0000 (19:19 +0300)] 
gh-153550: Modernize the older prose sections of the tkinter documentation (GH-153647)

Refresh the narrative "Tkinter life preserver" and "Handy reference"
sections to match the overhauled reference (gh-86726 and gh-153549).

* Rework "The packer" into a general "Geometry management" section
  covering grid, pack and place, and cross-link it with the Grid, Pack
  and Place reference classes.
* Rework "The window manager" and "Coupling widget variables", replacing
  the dated App(Frame) examples with direct Tk() and ttk examples.
* Replace page-number citations to Ousterhout's book with links to the
  relevant Tk man pages.
* Modernize the tkinter.ttk front matter and its Tcl/Tk links, and add
  cross-references between the two documents.
* Reconcile the "Packer options" and "Tk option data types" lists with
  the reference, and fill in the empty Entry index list.
* Fix the malformed target-selection list in tkinter.dnd.

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
7 days agogh-150452: use PyMutex in socket module (#150453)
Thomas Kowalski [Wed, 15 Jul 2026 10:39:28 +0000 (12:39 +0200)] 
gh-150452: use PyMutex in socket module (#150453)

7 days agogh-150952: Fix incorrect sock_sendto docstring (#150953)
Timofei [Wed, 15 Jul 2026 08:44:30 +0000 (11:44 +0300)] 
gh-150952: Fix incorrect sock_sendto docstring (#150953)

7 days agogh-153716: Harden ttk/tkinter GUI tests against display scaling (GH-153717)
Serhiy Storchaka [Wed, 15 Jul 2026 03:06:24 +0000 (06:06 +0300)] 
gh-153716: Harden ttk/tkinter GUI tests against display scaling (GH-153717)

Compute probe coordinates from each widget's own realized geometry
instead of hardcoding pixels such as (5, 5) or width - 5, which land on
a different element, or miss it entirely, at a high display scaling.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
7 days agoRemove duplicate button_ok code in idlelib.textview (#153733)
Terry Jan Reedy [Wed, 15 Jul 2026 03:03:35 +0000 (23:03 -0400)] 
Remove duplicate button_ok code in idlelib.textview (#153733)

7 days agogh-153313: Run Emscripten PyRepl test in CI (#153701)
Hood Chatham [Wed, 15 Jul 2026 01:04:30 +0000 (03:04 +0200)] 
gh-153313: Run Emscripten PyRepl test in CI (#153701)

Adds the PyRepl test to the Github CI configuration for Emscripten.

7 days agogh-102960: Make frames weak-referenceable (#152838)
Łukasz Langa [Tue, 14 Jul 2026 23:58:14 +0000 (01:58 +0200)] 
gh-102960: Make frames weak-referenceable (#152838)

Add an explicit f_weakreflist field to the frame object, following the
same pattern as generators and coroutines, including free-threading-safe
weakref clearing via FT_CLEAR_WEAKREFS() in frame_dealloc().

Py_TPFLAGS_MANAGED_WEAKREF is not used because static builtin types
must not carry it (see init_static_type()) and the pre-header would
cost two extra words per frame instead of one.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
7 days agogh-153695: Fix sqlite3.Row.__hash__ with an unhashable value (#153696)
tonghuaroot (童话) [Tue, 14 Jul 2026 22:23:58 +0000 (06:23 +0800)] 
gh-153695: Fix sqlite3.Row.__hash__ with an unhashable value (#153696)

7 days agogh-152433: Allow posixmodule.c to build for Windows UWP (GH-152998)
thexai [Tue, 14 Jul 2026 21:35:59 +0000 (23:35 +0200)] 
gh-152433: Allow posixmodule.c to build for Windows UWP (GH-152998)

7 days agogh-148488: Clarify the company/tag separator in the py -V docs (GH-153427)
Serhiy Storchaka [Tue, 14 Jul 2026 21:32:20 +0000 (00:32 +0300)] 
gh-148488: Clarify the company/tag separator in the py -V docs (GH-153427)

7 days agogh-151126: Fix `PyErr_NoMemory` errors in `_ctypes.c` (#152720)
stevens [Tue, 14 Jul 2026 16:48:17 +0000 (00:48 +0800)] 
gh-151126: Fix `PyErr_NoMemory`  errors in `_ctypes.c`  (#152720)

7 days agogh-151912: Fix segfault in `type()` with NULL `tp_new` metaclasses (#151916)
Santhosh .I 🦇 [Tue, 14 Jul 2026 16:19:03 +0000 (21:49 +0530)] 
gh-151912: Fix segfault in `type()` with NULL `tp_new` metaclasses (#151916)

8 days agogh-151907: Avoid creating temporary objects in some list comprehensions (GH-151908)
Peter Bierma [Tue, 14 Jul 2026 15:06:29 +0000 (11:06 -0400)] 
gh-151907: Avoid creating temporary objects in some list comprehensions (GH-151908)

Co-authored-by: Irit Katriel <1055913+iritkatriel@users.noreply.github.com>
8 days agogh-153313: Work around string decoding bug in emcc 6.0.2 (gh-153698)
Hood Chatham [Tue, 14 Jul 2026 14:21:39 +0000 (16:21 +0200)] 
gh-153313: Work around string decoding bug in emcc 6.0.2 (gh-153698)

8 days agogh-71086: Document negative offset support in struct.pack_into() and unpack_from...
Serhiy Storchaka [Tue, 14 Jul 2026 13:36:26 +0000 (16:36 +0300)] 
gh-71086: Document negative offset support in struct.pack_into() and unpack_from() (GH-153650)

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
8 days agogh-49555: Clarify imaplib modified UTF-7 docs and comments (GH-153485)
Serhiy Storchaka [Tue, 14 Jul 2026 12:47:32 +0000 (15:47 +0300)] 
gh-49555: Clarify imaplib modified UTF-7 docs and comments (GH-153485)

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
8 days agogh-98078: fix asyncio SSL transports not sending the fatal TLS alerts (#153620)
Kumar Aditya [Tue, 14 Jul 2026 08:15:54 +0000 (13:45 +0530)] 
gh-98078: fix asyncio SSL transports not sending the fatal TLS alerts (#153620)

8 days agogh-71019: document which objects connect_read_pipe/connect_write_pipe accept and...
Kumar Aditya [Tue, 14 Jul 2026 07:31:14 +0000 (13:01 +0530)] 
gh-71019: document which objects connect_read_pipe/connect_write_pipe accept and add tests (#153660)

8 days agogh-153658: Fix sqlite3 iterdump() for table names containing a single quote (#153659)
tonghuaroot (童话) [Tue, 14 Jul 2026 07:16:43 +0000 (15:16 +0800)] 
gh-153658: Fix sqlite3 iterdump() for table names containing a single quote (#153659)

8 days agogh-141510: Update `marshal` module comment with `frozendict` support (#153655)
sobolevn [Tue, 14 Jul 2026 06:50:45 +0000 (09:50 +0300)] 
gh-141510: Update `marshal` module comment with `frozendict` support (#153655)

8 days agogh-153631: Move to `macos-26` runner for iOS (#153632)
Russell Keith-Magee [Mon, 13 Jul 2026 22:38:43 +0000 (06:38 +0800)] 
gh-153631: Move to `macos-26` runner for iOS (#153632)

Switches iOS CI to use the macos-26 runner, and makes a small change to the iOS
build script to improve build stability. xcodebuild doesn't guarantee that the
CoreSimulatorService is running before starting a simulator. If the service
isn't running, xcodebuild reports that no simulators are available, and fails to
start the test app. However, simctl blocks until the simulator is available, and
simctl is used to evaluate the default simulator. So - the iOS build script now
unconditionally determines the default simulator, even if a specific simulator
is requested.

8 days agogh-152405: Do not expose the internal mapping when rich-comparing `MappingProxyType...
sobolevn [Mon, 13 Jul 2026 19:07:51 +0000 (22:07 +0300)] 
gh-152405: Do not expose the internal mapping when rich-comparing `MappingProxyType` objects (#152483)

9 days agogh-89696: Fix `loop.sock_connect` docs on address resolution (#153651)
Kumar Aditya [Mon, 13 Jul 2026 09:46:24 +0000 (15:16 +0530)] 
gh-89696: Fix `loop.sock_connect` docs on address resolution (#153651)

9 days agogh-148286: Fix UB in `ZstdDecompressor.unused_data` when a frame is decompressed...
Stan Ulbrych [Mon, 13 Jul 2026 07:02:02 +0000 (09:02 +0200)] 
gh-148286: Fix UB in `ZstdDecompressor.unused_data` when a frame is decompressed in one call (#153258)

Co-authored-by: Emma Smith <emma@emmatyping.dev>
9 days agogh-153037: Make ZstdFile.__next__ raise io.UnsupportedOperation on non-readable files...
Łukasz [Mon, 13 Jul 2026 02:15:53 +0000 (04:15 +0200)] 
gh-153037: Make ZstdFile.__next__ raise io.UnsupportedOperation on non-readable files (#153045)

Make `ZstdFile.__next__` raise `io.UnsupportedOperation` on non-readable files, consistent with other compression modules.

10 days agogh-153513: Remove obsolete Tk version guards in tkinter tests (GH-153615)
Serhiy Storchaka [Sun, 12 Jul 2026 15:27:10 +0000 (18:27 +0300)] 
gh-153513: Remove obsolete Tk version guards in tkinter tests (GH-153615)

Since gh-153513, _tkinter returns int, float and pixel objects for the
corresponding Tcl object types on all Tk versions.  The tests for the
Text "tabs" and ttk "padding" options therefore no longer need to expect
string tuples on Tk older than 8.6.14.

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
10 days agogh-90431: Document cancellation behavior of asyncio.wait() and asyncio.as_completed...
Kumar Aditya [Sun, 12 Jul 2026 10:54:42 +0000 (16:24 +0530)] 
gh-90431: Document cancellation behavior of asyncio.wait() and asyncio.as_completed() (#153616)

10 days agogh-151615: Avoid repeated reschedule in asyncio _accept_connection (#151616)
Timofei [Sun, 12 Jul 2026 10:08:32 +0000 (13:08 +0300)] 
gh-151615: Avoid repeated reschedule in asyncio _accept_connection (#151616)

Co-authored-by: Kumar Aditya <kumaraditya@python.org>
10 days agogh-152132: Close stderr_copy in test_api.test_run (#153591)
Victor Stinner [Sat, 11 Jul 2026 21:55:02 +0000 (23:55 +0200)] 
gh-152132: Close stderr_copy in test_api.test_run (#153591)

Previously, the test was leaking a file descriptor.

10 days agogh-102591: Document that urlcleanup resets the global opener (#153562)
Taeknology [Sat, 11 Jul 2026 19:40:09 +0000 (04:40 +0900)] 
gh-102591: Document that urlcleanup resets the global opener (#153562)

Co-authored-by: Senthil Kumaran <senthil@python.org>
10 days agogh-153569: Split tokenizer lexer into focused files (#153585)
Pablo Galindo Salgado [Sat, 11 Jul 2026 18:53:27 +0000 (19:53 +0100)] 
gh-153569: Split tokenizer lexer into focused files (#153585)

10 days agogh-153293: Clear opcode statistics in the live profiler's reset_stats() (#153295)
Łukasz [Sat, 11 Jul 2026 17:44:31 +0000 (19:44 +0200)] 
gh-153293: Clear opcode statistics in the live profiler's reset_stats() (#153295)

10 days agogh-141968: Use `take_bytes` to simplify and remove copy from pyrepl `BaseEventQueue...
Lukas Geiger [Sat, 11 Jul 2026 15:59:37 +0000 (16:59 +0100)] 
gh-141968: Use `take_bytes` to simplify and remove copy from pyrepl `BaseEventQueue` (#149852)

10 days agogh-145694: Update tutorial indentation guidance for PyREPL auto-indent (#145725)
Matt Van Horn [Sat, 11 Jul 2026 15:57:37 +0000 (08:57 -0700)] 
gh-145694: Update tutorial indentation guidance for PyREPL auto-indent (#145725)

The tutorial stated users must manually type tabs/spaces at the interactive
prompt, which is no longer accurate since the PyREPL in Python 3.13+
auto-indents after compound statement headers. Updated to mention both
the default REPL behavior and the basic REPL fallback.

11 days agogh-152431: update StreamReader transport after StreamWriter.start_tls() (#152432)
Xuyang Zhang [Sat, 11 Jul 2026 13:03:23 +0000 (21:03 +0800)] 
gh-152431: update StreamReader transport after StreamWriter.start_tls() (#152432)

Co-authored-by: Kumar Aditya <kumaraditya@python.org>
11 days agogh-152614: Add raises to `QueueShutDown` in `asyncio.Queue.put_no_wait` and `asyncio...
Duprat [Sat, 11 Jul 2026 12:29:38 +0000 (14:29 +0200)] 
gh-152614: Add raises to `QueueShutDown` in `asyncio.Queue.put_no_wait` and `asyncio.Queue.get_nowait` documentation methods (#152681)

11 days agogh-86726: Note that the ttk Treeview separator column option needs Tk 9.0 (GH-153556)
Serhiy Storchaka [Sat, 11 Jul 2026 10:10:27 +0000 (13:10 +0300)] 
gh-86726: Note that the ttk Treeview separator column option needs Tk 9.0 (GH-153556)

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
11 days agogh-126877: Fix the configure check for Tcl/Tk with optimizing compilers (GH-153543)
Serhiy Storchaka [Sat, 11 Jul 2026 09:49:12 +0000 (12:49 +0300)] 
gh-126877: Fix the configure check for Tcl/Tk with optimizing compilers (GH-153543)

The check assigned the addresses of Tcl_Init() and Tk_Init() to unused
variables, which optimizing compilers can eliminate, so it linked even
when the libraries were missing.  Call the functions instead.

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>