[Python] Bump Python from 3.14.6 to 3.14.7 - #187
Merged
hayat01sh1da merged 1 commit intoAug 6, 2026
Merged
Conversation
hayat01sh1da
enabled auto-merge
August 6, 2026 04:13
hayat01sh1da
disabled auto-merge
August 6, 2026 04:37
hayat01sh1da
deleted the
hayat01sh1da/no-issue-number/python/bump-python-from-3.14.6-to-3.14.7
branch
August 6, 2026 04:37
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
1. Overview
This Pull Request bumps the CPython toolchain pinned by
coding-testsfrom 3.14.6 to 3.14.7.CPython 3.14.7 is the seventh maintenance release of the 3.14 series, published on 2026-08-05 with roughly 499 bugfixes, build improvements and documentation changes from 86 contributors since 3.14.6.
The pin drives the pyenv interpreter behind every Python kata under
python/and the versions advertised throughout the documentation.The bump is patch-level, so it carries no language-syntax, standard-library API or ABI break; the motivation is the security content, above all the
tarfileextraction-filter bypass (gh-151558) and the quadratic-parsing denial-of-service fixes inhtml.parserandxml.etree.ElementTree.Every one of the 3 touched files only restates the interpreter version, so none of this repository's own code changes behaviour.
2. Key Changes & Differences
2-1. Files Touched in This Repository
.python-versionpyenv install 3.14.7is required locally before the Python tracks are run again.SECURITY.mdpython/README.mdpytestheaders (platform linux -- Python ...) now read 3.14.7.2-2. Upstream Differences between CPython 3.14.6 and 3.14.7
CPython 3.14.7 landed on 2026-08-05 with roughly 499 bugfixes, build improvements and documentation changes from 86 contributors.
It is a patch release of the 3.14 series, so the language grammar, the standard-library API surface and the ABI are all unchanged; the following is what actually differs behind the version string.
Security
gh-151558— closed a bypass of thetarfileextraction filter (a follow-up to CVE-2025-4330) where a crafted archive could still create symlinks pointing outside the destination directory.gh-151987—tarfile.TarFile.extract()now applies the configured filter to link targets as well, not only to regular members.gh-151981—tarfileseeking now stops at the end of the stream instead of running past it.gh-153030— removed the quadratic complexity inhtml.parser.HTMLParserwhen incrementally parsing unterminated constructs, a denial-of-service vector for streamed input.gh-152674—xml.etree.ElementTreeno longer degrades to quadratic behaviour for XPath index predicates on large documents.gh-152216— the bundledlibexpatis updated to 2.8.2.gh-150743—http.clientnow caps chunked-response trailer lines and interim responses at 100 each, mitigating a denial-of-service vector from hostile servers.gh-143921—imaplibrejectsNUL,CRandLFinside IMAP commands, closing a command-injection vector.gh-143927—configparsernormalises line endings inside multi-line values.gh-151544—Modules/Setup.localis no longer treated as a source-tree indicator;pybuilddir.txtis used instead.Core and Builtins
gh-151238— fixed an interpreter crash while compiling concatenated f-strings / t-strings after an error.gh-154709— fixed an out-of-bounds access in reverse dictionary iterators.gh-154275— fixed a crash on deeply nested__parameters__intypes.GenericAlias.gh-151912— fixed a crash intype()when the metaclasstp_newslot isNULL.gh-151763— fixed a crash intypes.CodeTypedeallocation and on memory-allocation failure.gh-154695—asyncio.Taskwitheager_start=Trueno longer raisesAttributeError.gh-151218—PyConfig_Set()andsys.set_int_max_str_digits()now replacesys.flagsinstead of mutating it in place.gh-133931,gh-153298,gh-153809,gh-153932,gh-151644— a batch of free-threaded-build data races and crashes (function-object attributes,types.GenericAlias.__parameters__,asyncio.Taskdeallocation,enumerate.__reduce__(),sys.setdlopenflags()).Library
gh-155063— the bundledpipis bumped to 26.2.1.gh-155009—argparse.ArgumentParserpreserves the program name taken fromsys.argv[0].gh-154936— the JSON decoder reports the correct position for invalid control characters.gh-98820,gh-109638— removed the quadratic and exponential running time ofcsv.Sniffer.sniff()on quote-heavy input.gh-151814— fixed unbounded memory growth inio.TextIOWrapperon repeated empty writes.gh-151295,gh-148660,gh-151403,gh-151416— fixed use-after-free and crash paths inbytes.join(),collections.OrderedDict.copy(),subprocess.Popenandos.spawnv()when the input sequence mutates mid-call.gh-79366,gh-73458— fixed aloggingrace when a handler is removed duringemit()and a hang inlogging.config.listen()on port errors.gh-152569,gh-153761,gh-119710,gh-145030—asynciofixes: leaked waiting tasks inwait(), a dropped connection whensock_accept()is cancelled, a hang in subprocesswait()with inherited pipes, and write-pipe transports on macOS / Solaris.gh-151665,gh-150641—inspect.signature()now handles lazy type-alias evaluators, andtyping.evaluate_forward_ref()no longer leaks internal names.gh-154892,gh-152305,gh-154460,gh-154389— date and time fixes: azoneinfoC-accelerator crash withdatetimesubclasses,AttributeErrorfrom the pure-Pythondatetime.time.strftime(), a wrong ISO 8601 week number on OpenBSD, anduuid.uuid1()returning a version-4 UUID on OpenBSD.gh-154399,gh-109940—venvactivation fixes for non-interactive csh and forVIRTUAL_ENV_DISABLE_PROMPTon Windows.gh-93251,gh-154551,gh-117807— locale-encoding fixes insocket,ctypes.util.find_library()andmimetypes.3. Summary
tarfileextraction-filter bypass (gh-151558) and link-target filtering (gh-151987), thehtml.parserandxml.etree.ElementTreequadratic-parsing denial-of-service fixes (gh-153030,gh-152674), thehttp.clienttrailer and interim-response caps (gh-150743), theimaplibcontrol-character rejection (gh-143921) and bundled libexpat 2.8.2 (gh-152216).pyenv install 3.14.7andpyenv rehashlocally before touching the Python tracks again; CI resolves the pin on its own.pipin 3.14.7 is 26.2.1 (gh-155063), which already matches the pip version documented in the READMEs, so no further documentation change is needed.4. References
.python-versionSECURITY.mdpython/README.md