forked from pool/python314
- Tools/Demos
- gh-137873: The iOS test runner has been simplified,
resolving some issues that have been observed using
the runner in GitHub Actions and Azure Pipelines test
environments.
- Security
- gh-135661: Fix CDATA section parsing in
html.parser.HTMLParser according to the HTML5 standard: ]
]> and ]] > no longer end the CDATA section. Add private
method _set_support_cdata() which can be used to specify
how to parse <[CDATA[ — as a CDATA section in foreign
content (SVG or MathML) or as a bogus comment in the HTML
namespace.
- Library
- gh-138998: Update bundled libexpat to 2.7.2
- gh-118803: Add back collections.abc.ByteString and
typing.ByteString. Both had been removed in prior alpha,
beta and release candidates for Python 3.14, but their
removal has now been postponed to Python 3.17.
- gh-137226: Fix typing.get_type_hints() calls on generic
typing.TypedDict classes defined with string annotations.
- gh-138804: Raise TypeError instead of AttributeError when
an argument of incorrect type is passed to shlex.quote().
This restores the behavior of the function prior to 3.14.
- gh-128636: Fix crash in PyREPL when os.environ is
overwritten with an invalid value for mac
- gh-138514: Raise ValueError when a multi-character string
is passed to the echo_char parameter of getpass.getpass().
Patch by Benjamin Johnson.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python314?expand=0&rev=99
31 lines
1.4 KiB
Diff
31 lines
1.4 KiB
Diff
From 4bb41b28d5bac09bccd636d8c5fefe1a462f63a7 Mon Sep 17 00:00:00 2001
|
|
From: Alm <alon.menczer@gmail.com>
|
|
Date: Mon, 25 Aug 2025 08:56:38 +0300
|
|
Subject: [PATCH 1/4] Exclude .pyc files from the computed digest in the jit
|
|
stencils
|
|
|
|
---
|
|
Tools/jit/_targets.py | 3 +++
|
|
1 file changed, 3 insertions(+)
|
|
|
|
Index: Python-3.14.0rc2/Tools/jit/_targets.py
|
|
===================================================================
|
|
--- Python-3.14.0rc2.orig/Tools/jit/_targets.py
|
|
+++ Python-3.14.0rc2/Tools/jit/_targets.py
|
|
@@ -69,6 +69,9 @@ class _Target(typing.Generic[_S, _R]):
|
|
hasher.update(PYTHON_EXECUTOR_CASES_C_H.read_bytes())
|
|
hasher.update((self.pyconfig_dir / "pyconfig.h").read_bytes())
|
|
for dirpath, _, filenames in sorted(os.walk(TOOLS_JIT)):
|
|
+ # Exclude cache files from digest computation to ensure reproducible builds.
|
|
+ if dirpath.endswith("__pycache__"):
|
|
+ continue
|
|
for filename in filenames:
|
|
hasher.update(pathlib.Path(dirpath, filename).read_bytes())
|
|
return hasher.hexdigest()
|
|
Index: Python-3.14.0rc2/Misc/NEWS.d/next/Build/2025-08-27-09-52-45.gh-issue-138061.fMVS9w.rst
|
|
===================================================================
|
|
--- /dev/null
|
|
+++ Python-3.14.0rc2/Misc/NEWS.d/next/Build/2025-08-27-09-52-45.gh-issue-138061.fMVS9w.rst
|
|
@@ -0,0 +1 @@
|
|
+Ensure reproducible builds by making JIT stencil header generation deterministic.
|