Back
Python Software Foundation
Patches for Python 3.14 x64
Windows
5 patches available
Python is commonly used for developing websites and software, task automation, data analysis, and data visualization.
Python 3.14 x64 Version 3.14.6150.0
Release Date
6/10/2026
Bug Fix?
Yes
Minor Release?
No
Patch Notes
Python 3.14.6 final$$$Release date: 2026-06-10$$$$$$Security$$$gh-151159: Update Android and iOS installers to use OpenSSL 3.5.7.$$$$$$gh-150599: Fix a possible stack buffer overflow in bz2 when a bz2.BZ2Decompressor is reused after a decompression error. The decompressor now becomes unusable after libbz2 reports an error.$$$$$$gh-149835: shutil.move() now resolves symlinks via os.path.realpath() when checking whether the destination is inside the source directory; preventing a symlink-based bypass of that guard.$$$$$$gh-149698: Update bundled libexpat to version 2.8.1 for the fix for CVE 2026-45186.$$$$$$gh-87451: The ftplib module’s undocumented ftpcp function no longer trusts the IPv4 address value returned from the source server in response to the PASV command by default; completing the fix for CVE-2021-4189. As with ftplib.FTP; the former behavior can be re-enabled by setting the trust_server_pasv_ipv4_address attribute on the source ftplib.FTP instance to True. Thanks to Qi Deng at Aurascape AI for the report.$$$$$$gh-149486: tarfile.data_filter() now validates link targets using the same normalised value that is written to disk; strips trailing separators from the member name when resolving a symlink’s directory; and rejects link members that would replace the destination directory itself. This closes several path-traversal bypasses of the data extraction filter.$$$$$$gh-149079: Fix a potential denial of service in unicodedata.normalize(). The canonical ordering step of Unicode normalization used a quadratic-time insertion sort for reordering combining characters; which could be exploited with crafted input containing many combining characters in non-canonical order. Replaced with a linear-time counting sort for long runs.$$$$$$gh-149018: Improved protection against XML hash-flooding attacks in xml.parsers.expat and xml.etree.ElementTree when Python is compiled with libExpat 2.8.0 or later.$$$$$$Core and Builtins$$$gh-151112: Fix a crash in the compiler that could occur when running out of memory.$$$$$$gh-151126: Fix a crash; when there’s no memory left on a device; which happened in:$$$$$$code compilation - _winapi.CreateProcess()$$$$$$Now these places raise proper MemoryError errors.$$$$$$gh-150700: Fix a SystemError when compiling a class-scope comprehension containing a lambda that references __class__; __classdict__; or __conditional_annotations__. Patch by Bartosz Slawecki.$$$$$$gh-150633: Fix the frozen importer accepting module names with embedded null bytes; which caused it to bypass the sys.modules cache and create duplicate module objects.$$$$$$gh-148613: Fix a data race in the free-threaded build between gc.set_threshold() and garbage collection scheduling during object allocation.$$$$$$gh-149156: Fix an intermittent crash after os.fork() when perf trampoline profiling is enabled and the child returns through trampoline frames inherited from the parent process.$$$$$$gh-149449: Fix a use-after-free crash when the unicodedata module was removed from sys.modules and garbage-collected between calls that decode $$${...} escapes or use the namereplace codec error handler.$$$$$$gh-150207: Fix a crash when a memory allocation fails during tokenizer initialization. A proper MemoryError is now raised instead.$$$$$$gh-150107: asyncio: sendfile() and sock_sendfile() event loop methods now call file.seek(offset) if file has a seek() method; even if offset is 0 (default value).$$$$$$gh-150146: Fix a crash on a complex type variable substitution.$$$$$$from typing import TypeVar; memoryview[TypeVar()][*typing.Mapping[...; ...]] used to fail due to missing NULL check on _unpack_args C function call.$$$$$$gh-149590: Fix crash when faulthandler is imported more than once.$$$$$$gh-149816: Fix a race condition in _PyBytes_FromList in free-threading mode.$$$$$$gh-149816: Fix a race condition in memoryview with free-threading.$$$$$$gh-149805: Fix a SystemError when compiling a compiling __classdict__ class annotation. Found by OSS-Fuzz in #512907042.$$$$$$gh-149738: sqlite3: Disa
Python 3.14 x64 Version 3.14.5150.0
Release Date
5/10/2026
Bug Fix?
Yes
Minor Release?
No
Patch Notes
Python 3.14.5 final$$$Release date: 2026-05-10$$$$$$Security$$$gh-148178: Hardened _remote_debugging by validating remote debug offset tables before using them to size memory reads or interpret remote layouts.$$$$$$Core and Builtins$$$gh-146270: Fix a sequential consistency bug in structmember.c.$$$$$$gh-137293: Fix SystemError when searching ELF Files in sys.remote_exec().$$$$$$Library$$$gh-149388: Make asyncio.windows_utils.PipeHandle closing idempotent.$$$$$$gh-149377: Update bundled pip to 26.1.1$$$$$$gh-138907: Support RFC 9309 in urllib.robotparser.$$$$$$gh-148615: Fix pdb to accept standard – end of options separator. Reported by haampie. Patched by Shrey Naithani.$$$$$$gh-130750: Restore quoting of choices in argparse error messages for improved clarity and consistency with documentation.$$$$$$gh-141449: Improve tests and documentation for non-function callables as annotate functions.$$$$$$Tests$$$gh-149425: Increase time delta in test.test_zipfile.test_core.OtherTests.test_write_without_source_date_epoch$$$$$$gh-145736: Fix test_tkinter test_configure_values test case backport miss for Tk 9.$$$$$$macOS$$$gh-142295: For Python macOS framework builds; update Info.plist files to be more compliant with current Apple guidelines. Original patch contributed by Martinus Verburg.$$$$$$gh-124111: Update macOS installer to use Tcl/Tk 9.0.3.
Python 3.14 x64 Version 3.14.5150.0
Release Date
5/10/2026
Bug Fix?
Yes
Minor Release?
No
Patch Notes
Python 3.14.5 final$$$Release date: 2026-05-10$$$$$$Security$$$gh-148178: Hardened _remote_debugging by validating remote debug offset tables before using them to size memory reads or interpret remote layouts.$$$$$$Core and Builtins$$$gh-146270: Fix a sequential consistency bug in structmember.c.$$$$$$gh-137293: Fix SystemError when searching ELF Files in sys.remote_exec().$$$$$$Library$$$gh-149388: Make asyncio.windows_utils.PipeHandle closing idempotent.$$$$$$gh-149377: Update bundled pip to 26.1.1$$$$$$gh-138907: Support RFC 9309 in urllib.robotparser.$$$$$$gh-148615: Fix pdb to accept standard – end of options separator. Reported by haampie. Patched by Shrey Naithani.$$$$$$gh-130750: Restore quoting of choices in argparse error messages for improved clarity and consistency with documentation.$$$$$$gh-141449: Improve tests and documentation for non-function callables as annotate functions.$$$$$$Tests$$$gh-149425: Increase time delta in test.test_zipfile.test_core.OtherTests.test_write_without_source_date_epoch$$$$$$gh-145736: Fix test_tkinter test_configure_values test case backport miss for Tk 9.$$$$$$macOS$$$gh-142295: For Python macOS framework builds; update Info.plist files to be more compliant with current Apple guidelines. Original patch contributed by Martinus Verburg.$$$$$$gh-124111: Update macOS installer to use Tcl/Tk 9.0.3.
Python 3.14 x64 Version 3.14.4150.0
Release Date
4/7/2026
Bug Fix?
Yes
Minor Release?
No
Patch Notes
Python 3.14.4 final$$$Release date: 2026-04-07$$$$$$Security$$$gh-145986: xml.parsers.expat: Fixed a crash caused by unbounded C recursion when converting deeply nested XML content models with ElementDeclHandler(). This addresses CVE 2026-4224.$$$$$$gh-145599: Reject control characters in http.cookies.Morsel update() and js_output(). This addresses CVE 2026-3644.$$$$$$gh-145506: Fixes CVE 2026-2297 by ensuring that SourcelessFileLoader uses io.open_code() when opening .pyc files.$$$$$$gh-144370: Disallow usage of control characters in status in wsgiref.handlers to prevent HTTP header injections. Patch by Benedikt Johannes.$$$$$$gh-143930: Reject leading dashes in URLs passed to webbrowser.open().$$$$$$Refer: https://docs.python.org/release/3.14.4/whatsnew/changelog.html#python-3-14-4-final
Python 3.14 x64 Version 3.14.4150.0
Release Date
4/7/2026
Bug Fix?
Yes
Minor Release?
No
Patch Notes
Python 3.14.4 final$$$Release date: 2026-04-07$$$$$$Security$$$gh-145986: xml.parsers.expat: Fixed a crash caused by unbounded C recursion when converting deeply nested XML content models with ElementDeclHandler(). This addresses CVE 2026-4224.$$$$$$gh-145599: Reject control characters in http.cookies.Morsel update() and js_output(). This addresses CVE 2026-3644.$$$$$$gh-145506: Fixes CVE 2026-2297 by ensuring that SourcelessFileLoader uses io.open_code() when opening .pyc files.$$$$$$gh-144370: Disallow usage of control characters in status in wsgiref.handlers to prevent HTTP header injections. Patch by Benedikt Johannes.$$$$$$gh-143930: Reject leading dashes in URLs passed to webbrowser.open().$$$$$$Refer: https://docs.python.org/release/3.14.4/whatsnew/changelog.html#python-3-14-4-final
Python 3.14 x64 Version 3.14.4150.0
Release Date
4/7/2026
Bug Fix?
Yes
Minor Release?
No
Patch Notes
Python 3.14.4 final$$$Release date: 2026-04-07$$$$$$Security$$$gh-145986: xml.parsers.expat: Fixed a crash caused by unbounded C recursion when converting deeply nested XML content models with ElementDeclHandler(). This addresses CVE 2026-4224.$$$$$$gh-145599: Reject control characters in http.cookies.Morsel update() and js_output(). This addresses CVE 2026-3644.$$$$$$gh-145506: Fixes CVE 2026-2297 by ensuring that SourcelessFileLoader uses io.open_code() when opening .pyc files.$$$$$$gh-144370: Disallow usage of control characters in status in wsgiref.handlers to prevent HTTP header injections. Patch by Benedikt Johannes.$$$$$$gh-143930: Reject leading dashes in URLs passed to webbrowser.open().$$$$$$Refer: https://docs.python.org/release/3.14.4/whatsnew/changelog.html#python-3-14-4-final
Python 3.14 x64 Version 3.14.2150.0
Release Date
12/5/2025
Bug Fix?
Yes
Minor Release?
Yes
Patch Notes
Python 3.14.2 final$$$Release date: 2025-12-05$$$$$$Security$$$gh-142145: Remove quadratic behavior in xml.minidom node ID cache clearing.$$$$$$gh-119452: Fix a potential memory denial of service in the http.server module. When a malicious user is connected to the CGI server on Windows; it could cause an arbitrary amount of memory to be allocated. This could have led to symptoms including a MemoryError; swapping; out of memory (OOM) killed processes or containers; or even system crashes.$$$$$$Library$$$gh-140797: Revert changes to the undocumented re.Scanner class. Capturing groups are still allowed for backward compatibility; although using them can lead to incorrect result. They will be forbidden in future Python versions.$$$$$$gh-142206: The resource tracker in the multiprocessing module now uses the original communication protocol; as in Python 3.14.0 and below; by default. This avoids issues with upgrading Python while it is running. (Note that such ‘in-place’ upgrades are not tested.) The tracker remains compatible with subprocesses that use new protocol (that is; subprocesses using Python 3.13.10; 3.14.1 and 3.15).$$$$$$gh-142214: Fix two regressions in dataclasses in Python 3.14.1 related to annotations.$$$$$$An exception is no longer raised if slots=True is used and the __init__ method does not have an __annotate__ attribute (likely because init=False was used).$$$$$$An exception is no longer raised if annotations are requested on the __init__ method and one of the fields is not present in the class annotations. This can occur in certain dynamic scenarios.$$$$$$Patch by Jelle Zijlstra.$$$$$$Core and Builtins$$$gh-142218: Fix crash when inserting into a split table dictionary with a non str key that matches an existing key.$$$$$$gh-116738: Fix cmath data race when initializing trigonometric tables with subinterpreters.
Python 3.14 x64 Version 3.14.2150.0
Release Date
12/5/2025
Bug Fix?
Yes
Minor Release?
Yes
Patch Notes
Python 3.14.2 final$$$Release date: 2025-12-05$$$$$$Security$$$gh-142145: Remove quadratic behavior in xml.minidom node ID cache clearing.$$$$$$gh-119452: Fix a potential memory denial of service in the http.server module. When a malicious user is connected to the CGI server on Windows; it could cause an arbitrary amount of memory to be allocated. This could have led to symptoms including a MemoryError; swapping; out of memory (OOM) killed processes or containers; or even system crashes.$$$$$$Library$$$gh-140797: Revert changes to the undocumented re.Scanner class. Capturing groups are still allowed for backward compatibility; although using them can lead to incorrect result. They will be forbidden in future Python versions.$$$$$$gh-142206: The resource tracker in the multiprocessing module now uses the original communication protocol; as in Python 3.14.0 and below; by default. This avoids issues with upgrading Python while it is running. (Note that such ‘in-place’ upgrades are not tested.) The tracker remains compatible with subprocesses that use new protocol (that is; subprocesses using Python 3.13.10; 3.14.1 and 3.15).$$$$$$gh-142214: Fix two regressions in dataclasses in Python 3.14.1 related to annotations.$$$$$$An exception is no longer raised if slots=True is used and the __init__ method does not have an __annotate__ attribute (likely because init=False was used).$$$$$$An exception is no longer raised if annotations are requested on the __init__ method and one of the fields is not present in the class annotations. This can occur in certain dynamic scenarios.$$$$$$Patch by Jelle Zijlstra.$$$$$$Core and Builtins$$$gh-142218: Fix crash when inserting into a split table dictionary with a non str key that matches an existing key.$$$$$$gh-116738: Fix cmath data race when initializing trigonometric tables with subinterpreters.
Python 3.14 x64 Version 3.14.150.0
Release Date
10/7/2025
Bug Fix?
Yes
Minor Release?
No
Patch Notes
Python 3.14.0 final$$$Release date: 2025-10-07$$$$$$Windows$$$gh-139573: Updated bundled version of OpenSSL to 3.0.18.$$$$$$Tools/Demos$$$gh-139330: SBOM generation tool didn’t cross-check the version and checksum values against the Modules/expat/refresh.sh script; leading to the values becoming out-of-date during routine updates.$$$$$$gh-132006: XCframeworks now include privacy manifests to satisfy Apple App Store submission requirements.$$$$$$gh-138171: A script for building an iOS XCframework was added. As part of this change; the top level iOS folder has been moved to be a subdirectory of the Apple folder.$$$$$$Security$$$gh-139400: xml.parsers.expat: Make sure that parent Expat parsers are only garbage-collected once they are no longer referenced by subparsers created by ExternalEntityParserCreate(). Patch by Sebastian Pipping.$$$$$$Library$$$gh-139312: Upgrade bundled libexpat to 2.7.3
Python 3.14 x64 Version 3.14.150.0
Release Date
10/7/2025
Bug Fix?
Yes
Minor Release?
No
Patch Notes
Python 3.14.0 final$$$Release date: 2025-10-07$$$$$$Windows$$$gh-139573: Updated bundled version of OpenSSL to 3.0.18.$$$$$$Tools/Demos$$$gh-139330: SBOM generation tool didn’t cross-check the version and checksum values against the Modules/expat/refresh.sh script; leading to the values becoming out-of-date during routine updates.$$$$$$gh-132006: XCframeworks now include privacy manifests to satisfy Apple App Store submission requirements.$$$$$$gh-138171: A script for building an iOS XCframework was added. As part of this change; the top level iOS folder has been moved to be a subdirectory of the Apple folder.$$$$$$Security$$$gh-139400: xml.parsers.expat: Make sure that parent Expat parsers are only garbage-collected once they are no longer referenced by subparsers created by ExternalEntityParserCreate(). Patch by Sebastian Pipping.$$$$$$Library$$$gh-139312: Upgrade bundled libexpat to 2.7.3
Python 3.14 x64 Version 3.14.150.0
Release Date
10/7/2025
Bug Fix?
Yes
Minor Release?
No
Patch Notes
Python 3.14.0 final$$$Release date: 2025-10-07$$$$$$Windows$$$gh-139573: Updated bundled version of OpenSSL to 3.0.18.$$$$$$Tools/Demos$$$gh-139330: SBOM generation tool didn’t cross-check the version and checksum values against the Modules/expat/refresh.sh script; leading to the values becoming out-of-date during routine updates.$$$$$$gh-132006: XCframeworks now include privacy manifests to satisfy Apple App Store submission requirements.$$$$$$gh-138171: A script for building an iOS XCframework was added. As part of this change; the top level iOS folder has been moved to be a subdirectory of the Apple folder.$$$$$$Security$$$gh-139400: xml.parsers.expat: Make sure that parent Expat parsers are only garbage-collected once they are no longer referenced by subparsers created by ExternalEntityParserCreate(). Patch by Sebastian Pipping.$$$$$$Library$$$gh-139312: Upgrade bundled libexpat to 2.7.3
Interested in automating patching for Python 3.14 x64?