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