Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1372 commits
Select commit Hold shift + click to select a range
510ab7d
gh-132108: Add Buffer Protocol support to int.from_bytes to improve p…
cmaloney Jan 13, 2026
43cd277
Python 3.15.0a4
hugovk Jan 13, 2026
a7ba3b1
gh-141004: Document symbol visibility macros (PyAPI_DATA, Py_EXPORTED…
Yashp002 Jan 13, 2026
f0a0467
gh-143054: Disallow non-top-level Cut for now (GH-143622)
encukou Jan 13, 2026
1176fac
gh-141004: Don't trigger `run-tests` when `Tools/check-c-api-docs/ign…
StanFromIreland Jan 13, 2026
103a384
gh-143249: Fix buffer leak when overlapped operation fails to start o…
hyongtao-code Jan 13, 2026
95a17b4
gh-141045: Document that shutil.Error is a subclass of OSError (#141152)
Lakshya-Upadhyaya Jan 13, 2026
f53a801
remove duplicate error constants in `_winapi` (#143684)
hyongtao-code Jan 13, 2026
80e9eaf
Bump GitHub Actions (#143757)
hugovk Jan 13, 2026
865eb12
gh-143728: Keep `TypedDict` and `NamedTuple` in `class` role in docs …
johnslavik Jan 13, 2026
fca7fec
gh-116738: Make `lzma` module thread-safe (#142947)
yoney Jan 13, 2026
da0e8c3
Post 3.15.0a4
hugovk Jan 13, 2026
dfc66e5
Merge branch 'main' of https://github.com/python/cpython
hugovk Jan 13, 2026
2873c31
gh-131798: JIT optimizer: Support custom binary op and property frame…
Fidget-Spinner Jan 13, 2026
1857a40
gh-143460: Correct unlimited stack size skip for Emscripten (#143765)
freakboy3742 Jan 13, 2026
7e8a1b5
gh-141004: Document old provisional names for vectorcall/code API (GH…
encukou Jan 14, 2026
94dbce1
gh-138050: Use cold flag instead of warm flag in `MAKE_WARM` (GH-143827)
cocolato Jan 14, 2026
ce8f5f9
gh-106287: Do not write objects after an unmarshalling error (GH-132715)
duaneg Jan 14, 2026
6db952e
GH-143613: Add colours and some more edges to executor visualization …
markshannon Jan 14, 2026
e370c8d
gh-143123: Protect against recursive tracer calls/finalization (GH-14…
Fidget-Spinner Jan 14, 2026
a471a32
gh-143214: Add the wrapcol parameter in binascii.b2a_base64() and bas…
serhiy-storchaka Jan 14, 2026
0e0d51c
gh-141004: Document several soft-deprecated C APIs (GH-141634)
ZeroIntensity Jan 14, 2026
bab1d7a
gh-74902: Add Unicode Grapheme Cluster Break algorithm (GH-143076)
serhiy-storchaka Jan 14, 2026
d51cc01
Python 3.15.0a5
hugovk Jan 14, 2026
2b33b52
Post 3.15.0a5
hugovk Jan 14, 2026
14f96a8
gh-143632: Disable PR_SET_VMA_ANON_NAME on musl libc (gh-143730)
priyanshu2282-cyber Jan 14, 2026
85013d7
Fix refleaks in new unicodedata classes added in gh-74902 (GH-143843)
serhiy-storchaka Jan 14, 2026
313d5cd
Add Savannah to CODEOWNERS for WASI (#143847)
savannahostrowski Jan 14, 2026
499706b
GH-143842: Make optimizer color table static (GH-143846)
mmangkad Jan 14, 2026
f4de184
gh-143825: Micro-optimizations to _make_key. (gh-143844)
rhettinger Jan 14, 2026
b8e925b
gh-141805: Fix crash after concurrent addition objects with the same …
serhiy-storchaka Jan 14, 2026
a73ba4d
gh-143632: Skip unittest for mmap.set_name at musl environment (gh-14…
corona10 Jan 15, 2026
794f758
gh-141504: Refactor policy object into a single opt_config (gh-143644)
corona10 Jan 15, 2026
bdba5f0
gh-143635: Fix crash in `ga_repr_items_list` (#143670)
sobolevn Jan 15, 2026
421bd17
gh-143834: Fix PyLong_AsNativeBytes docs for negative number padding …
moneebullah25 Jan 15, 2026
565685f
Add regression test for add() after remove() with hash collision in s…
serhiy-storchaka Jan 15, 2026
f5685a2
gh-80620: Support negative timestamps on windows in `time.gmtime`, `t…
gesslerpd Jan 15, 2026
1597d00
gh-80620: Fix test_time.test_gmtime() for 32-bit time_t (#143861)
vstinner Jan 15, 2026
a009e78
gh-141004: Mark up docs of old PyMem macros (GH-143783)
encukou Jan 15, 2026
3514ba2
gh-142434: Use ppoll() if available in select.poll (#143529)
vstinner Jan 15, 2026
c461aa9
gh-143602: Fix duplicate buffer exports in io.BytesIO.write (#143629)
superboy-zjc Jan 15, 2026
ae53da5
GH-143493: Conform to spec for generator expressions while supporting…
markshannon Jan 16, 2026
66680f1
gh-143672: Add more tests for struct.pack_into() (GH-143901)
serhiy-storchaka Jan 16, 2026
780e969
gh-143672: Finish conversion of the struct module to Argument Clinic …
serhiy-storchaka Jan 16, 2026
19e64af
gh-141070: Rename `PyUnstable_Object_Dump` to `PyObject_Dump` (GH-142…
ZeroIntensity Jan 16, 2026
edeebe2
gh-143572: Run 'python3-libraries' fuzzer in CI using CIFuzz (#143749)
sethmlarson Jan 16, 2026
21ed1e2
gh-65784: Add support for parametrized resource wantobjects in regrte…
serhiy-storchaka Jan 16, 2026
3e93225
gh-143674: Document F/D complex format characters in struct module (#…
moneebullah25 Jan 16, 2026
4d5a676
gh-142913: Add test case for interpreter generator w/ overridden opco…
DinoV Jan 16, 2026
5996636
gh-142913: Update generated code that conflicted with other landed c…
DinoV Jan 16, 2026
3199cfc
gh-138122: Default highlight to sh (#143782)
hugovk Jan 16, 2026
949b5ec
gh-142913: Remove JIT interpreter for interpreter generator tests (GH…
Fidget-Spinner Jan 17, 2026
bb25f72
gh-132657: Add maybe_enable_deferred_ref_count() (gh-142843)
nascheme Jan 17, 2026
7d151e5
gh-143943: add missing header file for `pycore_optimizer_types.h` (GH…
cocolato Jan 17, 2026
7e28ae5
gh-142913: Export JIT functions for _testinternalcapi (#143958)
Fidget-Spinner Jan 17, 2026
61ec66a
gh-143946: Show `JitOptSymbol` on abstract stack when set PYTHON_OPT_…
cocolato Jan 17, 2026
d51c01a
gh-141004: Document `PyException_HEAD` and `PyDescr_COMMON` (GH-143896)
ZeroIntensity Jan 17, 2026
b4b7324
gh-143421: Use new buffer to save optimized uops (GH-143682)
cocolato Jan 17, 2026
f7fceed
gh-143916: Reject control characters in wsgiref.headers.Headers (GH…
sethmlarson Jan 17, 2026
7ca9e7a
Fix UBSan error in _testcapi: correct create_attr_from_spec signature…
ashm-dev Jan 17, 2026
63cc125
gh-143952: Fix asyncio tools to work with the new remote debugging AP…
johnslavik Jan 18, 2026
54bedcf
gh-144012: Check null binary op extend (#144014)
aisk Jan 18, 2026
c879b2a
gh-141860: Add on_error= keyword arg to `multiprocessing.set_forkserv…
gpshead Jan 18, 2026
78b1370
Notify Sviat of GHA changes through codeowners (#143945)
webknjaz Jan 18, 2026
59d3594
gh-143831: Compare cells by identity in forward references (#143848)
johnslavik Jan 19, 2026
d8ab1c7
gh-75459: versionadded for PyObject_CallFinalizer*() API (GH-143982)
skirpichev Jan 19, 2026
cb6a662
gh-143866: Verify return value of `pathlib.write_{bytes,text}` method…
b9788213 Jan 19, 2026
813fc7a
gh-143754: Modernize Tkinter docs (GH-143841)
serhiy-storchaka Jan 19, 2026
7dca4e3
gh-142440: Fix _decimal builds configured with EXTRA_FUNCTIONALITY (G…
SiliconA-Z Jan 19, 2026
bb2b9ba
gh-143897: Remove the isxidstart() and isxidcontinue() methods of uni…
serhiy-storchaka Jan 19, 2026
17d1490
gh-143935: Email preserve parens when folding comments (#143936)
sethmlarson Jan 19, 2026
72bacb0
gh-142461: Move misplaced NEWS entries to an appropriate section (GH-…
Aniketsy Jan 19, 2026
375e372
gh-143689: Fix BufferedReader.read1 leaving object in reentrant state…
hyongtao-code Jan 19, 2026
3c9c3d3
gh-106318: Add examples for str.rpartition() method (#143891)
adorilson Jan 19, 2026
f84ea11
gh-102809: No longer mention `Misc/gdbinit` in the code (#143980)
johnslavik Jan 19, 2026
e66597d
gh-143874: Use self.message instead of raw print in `_exec_in_closure…
hyongtao-code Jan 20, 2026
05eab96
Fix typo: 'exept' -> 'except' in Lib/dbm/dumb.py (GH-144060)
bodhisilberling Jan 20, 2026
71cbffd
gh-143754: Add Tkinter methods pack_content(), place_content() and gr…
serhiy-storchaka Jan 20, 2026
fa3abf5
gh-143774 - Improve IDLE Format Paragraph doc (#143775)
terryjreedy Jan 20, 2026
fa44efa
gh-144023: Prevent follow_symlinks from being allowed with an fd of 0…
SiliconA-Z Jan 20, 2026
76b484b
gh-143999: Fix: handle suspended state on types.coroutine wrappers (G…
hyongtao-code Jan 20, 2026
fe62926
gh-144050: Fix stat.filemode pure Python file type detection (GH-144059)
VanshAgarwal24036 Jan 20, 2026
31c81ab
Update struct.__doc__: _Bool available unconditionally (#143716)
skirpichev Jan 20, 2026
795d5c5
gh-144054: shutdown fix for deferred ref counting (GH-144055)
nascheme Jan 20, 2026
a126893
gh-143960: Add support for OpenSSL 3.6, drop EOL 3.2 (#143961)
hugovk Jan 20, 2026
43bb630
gh-143939: Fix assignment to `_PyThreadStateImpl.generator_return_kin…
colesbury Jan 20, 2026
48b6866
gh-144054: no deferred refcount for untracked (gh-144081)
nascheme Jan 20, 2026
27a7160
gh-141504: Move PYTHON_UOPS_OPTIMIZE to policy object (GH-144082)
corona10 Jan 20, 2026
6262704
gh-143921: Reject control characters in IMAP commands
sethmlarson Jan 20, 2026
f25509e
gh-143925: Reject control characters in data: URL mediatypes
sethmlarson Jan 20, 2026
b234a2b
gh-143923: Reject control characters in POP3 commands
sethmlarson Jan 20, 2026
95746b3
gh-143919: Reject control characters in http cookies
sethmlarson Jan 20, 2026
48795b6
GH-143948: Explain graphlib's cycle-finding code (#143950)
tim-one Jan 21, 2026
9060b4a
gh-125346: Deprecate accepting standard Base64 alphabet when alternat…
serhiy-storchaka Jan 21, 2026
4ef30a5
gh-144085: Add `{gi,cr}_suspended` to `inspect` comments and `generat…
hyongtao-code Jan 21, 2026
4c7ec78
gh-143869: Add PEP 757 functions to the limited API (#143906)
skirpichev Jan 21, 2026
5db331a
gh-144030: Add check that argument is callable to Python version of f…
cfbolz Jan 21, 2026
f52af86
Update install manager docs (python/pymanager#227) (GH-144079)
zooba Jan 21, 2026
9eab67d
GH-138245: Perform boolean guards by testing a single bit, rather tha…
markshannon Jan 21, 2026
cf71e34
gh-77188: Add pickle tests for objects with slots (GH-144116)
serhiy-storchaka Jan 21, 2026
6181b69
GH-143941: Move WASI-related files to Platforms/WASI (GH-143942)
brettcannon Jan 21, 2026
0b08438
gh-130415: Narrowing to constants in branches involving `is` comparis…
reidenong Jan 22, 2026
3e66171
gh-142913: Revert adding test_replaced_interpreter (GH-144110)
encukou Jan 22, 2026
0b5f835
gh-143993: Document ways to disable remote debugging support (#143994)
RafaelWO Jan 22, 2026
c447d1b
gh-143959: Make _datetime optional for test_sys (GH-144003)
youknowone Jan 22, 2026
fb690c3
gh-141004: Mark up constants for `PyOS_double_to_string` (GH-143867)
encukou Jan 22, 2026
d77aaa7
GH-139109: Partial reworking of JIT data structures (GH-144105)
markshannon Jan 22, 2026
67535ab
gh-143001: Add @cpython_only to test_sys.test_current_frames() (#144004)
youknowone Jan 22, 2026
c5cfcdf
gh-67041: Allow to distinguish between empty and not defined URI comp…
serhiy-storchaka Jan 22, 2026
77bf4ba
gh-142779: Initialize reserved field for proper padding (#142780)
stratakis Jan 22, 2026
a966d94
gh-144157: Optimize bytes.translate() by deferring change detection (…
gpshead Jan 22, 2026
bcf9cb0
gh-143756: Fix potential data race in SSLContext.load_cert_chain (gh-…
colesbury Jan 22, 2026
ee4e14a
gh-143756: Avoid borrowed reference in SSL code (gh-143816)
colesbury Jan 22, 2026
5b2d49b
Add source links to documentation for Windows-specific modules (GH-13…
DimmaDont Jan 22, 2026
f8262b8
gh-143513: Remove importlib.abc documentation for removed ABCs (#143605)
moreati Jan 22, 2026
f3dd0ca
Doc: fix incorrect reference in `isasyncgenfunction` docs (GH-144099)
hyongtao-code Jan 23, 2026
052e55e
gh-144125: email: verify headers are sound in BytesGenerator
sethmlarson Jan 23, 2026
03e651d
Programming FAQ: fix some punctuaction typos (GH-144058)
johnslavik Jan 23, 2026
70e67f5
gh-141376: smelly.py: Print only smelly symbols, or all of them with …
encukou Jan 23, 2026
2f42f83
gh-144005: Eliminate redundant refcounting in the JIT for BINARY_OP_E…
aisk Jan 23, 2026
25a10b6
gh-144027: Fix documentation for ignorechars in base64.a85decode() (G…
serhiy-storchaka Jan 23, 2026
58ccf21
gh-74902: Avoid hitting unicode.org for test data (GH-144195)
zware Jan 23, 2026
29f1e77
gh-135142: Initial 3.15 IDLE News3.txt entries (#144200)
terryjreedy Jan 24, 2026
4e10fa9
gh-144007: Eliminate redundant refcounting in the JIT for BINARY_OP (…
aisk Jan 24, 2026
ca99bfd
gh-144016: Fix bad stack assert in the JIT optimizer (GH-144019)
Fidget-Spinner Jan 24, 2026
6f57914
Misc: remove duplicate `instr_frame` assignment in `_PyJit_TryInitial…
hyongtao-code Jan 24, 2026
2984024
gh-144068: fix JIT tracer memory leak when daemon thread exits (GH-14…
cocolato Jan 24, 2026
6d972e0
gh-130415: Narrow types to constants in branches involving specialize…
reidenong Jan 24, 2026
5f736a0
gh-142913: Add generated test files to gitattributes (GH-144209)
cdce8p Jan 24, 2026
012c498
gh-142037: Improve error messages for printf-style formatting (GH-142…
serhiy-storchaka Jan 24, 2026
27246c3
Remove stray typedef in _tkinter.c (GH-142924)
mdehoon Jan 24, 2026
979d92f
gh-144140: Optimize len for string constants in optimizer (GH-144142)
y1yang0 Jan 24, 2026
a51bf70
gh-143504: Expose CELL status of a symbol in symtable (#143549)
Yashp002 Jan 25, 2026
6e55337
gh-143995: Eliminate redundant refcounting in the JIT from LOAD_ATTR_…
aisk Jan 25, 2026
76d3ae7
gh-144217: Add dicom support (medical imaging) to mimetypes (GH-144218)
benediktjohannes Jan 25, 2026
639c1ad
gh-144169: Fix three crashes in AST objects with non-str kwargs (#144…
JelleZijlstra Jan 26, 2026
9982147
gh-144233: Fix typo in os.eventfd documentation (#144234)
ritzow Jan 26, 2026
decb25e
gh-144128: Fix crash in array.fromlist with reentrant __index__ (#144…
priyanshu2282-cyber Jan 26, 2026
8f45925
gh-144100: Fix crash for POINTER(str) used in ctypes argtypes (#144108)
VanshAgarwal24036 Jan 26, 2026
923d9d2
gh-143928: Remove outdated comparison between pickle and marshal rega…
Yashp002 Jan 26, 2026
1f55caf
gh-144212: Add `image/jxl` to `mimetypes` (GH-144213)
FooIbar Jan 26, 2026
19de10d
gh-140557: Force alignment of empty `bytearray` and `array.array` buf…
jakelishman Jan 26, 2026
04d497c
gh-142119: Clarify context manager protocol documentation on `Context…
johnslavik Jan 26, 2026
933540e
gh-101888: Add function.__builtins__ to ref documentation (#144174)
vstinner Jan 26, 2026
9181d77
gh-142966: Make ctypes.POINTER.set_type also reset format (GH-142967)
youknowone Jan 26, 2026
7febbe6
gh-144001: Support ignorechars in binascii.a2b_base64() and base64.b6…
serhiy-storchaka Jan 26, 2026
2520617
gh-142037: Fix a refleak introduced in GH-142081 (GH-144256)
serhiy-storchaka Jan 26, 2026
3e9a5b0
gh-144257: document return values of PyModule_SetDocString (GH-144258)
ngoldbaum Jan 27, 2026
487bd2d
gh-142119: Clarify that one `contextvars.Token` can only reset once i…
johnslavik Jan 27, 2026
17d447e
gh-126014: test_makefile_test_folders: Ignore basically-empty directo…
stefanor Jan 27, 2026
f2b5c20
gh-143883: Use named parameters in PyModExport-related declarations &…
ngoldbaum Jan 27, 2026
197e4c0
Avoid TestNullDlsym hanging on HP-PA (#141011)
stefanor Jan 27, 2026
66055d0
GH-126910: add test for manual frame unwinding (#144137)
diegorusso Jan 27, 2026
6b45381
gh-120321: Add missing "return false" in gen_try_set_executing (gh-14…
colesbury Jan 27, 2026
6ea3f8c
gh-144289: Remove ENABLE_SPECIALIZATION_FT (gh-144290)
colesbury Jan 27, 2026
1a637b2
gh-144249: Report filename in SSLContext.load_cert_chain errors (#144…
romuald Jan 28, 2026
08d7bd2
gh-140232: Do not track frozenset objects with immutables (#140234)
eendebakpt Jan 28, 2026
8fe8a94
gh-144194: Fix mmap failure check in perf_jit_trampoline.c (#143713)
stratakis Jan 28, 2026
9b154ab
gh-83069: Use efficient event-driven `subprocess.Popen.wait()` on Lin…
giampaolo Jan 28, 2026
6543720
gh-142387: Reduce Android testbed API level to 33 (#144315)
mhsmith Jan 28, 2026
b1bc868
gh-144319: Add huge pages support for pymalloc (#144320)
pablogsal Jan 29, 2026
927eb44
gh-144309: Build Python with POSIX 2024 (#144310)
vstinner Jan 29, 2026
a7cec56
gh-144206: Improve error messages for buffer overflow in fcntl.fcntl(…
serhiy-storchaka Jan 29, 2026
0fa1fc6
gh-144322: typo This errors to These errors (#144323)
cuiweixie Jan 29, 2026
92c0ec2
gh-144264: Speed up Base64 decoding of data containing ignored charac…
serhiy-storchaka Jan 29, 2026
26996b5
gh-143946: Add more debug info in `optimize_uops` (GH-144262)
cocolato Jan 29, 2026
14c5339
Test: fix stale uops usage in `test_capi/test_opt.py` (GH-144239)
hyongtao-code Jan 29, 2026
219b7ac
gh-144307: Fix a reference leak during module teardown (GH-144308)
hyongtao-code Jan 29, 2026
1b08143
gh-143192 Avoid incref/decref pair in long_bitwise (gh-143194)
eendebakpt Jan 29, 2026
5f57f69
gh-143423: Fix free-threaded build detection in sampling profiler (#1…
DCchoudhury15 Jan 30, 2026
be4ee8e
gh-144342: Use `time.sleep` in `profiling.sampling` (#144343)
maurycy Jan 30, 2026
1dc12b2
gh-144145: Track nullness of properties in the Tier 2 JIT optimizer (…
cocolato Jan 30, 2026
e666a01
gh-144295: Fix data race in dict method lookup and global load (gh-14…
colesbury Jan 30, 2026
a704832
gh-144280: Add missing predicate symbol to case-switch (GH-144298)
reidenong Jan 30, 2026
a01694d
gh-120321: Make gi_yieldfrom thread-safe in free-threading build (#14…
colesbury Jan 30, 2026
96e4cd6
gh-144319: Fix huge page safety in pymalloc arenas (#144331)
pablogsal Jan 30, 2026
ccbe41e
gh-143055: Implementation of PEP 798 (#143056)
adqm Jan 31, 2026
db61f62
Fix unused variable 'COLORS' warning in optimizer.c (#144373)
aisk Feb 1, 2026
b625601
gh-144348: annotationlib: fix test that relies on set ordering (#144359)
JelleZijlstra Feb 1, 2026
1834741
gh-143904: Raise OverflowError instead of IndexError for too large of…
serhiy-storchaka Feb 1, 2026
3a0e183
gh-144277: Fix usage of free-threaded terminology in the documentatio…
ZeroIntensity Feb 2, 2026
40d07ca
gh-144380: Fix incorrect type check in `buffered_iternext()` (#144381)
ruiyangke Feb 2, 2026
092ef63
docs: update dangling reference to `LOAD_METHOD` in dis.rst (#144358)
guilhermeleobas Feb 2, 2026
15c9f24
gh-115231: Fill __module__ for built-in staticmethods (#115232)
skirpichev Feb 2, 2026
c3b61ef
gh-144001: Simplify Base64 decoding with altchars and ignorechars spe…
serhiy-storchaka Feb 2, 2026
ebbb2ca
gh-144145: Revert PR#144122 for performance and potential bugs. (GH-1…
cocolato Feb 2, 2026
afc2aeb
gh-134160: "First extension module" tutorial improvements (GH-144183)
encukou Feb 2, 2026
39f16a9
gh-142555: Fix null pointer dereference in array.__setitem__ via re-e…
aisk Feb 2, 2026
a447828
gh-144242: Note that issues aren't needed for typos in docs template …
StanFromIreland Feb 2, 2026
5f91577
gh-144376: Only run 'address' fuzzer for python3-libraries (#144398)
sethmlarson Feb 2, 2026
141fd8b
GH-144179: Add value recording to JIT tracing front-end (GH-144303)
markshannon Feb 2, 2026
89e6607
gh-139109: Replace `_CHECK_STACK_SPACE` with `_CHECK_STACK_SPACE_OPER…
cocolato Feb 2, 2026
29acc08
gh-75572: Speed up test_xpickle (GH-144393)
serhiy-storchaka Feb 2, 2026
cb1dc91
gh-144415: Android testbed fixes (#142912)
mhsmith Feb 3, 2026
93b27e7
gh-139103: use `METH_FASTCALL` for tp_new_wrapper (#144406)
colesbury Feb 3, 2026
3abc03c
gh-132888: Fix Windows API error checking in pyrepl.windows_console (…
aisk Feb 3, 2026
74c1f41
gh-144377: Clean up sqlite3 Connection's list of weakrefs to Cursor o…
takluyver Feb 3, 2026
bb917d8
gh-142956: Update `tomllib` to parse TOML 1.1.0 (#144243)
hukkin Feb 3, 2026
45d00a0
gh-106318: Add examples for str.rindex() method (#143887)
adorilson Feb 3, 2026
4e15b8d
gh-74453: Add stronger security warning to os.path.commonprefix (GH-1…
sethmlarson Feb 3, 2026
53fecbe
gh-127313: Use getLogger() without argument to get root logger in log…
aisk Feb 3, 2026
79c43e7
gh-139103: Use borrowed references for positional args in _PyStack_Un…
colesbury Feb 3, 2026
7e2c9bd
gh-120321: Add gi_state, cr_state, and ag_state attributes (gh-144409)
colesbury Feb 3, 2026
9d0c743
Remove unused PYEXPAT_EXPORTS from PCBuild/pyexpat.vcxproj (GH-144462)
maxbachmann Feb 3, 2026
37c3554
gh-143120: pixi builds for free-threading and TSAN (#142872)
crusaderky Feb 4, 2026
34e5a63
gh-141444: Replace dead URL in urllib.robotparser example (GH-144443)
kovan Feb 4, 2026
f73d2e7
gh-144386: Add support for descriptors in ExitStack and AsyncExitStac…
serhiy-storchaka Feb 4, 2026
0bb4eca
gh-142903: add conda-forge license for pixi-packages (#143468)
lucascolley Feb 4, 2026
2aea861
gh-140824: Fix _Py_DumpExtensionModules() to ignore sub-modules (#144…
vstinner Feb 4, 2026
e423e0c
gh-141984: Reword and reorganize Subscription (and Slicing) docs (GH-…
encukou Feb 4, 2026
914fbec
gh-141004: Document remaining `pyport.h` utility macros (GH-144279)
ZeroIntensity Feb 4, 2026
1b6d737
gh-106318: Add examples for `str.startswith()` method (#144369)
adorilson Feb 4, 2026
dd0fde5
gh-143962: Improve name suggestions for not normalized names (GH-144154)
serhiy-storchaka Feb 4, 2026
009c8c0
gh-123471: Make concurrent iteration over `itertools.permutations` an…
eendebakpt Feb 4, 2026
b6d8aa4
Itertools recipes: Replace the tabulate() example with running_mean(…
rhettinger Feb 4, 2026
b53fc7c
GH-144179: Use recorded values to make optimizer more robust (GH-144437)
markshannon Feb 5, 2026
ffa6852
gh-144330: Initialize classmethod and staticmethod in new (#144469)
vstinner Feb 5, 2026
d5cb9f6
gh-144363: Update bundled libexpat to 2.7.4 (#144365)
StanFromIreland Feb 5, 2026
67ddba9
gh-144148: Update the urllib.parse documentation (GH-144497)
serhiy-storchaka Feb 5, 2026
7e777c5
gh-144484: Warn users not to use wsgiref in production
sethmlarson Feb 5, 2026
d9a2e58
gh-142407: Clarify copy performance on Windows in shutil docs (GH-142…
NewUserHa Feb 5, 2026
50e107f
More realistic lru_cache example (gh-144517)
rhettinger Feb 5, 2026
c81e184
gh-74955: Document that __all__ must contain strings in normalization…
serhiy-storchaka Feb 5, 2026
4644fed
gh-144001: Support ignoring the invalid pad character in Base64 decod…
serhiy-storchaka Feb 5, 2026
01a1dd2
gh-77188: Add support for pickling private methods and nested classes…
ZackerySpytz Feb 5, 2026
957f9fe
gh-74453: Deprecate os.path.commonprefix (#144436)
sethmlarson Feb 5, 2026
56590f8
gh-144493: Improve error message in _overlapped.BindLocal() (#144495)
dlech Feb 6, 2026
cf60e0c
Docs: Pull expat license from `Modules/expat/` in `license.rst` (#144…
StanFromIreland Feb 6, 2026
f85e117
gh-141004: Reorganize and reword the 'Useful macros' section (GH-144471)
encukou Feb 6, 2026
638d22c
Docs: module pages should not link to themselves (#144505)
nedbat Feb 6, 2026
d891b2b
gh-139103: Improve namedtuple scaling in free-threaded build (gh-144332)
colesbury Feb 6, 2026
45d4a34
gh-101178: Add Ascii85, Base85, and Z85 support to binascii (GH-102753)
kangtastic Feb 6, 2026
5bb3bbb
gh-144446: Fix some frame object thread-safety issues (gh-144479)
colesbury Feb 6, 2026
0fdf6a9
gh-144513: Skip critical section locking during stop-the-world (gh-14…
colesbury Feb 6, 2026
172135c
gh-144490: Fix test_cppext: test the internal C API (#144536)
vstinner Feb 6, 2026
fb196c6
gh-140715: Update `datetime.*.str*time` format code tables (GH-140716)
StanFromIreland Feb 6, 2026
25e99b3
gh-132132: Upgrade to VS 2026 on Windows tailcall CI (GH-144544)
Fidget-Spinner Feb 6, 2026
28fb13c
gh-143658: Use `str.lower` and `replace` to further improve performan…
hugovk Feb 6, 2026
895e837
gh-144549: Fix tail calling interpreter on Windows for FT (GH-144550)
Fidget-Spinner Feb 6, 2026
74db440
gh-84116: Docs: Document help and aliases for argparse.add_parser() (…
Krishna-web-hub Feb 6, 2026
a2495ff
gh-144490: Fix C++ compatibility in pycore_cell.h (GH-144482)
yoney Feb 7, 2026
f4364a5
gh-144538: Upgrade bundled pip to 26.0.1 (gh-144556)
notatallshaw Feb 7, 2026
16efaa2
gh-140490: Document changes for `PurePath.stem` in Python 3.14 (#144450)
kovan Feb 7, 2026
0e7c06a
gh-142044: Add note to prefer `asyncio.timeout[_at]` over `asyncio.Ti…
kovan Feb 7, 2026
6665115
gh-84116: Add missing backslash to `_SubParsersAction.add_parser` sig…
guoci Feb 7, 2026
9349972
gh-143700: document `secrets.DEFAULT_ENTROPY` as an opaque value (#14…
picnixz Feb 7, 2026
e682141
Bump pre-commit hooks (#144576)
savannahostrowski Feb 7, 2026
d736349
For `enum.bin`, update versionadded directive from 3.10 to 3.11 (#144…
guoci Feb 8, 2026
c60daba
gh-144563: Fix remote debugging with duplicate libpython mappings fro…
claude Feb 8, 2026
00b33ec
Refactor section validation to use a generic callback
claude Feb 8, 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
  •  
  •  
  •  
73 changes: 73 additions & 0 deletions .devcontainer/wasi/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
{
"image": "ghcr.io/python/wasicontainer:latest",
"onCreateCommand": [
// Install common tooling.
"dnf",
"install",
"-y",
// For umask fix below.
"/usr/bin/setfacl"
],
"updateContentCommand": {
// Using the shell for `nproc` usage.
"python": "python3 Tools/wasm/wasi build --quiet -- --with-pydebug -C"
},
"postCreateCommand": {
// https://github.com/orgs/community/discussions/26026
"umask fix: workspace": ["sudo", "setfacl", "-bnR", "."],
"umask fix: /tmp": ["sudo", "setfacl", "-bnR", "/tmp"]
},
"customizations": {
"vscode": {
"extensions": [
// Highlighting for Parser/Python.asdl.
"brettcannon.zephyr-asdl",
// Highlighting for configure.ac.
"maelvalais.autoconf",
// C auto-complete.
"ms-vscode.cpptools",
// Python auto-complete.
"ms-python.python"
],
"settings": {
"C_Cpp.default.compilerPath": "/usr/bin/clang",
"C_Cpp.default.cStandard": "c11",
"C_Cpp.default.defines": [
"CONFIG_64",
"Py_BUILD_CORE"
],
"C_Cpp.default.includePath": [
"${workspaceFolder}/*",
"${workspaceFolder}/Include/**"
],
// https://github.com/microsoft/vscode-cpptools/issues/10732
"C_Cpp.errorSquiggles": "disabled",
"editor.insertSpaces": true,
"editor.rulers": [
80
],
"editor.tabSize": 4,
"editor.trimAutoWhitespace": true,
"files.associations": {
"*.h": "c"
},
"files.encoding": "utf8",
"files.eol": "\n",
"files.insertFinalNewline": true,
"files.trimTrailingWhitespace": true,
"python.analysis.diagnosticSeverityOverrides": {
// Complains about shadowing the stdlib w/ the stdlib.
"reportShadowedImports": "none",
// Doesn't like _frozen_importlib.
"reportMissingImports": "none"
},
"python.analysis.extraPaths": [
"Lib"
],
"[restructuredtext]": {
"editor.tabSize": 3
}
}
}
}
}
8 changes: 8 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,7 @@ PCbuild/readme.txt dos
**/clinic/*.cpp.h generated
**/clinic/*.h.h generated
*_db.h generated
Doc/_static/tachyon-example-*.html generated
Doc/c-api/lifecycle.dot.svg generated
Doc/data/stable_abi.dat generated
Doc/library/token-list.inc generated
Expand All @@ -82,13 +83,19 @@ Include/opcode.h generated
Include/opcode_ids.h generated
Include/token.h generated
Lib/_opcode_metadata.py generated
Lib/idlelib/help.html generated
Lib/keyword.py generated
Lib/pydoc_data/topics.py generated
Lib/pydoc_data/module_docs.py generated
Lib/test/certdata/*.pem generated
Lib/test/certdata/*.0 generated
Lib/test/levenshtein_examples.json generated
Lib/test/test_stable_abi_ctypes.py generated
Lib/test/test_zoneinfo/data/*.json generated
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
Expand All @@ -99,6 +106,7 @@ Python/executor_cases.c.h generated
Python/generated_cases.c.h generated
Python/optimizer_cases.c.h generated
Python/opcode_targets.h generated
Python/record_functions.c.h generated
Python/stdlib_module_names.h generated
Tools/peg_generator/pegen/grammar_parser.py generated
aclocal.m4 generated
Expand Down
32 changes: 22 additions & 10 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -63,8 +63,8 @@
.azure-pipelines/ @AA-Turner

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

# Pre-commit
Expand Down Expand Up @@ -126,6 +126,9 @@ Doc/howto/clinic.rst @erlend-aasland @AA-Turner
# C Analyser
Tools/c-analyzer/ @ericsnowcurrently

# C API Documentation Checks
Tools/check-c-api-docs/ @ZeroIntensity

# Fuzzing
Modules/_xxtestfuzz/ @ammaraskar

Expand All @@ -140,6 +143,9 @@ Misc/externals.spdx.json @sethmlarson
Misc/sbom.spdx.json @sethmlarson
Tools/build/generate_sbom.py @sethmlarson

# ABI check
Misc/libabigail.abignore @encukou


# ----------------------------------------------------------------------------
# Platform Support
Expand Down Expand Up @@ -170,9 +176,10 @@ Tools/wasm/config.site-wasm32-emscripten @freakboy3742 @emmatyping
Tools/wasm/emscripten @freakboy3742 @emmatyping

# WebAssembly (WASI)
Tools/wasm/wasi-env @brettcannon @emmatyping
Tools/wasm/wasi.py @brettcannon @emmatyping
Tools/wasm/wasi @brettcannon @emmatyping
Platforms/WASI @brettcannon @emmatyping @savannahostrowski
Tools/wasm/wasi-env @brettcannon @emmatyping @savannahostrowski
Tools/wasm/wasi.py @brettcannon @emmatyping @savannahostrowski
Tools/wasm/wasi @brettcannon @emmatyping @savannahostrowski

# Windows
PC/ @python/windows-team
Expand Down Expand Up @@ -286,10 +293,10 @@ Tools/jit/ @brandtbucher @savannahostrowski @diegorusso
InternalDocs/jit.md @brandtbucher @savannahostrowski @diegorusso @AA-Turner

# Micro-op / μop / Tier 2 Optimiser
Python/optimizer.c @markshannon
Python/optimizer_analysis.c @markshannon @tomasr8 @Fidget-Spinner
Python/optimizer_bytecodes.c @markshannon @tomasr8 @Fidget-Spinner
Python/optimizer_symbols.c @markshannon @tomasr8
Python/optimizer.c @markshannon @Fidget-Spinner
Python/optimizer_analysis.c @markshannon @tomasr8 @Fidget-Spinner @savannahostrowski
Python/optimizer_bytecodes.c @markshannon @tomasr8 @Fidget-Spinner @savannahostrowski
Python/optimizer_symbols.c @markshannon @tomasr8 @Fidget-Spinner @savannahostrowski

# Parser, Lexer, and Grammar
Grammar/python.gram @pablogsal @lysnikolaou
Expand Down Expand Up @@ -319,7 +326,7 @@ Tools/build/generate_global_objects.py @ericsnowcurrently
# Remote Debugging
Python/remote_debug.h @pablogsal
Python/remote_debugging.c @pablogsal
Modules/_remote_debugging_module.c @pablogsal @ambv @1st1
Modules/_remote_debugging/ @pablogsal

# Sub-Interpreters
**/*crossinterp* @ericsnowcurrently
Expand Down Expand Up @@ -534,6 +541,11 @@ Lib/pydoc.py @AA-Turner
Lib/pydoc_data/ @AA-Turner
Lib/test/test_pydoc/ @AA-Turner

# Profiling (Sampling)
Doc/library/profiling*.rst @pablogsal
Lib/profiling/ @pablogsal
Lib/test/test_profiling/ @pablogsal

# PyREPL
Lib/_pyrepl/ @pablogsal @lysnikolaou @ambv
Lib/test/test_pyrepl/ @pablogsal @lysnikolaou @ambv
Expand Down
11 changes: 5 additions & 6 deletions .github/CONTRIBUTING.rst
Original file line number Diff line number Diff line change
Expand Up @@ -28,13 +28,12 @@ Please be aware that our workflow does deviate slightly from the typical GitHub
project. Details on how to properly submit a pull request are covered in
`Lifecycle of a Pull Request <https://devguide.python.org/getting-started/pull-request-lifecycle.html>`_.
We utilize various bots and status checks to help with this, so do follow the
comments they leave and their "Details" links, respectively. The key points of
our workflow that are not covered by a bot or status check are:
comments they leave and their "Details" links, respectively.

- All discussions that are not directly related to the code in the pull request
should happen on `GitHub Issues <https://github.com/python/cpython/issues>`_.
- Upon your first non-trivial pull request (which includes documentation changes),
feel free to add yourself to ``Misc/ACKS``.
The final key part of our workflow is that all discussions that are not
directly related to the code in the pull request should happen on
`GitHub Issues <https://github.com/python/cpython/issues>`__, generally in the
pull request's parent issue.


Setting Expectations
Expand Down
3 changes: 3 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,6 @@ contact_links:
- name: "Proposing new features"
about: "Submit major feature proposal (e.g. syntax changes) to an ideas forum first."
url: "https://discuss.python.org/c/ideas/6"
- name: "Python Install Manager issues"
about: "Report issues with the Python Install Manager (for Windows)"
url: "https://github.com/python/pymanager/issues"
9 changes: 0 additions & 9 deletions .github/ISSUE_TEMPLATE/documentation.md

This file was deleted.

15 changes: 15 additions & 0 deletions .github/ISSUE_TEMPLATE/documentation.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
name: Documentation
description: Report a problem with the documentation
labels: ["docs"]
body:
- type: markdown
attributes:
value: |
> [!NOTE]
> Trivial changes (for example typos) don’t require an issue before opening a PR.
- type: textarea
attributes:
label: "Documentation"
description: "A clear and concise description of the issue."
validations:
required: true
5 changes: 2 additions & 3 deletions .github/actionlint.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
self-hosted-runner:
# Pending https://github.com/rhysd/actionlint/issues/533
# and https://github.com/rhysd/actionlint/issues/571
labels: ["windows-11-arm", "macos-15-intel"]
# Pending https://github.com/rhysd/actionlint/pull/615
labels: ["windows-2025-vs2026"]

config-variables: null

Expand Down
7 changes: 7 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,17 @@ updates:
update-types:
- "version-update:semver-minor"
- "version-update:semver-patch"
cooldown:
# https://blog.yossarian.net/2025/11/21/We-should-all-be-using-dependency-cooldowns
# Cooldowns protect against supply chain attacks by avoiding the
# highest-risk window immediately after new releases.
default-days: 14
- package-ecosystem: "pip"
directory: "/Tools/"
schedule:
interval: "monthly"
labels:
- "skip issue"
- "skip news"
cooldown:
default-days: 14
2 changes: 1 addition & 1 deletion .github/workflows/add-issue-header.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ jobs:
issues: write
timeout-minutes: 5
steps:
- uses: actions/github-script@v7
- uses: actions/github-script@v8
with:
# language=JavaScript
script: |
Expand Down
Loading
Loading