Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
277 commits
Select commit Hold shift + click to select a range
e78988e
[3.14] gh-76637: Note that `undefined` Codec is for testing (GH-13653…
miss-islington Jul 11, 2025
24ef216
[3.14] gh-136434: Fix docs generation of `UnboundItem` in subinterpre…
miss-islington Jul 11, 2025
d4c5170
[3.14] gh-136541: Fix several problems of perf trampolines in x86_64 …
miss-islington Jul 11, 2025
9796f1d
[3.14] gh-136517: Print uncollectable objects if DEBUG_UNCOLLECTABLE …
miss-islington Jul 11, 2025
4929211
[3.14] gh-130478: fix HACL* build for macOS Silicon (GH-134188) (#135…
miss-islington Jul 11, 2025
27f70d8
[3.14] gh-130160: use `.. program::` directive for documenting `venv`…
miss-islington Jul 11, 2025
7a8bdde
[3.14] gh-101100: Fix sphinx warnings in Doc/library/functools.rst (G…
miss-islington Jul 11, 2025
c18f977
[3.14] gh-89083: Add CLI tests for `UUIDv{6,7,8}` (GH-136548) (#136576)
miss-islington Jul 12, 2025
84422cd
[3.14] gh-134759: fix `UnboundLocalError` in `email.message.Message.g…
miss-islington Jul 12, 2025
4278eb4
[3.14] gh-91153: prevent a crash in `bytearray.__setitem__(ind, ...)`…
miss-islington Jul 12, 2025
968eec1
[3.14] gh-136549: Fix signature of threading.excepthook() (GH-136559)…
miss-islington Jul 12, 2025
12b072c
[3.14] gh-101100: Fix sphinx warnings in Doc/library/platform.rst (GH…
miss-islington Jul 12, 2025
3361a68
[3.14] gh-134939: Correct `concurrent.interpreters` source code link …
miss-islington Jul 13, 2025
bfdbcf5
[3.14] Docs: Fix and improve the `PyUnstable_Object_EnableDeferredRef…
miss-islington Jul 13, 2025
6713291
[3.14] gh-134833: improve docs for `del s[i:j]` in `Mutable Sequence …
miss-islington Jul 13, 2025
d8a2230
[3.14] gh-132346: Docs: Clarify that reference counts aren't stable b…
miss-islington Jul 13, 2025
11a7754
[3.14] gh-42237: Link to complete list of codec aliases (GH-136625) (…
miss-islington Jul 13, 2025
770e422
[3.14] gh-127971: fix off-by-one read beyond the end of a string duri…
miss-islington Jul 13, 2025
e1e9295
[3.14] gh-135256: Simplify parsing parameters in Argument Clinic (GH-…
miss-islington Jul 13, 2025
cbf6ad2
[3.14] gh-127146: Emscripten: Fix test_open_undecodable_uri by settin…
miss-islington Jul 14, 2025
423971e
[3.14] Partially revert "gh-101100: Fix sphinx warnings in `library/e…
miss-islington Jul 14, 2025
de7e2f7
[3.14] gh-116738: Make grp module thread-safe (GH-135434) (#136658)
miss-islington Jul 15, 2025
781a83a
[3.14] gh-136663: fix signatures of PyFloat_Pack/Unpack in docs (GH-1…
miss-islington Jul 15, 2025
bf2e1f0
[3.14] gh-131189: Fix "msvcrt" import warning on Linux when "_ctypes"…
miss-islington Jul 15, 2025
dfaf183
[3.14] GH-132661: Add ``string.templatelib.convert()`` (GH-135217) (#…
miss-islington Jul 15, 2025
a31ccb8
[3.14] gh-72570: mention the incompatibility of XOFs with HMAC (GH-13…
miss-islington Jul 15, 2025
64af15f
[3.14] gh-136682: Remove incorrect statement that `os.path.samestat` …
miss-islington Jul 15, 2025
8725ff9
[3.14] gh-136396: Include instrumentation when creating new copies of…
miss-islington Jul 15, 2025
4c6125c
[3.14] Fix index entry and anchor for module.__test__ (GH-136674) (GH…
miss-islington Jul 15, 2025
1b4da15
[3.14] Fix the doctest.testmod() docstring (GH-136675) (GH-136690)
miss-islington Jul 15, 2025
f8d3289
[3.14] gh-127146: Report uid in Emscripten + node as native uid (GH-1…
miss-islington Jul 16, 2025
5dffb9a
[3.14] gh-136523: Fix wave.Wave_write emitting an unraisable when ope…
miss-islington Jul 16, 2025
d418120
[3.14] Add `.gram` file to the `.editorconfig` (GH-136680) (#136714)
miss-islington Jul 16, 2025
ec4a40d
[3.14] gh-127146: Emscripten: more regular stack overflow skips (GH-1…
miss-islington Jul 16, 2025
e252b43
[3.14] gh-127146: Emscripten: Make os.umask() actually work (GH-13670…
miss-islington Jul 16, 2025
f6e104e
[3.14] gh-127146: Emscripten: Don't need to avoid unpaired surrogate …
miss-islington Jul 16, 2025
f219573
[3.14] gh-126548: Add a thread-unsafety warning for `importlib.reload…
miss-islington Jul 16, 2025
d7f1e30
[3.14] gh-136710: Fix bad indentation in `os.chdir` docstring (GH-136…
zware Jul 16, 2025
f671b96
[3.14] gh-135148: Correctly handle f/t strings with comments and debu…
miss-islington Jul 16, 2025
1c7f7bd
[3.14] Improved venv docs to indicate that isolation is the default. …
miss-islington Jul 17, 2025
2d179f9
[3.14] gh-127146: Emscripten: Set umask to zero in python.sh (GH-1367…
miss-islington Jul 17, 2025
1eba92a
[3.14] gh-136697: Use the standard audit event format for sys.monitor…
miss-islington Jul 17, 2025
5f9dfd5
[3.14] Fix typo: "occured" =>"occurred" (GH-134928) (#136771)
miss-islington Jul 19, 2025
9d6de59
[3.14] parser_generator.py typo - keywods -> keywords (GH-135014) (#1…
miss-islington Jul 19, 2025
c15ee07
[3.14] Docs: Improve example for ``itertools.batched()`` (GH-136775) …
miss-islington Jul 19, 2025
eef959b
[3.14] gh-74598: document that `fnmatch.filterfalse` is affected by c…
miss-islington Jul 19, 2025
c15e58e
[3.14] Fix typo in `Lib/test/test_ast/test_ast.py` (GH-136767) (#136783)
miss-islington Jul 19, 2025
dc82924
[3.14] gh-136769: Include fixed-width integers in the fundamental dat…
miss-islington Jul 19, 2025
3e53fab
[3.14] gh-135730: Clarify multiprocessing.Queue close() documentation…
miss-islington Jul 19, 2025
9589f33
[3.14] gh-136801: Fix PyREPL syntax highlightning on match cases afte…
miss-islington Jul 19, 2025
d695c73
[3.14] gh-54732: Make argparse error caused by empty rows in option f…
miss-islington Jul 19, 2025
ce51fc3
[3.14] gh-136752: Clarify documentation for ``IPv{N}Address.is_reserv…
miss-islington Jul 19, 2025
027ece1
[3.14] gh-136839: Refactor simple dict.update calls (GH-136811) (#136…
miss-islington Jul 19, 2025
6e606a4
[3.14] gh-136764: improve comment in enum.verify.__call__ (GH-136774)…
miss-islington Jul 19, 2025
07aef75
[3.14] Doc/c-api/memory.rst: extend --without-pymalloc doc with ASan …
miss-islington Jul 20, 2025
6d02aca
[3.14] gh-108362: Retarget incremental GC changes to 3.14 (GH-125453)…
miss-islington Jul 20, 2025
a5658ab
[3.14] gh-136438: Make sure `test_remote_pdb` pass with all optimizat…
olp-cs Jul 20, 2025
acb7541
[3.14] gh-136854: Exit on error in `make venv` (GH-136856) (#136860)
miss-islington Jul 20, 2025
4a59ddf
[3.14] gh-130655: gettext: Add fallback testcase (GH-136857) (#136862)
miss-islington Jul 20, 2025
c44e886
[3.14] gh-86608: Improve and restructure tarfile examples (GH-121771)…
miss-islington Jul 20, 2025
f740369
[3.14] GH-111758: Merge TSan and UBSan reusable GHA workflows (GH-136…
miss-islington Jul 20, 2025
cb8d6b3
[3.14] GH-130645: Default to color help in argparse (GH-136809) (#136…
miss-islington Jul 20, 2025
b2959c8
[3.14] gh-136470: Correct InterpreterPoolExecutor's default thread na…
miss-islington Jul 21, 2025
f1355b8
[3.14] gh-136428: amend UUIDv8 performance improvements (GH-136903) (…
miss-islington Jul 21, 2025
b0fb496
[3.14] gh-136882: Update stale link in the basic logging tutorial. (G…
miss-islington Jul 21, 2025
d5ac00d
[3.14] gh-134411: assert `PyLong_FromLong(x) != NULL` when `x` is kno…
miss-islington Jul 21, 2025
1891096
[3.14] gh-136852: Emscripten: Add PYTHON_NODE_VERSION environment var…
miss-islington Jul 21, 2025
9890dc7
[3.14] gh-135621: Remove dependency on curses from PyREPL (GH-136758)…
miss-islington Jul 21, 2025
d18396d
[3.14] gh-121028: Soft-deprecate sys.api_version (GH-136463) (GH-136928)
miss-islington Jul 21, 2025
73305f0
[3.14] gh-132661: Disallow `Template`/`str` concatenation after PEP 7…
lysnikolaou Jul 21, 2025
13d1d01
[3.14] gh-135621: Simplify TermInfo (GH-136916) (#136925)
miss-islington Jul 21, 2025
065a602
[3.14] Pedantic rewording of why relative importing doesn't work in m…
miss-islington Jul 21, 2025
8295ae9
[3.14] gh-136437: Document some `os.path` functions as requiring pos-…
miss-islington Jul 21, 2025
8d8a752
[3.14] GH-136874: `url2pathname()`: discard query and fragment compon…
miss-islington Jul 21, 2025
31c2bbf
[3.14] gh-136437: Document `os.path.dirname` as accepting only pos-on…
miss-islington Jul 21, 2025
ec509d3
[3.14] gh-135661: Fix parsing attributes with whitespaces around the …
serhiy-storchaka Jul 21, 2025
20f0380
[3.14] gh-136870: fix data race in `PyThreadState_Clear` on `sys_trac…
miss-islington Jul 21, 2025
3c92d6d
[3.14] gh-136421: Load `_datetime` static types during interpreter in…
miss-islington Jul 21, 2025
cefe61e
[3.14] gh-133600: Move config.site-wasm32-emscripten into the emscrip…
miss-islington Jul 22, 2025
6239ef8
[3.14] gh-136170: Revert adding `ZipFile.data_offset` (GH-136950) (#1…
miss-islington Jul 22, 2025
5008e85
[3.14] gh-135228: When @dataclass(slots=True) replaces a dataclass, m…
miss-islington Jul 22, 2025
500f35b
[3.14] gh-131531: Android test fixes (GH-136845) (#136962)
miss-islington Jul 22, 2025
d2455b1
[3.14] Fix 3 typos in "Next" News items (GH-136892) (#136967)
hugovk Jul 22, 2025
01ce957
[3.14] gh-135468: Improve ``BaseHandler.http_error_default()`` parame…
miss-islington Jul 22, 2025
8044437
[3.14] gh-136859: Improve `StrEnum` docs (GH-136864) (#136936)
miss-islington Jul 22, 2025
b24c78c
[3.14] gh-133296: Publicly expose critical section API that accepts P…
miss-islington Jul 22, 2025
bb07e05
[3.14] gh-134009: Expose `PyMutex_IsLocked` in the public C API (gh-1…
hugovk Jul 22, 2025
6b9d5a8
[3.14] gh-124621: Emscripten: Add support for async input devices (GH…
miss-islington Jul 22, 2025
558b331
[3.14] gh-132661: Document t-strings and `templatelib` (GH-135229) (#…
miss-islington Jul 22, 2025
038755d
[3.14] gh-136251: Improvements to WASM demo REPL (GH-136252) (GH-136977)
miss-islington Jul 22, 2025
f86baaf
[3.14] gh-118350: Fix support of elements "textarea" and "title" in H…
miss-islington Jul 22, 2025
c7b2a3d
[3.14] gh-133742: Fix test_sysconfig and test_build_details for reloc…
miss-islington Jul 22, 2025
be4c7c7
[3.14] gh-124621: Emscripten: Support pyrepl in browser (GH-136931) (…
ambv Jul 22, 2025
df3b7fa
[3.14] Fix code example in `annotationlib` documentation (GH-136972) …
miss-islington Jul 22, 2025
19ff613
[3.14] gh-131038: Use text=True in subprocesses in test_perf_profiler…
miss-islington Jul 26, 2025
16395fb
[3.14] Link to plaintext for "show source" links (GH-137131) (#137132)
miss-islington Jul 27, 2025
f0d6efb
[3.14] gh-136870: fix data races in instrumentation of bytecode (GH-1…
miss-islington Jul 28, 2025
7057dcb
[3.14] gh-130577: tarfile now validates archives to ensure member off…
miss-islington Jul 28, 2025
3a989f9
[3.14] GH-137059: `url2pathname()`: fix support for drive letter in n…
miss-islington Jul 28, 2025
0917766
[3.14] gh-132898: Add a note in `multiprocessing.Process` docs about …
miss-islington Jul 28, 2025
acbecb7
[3.14] Add a What's New entry for Emscripten (GH-137035) (#137192)
miss-islington Jul 29, 2025
99282e4
[3.14] gh-124621: Emscripten: Add smoke test for using pyrepl in Chro…
miss-islington Jul 29, 2025
79393cf
[3.14] gh-136976: Emscripten: Add _decimal and libmpdec (GH-136997) (…
miss-islington Jul 29, 2025
995c419
[3.14] GH-116738: document thread-safety of bisect (GH-136555) (#137221)
miss-islington Jul 30, 2025
e207583
[3.14] gh-136992: Add "None" as valid `SameSite` value as per RFC 626…
miss-islington Jul 30, 2025
ca9fb21
[3.14] gh-119180: Refer to `annotationlib.get_annotations()` in `typi…
miss-islington Jul 31, 2025
b9df1c3
[3.14] gh-137314: Fix incorrect treatment of format specs in raw fstr…
miss-islington Aug 3, 2025
6deba5c
[3.14] gh-137341: Remove more word duplications (GH-137342) (#137346)
serhiy-storchaka Aug 3, 2025
c2233bb
[3.14] GH-136155: Use ``sphinxext-opengraph`` v0.11.0 (GH-137348) (#1…
miss-islington Aug 3, 2025
f626b50
[3.14] gh-132983: Fix docstrings in ``ZstdDict`` (GH-137321) (#137343)
miss-islington Aug 3, 2025
dc9fab8
[3.14] gh-137257: Upgrade bundled pip to 25.2 (GH-137258) (#137361)
miss-islington Aug 4, 2025
34032d0
[3.14] Remove Alex Waygood as a codeowner for pre-commit config (GH-1…
miss-islington Aug 4, 2025
187fdf8
[3.14] gh-130522: Fix unraisable TypeError in threading at interprete…
miss-islington Aug 4, 2025
bf69805
[3.14] gh-137194: Fix requires_debug_ranges when _testcpi doesn't exi…
miss-islington Aug 5, 2025
10e1e3c
[3.14] GH-136155: Use ``sphinxext-opengraph`` v0.12.0 (GH-137393) (#1…
miss-islington Aug 5, 2025
c3c0bcb
[3.14] Docs: add dunder and walrus to the glossary (GH-137430) (#137434)
miss-islington Aug 6, 2025
5a9227a
[3.14] gh-137134: Update SQLite to 3.50.4 for binary releases (GH-137…
miss-islington Aug 6, 2025
7c40cb4
[3.14] Doc: remove unused images (GH-137323) (#137324)
miss-islington Aug 6, 2025
301dcde
[3.14] gh-132983: Use ``Py_UNREACHABLE`` in ``_zstd_load_impl()`` (GH…
miss-islington Aug 7, 2025
6323670
[3.14] gh-123299: Backport typo fixes in What's New in Python 3.14 (#…
hugovk Aug 7, 2025
d22d68c
[3.14] [Doc] Remove unnecessary quotes from typing module (GH-137207)…
miss-islington Aug 8, 2025
b61d59c
[3.14] gh-137412: fix `default_builtin_hashes` values in `test_hashli…
miss-islington Aug 8, 2025
15e790e
[3.14] gh-137308: Replace a single docstring with `pass` in `-OO` mod…
miss-islington Aug 8, 2025
73f18fc
[3.14] gh-137282: Fix `TypeError` in tab completion and `dir()` of `c…
miss-islington Aug 8, 2025
b301f72
[3.14] gh-136155: Docs: check for EPUB fatal errors in CI (GH-134074)…
miss-islington Aug 8, 2025
6950221
[3.14] gh-137499: Fixed dead link to NIST website (GH-137500) (#137502)
miss-islington Aug 9, 2025
ede57b0
[3.14] gh-119711: describe `create_datagram_endpoint`'s behavior in a…
miss-islington Aug 10, 2025
3225835
[3.14] gh-131338: Disable computed stack limit checks on non-glibc li…
miss-islington Aug 10, 2025
55f4959
[3.14] Update pre-commit hooks (GH-137591) (#137621)
miss-islington Aug 11, 2025
605bf58
[3.14] gh-137200: support frame lineno setter with `BRANCH_LEFT` and …
miss-islington Aug 11, 2025
f3084ea
[3.14] gh-137288: Fix bug where boolean expressions are not associate…
iritkatriel Aug 12, 2025
49d5ed0
[3.14] gh-137288: Update version in magic number log (GH-137665) (#13…
encukou Aug 12, 2025
1b5d9f2
[3.14] GH-137426: Remove code deprecation of `importlib.abc.ResourceL…
miss-islington Aug 12, 2025
4bd33e9
[3.14] gh-135228: When @dataclass(slots=True) replaces a dataclass, m…
miss-islington Aug 12, 2025
90dc6d8
[3.14] gh-137400: Fix a crash when disabling profiling across all thr…
miss-islington Aug 12, 2025
f08f2bf
[3.14] gh-137242: Add Android CI job (GH-137186) (#137683)
hugovk Aug 13, 2025
3210ebf
[3.14] GH-134291: Support older macOS deployment targets for JIT buil…
ned-deily Aug 13, 2025
39c397c
[3.14] gh-137450: macOS installer shell path management improvements …
miss-islington Aug 13, 2025
8119aa3
[3.14] gh-133403: Check `generate_stdlib_module_names` and `check_ext…
miss-islington Aug 13, 2025
b03e53a
[3.14] gh-133403: Run `mypy` on `Tools/build/mypy.ini` changes (GH-13…
sobolevn Aug 13, 2025
c4a4713
[3.14] gh-137226: Fix behavior of ForwardRef.evaluate with type_param…
miss-islington Aug 13, 2025
a53eaeb
[3.14] gh-132339: Add support for OpenSSL 3.5 (GH-137720) (#137747)
zware Aug 14, 2025
d1e4fd9
[3.14] GH-137573: mark _PyOptimizer_Optimize as no inline (GH-137731)…
miss-islington Aug 14, 2025
e6c5db9
[3.14] gh-137749: Python 3.14 installer is for macOS 10.15 and later …
miss-islington Aug 14, 2025
9a45614
Python 3.14.0rc2
hugovk Aug 14, 2025
df893b9
Post 3.14.0rc2
hugovk Aug 14, 2025
295827c
[3.14] gh-123299: Update What's new in Python 3.14: typos and misplac…
miss-islington Aug 15, 2025
145c3c2
[3.14] gh-136437: Convert more ``os.path`` functions to positional-on…
miss-islington Aug 15, 2025
e3d7a23
[3.14] gh-137183: Document that `array.array` typecode `w` is new in …
miss-islington Aug 15, 2025
4f2f95f
[3.14] gh-137026: Add an explainer guide for asyncio (GH-137215) (#13…
miss-islington Aug 15, 2025
e5cebc8
[3.14] gh-109975: Indicate the minimum version for PyREPL in the tuto…
miss-islington Aug 15, 2025
74909ac
[3.14] GH-123299: Copyedit 3.14 What's New: Optimizations (GH-137789)…
miss-islington Aug 15, 2025
da16145
[3.14] gh-137760: Update REPL constants documentation (gh-137798) (#1…
miss-islington Aug 15, 2025
d32c723
[3.14] GH-123299: Copyedit 3.14 What's New: Removed (GH-137794) (#137…
miss-islington Aug 15, 2025
cf03a4f
[3.14] gh-137078: Fix keyword typo recognition when executed over fil…
miss-islington Aug 15, 2025
948f7e3
[3.14] gh-132661: PEP 750 documentation: second pass (GH-137020) (#13…
miss-islington Aug 16, 2025
defb0c7
[3.14] gh-137777: Disband the 'Program Frameworks' chapter (GH-137796…
miss-islington Aug 16, 2025
52ddd95
[3.14] gh-137846: Add missing 'be' to profile doc. (GH-137856) (#137857)
miss-islington Aug 16, 2025
9cbb731
[3.14] Emend an error in ``string.templatelib`` example output (GH-13…
miss-islington Aug 18, 2025
033c7e8
[3.14] gh-134869: Fix Ctrl+C corrupts REPL autocomplete (GH-134929) …
miss-islington Aug 18, 2025
823546d
[3.14] gh-127859: Fixed documentation for call_later and call_at for …
miss-islington Aug 19, 2025
03095cb
[3.14] gh-137900: Improve dataclasses frozen parameter documentation …
miss-islington Aug 20, 2025
9588d6d
[3.14] gh-137964: Remove the "experimental" designation from the Wind…
miss-islington Aug 20, 2025
b3eaa82
[3.14] gh-137728 gh-137762: Fix bugs in the JIT with many local varia…
miss-islington Aug 21, 2025
5cfc45d
[3.14] gh-137847: Add examples for UUIDv6-8 (GH-137848) (#137901)
miss-islington Aug 21, 2025
f00cbea
[3.14] gh-123299: Fix typos & grammar and copyedit What's New in 3.14…
miss-islington Aug 22, 2025
fcde115
[3.14] gh-138042: Fix homebrew for tail-calling macOS CI (GH-138043) …
miss-islington Aug 22, 2025
5975bb2
[3.14] gh-137384: fix crash when accessing warnings state late in run…
kumaraditya303 Aug 22, 2025
4d5f44f
[3.14] gh-135862: add C contiguous one-dimensional buffer requirement…
miss-islington Aug 23, 2025
05a5e63
[3.14] gh-137973: Add a non-parallel test plan to the iOS testbed pro…
miss-islington Aug 25, 2025
a727ed0
[3.14] gh-137883: Check the recursion limit for specialized keyword a…
ZeroIntensity Aug 25, 2025
ec2094e
[3.14] gh-135261: bring back CI job for testing OpenSSL 1.1.1w (GH-13…
miss-islington Aug 26, 2025
80286d3
[3.14] gh-106318: Add example for `str.find()` (GH-134529) (#138174)
miss-islington Aug 27, 2025
a458d2d
[3.14] GH-132775: Fix argument parsing for ``_interpqueues.put()`` (G…
miss-islington Aug 27, 2025
b9a7c14
[3.14] gh-138148: Fix grammatical error in the `asynchronous generato…
miss-islington Aug 27, 2025
594e6ed
[3.14] gh-138098: Clarify strong references in `PyDict_Next` docs on …
miss-islington Aug 27, 2025
6ef4fed
[3.14] gh-137609: Update signatures of builtins in the documentation …
miss-islington Aug 27, 2025
96afc66
[3.14] gh-138011: Clarify tutorial method object example code (GH-138…
miss-islington Aug 27, 2025
3b3c9a7
[3.14] gh-44538: Mention nested classes/functions in doctest docs (GH…
miss-islington Aug 27, 2025
6377917
[3.14] gh-137526: Fix broken link to drdobbs journal in difflib.rst (…
miss-islington Aug 27, 2025
2d01e81
[3.14] enhance docs for critical sections (GH-137334) (#138167)
miss-islington Aug 27, 2025
8302466
[3.14] gh-137740: Clarify `__del__` invocation mechanism in reference…
miss-islington Aug 27, 2025
7f13b60
[3.14] gh-137576: Fix for Basic REPL showing incorrect code in traceb…
miss-islington Aug 27, 2025
5c6bddc
[3.14] gh-133403: Run `mypy` on `Tools/build/check_warnings.py` (GH-1…
miss-islington Aug 27, 2025
d54dc43
[3.14] gh-126524: Revert "gh-126524: Run `regen-unicodedata` as a par…
miss-islington Aug 28, 2025
c2e8096
[3.14] gh-90483: fix docs of `SubprocessTransport.get_pipe_transport …
miss-islington Aug 29, 2025
71e1162
[3.14] gh-101359: clarify docs for `asyncio.Event.clear` (GH-137849) …
miss-islington Aug 29, 2025
296b6f5
[3.14] gh-123858: Improve Doc: SyntaxWarning is emitted during byteco…
miss-islington Aug 29, 2025
85be570
[3.14] gh-133829: Remove some specifics from the ``zipimport`` exampl…
miss-islington Aug 31, 2025
b8e9bc5
[3.14] gh-138158: Use the `"data"` tarfile extraction filter in `Tool…
miss-islington Aug 31, 2025
f15d5eb
[3.14] gh-138257: Fix internal `RuleCollectorVisitor` attribute name …
miss-islington Aug 31, 2025
192fa90
[3.14] gh-138372: Fix SyntaxWarning for erroneous t-string subscripti…
miss-islington Sep 2, 2025
959fb62
[3.14] Doc: Track file downloads via plausible (GH-138393) (#138396)
miss-islington Sep 2, 2025
ae605a6
[3.14] gh-101100: Resolve reference warnings in library/xml.sax.handl…
miss-islington Sep 3, 2025
a03f9df
[3.14] GH-101100: Resolve reference warnings in whatsnew/3.7.rst (GH-…
miss-islington Sep 3, 2025
5ec32a5
[3.14] GH-123299: Copyedit 3.14 What's New: Move and consolidate Port…
miss-islington Sep 3, 2025
1aa16a7
[3.14] GH-101100: Resolve reference warnings in whatsnew/3.3.rst (GH-…
miss-islington Sep 3, 2025
f91208f
[3.14] GH-101100: Resolve reference warnings in whatsnew/3.8.rst (GH-…
miss-islington Sep 3, 2025
109725f
[3.14] GH-101100: Resolve reference warnings in whatsnew/2.7.rst (GH-…
miss-islington Sep 3, 2025
3c30921
[3.14] GH-101100: Resolve reference warnings in whatsnew/3.4.rst (GH-…
miss-islington Sep 3, 2025
d19f0b0
[3.14] GH-101100: Resolve reference warnings in extending/extending.r…
miss-islington Sep 3, 2025
7bb7906
[3.14] GH-101100: Resolve reference warnings in whatsnew/3.6.rst (GH-…
miss-islington Sep 3, 2025
868d464
[3.14] GH-101100: Resolve reference warnings in whatsnew/3.5.rst (GH-…
miss-islington Sep 3, 2025
a698b08
[3.14] gh-72249: Correct wording of GH-101910 blurb (GH-138468) (#138…
miss-islington Sep 3, 2025
cd1053a
[3.14] GH-101100: Resolve reference warnings in whatsnew/3.10.rst (GH…
miss-islington Sep 4, 2025
3bd04e5
[3.14] gh-138281: Run `ruff` on `Tools/peg_generator` (GH-138282) (#1…
sobolevn Sep 4, 2025
3ecf1d6
[3.14] GH-101100: Resolve reference warnings in using/windows.rst (GH…
miss-islington Sep 4, 2025
353e645
[3.14] gh-136134: smtplib: fix CRAM-MD5 on FIPS-only environments (GH…
picnixz Sep 4, 2025
2e016c1
[3.14] gh-136134: imaplib: fix CRAM-MD5 on FIPS-only environments (GH…
picnixz Sep 4, 2025
b1d14e2
[3.14] gh-107194: Improved language of list.index in tutorial (gh-138…
miss-islington Sep 5, 2025
fbb086d
[3.14] gh-138516: fix typo in OrderedDict exception msg (GH-138517) (…
miss-islington Sep 5, 2025
3e4cdfc
[3.14] docs: add module-level `versionadded` for `annotationlib` (GH-…
miss-islington Sep 5, 2025
4f85e05
[3.14] gh-138515: Include email module in Emscripten build (gh-138520…
miss-islington Sep 5, 2025
fa47a85
[3.14] gh-138286: Run ``ruff`` on ``Tools/i18n`` (GH-138287) (#138513)
miss-islington Sep 5, 2025
28d1c17
[3.14] gh-138192: Fix Context initialization so that all subinterpret…
miss-islington Sep 5, 2025
83f4526
[3.14] GH-123299: Copyedit 3.14 What's New: Build Changes (GH-138488)…
miss-islington Sep 8, 2025
5c62a89
[3.14] Docs: Fix typo in test.support.linked_to_musl function name (G…
miss-islington Sep 8, 2025
e150291
[3.14] Use `test.support.is_wasm32` flag for `is_emscripten` or `is_w…
miss-islington Sep 8, 2025
d3d7020
[3.14] gh-138318, PyREPL: builtins should not be highlighted when use…
miss-islington Sep 8, 2025
5345d1f
[3.14] gh-138659: Typo in the gc module docstring (GH-138660) (#138662)
miss-islington Sep 8, 2025
aed4fb2
[3.14] gh-137397: Skip test_os_open on NetBSD due to indefinite hang …
miss-islington Sep 8, 2025
558324e
[3.14] gh-137668: Document that ord() supports also bytes and bytearr…
miss-islington Sep 8, 2025
d06884a
[3.14] gh-91116: Add hyperlink from `sys.settrace` to frame objects (…
miss-islington Sep 8, 2025
7d20626
[3.14] gh-138295: Fix a grammar issue in the descriptor HOWTO (GH-138…
miss-islington Sep 8, 2025
9a2f38f
[3.14] gh-129033: Remove dead code in test.support.has_no_debug_range…
miss-islington Sep 8, 2025
6815364
[3.14] gh-89905: Correct `-R` option doc (GH-137608) (#138353)
miss-islington Sep 8, 2025
eb84c92
[3.14] gh-138297 Point link in docs for `finally` to try/else, instea…
miss-islington Sep 8, 2025
b27ff3b
[3.14] gh-135661: Fix CDATA section parsing in HTMLParser (GH-135665)…
miss-islington Sep 8, 2025
34f9641
[3.14] gh-138253: Fix compatibility of sub-interpreters queues with q…
miss-islington Sep 8, 2025
a8b0948
[3.14] gh-138665: Move `platform.invalidate_caches` docs (GH-138667) …
miss-islington Sep 8, 2025
10c425c
gh-136234: Fix `SelectorSocketTransport.writelines` to be robust to c…
bmerry Sep 8, 2025
9ff2299
[3.14] Revert "gh-112068: C API: Add support of nullable arguments in…
serhiy-storchaka Jul 22, 2025
b32a257
[3.14] Fix tables in 'Using on Windows' for the text writer (GH-13701…
miss-islington Jul 22, 2025
bba0a52
[3.14] Revert "[3.14] gh-135228: When @dataclass(slots=True) replaces…
JelleZijlstra Jul 22, 2025
8397ea9
Python 3.14.0rc1
hugovk Jul 22, 2025
d2fa8ce
Post 3.14.0rc1
hugovk Jul 22, 2025
72e6ce4
[3.14] gh-135676: Lexical analysis: Reword String literals and relate…
miss-islington Jul 23, 2025
eef506b
[3.14] gh-137043: mention `PyList_GET_ITEM` as unsafe borrowed API in…
miss-islington Jul 23, 2025
d55683c
[3.14] GH-136975: Emend a spelling error (algorthm -> algorithm) (GH-…
miss-islington Jul 23, 2025
29a9bbd
[3.14] Exclude _testclinic_depr.c.h from c-analyzer (GH-137086) (#137…
miss-islington Jul 24, 2025
45a9174
[3.14] gh-132983: Add missing references to Zstandard in shutil docst…
miss-islington Jul 25, 2025
6cedfad
[3.14] gh-137090: Remove redundant statement in ``Doc/library/concurr…
miss-islington Jul 25, 2025
ea7bfc7
[3.14] GH-138465: Improve documentation for common sequence methods (…
miss-islington Sep 6, 2025
718e383
[3.14] gh-138191: Document ``frame.f_generator`` in the data model (G…
miss-islington Sep 6, 2025
ad6a33d
[3.14] gh-116946: fully implement GC protocol for `_curses_panel.pane…
picnixz Sep 6, 2025
aba8ae7
[3.14] gh-90548: Skip NODEV portion of test_makedev when linked to mu…
miss-islington Sep 7, 2025
4e6ec2a
[3.14] gh-90548: Skip ctypes test_null_dlsym when linked to musl (GH-…
miss-islington Sep 7, 2025
3f9a6e9
[3.14] gh-90548: Allow Alpine/MUSL to pass test_c_locale_coercion. (G…
miss-islington Sep 7, 2025
da5f681
[3.14] gh-90548: Fix musl version detection with --strip-all (GH-1378…
miss-islington Sep 7, 2025
c99fdb3
[3.14] gh-138584: Increase test coverage for `collections.UserList` (…
miss-islington Sep 7, 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: 1 addition & 1 deletion .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
.github/** @ezio-melotti @hugovk @AA-Turner

# pre-commit
.pre-commit-config.yaml @hugovk @AlexWaygood
.pre-commit-config.yaml @hugovk
.ruff.toml @hugovk @AlexWaygood @AA-Turner

# Build system
Expand Down
58 changes: 47 additions & 11 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -177,7 +177,7 @@ jobs:
- name: Build CPython
run: |
make -j4 regen-all
make regen-stdlib-module-names regen-sbom regen-unicodedata
make regen-stdlib-module-names regen-sbom
- name: Check for changes
run: |
git add -u
Expand Down Expand Up @@ -225,8 +225,8 @@ jobs:
free-threading: ${{ matrix.free-threading }}

build-windows-msi:
name: >- # ${{ '' } is a hack to nest jobs under the same sidebar category
Windows MSI${{ '' }}
# ${{ '' } is a hack to nest jobs under the same sidebar category.
name: Windows MSI${{ '' }} # zizmor: ignore[obfuscation]
needs: build-context
if: fromJSON(needs.build-context.outputs.run-windows-msi)
strategy:
Expand Down Expand Up @@ -317,7 +317,10 @@ jobs:
fail-fast: false
matrix:
os: [ubuntu-24.04]
openssl_ver: [3.0.16, 3.1.8, 3.2.4, 3.3.3, 3.4.1]
# Keep 1.1.1w in our list despite it being upstream EOL and otherwise
# unsupported as it most resembles other 1.1.1-work-a-like ssl APIs
# supported by important vendors such as AWS-LC.
openssl_ver: [1.1.1w, 3.0.17, 3.2.5, 3.3.4, 3.4.2, 3.5.2]
# See Tools/ssl/make_ssl_data.py for notes on adding a new version
env:
OPENSSL_VER: ${{ matrix.openssl_ver }}
Expand Down Expand Up @@ -369,6 +372,29 @@ jobs:
- name: SSL tests
run: ./python Lib/test/ssltests.py

build-android:
name: Android (${{ matrix.arch }})
needs: build-context
if: needs.build-context.outputs.run-tests == 'true'
timeout-minutes: 60
strategy:
fail-fast: false
matrix:
include:
# Use the same runs-on configuration as build-macos and build-ubuntu.
- arch: aarch64
runs-on: ${{ github.repository_owner == 'python' && 'ghcr.io/cirruslabs/macos-runner:sonoma' || 'macos-14' }}
- arch: x86_64
runs-on: ubuntu-24.04

runs-on: ${{ matrix.runs-on }}
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
- name: Build and test
run: ./Android/android.py ci ${{ matrix.arch }}-linux-android

build-wasi:
name: 'WASI'
needs: build-context
Expand Down Expand Up @@ -557,20 +583,28 @@ jobs:
- name: Tests
run: xvfb-run make ci

build-tsan:
name: >-
Thread sanitizer
${{ fromJSON(matrix.free-threading) && '(free-threading)' || '' }}
build-san:
# ${{ '' } is a hack to nest jobs under the same sidebar category.
name: Sanitizers${{ '' }} # zizmor: ignore[obfuscation]
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 @@ -668,10 +702,11 @@ jobs:
- build-macos
- build-ubuntu
- build-ubuntu-ssltests
- build-android
- build-wasi
- test-hypothesis
- build-asan
- build-tsan
- build-san
- cross-build-linux
- cifuzz
if: always()
Expand Down Expand Up @@ -701,10 +736,11 @@ jobs:
build-macos,
build-ubuntu,
build-ubuntu-ssltests,
build-android,
build-wasi,
test-hypothesis,
build-asan,
build-tsan,
build-san,
cross-build-linux,
'
|| ''
Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/jit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,10 @@ jobs:
find /usr/local/bin -lname '*/Library/Frameworks/Python.framework/*' -delete
brew install llvm@${{ matrix.llvm }}
export SDKROOT="$(xcrun --show-sdk-path)"
# Set MACOSX_DEPLOYMENT_TARGET and -Werror=unguarded-availability to
# make sure we don't break downstream distributors (like uv):
export CFLAGS_JIT='-Werror=unguarded-availability'
export MACOSX_DEPLOYMENT_TARGET=10.15
./configure --enable-experimental-jit --enable-universalsdk --with-universal-archs=universal2 ${{ matrix.debug && '--with-pydebug' || '' }}
make all --jobs 4
./python.exe -m test --multiprocess 0 --timeout 4500 --verbose2 --verbose3
Expand Down
10 changes: 7 additions & 3 deletions .github/workflows/mypy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,17 @@ on:
- "Lib/test/libregrtest/**"
- "Lib/tomllib/**"
- "Misc/mypy/**"
- "Tools/build/check_extension_modules.py"
- "Tools/build/check_warnings.py"
- "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/generate_sbom.py"
- "Tools/build/generate_stdlib_module_names.py"
- "Tools/build/mypy.ini"
- "Tools/build/umarshal.py"
- "Tools/build/update_file.py"
- "Tools/build/verify_ensurepip_wheels.py"
- "Tools/cases_generator/**"
- "Tools/clinic/**"
- "Tools/jit/**"
Expand Down
29 changes: 28 additions & 1 deletion .github/workflows/reusable-docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ jobs:
run: |
set -Eeuo pipefail
# Build docs with the nit-picky option; write warnings to file
make -C Doc/ PYTHON=../python SPHINXOPTS="--quiet --nitpicky --fail-on-warning --warning-file sphinx-warnings.txt" html
make -C Doc/ PYTHON=../python SPHINXOPTS="--quiet --nitpicky --warning-file sphinx-warnings.txt" html
- name: 'Check warnings'
if: github.event_name == 'pull_request'
run: |
Expand Down Expand Up @@ -102,3 +102,30 @@ jobs:
# Use "xvfb-run" since some doctest tests open GUI windows
- name: 'Run documentation doctest'
run: xvfb-run make -C Doc/ PYTHON=../python SPHINXERRORHANDLING="--fail-on-warning" doctest

check-epub:
name: 'Check EPUB'
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
- name: 'Set up Python'
uses: actions/setup-python@v5
with:
python-version: '3'
cache: 'pip'
cache-dependency-path: 'Doc/requirements.txt'
- name: 'Install build dependencies'
run: |
make -C Doc/ venv
python -m pip install epubcheck
- name: 'Build EPUB documentation'
run: make -C Doc/ PYTHON=../python epub
- name: 'Run epubcheck'
continue-on-error: true
run: epubcheck Doc/build/epub/Python.epub &> Doc/epubcheck.txt
- run: cat Doc/epubcheck.txt
- name: 'Check for fatal errors in EPUB'
run: python Doc/tools/check-epub.py
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