Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
991 commits
Select commit Hold shift + click to select a range
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
e4654e0
gh-136663: fix signatures of PyFloat_Pack/Unpack in docs (#136664)
skirpichev Jul 15, 2025
f320c95
gh-131189: Fix "msvcrt" import warning on Linux when "_ctypes" is not…
plashchynski Jul 15, 2025
c89a66f
GH-133711: Enable UTF-8 mode by default (PEP 686) (#133712)
AA-Turner Jul 15, 2025
5b969fd
GH-132661: Add ``string.templatelib.convert()`` (#135217)
AA-Turner Jul 15, 2025
a02cf19
gh-72570: mention the incompatibility of XOFs with HMAC (#136676)
picnixz Jul 15, 2025
624bf52
gh-136155: Docs: check for EPUB fatal errors in CI (#134074)
m-aciek Jul 15, 2025
7e10a10
gh-136682: Remove incorrect statement that `os.path.samestat` accepts…
bluetech Jul 15, 2025
a8f42e6
gh-111968: remove redundant fetching of interpreter state in `dict` i…
kumaraditya303 Jul 15, 2025
be02e68
gh-72327: Suggest using system terminal for pip install in PyREPL (#1…
ichard26 Jul 15, 2025
2500eb9
gh-135909: Assert incoming `refcnt != 0` for the free threaded GC (GH…
andrewreds Jul 15, 2025
7689407
Fix index entry and anchor for module.__test__ (GH-136674)
serhiy-storchaka Jul 15, 2025
cb59eae
Fix the doctest.testmod() docstring (GH-136675)
serhiy-storchaka Jul 15, 2025
e81c4e8
gh-127146: Report uid in Emscripten + node as native uid (#136509)
hoodmane Jul 16, 2025
e89923d
fix grammar typo in `logging.rst` (#136584)
wjandrea Jul 16, 2025
ef66fb5
gh-135148: Correctly handle f/t strings with comments and debug expre…
pablogsal Jul 16, 2025
8e2f4b4
Improved venv docs to indicate that isolation is the default. (#136698)
facundobatista Jul 16, 2025
12e52ca
gh-127146: Emscripten: Make os.umask() actually work (#136706)
hoodmane Jul 16, 2025
c730952
gh-127146: Emscripten: more regular stack overflow skips (#136708)
hoodmane Jul 16, 2025
2f0db9b
Add `.gram` file to the `.editorconfig` (#136680)
sobolevn Jul 16, 2025
bde808a
gh-136710: Fix bad indentation in `os.chdir` docstring (GH-136709)
haampie Jul 16, 2025
dcd27aa
gh-127146: Emscripten: Don't need to avoid unpaired surrogate anymore…
hoodmane Jul 16, 2025
69d8fe5
gh-126548: Add a thread-unsafety warning for `importlib.reload()` (GH…
bswck Jul 16, 2025
b7d7225
gh-136669: build `_asyncio` as static module (#136670)
kumaraditya303 Jul 16, 2025
180b3eb
fix traceback.FrameSummary docstring by adding end_lineno, colno, and…
olehermanse Jul 16, 2025
22af5d3
gh-127146: Emscripten: Set umask to zero in python.sh (#136740)
hoodmane Jul 17, 2025
eddc8c0
gh-116738: Make pwd module thread-safe (#136695)
yoney Jul 17, 2025
28937d3
gh-136697: Use the standard audit event format for sys.monitoring doc…
gaogaotiantian Jul 17, 2025
03017a8
gh-136438: Make sure `test_ast` pass with all optimization levels (#1…
efimov-mikhail Jul 18, 2025
09ac8e0
Fix typo: "occured" =>"occurred" (#134928)
GameRoMan Jul 19, 2025
f520f22
parser_generator.py typo - keywods -> keywords (#135014)
chemelnucfin Jul 19, 2025
60146f4
Fix typo in `Lib/test/test_ast/test_ast.py` (#136767)
hunterhogan Jul 19, 2025
3eecc72
Docs: Improve example for ``itertools.batched()`` (#136775)
RafaelWO Jul 19, 2025
263e451
gh-74598: document that `fnmatch.filterfalse` is affected by cache li…
gergely-elias Jul 19, 2025
acefb97
gh-136769: Include fixed-width integers in the fundamental data types…
SZeltaat Jul 19, 2025
eb8ac4c
gh-122450: Indicate that `Fraction` denominators are always positive …
nacind Jul 19, 2025
d19bb44
Doc/c-api/memory.rst: extend --without-pymalloc doc with ASan informa…
disconnect3d Jul 19, 2025
f575588
gh-135730: Clarify multiprocessing.Queue close() documentation (#136803)
aggshruti99 Jul 19, 2025
6a1c93a
gh-136764: improve comment in enum.verify.__call__ (GH-136774)
damngamerz Jul 19, 2025
3a64844
gh-136801: Fix PyREPL syntax highlightning on match cases after multi…
olgarithms Jul 19, 2025
8ffc3ef
gh-54732: Make argparse error caused by empty rows in option files ex…
jdunter Jul 19, 2025
57acd65
gh-135468: Improve ``BaseHandler.http_error_default()`` parameter des…
vgiane Jul 19, 2025
6293d8a
gh-136752: Clarify documentation for ``IPv{N}Address.is_reserved`` (#…
mlnrt Jul 19, 2025
1ba2324
gh-136793: Update the sampling rate in the documentation (#136829)
Slavaqq Jul 19, 2025
7ae4749
gh-124621: Emscripten: Add support for async input devices (GH-136822)
hoodmane Jul 19, 2025
67036f1
gh-133875: Remove deprecated `pathlib.PurePath.is_reserved` (#133876)
sobolevn Jul 19, 2025
69ea1b3
gh-136839: Refactor simple dict.update calls (#136811)
disconnect3d Jul 19, 2025
800d37f
gh-124621: Emscripten: Fix regression in use-after-close error handli…
hoodmane Jul 19, 2025
6be49ee
gh-136787: improve exception messages for invalid hash algorithms (#1…
picnixz Jul 20, 2025
588d9fb
gh-136438: Make sure `test_remote_pdb` pass with all optimization lev…
olp-cs Jul 20, 2025
dda9d00
gh-108362: Retarget incremental GC changes to 3.14 (#125453)
hugovk Jul 20, 2025
9c2f91c
gh-136854: Exit on error in `make venv` (#136856)
nachocab Jul 20, 2025
c6e6fe9
gh-130655: gettext: Add fallback testcase (#136857)
GovernmentPlates Jul 20, 2025
cc81b4e
gh-86608: Improve and restructure tarfile examples (#121771)
GovernmentPlates Jul 20, 2025
c504f62
gh-136547: fix `hashlib_helper` for blocking and requesting digests (…
picnixz Jul 20, 2025
4a151ca
gh-134531: prefer using `_hashlib` module state instead of module obj…
picnixz Jul 20, 2025
18a7f5d
gh-127598: Improve ModuleNotFoundError when -S is passed (GH-136821)
MonadChains Jul 20, 2025
958657b
gh-131724: Add a new max_response_headers param to HTTP/HTTPSConnecti…
aeurielesn Jul 20, 2025
e24c66d
gh-91349: Adjust default compression level to 6 (down from 9) in gzip…
morotti Jul 20, 2025
8f59fbb
gh-136492: Add `FrameLocalsProxyType` to `types` (GH-136546)
ZeroIntensity Jul 20, 2025
65d2c51
GH-111758: Merge TSan and UBSan reusable GHA workflows (#136820)
webknjaz Jul 20, 2025
acbe896
GH-130645: Default to color help in argparse (#136809)
pablogsal Jul 20, 2025
aec7f5f
gh-136852: Emscripten: Add PYTHON_NODE_VERSION environment variable (…
hoodmane Jul 20, 2025
246be21
gh-136470: Correct InterpreterPoolExecutor's default thread name (GH-…
aisk Jul 20, 2025
c5e77af
gh-132661: Disallow `Template`/`str` concatenation after PEP 750 spec…
davepeck Jul 21, 2025
5798348
gh-136428: amend UUIDv8 performance improvements (#136903)
picnixz Jul 21, 2025
1e67293
gh-136882: Update stale link in the basic logging tutorial. (#136885)
vsajip Jul 21, 2025
cf19b64
gh-134411: assert `PyLong_FromLong(x) != NULL` when `x` is known to b…
smurav Jul 21, 2025
9c7b2af
gh-136852: Emscripten: Fix bug in #136853 (#136909)
hoodmane Jul 21, 2025
d1d526a
gh-136251: Improvements to WASM demo REPL (GH-136252)
adqm Jul 21, 2025
09dfb50
gh-135621: Remove dependency on curses from PyREPL (GH-136758)
ambv Jul 21, 2025
dee6501
gh-135661: Fix parsing attributes with whitespaces around the "=" sep…
serhiy-storchaka Jul 21, 2025
28153fe
gh-135621: Simplify TermInfo (GH-136916)
encukou Jul 21, 2025
658599c
gh-121028: Soft-deprecate sys.api_version (GH-136463)
encukou Jul 21, 2025
58d305c
gh-136438: Make sure `test_generated_cases` pass with all optimizatio…
efimov-mikhail Jul 21, 2025
5f9e38f
gh-136859: Improve `StrEnum` docs (GH-136864)
nachocab Jul 21, 2025
65893c6
gh-116738: Make syslog module thread-safe (#136760)
yoney Jul 21, 2025
4b68289
Pedantic rewording of why relative importing doesn't work in main mod…
thejcannon Jul 21, 2025
80b2d60
GH-136874: `url2pathname()`: discard query and fragment components (#…
barneygale Jul 21, 2025
a109606
gh-136421: Load `_datetime` static types during interpreter initializ…
ZeroIntensity Jul 21, 2025
b5428bb
gh-136437: Document some `os.path` functions as requiring pos-only (#…
sobolevn Jul 21, 2025
3224429
gh-136437: Document `os.path.dirname` as accepting only pos-only (#13…
sobolevn Jul 21, 2025
f183996
gh-136870: fix data race in `PyThreadState_Clear` on `sys_tracing_thr…
kumaraditya303 Jul 21, 2025
89c220b
gh-133296: Publicly expose critical section API that accepts PyMutex …
ngoldbaum Jul 21, 2025
6bf1c0a
gh-136170: Revert adding `ZipFile.data_offset` (GH-136950)
emmatyping Jul 21, 2025
bbe589f
gh-133600: Move config.site-wasm32-emscripten into the emscripten fol…
hoodmane Jul 21, 2025
46cbdf9
gh-135228: When @dataclass(slots=True) replaces a dataclass, make the…
JelleZijlstra Jul 22, 2025
149bddc
gh-131531: Android test fixes (#136845)
mhsmith Jul 22, 2025
9a21df7
Fix 3 typos in "Next" News items (#136892)
corneliusroemer Jul 22, 2025
22c8658
gh-132661: Document t-strings and `templatelib` (#135229)
davepeck Jul 22, 2025
c933a6b
gh-124621: Emscripten: Support pyrepl in browser (GH-136931)
hoodmane Jul 22, 2025
4d02f31
gh-118350: Fix support of elements "textarea" and "title" in HTMLPars…
timonviola Jul 22, 2025
aafbdb5
gh-133742: Fix test_sysconfig and test_build_details for relocated di…
pablogsal Jul 22, 2025
12d2f37
gh-124621: Emscripten: Fix __syscall_ioctl patch (GH-136993)
hoodmane Jul 22, 2025
b31e5d6
gh-136437: Convert more ``os.path`` functions to positional-only in t…
sobolevn Jul 22, 2025
3a89dfe
Revert "gh-112068: C API: Add support of nullable arguments in PyArg_…
serhiy-storchaka Jul 22, 2025
c13cc4a
Fix code example in `annotationlib` documentation (#136972)
Viicos Jul 22, 2025
b6d3242
GH-136975: Emend a spelling error (algorthm -> algorithm) (#136999)
AA-Turner Jul 22, 2025
233ee97
Strengthen warning against 'import *' in production
yusuaois Jul 22, 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:2024.09.25.11038928730",
"image": "ghcr.io/python/devcontainer:2025.05.29.15334414373",
"onCreateCommand": [
// Install common tooling.
"dnf",
Expand Down
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}]
[*.{py,c,cpp,h,js,rst,md,yml,yaml,gram}]
trim_trailing_whitespace = true
insert_final_newline = true
indent_style = space

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

[*.rst]
Expand Down
2 changes: 2 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
*.ico binary
*.jpg binary
*.pck binary
*.pdf binary
*.png binary
*.psd binary
*.tar binary
Expand Down Expand Up @@ -67,6 +68,7 @@ PCbuild/readme.txt dos
**/clinic/*.cpp.h generated
**/clinic/*.h.h generated
*_db.h generated
Doc/c-api/lifecycle.dot.svg generated
Doc/data/stable_abi.dat generated
Doc/library/token-list.inc generated
Include/internal/pycore_ast.h generated
Expand Down
48 changes: 34 additions & 14 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 All @@ -298,7 +305,12 @@ Lib/test/test_interpreters/ @ericsnowcurrently
**/*-ios* @freakboy3742

# WebAssembly
/Tools/wasm/ @brettcannon @freakboy3742
Tools/wasm/config.site-wasm32-emscripten @freakboy3742
/Tools/wasm/README.md @brettcannon @freakboy3742
/Tools/wasm/wasi-env @brettcannon
/Tools/wasm/wasi.py @brettcannon
/Tools/wasm/emscripten @freakboy3742
/Tools/wasm/wasi @brettcannon

# SBOM
/Misc/externals.spdx.json @sethmlarson
Expand Down Expand Up @@ -326,3 +338,11 @@ Modules/_xxtestfuzz/ @ammaraskar
**/*templateobject* @lysnikolaou
**/*templatelib* @lysnikolaou
**/*tstring* @lysnikolaou

# Remote debugging
Python/remote_debug.h @pablogsal
Python/remote_debugging.c @pablogsal
Modules/_remote_debugging_module.c @pablogsal @ambv @1st1

# gettext
**/*gettext* @tomasr8
1 change: 1 addition & 0 deletions .github/ISSUE_TEMPLATE/bug.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ body:
- "3.12"
- "3.13"
- "3.14"
- "3.15"
- "CPython main branch"
validations:
required: true
Expand Down
1 change: 1 addition & 0 deletions .github/ISSUE_TEMPLATE/crash.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ body:
- "3.12"
- "3.13"
- "3.14"
- "3.15"
- "CPython main branch"
validations:
required: true
Expand Down
116 changes: 104 additions & 12 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,13 @@ permissions:
contents: read

concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}-reusable
# https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#concurrency
# 'group' must be a key uniquely representing a PR or push event.
# github.workflow is the workflow name
# github.actor is the user invoking the workflow
# github.head_ref is the source branch of the PR or otherwise blank
# github.run_id is a unique number for the current run
group: ${{ github.workflow }}-${{ github.actor }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true

env:
Expand Down Expand Up @@ -254,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 @@ -316,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 @@ -504,20 +585,28 @@ jobs:
- name: Tests
run: xvfb-run make ci

build-tsan:
name: >-
Thread sanitizer
${{ fromJSON(matrix.free-threading) && '(free-threading)' || '' }}
build-san:
name: >- # ${{ '' } is a hack to nest jobs under the same sidebar category
Sanitizers${{ '' }}
needs: build-context
if: needs.build-context.outputs.run-tests == 'true'
strategy:
fail-fast: false
matrix:
check-name:
- Thread
free-threading:
- false
- true
uses: ./.github/workflows/reusable-tsan.yml
sanitizer:
- TSan
include:
- check-name: Undefined behavior
sanitizer: UBSan
free-threading: false
uses: ./.github/workflows/reusable-san.yml
with:
sanitizer: ${{ matrix.sanitizer }}
config_hash: ${{ needs.build-context.outputs.config-hash }}
free-threading: ${{ matrix.free-threading }}

Expand Down Expand Up @@ -614,11 +703,12 @@ 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
- build-tsan
- build-san
- cross-build-linux
- cifuzz
if: always()
Expand All @@ -629,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 @@ -647,11 +738,12 @@ 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,
build-tsan,
build-san,
cross-build-linux,
'
|| ''
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
8 changes: 6 additions & 2 deletions .github/workflows/mypy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,18 @@ on:
- "Lib/test/libregrtest/**"
- "Lib/tomllib/**"
- "Misc/mypy/**"
- "Tools/build/compute-changes.py"
- "Tools/build/deepfreeze.py"
- "Tools/build/generate_sbom.py"
- "Tools/build/generate-build-details.py"
- "Tools/build/verify_ensurepip_wheels.py"
- "Tools/build/update_file.py"
- "Tools/build/umarshal.py"
- "Tools/cases_generator/**"
- "Tools/clinic/**"
- "Tools/jit/**"
- "Tools/peg_generator/**"
- "Tools/requirements-dev.txt"
- "Tools/wasm/**"
workflow_dispatch:

permissions:
Expand Down Expand Up @@ -51,7 +56,6 @@ jobs:
"Tools/clinic",
"Tools/jit",
"Tools/peg_generator",
"Tools/wasm",
]
steps:
- uses: actions/checkout@v4
Expand Down
Loading
Loading