Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
423 commits
Select commit Hold shift + click to select a range
8ca1e4d
gh-135645: Added `supports_isolated_interpreters` to `sys.implementat…
sobolevn Jun 21, 2025
13cac83
gh-135557: use atomic stores in `heapq` operations in free-threading …
xuantengh Jun 21, 2025
7c43615
gh-135759: consistently reject negative sizes in SHAKE digests (#135767)
picnixz Jun 21, 2025
d08b4b2
gh-135532: optimize calls to `PyMem_Malloc` in SHAKE digest computati…
picnixz Jun 21, 2025
6a16b3c
Docs: Remove unnecessary trailing backslashes (GH-135781)
rffontenelle Jun 21, 2025
b14986c
gh-130605: reenable `test_concurrent_futures` tests under TSAN (#135…
kumaraditya303 Jun 21, 2025
ac9d37c
patchcheck: use URL paths to identify upstream remote (GH-135806)
kattni Jun 22, 2025
e7295a8
gh-135239: simpler use of mutexes in cryptographic modules (#135267)
picnixz Jun 22, 2025
b57b619
gh-135815: skip `netrc` security checks if `os.getuid` is missing (#1…
picnixz Jun 22, 2025
621a8bd
gh-135532: cleanup clinic `module` directives for cryptographic modul…
picnixz Jun 22, 2025
0d9d489
add async generators section to asyncio internal docs (#135674)
kumaraditya303 Jun 23, 2025
6ab842f
gh-134986: Catch PermissionError when trying to call perf in tests (#…
emmatyping Jun 23, 2025
6aa0826
gh-89488: Add warning about `Py_BuildValue("p")` needing exact `int` …
encukou Jun 23, 2025
396ca9a
gh-135823: improve error message in `netrc` security checks (#135827)
picnixz Jun 23, 2025
b3ae769
Bump mypy to 1.16.1 (#135720)
sobolevn Jun 23, 2025
99712c4
GH-124878: reenable `test_finalize_daemon_thread_hang` test under TSA…
kumaraditya303 Jun 23, 2025
569fc68
gh-134584: Specialize POP_TOP by reference and type in JIT (GH-135761)
Fidget-Spinner Jun 23, 2025
bda1218
gh-131798: Optimize `_UNARY_NEGATIVE` (GH-135223)
noamcohen97 Jun 23, 2025
ceae4ed
gh-119786: Add InternalDocs/qsbr.md. (gh-135411)
nascheme Jun 23, 2025
caad163
Docs: Use `arguments` to replace `args` in `argparse.rst` (GH-135510)
Yzi-Li Jun 23, 2025
2793b68
Fix example according to PEP 750 in "What's new in 3.14" (GH-134727)
vpoulailleau Jun 23, 2025
34393cb
gh-135648: Document that `shutil.copyfileobj` doesn't flush (#135737)
freakboy3742 Jun 24, 2025
ef4fc86
gh-135532: use `defining_class` for copying BLAKE-2 and SHA-3 objects…
picnixz Jun 24, 2025
39ea593
gh-123299: Update 'What's New in Python 3.14' from `3.14` branch (#13…
hugovk Jun 24, 2025
2060089
GH-135106: Restrict trashcan to GC'ed objects (GH-135682)
markshannon Jun 24, 2025
15c6d63
gh-135494: Fix python -m test --pgo -x test_re (#135713)
vstinner Jun 24, 2025
e5f03b9
gh-135487: fix `reprlib.Repr.repr_int` when given very large integers…
picnixz Jun 24, 2025
b3ab94a
gh-135878: Fix crash in `types.SimpleNamespace.__repr__` (#135889)
sobolevn Jun 24, 2025
fea5ccc
gh-135805: Document the X option and env var for controlling thread-l…
mpage Jun 24, 2025
4e6f0d1
gh-135855: Raise TypeError When Passing Non-dict Object to `_interpre…
brianschubert Jun 24, 2025
ee0e22c
GH-90117: Check for list and tuple before MappingView in pprint (GH-1…
brandtbucher Jun 24, 2025
18d32fb
gh-91555: Revert disabling of logger while handling log record. (GH-1…
vsajip Jun 25, 2025
113de85
GH-133136: Revise QSBR to reduce excess memory held (gh-135473)
nascheme Jun 25, 2025
ca87a47
gh-135755: Docs: C API: Document missing `PyFunction_GET*` macros (GH…
ZeroIntensity Jun 25, 2025
dd59c78
gh-135839: Fix `module_traverse` and `module_clear` in `_interpchanne…
sobolevn Jun 25, 2025
1b1ae82
gh-135755: Move SPECIAL_ constants to a private header (GH-135922)
encukou Jun 25, 2025
c2f2fd4
gh-131591: Make --without-remote-debug work (GH-135925)
encukou Jun 25, 2025
bcc2cba
gh-135839: Fix `module_traverse` and `module_clear` in subinterp modu…
sobolevn Jun 25, 2025
d215491
Docs: Add cross-reference for `positional_item` in the `calls` produc…
HarryLHW Jun 25, 2025
a88b49c
gh-135927: Fix MSVC Clatest C builds (GH-135935)
Fidget-Spinner Jun 25, 2025
cbfaf41
Fix needless spinning in `_PyMutex_LockTimed` with zero timeout (gh-1…
jtibbertsma Jun 25, 2025
6227662
Docs: Fix indentation in `slice` class of `functions.rst` (GH-134393)
reynoldsnlp Jun 25, 2025
0fadd9f
gh-125142: remove duplicated import in `Lib/pydoc.py` (gh-135215)
StanFromIreland Jun 26, 2025
1f5e23f
Add whatsnew text for warnings module changes. (gh-135869)
nascheme Jun 26, 2025
e3ea6f2
gh-135956: Remove duplicate word in _pydatetime docstring (#135957)
terryjreedy Jun 26, 2025
a1da208
gh-131591: Add Py_ prefix to MAX_SCRIPT_PATH_SIZE; remove unprefixed …
encukou Jun 26, 2025
10a3d43
gh-135755: Move `PyFunction_GET_BUILTINS` to the private API (GH-135938)
ZeroIntensity Jun 26, 2025
9193efd
gh-125206: Make _Py_FFI_SUPPORT_C_COMPLEX private (GH-135932)
encukou Jun 26, 2025
6be17ba
gh-135755: Use private names (_Py*) for header file guards new in 3.1…
encukou Jun 26, 2025
ffb2a02
gh-135965: Delete duplicate word in isolating-extensions howto (#135964)
LamentXU123 Jun 26, 2025
fb9e292
gh-129958: New syntax error in format spec applies to both f-strings …
dylwil3 Jun 26, 2025
0d76dcc
gh-135110: Fix misleading `generator.close()` documentation (GH-135152)
cdenihan Jun 26, 2025
a4625d5
gh-91555: add warning to docs about possibility of deadlock/infinite …
duaneg Jun 26, 2025
8594d2c
gh-135927: Check _MSC_VER to define _Py_NULL macro (#135987)
vstinner Jun 26, 2025
642e5df
IDLE: Update NEWS2x.txt with 2.7.0 release date (#129908)
StanFromIreland Jun 26, 2025
58a42de
gh-135995: Fix missing char in palmos encoding (#135990)
nkorth Jun 26, 2025
34ce192
Docs: Fix duplicate word typos (GH-135958)
brianschubert Jun 27, 2025
b38810b
gh-135966: Modify iOS testbed to make app_packages a site directory (…
freakboy3742 Jun 27, 2025
2fc68e1
gh-135551: Change how sorting picks minimum run length (#135553)
tim-one Jun 27, 2025
0c6c09b
gh-135968: Add iOS binary stubs for strip (#135970)
freakboy3742 Jun 27, 2025
07183eb
gh-53203: Fix strptime() for %c, %x and %X formats on some locales (#…
serhiy-storchaka Jun 27, 2025
e23518f
gh-136017: avoid decref in rich compare for bool objects (#136018)
eendebakpt Jun 27, 2025
f3aec60
gh-128051: Fix tests if sys.float_repr_style is 'legacy' (#135908)
skirpichev Jun 27, 2025
c45f4f3
gh-78465: Fix error message for cls.__new__(cls, ...) where cls is no…
serhiy-storchaka Jun 27, 2025
695ab61
gh-132732: Automatically constant evaluate pure operations (GH-132733)
Fidget-Spinner Jun 27, 2025
de0d014
gh-92266: Replace tabs with four spaces in Python files (#135983)
hugovk Jun 27, 2025
731f5b8
gh-136028: Fix parsing month names containing "İ" (U+0130) in strptim…
serhiy-storchaka Jun 27, 2025
065194c
gh-135571: Guard `_hashlib` usage in `test_hashlib.py` (#135572)
WillChilds-Klein Jun 27, 2025
1e975ae
gh-135755: rename undocumented `HACL_CAN_COMPILE_SIMD{128,256}` macro…
picnixz Jun 27, 2025
0141e7f
gh-108765: fix comment about macro definitions in `_stat.c` post GH-1…
moreal Jun 27, 2025
0e5d096
GH-135904: Optimize the JIT's assembly control flow (GH-135905)
brandtbucher Jun 27, 2025
c419af9
gh-132732: JIT: Only allow compact ints in pure evaluation (GH-136040)
Fidget-Spinner Jun 27, 2025
35ecaf9
Fix a typo in Lib/unittest/mock.py (#136067)
LamentXU123 Jun 28, 2025
ff7b5d4
gh-132732: Fix up pure types in JIT (GH-136050)
Fidget-Spinner Jun 28, 2025
42ccac2
gh-135853: add `math.signbit` (#135877)
picnixz Jun 28, 2025
579acf4
gh-76595: Add note on `PyCapsule_Import` behavior (GH-134022)
NicolasT Jun 28, 2025
5334732
gh-91048: Fix external inspection multi-threaded performance (#136005)
pablogsal Jun 28, 2025
f04d2b8
Doc: Fix duplicate words in idlelib (#136089)
LamentXU123 Jun 29, 2025
30ba03e
gh-136053: Check error for TYPE_SLICE in marshal.c (GH-136054)
akshat62 Jun 29, 2025
bd928a3
gh-136066: simplify `platform._platform()` (#136069)
picnixz Jun 29, 2025
3947847
gh-127604: Docs: Include a C stack in the `faulthandler` example (GH-…
ZeroIntensity Jun 29, 2025
7a403a8
gh-123299: Provide replacement for removed sqlite3 attributes in What…
fry69 Jun 29, 2025
698bab5
Doc: fix duplicated words (#136086)
LamentXU123 Jun 29, 2025
fb9f933
gh-130160: use `.. program::` directive for documenting `venv` CLI (G…
Mr-Sunglasses Jun 30, 2025
980a568
gh-136087: Remove `\r` from documented `os.linesep` values (#136088)
sobolevn Jun 30, 2025
536a5ff
gh-132813: Fix the csv documentation for quoting and escaping (#133209)
serhiy-storchaka Jun 30, 2025
0533c1f
gh-123471: Make itertools.chain thread-safe (#135689)
eendebakpt Jun 30, 2025
b1056c2
gh-135607: remove null checking of weakref list in dealloc of extensi…
xuantengh Jun 30, 2025
847d1c2
gh-123471: Make itertools.product and itertools.combinations thread-s…
eendebakpt Jun 30, 2025
75f4059
gh-131885: Update documented signatures for `csv.{writer,reader}` (GH…
adamtheturtle Jun 30, 2025
2bdd503
gh-48181: Document `codecs.charmap_build` (#135997)
StanFromIreland Jun 30, 2025
ee47670
gh-85702: Catch PermissionError in zoneinfo.load_tzdata() (#136117)
vstinner Jun 30, 2025
a87f3e0
gh-136122: Fix video link for math.tau documentation (#136129)
sedram Jun 30, 2025
486587d
gh-63207: Update `time.time` documentation after #116822 (#136068)
StanFromIreland Jun 30, 2025
fc82cb9
gh-134939: Fill Out the concurrent.interpreters Docs (gh-135902)
ericsnowcurrently Jun 30, 2025
7e33558
gh-135422: Fix regression in `SyntaxError` messages after #134036 (#1…
sobolevn Jun 30, 2025
23caccf
gh-133982: Use implementation-specific `open` in `test_fileio.OtherFi…
cmaloney Jun 30, 2025
845263a
gh-133157: remove usage of `_Py_NO_SANITIZE_UNDEFINED` in `pyexpat` (…
encukou Jul 1, 2025
fe119a0
gh-87135: threading.Lock: Raise rather than hang on Python finalizati…
encukou Jul 1, 2025
31b56df
gh-133447: Update `sqlite3` What's New 3.15 entry (GH-136079)
StanFromIreland Jul 1, 2025
0e19db6
gh-135836: Fix `IndexError` in `asyncio.create_connection` with empty…
heliang666s Jul 1, 2025
28940e8
gh-130396: Move PYOS_LOG2_STACK_MARGIN to internal headers (#135928)
vstinner Jul 1, 2025
9c0cb5b
gh-136169: Update parameter name in fractions.from_float method (#136…
lazorikv Jul 1, 2025
12ce16b
gh-87298: Add tests for find_in_strong_cache() bug in _zoneinfo (GH-2…
ZackerySpytz Jul 1, 2025
93809a9
gh-105456: Remove 3 deprecated `sre_*` modules (#135994)
StanFromIreland Jul 1, 2025
17cf0a3
gh-115119: Remove implicit fallback to the bundled libmpdec (#134078)
skirpichev Jul 1, 2025
e0d6500
gh-136125: Use `_PyObject_GetMethodStackRef` for `LOAD_ATTR` (GH-136…
Fidget-Spinner Jul 1, 2025
86c3316
gh-134280: Disable constant folding for ~ with a boolean argument (GH…
serhiy-storchaka Jul 1, 2025
f41e9c7
gh-134009: Expose `PyMutex_IsLocked` in the public C API (gh-134365)
colesbury Jul 1, 2025
b330897
gh-136183: Deal with escapes in JIT optimizer's constant evaluator (G…
Fidget-Spinner Jul 2, 2025
b19c9da
gh-115119: Defer removal of bundled libmpdec to 3.16 (#133997)
skirpichev Jul 2, 2025
51ab66b
gh-134567: Add the formatter parameter in unittest.TestCase.assertLog…
garry-cairns Jul 2, 2025
ab7196a
gh-136193: Improve `TypeError` msg when comparing two `SimpleNamespac…
sobolevn Jul 2, 2025
fa43a1e
gh-127705: Move Py_INCREF_MORTAL() to the internal C API (GH-136178)
vstinner Jul 2, 2025
41a9b46
gh-136203: Improve `TypeError` msg when comparing two `MappingProxyTy…
sobolevn Jul 2, 2025
7afe1ad
Replace `capi-sig` mailing list with `discuss.python.org` (#136211)
sobolevn Jul 2, 2025
135ba86
gh-136135: Doc: Fix some broken links (GH-136137)
LamentXU123 Jul 3, 2025
9084b15
gh-135836: Fix `IndexError` in `asyncio.create_connection()` (#135875)
serhiy-storchaka Jul 3, 2025
e0245c7
gh-135640: Adds more type checking to ElementTree (GH-135643)
abstractedfox Jul 3, 2025
8f8bdf2
Fix comments for `heapq.siftup_max` (#135359)
yoney Jul 3, 2025
8dc3383
gh-135069: Fix exception message in encodings.idna module (#135071)
danielhollas Jul 3, 2025
5c984ae
gh-133740: Fix regression in locale.nl_langinfo(ALT_DIGITS) (GH-136237)
serhiy-storchaka Jul 3, 2025
c113a8e
gh-130664: Treat '0' fill character with align '=' as zero-padding fo…
skirpichev Jul 3, 2025
a525ba5
`Python/gc.c`: Refer to `InternalDocs` instead of devguide. (#136243)
Eclips4 Jul 3, 2025
b2e498a
gh-115119: Recommend upstream libmpdec in build requirements (#136205)
skirpichev Jul 3, 2025
da79ac9
gh-135075: Make PyObject_SetAttr() fail with NULL value and exception…
vstinner Jul 3, 2025
938a5d7
gh-135252: Document Zstandard integration across zipfile, shutil, and…
emmatyping Jul 3, 2025
0243f97
gh-135661: Fix parsing start and end tags in HTMLParser according to …
serhiy-storchaka Jul 3, 2025
b499105
Clarify some details regarding `sys.monitoring` (#133981)
brettcannon Jul 3, 2025
48cb9b6
gh-133982: Test _pyio.BytesIO in free-threaded tests (gh-136218)
cmaloney Jul 4, 2025
85f092f
gh-115999: remove redundant check in free-threading from `_STORE_ATTR…
kumaraditya303 Jul 4, 2025
b582d75
gh-129824: fix data races in subinterpreters under TSAN (#135794)
kumaraditya303 Jul 4, 2025
8ac7613
gh-102555: Fix comment parsing in HTMLParser according to the HTML5 s…
serhiy-storchaka Jul 4, 2025
93263d4
gh-135773: have pyvenv.cfg without home key anchor a venv and deduce …
rickeylev Jul 4, 2025
ade1988
Docs: Move "or" outside monospace syntax in `tarfile.rst` (GH-136263)
rffontenelle Jul 4, 2025
d1d5dce
gh-136288: Fix error message in `_testcapi/vectorcall.c` (GH-136258)
wsfulton Jul 4, 2025
5de7e3f
gh-136297: Test all `pickle` protocols in `test_zoneinfo_property.py`…
sobolevn Jul 5, 2025
f0c7344
gh-101100: Fix references in `http.cookiejar` docs (GH-136238)
LamentXU123 Jul 5, 2025
5b56daa
gh-130870: Preserve `GenericAlias` subclasses in `typing.get_type_hin…
Viicos Jul 5, 2025
887e5c8
gh-136047: Allow typing._allow_reckless_class_checks to check `_py_ab…
youknowone Jul 5, 2025
5dac137
gh-136315: Fix skipped multithreading test in test_zstd (#136320)
emmatyping Jul 5, 2025
1953713
gh-136032: Fix `argparse.BooleanOptionalAction` doc (#136133)
mattwang44 Jul 5, 2025
06e347b
gh-136285: Improve `pickle` protocol testing in `test_interpreters` (…
sobolevn Jul 6, 2025
d22e073
gh-109700: fix memory error handling in `PyDict_SetDefault` (#136338)
kumaraditya303 Jul 6, 2025
77a8bd2
gh-109070: Document that get_context in multiprocessing have side eff…
aisk Jul 6, 2025
c89f76e
gh-136021: Make `type_params` a required parameter for `typing._eval_…
sobolevn Jul 6, 2025
9312702
gh-136316: Make typing.evaluate_forward_ref better at evaluating nest…
JelleZijlstra Jul 6, 2025
85b817d
gh-136289: Fix test_sqlite3 on platforms with strict UTF-8 filesystem…
serhiy-storchaka Jul 7, 2025
0c3e3da
gh-109700: fix interpreter finalization while handling memory error (…
kumaraditya303 Jul 7, 2025
90a5b44
gh-87790: support thousands separators for formatting fractional part…
skirpichev Jul 7, 2025
3e849d7
gh-87790: support thousands separators for formatting fractional part…
skirpichev Jul 7, 2025
d05423a
gh-94503: Update logging cookbook with an example of uniformly handli…
vsajip Jul 7, 2025
cb99d99
gh-127502: Remove XML vulnerability table (GH-135294)
vstinner Jul 7, 2025
2468aaf
gh-135755: Document __future__.* and CO_* as proper Sphinx objects (G…
encukou Jul 7, 2025
0a33221
gh-101100: Fix sphinx warnings in `whatsnew/3.9` (#136163)
sobolevn Jul 7, 2025
9aac5a3
gh-131591: Document Py_REMOTE_DEBUG (GH-135929)
encukou Jul 7, 2025
11f074b
gh-86682: Add versionadded for sys._getframemodulename (#136325)
asottile Jul 7, 2025
73e1207
gh-135913: Document ob_refcnt, ob_type, ob_size (GH-135914)
encukou Jul 7, 2025
b7aa2a4
gh-124486: Fix test_whichdb_ndbm in test_dbm on NetBSD (GH-136335)
serhiy-storchaka Jul 7, 2025
c45da6a
gh-136155: Docs: only add custom OpenGraph protocol meta tags for HTM…
m-aciek Jul 7, 2025
fb170cf
gh-120713: Make _Py_NORMALIZE_CENTURY private (GH-135933)
encukou Jul 7, 2025
0b62523
gh-101100: Fix Sphinx warnings in library/email.compat32-message.rst …
LamentXU123 Jul 7, 2025
fe187fa
gh-135906: Use `_PyObject_CAST` in internal headers (GH-135892)
clin1234 Jul 7, 2025
0240ef4
gh-98388: add tests for happy eyeballs (#136368)
kumaraditya303 Jul 7, 2025
fbef0c1
gh-102567: Add missing newline to `--help-all` (GH-136391)
hugovk Jul 8, 2025
5b78c85
gh-101100: Fix sphinx warnings in `whatsnew/3.11.rst` (#136402)
LamentXU123 Jul 8, 2025
89f06a3
gh-134043: use `_PyObject_GetMethodStackRef` in pattern matching (#13…
kumaraditya303 Jul 8, 2025
5193400
gh-117657: enable `test_capi` under TSAN (#136269)
kumaraditya303 Jul 8, 2025
db699db
gh-136297: Fix `hypothesis` and `subTest` usage in `test_zoneinfo_pro…
sobolevn Jul 8, 2025
0152df5
gh-101100: Fix sphinx warnings in `Doc/library/exceptions.rst` (#136309)
Jul 8, 2025
ba9c198
gh-136186: Fix race condition in test_external_inspection.test_only_a…
pablogsal Jul 8, 2025
490eea0
gh-136380: Fix import behavior for `concurrent.futures.InterpreterPoo…
aisk Jul 8, 2025
6c81e8c
gh-136156: Allow using linkat() with TemporaryFile (#136281)
vstinner Jul 8, 2025
bc9bc07
Update bytecode magic number in tests for the 3.14 release candidate …
hugovk Jul 8, 2025
b6b99bf
GH-91636: Clear weakrefs created by finalizers. (GH-136401)
nascheme Jul 8, 2025
ffd7f2f
gh-136162: Document `encodings` package functions (#136164)
StanFromIreland Jul 8, 2025
a6566e4
gh-92536: Fix comment about number of unicode string types (#136439)
senyai Jul 8, 2025
77d25e5
gh-91048: Revert the memory cache removal for remote debugging (#136440)
pablogsal Jul 9, 2025
6ea4258
gh-136229: Remove Platform Emscripten is not supported warning (#136230)
hoodmane Jul 9, 2025
f9932f5
gh-119109: improve `functools.partial` vectorcall with keywords (#124…
dg-pb Jul 9, 2025
301b29d
gh-94503: Update logging cookbook example with info on addressing log…
vsajip Jul 9, 2025
f1dcf3c
gh-53243: Document `codecs.readbuffer_encode()` (#136284)
StanFromIreland Jul 9, 2025
797abd1
gh-134657: Remove newly added private names from asyncio.__all__ (#13…
JelleZijlstra Jul 9, 2025
77fa7a4
gh-136447: Use `self.loop` instead of global `loop` variable in async…
injust Jul 9, 2025
3c43df4
Docs: unittest.enterModuleContext is not a classmethod (#136464)
geofft Jul 9, 2025
6a6cd3c
gh-131825: Fix `sqlite3` timezone-naive adapter recipe (GH-136270)
NekrodNIK Jul 9, 2025
591abcc
gh-81520: Document unexpected `os.path.ismount` behaviour with btrfs …
bionade24 Jul 9, 2025
798f791
Minor edit: Move comments closer to the code they describe (gh-136477)
rhettinger Jul 9, 2025
c49dc3b
GH-115802: Optimize JIT stencils for size (GH-136393)
brandtbucher Jul 9, 2025
e697f5e
Add Diego Russo as code owner of the JIT (#136460)
diegorusso Jul 9, 2025
92f392a
gh-136145: Define 'standard library' and 'stdlib' in the glossary (GH…
zware Jul 9, 2025
92b33c9
gh-136156: Skip test_tempfile.test_link_tmpfile() on Android (#136430)
vstinner Jul 9, 2025
9c4d287
gh-102740: Clarify time.monotonic() "system-wide" in the doc (#136431)
vstinner Jul 9, 2025
ea45a2f
gh-136476: Show the full stack in get_async_stack_trace in _remote_de…
pablogsal Jul 9, 2025
61dd9fd
gh-135846: Add zstd dependency to Android build script (#136253)
emmatyping Jul 9, 2025
b44316a
gh-136476: Remove creation of unused list (GH-136494)
encukou Jul 10, 2025
c176543
gh-136438: Make sure `test_builtins` pass with all optimization level…
sobolevn Jul 10, 2025
85bc89f
gh-136209: Add .. c:var:: declarations for C exception types (GH-136210)
encukou Jul 10, 2025
d754f75
gh-82088: Improve performance of PyLong_As*() for multi-digit ints (#…
eendebakpt Jul 10, 2025
f519918
gh-136394: Fix race condition in test_zstd (GH-136432)
Rogdham Jul 10, 2025
f1b8d01
gh-132661: Add default value (of `""`) for `Interpolation.expression`…
davepeck Jul 10, 2025
4b41b20
gh-82663: Clarify `codecs.iterdecode/encode` docs (#136497)
StanFromIreland Jul 10, 2025
35e2c35
gh-52876: Implement missing parameter in `codecs.StreamReaderWriter` …
StanFromIreland Jul 10, 2025
59acdba
gh-135953: Implement sampling tool under profile.sample (#135998)
lkollar Jul 10, 2025
c560df9
gh-136517: Print uncollectable objects if DEBUG_UNCOLLECTABLE mode wa…
sergey-miryanov Jul 10, 2025
56c6f04
Omit `Python/perf_jit_trampoline.c` from the `**/*jit*` CODEOWNERS ru…
brandtbucher Jul 10, 2025
49365bd
gh-107538: [Enum] fix handling of inverted/negative values (GH-132273)
ethanfurman Jul 10, 2025
515b3d1
gh-101100: Fix sphinx warnings in `library/email.parser.rst` (#136475)
LamentXU123 Jul 11, 2025
975b57d
gh-76637: Note that `undefined` Codec is for testing (#136531)
StanFromIreland Jul 11, 2025
3343fce
gh-136434: Fix docs generation of `UnboundItem` in subinterpreters (#…
sobolevn Jul 11, 2025
7de8ea7
gh-136300: Modify C tests to conform to PEP-737 (GH-136301)
wsfulton Jul 11, 2025
236f733
gh-136541: Fix several problems of perf trampolines in x86_64 and aar…
pablogsal Jul 11, 2025
cbf007b
gh-136156: Remove tempfile test_link_tmpfile() (#136534)
vstinner Jul 11, 2025
2c9a801
gh-135906: Test the internal C API in test_cext (#136247)
vstinner Jul 11, 2025
252e2f7
gh-101100: Fix sphinx warnings in Doc/library/functools.rst (GH-136424)
LamentXU123 Jul 11, 2025
561212a
Doc: More duplicate word fixes (GH-136299)
LamentXU123 Jul 11, 2025
7f1e66a
Minor edit: Improve comment readability and ordering (gh-136557)
rhettinger Jul 11, 2025
db47f4d
gh-135401: Test AWS-LC as a cryptography library in CI (GH-135402)
WillChilds-Klein Jul 11, 2025
c7d24b8
gh-111506: Add _Py_OPAQUE_PYOBJECT to hide PyObject layout & related …
encukou Jul 12, 2025
83d04a2
gh-136565: Improve and amend `hashlib.__doc__` (#136566)
picnixz Jul 12, 2025
2301cdb
gh-135853: add `math.fmax` and `math.fmin` (#135888)
picnixz Jul 12, 2025
c564847
gh-89083: Add CLI tests for `UUIDv{6,7,8}` (#136548)
LamentXU123 Jul 12, 2025
dda70fa
gh-99631: Add custom `loads` and `dumps` support for the `shelve` mod…
furkanonder Jul 12, 2025
5a20e79
gh-99813: Start using `SSL_sendfile` when available (#99907)
illia-v Jul 12, 2025
25335d2
gh-134759: fix `UnboundLocalError` in `email.message.Message.get_payl…
skv0zsneg Jul 12, 2025
5e1e21d
gh-91153: prevent a crash in `bytearray.__setitem__(ind, ...)` when `…
bast0006 Jul 12, 2025
be2c3d2
gh-136549: Fix signature of threading.excepthook() (GH-136559)
serhiy-storchaka Jul 12, 2025
9be3649
gh-136591: avoid using deprecated features for OpenSSL 3.0+ (#136592)
picnixz Jul 12, 2025
47b01da
gh-101100: Fix sphinx warnings in Doc/library/platform.rst (GH-136562)
LamentXU123 Jul 12, 2025
42b251b
gh-134939: Correct `concurrent.interpreters` source code link (#136564)
StanFromIreland Jul 13, 2025
171de05
gh-136523: Fix wave.Wave_write emitting an unraisable when open raise…
inventshah Jul 13, 2025
46707d2
gh-132969: update ACKS file (gh-133222) (#136144)
ogbiggles Jul 13, 2025
609d5ad
gh-134833: improve docs for `del s[i:j]` in `Mutable Sequence Types` …
Yzi-Li Jul 13, 2025
0d4fd10
Docs: Fix and improve the `PyUnstable_Object_EnableDeferredRefcount` …
ZeroIntensity Jul 13, 2025
9e5cebd
gh-136547: allow to temporarily disable hash algorithms in tests (#13…
picnixz Jul 13, 2025
3dbe02c
gh-132346: Docs: Clarify that reference counts aren't stable between …
ZeroIntensity Jul 13, 2025
e18829a
gh-132629: Deprecate accepting out-of-range values for unsigned integ…
serhiy-storchaka Jul 13, 2025
a93d9aa
gh-42237: Link to complete list of codec aliases (#136625)
StanFromIreland Jul 13, 2025
85ec3b3
gh-127971: fix off-by-one read beyond the end of a string during sear…
duaneg Jul 13, 2025
da699ed
gh-121914: Change the names of the symbol tables for lambda and genex…
serhiy-storchaka Jul 13, 2025
283b050
gh-127146: Emscripten: Fix test_open_undecodable_uri by setting `-sTE…
hoodmane Jul 13, 2025
b74fb8e
gh-135256: Simplify parsing parameters in Argument Clinic (GH-135257)
serhiy-storchaka Jul 13, 2025
cd3e7ac
gh-67341: fix a typo in `Include/fileutils.h` (#136049)
moreal Jul 14, 2025
5bbf30e
Partially revert "gh-101100: Fix sphinx warnings in `library/email.pa…
hugovk Jul 14, 2025
75e2c5d
gh-134567: Move unittest What’s New entry (#136630)
garry-cairns Jul 14, 2025
a68ddea
gh-90733: improve `hashlib.scrypt` interface (#136100)
picnixz Jul 14, 2025
3d8c38f
GH-135904: Improve the JIT's performance on macOS (GH-136528)
brandtbucher Jul 14, 2025
d995922
gh-136396: Include instrumentation when creating new copies of the by…
mpage Jul 14, 2025
9363703
gh-116738: Make grp module thread-safe (#135434)
yoney Jul 14, 2025
db20324
Fix a minor indentation error (#136661)
gaogaotiantian Jul 15, 2025
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
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"image": "ghcr.io/python/devcontainer:2025.05.25.15232270922",
"image": "ghcr.io/python/devcontainer:2025.05.29.15334414373",
"onCreateCommand": [
// Install common tooling.
"dnf",
Expand Down
36 changes: 23 additions & 13 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,8 @@ Modules/Setup* @erlend-aasland
**/*context* @1st1
**/*genobject* @markshannon
**/*hamt* @1st1
**/*jit* @brandtbucher @savannahostrowski
**/*jit* @brandtbucher @savannahostrowski @diegorusso
Python/perf_jit_trampoline.c # Exclude the owners of "**/*jit*", above.
Objects/set* @rhettinger
Objects/dict* @methane @markshannon
Objects/typevarobject.c @JelleZijlstra
Expand All @@ -35,6 +36,7 @@ Objects/type* @markshannon
Objects/codeobject.c @markshannon
Objects/frameobject.c @markshannon
Objects/call.c @markshannon
Objects/object.c @ZeroIntensity
Python/ceval*.c @markshannon
Python/ceval*.h @markshannon
Python/codegen.c @markshannon @iritkatriel
Expand All @@ -44,8 +46,9 @@ Python/flowgraph.c @markshannon @iritkatriel
Python/instruction_sequence.c @iritkatriel
Python/bytecodes.c @markshannon
Python/optimizer*.c @markshannon
Python/optimizer_analysis.c @Fidget-Spinner
Python/optimizer_bytecodes.c @Fidget-Spinner
Python/optimizer_analysis.c @Fidget-Spinner @tomasr8
Python/optimizer_bytecodes.c @Fidget-Spinner @tomasr8
Python/optimizer_symbols.c @tomasr8
Python/symtable.c @JelleZijlstra @carljm
Lib/_pyrepl/* @pablogsal @lysnikolaou @ambv
Lib/test/test_patma.py @brandtbucher
Expand All @@ -66,8 +69,8 @@ Doc/_static/** @AA-Turner @hugovk
Doc/tools/** @AA-Turner @hugovk

# runtime state/lifecycle
**/*pylifecycle* @ericsnowcurrently
**/*pystate* @ericsnowcurrently
**/*pylifecycle* @ericsnowcurrently @ZeroIntensity
**/*pystate* @ericsnowcurrently @ZeroIntensity
**/*preconfig* @ericsnowcurrently
**/*initconfig* @ericsnowcurrently
**/*pathconfig* @ericsnowcurrently
Expand Down Expand Up @@ -187,13 +190,13 @@ Include/internal/pycore_time.h @pganssle @abalkin
/Tools/cases_generator/ @markshannon

# AST
Python/ast.c @isidentical @JelleZijlstra @eclips4
Python/ast_preprocess.c @isidentical @eclips4
Parser/asdl.py @isidentical @JelleZijlstra @eclips4
Parser/asdl_c.py @isidentical @JelleZijlstra @eclips4
Lib/ast.py @isidentical @JelleZijlstra @eclips4
Lib/_ast_unparse.py @isidentical @JelleZijlstra @eclips4
Lib/test/test_ast/ @eclips4
Python/ast.c @isidentical @JelleZijlstra @eclips4 @tomasr8
Python/ast_preprocess.c @isidentical @eclips4 @tomasr8
Parser/asdl.py @isidentical @JelleZijlstra @eclips4 @tomasr8
Parser/asdl_c.py @isidentical @JelleZijlstra @eclips4 @tomasr8
Lib/ast.py @isidentical @JelleZijlstra @eclips4 @tomasr8
Lib/_ast_unparse.py @isidentical @JelleZijlstra @eclips4 @tomasr8
Lib/test/test_ast/ @eclips4 @tomasr8

# Mock
/Lib/unittest/mock.py @cjw296
Expand Down Expand Up @@ -281,9 +284,13 @@ Doc/howto/clinic.rst @erlend-aasland
# Subinterpreters
**/*interpreteridobject.* @ericsnowcurrently
**/*crossinterp* @ericsnowcurrently
Lib/test/support/interpreters/ @ericsnowcurrently
Modules/_interp*module.c @ericsnowcurrently
Lib/test/test__interp*.py @ericsnowcurrently
Lib/concurrent/interpreters/ @ericsnowcurrently
Lib/test/support/channels.py @ericsnowcurrently
Doc/library/concurrent.interpreters.rst @ericsnowcurrently
Lib/test/test_interpreters/ @ericsnowcurrently
Lib/concurrent/futures/interpreter.py @ericsnowcurrently

# Android
**/*Android* @mhsmith @freakboy3742
Expand Down Expand Up @@ -336,3 +343,6 @@ Modules/_xxtestfuzz/ @ammaraskar
Python/remote_debug.h @pablogsal
Python/remote_debugging.c @pablogsal
Modules/_remote_debugging_module.c @pablogsal @ambv @1st1

# gettext
**/*gettext* @tomasr8
94 changes: 90 additions & 4 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -260,7 +260,7 @@ jobs:
free-threading: ${{ matrix.free-threading }}
os: ${{ matrix.os }}

build-ubuntu-ssltests:
build-ubuntu-ssltests-openssl:
name: 'Ubuntu SSL tests with OpenSSL'
runs-on: ${{ matrix.os }}
timeout-minutes: 60
Expand Down Expand Up @@ -322,6 +322,81 @@ jobs:
- name: SSL tests
run: ./python Lib/test/ssltests.py

build-ubuntu-ssltests-awslc:
name: 'Ubuntu SSL tests with AWS-LC'
runs-on: ${{ matrix.os }}
timeout-minutes: 60
needs: build-context
if: needs.build-context.outputs.run-tests == 'true'
strategy:
fail-fast: false
matrix:
os: [ubuntu-24.04]
awslc_ver: [1.55.0]
env:
AWSLC_VER: ${{ matrix.awslc_ver}}
MULTISSL_DIR: ${{ github.workspace }}/multissl
OPENSSL_DIR: ${{ github.workspace }}/multissl/aws-lc/${{ matrix.awslc_ver }}
LD_LIBRARY_PATH: ${{ github.workspace }}/multissl/aws-lc/${{ matrix.awslc_ver }}/lib
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
- name: Runner image version
run: echo "IMAGE_OS_VERSION=${ImageOS}-${ImageVersion}" >> "$GITHUB_ENV"
- name: Restore config.cache
uses: actions/cache@v4
with:
path: config.cache
key: ${{ github.job }}-${{ env.IMAGE_OS_VERSION }}-${{ needs.build-context.outputs.config-hash }}
- name: Register gcc problem matcher
run: echo "::add-matcher::.github/problem-matchers/gcc.json"
- name: Install dependencies
run: sudo ./.github/workflows/posix-deps-apt.sh
- name: Configure SSL lib env vars
run: |
echo "MULTISSL_DIR=${GITHUB_WORKSPACE}/multissl" >> "$GITHUB_ENV"
echo "OPENSSL_DIR=${GITHUB_WORKSPACE}/multissl/aws-lc/${AWSLC_VER}" >> "$GITHUB_ENV"
echo "LD_LIBRARY_PATH=${GITHUB_WORKSPACE}/multissl/aws-lc/${AWSLC_VER}/lib" >> "$GITHUB_ENV"
- name: 'Restore AWS-LC build'
id: cache-aws-lc
uses: actions/cache@v4
with:
path: ./multissl/aws-lc/${{ matrix.awslc_ver }}
key: ${{ matrix.os }}-multissl-aws-lc-${{ matrix.awslc_ver }}
- name: Install AWS-LC
if: steps.cache-aws-lc.outputs.cache-hit != 'true'
run: |
python3 Tools/ssl/multissltests.py \
--steps=library \
--base-directory "$MULTISSL_DIR" \
--awslc ${{ matrix.awslc_ver }} \
--system Linux
- name: Add ccache to PATH
run: |
echo "PATH=/usr/lib/ccache:$PATH" >> "$GITHUB_ENV"
- name: Configure ccache action
uses: hendrikmuhs/[email protected]
with:
save: false
- name: Configure CPython
run: |
./configure CFLAGS="-fdiagnostics-format=json" \
--config-cache \
--enable-slower-safety \
--with-pydebug \
--with-openssl="$OPENSSL_DIR" \
--with-builtin-hashlib-hashes=blake2 \
--with-ssl-default-suites=openssl
- name: Build CPython
run: make -j
- name: Display build info
run: make pythoninfo
- name: Verify python is linked to AWS-LC
run: ./python -c 'import ssl; print(ssl.OPENSSL_VERSION)' | grep AWS-LC
- name: SSL tests
run: ./python Lib/test/ssltests.py

build-wasi:
name: 'WASI'
needs: build-context
Expand Down Expand Up @@ -527,6 +602,14 @@ jobs:
config_hash: ${{ needs.build-context.outputs.config-hash }}
free-threading: ${{ matrix.free-threading }}

build-ubsan:
name: Undefined behavior sanitizer
needs: build-context
if: needs.build-context.outputs.run-tests == 'true'
uses: ./.github/workflows/reusable-ubsan.yml
with:
config_hash: ${{ needs.build-context.outputs.config-hash }}

cross-build-linux:
name: Cross build Linux
runs-on: ubuntu-latest
Expand Down Expand Up @@ -620,7 +703,8 @@ jobs:
- build-windows-msi
- build-macos
- build-ubuntu
- build-ubuntu-ssltests
- build-ubuntu-ssltests-awslc
- build-ubuntu-ssltests-openssl
- build-wasi
- test-hypothesis
- build-asan
Expand All @@ -635,7 +719,8 @@ jobs:
with:
allowed-failures: >-
build-windows-msi,
build-ubuntu-ssltests,
build-ubuntu-ssltests-awslc,
build-ubuntu-ssltests-openssl,
test-hypothesis,
cifuzz,
allowed-skips: >-
Expand All @@ -653,7 +738,8 @@ jobs:
check-generated-files,
build-macos,
build-ubuntu,
build-ubuntu-ssltests,
build-ubuntu-ssltests-awslc,
build-ubuntu-ssltests-openssl,
build-wasi,
test-hypothesis,
build-asan,
Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/jit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ on:
- '**jit**'
- 'Python/bytecodes.c'
- 'Python/optimizer*.c'
- 'Python/executor_cases.c.h'
- 'Python/optimizer_cases.c.h'
- '!Python/perf_jit_trampoline.c'
- '!**/*.md'
- '!**/*.ini'
Expand All @@ -13,6 +15,8 @@ on:
- '**jit**'
- 'Python/bytecodes.c'
- 'Python/optimizer*.c'
- 'Python/executor_cases.c.h'
- 'Python/optimizer_cases.c.h'
- '!Python/perf_jit_trampoline.c'
- '!**/*.md'
- '!**/*.ini'
Expand Down
9 changes: 9 additions & 0 deletions .github/workflows/posix-deps-apt.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ apt-get -yq install \
build-essential \
pkg-config \
ccache \
cmake \
gdb \
lcov \
libb2-dev \
Expand All @@ -17,10 +18,18 @@ apt-get -yq install \
libreadline6-dev \
libsqlite3-dev \
libssl-dev \
libzstd-dev \
lzma \
lzma-dev \
strace \
tk-dev \
uuid-dev \
xvfb \
zlib1g-dev

# Workaround missing libmpdec-dev on ubuntu 24.04:
# https://launchpad.net/~ondrej/+archive/ubuntu/php
# https://deb.sury.org/
sudo add-apt-repository ppa:ondrej/php
apt-get update
apt-get -yq install libmpdec-dev
74 changes: 74 additions & 0 deletions .github/workflows/reusable-ubsan.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
name: Reusable Undefined Behavior Sanitizer

on:
workflow_call:
inputs:
config_hash:
required: true
type: string

env:
FORCE_COLOR: 1

jobs:
build-ubsan-reusable:
name: 'Undefined behavior sanitizer'
runs-on: ubuntu-24.04
timeout-minutes: 60
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
- name: Runner image version
run: echo "IMAGE_OS_VERSION=${ImageOS}-${ImageVersion}" >> "$GITHUB_ENV"
- name: Restore config.cache
uses: actions/cache@v4
with:
path: config.cache
key: ${{ github.job }}-${{ env.IMAGE_OS_VERSION }}-${{ inputs.config_hash }}
- name: Install dependencies
run: |
sudo ./.github/workflows/posix-deps-apt.sh
# Install clang-20
wget https://apt.llvm.org/llvm.sh
chmod +x llvm.sh
sudo ./llvm.sh 20
- name: UBSAN option setup
run: |
echo "UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1" >> "$GITHUB_ENV"
echo "CC=clang" >> "$GITHUB_ENV"
echo "CXX=clang++" >> "$GITHUB_ENV"
- name: Add ccache to PATH
run: |
echo "PATH=/usr/lib/ccache:$PATH" >> "$GITHUB_ENV"
- name: Configure ccache action
uses: hendrikmuhs/[email protected]
with:
save: ${{ github.event_name == 'push' }}
max-size: "200M"
- name: Configure CPython
run: >-
./configure
--config-cache
--with-undefined-behavior-sanitizer
--with-pydebug
- name: Set up UBSAN log after configuration
run: |
echo "UBSAN_OPTIONS=${UBSAN_OPTIONS}:log_path=${GITHUB_WORKSPACE}/ubsan_log" >> "$GITHUB_ENV"
- name: Build CPython
run: make -j4
- name: Display build info
run: make pythoninfo
- name: Tests
run: ./python -m test -j4
- name: Display UBSAN logs
if: always()
run: find "${GITHUB_WORKSPACE}" -name 'ubsan_log.*' | xargs head -n 1000
- name: Archive UBSAN logs
if: always()
uses: actions/upload-artifact@v4
with:
name: >-
ubsan-logs
path: ubsan_log.*
if-no-files-found: ignore
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,7 @@ Tools/unicode/data/
/autom4te.cache
/build/
/builddir/
/compile_commands.json
/config.cache
/config.log
/config.status
Expand Down
7 changes: 7 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,13 @@ repos:
name: Run Black on Tools/jit/
files: ^Tools/jit/

- repo: https://github.com/Lucas-C/pre-commit-hooks
rev: v1.5.5
hooks:
- id: remove-tabs
types: [python]
exclude: ^Tools/c-analyzer/cpython/_parser.py

- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v5.0.0
hooks:
Expand Down
4 changes: 4 additions & 0 deletions Android/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -156,6 +156,10 @@ repository's `Lib` directory will be picked up immediately. Changes in C files,
and architecture-specific files such as sysconfigdata, will not take effect
until you re-run `android.py make-host` or `build`.

The testbed app can also be used to test third-party packages. For more details,
run `android.py test --help`, paying attention to the options `--site-packages`,
`--cwd`, `-c` and `-m`.


## Using in your own app

Expand Down
Loading
Loading