Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
936 commits
Select commit Hold shift + click to select a range
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
9f25781
Post 3.14.0rc1
hugovk Jul 22, 2025
4832cea
[3.14] gh-135676: Lexical analysis: Reword String literals and relate…
miss-islington Jul 23, 2025
f2981ac
[3.14] gh-137043: mention `PyList_GET_ITEM` as unsafe borrowed API in…
miss-islington Jul 23, 2025
b7168d2
[3.14] GH-136975: Emend a spelling error (algorthm -> algorithm) (GH-…
miss-islington Jul 23, 2025
d996cb6
[3.14] Exclude _testclinic_depr.c.h from c-analyzer (GH-137086) (#137…
miss-islington Jul 24, 2025
8742298
[3.14] gh-132983: Add missing references to Zstandard in shutil docst…
miss-islington Jul 25, 2025
5746e06
[3.14] gh-137090: Remove redundant statement in ``Doc/library/concurr…
miss-islington Jul 25, 2025
fc911a9
[3.14] gh-131038: Use text=True in subprocesses in test_perf_profiler…
miss-islington Jul 26, 2025
47a2109
[3.14] Link to plaintext for "show source" links (GH-137131) (#137132)
miss-islington Jul 27, 2025
909a534
[3.14] gh-136870: fix data races in instrumentation of bytecode (GH-1…
miss-islington Jul 28, 2025
fbc2a0c
[3.14] gh-130577: tarfile now validates archives to ensure member off…
miss-islington Jul 28, 2025
aeb55eb
[3.14] GH-137059: `url2pathname()`: fix support for drive letter in n…
miss-islington Jul 28, 2025
9da008d
[3.14] gh-132898: Add a note in `multiprocessing.Process` docs about …
miss-islington Jul 28, 2025
40632ad
[3.14] Add a What's New entry for Emscripten (GH-137035) (#137192)
miss-islington Jul 29, 2025
64eb540
[3.14] gh-124621: Emscripten: Add smoke test for using pyrepl in Chro…
miss-islington Jul 29, 2025
38a42fe
[3.14] gh-136976: Emscripten: Add _decimal and libmpdec (GH-136997) (…
miss-islington Jul 29, 2025
f607515
[3.14] GH-116738: document thread-safety of bisect (GH-136555) (#137221)
miss-islington Jul 30, 2025
aab9537
[3.14] gh-136992: Add "None" as valid `SameSite` value as per RFC 626…
miss-islington Jul 30, 2025
42b58cf
[3.14] gh-119180: Refer to `annotationlib.get_annotations()` in `typi…
miss-islington Jul 31, 2025
cf57f4f
[3.14] gh-137314: Fix incorrect treatment of format specs in raw fstr…
miss-islington Aug 3, 2025
69fee0c
[3.14] gh-137341: Remove more word duplications (GH-137342) (#137346)
serhiy-storchaka Aug 3, 2025
ecdec64
[3.14] GH-136155: Use ``sphinxext-opengraph`` v0.11.0 (GH-137348) (#1…
miss-islington Aug 3, 2025
833d883
[3.14] gh-132983: Fix docstrings in ``ZstdDict`` (GH-137321) (#137343)
miss-islington Aug 3, 2025
127ec30
[3.14] gh-137257: Upgrade bundled pip to 25.2 (GH-137258) (#137361)
miss-islington Aug 4, 2025
134ca90
[3.14] Remove Alex Waygood as a codeowner for pre-commit config (GH-1…
miss-islington Aug 4, 2025
f487008
[3.14] gh-130522: Fix unraisable TypeError in threading at interprete…
miss-islington Aug 4, 2025
7d57316
[3.14] gh-137194: Fix requires_debug_ranges when _testcpi doesn't exi…
miss-islington Aug 5, 2025
3a1e582
[3.14] GH-136155: Use ``sphinxext-opengraph`` v0.12.0 (GH-137393) (#1…
miss-islington Aug 5, 2025
25ae1af
[3.14] Docs: add dunder and walrus to the glossary (GH-137430) (#137434)
miss-islington Aug 6, 2025
9b8826b
[3.14] gh-137134: Update SQLite to 3.50.4 for binary releases (GH-137…
miss-islington Aug 6, 2025
43d8f52
[3.14] Doc: remove unused images (GH-137323) (#137324)
miss-islington Aug 6, 2025
0fc49be
[3.14] gh-132983: Use ``Py_UNREACHABLE`` in ``_zstd_load_impl()`` (GH…
miss-islington Aug 7, 2025
ab7ffdc
[3.14] gh-123299: Backport typo fixes in What's New in Python 3.14 (#…
hugovk Aug 7, 2025
3df0842
[3.14] [Doc] Remove unnecessary quotes from typing module (GH-137207)…
miss-islington Aug 8, 2025
f1248cf
[3.14] gh-137412: fix `default_builtin_hashes` values in `test_hashli…
miss-islington Aug 8, 2025
f17d77f
[3.14] gh-137308: Replace a single docstring with `pass` in `-OO` mod…
miss-islington Aug 8, 2025
9e8a9ac
[3.14] gh-137282: Fix `TypeError` in tab completion and `dir()` of `c…
miss-islington Aug 8, 2025
7dc669f
[3.14] gh-136155: Docs: check for EPUB fatal errors in CI (GH-134074)…
miss-islington Aug 8, 2025
5046182
[3.14] gh-137499: Fixed dead link to NIST website (GH-137500) (#137502)
miss-islington Aug 9, 2025
f180fb9
[3.14] gh-119711: describe `create_datagram_endpoint`'s behavior in a…
miss-islington Aug 10, 2025
1878fe8
[3.14] gh-131338: Disable computed stack limit checks on non-glibc li…
miss-islington Aug 10, 2025
1bf7462
[3.14] Update pre-commit hooks (GH-137591) (#137621)
miss-islington Aug 11, 2025
019238a
[3.14] gh-137200: support frame lineno setter with `BRANCH_LEFT` and …
miss-islington Aug 11, 2025
0ccf244
[3.14] gh-137288: Fix bug where boolean expressions are not associate…
iritkatriel Aug 12, 2025
946b226
[3.14] gh-137288: Update version in magic number log (GH-137665) (#13…
encukou Aug 12, 2025
daed07a
[3.14] GH-137426: Remove code deprecation of `importlib.abc.ResourceL…
miss-islington Aug 12, 2025
4dda176
[3.14] gh-135228: When @dataclass(slots=True) replaces a dataclass, m…
miss-islington Aug 12, 2025
4ebd928
[3.14] gh-137400: Fix a crash when disabling profiling across all thr…
miss-islington Aug 12, 2025
ccb6de3
[3.14] gh-137242: Add Android CI job (GH-137186) (#137683)
hugovk Aug 13, 2025
2392232
[3.14] GH-134291: Support older macOS deployment targets for JIT buil…
ned-deily Aug 13, 2025
c60289c
[3.14] gh-137450: macOS installer shell path management improvements …
miss-islington Aug 13, 2025
b7df473
[3.14] gh-133403: Check `generate_stdlib_module_names` and `check_ext…
miss-islington Aug 13, 2025
ad9f20d
[3.14] gh-133403: Run `mypy` on `Tools/build/mypy.ini` changes (GH-13…
sobolevn Aug 13, 2025
902de28
[3.14] gh-137226: Fix behavior of ForwardRef.evaluate with type_param…
miss-islington Aug 13, 2025
d8f4d56
[3.14] gh-132339: Add support for OpenSSL 3.5 (GH-137720) (#137747)
zware Aug 14, 2025
7c0e637
[3.14] GH-137573: mark _PyOptimizer_Optimize as no inline (GH-137731)…
miss-islington Aug 14, 2025
27e1286
[3.14] gh-137749: Python 3.14 installer is for macOS 10.15 and later …
miss-islington Aug 14, 2025
31967d8
Python 3.14.0rc2
hugovk Aug 14, 2025
5322260
Post 3.14.0rc2
hugovk Aug 14, 2025
976d028
[3.14] gh-123299: Update What's new in Python 3.14: typos and misplac…
miss-islington Aug 15, 2025
0696a75
[3.14] gh-136437: Convert more ``os.path`` functions to positional-on…
miss-islington Aug 15, 2025
bab2a7e
[3.14] gh-137183: Document that `array.array` typecode `w` is new in …
miss-islington Aug 15, 2025
36a1e1a
[3.14] gh-137026: Add an explainer guide for asyncio (GH-137215) (#13…
miss-islington Aug 15, 2025
3de6ea5
[3.14] gh-109975: Indicate the minimum version for PyREPL in the tuto…
miss-islington Aug 15, 2025
bbc92b9
[3.14] GH-123299: Copyedit 3.14 What's New: Optimizations (GH-137789)…
miss-islington Aug 15, 2025
a4ef631
[3.14] gh-137760: Update REPL constants documentation (gh-137798) (#1…
miss-islington Aug 15, 2025
4cb99bf
[3.14] GH-123299: Copyedit 3.14 What's New: Removed (GH-137794) (#137…
miss-islington Aug 15, 2025
7b56d08
[3.14] gh-137078: Fix keyword typo recognition when executed over fil…
miss-islington Aug 15, 2025
e817d1a
[3.14] gh-132661: PEP 750 documentation: second pass (GH-137020) (#13…
miss-islington Aug 16, 2025
cfa5ee5
[3.14] gh-137777: Disband the 'Program Frameworks' chapter (GH-137796…
miss-islington Aug 16, 2025
bb4e747
[3.14] gh-137846: Add missing 'be' to profile doc. (GH-137856) (#137857)
miss-islington Aug 16, 2025
c9e2e15
[3.14] Emend an error in ``string.templatelib`` example output (GH-13…
miss-islington Aug 18, 2025
5034b64
[3.14] gh-134869: Fix Ctrl+C corrupts REPL autocomplete (GH-134929) …
miss-islington Aug 18, 2025
3fa5a4b
[3.14] gh-127859: Fixed documentation for call_later and call_at for …
miss-islington Aug 19, 2025
5923849
[3.14] gh-137900: Improve dataclasses frozen parameter documentation …
miss-islington Aug 20, 2025
bb3c3d4
[3.14] gh-137964: Remove the "experimental" designation from the Wind…
miss-islington Aug 20, 2025
cf5c170
[3.14] gh-137728 gh-137762: Fix bugs in the JIT with many local varia…
miss-islington Aug 21, 2025
132b866
[3.14] gh-137847: Add examples for UUIDv6-8 (GH-137848) (#137901)
miss-islington Aug 21, 2025
57c4601
[3.14] gh-123299: Fix typos & grammar and copyedit What's New in 3.14…
miss-islington Aug 22, 2025
c213eb9
[3.14] gh-138042: Fix homebrew for tail-calling macOS CI (GH-138043) …
miss-islington Aug 22, 2025
d619015
[3.14] gh-137384: fix crash when accessing warnings state late in run…
kumaraditya303 Aug 22, 2025
271823f
[3.14] gh-135862: add C contiguous one-dimensional buffer requirement…
miss-islington Aug 23, 2025
9fa74c5
[3.14] gh-137973: Add a non-parallel test plan to the iOS testbed pro…
miss-islington Aug 25, 2025
8b3f9ae
[3.14] gh-137883: Check the recursion limit for specialized keyword a…
ZeroIntensity Aug 25, 2025
01afacc
[3.14] gh-135261: bring back CI job for testing OpenSSL 1.1.1w (GH-13…
miss-islington Aug 26, 2025
f4af717
[3.14] gh-106318: Add example for `str.find()` (GH-134529) (#138174)
miss-islington Aug 27, 2025
6c2d42f
[3.14] GH-132775: Fix argument parsing for ``_interpqueues.put()`` (G…
miss-islington Aug 27, 2025
86f7bb7
[3.14] gh-138148: Fix grammatical error in the `asynchronous generato…
miss-islington Aug 27, 2025
65bf6f5
[3.14] gh-138098: Clarify strong references in `PyDict_Next` docs on …
miss-islington Aug 27, 2025
cc38a57
[3.14] gh-137609: Update signatures of builtins in the documentation …
miss-islington Aug 27, 2025
9e5ca3a
[3.14] gh-138011: Clarify tutorial method object example code (GH-138…
miss-islington Aug 27, 2025
27a2152
[3.14] gh-44538: Mention nested classes/functions in doctest docs (GH…
miss-islington Aug 27, 2025
7a6d8d4
[3.14] gh-137526: Fix broken link to drdobbs journal in difflib.rst (…
miss-islington Aug 27, 2025
97c6d72
[3.14] enhance docs for critical sections (GH-137334) (#138167)
miss-islington Aug 27, 2025
5caa6cd
[3.14] gh-137740: Clarify `__del__` invocation mechanism in reference…
miss-islington Aug 27, 2025
6d30edb
[3.14] gh-137576: Fix for Basic REPL showing incorrect code in traceb…
miss-islington Aug 27, 2025
e3fb55e
[3.14] gh-133403: Run `mypy` on `Tools/build/check_warnings.py` (GH-1…
miss-islington Aug 27, 2025
0e46c04
[3.14] gh-126524: Revert "gh-126524: Run `regen-unicodedata` as a par…
miss-islington Aug 28, 2025
d3f7bb0
[3.14] gh-90483: fix docs of `SubprocessTransport.get_pipe_transport …
miss-islington Aug 29, 2025
769f58a
[3.14] gh-101359: clarify docs for `asyncio.Event.clear` (GH-137849) …
miss-islington Aug 29, 2025
c35222a
[3.14] gh-123858: Improve Doc: SyntaxWarning is emitted during byteco…
miss-islington Aug 29, 2025
a37a382
[3.14] gh-133829: Remove some specifics from the ``zipimport`` exampl…
miss-islington Aug 31, 2025
b79bece
[3.14] gh-138158: Use the `"data"` tarfile extraction filter in `Tool…
miss-islington Aug 31, 2025
5ec6d56
[3.14] gh-138257: Fix internal `RuleCollectorVisitor` attribute name …
miss-islington Aug 31, 2025
192ae9b
[3.14] gh-138372: Fix SyntaxWarning for erroneous t-string subscripti…
miss-islington Sep 2, 2025
5c47d72
[3.14] Doc: Track file downloads via plausible (GH-138393) (#138396)
miss-islington Sep 2, 2025
da3850c
[3.14] gh-101100: Resolve reference warnings in library/xml.sax.handl…
miss-islington Sep 3, 2025
b0069f1
[3.14] GH-101100: Resolve reference warnings in whatsnew/3.7.rst (GH-…
miss-islington Sep 3, 2025
63fed7b
[3.14] GH-123299: Copyedit 3.14 What's New: Move and consolidate Port…
miss-islington Sep 3, 2025
67b8320
[3.14] GH-101100: Resolve reference warnings in whatsnew/3.3.rst (GH-…
miss-islington Sep 3, 2025
1e26fd0
[3.14] GH-101100: Resolve reference warnings in whatsnew/3.8.rst (GH-…
miss-islington Sep 3, 2025
d713788
[3.14] GH-101100: Resolve reference warnings in whatsnew/2.7.rst (GH-…
miss-islington Sep 3, 2025
44b3940
[3.14] GH-101100: Resolve reference warnings in whatsnew/3.4.rst (GH-…
miss-islington Sep 3, 2025
e7593c8
[3.14] GH-101100: Resolve reference warnings in extending/extending.r…
miss-islington Sep 3, 2025
28fcdda
[3.14] GH-101100: Resolve reference warnings in whatsnew/3.6.rst (GH-…
miss-islington Sep 3, 2025
d7c5aa9
[3.14] GH-101100: Resolve reference warnings in whatsnew/3.5.rst (GH-…
miss-islington Sep 3, 2025
45a79b4
[3.14] gh-72249: Correct wording of GH-101910 blurb (GH-138468) (#138…
miss-islington Sep 3, 2025
2583646
[3.14] GH-101100: Resolve reference warnings in whatsnew/3.10.rst (GH…
miss-islington Sep 4, 2025
8e1c2fe
[3.14] gh-138281: Run `ruff` on `Tools/peg_generator` (GH-138282) (#1…
sobolevn Sep 4, 2025
460265f
[3.14] GH-101100: Resolve reference warnings in using/windows.rst (GH…
miss-islington Sep 4, 2025
bfce393
[3.14] gh-136134: smtplib: fix CRAM-MD5 on FIPS-only environments (GH…
picnixz Sep 4, 2025
d574f83
[3.14] gh-136134: imaplib: fix CRAM-MD5 on FIPS-only environments (GH…
picnixz Sep 4, 2025
66f256d
[3.14] gh-107194: Improved language of list.index in tutorial (gh-138…
miss-islington Sep 5, 2025
5086a1e
[3.14] gh-138516: fix typo in OrderedDict exception msg (GH-138517) (…
miss-islington Sep 5, 2025
a264142
[3.14] docs: add module-level `versionadded` for `annotationlib` (GH-…
miss-islington Sep 5, 2025
09f1eff
[3.14] gh-138515: Include email module in Emscripten build (gh-138520…
miss-islington Sep 5, 2025
b6fa945
[3.14] gh-138286: Run ``ruff`` on ``Tools/i18n`` (GH-138287) (#138513)
miss-islington Sep 5, 2025
cddb7e6
[3.14] gh-138192: Fix Context initialization so that all subinterpret…
miss-islington Sep 5, 2025
f153e32
[3.14] GH-138465: Improve documentation for common sequence methods (…
miss-islington Sep 6, 2025
1e1bfe7
[3.14] gh-138191: Document ``frame.f_generator`` in the data model (G…
miss-islington Sep 6, 2025
9cc2b25
[3.14] gh-116946: fully implement GC protocol for `_curses_panel.pane…
picnixz Sep 6, 2025
194fe15
[3.14] gh-90548: Skip NODEV portion of test_makedev when linked to mu…
miss-islington Sep 7, 2025
95ec2c1
[3.14] gh-90548: Skip ctypes test_null_dlsym when linked to musl (GH-…
miss-islington Sep 7, 2025
096fa04
[3.14] gh-90548: Allow Alpine/MUSL to pass test_c_locale_coercion. (G…
miss-islington Sep 7, 2025
d36c9a8
[3.14] gh-90548: Fix musl version detection with --strip-all (GH-1378…
miss-islington Sep 7, 2025
78ee486
[3.14] gh-138584: Increase test coverage for `collections.UserList` (…
miss-islington Sep 7, 2025
9b398cb
[3.14] GH-123299: Copyedit 3.14 What's New: Build Changes (GH-138488)…
miss-islington Sep 8, 2025
f23e760
[3.14] Docs: Fix typo in test.support.linked_to_musl function name (G…
miss-islington Sep 8, 2025
5074241
[3.14] Use `test.support.is_wasm32` flag for `is_emscripten` or `is_w…
miss-islington Sep 8, 2025
655ad1c
[3.14] gh-138318, PyREPL: builtins should not be highlighted when use…
miss-islington Sep 8, 2025
1cb1c2c
[3.14] gh-138659: Typo in the gc module docstring (GH-138660) (#138662)
miss-islington Sep 8, 2025
226915d
[3.14] gh-137397: Skip test_os_open on NetBSD due to indefinite hang …
miss-islington Sep 8, 2025
0cf8ac2
[3.14] gh-137668: Document that ord() supports also bytes and bytearr…
miss-islington Sep 8, 2025
efac05a
[3.14] gh-91116: Add hyperlink from `sys.settrace` to frame objects (…
miss-islington Sep 8, 2025
d29c38e
[3.14] gh-138295: Fix a grammar issue in the descriptor HOWTO (GH-138…
miss-islington Sep 8, 2025
925c752
[3.14] gh-129033: Remove dead code in test.support.has_no_debug_range…
miss-islington Sep 8, 2025
769f7a5
[3.14] gh-89905: Correct `-R` option doc (GH-137608) (#138353)
miss-islington Sep 8, 2025
75c2d9f
[3.14] gh-138297 Point link in docs for `finally` to try/else, instea…
miss-islington Sep 8, 2025
61f7156
[3.14] gh-135661: Fix CDATA section parsing in HTMLParser (GH-135665)…
miss-islington Sep 8, 2025
0f94b18
[3.14] gh-138253: Fix compatibility of sub-interpreters queues with q…
miss-islington Sep 8, 2025
68e0abe
[3.14] gh-138665: Move `platform.invalidate_caches` docs (GH-138667) …
miss-islington Sep 8, 2025
161543f
[3.14] annotationlib: add note on security to docs (GH-138508) (#138550)
miss-islington Sep 8, 2025
6f66590
[3.14] gh-137242: Add a --no-randomize option, and use it in Android …
miss-islington Sep 9, 2025
2162fcc
[3.14] gh-138577: Mention Unix-specific limitations of `getpass.getpa…
miss-islington Sep 9, 2025
dee3428
[3.14] gh-101100: Resolve reference warnings in reference/ (GH-138418…
miss-islington Sep 9, 2025
829c81a
[3.14] GH-101100: Remove some entries from ``nitpick_ignore`` (GH-138…
miss-islington Sep 9, 2025
3894503
[3.14] gh-136264: Fix ``--relative-paths`` for PEP 739's build-detail…
miss-islington Sep 9, 2025
a963843
[3.14] gh-138744: GitHub Actions: pin to `windows-2022` (GH-138743) (…
miss-islington Sep 10, 2025
38cd031
[3.14] gh-136599: Add tests for long_hash (GH-138335) (#138390)
miss-islington Sep 10, 2025
3643a26
[3.14] gh-138349: Fix crash when combining module-level annotation an…
vstinner Sep 11, 2025
7fba07a
[3.14] Fix Windows path in `venv` docs (GH-138476) (#138477)
miss-islington Sep 11, 2025
badab2c
[3.14] Docs: Fix typo in `os.fwalk()` example (GH-138486) (#138500)
miss-islington Sep 11, 2025
dc20c1a
[3.14] Fix typo in Doc/extending/extending.rst (GH-136890) (#137355)
brianschubert Sep 11, 2025
7f5319d
[3.14] gh-137368: document __index__() support for PyLong_AsInt32/64(…
miss-islington Sep 11, 2025
2bea4f0
[3.14] Docs: Use the correct example module in warnings.rst (GH-13740…
miss-islington Sep 11, 2025
500abc4
[3.14] Docs: Small clarity change for ``except*`` (GH-121073) (#137494)
miss-islington Sep 11, 2025
7b4e0dc
[3.14] Replace "ordered arguments" with "positional arguments" in `un…
miss-islington Sep 11, 2025
4bba1a2
[3.14] Fix documentation of hash in PyHash_FuncDef (GH-137595) (#137642)
miss-islington Sep 11, 2025
735ac97
[3.14] gh-125897: Mark range function parameters as positional only (…
miss-islington Sep 11, 2025
4b093e1
[3.14] gh-136672: Docs: Move Enum functions and add examples (GH-1367…
miss-islington Sep 11, 2025
374b242
[3.14] gh-87281: Improve documentation for locale.setlocale() and loc…
miss-islington Sep 11, 2025
dcadc53
[3.14] Mention the "context manager" keyword in concurrent.futures do…
miss-islington Sep 11, 2025
928d802
[3.14] gh-131591: fix formatting of remote debugger docs (GH-137225) …
miss-islington Sep 11, 2025
39e024d
[3.14] gh-131885: Use positional-only markers for the ``decimal`` mod…
miss-islington Sep 11, 2025
30588d5
[3.14] [docs] minor, fix grammar in ssl.SSLContect.sslsocket_class do…
miss-islington Sep 11, 2025
34afba4
[3.14] Fix typo in `logging` docs (GH-137981) (#137983)
miss-islington Sep 11, 2025
7e02328
[3.14] gh-133125: Clarify ZipInfo.date_time attribute documentation (…
miss-islington Sep 11, 2025
4ce4b82
[3.14] Docs: Fix typo in `shutil.make_archive` example (GH-138188) (#…
miss-islington Sep 11, 2025
dd930ba
[3.14] gh-138307: Update the Ellipsis documentation (GH-138306) (#138…
miss-islington Sep 11, 2025
15ca9c6
[3.14] gh-135676: Reword the Operators & Delimiters section(s) (GH-13…
miss-islington Sep 11, 2025
47441f0
[3.14] gh-138644: Update c-api docs of `PyInterpreterState` about PEP…
miss-islington Sep 11, 2025
5eb7cd3
[3.14] Add impl-detail block for PyLong_FromLong docs (GH-126422) (#1…
miss-islington Sep 11, 2025
a369815
[3.14] GH-138562: Remove ``sort()`` from the common sequence methods …
miss-islington Sep 11, 2025
09b7e87
[3.14] gh-138081: Fix/remove incorrect links in `idlelib/HISTORY.txt`…
miss-islington Sep 11, 2025
8a767fb
[3.14] gh-138081: fix some dead links in InternalDocs (GH-138082) (#1…
miss-islington Sep 11, 2025
5210e30
[3.14] gh-138005: Document that CSV `skipinitialspace=True` and `deli…
miss-islington Sep 11, 2025
664d17f
[3.14] Improve permission error messages in pdb and asyncio.tools (GH…
miss-islington Sep 12, 2025
c8cc39d
[3.14] gh-116946: fully implement GC protocol for `zlib` objects (GH-…
picnixz Sep 12, 2025
440b83f
[3.14] gh-71810: Fix corner case (length==0) for int.to_bytes() (GH-1…
miss-islington Sep 12, 2025
fbfbfdf
[3.14] gh-138479: Ensure that `__typing_subst__` returns a tuple (GH-…
miss-islington Sep 12, 2025
18dfc1d
[3.14] gh-138804: Check type in `shlex.quote` (GH-138809) (#138846)
miss-islington Sep 13, 2025
80e59a8
[3.14] gh-138669: Increase test coverage for difflib (GH-138670) (#13…
miss-islington Sep 14, 2025
19a8670
[3.14] gh-138801: re-enable `pyrepl` tests on Windows (GH-138802) (GH…
miss-islington Sep 15, 2025
dc4d016
[3.14] gh-134953: Expand theming for `True`/`False`/`None` (GH-135000…
miss-islington Sep 15, 2025
1c90186
[3.14] gh-128636: Fix crash in PyREPL when os.environ is overwritten …
miss-islington Sep 16, 2025
7f293a6
[3.14] gh-135329: prevent infinite traceback loop on Ctrl-C for stra…
miss-islington Sep 16, 2025
c0d490d
[3.14] gh-135755: Make Py_MAX_SCRIPT_PATH_SIZE private (GH-138350) (#…
miss-islington Sep 16, 2025
5ddd72a
[3.14] gh-138871: Clarify NameError exception in 'del' (GH-138881) (#…
miss-islington Sep 16, 2025
35ce9a2
[3.14] gh-137985: Correct description of Formatter's datefmt param in…
miss-islington Sep 16, 2025
62294eb
[3.14] gh-54874: Expand unicodedata module documentation (GH-138301) …
miss-islington Sep 16, 2025
284ab76
[3.14] gh-110936: Reorder string literal definition in Lexical Analys…
miss-islington Sep 16, 2025
7bba99c
[3.14] Revert "gh-118803: Remove `ByteString` from `typing` and `coll…
miss-islington Sep 17, 2025
82fce82
[3.14] gh-138966: Add description for `gi_suspended` attribute (GH-13…
miss-islington Sep 17, 2025
6038447
[3.14] gh-137226: Fix get_type_hints() on generic TypedDict with stri…
JelleZijlstra Sep 17, 2025
97f4ac2
[3.14] gh-138998: Upgrade vendored expat to 2.7.2 (GH-138999) (#139024)
miss-islington Sep 17, 2025
ce48f4c
[3.14] gh-139006: Doc: Clarify html.escape function description (GH-1…
miss-islington Sep 17, 2025
37f8a63
[3.14] gh-138514: getpass: restrict `echo_char` to a single ASCII cha…
miss-islington Sep 17, 2025
f8ee2d4
[3.14] GH-123299: Copyedit 3.14 What's New: C API (GH-138987) (#139021)
miss-islington Sep 17, 2025
c115494
[3.14] gh-138896: Fix error installing C runtime on non-updated Windo…
miss-islington Sep 17, 2025
9741cfc
[3.14] gh-99948: Support ctypes.util.find_library in emscripten envir…
miss-islington Sep 17, 2025
9d0ca23
[3.14] gh-137988: Fix const description in argparse.add_argument() do…
miss-islington Sep 17, 2025
7a2854e
[3.14] gh-132558: Improve `argparse` docs on combining `type` and `ch…
miss-islington Sep 17, 2025
0e4e608
[3.14] gh-128627: Use __builtin_wasm_test_function_pointer_signature …
miss-islington Sep 17, 2025
a20395b
[3.14] GH-139067: Add example for `argparse`'s `append` action (GH-13…
miss-islington Sep 17, 2025
1c5b284
Python 3.14.0rc3
hugovk Sep 18, 2025
869f1d8
Post 3.14.0rc3
hugovk Sep 18, 2025
e560865
[3.14] gh-137242: Mention Android binary releases in documentation (G…
miss-islington Sep 18, 2025
665a349
[3.14] gh-118803: Improve documentation around `ByteString` deprecati…
miss-islington Sep 18, 2025
ccdc0c9
[3.14] `Doc/library/os.rst`: Remove spurious parenthesis (GH-139205) …
miss-islington Sep 21, 2025
cf4573b
[3.14] gh-138092: Correct the documented signature of ``mmap.flush`` …
miss-islington Sep 21, 2025
460ad1a
[3.14] Make sure the ``:keyword:`` role works for ``case`` (GH-138878…
miss-islington Sep 22, 2025
6e3d448
fix: correct wasm_build config site
HoKim98 Sep 24, 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
20 changes: 17 additions & 3 deletions .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 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
113 changes: 101 additions & 12 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,13 @@ permissions:
contents: read

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

env:
Expand Down Expand Up @@ -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 @@ -124,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 @@ -172,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 @@ -264,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 @@ -316,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 @@ -504,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 @@ -615,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 @@ -648,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
8 changes: 6 additions & 2 deletions .github/workflows/jit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -68,10 +68,10 @@ jobs:
include:
- target: i686-pc-windows-msvc/msvc
architecture: Win32
runner: windows-latest
runner: windows-2022
- target: x86_64-pc-windows-msvc/msvc
architecture: x64
runner: windows-latest
runner: windows-2022
- target: aarch64-pc-windows-msvc/msvc
architecture: ARM64
runner: windows-11-arm
Expand Down 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: 10 additions & 0 deletions .github/workflows/mypy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +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-build-details.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
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
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
Loading