Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
3568 commits
Select commit Hold shift + click to select a range
3f226c5
[3.12] gh-131082: Add missing guards for WIN32_LEAN_AND_MEAN (#131044…
Mar 11, 2025
8f26a79
gh-130959: Reject whitespace in fractions, in pure Python `fromisofor…
Mar 11, 2025
729ec5b
[3.12] gh-101100: Fix sphinx warnings in `library/asyncio-subprocess.…
Mar 11, 2025
afffd97
[3.12] gh-130957: Use `sleeping_retry` in `test_free_reference` (GH-1…
Mar 11, 2025
969631a
[3.12] gh-93096: Load doctests in `test_itertools` (GH-131133) (#131137)
Mar 12, 2025
ba36389
[3.12] gh-131181: Assert that PyObject_stgdict isn't NULL for PyCData…
Mar 13, 2025
a3f4889
[3.12] gh-85012: Properly reset msgctxt when compiling messages with …
Mar 13, 2025
39b4f8b
[3.12] gh-124269: Simplify `typing.Annotated` docs (GH-130770) (#131223)
Mar 14, 2025
77ece5a
[3.12] gh-130814: Enhance documentation for Python C API type objects…
Mar 14, 2025
6658ada
[3.12] gh-131219: Improve tests in `test_lzma.py` by adding more asse…
Mar 14, 2025
9a612a8
[3.12] gh-131234: Improve `test_popen` with more asserts (GH-131235) …
Mar 14, 2025
e364a42
[3.12] gh-131204: Fix `difflib.HtmlDiff` may not use monospaced font …
Mar 14, 2025
1d17f1a
[3.12] gh-130160: use `.. program::` directive for documenting `docte…
Mar 16, 2025
c5a23ab
[3.12] gh-131327: Document winsound.SND_APPLICATION (GH-131328) (#131…
Mar 16, 2025
baea0e2
[3.12] gh-130160: use `.. program::` directive for documenting `http.…
Mar 17, 2025
e5e8b8a
[3.12] gh-129843: fix pure Python implementation of `warnings.warn_ex…
Mar 17, 2025
6e7432f
[3.12] gh-131339: test PyBytes_Size for a zero-size bytes object (GH-…
Mar 17, 2025
3983fca
[3.12] gh-109961: Docs: Fix incorrect rendering of `__replace__` in `…
Mar 17, 2025
4c1d529
[3.12] gh-124385: Document and soft-deprecate PyLong_AS_LONG (GH-1243…
Mar 17, 2025
0405833
[3.12] gh-129675: Update documentation for tp_basicsize & tp_itemsize…
Mar 17, 2025
18e4eb4
[3.12] gh-130727: Retry test_wmi on TimeoutError (GH-130832) (#130840)
Mar 17, 2025
c1faead
[3.12] gh-131325: fix sendfile fallback implementation to drain data …
Mar 17, 2025
304ef84
[3.12] gh-127667: refactor and improve `_hashopenssl.c` error branche…
Mar 18, 2025
c23a2d3
[3.12] gh-131094: Refine `math.isclose` docs (GH-131139) (#131393)
Mar 18, 2025
2601dae
[3.12] gh-130132: properly free resources in `urrlib.urlopen` example…
Mar 18, 2025
9d23a6d
[3.12] gh-131002: clarify how to enforce sqlite3 column types for gen…
Mar 18, 2025
7a8097c
[3.12] gh-116666: Add "token" glossary term (GH-130888) (GH-131368)
Mar 18, 2025
38ef8d7
[3.12] gh-131261: Update libexpat to 2.7.0 (CVE-2024-8176) (GH-131361)
Mar 18, 2025
865bd6d
[3.12] gh-131277: allow EnvironmentVarGuard to unset more than one en…
Mar 18, 2025
5dfb5e6
[3.12] gh-121284: Fix email address header folding with parsed encode…
Mar 18, 2025
981566e
[3.12] Docs: fix shell command formatting (GH-131310) (#131444)
Mar 19, 2025
105bc83
[3.12] gh-131417: Mention asyncio Future and Task in docs for generic…
Mar 19, 2025
caa7388
[3.12] Docs: Fix documentation for "PyTypeObject Definition" (GH-1309…
Mar 20, 2025
e1626c3
[3.12] GH-121970: Extract `pydoc_topics` into a new extension (GH-131…
Mar 20, 2025
3eb7a90
[3.12] gh-70647: update docs to mention the datetime 1900 year defaul…
Mar 21, 2025
30e38b9
[3.12] gh-131441: Add a set of asserts to test.test_capi.test_list (#…
Mar 21, 2025
3d1f8ca
[3.12] gh-88887: Cleanup `multiprocessing.resource_tracker.ResourceTr…
Mar 21, 2025
2d6a778
[3.12] gh-131492, gh-131461: handle exceptions in GzipFile constructo…
Mar 21, 2025
b1e2384
[3.12] gh-131457: Fix typo in BNF description of function signatures …
Mar 22, 2025
63a4273
[3.12] gh-131418: remove unused legacy typedefs in `{md5,sha1}module.…
Mar 23, 2025
7d5b813
[3.12] gh-121529: Document `from_` parameter in `_mboxMMDF` public me…
Mar 23, 2025
3911bd5
[3.12] gh-130283: update deprecated links and examples in `urllib.req…
Mar 23, 2025
7f2de07
[3.12] gh-131357: Add a set of asserts to test.test_capi.test_bytearr…
Mar 23, 2025
8a9aee7
[3.12] gh-131045: [Enum] fix flag containment checks when using value…
Mar 24, 2025
8159805
[3.12] Docs: Fix documentation for "PyTypeObject Definition" (GH-1309…
Mar 24, 2025
76e911a
[3.12] gh-131670: Fix crash in `anext()` when `__anext__` is sync and…
Mar 24, 2025
e78280d
[3.12] gh-131677: Fix flaky test_lru_cache_threaded3 (gh-131679) (gh-…
Mar 24, 2025
b7c5371
[3.12] gh-131741: Add documentation for Windows version detection cha…
Mar 26, 2025
1826347
[3.12] gh-131649: fix test_string_literals SyntaxWarning (GH-131650) …
Mar 26, 2025
66042e1
[3.12] gh-131762: Fixed dereferencing the pointer 'parser_token->meta…
Mar 26, 2025
b2dbc4f
[3.12] Fix typo in importlib.metadata.rst (gh-131596) (#131631)
Mar 27, 2025
0c88f41
[3.12] gh-131818: Add imply `-P` in `-I`'s help message (GH-131819) (…
Mar 28, 2025
4f7b66a
[3.12] gh-128446: Run Windows CI tests on each commit (GH-131702) (#1…
Mar 28, 2025
940c937
[3.12] gh-131740: Update PyUnstable_GC_VisitObjects to traverse perm …
Mar 28, 2025
d4ddc03
[3.12] gh-127949: fix resource warnings in `test_tasks.py` (GH-128172…
Mar 28, 2025
7d447ac
[3.12] gh-131807: fix ResourceWarning in test_ucn.py (GH-131808) (#13…
Mar 28, 2025
dfb6372
gh-131423: Update to OpenSSL 3.0.16. (GH-131839)
Mar 28, 2025
3cd04d4
[3.12] gh-127541: Update os.walk example (GH-127765) (#131873)
Mar 29, 2025
85b6b0e
[3.12] gh-131050: skip `test_dh_params` when TLS library lacks FFDHE …
Mar 29, 2025
f1b65d7
[3.12] gh-129994: update docs when using `dualstack_ipv6` in `socket.…
Mar 30, 2025
525eddf
[3.12] gh-131885: Document that `dict.setdefault` and `dict.get` take…
Mar 30, 2025
f1689b6
[3.12] gh-126037: fix UAF in `xml.etree.ElementTree.Element.find*` wh…
Mar 31, 2025
5d4e891
[3.12] gh-126033: fix UAF in `xml.etree.ElementTree.Element.remove` w…
Mar 31, 2025
b87ea7d
[3.12] gh-131865: Properly apply exported CFLAGS for dtrace/systemtap…
Mar 31, 2025
b1bbd01
[3.12] gh-129917: Update installers to use SQLite 3.49.1 (#131025) (#…
Mar 31, 2025
ce85eb5
[3.12] gh-125957: sync argument naming in sphinx docs of the cmath an…
Apr 1, 2025
6cdd3a4
[3.12] Minor improvements to the programming FAQ (GH-127261) (#131965)
Apr 1, 2025
756676f
[3.12] gh-131736: only apply `security_level` workaround in `test_ssl…
Apr 1, 2025
afb3f33
[3.12] gh-111178: Fix getsockaddrarg() undefined behavior (GH-131668)…
Apr 1, 2025
b3cf1f2
[3.12] gh-132002: Fix crash of `ContextVar` on unhashable `str` subty…
Apr 2, 2025
e4fe4d9
[3.12] gh-131888: fix ResourceWarning in test_ftplib (GH-131889) (#13…
Apr 2, 2025
6f6b8b4
[3.12] gh-89039: Call subclass constructors in datetime.*.replace (GH…
Apr 2, 2025
da7ac18
[3.12] gh-130197: pygettext: Test the --escape option (GH-131902) (GH…
Apr 2, 2025
701ac74
gh-131423: Update OpenSSL build tag to 3.0.16.2 to fix ARM64 crash (G…
Apr 3, 2025
10f73f7
[3.12] gh-132075: Fix possible use of sockaddr structures with uninit…
Apr 4, 2025
65a0103
[3.12] gh-130655: Add tests for `gettext.find()` (GH-130691) (#132083)
Apr 4, 2025
232e105
[3.12] gh-130655: Add a test for bad magic numbers in `.mo` files par…
Apr 4, 2025
05213af
[3.12] gh-130655: Add a test for corrupt `.mo` files in `gettext` (GH…
Apr 4, 2025
3d3e7b0
[3.12] gh-128632: fix segfault on nested __classdict__ type param (GH…
Apr 4, 2025
1d8cd48
[3.12] Fix typo in `template_replace()` test helper docstring (GH-132…
Apr 4, 2025
0c11043
[3.12] Docs: document `plistlib.InvalidFileException` (GH-132069) (#1…
Apr 5, 2025
6dab90a
[3.12] gh-131015: Add test for bytes formatting errors (#131881) (#13…
Apr 5, 2025
82b3939
[3.12] Fix numbered list syntax in programming.rst (GH-130158) (#132141)
Apr 5, 2025
c124ae9
[3.12] gh-132134: Add the clangd ``.cache`` directory to ``.gitignore…
Apr 6, 2025
0bfb3ba
[3.12] Docs: Replace dead hyperlink for CGI environment variables (GH…
Apr 6, 2025
55b2303
[3.12] GH-107674: Avoid allocating boxed ints for `sys.settrace` line…
Apr 6, 2025
0c429ac
[3.12] Docs: Add a single table summary for ``cmath`` (GH-131887) (#1…
Apr 6, 2025
81445c2
[3.12] gh-91132: Update macOS installer to use ncurses 6.5. (GH-129990)
Apr 7, 2025
6ca6c09
[3.12] gh-131423: Update macOS installer to use OpenSSL 3.0.16. (GH-1…
Apr 7, 2025
49840d6
[3.12] gh-124111: Update macOS installer to use Tcl/Tk 8.6.16. (GH-13…
Apr 7, 2025
ab78a37
[3.12] gh-131912: Improve description of grouping options in the form…
Apr 7, 2025
81bc2cc
[3.12] gh-122040: reword `Modules/xxmodule.c` module-level comment (G…
Apr 7, 2025
33834cb
[3.12] gh-131852: Filter out POT-Creation-Date in msgfmt (GH-131880) …
Apr 7, 2025
0875dcb
[3.12] gh-132221: Fix `__match_args__` generation docs in `dataclasse…
Apr 7, 2025
6c9ece3
[3.12] Docs HTML: Remove self-closing tags (GH-132220) (#132229)
Apr 7, 2025
4d1ab71
[3.12] gh-130521: Add Open Graph meta tags to template pages (GH-1305…
Apr 7, 2025
ed01daf
[3.12] gh-131809: Upgrade vendored expat to 2.7.1 (GH-132192) (#132237)
Apr 7, 2025
d00c6a3
[3.12] Add psfhosted Plausible instance to analytics (GH-132252) (#13…
Apr 8, 2025
4c5e84d
[3.12] gh-115684: Clarify datetime `replace` documentation (GH-116519…
Apr 8, 2025
3fc57f8
[3.12] gh-116608: undeprecate functional importlib.resources API (#13…
Apr 8, 2025
aab69a8
[3.12] gh-132021: Add bool type to the list of allowed JSON key types…
Apr 8, 2025
40f81e1
[3.12] gh-130164: Fix inspect.Signature.bind() handling of positional…
Apr 8, 2025
492a554
[3.12] gh-130775: Allow negative locations in `ast` (GH-130795) (#132…
Apr 8, 2025
936dc2d
[3.12] gh-102136: Add -m to options that work with -i (GH-119271) (GH…
Apr 8, 2025
b41e008
[3.12] gh-101137: Add `text/x-rst` to `mimetypes` (GH-118593) (GH-118…
Apr 8, 2025
a05e930
[3.12] gh-117779: Fix reading duplicated entries in zipfile by name (…
Apr 8, 2025
0cc8128
Python 3.12.10
Apr 8, 2025
a740fbd
Post 3.12.10
Apr 8, 2025
95d9dea
[3.12] Docs: Migrate entirely to PSF hosted plausible for analytics (…
Apr 18, 2025
aeb3a6f
[3.12] gh-132553: Build the perf tool without buildid cache (GH-13266…
Apr 25, 2025
483729f
[3.12] GH-133410: Use commit hashes for change detection (gh-133416) …
May 5, 2025
0c92fc3
[3.12] Docs: remove link elements in builders other than HTML (GH-133…
May 14, 2025
310cd89
[3.12] gh-133410: Fix PR detection in build workflow (GH-133671) (#13…
May 15, 2025
4398b78
[3.12] gh-133767: Fix use-after-free in the unicode-escape decoder wi…
May 26, 2025
d02823e
[3.12] gh-134062: Fix hash collisions in IPv4Network and IPv6Network …
May 26, 2025
d4cf1fa
[3.12] gh-128840: Limit the number of parts in IPv6 address parsing (…
May 26, 2025
f3272d8
[3.12] gh-87799: Improve the textual representation of IPv4-mapped IP…
Jun 3, 2025
19de092
[3.12] gh-135034: Normalize link targets in tarfile, add `os.path.rea…
Jun 3, 2025
3217780
[3.12] gh-123409: fix `IPv6Address.reverse_pointer` for IPv4-mapped a…
Jun 3, 2025
fcf3ea0
[3.12] gh-128840: Fix parsing long IPv6 addresses with embedded IPv4 …
Jun 3, 2025
28463db
[3.12] gh-135034: Remove test_realpath_permission (GH-135093)
Jun 3, 2025
55fee9c
Python 3.12.11
Jun 3, 2025
fd6c5fe
Post 3.12.11
Jun 3, 2025
d43cb4f
[3.12] gh-132415: Use shutil.which() in missing_compiler_executable()…
Jun 11, 2025
033aa5c
[3.12] gh-132415: Update vendored setuptools in ``Lib/test/wheeldata`…
Jun 11, 2025
ab0893f
[3.12] gh-135462: Fix quadratic complexity in processing special inpu…
Jul 3, 2025
c555f88
[3.12] gh-135661: Fix parsing start and end tags in HTMLParser accord…
Jul 4, 2025
b69f311
[3.12] gh-130077: Properly match full soft keywords in the parser (GH…
Jul 8, 2025
aaca859
[3.12] gh-128605: Add branch protections for x86_64 in asm_trampoline…
Jul 10, 2025
ef053a9
[3.12] gh-102555: Fix comment parsing in HTMLParser according to the …
Jul 12, 2025
ad695f5
[3.12] gh-135661: Fix parsing attributes with whitespaces around the …
Jul 22, 2025
f66c75f
[3.12] gh-118350: Fix support of elements "textarea" and "title" in H…
Jul 22, 2025
c9d9f78
[3.12] gh-130577: tarfile now validates archives to ensure member off…
Aug 4, 2025
e709361
[3.12] gh-131038: Use text=True in subprocesses in test_perf_profiler…
Aug 21, 2025
1793b72
[3.12] gh-136155: Use ``sphinxext-opengraph`` v0.12.0 (#136406)
Sep 8, 2025
71c84fa
[3.12] GH-136155: Use ``sphinxext-opengraph`` v0.12.0 (GH-137393) (#1…
Sep 24, 2025
cc9a7d8
[3.12] gh-138744: GitHub Actions: pin to `windows-2022` (GH-138743) (…
Sep 26, 2025
ade85bc
[3.12] gh-139330: Check expat version/checksum in SBOM with refresh.sh
Sep 26, 2025
dcf2476
[3.12] gh-135661: Fix CDATA section parsing in HTMLParser (GH-135665)…
Oct 6, 2025
bfb9e2f
[3.12] gh-138998: Upgrade vendored expat to 2.7.2 (GH-138999) (#139026)
Oct 6, 2025
aecbbee
[3.12] gh-139312: Update bundled libexpat to 2.7.3 (GH-139319) (GH-13…
Oct 7, 2025
f9f8cb9
[3.12] gh-139436: Remove link to the PDF downloads (GH-139142) (GH-13…
Oct 7, 2025
dea7e3d
[3.12] gh-139400: Make sure that parent parsers outlive their subpars…
Oct 7, 2025
8392b2f
[3.12] gh-139700: Check consistency of the zip64 end of central direc…
Oct 8, 2025
ba738f4
[3.12] gh-139436: Remove ``dist-pdf`` from the docs archives rebuild …
Oct 8, 2025
4ba846b
[3.12] gh-137638: Use macos-15-intel in GitHub Actions (GH-139154) (#…
Oct 8, 2025
52fe044
[3.12] Remove Cirrus macOS runners from CI (GH-139799) (#139804)
Oct 8, 2025
26534f4
[3.12] gh-139310: skip `test_aead_aes_gcm` for Linux kernel between 6…
Oct 9, 2025
4a5632f
Python 3.12.12
Oct 9, 2025
8cb2092
Post 3.12.12
Oct 9, 2025
c8a5f34
[3.12] gh-136065: Fix quadratic complexity in os.path.expandvars() (G…
Oct 31, 2025
a183a11
[3.12] gh-137836: Support more RAWTEXT and PLAINTEXT elements in HTML…
Oct 31, 2025
d849cf5
[3.12] gh-119452: Fix a potential virtual memory allocation denial of…
Dec 15, 2025
0e4cd89
[3.12] gh-90949: add Expat API to prevent XML deadly allocations (CVE…
Dec 17, 2025
9c9dda6
[3.12] gh-142145: Remove quadratic behavior in node ID cache clearing…
Dec 22, 2025
5a8b196
[3.12] gh-119342: Fix a potential denial of service in plistlib (GH-1…
Dec 22, 2025
14b1fdb
[3.12] gh-119451: Fix a potential denial of service in http.client (G…
Dec 22, 2025
1c00d7b
[3.12] gh-136063: fix quadratic-complexity parsing in `email.message.…
Dec 22, 2025
2750f3c
[3.12] Use ``sphinxext-opengraph`` v0.13.0 (GH-140425) (#140430)
Dec 22, 2025
64745cf
[3.12] Bump GitHub Actions (GH-143757) (#143801)
Jan 13, 2026
4802b96
[3.12] gh-143916: Reject control characters in wsgiref.headers.Header…
Jan 19, 2026
4ed11d3
[3.12] gh-143925: Reject control characters in data: URL mediatypes (…
Jan 25, 2026
6270010
[3.12] gh-143919: Reject control characters in http cookies (#144091)
Jan 25, 2026
a76e4cd
[3.12] gh-143935: Email preserve parens when folding comments (GH-143…
Jan 26, 2026
276b9f2
[3.12] gh-74453: Add stronger security warning to os.path.commonprefix
Feb 3, 2026
dc35395
[3.12] gh-144484: Warn users not to use wsgiref in production
Feb 5, 2026
e417f05
[3.12] gh-144125: email: verify headers are sound in BytesGenerator
Feb 13, 2026
9fc477c
[3.12] gh-144833: Fix use-after-free in SSL module when SSL_new() fai…
Feb 23, 2026
1899a02
[3.12] gh-144363: Update bundled libexpat to 2.7.4 (GH-144365) (#144501)
Feb 23, 2026
8bb044d
[3.12] gh-143916: Allow HTAB in wsgiref header values (#145141)
Feb 23, 2026
71bb5db
[3.12] gh-100538: Add workflow to verify bundled libexpat (GH-145359)…
Mar 2, 2026
3bb231a
Python 3.12.13
Mar 3, 2026
f6082b1
Post 3.12.13
Mar 3, 2026
ac82ec4
[3.12] gh-136155: Docs: check for EPUB fatal errors in CI (GH-134074)…
Mar 3, 2026
57cc1bd
[3.12] gh-145455: Show output of blurb & sphinx-build version command…
Mar 5, 2026
cbba611
[3.12] gh-143930: Reject leading dashes in webbrowser URLs (GH-146360)
Mar 24, 2026
7f2d89a
[3.12] gh-145098: Run Apple Silicon macOS CI on macos-26 (Tahoe) (GH-…
Mar 30, 2026
66dd179
[3.12] Remove MSI build from security-only branch (#148007)
Apr 2, 2026
c77823d
[3.12] gh-146488: hash-pin all action references (gh-146489) (#147980)
Apr 2, 2026
cc02351
[3.12] gh-143930: Tweak the exception message and increase test cover…
Apr 3, 2026
24e899c
[3.12] Add `permissions: {}` to all reusable workflows (#148114) (#14…
Apr 5, 2026
2096c5d
[3.12] gh-145098: Use `macos-15-intel` instead of unstable `macos-26-…
Apr 5, 2026
20b4393
[3.12] gh-137586: Open external osascript program with absolute path …
Apr 7, 2026
82b53a6
[3.12] Default GHA permissions to `contents: read` (GH-148346) (#148388)
Apr 12, 2026
e378eda
[3.12] gh-145548: Use VMADDR_CID_LOCAL in VSOCK socket tests (GH-1455…
Apr 15, 2026
d109507
[3.12] gh-141707: Skip TarInfo DIRTYPE normalization during GNU long …
May 18, 2026
c00c386
[3.12] gh-146211: Reject CR/LF in HTTP tunnel request headers (GH-146…
May 18, 2026
6cad028
[3.12] gh-146083: Upgrade bundled Expat to 2.7.5 (GH-146085) (#146605)
May 18, 2026
0d28f5e
[3.12] gh-149486: tarfile.data_filter: validate written link target (…
May 18, 2026
c887044
[3.12] gh-87451: Apply CVE-2021-4189 PASV fix to ftplib.ftpcp() (GH-1…
May 18, 2026
aeb348e
[3.12] gh-149017: Upgrade bundled Expat to 2.8.0 (GH-149020) (GH-1490…
May 18, 2026
ae9ebe4
[3.12] Replace deprecated action with RtD app (GH-149111) (#150233)
May 22, 2026
7c999be
[3.12] CI: Move Homebrew dependencies into Brewfile (GH-148335) (GH-1…
May 22, 2026
9ae4044
[3.12] gh-145098: Use `macos-26-intel` instead of `macos-15-intel` (G…
Jul 6, 2026
be914bb
[3.12] gh-146531: Skip hanging `wm iconbitmap` test on macOS 26 Intel…
Jul 6, 2026
1f8a87a
[3.12] gh-146531: Broaden `wm_iconbitmap` skip on macOS 26 Intel (GH-…
Jul 9, 2026
6301471
[3.12] Some tidying for GitHub Actions (GH-154950) (#154998)
Jul 31, 2026
c70adad
[3.12] gh-145506: Fixes CVE-2026-2297 by ensuring SourcelessFileLoade…
Aug 4, 2026
d45067d
[3.12] gh-144370: Disallow usage of control characters in status in w…
Aug 4, 2026
24ce88b
[3.12] gh-145986: Avoid unbound C recursion in `conv_content_model` i…
Aug 4, 2026
3974092
[3.12] gh-145599, CVE 2026-3644: Reject control characters in `http.c…
Aug 4, 2026
fdda1e2
[3.12] gh-94632: document the subprocess need for extra_groups=() wit…
Aug 4, 2026
ea8d735
[3.12] gh-148395: Fix a possible UAF in `{LZMA,BZ2,_Zlib}Decompressor…
Aug 4, 2026
a4d3edf
[3.12] gh-148169: Fix webbrowser `%action` substitution bypass of das…
Aug 4, 2026
6c8b85b
[3.12] gh-148808: Add boundary check to asyncio.AbstractEventLoop.soc…
Aug 4, 2026
a6650a2
[3.12] gh-146581: Fix vulnerability in shutil.unpack_archive() for ZI…
Aug 4, 2026
2dd5ce8
[3.12] gh-149698: Update bundled expat to 2.8.1 (GH-149699) (#150020)
Aug 4, 2026
d3ab945
[3.12] gh-149079: Fix O(n^2) canonical ordering in unicodedata.normal…
Aug 4, 2026
991e6cf
[3.12] gh-150599: Prevent bz2 decompressor reuse after errors (#15060…
Aug 4, 2026
db195e3
[3.12] gh-90949: expose Expat API to tune exponential expansion prote…
Aug 4, 2026
03ab7b4
[3.12] gh-151544: Fixes CVE-2026-12003 by removing the fallback to %V…
Aug 4, 2026
f5e2776
[3.12] gh-151981: Make tarfile._Stream.seek break at EOF (GH-151982) …
Aug 4, 2026
e5fdbd8
[3.12] gh-151558: Fix symlink escape via `tarfile` hardlink-extractio…
Aug 4, 2026
db4a157
[3.12] gh-143927: Normalize all line endings (CR, CRLF, and LF) in co…
Aug 4, 2026
a51c520
[3.12] gh-150743: Limit trailer lines and interim responses read by h…
Aug 4, 2026
0367912
[3.12] gh-151987: Pass filter_function to TarFile._extract_one() duri…
Aug 4, 2026
785df8f
[3.12] gh-153030: Fix quadratic complexity in incremental parsing in …
Aug 4, 2026
5dfdc5f
[3.12] RTD Previews: Get correct base branch for backports (GH-150690…
Aug 4, 2026
3ecb27b
[3.12] gh-149776: Skip UDP Lite tests if it's not supported (#149777)…
Aug 4, 2026
d1e23e2
[3.12] gh-153438: Update NuGet download URL (GH-153482) (GH-153515) (…
Aug 4, 2026
5755830
[3.12] gh-146333: Fix quadratic regex backtracking in configparser op…
Aug 4, 2026
d781066
[3.12] gh-149231: tomllib: Limit the number of parts in a key (GH-149…
Aug 4, 2026
96510a3
[3.12] gh-152674: Avoid quadratic behavior in xml.etree.ElementPath i…
Aug 4, 2026
94ea52f
[3.12] gh-109638: Fix exponential time in csv.Sniffer for doubled quo…
Aug 4, 2026
d9d98e0
[3.12] gh-139808: Add branch protections for aarch64 in asm_trampolin…
Aug 4, 2026
063d455
[3.12] gh-98820: Fix quadratic time in csv.Sniffer for quoted fields …
Aug 4, 2026
af5a056
[3.12] gh-151365: Temporarily downgrade Git to prevent fatal error (G…
Aug 11, 2026
e37df2a
[3.12] gh-149018: Use `XML_SetHashSalt16Bytes` in `pyexpat`/`_element…
Aug 11, 2026
01d1f81
[3.12] gh-152216: Update bundled expat to 2.8.2 (GH-152234) (GH-15474…
Aug 11, 2026
c546712
[3.12] gh-155558: Update bundled Expat to 2.8.3 (GH-155560) (#155615)
Aug 12, 2026
2abcf90
Python 3.12.14
Aug 12, 2026
dc9697f
Post 3.12.14
Aug 12, 2026
06ba5f4
[3.12] GH-155757: Set `--argv0` for wasmtime (#155758)
Aug 14, 2026
58c86ab
[3.12] GH-155757: Set `--argv0` for wasmtime in configure.ac (#155815)
Aug 14, 2026
851cf9a
[3.12] gh-155694: Scope HTTPPasswordMgr credentials by URL scheme (GH…
Aug 20, 2026
ead210d
[3.12] Add a timeout to the 'Check if the ABI has changed' job (GH-15…
Aug 20, 2026
a5bfd96
[3.12] gh-155999: `tarfile`: handle a member that leaves the destinat…
Aug 20, 2026
e114415
[3.12] gh-151365: Revert temporary Git downgrade (GH-156584) (GH-1565…
Aug 30, 2026
9ac916c
[3.12] gh-156353: Fix configparser space delimiter parsing (GH-156382…
Sep 8, 2026
278c3c2
[3.12] gh-156723: Update bundled libexpat to version 2.8.4 (GH-156724…
Sep 8, 2026
c016c25
[3.12] gh-155292: Don't consider Unicode codepoint attributes outside…
Sep 8, 2026
da0b9b9
[3.12] gh-157983: Skip test for ctypes.util.find_library when ld is m…
Sep 24, 2026
e41f7ca
[3.12] build(deps): bump the actions group with 12 updates (#158385)
Sep 29, 2026
f30b0d1
[3.12] gh-158446: Reject float format precision near INT_MAX (GH-1584…
Sep 30, 2026
46133cd
[3.12] gh-156293: Use-after-free for server-side SSLContext with sni_…
Sep 30, 2026
cc16898
[3.12] gh-157190: Fix tarfile `data`/`tar` filter bypass via hard lin…
Sep 30, 2026
308b715
[3.12] gh-157953: Update bundled Expat to 2.8.5 (GH-157957) (#157999)
Sep 30, 2026
f5b8f7a
[3.12] gh-148508: Add another common pattern for iOS SSL failures to …
Sep 30, 2026
458e713
[3.12] gh-157579: Fix race condition in the cleanup of tempfile.Tempo…
Sep 30, 2026
4f88347
Revert "[3.12] gh-157579: Fix race condition in the cleanup of tempfi…
Sep 30, 2026
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
  •  
  •  
  •  
85 changes: 2 additions & 83 deletions .azure-pipelines/ci.yml
Original file line number Diff line number Diff line change
@@ -1,97 +1,16 @@
variables:
coverage: false

trigger: ['main', '3.11', '3.10', '3.9', '3.8', '3.7']
trigger: ['main', '3.13', '3.12', '3.11', '3.10', '3.9', '3.8']

jobs:
- job: Prebuild
displayName: Pre-build checks

pool:
vmImage: ubuntu-22.04
vmImage: ubuntu-24.04

steps:
- template: ./prebuild-checks.yml


- job: Docs_PR
displayName: Docs PR
dependsOn: Prebuild
condition: and(succeeded(), eq(dependencies.Prebuild.outputs['docs.run'], 'true'))

pool:
vmImage: ubuntu-22.04

steps:
- template: ./docs-steps.yml
parameters:
upload: true


- job: macOS_CI_Tests
displayName: macOS CI Tests
dependsOn: Prebuild
#condition: and(succeeded(), eq(dependencies.Prebuild.outputs['tests.run'], 'true'))
# bpo-39837: macOS tests on Azure Pipelines are disabled
condition: false

variables:
testRunTitle: '$(build.sourceBranchName)-macos'
testRunPlatform: macos

pool:
vmImage: macos-10.15

steps:
- template: ./macos-steps.yml


- job: Ubuntu_CI_Tests
displayName: Ubuntu CI Tests
dependsOn: Prebuild
condition: and(succeeded(), eq(dependencies.Prebuild.outputs['tests.run'], 'true'))

pool:
vmImage: ubuntu-22.04

variables:
testRunTitle: '$(build.sourceBranchName)-linux'
testRunPlatform: linux
openssl_version: 1.1.1t

steps:
- template: ./posix-steps.yml
parameters:
dependencies: apt


- job: Ubuntu_Coverage_CI_Tests
displayName: Ubuntu CI Tests (coverage)
dependsOn: Prebuild
condition: |
and(
and(
succeeded(),
eq(variables['coverage'], 'true')
),
eq(dependencies.Prebuild.outputs['tests.run'], 'true')
)

pool:
vmImage: ubuntu-22.04

variables:
testRunTitle: '$(Build.SourceBranchName)-linux-coverage'
testRunPlatform: linux-coverage
openssl_version: 1.1.1t

steps:
- template: ./posix-steps.yml
parameters:
dependencies: apt
coverage: true


- job: Windows_CI_Tests
displayName: Windows CI Tests
dependsOn: Prebuild
Expand Down
47 changes: 0 additions & 47 deletions .azure-pipelines/docs-steps.yml

This file was deleted.

27 changes: 0 additions & 27 deletions .azure-pipelines/macos-steps.yml

This file was deleted.

73 changes: 8 additions & 65 deletions .azure-pipelines/posix-steps.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,3 @@
parameters:
coverage: false
sudo_dependencies: sudo
dependencies: apt
patchcheck: true
xvfb: true

steps:
- checkout: self
clean: true
Expand All @@ -14,7 +7,7 @@ steps:
- script: sudo setfacl -Rb /home/vsts
displayName: 'Workaround ACL issue'

- script: ${{ parameters.sudo_dependencies }} ./.azure-pipelines/posix-deps-${{ parameters.dependencies }}.sh $(openssl_version)
- script: sudo ./.azure-pipelines/posix-deps-apt.sh $(openssl_version)
displayName: 'Install dependencies'

- script: ./configure --with-pydebug
Expand All @@ -23,61 +16,11 @@ steps:
- script: make -j4
displayName: 'Build CPython'

- ${{ if eq(parameters.coverage, 'true') }}:
- script: ./python -m venv venv && ./venv/bin/python -m pip install -U coverage
displayName: 'Set up virtual environment'

- script: ./venv/bin/python -m test.pythoninfo
displayName: 'Display build info'

- script: |
$COMMAND -m coverage run --pylib -m test \
--fail-env-changed \
-uall,-cpu \
--junit-xml=$(build.binariesDirectory)/test-results.xml \
-x test_multiprocessing_fork \
-x test_multiprocessing_forkserver \
-x test_multiprocessing_spawn \
-x test_concurrent_futures
displayName: 'Tests with coverage'
env:
${{ if eq(parameters.xvfb, 'true') }}:
COMMAND: xvfb-run ./venv/bin/python
${{ if ne(parameters.xvfb, 'true') }}:
COMMAND: ./venv/bin/python

- script: ./venv/bin/python -m coverage xml
displayName: 'Generate coverage.xml'

- script: source ./venv/bin/activate && bash <(curl -s https://codecov.io/bash) -y .github/codecov.yml
displayName: 'Publish code coverage results'


- ${{ if ne(parameters.coverage, 'true') }}:
- script: make pythoninfo
displayName: 'Display build info'

- script: $COMMAND buildbottest TESTOPTS="-j4 -uall,-cpu --junit-xml=$(build.binariesDirectory)/test-results.xml"
displayName: 'Tests'
env:
${{ if eq(parameters.xvfb, 'true') }}:
COMMAND: xvfb-run make
${{ if ne(parameters.xvfb, 'true') }}:
COMMAND: make

- ${{ if eq(parameters.patchcheck, 'true') }}:
- script: |
git fetch origin
./python Tools/patchcheck/patchcheck.py --ci true
displayName: 'Run patchcheck.py'
condition: and(succeeded(), eq(variables['Build.Reason'], 'PullRequest'))

- script: make pythoninfo
displayName: 'Display build info'

- task: PublishTestResults@2
displayName: 'Publish Test Results'
inputs:
testResultsFiles: '$(build.binariesDirectory)/test-results.xml'
mergeTestResults: true
testRunTitle: $(testRunTitle)
platform: $(testRunPlatform)
condition: succeededOrFailed()
- script: |
git fetch origin
./python Tools/patchcheck/patchcheck.py --ci true
displayName: 'Run patchcheck.py'
condition: and(succeeded(), eq(variables['Build.Reason'], 'PullRequest'))
103 changes: 4 additions & 99 deletions .azure-pipelines/pr.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,4 @@
variables:
coverage: false

pr: ['main', '3.11', '3.10', '3.9', '3.8', '3.7']
pr: ['main', '3.12', '3.11', '3.10', '3.9', '3.8', '3.7']

jobs:
- job: Prebuild
Expand All @@ -14,40 +11,8 @@ jobs:
- template: ./prebuild-checks.yml


- job: Docs_PR
displayName: Docs PR
dependsOn: Prebuild
condition: and(succeeded(), eq(dependencies.Prebuild.outputs['docs.run'], 'true'))

pool:
vmImage: ubuntu-22.04

steps:
- template: ./docs-steps.yml


- job: macOS_PR_Tests
displayName: macOS PR Tests
dependsOn: Prebuild
#condition: and(succeeded(), eq(dependencies.Prebuild.outputs['tests.run'], 'true'))
# bpo-39837: macOS tests on Azure Pipelines are disabled
condition: false

variables:
testRunTitle: '$(system.pullRequest.TargetBranch)-macos'
testRunPlatform: macos

pool:
vmImage: macos-10.15

steps:
- template: ./macos-steps.yml
parameters:
targetBranch: $(System.PullRequest.TargetBranch)


- job: Ubuntu_PR_Tests
displayName: Ubuntu PR Tests
- job: Ubuntu_Patchcheck
displayName: Ubuntu patchcheck
dependsOn: Prebuild
condition: and(succeeded(), eq(dependencies.Prebuild.outputs['tests.run'], 'true'))

Expand All @@ -57,67 +22,7 @@ jobs:
variables:
testRunTitle: '$(system.pullRequest.TargetBranch)-linux'
testRunPlatform: linux
openssl_version: 1.1.1t

steps:
- template: ./posix-steps.yml
parameters:
dependencies: apt


- job: Ubuntu_Coverage_PR_Tests
displayName: Ubuntu PR Tests (coverage)
dependsOn: Prebuild
condition: |
and(
and(
succeeded(),
eq(variables['coverage'], 'true')
),
eq(dependencies.Prebuild.outputs['tests.run'], 'true')
)

pool:
vmImage: ubuntu-22.04

variables:
testRunTitle: '$(Build.SourceBranchName)-linux-coverage'
testRunPlatform: linux-coverage
openssl_version: 1.1.1t
openssl_version: 1.1.1u

steps:
- template: ./posix-steps.yml
parameters:
dependencies: apt
coverage: true


- job: Windows_PR_Tests
displayName: Windows PR Tests
dependsOn: Prebuild
condition: and(succeeded(), eq(dependencies.Prebuild.outputs['tests.run'], 'true'))

pool:
vmImage: windows-2022

strategy:
matrix:
win32:
arch: win32
buildOpt: '-p Win32'
testRunTitle: '$(System.PullRequest.TargetBranch)-win32'
testRunPlatform: win32
win64:
arch: amd64
buildOpt: '-p x64'
testRunTitle: '$(System.PullRequest.TargetBranch)-win64'
testRunPlatform: win64
winarm64:
arch: arm64
buildOpt: '-p arm64'
maxParallel: 4

steps:
- template: ./windows-steps.yml
parameters:
targetBranch: $(System.PullRequest.TargetBranch)
Loading