Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
746 commits
Select commit Hold shift + click to select a range
82cb7d4
GH-59633: Clarify dest collisions in argparse docs (#150987)
savannahostrowski Jun 9, 2026
6688b0c
gh-151159: Update Windows builds to use OpenSSL 3.5.7 (GH-151183)
zware Jun 9, 2026
720fb82
gh-151159: Update macOS installer to use OpenSSL 3.5.7. (#151171)
ByteFlowing1337 Jun 9, 2026
627dd14
gh-151159: Bump OpenSSL versions for iOS and Android (GH-151164)
zware Jun 9, 2026
7053bbd
gh-151159: Update CI to use latest SSL library versions (#151176)
zware Jun 9, 2026
81c1cdc
gh-139819: rlcompleter – avoid suggesting attributes not accessible o…
ttw225 Jun 9, 2026
ab8ebe9
gh-151163: Update Android, macOS installer, and Windows builds to SQL…
zware Jun 9, 2026
5804991
gh-151112: Fix double free in `assemble_init` when out of memory (#15…
StanFromIreland Jun 9, 2026
ce916dc
gh-150700: Fix class-scope inline comprehensions when nested scopes r…
johnslavik Jun 9, 2026
ff64d8d
gh-145239: Colorize `case +` in the REPL (#150979)
johnslavik Jun 10, 2026
7a014f4
gh-109940: Respect VIRTUAL_ENV_DISABLE_PROMPT in activate.bat (GH-151…
harjothkhara Jun 10, 2026
11c93d6
gh-149716: Document PySlot_DATA for Py_mod_gil and Py_mod_multiple_in…
Taeknology Jun 10, 2026
ca32ebf
gh-80384: Check that callback is callable at weak reference creation …
serhiy-storchaka Jun 10, 2026
16f71bd
gh-150285: Wrap long single-line summary in text output in pydoc (GH-…
serhiy-storchaka Jun 10, 2026
3a08e93
gh-98894: Fix DTrace test_check_probes for shared builds (#151122)
stratakis Jun 10, 2026
3ca93ab
Add yet one assertion in test_set_text_charset_cp949 (GH-151224)
serhiy-storchaka Jun 10, 2026
f2a0f82
gh-150988: Fix refleak in `OSError` when attrs are set before `super(…
lgeiger Jun 10, 2026
44a533f
gh-150671: Deprecate `PyAsyncGen_New`, `PyCoro_New`, `PyGen_New`, `Py…
sobolevn Jun 10, 2026
a621e8a
gh-89554: Document socket.SocketType as a class (#150683)
gaborbernat Jun 10, 2026
896f7fd
gh-143988: Fix re-entrant mutation crashes in socket sendmsg/recvmsg_…
tonghuaroot Jun 10, 2026
8c0e251
Docs: Fix typos in the "Memory Management" section (GH-151243)
manoj-marimuthu Jun 10, 2026
e2bd50d
add asyncio guide for Free-Threaded Python (#150456)
kumaraditya303 Jun 10, 2026
7bbb960
gh-141984: Reword the Generator expressions section (GH-150518)
encukou Jun 10, 2026
ae62b53
gh-62259: Add Tools/unicode/gen_expat_table.py (GH-150503)
serhiy-storchaka Jun 10, 2026
9fd1a12
gh-151126: Fix missing memory errors in `_interpchannelsmodule.c` (#1…
sobolevn Jun 10, 2026
7b6e989
gh-151253: Dump the Python path configuration on _PyCodec_InitRegistr…
vstinner Jun 10, 2026
3a8bebd
GHA: Display output when a sanitizer test fails (#151268)
vstinner Jun 10, 2026
e60c42d
gh-151278: Fix test_faulthandler on UBSan (#151279)
vstinner Jun 10, 2026
871047d
gh-139819: Use builtin `sentinel` in `rlcompleter` (GH-151222)
Viicos Jun 10, 2026
84630e2
gh-136880: Add warning about PYTHONPATH (GH-151098)
glennglazer Jun 11, 2026
84a322a
gh-151295: Fix use-after-free in bytes.join()/bytearray.join() via re…
tonghuaroot Jun 11, 2026
9620f69
Drop historical `:author:`s from HOWTOs (#151091)
StanFromIreland Jun 11, 2026
f9ffca3
gh-151177: Fix race condition in `_testembed` (GH-151293)
ZeroIntensity Jun 11, 2026
2d33810
gh-151112: Move an `assert` that may fail in `cfg_builder_check` (#15…
StanFromIreland Jun 11, 2026
8295659
Remove unused internal _Py_REF_IS_QUEUED() function (#151236)
vstinner Jun 11, 2026
d87d772
gh-151284: Fix test_capi on UBSan (#151286)
vstinner Jun 11, 2026
72e7edd
gh-123619: Fix PyUnstable_Object_EnableDeferredRefcount() (#151260)
vstinner Jun 11, 2026
a05b9cd
gh-151179: Fix pidfd leak in asyncio _PidfdChildWatcher (#151186)
deadlovelll Jun 11, 2026
0066fd7
gh-150285: Suppress showing the __getstate__() comment in the help fo…
serhiy-storchaka Jun 11, 2026
4b44b1e
gh-151238: Check for `_get_resized_exprs` failure in `_PyPegen_{joine…
StanFromIreland Jun 11, 2026
0bbde07
gh-150397: Fix pyexpat bigmem test (#151329)
vstinner Jun 11, 2026
937d89c
gh-151112: Fix crash in `compiler_mod()` when entering the current co…
StanFromIreland Jun 11, 2026
1ec6596
gh-150858: fix data race while changing `__qualname__` of a type obje…
KowalskiThomas Jun 11, 2026
b9bffc0
gh-139588: Fix nondeterministic `make latex` doc build under parallel…
m-aciek Jun 11, 2026
b18168c
gh-101100: Fix Sphinx nitpick in `unittest.mock.rst` (#151302)
cmaloney Jun 11, 2026
10595b1
gh-151126: Fix missing memory error in `os._path_splitroot` (#151339)
sobolevn Jun 11, 2026
6112d70
gh-151228: fix data race on clearing embedded dict values (#151330)
kumaraditya303 Jun 11, 2026
efb2fff
gh-150490: Raise PyType_Modified for insertion into split dictionary …
DinoV Jun 11, 2026
36fe778
gh-150942: Speed up json.loads array and object decoding (GH-150945)
eendebakpt Jun 11, 2026
65047f2
gh-150285: Fix too long docstrings in GenericAlias and __class_getite…
serhiy-storchaka Jun 11, 2026
402668b
gh-138991: Update dataclass documentation for new eq behavior in Pyth…
Aniketsy Jun 11, 2026
d2e27ac
gh-150285: Fix overflow in too long lines for class data in pydoc (GH…
serhiy-storchaka Jun 11, 2026
507250b
Correct the docstring of `logging.config` (GH-151353)
ByteFlowing1337 Jun 11, 2026
71805db
gh-151337: Avoid possible memory leak in `_tkinter.c` on Windows. (GH…
ByteFlowing1337 Jun 11, 2026
80f9467
gh-151065: Copy fix for memory leak from mimalloc upstream (GH-151066)
ZeroIntensity Jun 11, 2026
c375992
gh-151297: Fix undefined behavior in `_PyObject_MiRealloc` (GH-151358)
godlygeek Jun 12, 2026
6b217ea
gh-151126: Fix crash on unset memory error in `ctypes.get_errno` (#15…
sobolevn Jun 12, 2026
d986124
Docs: avoid repetitions of class references in functions.rst (#150891)
m-aciek Jun 12, 2026
f4f1020
Fix typos in the `curses.ascii` module documentation (#129300)
rffontenelle Jun 12, 2026
3c00ebc
gh-101267: ProcessPoolExecutor no longer shares 1 BrokenProcessPool e…
daniel-shields Jun 13, 2026
5b38519
Docs: Fix method directive signatures in `enum` docs (#151429)
jonathandung Jun 13, 2026
e933987
gh-77328: Update `base64` module RFC references to RFC 4648 (#151275)
StanFromIreland Jun 13, 2026
6679ac0
gh-151403: Fix use-after-free when an argv item's __fspath__ mutates …
tonghuaroot Jun 13, 2026
9ad6ba0
gh-151443: Fix documented default of `unittest.mock.mock_open`'s `re…
iamsharduld Jun 13, 2026
6ce088e
gh-151424: Fix impossible stack traces in `RemoteUnwinder(..., cache_…
maurycy Jun 13, 2026
a7885b4
gh-151428: Remove unused imports in the stdlib (#151440)
ByteFlowing1337 Jun 14, 2026
e91f68a
Skip test_highly_nested_objects_decoding during the PGO profile task.…
gpshead Jun 14, 2026
f1a5f68
gh-151461: Fix encoding-related exception handling in file tokenizer …
johnslavik Jun 14, 2026
47b7dc7
gh-139837: Document attributes of objects recorded by warnings.catch_…
Aniketsy Jun 14, 2026
1097b22
gh-151428: Remove unused imports from `Tools/` (#151442)
ByteFlowing1337 Jun 14, 2026
a700732
gh-151390: Colorize `match +` and `match -` in the REPL (#151391)
johnslavik Jun 14, 2026
d63c994
gh-130197: Test `pygettext`'s `--version` CLI option (#133022)
StanFromIreland Jun 14, 2026
18f3ffe
gh-149671: Restore compatibility with setuptools -nspkg.pth files in …
vstinner Jun 15, 2026
7a70afa
Add `.toml` to `.editorconfig` (#151481)
sobolevn Jun 15, 2026
ecbd31e
gh-137759: Replace _PyObject_HashFast() with PyObject_Hash() in setob…
JasonMendoza2008 Jun 15, 2026
b3b7c00
gh-146102: Don't clear exception on success in odictobject.c (#151347)
vstinner Jun 15, 2026
0ec7c9d
gh-146102: Fix type slot_bf_getbuffer() error handling (#151346)
vstinner Jun 15, 2026
552ce57
gh-139227: Remove unused _PyRuntime.imports.pkgcontext (#151490)
vstinner Jun 15, 2026
b6a2eef
Fix issues reported by cpython-review-toolkit in faulthandler (#151341)
vstinner Jun 15, 2026
35ce2e5
gh-148853: Catch PermissionError in test in_systemd_nspawn_sync_suppr…
neek78 Jun 15, 2026
9074876
gh-149079: Optimize sorting in unicodedata.normalize() (GH-150782)
serhiy-storchaka Jun 15, 2026
46107ad
gh-92455: Respect case-sensitive mimetype suffixes (GH-148782)
yuanx749 Jun 15, 2026
585e14c
gh-140145: Use repr of the key in `zoneinfo` "No time zone found" err…
LamentXU123 Jun 15, 2026
e9d5280
gh-151223: fix tsan data races in load global specializations (#151393)
kumaraditya303 Jun 15, 2026
5ea1e90
gh-151128: Improve SyntaxError message for cross language keywords (G…
zang-langyan Jun 15, 2026
8646385
gh-151422: Don't link libffi into _ctypes_test.so (#151423)
hoodmane Jun 15, 2026
11f032f
gh-151522: Guard against None transport in slow-socket SSL test (#151…
itamaro Jun 16, 2026
0777a58
gh-150771: Fix email serialization for shift_jis and euc-jp (GH-151120)
bhuvi27 Jun 16, 2026
2ce2600
gh-151519: Check effective gid in `_test_all_chown_common` group-0 gu…
itamaro Jun 16, 2026
b16d23f
gh-151218: Replace sys.flags in PyConfig_Set() (#151402)
vstinner Jun 16, 2026
627adb5
gh-151428: Remove unused imports from stdlib (#151478)
hugovk Jun 16, 2026
7edcaed
gh-118158: Fix missing newline in py_compile CLI error output (#149008)
yuanx749 Jun 16, 2026
c2ca772
gh-150902: Optimize PyCriticalSection2 to skip locking the same locks…
dpdani Jun 16, 2026
9e863fa
gh-151544: Fixes CVE-2026-12003 by removing the fallback to %VPATH%/M…
zooba Jun 16, 2026
9a61d1c
gh-151546: Fix stack limits on musl (#151548)
vstinner Jun 17, 2026
a064b32
gh-151496: Use process groups in test_dtrace (#151512)
vstinner Jun 17, 2026
460dec2
gh-151593: Use timeout on GitHub Action TSan jobs (#151594)
vstinner Jun 17, 2026
5ad3c6d
gh-120665: make unittest loaders avoid loading test cases that are ab…
blhsing Jun 17, 2026
a173a6d
gh-151584: Remove `PyUnstable_Module_SetGIL` call in `_remote_debuggi…
sobolevn Jun 17, 2026
6b142ab
gh-150966: Fix live profiling error tests (GH-151020)
pablogsal Jun 17, 2026
16185e9
gh-149044: Improve Py_tp_base[s] docs & error message for non-type ba…
encukou Jun 17, 2026
eff805b
gh-151510: Fix __lazy_import__ without frame (#151511)
aisk Jun 17, 2026
a8d74c0
gh-151436: Fix missing `tstate->last_profiled_frame` updates (#151437)
maurycy Jun 17, 2026
8d7c6dc
gh-150942: Optimize PicklerMemoProxy.copy() with _PyDict_SetItem_Take…
corona10 Jun 18, 2026
3a03405
docs: Fix indent misalignment in `library/logging.config.rst` (GH-151…
mushitoriami Jun 18, 2026
65afcdd
gh-151623: Improve curses documentation and docstrings (GH-151625)
serhiy-storchaka Jun 18, 2026
f551705
gh-151623: Improve curses documentation style (#151635)
hugovk Jun 18, 2026
12add38
gh-151623: Add missing curses docstrings and document intrflush() (#1…
serhiy-storchaka Jun 18, 2026
3fa92e7
gh-151229: Finalize JIT tracer in test eval-frame stub (gh-151609)
corona10 Jun 18, 2026
8b270b7
gh-86726: Document the full public API of tkinter (GH-151579)
serhiy-storchaka Jun 18, 2026
fd53ae1
gh-141510 Document and test frozendict class matching behaviour (#150…
da-woods Jun 18, 2026
d47c27e
gh-86726: Fix "deprecated" directive for wm_attributes (GH-151652)
serhiy-storchaka Jun 18, 2026
ad1513a
GH-150516: Reduce the work done to spill and reload the stack around …
markshannon Jun 18, 2026
3cd02a1
gh-86726: Fix the documented return type of tkinter info_patchlevel()…
serhiy-storchaka Jun 18, 2026
bfecfcc
gh-86726: Add few missing versionadded directives (GH-151662)
serhiy-storchaka Jun 18, 2026
e99b319
gh-146353: Document `PyBytesWriter_GetData` pointer validity (GH-151418)
harjothkhara Jun 18, 2026
15d7406
docs: Fix broken reference of parameter type in `library/logging.rst`…
mushitoriami Jun 18, 2026
17720b1
gh-151229: Add CI to prevent JIT stress test regression (#151647)
corona10 Jun 18, 2026
d701f8e
gh-145177: Bump Emscripten to 6.0.0 (#151611)
hoodmane Jun 18, 2026
9688d25
gh-101100: Document os.uname_result and os.statvfs_result with relate…
cmaloney Jun 19, 2026
da69fcf
gh-151427: add 'not macOS' and 'not iOS' restrictions on availabili…
YvesDup Jun 19, 2026
4ac809e
gh-151678: Add tests for tkinter.Text (GH-151681)
serhiy-storchaka Jun 19, 2026
551f8e1
gh-151695: Fix use-after-free of the curses screen encoding (GH-151696)
serhiy-storchaka Jun 19, 2026
a5568d0
gh-141510 Add frozendict fast paths to abstract.c (#150692)
da-woods Jun 19, 2026
ef5c32a
gh-151678: Add tests for tkinter.Menu (GH-151685)
serhiy-storchaka Jun 19, 2026
cf3b3c1
gh-151678: Add tests for tkinter.Listbox (GH-151686)
serhiy-storchaka Jun 19, 2026
bb127c5
gh-151678: Add tests for tkinter.Canvas (GH-151683)
serhiy-storchaka Jun 19, 2026
b4cfb99
gh-151693: Add curses tests for panels, textpad, and window behavior …
serhiy-storchaka Jun 19, 2026
93b9e76
gh-151678: Add tests for the remaining tkinter widgets (GH-151687)
serhiy-storchaka Jun 19, 2026
64fab74
gh-151693: Make the curses tests portable to other curses implementat…
serhiy-storchaka Jun 19, 2026
c4eb3ad
gh-150836: Mount embedded Tk ZIP in _tkinter on Windows (GH-151562)
jjhelmus Jun 19, 2026
23793ac
gh-151678: Add tests for tkinter Misc, Wm and geometry manager method…
serhiy-storchaka Jun 19, 2026
7d4a0aa
gh-151678: Add tests for tkinter.ttk methods (GH-151736)
serhiy-storchaka Jun 19, 2026
2e5843e
gh-151744: Add curses.nofilter() (GH-151747)
serhiy-storchaka Jun 19, 2026
66cc048
gh-151678: Add tests for tkinter font, image, variable, Misc and Wm m…
serhiy-storchaka Jun 19, 2026
a9db5cb
gh-151678: Add tests for tkinter.scrolledtext (GH-151753)
serhiy-storchaka Jun 19, 2026
aa5b164
gh-151674: Add tkinter Text.edit_canundo() and Text.edit_canredo() (G…
serhiy-storchaka Jun 20, 2026
2a126a5
gh-151678: Add tests for tkinter.dnd (GH-151780)
serhiy-storchaka Jun 20, 2026
58fd9ec
gh-151678: Add tests for tkinter.filedialog (GH-151781)
serhiy-storchaka Jun 20, 2026
aa71eb2
gh-151678: Add tests for the remaining tkinter Misc, Wm and Text meth…
serhiy-storchaka Jun 20, 2026
706238e
gh-151678: Add interactive tests for tkinter.simpledialog (GH-151794)
serhiy-storchaka Jun 20, 2026
88e5d8a
gh-151675: Add tkinter Text.sync() and Text.pendingsync() (GH-151677)
serhiy-storchaka Jun 20, 2026
e51b616
gh-151678: Add tests for tkinter widget virtual events (GH-151793)
serhiy-storchaka Jun 20, 2026
1fb874c
gh-151770: Fix `datetime.fromisoformat()` on an out-of-range month w/…
tonghuaroot Jun 20, 2026
aec0aed
gh-51067: Add `remove()` and `repack()` to `ZipFile` (GH-134627)
danny0838 Jun 20, 2026
1b9fe5c
gh-84649: Fix unstable test_rollover_at_midnight (GH-151813)
serhiy-storchaka Jun 20, 2026
1de86e1
gh-150831: docs: clarify generator, generator function, and generator…
Aniketsy Jun 21, 2026
082ac30
RTD Previews: Get correct base branch for backports (#150690)
StanFromIreland Jun 21, 2026
8270ae5
gh-86726: Document tkinter.simpledialog query options and Dialog.resu…
serhiy-storchaka Jun 21, 2026
f28ef85
gh-151678: Add tests for tkinter.simpledialog (GH-151856)
serhiy-storchaka Jun 21, 2026
c2661e6
gh-151845: Fix formatfloat() return-value contract in unicode_format.…
aisk Jun 21, 2026
30aeeb3
gh-151596: Add missing argument 'size' to pure-Python implementation …
Saber0324 Jun 21, 2026
7782794
gh-151665: Fix inspect.signature() on type alias and type parameter e…
deadlovelll Jun 21, 2026
24828e5
gh-142387: Revert Android testbed to API level 35 (#151816)
mhsmith Jun 21, 2026
476b649
gh-151042: venv: Pass VIRTUAL_ENV through cygpath inside fish on Wind…
LuNoX Jun 22, 2026
1ab8862
gh-151905: fix memory error handling in PyFrame_GetBack (#151906)
prakashsellathurai Jun 22, 2026
d1dbdbf
gh-151914: Copyedit "What's new in Python 3.16" (#151915)
hugovk Jun 22, 2026
7ec70e1
gh-144133: Add a warning to the `encodings.punycode` documentation (#…
StanFromIreland Jun 22, 2026
851b779
gh-151874: Add tkinter wm_stackorder, wm_iconbadge and winfo_isdark (…
serhiy-storchaka Jun 22, 2026
4de5683
gh-86726: Document tkinter method-name conflicts (GH-151917)
serhiy-storchaka Jun 22, 2026
c42f36a
gh-151878: Add tkinter Entry and Spinbox validate methods (GH-151879)
serhiy-storchaka Jun 22, 2026
13c1225
gh-151910: Add tkinter.ttk.Treeview methods for the Tk 9.1 enhanced t…
serhiy-storchaka Jun 22, 2026
b9bceb1
gh-151876: Add tkinter Canvas methods rotate and rchars (GH-151877)
serhiy-storchaka Jun 22, 2026
6185dfb
gh-151881: Add tkinter Menu.postcascade, Misc.tk_scaling and tk_inact…
serhiy-storchaka Jun 22, 2026
4448205
gh-151126: Fix missing `PyErr_NoMemory` in `getpath.c` (#151590)
ByteFlowing1337 Jun 22, 2026
614e3ec
gh-124113: Clarify venv target directory reuse (#151419)
harjothkhara Jun 22, 2026
ff275f0
Correct typos in `runpy.run_path` documentation (#151230)
underscore-andthereitgoes Jun 22, 2026
f928475
gh-151866: Remove unneeded `zlib` dependency in `test_zipfile.test_co…
danny0838 Jun 22, 2026
b8786dc
gh-151560: fix `AttributeError` when running `test.test_importlib.res…
ringobanana-3900 Jun 22, 2026
afda368
gh-127727: Warn when running a virtual environment created for a diff…
sepehr-rs Jun 22, 2026
5049eb1
gh-111501: venv: do not export PS1 in activate (#105279)
rpigott Jun 22, 2026
b86c305
gh-151888: Add tkinter PhotoImage.redither method (GH-151889)
serhiy-storchaka Jun 22, 2026
0d540af
gh-140006: Harden fish prompt against shadowed builtins (#150936)
gaborbernat Jun 22, 2026
0bd1024
gh-150162: Fix sysconfig cross-compile impermanence (#150164)
hetmankp Jun 22, 2026
34eca5a
gh-151890: Support more photo image options in tkinter.PhotoImage met…
serhiy-storchaka Jun 22, 2026
6cbb225
gh-151886: Add tkinter Misc.tk_appname, tk_useinputmethods and tk_car…
serhiy-storchaka Jun 22, 2026
27148d0
gh-151920: Add the ttk.Style.theme_styles() method (GH-151921)
serhiy-storchaka Jun 22, 2026
1c5a110
gh-62480: De-personalize docs on using the C API (#151784)
RafaelWO Jun 22, 2026
b1c4bda
GH-150605: use windows-2025 in GitHub Actions (#150606)
chris-eibl Jun 22, 2026
6920036
gh-151722: Defer GC tracking of frozendict to end of construction (gh…
corona10 Jun 22, 2026
3f09a17
gh-75666: Fix a reference leak in tkinter event bindings (GH-151808)
serhiy-storchaka Jun 23, 2026
ce14712
gh-151678: Add tests for ttk Menubutton and OptionMenu widget options…
serhiy-storchaka Jun 23, 2026
868d9a8
gh-101284: Allow passing Menubutton options to tkinter.OptionMenu (GH…
serhiy-storchaka Jun 23, 2026
ad38cf8
gh-59396: Modernize tkinter.simpledialog (GH-151848)
serhiy-storchaka Jun 23, 2026
da99711
gh-151497: Avoid huge pre-allocation for oversized tarfile extended h…
iamsharduld Jun 23, 2026
2ac1611
Clarify `multiprocessing.Queue.get_nowait()` documentation (#150863)
rerpha Jun 23, 2026
7915c4a
gh-151556: Show example CSV file content in the `csv` module docs (#1…
lul-cas Jun 23, 2026
f50bf13
gh-151981: Make tarfile._Stream.seek break at EOF (GH-151982)
encukou Jun 23, 2026
27dd970
gh-151558: Fix symlink escape via `tarfile` hardlink-extraction fallb…
StanFromIreland Jun 23, 2026
5858e42
gh-143927: Normalize all line endings (CR, CRLF, and LF) in configpar…
sethmlarson Jun 23, 2026
d35b171
gh-151773: Fix NULL dereference in `PyContextVar_Set` (#151836)
bhuvi27 Jun 23, 2026
7928a8b
gh-151126: Add missing `PyErr_NoMemory()` in `type_from_slots_or_spec…
ByteFlowing1337 Jun 23, 2026
10d1b63
gh-150565: Add additional tests for Lazy Imports (#149739)
brittanyrey Jun 23, 2026
5e0747d
gh-151842: Fix crash upon OOM in `_interpreters.capture_exception` (G…
amruthamodela06 Jun 23, 2026
fcda96f
gh-150994: _colorize: modernize typing imports (#151018)
JelleZijlstra Jun 24, 2026
fde4cf8
gh-152033: Optimize category escapes outside character sets (GH-152035)
serhiy-storchaka Jun 24, 2026
a5677bf
gh-151757: Support wide and combining characters in the curses module…
serhiy-storchaka Jun 24, 2026
124c7cd
gh-126219: Fix crash in tkinter.Tk with non-BMP className on Tcl/Tk 8…
serhiy-storchaka Jun 24, 2026
560ff8e
gh-87904: Document curses classes (GH-151643)
serhiy-storchaka Jun 24, 2026
ee78d43
gh-84008: Document that the LC_NUMERIC locale affects tkinter numeric…
serhiy-storchaka Jun 24, 2026
a46db4f
Capitalize first word in `unittest.mock.assert_*` docs and docstrings…
hy144328 Jun 24, 2026
21c4b73
gh-152056: Compile single-category character sets to a bare CATEGORY …
eendebakpt Jun 24, 2026
763cc22
gh-140550: Docs additions & fixups for PEP 793 (GH-151661)
encukou Jun 24, 2026
793f471
gh-151757: Fix curses wide-character tests in non-UTF-8 locales (GH-1…
serhiy-storchaka Jun 24, 2026
ac023ea
gh-90092: Support multiple terminals in the curses module (GH-151748)
serhiy-storchaka Jun 24, 2026
22dd5b5
gh-151763: Fix possible crash on `CodeType` deallocation (#152034)
sobolevn Jun 24, 2026
c613072
gh-151814: Fix unbounded memory growth from repeated empty writes to …
StanFromIreland Jun 24, 2026
ad2cabf
gh-152020: Fix `asyncio.all_tasks()` loosing eager tasks on FT-build …
deadlovelll Jun 24, 2026
f7e5cdd
gh-151456: Document the show_jit parameter in dis (#151457)
iamsharduld Jun 24, 2026
ff781d5
gh-152060: Fix `_pydatetime.fromisoformat()` raising `AssertionError`…
tonghuaroot Jun 24, 2026
1785f4b
gh-151496: Use process groups in TraceBackend in test_dtrace (#152039)
stratakis Jun 24, 2026
28b63d3
`valgrind-python.supp`: Update suppression for readline leaks (#151783)
StanFromIreland Jun 24, 2026
15696a6
gh-90949: Fix copy-paste typo in pyexpat capsule API initialization (…
StanFromIreland Jun 24, 2026
b35c379
gh-151485: Fix command quoting in subprocess.CalledProcessError.__str…
BenjyWiener Jun 24, 2026
ce8b81f
gh-151763: Fix NULL dereference in `os._path_normpath()` under OOM (#…
zainnadeem786 Jun 24, 2026
0fb82b4
gh-151955: Allow more ParamSpec and TypeVarTuple bounds (#151956)
JelleZijlstra Jun 24, 2026
6c3da17
Re-raise unexpected exceptions instead of swallowing them in various …
aisk Jun 24, 2026
c7faa69
gh-86726: Improve the structure of the tkinter reference (GH-152109)
serhiy-storchaka Jun 24, 2026
3cd4283
gh-151774: Add curses dynamic color-pair functions (GH-151775)
serhiy-storchaka Jun 24, 2026
e0909f0
Add Jacob to CODEOWNERS for Infra/GHA/CI (#152112)
JacobCoffee Jun 24, 2026
a52f428
gh-151776: Add curses state-query functions (GH-151778)
serhiy-storchaka Jun 24, 2026
1d55b37
gh-105895: Add `match` and `case` doc to `help()` (#152113)
sobolevn Jun 24, 2026
b41dc4a
gh-152093: Fix test_tk_caret() on macOS (GH-152115)
serhiy-storchaka Jun 24, 2026
3db3bba
gh-151929: Get boot ID, machine ID and uptime in test.pythoninfo (#15…
vstinner Jun 24, 2026
a6c2d4a
gh-151763: Fix crash in `_interpqueues.create` on `MemoryError` (#152…
sobolevn Jun 25, 2026
bd4bd3e
gh-152100: Support set operations in character classes (GH-152153)
serhiy-storchaka Jun 25, 2026
a00464b
gh-152100: Move re compiler optimizations to Lib/re/_optimizer.py (GH…
serhiy-storchaka Jun 25, 2026
05225aa
gh-151126: Fix missing memory errors in `_interpretersmodule.c` (#151…
lpyu001 Jun 25, 2026
6f9c76d
gh-152079: Fix `_datetime.fromisoformat()` mishandling a sub-second t…
tonghuaroot Jun 25, 2026
a009328
gh-151126: Fix missing `PyErr_NoMemory` in `testinternalcapi.c` (#152…
sobolevn Jun 25, 2026
a580029
gh-151126: Add missing `PyErr_NoMemory` in `_winapi.c` (#151588)
ByteFlowing1337 Jun 25, 2026
2b3ea68
gh-51067: Refactor duplicated logic in `zipfile` to `_read_local_file…
danny0838 Jun 25, 2026
f991051
gh-151929: Get machine ID and uptime on Windows in pythoninfo (#152146)
vstinner Jun 25, 2026
deeae2a
gh-127802: Schedule removal of legacy tkinter variable trace methods …
serhiy-storchaka Jun 25, 2026
b6d89ed
gh-151929: Get uptime on BSD/macOS in pythoninfo (#152189)
vstinner Jun 25, 2026
6a82832
gh-152168: Don't skip `test_bigmem` if `_testcapi` is missing (#152171)
ShaharNaveh Jun 25, 2026
11c241e
Don't require `_testcapi` for `test_code` (#152185)
ShaharNaveh Jun 25, 2026
56ae0b8
gh-148825: Fix build error if specialization is disabled (#148826)
cdce8p Jun 25, 2026
7676427
gh-151929: Add pythoninfo-build command to Platforms/emscripten (#152…
vstinner Jun 25, 2026
7c81637
gh-151929: Add pythoninfo commands to Platforms/WASI (#152136)
vstinner Jun 25, 2026
bef5706
gh-151593: Fix dead lock in PyDict insert_split_key() (#152200)
vstinner Jun 25, 2026
55bc312
gh-151722: Do not track the frozendict in the GC in _PyDict_FromKeys(…
vstinner Jun 25, 2026
908f438
gh-152235: Defer GC tracking of set and frozenset to end of construct…
corona10 Jun 26, 2026
13eb851
first implementation of d-string
methane Jan 2, 2026
8724f45
use least indent instead of closing quote indent
methane Jan 20, 2026
c94788d
fix invalid escape sequences position
methane Jan 23, 2026
9057582
improve tests
methane Jan 25, 2026
4f95273
t/f-string: calculate common indent without temp string
methane Jan 28, 2026
44c1aa4
add tests
methane Jan 31, 2026
98a2660
add test cases
methane Mar 18, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 2 additions & 2 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
root = true

[*.{py,c,cpp,h,js,rst,md,yml,yaml,gram}]
[*.{py,c,cpp,h,js,rst,md,yml,yaml,toml,gram}]
trim_trailing_whitespace = true
insert_final_newline = true
indent_style = space

[*.{py,c,cpp,h,gram}]
[*.{py,c,cpp,h,toml,gram}]
indent_size = 4

[*.rst]
Expand Down
3 changes: 2 additions & 1 deletion .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,7 @@ Include/internal/pycore_uop_ids.h generated
Include/internal/pycore_uop_metadata.h generated
Include/opcode.h generated
Include/opcode_ids.h generated
Include/slots_generated.h generated
Include/token.h generated
Lib/_opcode_metadata.py generated
Lib/idlelib/help.html generated
Expand All @@ -99,7 +100,6 @@ Lib/token.py generated
Misc/sbom.spdx.json generated
Modules/_testinternalcapi/test_cases.c.h generated
Modules/_testinternalcapi/test_targets.h generated
Objects/typeslots.inc generated
PC/python3dll.c generated
Parser/parser.c generated
Parser/token.c generated
Expand All @@ -110,6 +110,7 @@ Python/generated_cases.c.h generated
Python/optimizer_cases.c.h generated
Python/opcode_targets.h generated
Python/record_functions.c.h generated
Python/slots_generated.c generated
Python/stdlib_module_names.h generated
Tools/peg_generator/pegen/grammar_parser.py generated
aclocal.m4 generated
Expand Down
44 changes: 20 additions & 24 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -63,29 +63,29 @@
.azure-pipelines/ @AA-Turner

# GitHub & related scripts
.github/ @ezio-melotti @hugovk @AA-Turner @webknjaz
.github/ @ezio-melotti @hugovk @AA-Turner @webknjaz @itamaro @JacobCoffee
Tools/build/compute-changes.py @AA-Turner @hugovk @webknjaz
Lib/test/test_tools/test_compute_changes.py @AA-Turner @hugovk @webknjaz
Tools/build/verify_ensurepip_wheels.py @AA-Turner @pfmoore @pradyunsg

# Pre-commit
.pre-commit-config.yaml @hugovk
.ruff.toml @hugovk @AlexWaygood @AA-Turner
.pre-commit-config.yaml @hugovk @JacobCoffee
.ruff.toml @hugovk @AlexWaygood @AA-Turner @JacobCoffee

# Patchcheck
Tools/patchcheck/ @AA-Turner
Tools/patchcheck/ @AA-Turner @itamaro


# ----------------------------------------------------------------------------
# Build System
# ----------------------------------------------------------------------------

# Autotools
configure* @erlend-aasland @corona10 @AA-Turner @emmatyping
Makefile.pre.in @erlend-aasland @AA-Turner @emmatyping
Modules/makesetup @erlend-aasland @AA-Turner @emmatyping
Modules/Setup* @erlend-aasland @AA-Turner @emmatyping
Tools/build/regen-configure.sh @AA-Turner
configure* @erlend-aasland @corona10 @AA-Turner @emmatyping @itamaro
Makefile.pre.in @erlend-aasland @AA-Turner @emmatyping @itamaro
Modules/makesetup @erlend-aasland @AA-Turner @emmatyping @itamaro
Modules/Setup* @erlend-aasland @AA-Turner @emmatyping @itamaro
Tools/build/regen-configure.sh @AA-Turner @itamaro

# generate-build-details
Tools/build/generate-build-details.py @FFY00
Expand Down Expand Up @@ -156,16 +156,15 @@ Misc/libabigail.abignore @encukou
# ----------------------------------------------------------------------------

# Android
Android/ @mhsmith @freakboy3742
Platforms/Android/ @mhsmith @freakboy3742
Doc/using/android.rst @mhsmith @freakboy3742
Lib/_android_support.py @mhsmith @freakboy3742
Lib/test/test_android.py @mhsmith @freakboy3742

# iOS
Doc/using/ios.rst @freakboy3742
Lib/_ios_support.py @freakboy3742
Apple/ @freakboy3742
iOS/ @freakboy3742
Platforms/Apple/ @freakboy3742

# macOS
Mac/ @python/macos-team
Expand All @@ -176,8 +175,8 @@ Lib/test/test__osx_support.py @python/macos-team
Tools/wasm/README.md @brettcannon @freakboy3742 @emmatyping

# WebAssembly (Emscripten)
Tools/wasm/config.site-wasm32-emscripten @freakboy3742 @emmatyping
Tools/wasm/emscripten @freakboy3742 @emmatyping
Platforms/emscripten @freakboy3742 @emmatyping
Tools/wasm/emscripten @freakboy3742 @emmatyping

# WebAssembly (WASI)
Platforms/WASI @brettcannon @emmatyping @savannahostrowski
Expand Down Expand Up @@ -574,9 +573,9 @@ Lib/shutil.py @giampaolo
Lib/test/test_shutil.py @giampaolo

# Site
Lib/site.py @FFY00
Lib/test/test_site.py @FFY00
Doc/library/site.rst @FFY00
Lib/site.py @FFY00 @warsaw
Lib/test/test_site.py @FFY00 @warsaw
Doc/library/site.rst @FFY00 @warsaw

# string.templatelib
Doc/library/string.templatelib.rst @lysnikolaou @AA-Turner
Expand All @@ -587,10 +586,10 @@ Lib/test/test_string/test_templatelib.py @lysnikolaou @AA-Turner
**/*sysconfig* @FFY00

# SQLite 3
Doc/library/sqlite3.rst @berkerpeksag @erlend-aasland
Lib/sqlite3/ @berkerpeksag @erlend-aasland
Lib/test/test_sqlite3/ @berkerpeksag @erlend-aasland
Modules/_sqlite/ @berkerpeksag @erlend-aasland
Doc/library/sqlite3.rst @erlend-aasland
Lib/sqlite3/ @erlend-aasland
Lib/test/test_sqlite3/ @erlend-aasland
Modules/_sqlite/ @erlend-aasland

# Subprocess
Lib/subprocess.py @gpshead
Expand Down Expand Up @@ -623,9 +622,6 @@ Modules/_typesmodule.c @AA-Turner
Lib/unittest/mock.py @cjw296
Lib/test/test_unittest/testmock/ @cjw296

# Urllib
**/*robotparser* @berkerpeksag

# Venv
**/*venv* @vsajip @FFY00

Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/bug.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,13 +34,13 @@ body:
label: "CPython versions tested on:"
multiple: true
options:
- "3.9"
- "3.10"
- "3.11"
- "3.12"
- "3.13"
- "3.14"
- "3.15"
- "3.16"
- "CPython main branch"
validations:
required: true
Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/crash.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,13 +27,13 @@ body:
label: "CPython versions tested on:"
multiple: true
options:
- "3.9"
- "3.10"
- "3.11"
- "3.12"
- "3.13"
- "3.14"
- "3.15"
- "3.16"
- "CPython main branch"
validations:
required: true
Expand Down
27 changes: 17 additions & 10 deletions .github/SECURITY.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,24 @@
# Security Policy

## Supported Versions
Python [provides a security policy and threat model](https://devguide.python.org/security/policy/)
in the Python Developer's Guide documenting what bugs are vulnerabilities,
how to structure reports, and what versions of Python accept reports.

The Python team applies security fixes according to the table
in [the devguide](
https://devguide.python.org/versions/#supported-versions
).
Python Security Response Team (PSRT) members
balance security work against many other responsibilities. Please be thoughtful
about the time and attention your report requires. Repeated failure to respect
the security policy will result in future reports being rejected, or the
reporter being banned from the ``python`` GitHub organization, regardless of
technical merit.

## Reporting a Vulnerability

Please read the guidelines on reporting security issues [on the
official website](https://www.python.org/dev/security/) for
instructions on how to report a security-related problem to
the Python team responsibly.
The [Python security policy](https://devguide.python.org/security/policy/)
documents [how to submit a vulnerability report](https://devguide.python.org/security/policy/#how-to-submit-a-vulnerability-report)
using GitHub Security Advisories. Please read the security policy
prior to filing a vulnerability report, especially the section on [what information to
include and exclude](https://devguide.python.org/security/policy/#what-to-include-and-how-to-structure-a-vulnerability-report)
in vulnerability reports. Following the security policy means the PSRT can
quickly and efficiently triage your report, not following the security policy
will only delay triaging your report.

To reach the response team, email `security at python dot org`.
28 changes: 15 additions & 13 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -206,16 +206,16 @@ jobs:
strategy:
fail-fast: false
matrix:
# macos-26 is Apple Silicon, macos-15-intel is Intel.
# macos-15-intel only runs tests against the GIL-enabled CPython.
# macos-26 is Apple Silicon, macos-26-intel is Intel.
# macos-26-intel only runs tests against the GIL-enabled CPython.
os:
- macos-26
- macos-15-intel
- macos-26-intel
free-threading:
- false
- true
exclude:
- os: macos-15-intel
- os: macos-26-intel
free-threading: true
uses: ./.github/workflows/reusable-macos.yml
with:
Expand Down Expand Up @@ -278,14 +278,13 @@ jobs:
# unsupported as it most resembles other 1.1.1-work-a-like ssl APIs
# supported by important vendors such as AWS-LC.
- { name: openssl, version: 1.1.1w }
- { name: openssl, version: 3.0.20 }
- { name: openssl, version: 3.3.7 }
- { name: openssl, version: 3.4.5 }
- { name: openssl, version: 3.5.6 }
- { name: openssl, version: 3.6.2 }
- { name: openssl, version: 4.0.0 }
- { name: openssl, version: 3.0.21 }
- { name: openssl, version: 3.4.6 }
- { name: openssl, version: 3.5.7 }
- { name: openssl, version: 3.6.3 }
- { name: openssl, version: 4.0.1 }
## AWS-LC
- { name: aws-lc, version: 1.72.1 }
- { name: aws-lc, version: 5.0.0 }
env:
SSLLIB_VER: ${{ matrix.ssllib.version }}
MULTISSL_DIR: ${{ github.workspace }}/multissl
Expand Down Expand Up @@ -399,7 +398,7 @@ jobs:
needs: build-context
if: needs.build-context.outputs.run-ubuntu == 'true'
env:
OPENSSL_VER: 3.5.6
OPENSSL_VER: 3.5.7
PYTHONSTRICTEXTENSIONBUILD: 1
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
Expand Down Expand Up @@ -507,7 +506,7 @@ jobs:
matrix:
os: [ubuntu-24.04]
env:
OPENSSL_VER: 3.5.6
OPENSSL_VER: 3.5.7
PYTHONSTRICTEXTENSIONBUILD: 1
ASAN_OPTIONS: detect_leaks=0:allocator_may_return_null=1:handle_segv=0
steps:
Expand Down Expand Up @@ -602,6 +601,9 @@ jobs:
run: ./configure --prefix="$BUILD_DIR/cross-python" --with-build-python="$BUILD_DIR/host-python/bin/python3"
- name: Install cross Python
run: make -j8 install
- name: Display build info
run: |
"$BUILD_DIR/cross-python/bin/python3" -m test.pythoninfo
- name: Run test subset with host build
run: |
"$BUILD_DIR/cross-python/bin/python3" -m test test_sysconfig test_site test_embed
Expand Down
16 changes: 14 additions & 2 deletions .github/workflows/jit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,9 @@ jobs:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- name: Install dependencies
run: |
sudo ./.github/workflows/posix-deps-apt.sh
- name: Build tier two interpreter
run: |
./configure --enable-experimental-jit=interpreter --with-pydebug
Expand All @@ -61,10 +64,10 @@ jobs:
include:
- target: i686-pc-windows-msvc/msvc
architecture: Win32
runner: windows-2025-vs2026
runner: windows-2025
- target: x86_64-pc-windows-msvc/msvc
architecture: x64
runner: windows-2025-vs2026
runner: windows-2025
- target: aarch64-pc-windows-msvc/msvc
architecture: ARM64
runner: windows-11-arm
Expand Down Expand Up @@ -152,6 +155,9 @@ jobs:
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
with:
python-version: '3.11'
- name: Install dependencies
run: |
sudo ./.github/workflows/posix-deps-apt.sh
- name: Build
run: |
sudo bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)" ./llvm.sh ${{ env.LLVM_VERSION }}
Expand All @@ -177,6 +183,9 @@ jobs:
- name: JIT without optimizations (Debug)
configure_flags: --enable-experimental-jit --with-pydebug
test_env: "PYTHON_UOPS_OPTIMIZE=0"
- name: JIT with stress testing (Debug)
configure_flags: --enable-experimental-jit --with-pydebug
test_env: "PYTHON_JIT_STRESS=1"
- name: JIT with tail calling interpreter
configure_flags: --enable-experimental-jit --with-tail-call-interp --with-pydebug
use_clang: true
Expand All @@ -188,6 +197,9 @@ jobs:
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
with:
python-version: '3.11'
- name: Install dependencies
run: |
sudo ./.github/workflows/posix-deps-apt.sh
- name: Build
run: |
sudo bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)" ./llvm.sh ${{ env.LLVM_VERSION }}
Expand Down
12 changes: 6 additions & 6 deletions .github/workflows/mypy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -69,11 +69,11 @@ jobs:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
- uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
with:
python-version: "3.13"
cache: pip
cache-dependency-path: Tools/requirements-dev.txt
- run: pip install -r Tools/requirements-dev.txt
python-version: "3.15"
activate-environment: true
cache-dependency-glob: Tools/requirements-dev.txt
- run: uv pip install -r Tools/requirements-dev.txt
- run: python3 Misc/mypy/make_symlinks.py --symlink
- run: mypy --config-file ${{ matrix.target }}/mypy.ini
- run: mypy --num-workers 4 --config-file ${{ matrix.target }}/mypy.ini
2 changes: 1 addition & 1 deletion .github/workflows/posix-deps-apt.sh
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ apt-get -yq --no-install-recommends install \
zlib1g-dev

# Workaround missing libmpdec-dev on ubuntu 24.04 by building mpdecimal
# from source. ppa:ondrej/php (launchpad.net) are unreliable
# from source. ppa:ondrej/php (launchpad.net) are unreliable
# (https://status.canonical.com) so fetch the tarball directly
# from the upstream host.
# https://www.bytereef.org/mpdecimal/
Expand Down
10 changes: 6 additions & 4 deletions .github/workflows/reusable-emscripten.yml
Original file line number Diff line number Diff line change
Expand Up @@ -63,15 +63,17 @@ jobs:
run: python3 Platforms/emscripten configure-build-python -- --config-cache --with-pydebug
- name: "Make build Python"
run: python3 Platforms/emscripten make-build-python
- name: "Display build info of the build Python"
run: python3 Platforms/emscripten pythoninfo-build
- name: "Make dependencies"
run: >-
python3 Platforms/emscripten make-dependencies
${{ steps.emsdk-cache.outputs.cache-hit == 'true' && '--check-up-to-date' || '' }}
- name: "Configure host Python"
- name: "Configure host/Emscripten Python"
run: python3 Platforms/emscripten configure-host --host-runner node -- --config-cache
- name: "Make host Python"
- name: "Make host/Emscripten Python"
run: python3 Platforms/emscripten make-host
- name: "Display build info"
run: python3 Platforms/emscripten run --pythoninfo
- name: "Display build info of the host/Emscripten Python"
run: python3 Platforms/emscripten pythoninfo-host
- name: "Test"
run: python3 Platforms/emscripten run --test
Loading
Loading