Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
715 commits
Select commit Hold shift + click to select a range
73e2089
[3.14] Docs: Remove unnecessary trailing backslashes (GH-135781) (GH-…
miss-islington Jun 21, 2025
10f9db9
[3.14] gh-135815: skip `netrc` security checks if `os.getuid` is miss…
miss-islington Jun 22, 2025
a843fec
[3.14] patchcheck: use URL paths to identify upstream remote (GH-1358…
miss-islington Jun 23, 2025
f0a330e
[3.14] gh-89488: Add warning about `Py_BuildValue("p")` needing exact…
miss-islington Jun 23, 2025
85fbf80
[3.14] gh-134986: Catch PermissionError when trying to call perf in t…
miss-islington Jun 23, 2025
aad47c1
[3.14] Bump mypy to 1.16.1 (GH-135720) (#135848)
miss-islington Jun 23, 2025
c9cbe06
[3.14] Docs: Use `arguments` to replace `args` in `argparse.rst` (GH-…
miss-islington Jun 23, 2025
7227aa4
[3.14] Fix example according to PEP 750 in "What's new in 3.14" (GH-1…
miss-islington Jun 23, 2025
148f31f
[3.14] gh-135648: Document that `shutil.copyfileobj` doesn't flush (G…
miss-islington Jun 24, 2025
961dd80
[3.14] gh-135494: Fix python -m test --pgo -x test_re (GH-135713) (#1…
miss-islington Jun 24, 2025
3cdb659
[3.14] gh-135487: fix `reprlib.Repr.repr_int` when given very large i…
miss-islington Jun 24, 2025
88c5552
[3.14] gh-135878: Fix crash in `types.SimpleNamespace.__repr__` (GH-1…
miss-islington Jun 24, 2025
fa74331
[3.14] gh-135805: Document the X option and env var for controlling t…
miss-islington Jun 24, 2025
090a42b
[3.14] gh-135855: Raise TypeError When Passing Non-dict Object to `_i…
miss-islington Jun 24, 2025
349f4c2
[3.14] gh-135755: Docs: C API: Document missing `PyFunction_GET*` mac…
miss-islington Jun 25, 2025
93a31be
[3.14] gh-135839: Fix `module_traverse` and `module_clear` in `_inter…
miss-islington Jun 25, 2025
a345fed
[3.14] gh-135755: Move SPECIAL_ constants to a private header (GH-135…
encukou Jun 25, 2025
17c6818
[3.14] gh-131591: Make --without-remote-debug work (GH-135925) (GH-13…
miss-islington Jun 25, 2025
8ef0398
[3.14] Docs: Add cross-reference for `positional_item` in the `calls`…
miss-islington Jun 25, 2025
6e5350d
[3.14] gh-135839: Fix `module_traverse` and `module_clear` in subinte…
miss-islington Jun 25, 2025
df1c124
[3.14] gh-91555: Revert disabling of logger while handling log record…
miss-islington Jun 25, 2025
80fc62f
[3.14] gh-135871: Fix needless spinning in `_PyMutex_LockTimed` with …
miss-islington Jun 25, 2025
39bbf59
[3.14] Docs: Fix indentation in `slice` class of `functions.rst` (GH-…
miss-islington Jun 25, 2025
c8e914c
[3.14] gh-135721: skip `test_trashcan_python_class` on wasm buildbots…
miss-islington Jun 25, 2025
568f50e
[3.14] Add whatsnew text for warnings module changes. (gh-135869) (gh…
miss-islington Jun 26, 2025
3b5d82a
[3.14] gh-135956: Remove duplicate word in _pydatetime docstring (GH-…
miss-islington Jun 26, 2025
e5abdbf
[3.14] gh-131591: Add Py_ prefix to MAX_SCRIPT_PATH_SIZE; remove unpr…
miss-islington Jun 26, 2025
a797fe1
[3.14] gh-135755: Move `PyFunction_GET_BUILTINS` to the private API (…
miss-islington Jun 26, 2025
03711fb
[3.14] gh-125206: Make _Py_FFI_SUPPORT_C_COMPLEX private (GH-135932) …
miss-islington Jun 26, 2025
19740b7
[3.14] gh-135965: Delete duplicate word in isolating-extensions howto…
miss-islington Jun 26, 2025
ad6c90f
[3.14] gh-135110: Fix misleading `generator.close()` documentation (G…
miss-islington Jun 26, 2025
8752b08
[3.14] gh-91555: add warning to docs about possibility of deadlock/in…
miss-islington Jun 26, 2025
2045453
[3.14] gh-129958: New syntax error in format spec applies to both f-s…
miss-islington Jun 26, 2025
4ba1812
[3.14] GH-133600: Backport file reorg of `Tools/wasm/wasi` (GH-135950)
brettcannon Jun 26, 2025
29cb4d6
[3.14] IDLE: Update NEWS2x.txt with 2.7.0 release date (GH-129908) (#…
miss-islington Jun 26, 2025
9798a8d
[3.14] gh-135995: Fix missing char in palmos encoding (GH-135990) (#1…
miss-islington Jun 26, 2025
b99a417
[3.14] Docs: Fix duplicate word typos (GH-135958) (GH-136007)
miss-islington Jun 27, 2025
10211a7
[3.14] gh-135968: Add iOS binary stubs for strip (GH-135970) (#136014)
miss-islington Jun 27, 2025
78de34f
[3.14] gh-135966: Modify iOS testbed to make app_packages a site dire…
miss-islington Jun 27, 2025
a168c77
[3.14] gh-53203: Fix strptime() for %c, %x and %X formats on some loc…
miss-islington Jun 27, 2025
33c83ce
[3.14] gh-128051: Fix tests if sys.float_repr_style is 'legacy' (GH-1…
miss-islington Jun 27, 2025
1b21868
[3.14] gh-78465: Fix error message for cls.__new__(cls, ...) where cl…
miss-islington Jun 27, 2025
7e4637e
[3.14] gh-92266: Replace tabs with four spaces in Python files (GH-13…
miss-islington Jun 27, 2025
3bd4a49
[3.14] gh-136028: Fix parsing month names containing "İ" (U+0130) in …
miss-islington Jun 27, 2025
eff347c
[3.14] gh-108765: fix comment about macro definitions in `_stat.c` po…
miss-islington Jun 27, 2025
7028095
[3.14] gh-135755: rename undocumented `HACL_CAN_COMPILE_SIMD{128,256}…
picnixz Jun 28, 2025
c9c51bd
[3.14] gh-135571: Guard `_hashlib` usage in `test_hashlib.py` (GH-135…
picnixz Jun 28, 2025
42e13b8
[3.14] gh-76595: Add note on `PyCapsule_Import` behavior (GH-134022) …
miss-islington Jun 28, 2025
c66b54f
[3.14] gh-91048: Fix external inspection multi-threaded performance (…
pablogsal Jun 28, 2025
7df3eee
[3.14] Doc: Fix duplicate words in idlelib (GH-136089) (#136090)
miss-islington Jun 29, 2025
ce65956
[3.14] gh-136053: Check error for TYPE_SLICE in marshal.c (GH-136054)…
miss-islington Jun 29, 2025
231d801
[3.14] gh-127604: Docs: Include a C stack in the `faulthandler` examp…
miss-islington Jun 29, 2025
eb8ed2a
[3.14] gh-123299: Provide replacement for removed sqlite3 attributes …
miss-islington Jun 29, 2025
5e65cbb
[3.14] Doc: fix duplicated words (GH-136086) (#136108)
miss-islington Jun 29, 2025
2e6d3f0
[3.14] gh-136087: Remove `\r` from documented `os.linesep` values (GH…
miss-islington Jun 30, 2025
130d40a
[3.14] gh-132813: Fix the csv documentation for quoting and escaping …
miss-islington Jun 30, 2025
ed7719a
[3.14] gh-131885: Update documented signatures for `csv.{writer,reade…
miss-islington Jun 30, 2025
729b674
[3.14] gh-48181: Document `codecs.charmap_build` (GH-135997) (#136123)
miss-islington Jun 30, 2025
3267847
[3.14] gh-135607: remove null checking of weakref list in dealloc of …
vstinner Jun 30, 2025
71bd3d0
[3.14] gh-136122: Fix video link for math.tau documentation (GH-13612…
miss-islington Jun 30, 2025
e86ac72
[3.14] gh-85702: Catch PermissionError in zoneinfo.load_tzdata() (GH-…
miss-islington Jun 30, 2025
401032a
[3.14] gh-63207: Update `time.time` documentation after GH-116822 (GH…
miss-islington Jun 30, 2025
ebab7c8
[3.14] gh-134939: Fill Out the concurrent.interpreters Docs (gh-136141)
miss-islington Jun 30, 2025
028901e
[3.14] gh-133982: Use implementation-specific `open` in `test_fileio.…
miss-islington Jun 30, 2025
665a682
[3.14] gh-135755: Use private names (_Py*) for header file guards new…
miss-islington Jul 1, 2025
df4e87b
[3.14] gh-136169: Update parameter name in fractions.from_float metho…
miss-islington Jul 1, 2025
f152d60
[3.14] gh-130396: Move PYOS_LOG2_STACK_MARGIN to internal headers (GH…
miss-islington Jul 1, 2025
5e09d19
[3.14] gh-87298: Add tests for find_in_strong_cache() bug in _zoneinf…
miss-islington Jul 1, 2025
3bc4294
[3.14] GH-134273: Allow setting JIT compiler flags at build time with…
miss-islington Jul 1, 2025
8ba024d
[3.14] gh-134280: Disable constant folding for ~ with a boolean argum…
miss-islington Jul 2, 2025
23a990d
[3.14] gh-115119: Defer removal of bundled libmpdec to 3.16 (GH-13399…
skirpichev Jul 2, 2025
388e8c3
[3.14] Replace `capi-sig` mailing list with `discuss.python.org` (GH-…
miss-islington Jul 2, 2025
b86d3f0
[3.14] gh-136135: Doc: Fix some broken links (GH-136137) (GH-136220)
miss-islington Jul 3, 2025
8810ccf
[3.14] gh-135836: Fix `IndexError` in `asyncio.create_connection` wit…
miss-islington Jul 3, 2025
5216a6c
[3.14] gh-135836: Fix `IndexError` in `asyncio.create_connection()` (…
miss-islington Jul 3, 2025
8dcf3ed
[3.14] gh-127705: Move Py_INCREF_MORTAL() to the internal C API (GH-1…
miss-islington Jul 3, 2025
1a4f92b
[3.14] gh-135640: Adds more type checking to ElementTree (GH-135643) …
miss-islington Jul 3, 2025
84cafc7
[3.14] Fix comments for `heapq.siftup_max` (GH-135359) (#136232)
miss-islington Jul 3, 2025
4bc9c01
[3.14] gh-135069: Fix exception message in encodings.idna module (GH-…
miss-islington Jul 3, 2025
150262d
[3.14] gh-133740: Fix regression in locale.nl_langinfo(ALT_DIGITS) (G…
miss-islington Jul 3, 2025
4877f43
[3.14] gh-130664: Treat '0' fill character with align '=' as zero-pad…
miss-islington Jul 3, 2025
ea84943
[3.14] gh-115119: Recommend upstream libmpdec in build requirements (…
miss-islington Jul 3, 2025
e39f332
[3.14] gh-135252: Document Zstandard integration across zipfile, shut…
miss-islington Jul 3, 2025
03ce4b2
[3.14] gh-135661: Fix parsing start and end tags in HTMLParser accord…
miss-islington Jul 3, 2025
2449f77
[3.14] Clarify some details regarding `sys.monitoring` (GH-133981) (G…
miss-islington Jul 3, 2025
fa7e76e
[3.14] gh-102555: Fix comment parsing in HTMLParser according to the …
miss-islington Jul 4, 2025
f2f3edb
[3.14] gh-135773: have pyvenv.cfg without home key anchor a venv and …
miss-islington Jul 4, 2025
1a2898a
[3.14] Docs: Move "or" outside monospace syntax in `tarfile.rst` (GH-…
miss-islington Jul 4, 2025
6d21cc5
[3.14] gh-136288: Fix error message in `_testcapi/vectorcall.c` (GH-1…
miss-islington Jul 4, 2025
c62c523
[3.14] gh-136297: Test all `pickle` protocols in `test_zoneinfo_prope…
miss-islington Jul 5, 2025
53584d3
[3.14] gh-101100: Fix references in `http.cookiejar` docs (GH-136238)…
miss-islington Jul 5, 2025
2b2cf81
[3.14] gh-136315: Fix skipped multithreading test in test_zstd (GH-13…
miss-islington Jul 5, 2025
d86ca7b
[3.14] gh-136285: Improve `pickle` protocol testing in `test_interpre…
miss-islington Jul 6, 2025
3ea7276
[3.14] gh-129824: fix data races in subinterpreters under TSAN (GH-13…
miss-islington Jul 6, 2025
5b65df7
[3.14] gh-109700: fix memory error handling in `PyDict_SetDefault` (G…
miss-islington Jul 6, 2025
bd97cb8
[3.14] gh-109070: Document that get_context in multiprocessing have s…
miss-islington Jul 6, 2025
3d01565
[3.14] gh-136316: Make typing.evaluate_forward_ref better at evaluati…
JelleZijlstra Jul 7, 2025
22fad16
[3.14] gh-109700: fix interpreter finalization while handling memory …
miss-islington Jul 7, 2025
aa1800b
[3.14] gh-127502: Remove XML vulnerability table (GH-135294) (#136359)
miss-islington Jul 7, 2025
8f06a9c
[3.14] gh-94503: Update logging cookbook with an example of uniformly…
miss-islington Jul 7, 2025
46a7981
[3.14] GH-135106: Restrict trashcan to GC'ed objects (GH-135682) (#13…
miss-islington Jul 7, 2025
41d1683
[3.14] GH-133932: Tagged ints are heap safe (GH-134244) (#134494)
miss-islington Jul 7, 2025
57d6db5
[3.14] gh-136289: Fix test_sqlite3 on platforms with strict UTF-8 fil…
miss-islington Jul 7, 2025
b2a2f03
[3.14] gh-130662: Accept leading zeros in precision/width for Fractio…
miss-islington Jul 7, 2025
f87578f
[3.14] gh-130662: Accept leading zeros in precision/width for Decimal…
miss-islington Jul 7, 2025
f02be2d
[3.14] gh-101100: Fix sphinx warnings in `whatsnew/3.9` (GH-136163) (…
miss-islington Jul 7, 2025
5df4f35
[3.14] gh-135755: Document __future__.* and CO_* as proper Sphinx obj…
miss-islington Jul 7, 2025
236498c
[3.14] gh-131591: Document Py_REMOTE_DEBUG (GH-135929) (GH-136374)
miss-islington Jul 7, 2025
a7dd48a
[3.14] gh-86682: Add versionadded for sys._getframemodulename (GH-136…
miss-islington Jul 7, 2025
d9c36a7
[3.14] gh-124486: Fix test_whichdb_ndbm in test_dbm on NetBSD (GH-136…
miss-islington Jul 7, 2025
442b781
[3.14] gh-87790: support thousands separators for formatting fraction…
miss-islington Jul 7, 2025
e255313
[3.14] gh-87790: support thousands separators for formatting fraction…
miss-islington Jul 7, 2025
5a7d266
[3.14] gh-101100: Fix Sphinx warnings in library/email.compat32-messa…
miss-islington Jul 7, 2025
c726990
[3.14] gh-135906: Use `_PyObject_CAST` in internal headers (GH-135892…
miss-islington Jul 7, 2025
e1e9d95
[3.14] gh-136032: Fix `argparse.BooleanOptionalAction` doc (GH-136133…
miss-islington Jul 8, 2025
78e5d10
[3.14] gh-135913: Document ob_refcnt, ob_type, ob_size (GH-135914) (G…
miss-islington Jul 8, 2025
cdeaa64
[3.14] gh-102567: Add missing newline to `--help-all` (GH-136391) (GH…
miss-islington Jul 8, 2025
2733b29
[3.14] gh-101100: Fix sphinx warnings in `whatsnew/3.11.rst` (GH-1364…
miss-islington Jul 8, 2025
3296d9b
[3.14] gh-136155: Docs: only add custom OpenGraph protocol meta tags …
miss-islington Jul 8, 2025
145c086
[3.14] gh-136297: Fix `hypothesis` and `subTest` usage in `test_zonei…
miss-islington Jul 8, 2025
376e037
[3.14] gh-120713: Make _Py_NORMALIZE_CENTURY private (GH-135933) (#13…
miss-islington Jul 8, 2025
7ec1fab
Python 3.14.0b4
hugovk Jul 8, 2025
f0e6034
[3.14] gh-101100: Fix sphinx warnings in `Doc/library/exceptions.rst`…
miss-islington Jul 8, 2025
78c1227
[3.14] gh-136186: Fix race condition in test_external_inspection.test…
miss-islington Jul 8, 2025
7235861
Post 3.14.0b4
hugovk Jul 8, 2025
0a15ae7
Merge branch '3.14' of https://github.com/python/cpython into 3.14
hugovk Jul 8, 2025
f937b9f
[3.14] gh-136380: Fix import behavior for `concurrent.futures.Interpr…
miss-islington Jul 8, 2025
66f85f4
[3.14] Update bytecode magic number in tests for the 3.14 release can…
miss-islington Jul 8, 2025
6a2a290
[3.14] GH-133136: Revise QSBR to reduce excess memory held (gh-135473…
miss-islington Jul 8, 2025
9a79c51
[3.14] gh-91048: Revert the memory cache removal for remote debugging…
miss-islington Jul 9, 2025
e0b9f07
[3.14] gh-136229: Remove Platform Emscripten is not supported warning…
miss-islington Jul 9, 2025
2cb5792
[3.14] gh-94503: Update logging cookbook example with info on address…
miss-islington Jul 9, 2025
85df16b
[3.14] gh-53243: Document `codecs.readbuffer_encode()` (GH-136284) (#…
miss-islington Jul 9, 2025
a9d2f08
[3.14] gh-136162: Document `encodings` package functions (GH-136164) …
miss-islington Jul 9, 2025
c29fce0
[3.14] gh-134657: Remove newly added private names from asyncio.__all…
miss-islington Jul 9, 2025
19518a4
[3.14] gh-136447: Use `self.loop` instead of global `loop` variable i…
miss-islington Jul 9, 2025
90717c2
[3.14] Docs: unittest.enterModuleContext is not a classmethod (GH-136…
miss-islington Jul 9, 2025
75640d4
[3.14] gh-131825: Fix `sqlite3` timezone-naive adapter recipe (GH-136…
miss-islington Jul 9, 2025
7835940
[3.14] gh-81520: Document unexpected `os.path.ismount` behaviour with…
miss-islington Jul 9, 2025
4db5675
[3.14] gh-136145: Define 'standard library' and 'stdlib' in the gloss…
miss-islington Jul 9, 2025
b733bf7
[3.14] gh-102740: Clarify time.monotonic() "system-wide" in the doc (…
miss-islington Jul 9, 2025
4d025a2
[3.14] gh-136476: Show the full stack in get_async_stack_trace in _re…
miss-islington Jul 9, 2025
7937f16
[3.14] gh-135846: Add zstd dependency to Android build script (GH-136…
miss-islington Jul 10, 2025
7880421
[3.14] gh-136476: Remove creation of unused list (GH-136494) (GH-136495)
miss-islington Jul 10, 2025
2de82bc
[3.14] gh-136438: Make sure `test_builtins` pass with all optimizatio…
miss-islington Jul 10, 2025
1346049
[3.14] gh-136209: Add .. c:var:: declarations for C exception types (…
miss-islington Jul 10, 2025
da8bcfd
[3.14] gh-136394: Fix race condition in test_zstd (GH-136432) (GH-136…
miss-islington Jul 10, 2025
95baa28
[3.14] gh-132661: Add default value (of `""`) for `Interpolation.expr…
miss-islington Jul 10, 2025
326fe0d
[3.14] gh-82663: Clarify `codecs.iterdecode/encode` docs (GH-136497) …
miss-islington Jul 10, 2025
183b020
[3.14] gh-52876: Implement missing parameter in `codecs.StreamReaderW…
miss-islington Jul 10, 2025
ec15251
[3.14] gh-101100: Fix sphinx warnings in `library/email.parser.rst` (…
miss-islington Jul 11, 2025
fdad319
[3.14] gh-76637: Note that `undefined` Codec is for testing (GH-13653…
miss-islington Jul 11, 2025
a464c4e
[3.14] gh-136434: Fix docs generation of `UnboundItem` in subinterpre…
miss-islington Jul 11, 2025
5535482
[3.14] gh-136541: Fix several problems of perf trampolines in x86_64 …
miss-islington Jul 11, 2025
e03db73
[3.14] gh-136517: Print uncollectable objects if DEBUG_UNCOLLECTABLE …
miss-islington Jul 11, 2025
3b28b40
[3.14] gh-130478: fix HACL* build for macOS Silicon (GH-134188) (#135…
miss-islington Jul 11, 2025
e4e86a1
[3.14] gh-130160: use `.. program::` directive for documenting `venv`…
miss-islington Jul 11, 2025
ac807cb
[3.14] gh-101100: Fix sphinx warnings in Doc/library/functools.rst (G…
miss-islington Jul 11, 2025
33f561d
[3.14] gh-89083: Add CLI tests for `UUIDv{6,7,8}` (GH-136548) (#136576)
miss-islington Jul 12, 2025
c71ecd1
[3.14] gh-134759: fix `UnboundLocalError` in `email.message.Message.g…
miss-islington Jul 12, 2025
d5866a8
[3.14] gh-91153: prevent a crash in `bytearray.__setitem__(ind, ...)`…
miss-islington Jul 12, 2025
64df22c
[3.14] gh-136549: Fix signature of threading.excepthook() (GH-136559)…
miss-islington Jul 12, 2025
d351f29
[3.14] gh-101100: Fix sphinx warnings in Doc/library/platform.rst (GH…
miss-islington Jul 12, 2025
f50cd5b
[3.14] gh-134939: Correct `concurrent.interpreters` source code link …
miss-islington Jul 13, 2025
a1ed132
[3.14] Docs: Fix and improve the `PyUnstable_Object_EnableDeferredRef…
miss-islington Jul 13, 2025
e1dc08b
[3.14] gh-134833: improve docs for `del s[i:j]` in `Mutable Sequence …
miss-islington Jul 13, 2025
9ee72ab
[3.14] gh-132346: Docs: Clarify that reference counts aren't stable b…
miss-islington Jul 13, 2025
ed1e0cd
[3.14] gh-42237: Link to complete list of codec aliases (GH-136625) (…
miss-islington Jul 13, 2025
348e22c
[3.14] gh-127971: fix off-by-one read beyond the end of a string duri…
miss-islington Jul 13, 2025
ba070b6
[3.14] gh-135256: Simplify parsing parameters in Argument Clinic (GH-…
miss-islington Jul 13, 2025
2618180
[3.14] gh-127146: Emscripten: Fix test_open_undecodable_uri by settin…
miss-islington Jul 14, 2025
bbbbb2e
[3.14] Partially revert "gh-101100: Fix sphinx warnings in `library/e…
miss-islington Jul 14, 2025
55eaaab
[3.14] gh-116738: Make grp module thread-safe (GH-135434) (#136658)
miss-islington Jul 15, 2025
088d79e
[3.14] gh-136663: fix signatures of PyFloat_Pack/Unpack in docs (GH-1…
miss-islington Jul 15, 2025
1154773
[3.14] gh-131189: Fix "msvcrt" import warning on Linux when "_ctypes"…
miss-islington Jul 15, 2025
2ae0eb1
[3.14] GH-132661: Add ``string.templatelib.convert()`` (GH-135217) (#…
miss-islington Jul 15, 2025
45b72c4
[3.14] gh-72570: mention the incompatibility of XOFs with HMAC (GH-13…
miss-islington Jul 15, 2025
c939963
[3.14] gh-136682: Remove incorrect statement that `os.path.samestat` …
miss-islington Jul 15, 2025
9ae74e9
[3.14] gh-136396: Include instrumentation when creating new copies of…
miss-islington Jul 15, 2025
3239742
[3.14] Fix index entry and anchor for module.__test__ (GH-136674) (GH…
miss-islington Jul 15, 2025
d888f46
[3.14] Fix the doctest.testmod() docstring (GH-136675) (GH-136690)
miss-islington Jul 15, 2025
cdf98c3
[3.14] gh-127146: Report uid in Emscripten + node as native uid (GH-1…
miss-islington Jul 16, 2025
677b0e3
[3.14] gh-136523: Fix wave.Wave_write emitting an unraisable when ope…
miss-islington Jul 16, 2025
9ab29ca
[3.14] Add `.gram` file to the `.editorconfig` (GH-136680) (#136714)
miss-islington Jul 16, 2025
ca6db4f
[3.14] gh-127146: Emscripten: more regular stack overflow skips (GH-1…
miss-islington Jul 16, 2025
4eee754
[3.14] gh-127146: Emscripten: Make os.umask() actually work (GH-13670…
miss-islington Jul 16, 2025
9b7c418
[3.14] gh-127146: Emscripten: Don't need to avoid unpaired surrogate …
miss-islington Jul 16, 2025
6943d8e
[3.14] gh-126548: Add a thread-unsafety warning for `importlib.reload…
miss-islington Jul 16, 2025
5f1d46f
[3.14] gh-136710: Fix bad indentation in `os.chdir` docstring (GH-136…
zware Jul 16, 2025
9bf3464
[3.14] gh-135148: Correctly handle f/t strings with comments and debu…
miss-islington Jul 16, 2025
2ce2071
[3.14] Improved venv docs to indicate that isolation is the default. …
miss-islington Jul 17, 2025
76d4a43
[3.14] gh-127146: Emscripten: Set umask to zero in python.sh (GH-1367…
miss-islington Jul 17, 2025
2ea3b75
[3.14] gh-136697: Use the standard audit event format for sys.monitor…
miss-islington Jul 17, 2025
201c765
[3.14] Fix typo: "occured" =>"occurred" (GH-134928) (#136771)
miss-islington Jul 19, 2025
81aab6d
[3.14] parser_generator.py typo - keywods -> keywords (GH-135014) (#1…
miss-islington Jul 19, 2025
aeeacdb
[3.14] Docs: Improve example for ``itertools.batched()`` (GH-136775) …
miss-islington Jul 19, 2025
ba6ea7c
[3.14] gh-74598: document that `fnmatch.filterfalse` is affected by c…
miss-islington Jul 19, 2025
a91e2bc
[3.14] Fix typo in `Lib/test/test_ast/test_ast.py` (GH-136767) (#136783)
miss-islington Jul 19, 2025
8b4275c
[3.14] gh-136769: Include fixed-width integers in the fundamental dat…
miss-islington Jul 19, 2025
03457ca
[3.14] gh-135730: Clarify multiprocessing.Queue close() documentation…
miss-islington Jul 19, 2025
2a9aeb0
[3.14] gh-136801: Fix PyREPL syntax highlightning on match cases afte…
miss-islington Jul 19, 2025
8d063f3
[3.14] gh-54732: Make argparse error caused by empty rows in option f…
miss-islington Jul 19, 2025
f8af7cb
[3.14] gh-136752: Clarify documentation for ``IPv{N}Address.is_reserv…
miss-islington Jul 19, 2025
4606b40
[3.14] gh-136839: Refactor simple dict.update calls (GH-136811) (#136…
miss-islington Jul 19, 2025
197f3ec
[3.14] gh-136764: improve comment in enum.verify.__call__ (GH-136774)…
miss-islington Jul 19, 2025
cce38ee
[3.14] Doc/c-api/memory.rst: extend --without-pymalloc doc with ASan …
miss-islington Jul 20, 2025
2cb3b53
[3.14] gh-108362: Retarget incremental GC changes to 3.14 (GH-125453)…
miss-islington Jul 20, 2025
0e90926
[3.14] gh-136438: Make sure `test_remote_pdb` pass with all optimizat…
olp-cs Jul 20, 2025
ee37365
[3.14] gh-136854: Exit on error in `make venv` (GH-136856) (#136860)
miss-islington Jul 20, 2025
c537b98
[3.14] gh-130655: gettext: Add fallback testcase (GH-136857) (#136862)
miss-islington Jul 20, 2025
2caae15
[3.14] gh-86608: Improve and restructure tarfile examples (GH-121771)…
miss-islington Jul 20, 2025
2f7684c
[3.14] GH-111758: Merge TSan and UBSan reusable GHA workflows (GH-136…
miss-islington Jul 20, 2025
17c5959
[3.14] GH-130645: Default to color help in argparse (GH-136809) (#136…
miss-islington Jul 20, 2025
9663f93
[3.14] gh-136470: Correct InterpreterPoolExecutor's default thread na…
miss-islington Jul 21, 2025
d0623cb
[3.14] gh-136428: amend UUIDv8 performance improvements (GH-136903) (…
miss-islington Jul 21, 2025
163f532
[3.14] gh-136882: Update stale link in the basic logging tutorial. (G…
miss-islington Jul 21, 2025
a69472e
[3.14] gh-134411: assert `PyLong_FromLong(x) != NULL` when `x` is kno…
miss-islington Jul 21, 2025
4f6f3ee
[3.14] gh-136852: Emscripten: Add PYTHON_NODE_VERSION environment var…
miss-islington Jul 21, 2025
031645a
[3.14] gh-135621: Remove dependency on curses from PyREPL (GH-136758)…
miss-islington Jul 21, 2025
0d87bb6
[3.14] gh-121028: Soft-deprecate sys.api_version (GH-136463) (GH-136928)
miss-islington Jul 21, 2025
af8d1f5
[3.14] gh-132661: Disallow `Template`/`str` concatenation after PEP 7…
lysnikolaou Jul 21, 2025
11378e1
[3.14] gh-135621: Simplify TermInfo (GH-136916) (#136925)
miss-islington Jul 21, 2025
f86a595
[3.14] Pedantic rewording of why relative importing doesn't work in m…
miss-islington Jul 21, 2025
aa17c39
[3.14] gh-136437: Document some `os.path` functions as requiring pos-…
miss-islington Jul 21, 2025
81edfb7
[3.14] GH-136874: `url2pathname()`: discard query and fragment compon…
miss-islington Jul 21, 2025
fa9a369
[3.14] gh-136437: Document `os.path.dirname` as accepting only pos-on…
miss-islington Jul 21, 2025
893707c
[3.14] gh-135661: Fix parsing attributes with whitespaces around the …
serhiy-storchaka Jul 21, 2025
718fc5b
[3.14] gh-136870: fix data race in `PyThreadState_Clear` on `sys_trac…
miss-islington Jul 21, 2025
ecd97ca
[3.14] gh-136421: Load `_datetime` static types during interpreter in…
miss-islington Jul 21, 2025
4af1b72
[3.14] gh-133600: Move config.site-wasm32-emscripten into the emscrip…
miss-islington Jul 22, 2025
caef946
[3.14] gh-136170: Revert adding `ZipFile.data_offset` (GH-136950) (#1…
miss-islington Jul 22, 2025
6e1b31b
[3.14] gh-135228: When @dataclass(slots=True) replaces a dataclass, m…
miss-islington Jul 22, 2025
efa984b
[3.14] gh-131531: Android test fixes (GH-136845) (#136962)
miss-islington Jul 22, 2025
72b6794
[3.14] Fix 3 typos in "Next" News items (GH-136892) (#136967)
hugovk Jul 22, 2025
d5d3ada
[3.14] gh-135468: Improve ``BaseHandler.http_error_default()`` parame…
miss-islington Jul 22, 2025
ddd3413
[3.14] gh-136859: Improve `StrEnum` docs (GH-136864) (#136936)
miss-islington Jul 22, 2025
11f5101
[3.14] gh-133296: Publicly expose critical section API that accepts P…
miss-islington Jul 22, 2025
8e43b13
[3.14] gh-134009: Expose `PyMutex_IsLocked` in the public C API (gh-1…
hugovk Jul 22, 2025
d118bc0
[3.14] gh-124621: Emscripten: Add support for async input devices (GH…
miss-islington Jul 22, 2025
c59a60b
[3.14] gh-132661: Document t-strings and `templatelib` (GH-135229) (#…
miss-islington Jul 22, 2025
4f1f648
[3.14] gh-136251: Improvements to WASM demo REPL (GH-136252) (GH-136977)
miss-islington Jul 22, 2025
daa2fd7
[3.14] gh-118350: Fix support of elements "textarea" and "title" in H…
miss-islington Jul 22, 2025
8e3c3b5
[3.14] gh-133742: Fix test_sysconfig and test_build_details for reloc…
miss-islington Jul 22, 2025
591019e
[3.14] gh-124621: Emscripten: Support pyrepl in browser (GH-136931) (…
ambv Jul 22, 2025
c328d14
[3.14] Fix code example in `annotationlib` documentation (GH-136972) …
miss-islington Jul 22, 2025
805daa2
[3.14] Revert "gh-112068: C API: Add support of nullable arguments in…
serhiy-storchaka Jul 22, 2025
715c658
[3.14] Fix tables in 'Using on Windows' for the text writer (GH-13701…
miss-islington Jul 22, 2025
70990ed
[3.14] Revert "[3.14] gh-135228: When @dataclass(slots=True) replaces…
JelleZijlstra Jul 22, 2025
48f8831
Python 3.14.0rc1
hugovk Jul 22, 2025
bb657b2
Fix outdated wording (#137232)
Hello-world150 Jul 31, 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
  •  
  •  
  •  
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
18 changes: 16 additions & 2 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -281,9 +281,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 +302,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_build.py @brettcannon
/Tools/wasm/emscripten @freakboy3742
/Tools/wasm/wasi @brettcannon

# SBOM
/Misc/externals.spdx.json @sethmlarson
Expand Down Expand Up @@ -326,3 +335,8 @@ 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
77 changes: 69 additions & 8 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 @@ -43,6 +49,53 @@ jobs:
if: fromJSON(needs.build-context.outputs.run-docs)
uses: ./.github/workflows/reusable-docs.yml

check-abi:
name: 'Check if the ABI has changed'
runs-on: ubuntu-22.04 # 24.04 causes spurious errors
needs: build-context
if: needs.build-context.outputs.run-tests == 'true'
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
- uses: actions/setup-python@v5
with:
python-version: '3.x'
- name: Install dependencies
run: |
sudo ./.github/workflows/posix-deps-apt.sh
sudo apt-get install -yq abigail-tools
- name: Build CPython
env:
CFLAGS: -g3 -O0
run: |
# Build Python with the libpython dynamic library
./configure --enable-shared
make -j4
- name: Check for changes in the ABI
id: check
run: |
if ! make check-abidump; then
echo "Generated ABI file is not up to date."
echo "Please add the release manager of this branch as a reviewer of this PR."
echo ""
echo "The up to date ABI file should be attached to this build as an artifact."
echo ""
echo "To learn more about this check: https://devguide.python.org/getting-started/setup-building/index.html#regenerate-the-abi-dump"
echo ""
exit 1
fi
- name: Generate updated ABI files
if: ${{ failure() && steps.check.conclusion == 'failure' }}
run: |
make regen-abidump
- uses: actions/upload-artifact@v4
name: Publish updated ABI files
if: ${{ failure() && steps.check.conclusion == 'failure' }}
with:
name: abi-data
path: ./Doc/data/*.abi

check-autoconf-regen:
name: 'Check if Autoconf files are up to date'
# Don't use ubuntu-latest but a specific version to make the job
Expand Down Expand Up @@ -504,20 +557,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 @@ -618,7 +679,7 @@ jobs:
- build-wasi
- test-hypothesis
- build-asan
- build-tsan
- build-san
- cross-build-linux
- cifuzz
if: always()
Expand Down Expand Up @@ -651,7 +712,7 @@ jobs:
build-wasi,
test-hypothesis,
build-asan,
build-tsan,
build-san,
cross-build-linux,
'
|| ''
Expand Down
6 changes: 6 additions & 0 deletions .github/workflows/mypy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,13 @@ 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/**"
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/posix-deps-apt.sh
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ apt-get -yq install \
libreadline6-dev \
libsqlite3-dev \
libssl-dev \
libzstd-dev \
lzma \
lzma-dev \
strace \
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/reusable-context.yml
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,7 @@ jobs:
run: python Tools/build/compute-changes.py
env:
GITHUB_DEFAULT_BRANCH: ${{ github.event.repository.default_branch }}
GITHUB_EVENT_NAME: ${{ github.event_name }}
CCF_TARGET_REF: ${{ github.base_ref || github.event.repository.default_branch }}
CCF_HEAD_REF: ${{ github.event.pull_request.head.sha || github.sha }}

Expand Down
124 changes: 124 additions & 0 deletions .github/workflows/reusable-san.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,124 @@
name: Reusable Sanitizer

on:
workflow_call:
inputs:
sanitizer:
required: true
type: string
config_hash:
required: true
type: string
free-threading:
description: Whether to use free-threaded mode
required: false
type: boolean
default: false

env:
FORCE_COLOR: 1

jobs:
build-san-reusable:
name: >-
${{ inputs.sanitizer }}${{
inputs.free-threading
&& ' (free-threading)'
|| ''
}}
runs-on: ubuntu-24.04
timeout-minutes: 60
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
- name: Runner image version
run: echo "IMAGE_OS_VERSION=${ImageOS}-${ImageVersion}" >> "$GITHUB_ENV"
- name: Restore config.cache
uses: actions/cache@v4
with:
path: config.cache
key: ${{ github.job }}-${{ env.IMAGE_OS_VERSION }}-${{ inputs.sanitizer }}-${{ inputs.config_hash }}
- name: Install dependencies
run: |
sudo ./.github/workflows/posix-deps-apt.sh
# Install clang
wget https://apt.llvm.org/llvm.sh
chmod +x llvm.sh

if [ "${SANITIZER}" = "TSan" ]; then
sudo ./llvm.sh 17 # gh-121946: llvm-18 package is temporarily broken
sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-17 100
sudo update-alternatives --set clang /usr/bin/clang-17
sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-17 100
sudo update-alternatives --set clang++ /usr/bin/clang++-17
# Reduce ASLR to avoid TSan crashing
sudo sysctl -w vm.mmap_rnd_bits=28
else
sudo ./llvm.sh 20
fi

- name: Sanitizer option setup
run: |
if [ "${SANITIZER}" = "TSan" ]; then
echo "TSAN_OPTIONS=${SAN_LOG_OPTION} suppressions=${GITHUB_WORKSPACE}/Tools/tsan/suppressions${{
fromJSON(inputs.free-threading)
&& '_free_threading'
|| ''
}}.txt handle_segv=0" >> "$GITHUB_ENV"
else
echo "UBSAN_OPTIONS=${SAN_LOG_OPTION}" >> "$GITHUB_ENV"
fi
echo "CC=clang" >> "$GITHUB_ENV"
echo "CXX=clang++" >> "$GITHUB_ENV"
env:
SANITIZER: ${{ inputs.sanitizer }}
SAN_LOG_OPTION: log_path=${{ github.workspace }}/san_log
- name: Add ccache to PATH
run: |
echo "PATH=/usr/lib/ccache:$PATH" >> "$GITHUB_ENV"
- name: Configure ccache action
uses: hendrikmuhs/[email protected]
with:
save: ${{ github.event_name == 'push' }}
max-size: "200M"
- name: Configure CPython
run: >-
./configure
--config-cache
${{
inputs.sanitizer == 'TSan'
&& '--with-thread-sanitizer'
|| '--with-undefined-behavior-sanitizer'
}}
--with-pydebug
${{ fromJSON(inputs.free-threading) && '--disable-gil' || '' }}
- name: Build CPython
run: make -j4
- name: Display build info
run: make pythoninfo
- name: Tests
run: >-
./python -m test
${{ inputs.sanitizer == 'TSan' && '--tsan' || '' }}
-j4
- name: Parallel tests
if: >-
inputs.sanitizer == 'TSan'
&& fromJSON(inputs.free-threading)
run: ./python -m test --tsan-parallel --parallel-threads=4 -j4
- name: Display logs
if: always()
run: find "${GITHUB_WORKSPACE}" -name 'san_log.*' | xargs head -n 1000
- name: Archive logs
if: always()
uses: actions/upload-artifact@v4
with:
name: >-
${{ inputs.sanitizer }}-logs-${{
fromJSON(inputs.free-threading)
&& 'free-threading'
|| 'default'
}}
path: san_log.*
if-no-files-found: ignore
Loading
Loading