Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

gh-121489: Export private _PyBytes_Join() again #122094

Closed
wants to merge 903 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
903 commits
Select commit Hold shift + click to select a range
9056597
gh-73991: Skip permission test if running as *nix superuser (GH-120994)
encukou Jun 26, 2024
ef28f6d
gh-121040: Remove fallthrough warnings compiler option (gh-121041)
nohlson Jun 26, 2024
9e45fd9
gh-121016: Add test for `PYTHON_BASIC_REPL` envioronment variable (#1…
devdanzin Jun 26, 2024
9e4a81f
gh-120642: Move private PyCode APIs to the internal C API (#120643)
vstinner Jun 26, 2024
c878767
gh-119786: move frames documentation to InternalDocs and add details …
iritkatriel Jun 26, 2024
44eafd6
gh-121008: Fix idlelib.run tests (#121046)
vstinner Jun 26, 2024
9cd2dcb
gh-120593: Fix const qualifier in pyatomic.h (#121055)
vstinner Jun 26, 2024
e51e880
gh-120593: Fix const qualifier in _PyLong_CompactValue() (#121053)
vstinner Jun 26, 2024
d611c4c
gh-118908: Use __main__ for the default PyREPL namespace (#121054)
ambv Jun 26, 2024
22b0de2
gh-117139: Convert the evaluation stack to stack refs (#118450)
Fidget-Spinner Jun 26, 2024
1c13b29
gh-120937: Reference weakref from the `__del__` documentation (#120940)
chaen Jun 26, 2024
4be1f37
gh-113433: Automatically Clean Up Subinterpreters in Py_Finalize() (g…
ericsnowcurrently Jun 26, 2024
7d9c685
gh-120868: Fix breaking change in `logging.config` when using `QueueH…
provinzkraut Jun 27, 2024
1167a9a
gh-119521: Remove _IncompleteInputError from the docs (GH-120993)
encukou Jun 27, 2024
4999e0b
gh-120888: Bump bundled pip to 24.1.1 (#120889)
pradyunsg Jun 27, 2024
12af8ec
gh-121040: Use __attribute__((fallthrough)) (#121044)
vstinner Jun 27, 2024
6f7acaa
gh-120686: remove unused internal c api functions (#120687)
iritkatriel Jun 27, 2024
b7a95df
gh-120593: Check -Wcast-qual flag in test_cext (#121081)
vstinner Jun 27, 2024
223c03a
gh-121082: Fix build failure when the developer use `--enable-pystats…
Zheaoli Jun 27, 2024
db96edd
gh-121027: Add a future warning in functools.partial.__get__ (#121086)
serhiy-storchaka Jun 27, 2024
0890ad7
gh-115986 Improve pprint docs formatting (GH-117401)
Privat33r-dev Jun 27, 2024
e9b4ec6
gh-105623 Fix performance degradation in logging RotatingFileHandler …
zhatt Jun 27, 2024
4a62a33
gh-121065: Temporarily skip flaky test on free-threaded build (#121100)
colesbury Jun 27, 2024
237baf4
gh-121035: Update logging flow chart to include the lastResort handle…
bessman Jun 27, 2024
1a2e7a7
gh-120837: Update _Py_DumpExtensionModules to be async-signal-safe (g…
corona10 Jun 27, 2024
58a3580
gh-107803: add whatsnew for asyncio double linked list implementation…
kumaraditya303 Jun 28, 2024
6e63d84
gh-121096: Ignore dlopen() leaks in Valgrind suppression file (#121097)
vstinner Jun 28, 2024
ef3c400
gh-120804: remove `is_active` method from internal child watchers imp…
kumaraditya303 Jun 28, 2024
43709d5
Check for compiler warnings in test_cext on Windows (#121088)
vstinner Jun 28, 2024
81a654a
gh-121018: Fix more cases of exiting in argparse when exit_on_error=F…
serhiy-storchaka Jun 28, 2024
2894aa1
gh-121115: Skip __index__ in PyLong_AsNativeBytes by default (GH-121118)
zooba Jun 28, 2024
e6543da
gh-117139: Fix a few wrong steals in bytecodes.c (GH-121127)
Fidget-Spinner Jun 28, 2024
92893fd
gh-121137: Add missing Py_DECREF calls for ADDITEMS opcode of _pickle…
Legoclones Jun 28, 2024
6d34938
gh-120713: Normalize year with century for datetime.strftime (GH-120820)
blhsing Jun 29, 2024
0a1e8ff
gh-121101: Document -Wall option (an alias for -Walways) (#121102)
wimglenn Jun 29, 2024
2cb84b1
gh-119372: Recover inf's and zeros in _Py_c_quot (GH-119457)
skirpichev Jun 29, 2024
d6d8707
GH-119054: Add "Expanding and resolving paths" section to pathlib doc…
barneygale Jun 29, 2024
6b280a8
GH-119054: Add alt text to pathlib inheritance diagram (#121158)
barneygale Jun 29, 2024
48cd104
gh-120522: Add a `--with-app-store-compliance` configure option to pa…
freakboy3742 Jun 30, 2024
c3677be
gh-119447: Fix build with _PY_SHORT_FLOAT_REPR == 0 (#121178)
yu-re-ka Jun 30, 2024
2a455bb
[doc] Update element positions and styles in logging flow diagram. (G…
vsajip Jun 30, 2024
1a84bdc
gh-121163: Add "all" as an valid alias for "always" in warnings.simpl…
Eclips4 Jun 30, 2024
bd473aa
gh-87744: fix waitpid race while calling send_signal in asyncio (#121…
kumaraditya303 Jul 1, 2024
f80376b
gh-113565: Improve and harden detection of curses dependencies (#119816)
erlend-aasland Jul 1, 2024
af8c3d7
gh-121188: Sanitize invalid XML characters in regrtest (#121195)
vstinner Jul 1, 2024
a0b8b34
gh-121199: Use _Py__has_attribute() in timemodule.c (#121203)
vstinner Jul 1, 2024
6988ff0
gh-61103: Support double complex (_Complex) type in ctypes (#120894)
skirpichev Jul 1, 2024
c766ad2
gh-121084: Call _abc_registry_clear() when checking refleaks (#121191)
vstinner Jul 1, 2024
05a6f8d
gh-121200: Log pwd entry in test_expanduser_pwd2() (#121207)
vstinner Jul 1, 2024
7e8f334
build(deps-dev): bump types-psutil from 5.9.5.20240516 to 6.0.0.20240…
dependabot[bot] Jul 1, 2024
c9302e8
build(deps-dev): bump mypy from 1.10.0 to 1.10.1 in /Tools (#121216)
dependabot[bot] Jul 1, 2024
8d0cafd
build(deps-dev): bump types-setuptools from 70.0.0.20240524 to 70.1.0…
dependabot[bot] Jul 1, 2024
56a3ce2
gh-117784: Only reference PHA functions ifndef SSL_VERIFY_POST_HANDSH…
WillChilds-Klein Jul 1, 2024
c7991cc
gh-121220: Mark test_threaded_weak_value_dict_copy() as CPU-heavy (#1…
Eclips4 Jul 1, 2024
8a51767
gh-117657: Use critical section to make _socket.socket.close thread s…
aisk Jul 1, 2024
02cb5fd
gh-121200: Fix test_expanduser_pwd2() of test_posixpath (#121228)
vstinner Jul 1, 2024
d44c550
gh-120743: Soft deprecate os.popen() function (#120744)
vstinner Jul 1, 2024
91313af
gh-114104: clarify asynchronous comprehension docs to match runtime b…
yangdanny97 Jul 1, 2024
9bcb7d8
gh-121110: Temporarily Skip test_basic_multiple_interpreters_reset_ea…
ericsnowcurrently Jul 1, 2024
294e724
gh-117657: Fix data races reported by TSAN in some set methods (#120914)
aisk Jul 1, 2024
33903c5
GH-116017: Get rid of _COLD_EXITs (GH-120960)
brandtbucher Jul 1, 2024
1dc9a4f
gh-121196: Document `dict.fromkeys` params as pos-only (#121197)
sobolevn Jul 1, 2024
9662608
GH-119726: Use LDR for AArch64 trampolines (GH-121001)
diegorusso Jul 1, 2024
4f1e1df
Fix phrasing in paragraphs with leading "similar" (#121135)
rffontenelle Jul 2, 2024
bfe0e4d
gh-121035: Improve logging flow diagram for dark/light modes. (GH-121…
vsajip Jul 2, 2024
7435f05
Move get_signal_name() to test.support (#121251)
vstinner Jul 2, 2024
7a807c3
gh-121245: Amend d611c4c8e9 (correct import) (#121255)
skirpichev Jul 2, 2024
15232a0
gh-121210: handle nodes with missing attributes/fields in `ast.compar…
picnixz Jul 2, 2024
6343486
gh-121165: protect macro expansion of `ADJUST_INDICES` with do-while(…
picnixz Jul 2, 2024
1ac2732
gh-121272: move __future__ import validation from compiler to symtabl…
iritkatriel Jul 2, 2024
8e8d202
gh-117139: Add _PyTuple_FromStackRefSteal and use it (#121244)
colesbury Jul 2, 2024
b180788
gh-115773: Add sizes to debug offset structure (#120112)
pablogsal Jul 2, 2024
0898354
gh-121035: Further improve logging flow diagram with respect to dark/…
vsajip Jul 2, 2024
f09d184
GH-73991: Support copying directory symlinks on older Windows (#120807)
barneygale Jul 3, 2024
ff5806c
gh-121027: Make the functools.partial object a method descriptor (GH-…
serhiy-storchaka Jul 3, 2024
705a123
gh-116181: Remove Py_BUILD_CORE_BUILTIN and Py_BUILD_CORE_MODULE in r…
aisk Jul 3, 2024
ff5751a
gh-111872: Document the max_children attribute for `socketserver.Fork…
aisk Jul 3, 2024
f65d17b
updated tp_flags initialization to use inplace or (#120625)
byundojin Jul 3, 2024
f49c83a
build(deps): bump hypothesis from 6.100.2 to 6.104.2 in /Tools (#121218)
dependabot[bot] Jul 3, 2024
4232976
docs: Fix "Py_TPFLAGS_MANAGED_WEAKREF is set in tp_flags" (#112237)
da-woods Jul 3, 2024
9d3c9b8
Docs: Add `os.splice` flags argument (#109847)
aminalaee Jul 3, 2024
c9bdfbe
gh-106597: Add more offsets to _Py_DebugOffsets (#121311)
P403n1x87 Jul 3, 2024
51c4a32
gh-61103: Support float and long double complex types in ctypes modul…
skirpichev Jul 3, 2024
9315688
gh-121272: set ste_coroutine during symtable construction (#121297)
iritkatriel Jul 3, 2024
722229e
gh-121263: Macro-ify most stackref functions for MSVC (GH-121270)
Fidget-Spinner Jul 3, 2024
afee76b
gh-121245: a regression test for site.register_readline() (#121259)
skirpichev Jul 3, 2024
26d24ee
gh-121035: Update PNG image for logging flow diagram. (GH-121323)
vsajip Jul 3, 2024
84512c0
GH-119726: Emit AArch64 trampolines out-of-line (GH-121280)
diegorusso Jul 3, 2024
ca2e876
gh-121201: Disable perf_trampoline on riscv64 for now (#121328)
stefanor Jul 3, 2024
7c66906
gh-121300: Add `replace` to `copy.__all__` (#121302)
max-muoto Jul 3, 2024
f8373db
gh-112136: Restore removed _PyArg_Parser (#121262)
vstinner Jul 3, 2024
e245ed7
gh-118714: Make the pdb post-mortem restart/quit behavior more reason…
gaogaotiantian Jul 3, 2024
94f50f8
gh-117983: Defer import of threading for lazy module loading (#120233)
effigies Jul 3, 2024
9728ead
gh-121141: add support for `copy.replace` to AST nodes (#121162)
picnixz Jul 4, 2024
2f5f19e
gh-120754: Reduce system calls in full-file FileIO.readall() case (#1…
cmaloney Jul 4, 2024
19d1e43
gh-121352: use _Py_SourceLocation in symtable (#121353)
iritkatriel Jul 4, 2024
06a1c3f
gh-120754: Update estimated_size in C truncate (#121357)
cmaloney Jul 4, 2024
715ec63
gh-121355: Fix incorrect word in simple_stmts.rst (#121356)
Wondaeng Jul 4, 2024
67a05de
gh-121272: move async for/with validation from compiler to symtable (…
iritkatriel Jul 4, 2024
db17291
gh-118507: Amend news entry to mention ntpath.isfile bugfix (GH-120817)
nineteendo Jul 4, 2024
17d5b9d
gh-59110: zipimport: support namespace packages when no directory ent…
serhiy-storchaka Jul 4, 2024
f5c8d67
gh-106597: Remove unnecessary CFrame offsets (#121369)
P403n1x87 Jul 4, 2024
5f660e8
gh-121084: Fix test_typing random leaks (#121360)
vstinner Jul 4, 2024
cb688ba
gh-90437: Fix __main__.py documentation wording (GH-116309)
tavallaie Jul 4, 2024
db39bc4
gh-121390: tracemalloc: Fix tracebacks memory leak (#121391)
jbrobst Jul 5, 2024
cecd601
gh-59110: Fix a debug output for implicit directories (GH-121375)
serhiy-storchaka Jul 5, 2024
d4faa7b
gh-121149: improve accuracy of builtin sum() for complex inputs (gh-1…
skirpichev Jul 5, 2024
0e77540
Fixed regenerating files in a checkout path with spaces (GH-121384)
AraHaan Jul 5, 2024
8ecb896
gh-121288: Make error message for index() methods consistent (GH-121395)
serhiy-storchaka Jul 5, 2024
892e3a1
Update example of str.split, bytes.split (#121287)
ppwwyyxx Jul 5, 2024
6239d41
gh-121359: Run test_pyrepl in isolated mode (#121414)
vstinner Jul 5, 2024
88fc065
GH-73991: Support preserving metadata in `pathlib.Path.copy()` (#120806)
barneygale Jul 6, 2024
ada964f
[docs] fix a Sphinx directive in `c-api/object.rst` (#121430)
picnixz Jul 6, 2024
53e1202
Regen ``Doc/requirements-oldest-sphinx.txt`` (#121437)
Eclips4 Jul 6, 2024
1143894
gh-119909: Fix ``NameError`` in ``asyncio`` REPL (#121341)
Eclips4 Jul 6, 2024
68e279b
gh-121351: Skip test_not_wiping_history_file() if no readline (#121422)
skirpichev Jul 6, 2024
3bddd07
Add Fidget-Spinner to stackrefs CODEOWNERS (GH-121455)
Fidget-Spinner Jul 7, 2024
b765e4a
GH-73991: Fix "Operation not supported" on Fedora buildbot. (#121444)
barneygale Jul 7, 2024
c866948
Fix sphinx reference target (#121470)
hauntsaninja Jul 8, 2024
5aa1e60
gh-121467: Fix makefile to include mimalloc headers (#121469)
cdce8p Jul 8, 2024
bf74db7
gh-121461: Fix os.path.normpath documentation indentation (#121466)
CBerJun Jul 8, 2024
59be79a
gh-108297: Update crashers README for test_crashers removal (#121475)
ncoghlan Jul 8, 2024
d69529d
gh-121338: Remove #pragma optimize (#121340)
mdboom Jul 8, 2024
8ad6067
GH-121012: Set index to -1 when list iterators become exhausted in ti…
markshannon Jul 8, 2024
5289550
gh-121374: Correct docstrings in `_interpchannels` (gh-121418)
max-muoto Jul 8, 2024
db00fee
GH-119169: Simplify `os.walk()` exception handling (#121435)
barneygale Jul 8, 2024
31873be
gh-121487: Fix deprecation warning for ATOMIC_VAR_INIT in mimalloc (g…
cdce8p Jul 8, 2024
1d3cf79
gh-121368: Fix seq lock memory ordering in _PyType_Lookup (#121388)
colesbury Jul 8, 2024
2be37ec
gh-121404: remove direct accesses to u_private from codegen functions…
iritkatriel Jul 8, 2024
006b53a
NEWS: Fix Sphinx warnings and increase threshold for new news nits (#…
hugovk Jul 8, 2024
218edaf
gh-121018: Fix typo in NEWS entry (#121510)
colesbury Jul 8, 2024
15d48ae
gh-121110: Fix Extension Module Tests Under Py_TRACE_REFS Builds (gh-…
ericsnowcurrently Jul 8, 2024
facf986
gh-121333: Clarify what is the default executor for asyncio.run_in_ex…
aisk Jul 9, 2024
bf8686e
GH-118926: Better distinguish between pointer and arrays in interpret…
markshannon Jul 9, 2024
9ba2a46
Docs: fix typo and duplicate word in configure.rst (#121410)
rffontenelle Jul 9, 2024
649d5b6
gh-121533: Improve `PyCell_[Get,Set]` docs: mention the exceptions (#…
sobolevn Jul 9, 2024
9c08f40
gh-117657: Fix TSAN races in setobject.c (#121511)
colesbury Jul 9, 2024
0439743
gh-117657: Skip test when running under TSan (GH-121549)
colesbury Jul 9, 2024
8020946
GH-120372: Switch to wasmtime 22 (GH-121523)
brettcannon Jul 9, 2024
f621618
GH-121521: Detect when wasmtime is not installed in `Tools/wasm/wasi.…
brettcannon Jul 9, 2024
9585a1a
GH-121439: Allow PyTupleObjects with an ob_size of 20 in the free_lis…
satori1995 Jul 10, 2024
22a0bdb
Improve zipimport tests (GH-121535)
serhiy-storchaka Jul 10, 2024
e282236
gh-121571: Do not use `EnvironmentError` in tests, use `OSError` inst…
sobolevn Jul 10, 2024
cced22c
gh-121547: deduplicate the code of const_cache update functions (#121…
iritkatriel Jul 10, 2024
84a5597
gh-121567: Improve `slice` C-API docs by mentioning exceptions (#121568)
sobolevn Jul 10, 2024
ca0fb34
gh-89364: Export PySignal_SetWakeupFd() function (#121537)
vstinner Jul 10, 2024
af9f6de
gh-107851: Fix spurious failures in fcntl eintr tests (#121556)
colesbury Jul 10, 2024
0177a34
gh-121404: remove some accesses to compiler internals from codegen fu…
iritkatriel Jul 10, 2024
a802277
gh-121460: Skip freeing unallocated arenas (gh-121491)
stefanor Jul 10, 2024
3bfc9c8
gh-120198: Stop the world when setting __class__ on free-threaded bui…
Fidget-Spinner Jul 10, 2024
3ec719f
gh-117657: Fix TSan race in _PyDict_CheckConsistency (#121551)
colesbury Jul 10, 2024
7641743
gh-117657: Remove TSAN suppressions for _abc.c (#121508)
colesbury Jul 10, 2024
35a67e3
gh-121596: Fix Sharing Interpreter Channels (gh-121597)
ericsnowcurrently Jul 10, 2024
ef10110
gh-119786: fix broken links in docs and comment (#121601)
iritkatriel Jul 10, 2024
6557af6
gh-121554: remove unnecessary internal functions in compile.c (#121555)
iritkatriel Jul 10, 2024
690b935
gh-121450: Make inline breakpoints use the most recent pdb instance (…
gaogaotiantian Jul 11, 2024
e6264b4
gh-121615: Improve `module.rst` C-API docs with better error descript…
sobolevn Jul 11, 2024
44937d1
gh-121592: Make select.poll() and related objects thread-safe (#121594)
colesbury Jul 11, 2024
58e8cf2
gh-121332: Make AST node constructor check _attributes instead of har…
JelleZijlstra Jul 11, 2024
5250a03
gh-117482: Fix Builtin Types Slot Wrappers (gh-121602)
ericsnowcurrently Jul 11, 2024
e8c91d9
gh-121103: Put free-threaded libraries in `lib/python3.14t` (#121293)
colesbury Jul 11, 2024
65feded
Update retroactive comments from GH-117741 (segfault in `FutureIter_d…
savannahostrowski Jul 12, 2024
dc03ce7
gh-95144: Improve error message of `... in None` (GH-119888)
zware Jul 12, 2024
4e36dd7
gh-121497: Make Pyrepl respect correctly the history with input hook …
pablogsal Jul 13, 2024
0759cec
gh-99242 Ignore error when running regression tests under certain con…
basbloemsaat Jul 13, 2024
1801545
gh-121153: Fix some errors with use of _PyLong_CompactValue() (GH-121…
serhiy-storchaka Jul 13, 2024
e745996
gh-121609: Fix pasting of characters containing unicode character joi…
mgmacias95 Jul 13, 2024
4b9e10d
gh-121499: Fix multi-line history rendering in the REPL (#121531)
pablogsal Jul 13, 2024
fc21781
gh-96765: Update ConfigParser.read() docs with multi-file read exampl…
timonviola Jul 13, 2024
0a26aa5
gh-121671: Increase test coverage of `ast.get_docstring` (GH-121674)
tomasr8 Jul 13, 2024
abc3aee
gh-121605: Increase timeout in test_pyrepl.run_repl (#121606)
colesbury Jul 13, 2024
422855a
gh-120823: Fix doc for ftplib.FTP.retrbinary() (GH-121697)
mirelagrigoras Jul 13, 2024
f4d6e45
gh-120452: improve documentation about private name mangling (#120451)
picnixz Jul 13, 2024
178e44d
gh-121657: Display correct error message for yield from outside of a …
gege-hoho Jul 13, 2024
a183474
gh-121711: Set `-m asyncio` return_code to 1 for ENOTTY (#121714)
zvyn Jul 13, 2024
a640a60
gh-121652: Handle `allocate_weakref` returning NULL (#121653)
colesbury Jul 13, 2024
c0af6d4
gh-121651: Fix pdb header test (#121724)
gaogaotiantian Jul 13, 2024
b580589
gh-73159 Added clarifications in multiprocessing docs on that objects…
digitalfotografen Jul 13, 2024
a2bec77
gh-120642: Move _PyCode_CODE() to the internal C API (#121644)
vstinner Jul 13, 2024
901ea41
gh-121708: Improve test coverage for `unittest.util` (GH-121713)
tomasr8 Jul 14, 2024
f6f4022
gh-64308: Remove TestProgram from the unittest docs (GH-121675)
stinovlas Jul 14, 2024
04130b2
gh-121562: optimized hex_from_char (#121563)
LimaBD Jul 14, 2024
3086b86
gh-121700 Emscripten trampolines not quite right since #106219 (GH-12…
hoodmane Jul 14, 2024
cae1526
gh-121698 Emscripten: Use updated WebAssembly type reflection proposa…
hoodmane Jul 14, 2024
26dfb27
gh-121749: Fix discrepancy in docs for `PyModule_AddObjectRef` (GH-12…
GovernmentPlates Jul 14, 2024
6505bda
Fix cache restoration for Hypothesis CI job (#121756)
webknjaz Jul 14, 2024
bb802db
gh-121660: Fix `ga_getitem` by explicitly checking for `NULL` result …
sobolevn Jul 14, 2024
5d6861a
gh-121621: Use PyMutex for writes to asyncio state (#121622)
Fidget-Spinner Jul 14, 2024
d005f2c
gh-121731: Fix mimalloc compile error on GNU/Hurd (#121732)
sthibaul Jul 14, 2024
7982363
Generalize reusable Windows CI jobs (#121766)
webknjaz Jul 14, 2024
50eec50
gh-57141: Make shallow argument to filecmp.dircmp keyword-only (#121767)
JelleZijlstra Jul 14, 2024
48042c5
fix outdated comments in asyncio (#121783)
kumaraditya303 Jul 15, 2024
8303d32
gh-117765: Improve documentation for `mocker.patch.dict` (#121755)
GovernmentPlates Jul 15, 2024
94bee45
gh-84978: Add float.from_number() and complex.from_number() (GH-26827)
serhiy-storchaka Jul 15, 2024
74fbdcd
gh-121785: Remove unused code from codecs.py (GH-121787)
srittau Jul 15, 2024
6522f0e
gh-121746: Bind Alt+Enter to "accept" in the REPL (GH-121754)
rodrigogiraoserrao Jul 15, 2024
985dd8e
gh-118297: Make Sure All Pending Calls Run in _Py_FinishPendingCalls(…
ericsnowcurrently Jul 15, 2024
6b98b27
gh-76785: Expand How Interpreter Queues Handle Interpreter Finalizati…
ericsnowcurrently Jul 15, 2024
e904300
gh-121546: Disable contextvar caching on free-threading build (GH-121…
Fidget-Spinner Jul 15, 2024
fd085a4
gh-121359: make clean environment (no PYTHON* vars) for test_pyrepl.T…
skirpichev Jul 15, 2024
8b209fd
gh-76785: Expand How Interpreter Channels Handle Interpreter Finaliza…
ericsnowcurrently Jul 15, 2024
05d4137
gh-121245: Refactor site.register_readline() (GH-121659)
skirpichev Jul 15, 2024
82a4dac
gh-117657: Skip tests that fork with threads under TSan (#121599)
colesbury Jul 15, 2024
d23be39
gh-121794: Don't set `ob_tid` to zero in fast-path dealloc (#121799)
colesbury Jul 15, 2024
e5c7216
gh-121790: Fix interactive console initialization (#121793)
zvyn Jul 15, 2024
4134261
gh-121605: Fix test hang when pyrepl is not available (GH-121820)
colesbury Jul 15, 2024
2b1b689
gh-121814: Only check f_trace_opcodes if Python frame exists (#121818)
gaogaotiantian Jul 15, 2024
7d111da
gh-121610: pyrepl - handle extending blocks when multi-statement bloc…
saucoide Jul 15, 2024
498a94c
gh-121295: Fix blocked console after interrupting a long paste (GH-12…
mgmacias95 Jul 15, 2024
2bac2b8
gh-121403: Add notes for PyList_GetXXX APIs about the need for init (…
corona10 Jul 16, 2024
7e91e0d
gh-120831: Increase the default minimum supported iOS version to 13.0…
freakboy3742 Jul 16, 2024
1755df7
gh-85453: Fix 'timezone' vs. 'time zone' spelling issues in datetime.…
uatach Jul 16, 2024
8b6d475
gh-121791: Check for `NULL` in `MethodDescriptor2_new` in `_testcapi`…
sobolevn Jul 16, 2024
8549559
gh-120317: Lock around global state in the tokenize module (#120318)
lysnikolaou Jul 16, 2024
f27593a
gh-120522: Revert "Add a `--with-app-store-compliance` configure opti…
ned-deily Jul 16, 2024
a0b205b
🧪🚑 Fix using `check_source` flags as bool (#121848)
webknjaz Jul 16, 2024
956270d
gh-113993: For string interning, do not rely on (or assert) _Py_IsImm…
encukou Jul 16, 2024
d7a099d
GH-105879: Note exec/eval keyword change in What's New (GH-121831)
ncoghlan Jul 16, 2024
b4aedb2
gh-113993: Don't immortalize in PyUnicode_InternInPlace; keep immorta…
encukou Jul 16, 2024
263c7e6
gh-121160: Add some tests for readline.set_history_length (GH-121326)
encukou Jul 16, 2024
8f25321
gh-59022: Added tests for `pkgutil.extend_path` (#59022) (GH-121673)
beachmachine Jul 16, 2024
69c68de
gh-121621: Move asyncio running loop to thread state (GH-121695)
Fidget-Spinner Jul 16, 2024
c46d64e
gh-121130: Fix f-string format specifiers with debug expressions (#12…
pablogsal Jul 16, 2024
162b41f
gh-121860: Fix crash when materializing managed dict (#121866)
colesbury Jul 16, 2024
e65cb4c
gh-118934: Make PyEval_GetLocals return borrowed reference (#119769)
gaogaotiantian Jul 16, 2024
f589f26
GH-120371: Add WASI SDK 22 support (GH-121870)
brettcannon Jul 16, 2024
4e35dd6
gh-83648: Use versionadded in 'deprecated' description (GH-121877)
zware Jul 16, 2024
f036a46
GH-121583: Remove dependency from pystats.h to internal header file (…
mdboom Jul 16, 2024
941b3b7
gh-121871: Allow overriding docs build date with SOURCE_DATE_EPOCH (#…
bmwiedemann Jul 17, 2024
3761117
gh-121453: Update the `Doc/templates/download.html` download files si…
Wulian233 Jul 17, 2024
f6c7d8d
gh-121842: Improve coverage of `PyBytes_FromStringAndSize` (#121843)
sobolevn Jul 17, 2024
72dccd6
gh-121834: Improve `complex` C-API docs (#121835)
sobolevn Jul 17, 2024
dc9cc91
Fix Several Typos in Readme & Tests (#121559)
michaelg100 Jul 17, 2024
5d98a4d
Remove duplicate "it" in whatsnew 3.13 (#121580)
rffontenelle Jul 17, 2024
bfdbeac
gh-121849: Fix PyUnicodeWriter_WriteSubstring() crash if len=0 (#121896)
vstinner Jul 17, 2024
cffad5c
gh-121863: Immortalize names in code objects to avoid crash (GH-121903)
encukou Jul 17, 2024
6682d91
gh-119698: fix a special case in `symtable.Class.get_methods` (#121802)
picnixz Jul 17, 2024
58753f3
gh-78889: Stop IDLE Shell freezes from sys.stdout.shell.xyz (#121876)
terryjreedy Jul 17, 2024
ac07451
gh-120678: pyrepl: Include globals from modules passed with `-i` (GH-…
AlexWaygood Jul 17, 2024
19cbf8f
gh-120678: Guard against stdin.fileno() being unavailable (#121924)
ambv Jul 17, 2024
f4bc84d
gh-121925: Fix uninitialized variables in `main.c` (#121926)
sobolevn Jul 17, 2024
b826e45
gh-121528: Fix _PyObject_Init() assertion for stable ABI (#121725)
vstinner Jul 17, 2024
51da3df
gh-121266: Change dict check_lookup() return type to int (#121581)
vstinner Jul 17, 2024
f113c1a
Add note about PYTHON_JIT environment variable to JIT README (GH-121635)
savannahostrowski Jul 17, 2024
81fd625
gh-121621: Move asyncio_running_loop to private struct (#121939)
colesbury Jul 17, 2024
c5a6b9a
gh-121266: Remove Py_ALWAYS_INLINE in dictobject.c (#121493)
vstinner Jul 18, 2024
63ddd28
gh-121921: Make bogus_code_obj.py crash the interpreter (#121922)
JelleZijlstra Jul 18, 2024
24cf867
gh-121874: Define audit-event open parameters consistently (GH-121883)
bmwiedemann Jul 18, 2024
27db060
gh-121489: Export private _PyBytes_Join() again
cdce8p Jul 21, 2024
0b98ed4
Code review
cdce8p Jul 25, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 2 additions & 2 deletions .devcontainer/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@ FROM docker.io/library/fedora:40

ENV CC=clang

ENV WASI_SDK_VERSION=21
ENV WASI_SDK_VERSION=22
ENV WASI_SDK_PATH=/opt/wasi-sdk

ENV WASMTIME_HOME=/opt/wasmtime
ENV WASMTIME_VERSION=18.0.3
ENV WASMTIME_VERSION=22.0.0
ENV WASMTIME_CPU_ARCH=x86_64

RUN dnf -y --nodocs --setopt=install_weak_deps=False install /usr/bin/{blurb,clang,curl,git,ln,tar,xz} 'dnf-command(builddep)' && \
Expand Down
38 changes: 23 additions & 15 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@

# Build system
configure* @erlend-aasland @corona10
Makefile.pre.in @erlend-aasland
Modules/Setup* @erlend-aasland

# asyncio
**/*asyncio* @1st1 @asvetlov @gvanrossum @kumaraditya303 @willingc
Expand All @@ -29,19 +31,23 @@ Objects/type* @markshannon
Objects/codeobject.c @markshannon
Objects/frameobject.c @markshannon
Objects/call.c @markshannon
Python/ceval*.c @markshannon @gvanrossum
Python/ceval*.h @markshannon @gvanrossum
Python/ceval*.c @markshannon
Python/ceval*.h @markshannon
Python/compile.c @markshannon @iritkatriel
Python/assemble.c @markshannon @iritkatriel
Python/flowgraph.c @markshannon @iritkatriel
Python/instruction_sequence.c @iritkatriel
Python/ast_opt.c @isidentical
Python/bytecodes.c @markshannon @gvanrossum
Python/optimizer*.c @markshannon @gvanrossum
Python/bytecodes.c @markshannon
Python/optimizer*.c @markshannon
Python/optimizer_analysis.c @Fidget-Spinner
Python/optimizer_bytecodes.c @Fidget-Spinner
Python/symtable.c @JelleZijlstra @carljm
Lib/_pyrepl/* @pablogsal @lysnikolaou @ambv
Lib/test/test_patma.py @brandtbucher
Lib/test/test_type_*.py @JelleZijlstra
Lib/test/test_capi/test_misc.py @markshannon @gvanrossum
Lib/test/test_capi/test_misc.py @markshannon
Lib/test/test_pyrepl/* @pablogsal @lysnikolaou @ambv
Tools/c-analyzer/ @ericsnowcurrently

# dbm
Expand All @@ -66,17 +72,15 @@ Include/internal/pycore_freelist.h @ericsnowcurrently
Include/internal/pycore_global_objects.h @ericsnowcurrently
Include/internal/pycore_obmalloc.h @ericsnowcurrently
Include/internal/pycore_pymem.h @ericsnowcurrently
Include/internal/pycore_stackref.h @Fidget-Spinner
Modules/main.c @ericsnowcurrently
Programs/_bootstrap_python.c @ericsnowcurrently
Programs/python.c @ericsnowcurrently
Tools/build/generate_global_objects.py @ericsnowcurrently

# Exceptions
Lib/traceback.py @iritkatriel
Lib/test/test_except*.py @iritkatriel
Lib/test/test_traceback.py @iritkatriel
Objects/exceptions.c @iritkatriel
Python/traceback.c @iritkatriel

# Hashing
**/*hashlib* @gpshead @tiran
Expand Down Expand Up @@ -150,13 +154,13 @@ Include/internal/pycore_time.h @pganssle @abalkin
/Lib/test/test_tokenize.py @pablogsal @lysnikolaou

# Code generator
/Tools/cases_generator/ @gvanrossum
/Tools/cases_generator/ @markshannon

# AST
Python/ast.c @isidentical
Parser/asdl.py @isidentical
Parser/asdl_c.py @isidentical
Lib/ast.py @isidentical
Python/ast.c @isidentical @JelleZijlstra
Parser/asdl.py @isidentical @JelleZijlstra
Parser/asdl_c.py @isidentical @JelleZijlstra
Lib/ast.py @isidentical @JelleZijlstra

# Mock
/Lib/unittest/mock.py @cjw296
Expand All @@ -173,6 +177,10 @@ Lib/ast.py @isidentical
/Lib/test/test_subprocess.py @gpshead
/Modules/*subprocess* @gpshead

# debugger
**/*pdb* @gaogaotiantian
**/*bdb* @gaogaotiantian

# Limited C API & stable ABI
Tools/build/stable_abi.py @encukou
Misc/stable_abi.toml @encukou
Expand All @@ -194,7 +202,6 @@ Doc/c-api/stable.rst @encukou
**/*itertools* @rhettinger
**/*collections* @rhettinger
**/*random* @rhettinger
**/*queue* @rhettinger
**/*bisect* @rhettinger
**/*heapq* @rhettinger
**/*functools* @rhettinger
Expand All @@ -205,6 +212,7 @@ Doc/c-api/stable.rst @encukou
**/*ensurepip* @pfmoore @pradyunsg

**/*idlelib* @terryjreedy
/Doc/library/idle.rst @terryjreedy

**/*typing* @JelleZijlstra @AlexWaygood

Expand Down Expand Up @@ -240,7 +248,7 @@ Doc/howto/clinic.rst @erlend-aasland
**/*interpreteridobject.* @ericsnowcurrently
**/*crossinterp* @ericsnowcurrently
Lib/test/support/interpreters/ @ericsnowcurrently
Modules/_xx*interp*module.c @ericsnowcurrently
Modules/_interp*module.c @ericsnowcurrently
Lib/test/test_interpreters/ @ericsnowcurrently

# Android
Expand Down
86 changes: 53 additions & 33 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,19 +8,11 @@ on:
push:
branches:
- 'main'
- '3.12'
- '3.11'
- '3.10'
- '3.9'
- '3.8'
- '3.*'
pull_request:
branches:
- 'main'
- '3.12'
- '3.11'
- '3.10'
- '3.9'
- '3.8'
- '3.*'

permissions:
contents: read
Expand All @@ -35,11 +27,31 @@ jobs:
runs-on: ubuntu-latest
timeout-minutes: 10
outputs:
# Some of the referenced steps set outputs conditionally and there may be
# cases when referencing them evaluates to empty strings. It is nice to
# work with proper booleans so they have to be evaluated through JSON
# conversion in the expressions. However, empty strings used like that
# may trigger all sorts of undefined and hard-to-debug behaviors in
# GitHub Actions CI/CD. To help with this, all of the outputs set here
# that are meant to be used as boolean flags (and not arbitrary strings),
# MUST have fallbacks with default values set. A common pattern would be
# to add ` || false` to all such expressions here, in the output
# definitions. They can then later be safely used through the following
# idiom in job conditionals and other expressions. Here's some examples:
#
# if: fromJSON(needs.check_source.outputs.run-docs)
#
# ${{
# fromJSON(needs.check_source.outputs.run_tests)
# && 'truthy-branch'
# || 'falsy-branch'
# }}
#
run-docs: ${{ steps.docs-changes.outputs.run-docs || false }}
run_tests: ${{ steps.check.outputs.run_tests }}
run_hypothesis: ${{ steps.check.outputs.run_hypothesis }}
run_cifuzz: ${{ steps.check.outputs.run_cifuzz }}
config_hash: ${{ steps.config_hash.outputs.hash }}
run_tests: ${{ steps.check.outputs.run_tests || false }}
run_hypothesis: ${{ steps.check.outputs.run_hypothesis || false }}
run_cifuzz: ${{ steps.check.outputs.run_cifuzz || false }}
config_hash: ${{ steps.config_hash.outputs.hash }} # str
steps:
- uses: actions/checkout@v4
- name: Check for source changes
Expand All @@ -62,7 +74,7 @@ jobs:
# into the PR branch anyway.
#
# https://github.com/python/core-workflow/issues/373
git diff --name-only origin/$GITHUB_BASE_REF.. | grep -qvE '(\.rst$|^Doc|^Misc|^\.pre-commit-config\.yaml$|\.ruff\.toml$)' && echo "run_tests=true" >> $GITHUB_OUTPUT || true
git diff --name-only origin/$GITHUB_BASE_REF.. | grep -qvE '(\.rst$|^Doc|^Misc|^\.pre-commit-config\.yaml$|\.ruff\.toml$|\.md$|mypy\.ini$)' && echo "run_tests=true" >> $GITHUB_OUTPUT || true
fi

# Check if we should run hypothesis tests
Expand Down Expand Up @@ -187,18 +199,24 @@ jobs:
run: make check-c-globals

build_windows:
name: 'Windows'
name: >-
Windows
${{ fromJSON(matrix.free-threading) && '(free-threading)' || '' }}
needs: check_source
if: needs.check_source.outputs.run_tests == 'true'
uses: ./.github/workflows/reusable-windows.yml

build_windows_free_threading:
name: 'Windows (free-threading)'
needs: check_source
if: needs.check_source.outputs.run_tests == 'true'
if: fromJSON(needs.check_source.outputs.run_tests)
strategy:
matrix:
arch:
- Win32
- x64
- arm64
free-threading:
- false
- true
uses: ./.github/workflows/reusable-windows.yml
with:
free-threading: true
arch: ${{ matrix.arch }}
free-threading: ${{ matrix.free-threading }}

build_macos:
name: 'macOS'
Expand All @@ -207,8 +225,9 @@ jobs:
uses: ./.github/workflows/reusable-macos.yml
with:
config_hash: ${{ needs.check_source.outputs.config_hash }}
# macos-14 is M1, macos-13 is Intel
os-matrix: '["macos-14", "macos-13"]'
# Cirrus and macos-14 are M1, macos-13 is default GHA Intel.
# Cirrus used for upstream, macos-14 for forks.
os-matrix: '["ghcr.io/cirruslabs/macos-runner:sonoma", "macos-14", "macos-13"]'

build_macos_free_threading:
name: 'macOS (free-threading)'
Expand All @@ -218,8 +237,9 @@ jobs:
with:
config_hash: ${{ needs.check_source.outputs.config_hash }}
free-threading: true
# macos-14-large is Intel with 12 cores (most parallelism)
os-matrix: '["macos-14"]'
# Cirrus and macos-14 are M1.
# Cirrus used for upstream, macos-14 for forks.
os-matrix: '["ghcr.io/cirruslabs/macos-runner:sonoma", "macos-14"]'

build_ubuntu:
name: 'Ubuntu'
Expand Down Expand Up @@ -396,10 +416,10 @@ jobs:
id: cache-hypothesis-database
uses: actions/cache@v4
with:
path: ./hypothesis
path: ${{ env.CPYTHON_BUILDDIR }}/.hypothesis/
key: hypothesis-database-${{ github.head_ref || github.run_id }}
restore-keys: |
- hypothesis-database-
hypothesis-database-
- name: "Run tests"
working-directory: ${{ env.CPYTHON_BUILDDIR }}
run: |
Expand All @@ -424,7 +444,7 @@ jobs:
if: always()
with:
name: hypothesis-example-db
path: .hypothesis/examples/
path: ${{ env.CPYTHON_BUILDDIR }}/.hypothesis/examples/


build_asan:
Expand Down Expand Up @@ -494,6 +514,7 @@ jobs:
config_hash: ${{ needs.check_source.outputs.config_hash }}
options: ./configure --config-cache --with-thread-sanitizer --with-pydebug
suppressions_path: Tools/tsan/supressions.txt
tsan_logs_artifact_name: tsan-logs-default

build_tsan_free_threading:
name: 'Thread sanitizer (free-threading)'
Expand All @@ -504,6 +525,7 @@ jobs:
config_hash: ${{ needs.check_source.outputs.config_hash }}
options: ./configure --config-cache --disable-gil --with-thread-sanitizer --with-pydebug
suppressions_path: Tools/tsan/suppressions_free_threading.txt
tsan_logs_artifact_name: tsan-logs-free-threading

# CIFuzz job based on https://google.github.io/oss-fuzz/getting-started/continuous-integration/
cifuzz:
Expand Down Expand Up @@ -560,7 +582,6 @@ jobs:
- build_ubuntu_ssltests
- build_wasi
- build_windows
- build_windows_free_threading
- test_hypothesis
- build_asan
- build_tsan
Expand Down Expand Up @@ -596,7 +617,6 @@ jobs:
build_ubuntu_ssltests,
build_wasi,
build_windows,
build_windows_free_threading,
build_asan,
build_tsan,
build_tsan_free_threading,
Expand Down
45 changes: 41 additions & 4 deletions .github/workflows/jit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,17 @@ on:
- '**jit**'
- 'Python/bytecodes.c'
- 'Python/optimizer*.c'
- '!Python/perf_jit_trampoline.c'
- '!**/*.md'
- '!**/*.ini'
push:
paths:
- '**jit**'
- 'Python/bytecodes.c'
- 'Python/optimizer*.c'
- '!Python/perf_jit_trampoline.c'
- '!**/*.md'
- '!**/*.ini'
workflow_dispatch:

permissions:
Expand All @@ -20,8 +26,22 @@ concurrency:
cancel-in-progress: true

jobs:
interpreter:
name: Interpreter (Debug)
runs-on: ubuntu-latest
timeout-minutes: 90
steps:
- uses: actions/checkout@v4
- name: Build tier two interpreter
run: |
./configure --enable-experimental-jit=interpreter --with-pydebug
make all --jobs 4
- name: Test tier two interpreter
run: |
./python -m test --multiprocess 0 --timeout 4500 --verbose2 --verbose3
jit:
name: ${{ matrix.target }} (${{ matrix.debug && 'Debug' || 'Release' }})
needs: interpreter
runs-on: ${{ matrix.runner }}
timeout-minutes: 90
strategy:
Expand Down Expand Up @@ -113,17 +133,15 @@ jobs:
make all --jobs 4
./python.exe -m test --multiprocess 0 --timeout 4500 --verbose2 --verbose3

# --with-lto has been removed temporarily as a result of an open issue in LLVM 18 (see https://github.com/llvm/llvm-project/issues/87553)
- name: Native Linux
if: runner.os == 'Linux' && matrix.architecture == 'x86_64'
run: |
sudo bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)" ./llvm.sh ${{ matrix.llvm }}
export PATH="$(llvm-config-${{ matrix.llvm }} --bindir):$PATH"
./configure --enable-experimental-jit ${{ matrix.debug && '--with-pydebug' || '--enable-optimizations' }}
./configure --enable-experimental-jit ${{ matrix.debug && '--with-pydebug' || '--enable-optimizations --with-lto' }}
make all --jobs 4
./python -m test --multiprocess 0 --timeout 4500 --verbose2 --verbose3

# --with-lto has been removed temporarily as a result of an open issue in LLVM 18 (see https://github.com/llvm/llvm-project/issues/87553)
- name: Emulated Linux
if: runner.os == 'Linux' && matrix.architecture != 'x86_64'
# The --ignorefile on ./python -m test is used to exclude tests known to fail when running on an emulated Linux.
Expand All @@ -141,6 +159,25 @@ jobs:
CC="${{ matrix.compiler == 'clang' && 'clang --target=$HOST' || '$HOST-gcc' }}" \
CPP="$CC --preprocess" \
HOSTRUNNER=qemu-${{ matrix.architecture }} \
./configure --enable-experimental-jit ${{ matrix.debug && '--with-pydebug' || '--enable-optimizations ' }} --build=x86_64-linux-gnu --host="$HOST" --with-build-python=../build/bin/python3 --with-pkg-config=no ac_cv_buggy_getaddrinfo=no ac_cv_file__dev_ptc=no ac_cv_file__dev_ptmx=yes
./configure --enable-experimental-jit ${{ matrix.debug && '--with-pydebug' || '--enable-optimizations --with-lto' }} --build=x86_64-linux-gnu --host="$HOST" --with-build-python=../build/bin/python3 --with-pkg-config=no ac_cv_buggy_getaddrinfo=no ac_cv_file__dev_ptc=no ac_cv_file__dev_ptmx=yes
make all --jobs 4
./python -m test --ignorefile=Tools/jit/ignore-tests-emulated-linux.txt --multiprocess 0 --timeout 4500 --verbose2 --verbose3

jit-with-disabled-gil:
name: Free-Threaded (Debug)
needs: interpreter
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Build with JIT enabled and GIL disabled
run: |
sudo bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)" ./llvm.sh 18
export PATH="$(llvm-config-18 --bindir):$PATH"
./configure --enable-experimental-jit --with-pydebug --disable-gil
make all --jobs 4
- name: Run tests
run: |
./python -m test --multiprocess 0 --timeout 4500 --verbose2 --verbose3
1 change: 1 addition & 0 deletions .github/workflows/mypy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ concurrency:
jobs:
mypy:
strategy:
fail-fast: false
matrix:
target: [
"Lib/_pyrepl",
Expand Down
Loading
Loading