Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
312 commits
Select commit Hold shift + click to select a range
96ff4c2
GH-128682: Mark two more macros as escaping. (GH-129645)
markshannon Feb 4, 2025
078ab82
Use roles :data: and :const: for referencing module variables (GH-129…
serhiy-storchaka Feb 4, 2025
8b5c850
gh-129350: Make tests for glob with trailing slash more strict (GH-12…
serhiy-storchaka Feb 4, 2025
979d766
gh-128772: Fix pydoc for methods with __module__ is None (GH-129177)
serhiy-storchaka Feb 4, 2025
14489c1
gh-129354: Use PyErr_FormatUnraisable() function (#129656)
vstinner Feb 4, 2025
f61afca
gh-129646: Update the locale alias mapping (#129647)
serhiy-storchaka Feb 4, 2025
285c1c4
gh-129660: Do not use test_embed in PGO profile builds (#129661)
neonene Feb 4, 2025
e5f10a7
gh-127933: Add option to run regression tests in parallel (gh-128003)
colesbury Feb 4, 2025
e41ec8e
gh-104400: pygettext: Prepare to replace TokenEater with a NodeVisito…
tomasr8 Feb 4, 2025
fb5d1c9
gh-129643: fix thread safety of `PyList_SetItem` (#129644)
kumaraditya303 Feb 5, 2025
dc804ff
gh-128911: Use PyImport_ImportModuleAttr() function (#129657)
vstinner Feb 5, 2025
a25042e
gh-129354: Use PyErr_FormatUnraisable() function (#129523)
vstinner Feb 5, 2025
e5c3b7e
gh-129354: Cleanup test_coroutines (#129684)
vstinner Feb 5, 2025
58a4357
gh-127833: Docs: Add a `grammar-snippet` directive & replace `product…
encukou Feb 5, 2025
7d9a22f
Convert change detection to a Python script (#129627)
AA-Turner Feb 5, 2025
5fb019f
gh-129559: Add `bytearray.resize()` (GH-129560)
cmaloney Feb 5, 2025
cdcacec
gh-129201: Use prefetch in GC mark alive phase. (gh-129203)
nascheme Feb 5, 2025
76e0182
gh-69001: Replace maintainer email in IDLE credits (#129588)
StanFromIreland Feb 6, 2025
d83a8a2
gh-86206: Change IDLE splash line (#129698)
StanFromIreland Feb 6, 2025
052ca8f
gh-129005: Update _pyio.BytesIO to use bytearray.resize on write (#12…
cmaloney Feb 6, 2025
a64e0a5
_markupbase.py: Use a permalink for the analysis of MS-Word extension…
StanFromIreland Feb 6, 2025
779d069
gh-118915: Fix bad link in documentation (GH-129691)
hroncok Feb 6, 2025
63f0406
gh-129643: Fix `PyList_Insert` in free-threading builds (#129680)
sobolevn Feb 6, 2025
55f17b7
gh-128714: Fix function object races in `__annotate__`, `__annotation…
xuantengh Feb 6, 2025
555dc50
gh-129694: Add `--parallel-threads` TSAN job to CI (gh-129696)
colesbury Feb 6, 2025
cb640b6
gh-128563: A new tail-calling interpreter (GH-128718)
Fidget-Spinner Feb 6, 2025
8b2fb62
gh-129707: Check `Tools/build/compute-changes.py` with `mypy` (#129708)
sobolevn Feb 6, 2025
75c5519
gh-91048: fix thread safety for asyncio stack introspection APIs (#12…
kumaraditya303 Feb 6, 2025
e7bc0cd
gh-91048: fix `_asyncio.future_discard_from_awaited_by` (#129731)
kumaraditya303 Feb 6, 2025
ded54c3
Remove an inaccurate note from `socket.recv` (GH-129733)
gpshead Feb 6, 2025
4d56c40
GH-121970: Extract ``implementation_detail`` into a new extension (#1…
AA-Turner Feb 6, 2025
51b4edb
gh-129668: Fix thread-safety of MemoryError freelist in free threaded…
colesbury Feb 6, 2025
78377c7
gh-112020: Rework socketserver examples to be correct (#129741)
gpshead Feb 6, 2025
b4ff8b2
gh-129732: Fix race on `shared->array` in qsbr code under free-thread…
hawkinsp Feb 6, 2025
0d68b14
gh-128002: use per threads tasks linked list in asyncio (#128869)
kumaraditya303 Feb 6, 2025
365cf5f
gh-117657: Fix data race in `new_reference` for free threaded build (…
wrongnull Feb 6, 2025
4e3330f
gh-117657: Skip tests that may cause stack overflows under TSan (#129…
colesbury Feb 6, 2025
b184abf
gh-129533: Update PyGC_Enable/Disable/IsEnabled to use atomic operat…
corona10 Feb 6, 2025
a191d6f
gh-117657: Include all of test_free_threading in TSAN tests (#129749)
colesbury Feb 6, 2025
e1e8520
Add multinomial to the itertools recipes docs (gh-129760)
rhettinger Feb 7, 2025
43e0240
gh-129737: Fix help message for tail calling interpreter configuratio…
eendebakpt Feb 7, 2025
0fef47e
gh-55454: Add IMAP4 IDLE support to imaplib (#122542)
foresto Feb 7, 2025
e2064d6
Emscripten: use better `_Py_Version` computation for worker module (#…
agriyakhetarpal Feb 7, 2025
ae132ed
gh-129766: Fix crash on calling `warnings._release_lock` with no lock…
sobolevn Feb 7, 2025
a3d5aab
gh-129005: Align FileIO.readall between _pyio and _io (#129705)
cmaloney Feb 7, 2025
3d3a4be
gh-128563: Document the tail-calling interpreter (GH-129728)
Fidget-Spinner Feb 7, 2025
1758447
gh-128563: Move assignment of opcode into ifdef (GH-129803)
Fidget-Spinner Feb 7, 2025
34379d0
gh-117657: Fix data race in `dict_dict_merge` (gh-129755)
colesbury Feb 7, 2025
476a78f
gh-128563: Clarify tail calling interpreter is not TCO (#129809)
Fidget-Spinner Feb 7, 2025
a93a5a3
gh-128563: Clarify clarificatory tail calling wording in What's New (…
AA-Turner Feb 7, 2025
f52a3a5
fix tests in `test_asyncio.test_tasks` to use correct `all_tasks` (#1…
kumaraditya303 Feb 7, 2025
fbaa6c8
GH-129763: Remove the LLTRACE macro (GH-129764)
brandtbucher Feb 7, 2025
70e387c
GH-129709: Clean up tier two (GH-129710)
brandtbucher Feb 7, 2025
662e88d
Fix Garrett Gu name misspelling in 3.14 whatsnew (GH-129822)
garrettgu10 Feb 7, 2025
49bd47d
improve `test_log_destroyed_pending_task` in asyncio (#129821)
kumaraditya303 Feb 7, 2025
7b2e01b
Remove tail-calling wording as it is confusing (GH-129823)
Fidget-Spinner Feb 7, 2025
e4a00f7
Fix link in 3.14 whatsnew (#129828)
Fidget-Spinner Feb 7, 2025
5fa7e1b
GH-129715: Remove _DYNAMIC_EXIT (GH-129716)
brandtbucher Feb 7, 2025
2248a9c
gh-129825: Skip test_faulthandler.test_register_chain under TSAN (gh-…
colesbury Feb 7, 2025
a1417b2
gh-100239: replace BINARY_SUBSCR & family by BINARY_OP with oparg NB_…
iritkatriel Feb 7, 2025
718ab66
GH-125413: Add `pathlib.Path.info` attribute (#127730)
barneygale Feb 8, 2025
d3b60ff
gh-124703: Add documentation and whatsnew entry for pdb exit change (…
gaogaotiantian Feb 8, 2025
6c67904
gh-128657: fix _hashopenssl ref/data race (GH-128886)
tom-pytel Feb 8, 2025
707d066
GH-129835: Yield path with trailing slash from `ReadablePath.glob('')…
barneygale Feb 8, 2025
80b9e79
Use ubuntu-22.04-arm image for Arm runners. (#129834)
diegorusso Feb 8, 2025
0f128b9
gh-129842: warnings.py: Remove obsolete requirement reference (GH-129…
StanFromIreland Feb 8, 2025
421ea12
gh-119349: Add ctypes.util.dllist -- list loaded shared libraries (GH…
WardBrian Feb 8, 2025
1988003
gh-111178: fix UBSan failures in `Modules/_io/*.c` (GH-129083)
picnixz Feb 8, 2025
624b93e
gh-111178: fix UBSan failures in `Modules/arraymodule.c` (GH-129772)
picnixz Feb 8, 2025
12e1d30
gh-111178: fix UBSan failures in `Objects/floatobject.c` (GH-129776)
picnixz Feb 8, 2025
d046421
gh-111178: fix UBSan failures in `Objects/frameobject.c` (GH-129777)
picnixz Feb 8, 2025
167cf3a
gh-115806: Don't mangle gdbm header dependency detection output (#129…
erlend-aasland Feb 8, 2025
a56ead0
gh-129173: Use `_PyUnicodeError_GetParams` in `PyCodec_NameReplaceErr…
picnixz Feb 8, 2025
1bccd6c
gh-128317: Move CLI calendar highlighting to private class (#129625)
hugovk Feb 8, 2025
33a7094
gh-129699: Add description to IDLE doc title (#129727)
StanFromIreland Feb 8, 2025
f2ae79d
Docs: more explanation of the implications of new tail-call interpret…
nedbat Feb 8, 2025
5ce70ad
gh-64414: mention AF_INET6 and IPv6 in socketserver docs. (#129866)
gpshead Feb 8, 2025
c1f352b
gh-128657: Run test_hashlib with `--parallel-threads` (GH-129833)
colesbury Feb 8, 2025
29f8a67
Provide curframe_locals for backward compatibility but deprecate it (…
gaogaotiantian Feb 8, 2025
f72977b
gh-112953: Update news to finish 3.13 as main (#129877)
terryjreedy Feb 9, 2025
0d9c4e2
gh-129876: Initial 3.14 News3.txt entries (#129881)
terryjreedy Feb 9, 2025
6fbf15f
gh-129873: IDLE: Improve help.py's method of parsing HTML (#129859)
StanFromIreland Feb 9, 2025
d5796e6
gh-129874: avoid mixing pure python and C implementation of asyncio (…
kumaraditya303 Feb 9, 2025
c88dacb
GH-125413: Move `pathlib.Path.copy()` implementation alongside `Path.…
barneygale Feb 9, 2025
09fe550
gh-129874: improve asyncio tests to use correct internal functions (…
kumaraditya303 Feb 9, 2025
ce0cf7a
gh-129874: improve `test_tasks` in asyncio to use correct internal fu…
kumaraditya303 Feb 9, 2025
f7c7dec
gh-129874: improve test_events to use correct task implementation (#1…
kumaraditya303 Feb 9, 2025
c537301
gh-129892: Doc: Remove unnecessary role directive in graphlib.py (#12…
nikolasavic3 Feb 9, 2025
8f9c6fa
Trigger tail call CI on more files (GH-129906)
Fidget-Spinner Feb 9, 2025
91d9544
gh-126835: Make CFG optimizer skip over NOP's when looking for const …
WolframAlph Feb 9, 2025
cda83ca
gh-129870: Skip test_dump_virtual_tables if SQLite lacks FTS4 support…
erlend-aasland Feb 9, 2025
d05053a
Fix typo in `enum` documentation (#129920)
Viicos Feb 9, 2025
7e6ee50
gh-129603: Don't segfault if sqlite3.Row description is None (#129604)
erlend-aasland Feb 9, 2025
d9bf3c1
gh-68400: Remove outdated 2.7 comment (#129919)
StanFromIreland Feb 10, 2025
2abb6a4
Fix typo in 3.14 `pdb` whatsnew entry (#129886)
Viicos Feb 10, 2025
7246b91
gh-128002: simplify `asyncio.all_tasks` to use `PyList_Extend` instea…
kumaraditya303 Feb 10, 2025
bff4bfe
gh-128002: add fast path for native tasks in `asyncio.all_tasks` (#12…
kumaraditya303 Feb 10, 2025
978211c
gh-126554: correct detection of `gcc` for `TestNullDlsym.test_null_dl…
petermarko Feb 10, 2025
a1a6df2
gh-111178: fix UBSan failures in `Modules/_dbmmodule.c` (#129775)
picnixz Feb 10, 2025
b8f7bdd
gh-129583: update bundled pip to 25.0.1 (#129909)
sbidoul Feb 10, 2025
7c156a6
gh-129143: Fix incorrect documentation for logging.Handler.close(). (…
vsajip Feb 10, 2025
94cd2e0
gh-129289: fix crash when task finalizer is not called in asyncio (#1…
kumaraditya303 Feb 10, 2025
d7672e5
gh-127712: Fix `secure` argument of `logging.handlers.SMTPHandler` (G…
s-hamann Feb 10, 2025
8d9d3e4
gh-46236: Document `PyUnicode_DecodeCodePageStateful` (GH-127934)
Feb 10, 2025
516c70d
Clarify baseline for new interpreter (GH-129972)
Fidget-Spinner Feb 10, 2025
1feaecc
gh-123299: Copyedit "What's New in Python 3.14" (#129970)
hugovk Feb 10, 2025
0dbe543
gh-91132: Update macOS installer to use ncurses 6.5. (#129990)
ned-deily Feb 11, 2025
3a2e7aa
gh-129928: Raise more accurate exception for incorrect sqlite3 UDF cr…
erlend-aasland Feb 11, 2025
3b366a4
gh-129928: Rework sqlite3 error helpers (#129929)
erlend-aasland Feb 11, 2025
12bd15f
gh-129939: Add darkmode support for difflib's comparison pages (#129940)
Wulian233 Feb 11, 2025
1da412e
gh-101100: Docs: Fix some typos in the document (#129988)
Feb 11, 2025
374abde
gh-104400: pygettext: use an AST parser instead of a tokenizer (GH-10…
tomasr8 Feb 11, 2025
247b50d
gh-130004: Revert commit 9e52e55 (GH-130005)
Fidget-Spinner Feb 11, 2025
3b548ad
gh-129980: Include test name in TSAN filename in multiprocess test ru…
colesbury Feb 11, 2025
5cdd6e5
gh-130004: Disable PGO for ceval.c on MSVC for default build (GH-130009)
Fidget-Spinner Feb 11, 2025
3ae9101
Python 3.14.0a5
hugovk Feb 11, 2025
aa81a6f
gh-97850: Update the deprecation warning of `importlib.abc.Loader.loa…
tomasr8 Feb 11, 2025
1c1190a
Post 3.14.0a5
hugovk Feb 11, 2025
53e8e72
Merge branch 'main' of https://github.com/python/cpython
hugovk Feb 11, 2025
00ec781
gh-129244: Only remove the workaround when MSVC has the bugfix (#130011)
mdboom Feb 11, 2025
ed816f1
Remove trailing whitespace in Lib/pydoc_data/topics.py (#130014)
colesbury Feb 11, 2025
f151d27
gh-117657: Enable test_opcache under TSAN (GH-129831)
colesbury Feb 11, 2025
1a8082a
gh-117657: Add test_thread_local_bytecode to TSAN tests (gh-129753)
colesbury Feb 11, 2025
1f233f5
gh-128657: Skip test_get_builtin_constructor when running with --para…
colesbury Feb 11, 2025
a7427f2
gh-129967: Fix race condition in `repr(set)` (gh-129978)
colesbury Feb 11, 2025
06ac157
gh-125746: Delay deprecated `zipimport.zipimporter.load_module` remov…
Wulian233 Feb 11, 2025
b05fa90
gh-128446: Skip Windows CI for Unix build system changes (#128450)
srinivasreddy Feb 12, 2025
555ee43
gh-59149: Setup documentation for IDLE on Linux and add section in Ed…
StanFromIreland Feb 12, 2025
e1b38ea
Update manpage environment variables and command line arguments (#129…
stefanor Feb 12, 2025
469d2e4
gh-129889: Support context manager protocol by contextvars.Token (#12…
asvetlov Feb 12, 2025
3cf68cd
gh-129983: fix data race in compile_template in sre.c (#130015)
tom-pytel Feb 12, 2025
57f45ee
gh-128759: Fix accesses to `tp_version_tag`. (GH-129750)
colesbury Feb 12, 2025
3e222e3
gh-109798: Normalize `_datetime` and `datetime` error messages (#127345)
donbarbos Feb 12, 2025
72f5665
GH-128682: Account for escapes in `DECREF_INPUTS` (GH-129953)
markshannon Feb 12, 2025
11bb08e
GH-129715: Don't project traces that return to an unknown caller (GH-…
brandtbucher Feb 12, 2025
1b27f36
gh-129819: Allow tier2/JIT and tailcall (GH-129820)
Fidget-Spinner Feb 12, 2025
6338530
gh-130050: Fix memory leaks in _testexternalinspection (#130051)
sergey-miryanov Feb 12, 2025
791cdfe
gh-129912: Fix references to `Py_TPFLAGS_MANAGED_DICT` (gh-130044)
isatyamks Feb 12, 2025
e094420
gh-130030: Fix crash on 32-bit Linux with free threading (gh-130043)
colesbury Feb 12, 2025
2dd0188
gh-129693: Suppress `SyntaxWarning` in test_fstring (#129830)
tomasr8 Feb 13, 2025
49b1103
GH-91048: Correct error path in testexternalinspection (#129557)
pablogsal Feb 13, 2025
56eda25
gh-116042: Fix location for SyntaxErrors of invalid escapes in the to…
pablogsal Feb 13, 2025
6fb5138
gh-88535: Improve syntax error for wrongly closed strings (#26633)
pablogsal Feb 13, 2025
f9a7d41
gh-96092: Fix traceback.walk_stack(None) skipping too many frames (#1…
ammaraskar Feb 13, 2025
2a0256f
GH-127432: add cross-build-linux as a required CI job (#129459)
FFY00 Feb 13, 2025
625470a
gh-130025: Correct handling of symlinks during iOS testbed framework …
freakboy3742 Feb 13, 2025
c7a9d06
gh-128002: optimistically remove tasks from linked list when finished…
kumaraditya303 Feb 13, 2025
140e69c
gh-126835: Move const folding of lists & sets from ast_opt.c to flowg…
WolframAlph Feb 13, 2025
1eb3ade
GH-107956: install build-details.json (PEP 739) (#130069)
FFY00 Feb 13, 2025
34c06cc
gh-130048: Reintroduce full LTO as default on Clang (GH-130049)
Fidget-Spinner Feb 13, 2025
c357d69
no-issue: Add free-threading build for TC dispatch (gh-130083)
corona10 Feb 13, 2025
0559339
gh-130019: Fix data race in _PyType_AllocNoTrack (gh-130058)
colesbury Feb 13, 2025
28f5e3d
gh-129984: Mark immortal objects as deferred (#129985)
DinoV Feb 13, 2025
aa28423
Revert "gh-130048: Reintroduce full LTO as default on Clang (GH-13004…
Fidget-Spinner Feb 13, 2025
451f291
gh-128130: Fix unhandled keyboard interrupt data race (gh-129975)
colesbury Feb 13, 2025
07f5e33
Fix a typo in `_localemodule.c` (GH-130085)
johnslavik Feb 13, 2025
05e89c3
GH-115869: Don't JIT zeroed bytes (GH-130023)
brandtbucher Feb 13, 2025
3bd3e09
gh-125331: Allow the parser to activate future imports on the fly (#1…
pablogsal Feb 14, 2025
9d1e668
gh-129911: pygettext: Fix the keyword entry in help output (GH-129914)
tomasr8 Feb 14, 2025
0f20281
gh-107510: gettext: Remove unnecessary tests (GH-127965)
tomasr8 Feb 14, 2025
334589f
gh-126835: Set location for noped out instructions after constant fol…
WolframAlph Feb 14, 2025
fda87c0
CI: Mark the `cross-build-linux` job as skippable (#130113)
ZeroIntensity Feb 14, 2025
6666b38
Correct typo in GH-129623 (#130079)
stefanor Feb 14, 2025
3402e13
gh-82045: Correct and deduplicate "isprintable" docs; add test. (GH-1…
StanFromIreland Feb 14, 2025
303043f
gh-128703: Fix mimetypes.guess_type for empty Content-Type in registr…
rruuaanng Feb 14, 2025
1775091
gh-129173: Use `_PyUnicodeError_GetParams` in `PyCodec_SurrogatePassE…
picnixz Feb 14, 2025
e65e9f9
Doc: update term "namespace package" (#129251)
methane Feb 14, 2025
5a586c3
gh-130123: Make __new__ wrapper be deferred (#130124)
DinoV Feb 14, 2025
39cd972
gh-130095: Mark `_py_abc` tests as not thread-safe (gh-130131)
colesbury Feb 14, 2025
d2e60d8
gh-130106: Fix a typo in unittest.mock doc (#130107)
srinivasreddy Feb 15, 2025
a05433f
gh-129107: make `bytearray` thread safe (#129108)
tom-pytel Feb 15, 2025
a545749
gh-130145: fix `loop.run_forever` when loop is already running (#130146)
kumaraditya303 Feb 15, 2025
a13460a
Add Neil's suggestions to whatsnew wording for tailcall (#130155)
Fidget-Spinner Feb 15, 2025
c26bed1
gh-128345: properly disable gil for `_freeze_module.vcxproj` (#128344)
TheShermanTanker Feb 15, 2025
359c7dd
gh-129989: Properly disable tailcall interp in configure (GH-129991)
Fidget-Spinner Feb 15, 2025
a7d41a8
GH-128520: Subclass `abc.ABC` in `pathlib._abc` (#128745)
barneygale Feb 16, 2025
798f8d3
Replace non-breaking spaces with normal spaces (#130116)
aisk Feb 16, 2025
9837c2a
gh-130169: Fix broken list markup in `Doc/c-api/function.rst` (#130174)
StanFromIreland Feb 16, 2025
361083b
gh-127488: Add tests for Tools/i18n/msgfmt.py (GH-127540)
tomasr8 Feb 16, 2025
2e8044a
gh-130177: Fix unintentionally skipped tests in test_gettext (GH-130178)
tomasr8 Feb 16, 2025
c9b1bf3
gh-130139: always check ast node type in ast.parse() with ast input (…
iritkatriel Feb 16, 2025
73d0300
gh-130185: Fix unintentionally skipped tests in `test_functools` (#13…
tomasr8 Feb 16, 2025
56495f8
gh-130080: return in finally in subprocess.py (#130081)
iritkatriel Feb 16, 2025
e7f00cd
gh-130179: Fix `persistent_{id,load}_attr` reference leaks in `_pickl…
sergey-miryanov Feb 16, 2025
655fc8a
pathlib ABCs: remove caching of path parser case sensitivity (#130194)
barneygale Feb 16, 2025
ae30646
gh-118761: Revert "Improve import time of `subprocess` (GH-129427)" (…
gpshead Feb 16, 2025
cfe4103
gh-86069: Add more PyNumber_InPlacePower() tests (GH-130111)
serhiy-storchaka Feb 17, 2025
422f8e9
gh-129805: Fix `bytes` annotation in `Tools/jit` (#129806)
sobolevn Feb 17, 2025
fb2d325
gh-130193: Increase test coverage of gettext.c2py (GH-130208)
tomasr8 Feb 17, 2025
395335d
gh-127750: Fix and optimize functools.singledispatchmethod() (GH-130008)
serhiy-storchaka Feb 17, 2025
7ea8927
gh-111178: fix UBSan failures in `Objects/exceptions.c` (GH-128154)
picnixz Feb 17, 2025
6669905
gh-111178: fix UBSan failures in `Modules/_interp*module.c` (GH-129779)
picnixz Feb 17, 2025
aa845af
gh-130057: Pygettext: Support translator comments (GH-130061)
tomasr8 Feb 17, 2025
3d7a141
CI: Use ImageOS (ubuntu24) instead of runner.os (Linux) in cache keys…
hugovk Feb 17, 2025
f55d0b6
gh-111178: fix UBSan failures in `Modules/_collectionsmodule.c` (#129…
picnixz Feb 17, 2025
fc8c99a
gh-130214: Document `PyEllipsis_Type` (GH-130215)
Feb 17, 2025
b9d2ee6
gh-129701: Fix a data race in `intern_common` in the free threaded bu…
colesbury Feb 17, 2025
ef8eeca
gh-129678: ConfigParser: do not write an empty unnamed section (GH-12…
PalmtopTiger Feb 17, 2025
31ad8b6
gh-111178: fix UBSan failures in `Modules/_jsonmodule.c` (GH-129781)
picnixz Feb 17, 2025
a1d4b1c
gh-111178: fix UBSan failures in `Modules/_lsprof.c` (GH-129782)
picnixz Feb 17, 2025
2542256
gh-125756: Document Pickler.clear_memo() (GH-125762)
tomasr8 Feb 17, 2025
bd1642c
cover `**/*hashopenssl*` in CODEOWNERS (#130236)
gpshead Feb 17, 2025
7fcace9
GH-125413: Add private metadata methods to `pathlib.Path.info` (#129897)
barneygale Feb 17, 2025
6f07016
GH-127381: pathlib ABCs: remove `ReadablePath.rglob()` (#130207)
barneygale Feb 17, 2025
99d9656
gh-118761: Improve import time of `cmd` module (#130056)
donbarbos Feb 17, 2025
4374e1d
gh-130195: Remove unimplemented option from pygettext (#130196)
StanFromIreland Feb 18, 2025
b93b7e5
gh-130230: Fix crash in pow() with only Decimal third argument (GH-13…
serhiy-storchaka Feb 18, 2025
2e3e653
improve `test_tasks` to use correct idiom for starting task in asynci…
kumaraditya303 Feb 18, 2025
8cd7f8b
gh-130160: use `.. program::` directive for documenting `ensurepip` C…
Mr-Sunglasses Feb 18, 2025
97d0011
gh-130160: use `option` instead of `cmdoption` in `dis.rst` (#130255)
sobolevn Feb 18, 2025
185ac5a
gh-111178: fix UBSan failures in `Modules/_lzmamodule.c` (GH-129783)
picnixz Feb 18, 2025
01ba7df
gh-44827: Improve error if BOM on first line of .po file (GH-130187)
StanFromIreland Feb 18, 2025
dab456d
gh-130164: Fix inspect.Signature.bind() handling of positional-only a…
jacobtylerwalls Feb 18, 2025
46ac85e
gh-129989: Change Py_TAIL_CALL_INTERP ifndef to ! (#130269)
Fidget-Spinner Feb 18, 2025
427dd10
gh-127260: Improve error consistency in both `fromisoformat` implemen…
donbarbos Feb 18, 2025
076300d
gh-126944: Show explicit errors when required arguments of pdb comman…
gaogaotiantian Feb 18, 2025
51d4bf1
bpo-45325: Add a new 'p' parameter to Py_BuildValue to convert an int…
pablogsal Feb 18, 2025
bcc9a5d
gh-129515: Clarify syntax error messages for conditional expressions …
sergey-miryanov Feb 18, 2025
8207454
gh-124703: Add extra checks for pdb quit test (#130286)
gaogaotiantian Feb 18, 2025
857bdba
gh-130094: Fix race conditions in `importlib` (gh-130101)
colesbury Feb 18, 2025
736ad66
Docs: Upgrade Sphinx to 8.2 (#130171)
AA-Turner Feb 18, 2025
388e1ca
gh-115999: Make list and tuple iteration more thread-safe. (#128637)
Yhg1s Feb 19, 2025
1b6bef8
gh-129107: make `bytearray` iterator thread safe (#130096)
tom-pytel Feb 19, 2025
f8c041b
gh-111178: fix UBSan failures in `Modules/itertoolsmodule.c` (GH-129780)
picnixz Feb 19, 2025
0d0be7f
gh-111178: fix UBSan failures in `Modules/mmapmodule.c` (GH-129784)
picnixz Feb 19, 2025
c637bce
gh-111178: fix UBSan failures in `Modules/_datetimemodule.c` (GH-129774)
picnixz Feb 19, 2025
2498c22
GH-91079: Implement C stack limits using addresses, not counters. (GH…
markshannon Feb 19, 2025
fb17f41
Revert "Use ubuntu-22.04-arm image for Arm runners. (#129834)" (#130305)
diegorusso Feb 19, 2025
660f126
gh-129898: per-thread current task implementation in asyncio (#129899)
kumaraditya303 Feb 19, 2025
5f00501
gh-130221: fix crash when accessing module state while interp is fina…
kumaraditya303 Feb 19, 2025
ccf1732
gh-128396: Fix a crash when inline comprehension has the same local v…
gaogaotiantian Feb 19, 2025
7380186
gh-122876: Fix "End of lines" typo (#125310)
za Feb 19, 2025
6c982ae
gh-130250: fix regression in traceback.print_last (#130318)
iritkatriel Feb 19, 2025
c718c6b
gh-130250: fix cleanup in test (impacts refleaks runs) (#130329)
iritkatriel Feb 20, 2025
ee337be
gh-57537: Support breakpoints for zipimport modules on pdb (#130290)
gaogaotiantian Feb 20, 2025
1b07006
gh-130293: Ensure test__colorize will pass on dumb terminals. (#130333)
freakboy3742 Feb 20, 2025
47ace53
gh-130130: Clarify `hash=False` docs in `dataclasses.field` (#130324)
Sabfo Feb 20, 2025
ed831b9
gh-69001: Convert links to more usable buttons (#129591)
StanFromIreland Feb 20, 2025
10b3205
gh-127750: Restore inspect and pydoc support of singledispatchmethod …
serhiy-storchaka Feb 20, 2025
417372b
Fix some ctypes docs typos (GH-130307)
Alcaro Feb 20, 2025
048ee2d
gh-130250: use support.swap_attr() in test and don't assume we're beg…
iritkatriel Feb 20, 2025
3bda821
gh-101100: Fix sphinx warnings in `readline.rst` (#130300)
Feb 20, 2025
519c2c6
gh-128863: Deprecate the private _PyUnicodeWriter API (#129245)
vstinner Feb 20, 2025
e24a1ac
gh-129173: Use `_PyUnicodeError_GetParams` in `PyCodec_SurrogateEscap…
picnixz Feb 20, 2025
4466e91
gh-111178: fix UBSan failures in `Modules/_operator.c` (GH-129785)
picnixz Feb 20, 2025
deac31d
gh-111178: fix UBSan failures in `Modules/overlapped.c` (GH-129786)
picnixz Feb 20, 2025
5a13faa
gh-111178: fix UBSan failures in `Modules/_pickle.c` (#129787)
picnixz Feb 20, 2025
8cbcf51
[doc]: Update logging cookbook to mention domain socket configuration…
vsajip Feb 20, 2025
35925e9
gh-129269: Exclude everything in sys.path in `test_coverage_ignore` (…
colesbury Feb 20, 2025
0f5b821
gh-46236: Document PyUnicode_RSplit, PyUnicode_Partition and PyUnicod…
cdce8p Feb 20, 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
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,7 @@ Objects/exceptions.c @iritkatriel

# Hashing & cryptographic primitives
**/*hashlib* @gpshead @tiran @picnixz
**/*hashopenssl* @gpshead @tiran @picnixz
**/*pyhash* @gpshead @tiran
**/sha* @gpshead @tiran @picnixz
Modules/md5* @gpshead @tiran @picnixz
Expand Down
122 changes: 61 additions & 61 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,25 +22,25 @@ env:
FORCE_COLOR: 1

jobs:
check_source:
build-context:
name: Change detection
# To use boolean outputs from this job, parse them as JSON.
# Here's some examples:
#
# if: fromJSON(needs.check_source.outputs.run-docs)
# if: fromJSON(needs.build-context.outputs.run-docs)
#
# ${{
# fromJSON(needs.check_source.outputs.run_tests)
# fromJSON(needs.build-context.outputs.run-tests)
# && 'truthy-branch'
# || 'falsy-branch'
# }}
#
uses: ./.github/workflows/reusable-change-detection.yml
uses: ./.github/workflows/reusable-context.yml

check-docs:
name: Docs
needs: check_source
if: fromJSON(needs.check_source.outputs.run-docs)
needs: build-context
if: fromJSON(needs.build-context.outputs.run-docs)
uses: ./.github/workflows/reusable-docs.yml

check_autoconf_regen:
Expand All @@ -51,8 +51,8 @@ jobs:
container:
image: ghcr.io/python/autoconf:2025.01.02.12581854023
timeout-minutes: 60
needs: check_source
if: needs.check_source.outputs.run_tests == 'true'
needs: build-context
if: needs.build-context.outputs.run-tests == 'true'
steps:
- name: Install Git
run: |
Expand All @@ -62,8 +62,6 @@ jobs:
with:
fetch-depth: 1
persist-credentials: false
- name: Runner image version
run: echo "IMAGE_VERSION=${ImageVersion}" >> "$GITHUB_ENV"
- name: Check Autoconf and aclocal versions
run: |
grep "Generated by GNU Autoconf 2.72" configure
Expand Down Expand Up @@ -94,8 +92,8 @@ jobs:
# reproducible: to get the same tools versions (autoconf, aclocal, ...)
runs-on: ubuntu-24.04
timeout-minutes: 60
needs: check_source
if: needs.check_source.outputs.run_tests == 'true'
needs: build-context
if: needs.build-context.outputs.run-tests == 'true'
steps:
- uses: actions/checkout@v4
with:
Expand All @@ -104,14 +102,14 @@ jobs:
with:
python-version: '3.x'
- name: Runner image version
run: echo "IMAGE_VERSION=${ImageVersion}" >> "$GITHUB_ENV"
run: echo "IMAGE_OS_VERSION=${ImageOS}-${ImageVersion}" >> "$GITHUB_ENV"
- name: Restore config.cache
uses: actions/cache@v4
with:
path: config.cache
# Include env.pythonLocation in key to avoid changes in environment when setup-python updates Python
key: ${{ github.job }}-${{ runner.os }}-${{ env.IMAGE_VERSION }}-${{ needs.check_source.outputs.config_hash }}-${{ env.pythonLocation }}
- name: Install Dependencies
key: ${{ github.job }}-${{ env.IMAGE_OS_VERSION }}-${{ needs.build-context.outputs.config-hash }}-${{ env.pythonLocation }}
- name: Install dependencies
run: sudo ./.github/workflows/posix-deps-apt.sh
- name: Add ccache to PATH
run: echo "PATH=/usr/lib/ccache:$PATH" >> "$GITHUB_ENV"
Expand Down Expand Up @@ -153,8 +151,8 @@ jobs:
name: >-
Windows
${{ fromJSON(matrix.free-threading) && '(free-threading)' || '' }}
needs: check_source
if: fromJSON(needs.check_source.outputs.run_tests)
needs: build-context
if: fromJSON(needs.build-context.outputs.run-windows-tests)
strategy:
fail-fast: false
matrix:
Expand Down Expand Up @@ -184,8 +182,8 @@ jobs:
build_windows_msi:
name: >- # ${{ '' } is a hack to nest jobs under the same sidebar category
Windows MSI${{ '' }}
needs: check_source
if: fromJSON(needs.check_source.outputs.run-win-msi)
needs: build-context
if: fromJSON(needs.build-context.outputs.run-windows-msi)
strategy:
matrix:
arch:
Expand All @@ -200,8 +198,8 @@ jobs:
name: >-
macOS
${{ fromJSON(matrix.free-threading) && '(free-threading)' || '' }}
needs: check_source
if: needs.check_source.outputs.run_tests == 'true'
needs: build-context
if: needs.build-context.outputs.run-tests == 'true'
strategy:
fail-fast: false
matrix:
Expand All @@ -226,7 +224,7 @@ jobs:
free-threading: true
uses: ./.github/workflows/reusable-macos.yml
with:
config_hash: ${{ needs.check_source.outputs.config_hash }}
config_hash: ${{ needs.build-context.outputs.config-hash }}
free-threading: ${{ matrix.free-threading }}
os: ${{ matrix.os }}

Expand All @@ -235,8 +233,8 @@ jobs:
Ubuntu
${{ fromJSON(matrix.free-threading) && '(free-threading)' || '' }}
${{ fromJSON(matrix.bolt) && '(bolt)' || '' }}
needs: check_source
if: needs.check_source.outputs.run_tests == 'true'
needs: build-context
if: needs.build-context.outputs.run-tests == 'true'
strategy:
matrix:
bolt:
Expand All @@ -257,7 +255,7 @@ jobs:
bolt: true
uses: ./.github/workflows/reusable-ubuntu.yml
with:
config_hash: ${{ needs.check_source.outputs.config_hash }}
config_hash: ${{ needs.build-context.outputs.config-hash }}
bolt-optimizations: ${{ matrix.bolt }}
free-threading: ${{ matrix.free-threading }}
os: ${{ matrix.os }}
Expand All @@ -266,8 +264,8 @@ jobs:
name: 'Ubuntu SSL tests with OpenSSL'
runs-on: ${{ matrix.os }}
timeout-minutes: 60
needs: check_source
if: needs.check_source.outputs.run_tests == 'true'
needs: build-context
if: needs.build-context.outputs.run-tests == 'true'
strategy:
fail-fast: false
matrix:
Expand All @@ -284,15 +282,15 @@ jobs:
with:
persist-credentials: false
- name: Runner image version
run: echo "IMAGE_VERSION=${ImageVersion}" >> "$GITHUB_ENV"
run: echo "IMAGE_OS_VERSION=${ImageOS}-${ImageVersion}" >> "$GITHUB_ENV"
- name: Restore config.cache
uses: actions/cache@v4
with:
path: config.cache
key: ${{ github.job }}-${{ runner.os }}-${{ env.IMAGE_VERSION }}-${{ needs.check_source.outputs.config_hash }}
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
- name: Install dependencies
run: sudo ./.github/workflows/posix-deps-apt.sh
- name: Configure OpenSSL env vars
run: |
Expand Down Expand Up @@ -326,18 +324,18 @@ jobs:

build_wasi:
name: 'WASI'
needs: check_source
if: needs.check_source.outputs.run_tests == 'true'
needs: build-context
if: needs.build-context.outputs.run-tests == 'true'
uses: ./.github/workflows/reusable-wasi.yml
with:
config_hash: ${{ needs.check_source.outputs.config_hash }}
config_hash: ${{ needs.build-context.outputs.config-hash }}

test_hypothesis:
name: "Hypothesis tests on Ubuntu"
runs-on: ubuntu-24.04
timeout-minutes: 60
needs: check_source
if: needs.check_source.outputs.run_tests == 'true' && needs.check_source.outputs.run_hypothesis == 'true'
needs: build-context
if: needs.build-context.outputs.run-tests == 'true'
env:
OPENSSL_VER: 3.0.15
PYTHONSTRICTEXTENSIONBUILD: 1
Expand All @@ -347,7 +345,7 @@ jobs:
persist-credentials: false
- name: Register gcc problem matcher
run: echo "::add-matcher::.github/problem-matchers/gcc.json"
- name: Install Dependencies
- name: Install dependencies
run: sudo ./.github/workflows/posix-deps-apt.sh
- name: Configure OpenSSL env vars
run: |
Expand Down Expand Up @@ -379,12 +377,12 @@ jobs:
- name: Bind mount sources read-only
run: sudo mount --bind -o ro "$GITHUB_WORKSPACE" "$CPYTHON_RO_SRCDIR"
- name: Runner image version
run: echo "IMAGE_VERSION=${ImageVersion}" >> "$GITHUB_ENV"
run: echo "IMAGE_OS_VERSION=${ImageOS}-${ImageVersion}" >> "$GITHUB_ENV"
- name: Restore config.cache
uses: actions/cache@v4
with:
path: ${{ env.CPYTHON_BUILDDIR }}/config.cache
key: ${{ github.job }}-${{ runner.os }}-${{ env.IMAGE_VERSION }}-${{ needs.check_source.outputs.config_hash }}
key: ${{ github.job }}-${{ env.IMAGE_OS_VERSION }}-${{ needs.build-context.outputs.config-hash }}
- name: Configure CPython out-of-tree
working-directory: ${{ env.CPYTHON_BUILDDIR }}
run: |
Expand Down Expand Up @@ -452,8 +450,8 @@ jobs:
name: 'Address sanitizer'
runs-on: ${{ matrix.os }}
timeout-minutes: 60
needs: check_source
if: needs.check_source.outputs.run_tests == 'true'
needs: build-context
if: needs.build-context.outputs.run-tests == 'true'
strategy:
matrix:
os: [ubuntu-24.04]
Expand All @@ -466,15 +464,15 @@ jobs:
with:
persist-credentials: false
- name: Runner image version
run: echo "IMAGE_VERSION=${ImageVersion}" >> "$GITHUB_ENV"
run: echo "IMAGE_OS_VERSION=${ImageOS}-${ImageVersion}" >> "$GITHUB_ENV"
- name: Restore config.cache
uses: actions/cache@v4
with:
path: config.cache
key: ${{ github.job }}-${{ runner.os }}-${{ env.IMAGE_VERSION }}-${{ needs.check_source.outputs.config_hash }}
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
- name: Install dependencies
run: sudo ./.github/workflows/posix-deps-apt.sh
- name: Set up GCC-10 for ASAN
uses: egor-tensin/setup-gcc@v1
Expand Down Expand Up @@ -515,41 +513,41 @@ jobs:
name: >-
Thread sanitizer
${{ fromJSON(matrix.free-threading) && '(free-threading)' || '' }}
needs: check_source
if: needs.check_source.outputs.run_tests == 'true'
needs: build-context
if: needs.build-context.outputs.run-tests == 'true'
strategy:
matrix:
free-threading:
- false
- true
uses: ./.github/workflows/reusable-tsan.yml
with:
config_hash: ${{ needs.check_source.outputs.config_hash }}
config_hash: ${{ needs.build-context.outputs.config-hash }}
free-threading: ${{ matrix.free-threading }}

cross-build-linux:
name: Cross build Linux
runs-on: ubuntu-latest
needs: check_source
if: needs.check_source.outputs.run_tests == 'true'
needs: build-context
if: needs.build-context.outputs.run-tests == 'true'
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
- name: Runner image version
run: echo "IMAGE_VERSION=${ImageVersion}" >> "$GITHUB_ENV"
run: echo "IMAGE_OS_VERSION=${ImageOS}-${ImageVersion}" >> "$GITHUB_ENV"
- name: Restore config.cache
uses: actions/cache@v4
with:
path: config.cache
key: ${{ github.job }}-${{ runner.os }}-${{ env.IMAGE_VERSION }}-${{ needs.check_source.outputs.config_hash }}
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: Set build dir
run:
# an absolute path outside of the working directoy
echo "BUILD_DIR=$(realpath ${{ github.workspace }}/../build)" >> "$GITHUB_ENV"
- name: Install Dependencies
- name: Install dependencies
run: sudo ./.github/workflows/posix-deps-apt.sh
- name: Configure host build
run: ./configure --prefix="$BUILD_DIR/host-python"
Expand All @@ -571,8 +569,8 @@ jobs:
name: CIFuzz
runs-on: ubuntu-latest
timeout-minutes: 60
needs: check_source
if: needs.check_source.outputs.run_cifuzz == 'true'
needs: build-context
if: needs.build-context.outputs.run-ci-fuzz == 'true'
permissions:
security-events: write
strategy:
Expand Down Expand Up @@ -611,7 +609,7 @@ jobs:
if: always()

needs:
- check_source # Transitive dependency, needed to access `run_tests` value
- build-context # Transitive dependency, needed to access `run-tests` value
- check-docs
- check_autoconf_regen
- check_generated_files
Expand All @@ -621,6 +619,7 @@ jobs:
- build_wasi
- build_windows
- build_windows_msi
- cross-build-linux
- test_hypothesis
- build_asan
- build_tsan
Expand All @@ -639,38 +638,39 @@ jobs:
test_hypothesis,
allowed-skips: >-
${{
!fromJSON(needs.check_source.outputs.run-docs)
!fromJSON(needs.build-context.outputs.run-docs)
&& '
check-docs,
'
|| ''
}}
${{
needs.check_source.outputs.run_tests != 'true'
needs.build-context.outputs.run-tests != 'true'
&& '
check_autoconf_regen,
check_generated_files,
build_macos,
build_ubuntu,
build_ubuntu_ssltests,
build_wasi,
build_windows,
build_asan,
build_tsan,
test_hypothesis,
cross-build-linux,
'
|| ''
}}
${{
!fromJSON(needs.check_source.outputs.run_cifuzz)
!fromJSON(needs.build-context.outputs.run-windows-tests)
&& '
cifuzz,
build_windows,
'
|| ''
}}
${{
!fromJSON(needs.check_source.outputs.run_hypothesis)
!fromJSON(needs.build-context.outputs.run-ci-fuzz)
&& '
test_hypothesis,
cifuzz,
'
|| ''
}}
Expand Down
Loading
Loading