forked from pool/python314
Accepting request 1228813 from devel:languages:python:Factory
- Update to the second development version of 3.14.0a2.
- Tools/Demos
- gh-126807: Fix extraction warnings in pygettext.py caused
by mistaking function definitions for function calls.
- gh-126167: The iOS testbed was modified so that it can be
used by third-party projects for testing purposes.
- Tests
- gh-126909: Fix test_os extended attribute tests to work on
filesystems with 1 KiB xattr size limit.
- gh-125730: Change make test to not run GUI tests by
default. Use make ci to run tests with GUI tests instead.
- gh-124295: Add translation tests to the argparse module.
- Security
- gh-126623: Upgrade libexpat to 2.6.4
- Library
- gh-85957: Add missing MIME types for images with RFCs: emf,
fits, g3fax, jp2, jpm, jpx, t38, tiff-fx and wmf. Patch by
Hugo van Kemenade.
- gh-126920: Fix the prefix and exec_prefix keys from
sysconfig.get_config_vars() incorrectly having the same
value as sys.base_prefix and sys.base_exec_prefix,
respectively, inside virtual environments. They now
accurately reflect sys.prefix and sys.exec_prefix.
- gh-67877: Fix memory leaks when regular expression matching
terminates abruptly, either because of a signal or because
memory allocation fails.
- gh-125063: marshal now supports slice objects. The marshal
format version was increased to 5.
- gh-126789: Fixed the values of sysconfig.get_config_vars(),
sysconfig.get_paths(), and their siblings when the site
initialization happens after sysconfig has built a cache
for sysconfig.get_config_vars().
- gh-126188: Update bundled pip to 24.3.1
- gh-126766: Fix issue where urllib.request.url2pathname()
failed to discard two leading slashes introducing an empty
authority section.
- gh-126705: Allow os.PathLike to be a base for Protocols.
- gh-126699: Allow collections.abc.AsyncIterator to be a base
for Protocols.
- gh-126654: Fix crash when non-dict was passed to several
functions in _interpreters module.
- gh-104745: Limit starting a patcher (from
unittest.mock.patch() or unittest.mock.patch.object()) more
than once without stopping it
- gh-126595: Fix a crash when instantiating itertools.count
with an initial count of sys.maxsize on debug builds. Patch
by Bénédikt Tran.
- gh-120423: Fix issue where urllib.request.pathname2url()
mishandled Windows paths with embedded forward slashes.
- gh-126565: Improve performances of zipfile.Path.open() for
non-reading modes.
- gh-126505: Fix bugs in compiling case-insensitive regular
expressions with character classes containing non-BMP
characters: upper-case non-BMP character did was ignored
and the ASCII flag was ignored when matching a character
range whose upper bound is beyond the BMP region.
- gh-117378: Fixed the multiprocessing "forkserver"
start method forkserver process to correctly inherit
the parent’s sys.path during the importing of
multiprocessing.set_forkserver_preload() modules in the
same manner as sys.path is configured in workers before
executing work items.
- This bug caused some forkserver module preloading to
silently fail to preload. This manifested as a performance
degration in child processes when the sys.path was required
due to additional repeated work in every worker.
- It could also have a side effect of "" remaining in
sys.path during forkserver preload imports instead of the
absolute path from os.getcwd() at multiprocessing import
time used in the worker sys.path.
- The sys.path differences between phases in the child
process could potentially have caused preload to import
incorrect things from the wrong location. We are unaware of
that actually having happened in practice.
- gh-125679: The multiprocessing.Lock and
multiprocessing.RLock repr values no longer say “unknown”
on macOS.
- gh-126476: Raise calendar.IllegalMonthError (now a subclass
of IndexError) for calendar.month() when the input month is
not correct.
- gh-126489: The Python implementation of pickle no longer
calls pickle.Pickler.persistent_id() for the result of
persistent_id().
- gh-126451: Register the contextvars.Context type to
collections.abc.Mapping.
- gh-126175: Add msg, doc, pos, lineno and colno attributes
to tomllib.TOMLDecodeError. Deprecate instantiating with
free-form arguments.
- gh-89416: Add RFC 9559 MIME types for Matroska audiovisual
container formats. Patch by Hugo van Kemenade.
- gh-126417: Register the multiprocessing.managers.DictProxy
and multiprocessing.managers.ListProxy types in
multiprocessing.managers to collections.abc.MutableMapping
and collections.abc.MutableSequence, respectively.
- gh-126390: Add support for returning intermixed options and
non-option arguments in order in getopt.gnu_getopt().
- gh-126374: Add support for options with optional arguments
in the getopt module.
- gh-126363: Speed up pattern parsing in pathlib.Path.glob()
by skipping creation of a pathlib.Path object for the
pattern.
- gh-126353: asyncio.get_event_loop() now does not implicitly
creates an event loop. It now raises a RuntimeError if
there is no set event loop. Patch by Kumar Aditya.
- gh-126313: Fix an issue in curses.napms() when
curses.initscr() has not yet been called. Patch by Bénédikt
Tran.
- gh-126303: Fix pickling and copying of os.sched_param
objects.
- gh-126138: Fix a use-after-free crash on asyncio.Task
objects whose underlying coroutine yields an object that
implements an evil __getattribute__(). Patch by Nico
Posada.
- gh-120057: Replace the os.environ.refresh() method with a
new os.reload_environ() function. Patch by Victor Stinner.
- gh-126220: Fix crash in cProfile.Profile and
_lsprof.Profiler when their callbacks were directly called
with 0 arguments.
- gh-126212: Fix issue where urllib.request.pathname2url()
and url2pathname() removed slashes from Windows DOS drive
paths and URLs.
- gh-126223: Raise a UnicodeEncodeError instead of a
SystemError upon calling _interpreters.create() with an
invalid Unicode character.
- gh-126205: Fix issue where urllib.request.pathname2url()
generated URLs beginning with four slashes (rather than
two) when given a Windows UNC path.
- gh-126156: Improved performances of creating Morsel objects
by a factor of 3.8x.
- gh-126105: Fix a crash in ast when the ast.AST._fields
attribute is deleted.
- gh-126106: Fixes a possible NULL pointer dereference in
ssl.
- gh-126080: Fix a use-after-free crash on asyncio.Task
objects for which the underlying event loop implements an
evil __getattribute__(). Reported by Nico-Posada. Patch by
Bénédikt Tran.
- gh-125322: Correct detection of complex numbers support in
libffi.
- gh-126083: Fixed a reference leak in asyncio.Task objects
when reinitializing the same object with a non-None
context. Patch by Nico Posada.
- gh-126068: Fix exceptions in the argparse module so that
only error messages for ArgumentError and ArgumentTypeError
are now translated. ArgumentError is now only used for
command line errors, not for logical errors in the
program. TypeError is now raised instead of ValueError for
some logical errors.
- gh-125413: Add pathlib.Path.scandir() method to efficiently
fetch directory children and their file attributes. This is
a trivial wrapper of os.scandir().
- gh-125984: Fix use-after-free crashes on asyncio.Future
objects for which the underlying event loop implements an
evil __getattribute__(). Reported by Nico-Posada. Patch by
Bénédikt Tran.
- gh-125926: Fix urllib.parse.urljoin() for base URI with
undefined authority. Although RFC 3986 only specify
reference resolution for absolute base URI, urljoin()
should continue to return sensible result for relative base
URI.
- gh-125969: Fix an out-of-bounds crash when an evil
asyncio.loop.call_soon() mutates the length of the internal
callbacks list. Patch by Bénédikt Tran.
- gh-125966: Fix a use-after-free crash in
asyncio.Future.remove_done_callback(). Patch by Bénédikt
Tran.
- gh-125789: Fix possible crash when mutating list of
callbacks returned by asyncio.Future._callbacks. It
now always returns a new copy in C implementation
_asyncio. Patch by Kumar Aditya.
- gh-126916: Allow the initial parameter of
functools.reduce() to be passed as a keyword
argument. Patch by Sayandip Dutta.
- gh-124452: Fix an issue in
email.policy.EmailPolicy.header_source_parse() and
email.policy.Compat32.header_source_parse() that introduced
spurious leading whitespaces into header values when the
header includes a newline character after the header name
delimiter (:) and before the value.
- gh-117941: argparse.BooleanOptionalAction now rejects
option names starting with --no-.
- gh-125884: Fixed the bug for pdb where it can’t set
breakpoints on functions with certain annotations.
- gh-125355: Fix several bugs in
argparse.ArgumentParser.parse_intermixed_args().
- The parser no longer changes temporarily during
parsing.
- Default values are not processed twice.
- Required mutually exclusive groups containing
positional arguments are now supported.
- The missing arguments report now includes the names of
all required optional and positional arguments.
- Unknown options can be intermixed with positional
arguments in parse_known_intermixed_args().
- gh-125767: super objects are now pickleable and copyable.
- gh-124969: locale.nl_langinfo(locale.ALT_DIGITS) now
returns a string again. The returned value consists of up
to 100 semicolon-separated symbols.
- gh-84850: Remove URLopener and FancyURLopener classes
from urllib.request. They had previously raised
DeprecationWarning since Python 3.3.
- gh-125666: Avoid the exiting the interpreter if a null byte
is given as input in the new REPL.
- gh-125710: [Enum] fix hashable<->nonhashable comparisons
for member values
- gh-125631: Restore ability to set persistent_id and
persistent_load attributes of instances of the Pickler and
Unpickler classes in the pickle module.
- gh-125378: Fixed the bug in pdb where after a multi-line
command, an empty line repeats the first line of the
multi-line command, instead of the full command.
- gh-125682: Reject non-ASCII digits in the Python
implementation of json.loads() conforming to the JSON
specification.
- gh-125660: Reject invalid unicode escapes for Python
implementation of json.loads().
- gh-52551: Use wcsftime() to implement time.strftime() on
Windows.
- gh-125259: Fix the notes removal logic for errors thrown in
enum initialization.
- gh-125633: Add function inspect.ispackage() to determine
whether an object is a package or not.
- gh-125614: In the FORWARDREF format of annotationlib,
fix bug where nested expressions were not returned as
annotationlib.ForwardRef format.
- gh-125590: Allow FrameLocalsProxy to delete and pop if the
key is not a fast variable.
- gh-125600: Only show stale code warning in pdb when we
display source code.
- gh-125542: Deprecate passing keyword-only prefix_chars
argument to argparse.ArgumentParser.add_argument_group().
- gh-125541: Pressing Ctrl-C while blocked in
threading.Lock.acquire(), threading.RLock.acquire(), and
threading.Thread.join() now interrupts the function call
and raises a KeyboardInterrupt exception on Windows,
similar to how those functions behave on macOS and Linux.
- gh-125519: Improve traceback if importlib.reload() is
called with an object that is not a module. Patch by Alex
Waygood.
- gh-125451: Fix deadlock when
concurrent.futures.ProcessPoolExecutor shuts down
concurrently with an error when feeding a job to a worker
process.
- gh-125115: Fixed a bug in pdb where arguments starting with
- can’t be passed to the debugged script.
- gh-125398: Fix the conversion of the VIRTUAL_ENV path in
the activate script in venv when running in Git Bash for
Windows.
- gh-125245: Fix race condition when importing
collections.abc, which could incorrectly return an empty
module.
- gh-52551: Fix encoding issues in time.strftime(), the
strftime() method of the datetime classes datetime, date
and time and formatting of these classes. Characters
not encodable in the current locale are now acceptable
in the format string. Surrogate pairs and sequence
of surrogatescape-encoded bytes are no longer
recombinated. Embedded null character no longer terminates
the format string.
- gh-124984: Fixed thread safety in ssl in the free-threaded
build. OpenSSL operations are now protected by a per-object
lock.
- gh-124651: Properly quote template strings in venv
activation scripts.
- gh-124694: We’ve added
concurrent.futures.InterpreterPoolExecutor, which allows
you to run code in multiple isolated interpreters. This
allows you to circumvent the limitations of CPU-bound
threads (due to the GIL). Patch by Eric Snow.
- This addition is unrelated to PEP 734.
- gh-58032: Deprecate the argparse.FileType type converter.
- gh-99749: Adds a feature to optionally enable suggestions
for argument choices and subparser names if mistyped by the
user.
- gh-58956: Fixed a bug in pdb where sometimes the breakpoint
won’t trigger if it was set on a function which is already
in the call stack.
- gh-124111: The tkinter module can now be built to use
either the new version 9.0.0 of Tcl/Tk or the latest
release 8.6.15 of Tcl/Tk 8. Tcl/Tk 9 includes many
improvements, both to the Tcl language and to the
appearance and utility of the graphical user interface
provided by Tk.
- gh-80958: unittest discovery supports PEP 420 namespace
packages as start directory again.
- gh-123370: Fix the canvas not clearing after running
turtledemo clock.
- gh-89083: Add uuid.uuid8() for generating UUIDv8 objects as
specified in RFC 9562. Patch by Bénédikt Tran
- gh-122549: Add platform.invalidate_caches() to invalidate
cached results.
- gh-120754: Update unbounded read calls in zipfile to
specify an explicit size putting a limit on how much data
they may read. This also updates handling around ZIP max
comment size to match the standard instead of reading
comments that are one byte too long.
- gh-121267: Improve the performance of tarfile when writing
files, by caching user names and group names.
- gh-70764: Fixed an issue where inspect.getclosurevars()
would incorrectly classify an attribute name as a global
variable when the name exists both as an attribute name and
a global variable.
- gh-118289: posixpath.realpath() now raises
NotADirectoryError when strict mode is enabled and a
non-directory path with a trailing slash is supplied.
- gh-119826: Always return an absolute path for
os.path.abspath() on Windows.
- gh-97850: Remove deprecated pkgutil.get_loader() and
pkgutil.find_loader().
- gh-118986: Add socket.IPV6_RECVERR constant (available
since Linux 2.2).
- gh-116897: Accepting objects with false values (like 0 and
[]) except empty strings, byte-like objects and None in
urllib.parse functions parse_qsl() and parse_qs() is now
deprecated.
- gh-101955: Fix SystemError when match regular expression
pattern containing some combination of possessive
quantifier, alternative and capture group.
- gh-71936: Fix a race condition in
multiprocessing.pool.Pool.
- bpo-46128: Strip unittest.IsolatedAsyncioTestCase stack
frames from reported stacktraces.
- gh-84852: Add MIME types for MS Embedded OpenType, OpenType
Layout, TrueType, WOFF 1.0 and 2.0 fonts. Patch by Sahil
Prajapati and Hugo van Kemenade.
- Documentation
- gh-126622: Added stub pages for removed modules explaining
their removal, where to find replacements, and linking to
the last Python version that supported them. Contributed by
Ned Batchelder.
- gh-125277: Require Sphinx 7.2.6 or later to build the
Python documentation. Patch by Adam Turner.
- gh-60712: Include the object type in the lists of
documented types. Change by Furkan Onder and Martin Panter.
- Core and Builtins
- gh-126795: Increase the threshold for JIT code
warmup. Depending on platform and workload, this can result
in performance gains of 1-9% and memory savings of 3-5%.
- gh-126341: Now ValueError is raised instead of SystemError
when trying to iterate over a released memoryview object.
- gh-126688: Fix a crash when calling os.fork() on some
operating systems, including SerenityOS.
- gh-126066: Fix importlib to not write an incomplete
.pyc files when a ulimit or some other operating system
mechanism is preventing the write to go through fully.
- gh-126222: Do not include count of “peek” items in
_PyUop_num_popped. This ensures that the correct number of
items are popped from the stack when a micro-op exits with
an error.
- gh-126366: Fix crash when using yield from on an object
that raises an exception in its __iter__.
- gh-126209: Fix an issue with skip_file_prefixes parameter
which resulted in an inconsistent behaviour between the C
and Python implementations of warnings.warn(). Patch by
Daehee Kim.
- gh-126312: Fix crash during garbage collection on an object
frozen by gc.freeze() on the free-threaded build.
- gh-103951: Relax optimization requirements to allow fast
attribute access to module subclasses.
- gh-126072: Following gh-126101, for Code Objects like
lambda, annotation and type alias, we no longer add None to
its co_consts.
- gh-126195: Improve JIT performance by 1.4% on macOS Apple
Silicon by using platform-specific memory protection
APIs. Patch by Diego Russo.
- gh-126139: Provide better error location when attempting to
use a future statement with an unknown future feature.
- gh-126072: Add a new attribute in co_flags to indicate
whether the first item in co_consts is the docstring. If a
code object has no docstring, None will NOT be inserted.
- gh-126076: Relocated objects such as tuple, bytes and
str objects are properly tracked by tracemalloc and its
associated hooks. Patch by Pablo Galindo.
- gh-90370: Avoid temporary tuple creation for vararg in
argument passing with Argument Clinic generated code (if
arguments either vararg or positional-only).
- gh-126018: Fix a crash in sys.audit() when passing a
non-string as first argument and Python was compiled in
debug mode.
- gh-126012: The memoryview type now supports subscription,
making it a generic type.
- gh-125837: Adds LOAD_SMALL_INT and LOAD_CONST_IMMORTAL
instructions. LOAD_SMALL_INT pushes a small integer equal
to the oparg to the stack. LOAD_CONST_IMMORTAL does the
same as LOAD_CONST but is more efficient for immortal
objects. Removes RETURN_CONST instruction.
- gh-125942: On Android, the errors setting of sys.stdout was
changed from surrogateescape to backslashreplace.
- gh-125859: Fix a crash in the free threading build when
gc.get_objects() or gc.get_referrers() is called during an
in-progress garbage collection.
- gh-125868: It was possible in 3.14.0a1 only for
attribute lookup to give the wrong value. This was
due to an incorrect specialization in very specific
circumstances. This is fixed in 3.14.0a2.
- gh-125498: The JIT has been updated to leverage Clang 19’s
new preserve_none attribute, which supports more platforms
and is more useful than LLVM’s existing ghccc calling
convention. This also removes the need to manually patch
the calling convention in LLVM IR, simplifying the JIT
compilation process.
- gh-125703: Correctly honour tracemalloc hooks in
specialized Py_DECREF paths. Patch by Pablo Galindo
- gh-125593: Use color to highlight error locations in
traceback from exception group
- gh-125017: Fix crash on certain accesses to the
__annotations__ of staticmethod and classmethod objects.
- gh-125588: The Python PEG generator can now use f-strings
in the grammar actions. Patch by Pablo Galindo
- gh-125444: Fix illegal instruction for older Arm
architectures. Patch by Diego Russo, testing by Ross
Burton.
- gh-118423: Add a new INSTRUCTION_SIZE macro to the cases
generator which returns the current instruction size.
- gh-125038: Fix crash when iterating over a generator
expression after direct changes on gi_frame.f_locals. Patch
by Mikhail Efimov.
- gh-124855: Don’t allow the JIT and perf support to be
active at the same time. Patch by Pablo Galindo
- gh-123714: Update JIT compilation to use LLVM 19
- gh-123930: Improve the error message when a script
shadowing a module from the standard library causes
ImportError to be raised during a “from” import. Similarly,
improve the error message when a script shadowing a third
party module attempts to “from” import an attribute from
that third party module while still initialising.
- gh-119793: The map() built-in now has an optional
keyword-only strict flag like zip() to check that all the
iterables are of equal length. Patch by Wannes Boeykens.
- gh-118950: Fix bug where SSLProtocol.connection_lost wasn’t
getting called when OSError was thrown on writing to
socket.
- gh-113570: Fixed a bug in reprlib.repr where it incorrectly
called the repr method on shadowed Python built-in types.
- C API
- gh-126554: Fix error handling in ctypes.CDLL objects which
could result in a crash in rare situations.
- gh-126061: Add PyLong_IsPositive(), PyLong_IsNegative() and
PyLong_IsZero() for checking if a PyLongObject is positive,
negative, or zero, respectively.
- gh-125608: Fix a bug where dictionary watchers
(e.g., PyDict_Watch()) on an object’s attribute dictionary
(__dict__) were not triggered when the object’s attributes
were modified.
- gh-123619: Added the
PyUnstable_Object_EnableDeferredRefcount() function for
enabling PEP 703 deferred reference counting.
- gh-121654: Add PyType_Freeze() function to make a type
immutable. Patch by Victor Stinner.
- gh-120026: The Py_HUGE_VAL macro is soft deprecated.
- Build
- gh-126691: Removed the --with-emscripten-target configure
flag. We unified the node and browser options and the same
build can now be used, independent of target runtime.
- gh-123877: Use wasm32-wasip1 as the target triple for
WASI instead of wasm32-wasi. The latter will eventually
be reclaimed for WASI 1.0 while CPython currently only
supports WASI preview1.
- gh-126458: Disable SIMD support for HACL under WASI.
- gh-89640: Hard-code float word ordering as little endian on
WASM.
- gh-126206: make clinic now runs Argument Clinic using the
--force option, thus forcefully regenerating generated
code.
- gh-126187: Introduced Tools/wasm/emscripten.py to simplify
doing Emscripten builds.
- gh-124932: For cross builds, there is now support for
having a different install prefix than the host_prefix used
by getpath.py. This is set to / by default for Emscripten,
on other platforms the default behavior is the same as
before.
- gh-125946: The minimum supported Android version is now 7.0
(API level 24).
- gh-125940: The Android build now supports 16 KB page sizes.
- gh-89640: Improve detection of float word ordering on Linux
when link-time optimizations are enabled.
- gh-124928: Emscripten builds now require node >= 18.
- gh-115382: Fix cross compile failures when the host and
target SOABIs match.
- Remove upstreamed patches:
- fix_test_generated_data.patch
- fix_test_ftp_error.patch
- gh125535-Lib_IntVector_Intrinsics_vec128.patch
- Don't limit clang to clang18.
OBS-URL: https://build.opensuse.org/request/show/1228813
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python314?expand=0&rev=3
This commit is contained in:
@@ -24,58 +24,12 @@ Co-authored-by: Miro Hrončok <miro@hroncok.cz>
|
||||
Co-authored-by: Michal Cyprian <m.cyprian@gmail.com>
|
||||
Co-authored-by: Lumír Balhar <frenzy.madness@gmail.com>
|
||||
---
|
||||
Lib/site.py | 9 ++++++-
|
||||
Lib/sysconfig.py | 49 +++++++++++++++++++++++++++++++++++++-
|
||||
Lib/test/test_sysconfig.py | 17 +++++++++++--
|
||||
3 files changed, 71 insertions(+), 4 deletions(-)
|
||||
Lib/sysconfig/__init__.py | 51 ++++++++++++++++++++++++++++++++++++++++++++-
|
||||
Lib/test/test_sysconfig.py | 17 +++++++++++++--
|
||||
2 files changed, 65 insertions(+), 3 deletions(-)
|
||||
|
||||
Index: Python-3.13.0b4/Lib/test/test_sysconfig.py
|
||||
===================================================================
|
||||
--- Python-3.13.0b4.orig/Lib/test/test_sysconfig.py
|
||||
+++ Python-3.13.0b4/Lib/test/test_sysconfig.py
|
||||
@@ -121,8 +121,19 @@ class TestSysConfig(unittest.TestCase):
|
||||
for scheme in _INSTALL_SCHEMES:
|
||||
for name in _INSTALL_SCHEMES[scheme]:
|
||||
expected = _INSTALL_SCHEMES[scheme][name].format(**config_vars)
|
||||
+ tested = get_path(name, scheme)
|
||||
+ # https://fedoraproject.org/wiki/Changes/Making_sudo_pip_safe
|
||||
+ if tested.startswith('/usr/local'):
|
||||
+ # /usr/local should only be used in posix_prefix
|
||||
+ self.assertEqual(scheme, 'posix_prefix')
|
||||
+ # Fedora CI runs tests for venv and virtualenv that check for other prefixes
|
||||
+ self.assertEqual(sys.prefix, '/usr')
|
||||
+ # When building the RPM of Python, %check runs this with RPM_BUILD_ROOT set
|
||||
+ # Fedora CI runs this with RPM_BUILD_ROOT unset
|
||||
+ self.assertNotIn('RPM_BUILD_ROOT', os.environ)
|
||||
+ tested = tested.replace('/usr/local', '/usr')
|
||||
self.assertEqual(
|
||||
- os.path.normpath(get_path(name, scheme)),
|
||||
+ os.path.normpath(tested),
|
||||
os.path.normpath(expected),
|
||||
)
|
||||
|
||||
@@ -377,7 +388,7 @@ class TestSysConfig(unittest.TestCase):
|
||||
self.assertTrue(os.path.isfile(config_h), config_h)
|
||||
|
||||
def test_get_scheme_names(self):
|
||||
- wanted = ['nt', 'posix_home', 'posix_prefix', 'posix_venv', 'nt_venv', 'venv']
|
||||
+ wanted = ['nt', 'posix_home', 'posix_prefix', 'posix_venv', 'nt_venv', 'venv', 'rpm_prefix']
|
||||
if HAS_USER_BASE:
|
||||
wanted.extend(['nt_user', 'osx_framework_user', 'posix_user'])
|
||||
self.assertEqual(get_scheme_names(), tuple(sorted(wanted)))
|
||||
@@ -389,6 +400,8 @@ class TestSysConfig(unittest.TestCase):
|
||||
cmd = "-c", "import sysconfig; print(sysconfig.get_platform())"
|
||||
self.assertEqual(py.call_real(*cmd), py.call_link(*cmd))
|
||||
|
||||
+ @unittest.skipIf('RPM_BUILD_ROOT' not in os.environ,
|
||||
+ "Test doesn't expect Fedora's paths")
|
||||
def test_user_similar(self):
|
||||
# Issue #8759: make sure the posix scheme for the users
|
||||
# is similar to the global posix_prefix one
|
||||
Index: Python-3.13.0b4/Lib/sysconfig/__init__.py
|
||||
===================================================================
|
||||
--- Python-3.13.0b4.orig/Lib/sysconfig/__init__.py
|
||||
+++ Python-3.13.0b4/Lib/sysconfig/__init__.py
|
||||
--- a/Lib/sysconfig/__init__.py
|
||||
+++ b/Lib/sysconfig/__init__.py
|
||||
@@ -106,6 +106,11 @@ if os.name == 'nt':
|
||||
else:
|
||||
_INSTALL_SCHEMES['venv'] = _INSTALL_SCHEMES['posix_venv']
|
||||
@@ -88,7 +42,7 @@ Index: Python-3.13.0b4/Lib/sysconfig/__init__.py
|
||||
def _get_implementation():
|
||||
return 'Python'
|
||||
|
||||
@@ -167,6 +172,19 @@ if _HAS_USER_BASE:
|
||||
@@ -167,13 +172,28 @@ if _HAS_USER_BASE:
|
||||
},
|
||||
}
|
||||
|
||||
@@ -108,7 +62,16 @@ Index: Python-3.13.0b4/Lib/sysconfig/__init__.py
|
||||
_SCHEME_KEYS = ('stdlib', 'platstdlib', 'purelib', 'platlib', 'include',
|
||||
'scripts', 'data')
|
||||
|
||||
@@ -261,11 +279,40 @@ def _extend_dict(target_dict, other_dict
|
||||
_PY_VERSION = sys.version.split()[0]
|
||||
_PY_VERSION_SHORT = f'{sys.version_info[0]}.{sys.version_info[1]}'
|
||||
_PY_VERSION_SHORT_NO_DOT = f'{sys.version_info[0]}{sys.version_info[1]}'
|
||||
+_PREFIX = os.path.normpath(sys.prefix)
|
||||
_BASE_PREFIX = os.path.normpath(sys.base_prefix)
|
||||
+_EXEC_PREFIX = os.path.normpath(sys.exec_prefix)
|
||||
_BASE_EXEC_PREFIX = os.path.normpath(sys.base_exec_prefix)
|
||||
# Mutex guarding initialization of _CONFIG_VARS.
|
||||
_CONFIG_VARS_LOCK = threading.RLock()
|
||||
@@ -259,11 +279,40 @@ def _extend_dict(target_dict, other_dict
|
||||
target_dict[key] = value
|
||||
|
||||
|
||||
@@ -150,3 +113,44 @@ Index: Python-3.13.0b4/Lib/sysconfig/__init__.py
|
||||
if os.name == 'nt':
|
||||
# On Windows we want to substitute 'lib' for schemes rather
|
||||
# than the native value (without modifying vars, in case it
|
||||
--- a/Lib/test/test_sysconfig.py
|
||||
+++ b/Lib/test/test_sysconfig.py
|
||||
@@ -130,8 +130,19 @@ class TestSysConfig(unittest.TestCase):
|
||||
for scheme in _INSTALL_SCHEMES:
|
||||
for name in _INSTALL_SCHEMES[scheme]:
|
||||
expected = _INSTALL_SCHEMES[scheme][name].format(**config_vars)
|
||||
+ tested = get_path(name, scheme)
|
||||
+ # https://fedoraproject.org/wiki/Changes/Making_sudo_pip_safe
|
||||
+ if tested.startswith('/usr/local'):
|
||||
+ # /usr/local should only be used in posix_prefix
|
||||
+ self.assertEqual(scheme, 'posix_prefix')
|
||||
+ # Fedora CI runs tests for venv and virtualenv that check for other prefixes
|
||||
+ self.assertEqual(sys.prefix, '/usr')
|
||||
+ # When building the RPM of Python, %check runs this with RPM_BUILD_ROOT set
|
||||
+ # Fedora CI runs this with RPM_BUILD_ROOT unset
|
||||
+ self.assertNotIn('RPM_BUILD_ROOT', os.environ)
|
||||
+ tested = tested.replace('/usr/local', '/usr')
|
||||
self.assertEqual(
|
||||
- os.path.normpath(get_path(name, scheme)),
|
||||
+ os.path.normpath(tested),
|
||||
os.path.normpath(expected),
|
||||
)
|
||||
|
||||
@@ -386,7 +397,7 @@ class TestSysConfig(unittest.TestCase):
|
||||
self.assertTrue(os.path.isfile(config_h), config_h)
|
||||
|
||||
def test_get_scheme_names(self):
|
||||
- wanted = ['nt', 'posix_home', 'posix_prefix', 'posix_venv', 'nt_venv', 'venv']
|
||||
+ wanted = ['nt', 'posix_home', 'posix_prefix', 'posix_venv', 'nt_venv', 'venv', 'rpm_prefix']
|
||||
if HAS_USER_BASE:
|
||||
wanted.extend(['nt_user', 'osx_framework_user', 'posix_user'])
|
||||
self.assertEqual(get_scheme_names(), tuple(sorted(wanted)))
|
||||
@@ -398,6 +409,8 @@ class TestSysConfig(unittest.TestCase):
|
||||
cmd = "-c", "import sysconfig; print(sysconfig.get_platform())"
|
||||
self.assertEqual(py.call_real(*cmd), py.call_link(*cmd))
|
||||
|
||||
+ @unittest.skipIf('RPM_BUILD_ROOT' not in os.environ,
|
||||
+ "Test doesn't expect Fedora's paths")
|
||||
def test_user_similar(self):
|
||||
# Issue #8759: make sure the posix scheme for the users
|
||||
# is similar to the global posix_prefix one
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:3e464b0cbb7535e2db34262fd19a0a393d0e62be0f43b1513ed98379b054ead4
|
||||
size 22613224
|
||||
@@ -1 +0,0 @@
|
||||
{"mediaType": "application/vnd.dev.sigstore.bundle.v0.3+json", "verificationMaterial": {"certificate": {"rawBytes": "MIICzTCCAlOgAwIBAgIUXNqbdBZJ9fps7cdl20sumJAq9qYwCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjQxMDE1MjMwNDE2WhcNMjQxMDE1MjMxNDE2WjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEcg+1tju2Qlwd/FxtfGT0xvTr74Z2Y4BSc2TvaDBBmRA/PtimxzlSdMhGDsfqHQLGi+b8OuTFW3Zox2aqHpqDCaOCAXIwggFuMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQUVSMKNgZVgAfm3Hd9XuRrKl5zt40wHwYDVR0jBBgwFoAU39Ppz1YkEZb5qNjpKFWixi4YZD8wHQYDVR0RAQH/BBMwEYEPaHVnb0BweXRob24ub3JnMCwGCisGAQQBg78wAQEEHmh0dHBzOi8vZ2l0aHViLmNvbS9sb2dpbi9vYXV0aDAuBgorBgEEAYO/MAEIBCAMHmh0dHBzOi8vZ2l0aHViLmNvbS9sb2dpbi9vYXV0aDCBiQYKKwYBBAHWeQIEAgR7BHkAdwB1AN09MGrGxxEyYxkeHJlnNwKiSl643jyt/4eKcoAvKe6OAAABkpJsy7QAAAQDAEYwRAIgfOwKhNkvL09iC5/uS5iTGmnIQbXjbUM1woNbLOSYA8sCIEb2hbK7hH+jGAxJQEG9OUlqHb9GwD7TVMxHdVMzpmoOMAoGCCqGSM49BAMDA2gAMGUCMCBvcdz/4awBy5UdMRubMhvQD3eF8sdlrEhkk1ymjVZzJW2gD1KQdzIxHNK/7F9hegIxAJ+lw+fOlGvkIB+txzmL6pg9Pcsf2x9DVpisHPW4WUUbB7VORIamogW8OSAuQsZ6tQ=="}, "tlogEntries": [{"logIndex": "140392200", "logId": {"keyId": "wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="}, "kindVersion": {"kind": "hashedrekord", "version": "0.0.1"}, "integratedTime": "1729033456", "inclusionPromise": {"signedEntryTimestamp": "MEUCIEXI2s1U7Sve7CZ/p571004SLB9u5/ZT3Hf4tW9plQL/AiEAvvOg7se8XhZ+UNi7Qujx6bQxP0nHTrORgbP0Rg+xLGQ="}, "inclusionProof": {"logIndex": "18487938", "rootHash": "hSjsoi7BjBrhzW7Ceq8eDHavGqCXfJDqV1uLCH43rP0=", "treeSize": "18487939", "hashes": ["u79/W8pLop367cAKW1nkrasjLkk950s+chPOGd+YM7g=", "6/AN6/VWkeVC6ibK0wOaJWLDgeGYUPzGu++z5+WRpLw=", "XDRVudeM0USBGv0wfrkbUFLX5UPIMbXd7Jn+1FaHfXw=", "scHEQm8K7oRERzNSJaNlqN0E1OdiAscc4j9riGrA62g=", "/mosl9RAejdUfiMbl+lvD5kTT8EMHe3G8ceEh5ZmcAs=", "DPPCrptvLQKGtAJAKyVPBnf+K6vDmh24s1GP202TKto=", "dXjYLwyHqcxTI9MyukBet+9OyYvXCMvvLJJl9sIYKyA=", "rAAfgmPXo8TJp1LmkVDhAYrf0WzE4X4/mDuW1pwVM3Y=", "gf+9m552B3PnkWnO0o4KdVvjcT3WVHLrCbf1DoVYKFw="], "checkpoint": {"envelope": "rekor.sigstore.dev - 1193050959916656506\n18487939\nhSjsoi7BjBrhzW7Ceq8eDHavGqCXfJDqV1uLCH43rP0=\n\n\u2014 rekor.sigstore.dev wNI9ajBGAiEAgDgD5PWqYAJ4/g3gd2iOpEzZI/0I/WH5zpJyi9r4DcECIQC+1ibcP0dHlJ6v7Jd7rq8ojgP5eTKxsEv7tTU8erfyTQ==\n"}}, "canonicalizedBody": "eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiIzZTQ2NGIwY2JiNzUzNWUyZGIzNDI2MmZkMTlhMGEzOTNkMGU2MmJlMGY0M2IxNTEzZWQ5ODM3OWIwNTRlYWQ0In19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FUUNJQVRMMFNVQnVnWW5NSFZjbzYrcGtPTTkxSVd3cHQ3bis3VTdmZlNCeXU1WUFpQXU0RkxJSzJiU1puSmxranFkOUgwV3hBdnE3NmVPeFZ4L21JZytxN0N0NkE9PSIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVTjZWRU5EUVd4UFowRjNTVUpCWjBsVldFNXhZbVJDV2tvNVpuQnpOMk5rYkRJd2MzVnRTa0Z4T1hGWmQwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcFJlRTFFUlRGTmFrMTNUa1JGTWxkb1kwNU5hbEY0VFVSRk1VMXFUWGhPUkVVeVYycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVZqWnlzeGRHcDFNbEZzZDJRdlJuaDBaa2RVTUhoMlZISTNORm95V1RSQ1UyTXlWSFlLWVVSQ1FtMVNRUzlRZEdsdGVIcHNVMlJOYUVkRWMyWnhTRkZNUjJrcllqaFBkVlJHVnpOYWIzZ3lZWEZJY0hGRVEyRlBRMEZZU1hkblowWjFUVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXUkNaMDVXU0ZFMFJVWm5VVlZXVTAxTENrNW5XbFpuUVdadE0waGtPVmgxVW5KTGJEVjZkRFF3ZDBoM1dVUldVakJxUWtKbmQwWnZRVlV6T1ZCd2VqRlphMFZhWWpWeFRtcHdTMFpYYVhocE5Ga0tXa1E0ZDBoUldVUldVakJTUVZGSUwwSkNUWGRGV1VWUVlVaFdibUl3UW5kbFdGSnZZakkwZFdJelNtNU5RM2RIUTJselIwRlJVVUpuTnpoM1FWRkZSUXBJYldnd1pFaENlazlwT0haYU1td3dZVWhXYVV4dFRuWmlVemx6WWpKa2NHSnBPWFpaV0ZZd1lVUkJkVUpuYjNKQ1owVkZRVmxQTDAxQlJVbENRMEZOQ2todGFEQmtTRUo2VDJrNGRsb3liREJoU0ZacFRHMU9kbUpUT1hOaU1tUndZbWs1ZGxsWVZqQmhSRU5DYVZGWlMwdDNXVUpDUVVoWFpWRkpSVUZuVWpjS1FraHJRV1IzUWpGQlRqQTVUVWR5UjNoNFJYbFplR3RsU0Vwc2JrNTNTMmxUYkRZME0ycDVkQzgwWlV0amIwRjJTMlUyVDBGQlFVSnJjRXB6ZVRkUlFRcEJRVkZFUVVWWmQxSkJTV2RtVDNkTGFFNXJka3d3T1dsRE5TOTFVelZwVkVkdGJrbFJZbGhxWWxWTk1YZHZUbUpNVDFOWlFUaHpRMGxGWWpKb1lrczNDbWhJSzJwSFFYaEtVVVZIT1U5VmJIRklZamxIZDBRM1ZGWk5lRWhrVmsxNmNHMXZUMDFCYjBkRFEzRkhVMDAwT1VKQlRVUkJNbWRCVFVkVlEwMURRbllLWTJSNkx6UmhkMEo1TlZWa1RWSjFZazFvZGxGRU0yVkdPSE5rYkhKRmFHdHJNWGx0YWxaYWVrcFhNbWRFTVV0UlpIcEplRWhPU3k4M1JqbG9aV2RKZUFwQlNpdHNkeXRtVDJ4SGRtdEpRaXQwZUhwdFREWndaemxRWTNObU1uZzVSRlp3YVhOSVVGYzBWMVZWWWtJM1ZrOVNTV0Z0YjJkWE9FOVRRWFZSYzFvMkNuUlJQVDBLTFMwdExTMUZUa1FnUTBWU1ZFbEdTVU5CVkVVdExTMHRMUW89In19fX0="}]}, "messageSignature": {"messageDigest": {"algorithm": "SHA2_256", "digest": "PkZLDLt1NeLbNCYv0ZoKOT0OYr4PQ7FRPtmDebBU6tQ="}, "signature": "MEQCIATL0SUBugYnMHVco6+pkOM91IWwpt7n+7U7ffSByu5YAiAu4FLIK2bSZnJlkjqd9H0WxAvq76eOxVx/mIg+q7Ct6A=="}}
|
||||
BIN
Python-3.14.0a2.tar.xz
(Stored with Git LFS)
Normal file
BIN
Python-3.14.0a2.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
1
Python-3.14.0a2.tar.xz.sigstore
Normal file
1
Python-3.14.0a2.tar.xz.sigstore
Normal file
File diff suppressed because one or more lines are too long
@@ -139,7 +139,7 @@ Co-Authored-By: Xavier de Gaye <xdegaye@gmail.com>
|
||||
|
||||
--- a/Makefile.pre.in
|
||||
+++ b/Makefile.pre.in
|
||||
@@ -2209,7 +2209,7 @@ install: @FRAMEWORKINSTALLFIRST@ @INSTAL
|
||||
@@ -2228,7 +2228,7 @@ install: @FRAMEWORKINSTALLFIRST@ @INSTAL
|
||||
install|*) ensurepip="" ;; \
|
||||
esac; \
|
||||
$(RUNSHARED) $(PYTHON_FOR_BUILD) -m ensurepip \
|
||||
@@ -148,7 +148,7 @@ Co-Authored-By: Xavier de Gaye <xdegaye@gmail.com>
|
||||
fi
|
||||
|
||||
.PHONY: altinstall
|
||||
@@ -2220,7 +2220,7 @@ altinstall: commoninstall
|
||||
@@ -2239,7 +2239,7 @@ altinstall: commoninstall
|
||||
install|*) ensurepip="--altinstall" ;; \
|
||||
esac; \
|
||||
$(RUNSHARED) $(PYTHON_FOR_BUILD) -m ensurepip \
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
--- a/Lib/test/test_compile.py
|
||||
+++ b/Lib/test/test_compile.py
|
||||
@@ -24,6 +24,9 @@ from test.support import (script_helper,
|
||||
@@ -25,6 +25,9 @@ from test.support import (script_helper,
|
||||
from test.support.bytecode_helper import instructions_with_positions
|
||||
from test.support.os_helper import FakePath
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
class TestSpecifics(unittest.TestCase):
|
||||
|
||||
def compile_single(self, source):
|
||||
@@ -120,6 +123,7 @@ class TestSpecifics(unittest.TestCase):
|
||||
@@ -121,6 +124,7 @@ class TestSpecifics(unittest.TestCase):
|
||||
self.assertEqual(d['z'], 12)
|
||||
|
||||
@unittest.skipIf(support.is_wasi, "exhausts limited stack on WASI")
|
||||
@@ -22,7 +22,7 @@
|
||||
def test_extended_arg(self):
|
||||
repeat = int(get_c_recursion_limit() * 0.9)
|
||||
longexpr = 'x = x or ' + '-x' * repeat
|
||||
@@ -704,6 +708,7 @@ class TestSpecifics(unittest.TestCase):
|
||||
@@ -709,6 +713,7 @@ class TestSpecifics(unittest.TestCase):
|
||||
|
||||
@support.cpython_only
|
||||
@unittest.skipIf(support.is_wasi, "exhausts limited stack on WASI")
|
||||
|
||||
@@ -1,40 +0,0 @@
|
||||
---
|
||||
Lib/test/test_urllib2.py | 9 +++++++++
|
||||
1 file changed, 9 insertions(+)
|
||||
|
||||
--- a/Lib/test/test_urllib2.py
|
||||
+++ b/Lib/test/test_urllib2.py
|
||||
@@ -1,3 +1,4 @@
|
||||
+import logging
|
||||
import unittest
|
||||
from test import support
|
||||
from test.support import os_helper
|
||||
@@ -29,6 +30,10 @@ import http.client
|
||||
|
||||
support.requires_working_socket(module=True)
|
||||
|
||||
+logging.basicConfig(format='%(levelname)s:%(funcName)s:%(message)s',
|
||||
+ level=logging.DEBUG)
|
||||
+log = logging.getLogger()
|
||||
+
|
||||
# XXX
|
||||
# Request
|
||||
# CacheFTPHandler (hard to write)
|
||||
@@ -731,6 +736,9 @@ def sanepathname2url(path):
|
||||
|
||||
class HandlerTests(unittest.TestCase):
|
||||
|
||||
+ def setUp(self):
|
||||
+ log.debug('Is network available: {}'.format(support.is_resource_enabled('network')))
|
||||
+
|
||||
def test_ftp(self):
|
||||
class MockFTPWrapper:
|
||||
def __init__(self, data):
|
||||
@@ -794,6 +802,7 @@ class HandlerTests(unittest.TestCase):
|
||||
self.assertEqual(headers.get("Content-type"), mimetype)
|
||||
self.assertEqual(int(headers["Content-length"]), len(data))
|
||||
|
||||
+ @support.requires_resource('network')
|
||||
def test_ftp_error(self):
|
||||
class ErrorFTPHandler(urllib.request.FTPHandler):
|
||||
def __init__(self, exception):
|
||||
@@ -1,34 +0,0 @@
|
||||
---
|
||||
Lib/test/test_ctypes/test_generated_structs.py | 7 +++++++
|
||||
1 file changed, 7 insertions(+)
|
||||
|
||||
--- a/Lib/test/test_ctypes/test_generated_structs.py
|
||||
+++ b/Lib/test/test_ctypes/test_generated_structs.py
|
||||
@@ -12,6 +12,7 @@ Run this module to regenerate the files:
|
||||
import unittest
|
||||
from test.support import import_helper
|
||||
import re
|
||||
+import sys
|
||||
from dataclasses import dataclass
|
||||
from functools import cached_property
|
||||
|
||||
@@ -21,6 +22,11 @@ from ctypes import sizeof, alignment, po
|
||||
_ctypes_test = import_helper.import_module("_ctypes_test")
|
||||
|
||||
|
||||
+def is_32bit():
|
||||
+ # or alternatively (slightly slower)
|
||||
+ # (struct.calcsize("P") * 8) == 32
|
||||
+ return not (sys.maxsize > 2**32)
|
||||
+
|
||||
# ctypes erases the difference between `c_int` and e.g.`c_int16`.
|
||||
# To keep it, we'll use custom subclasses with the C name stashed in `_c_name`:
|
||||
class c_bool(ctypes.c_bool):
|
||||
@@ -415,6 +421,7 @@ class AnonBitfields(Structure):
|
||||
|
||||
|
||||
class GeneratedTest(unittest.TestCase):
|
||||
+ @unittest.skipIf(is_32bit(), 'fails on 32bit platform (gh#python/cpython#121938)')
|
||||
def test_generated_data(self):
|
||||
"""Check that a ctypes struct/union matches its C equivalent.
|
||||
|
||||
@@ -1,37 +0,0 @@
|
||||
From 091fd6240c6b263d848e8a5d20da042258f648b5 Mon Sep 17 00:00:00 2001
|
||||
From: Jonathan Protzenko <protz@microsoft.com>
|
||||
Date: Thu, 10 Oct 2024 11:59:06 +0200
|
||||
Subject: [PATCH 1/2] Try for Debian x86
|
||||
|
||||
---
|
||||
Misc/sbom.spdx.json | 4 ++--
|
||||
Modules/_hacl/libintvector.h | 2 +-
|
||||
2 files changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
--- a/Misc/sbom.spdx.json
|
||||
+++ b/Misc/sbom.spdx.json
|
||||
@@ -804,11 +804,11 @@
|
||||
"checksums": [
|
||||
{
|
||||
"algorithm": "SHA1",
|
||||
- "checksumValue": "d5d85ee8f0bd52781fe470d0bf73ec388ddb3999"
|
||||
+ "checksumValue": "f4a33ad535768b860362ab0bd033a70da0b524b7"
|
||||
},
|
||||
{
|
||||
"algorithm": "SHA256",
|
||||
- "checksumValue": "9a421b998add98fe366374641c4edb27617ff539a59f0963879f345065d3d39d"
|
||||
+ "checksumValue": "433cdf4ba80bc72e0cea5d4b420ff18676baeafdb5ba19adf5b7fb33e90b424b"
|
||||
}
|
||||
],
|
||||
"fileName": "Modules/_hacl/libintvector.h"
|
||||
--- a/Modules/_hacl/libintvector.h
|
||||
+++ b/Modules/_hacl/libintvector.h
|
||||
@@ -19,7 +19,7 @@
|
||||
|
||||
#define Lib_IntVector_Intrinsics_bit_mask64(x) -((x) & 1)
|
||||
|
||||
-#if defined(__x86_64__) || defined(_M_X64)
|
||||
+#if defined(__x86_64__) || defined(_M_X64) || defined(__i386__) || defined(_M_IX86)
|
||||
|
||||
#if defined(HACL_CAN_COMPILE_VEC128)
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
--- a/Makefile.pre.in
|
||||
+++ b/Makefile.pre.in
|
||||
@@ -1730,11 +1730,18 @@ Modules/getbuildinfo.o: $(PARSER_OBJS) \
|
||||
@@ -1743,11 +1743,18 @@ Modules/getbuildinfo.o: $(PARSER_OBJS) \
|
||||
$(DTRACE_OBJS) \
|
||||
$(srcdir)/Modules/getbuildinfo.c
|
||||
$(CC) -c $(PY_CORE_CFLAGS) \
|
||||
@@ -22,4 +22,4 @@
|
||||
+
|
||||
Modules/getpath.o: $(srcdir)/Modules/getpath.c Python/frozen_modules/getpath.h Makefile $(PYTHON_HEADERS)
|
||||
$(CC) -c $(PY_CORE_CFLAGS) -DPYTHONPATH='"$(PYTHONPATH)"' \
|
||||
-DPREFIX='"$(prefix)"' \
|
||||
-DPREFIX='"$(host_prefix)"' \
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
--- a/Lib/test/test_posix.py
|
||||
+++ b/Lib/test/test_posix.py
|
||||
@@ -435,7 +435,7 @@ class PosixTester(unittest.TestCase):
|
||||
@@ -437,7 +437,7 @@ class PosixTester(unittest.TestCase):
|
||||
def test_posix_fadvise(self):
|
||||
fd = os.open(os_helper.TESTFN, os.O_RDONLY)
|
||||
try:
|
||||
|
||||
@@ -1,3 +1,491 @@
|
||||
-------------------------------------------------------------------
|
||||
Tue Nov 19 22:08:24 UTC 2024 - Matej Cepl <mcepl@cepl.eu>
|
||||
|
||||
- Update to the second development version of 3.14.0a2.
|
||||
- Tools/Demos
|
||||
- gh-126807: Fix extraction warnings in pygettext.py caused
|
||||
by mistaking function definitions for function calls.
|
||||
- gh-126167: The iOS testbed was modified so that it can be
|
||||
used by third-party projects for testing purposes.
|
||||
- Tests
|
||||
- gh-126909: Fix test_os extended attribute tests to work on
|
||||
filesystems with 1 KiB xattr size limit.
|
||||
- gh-125730: Change make test to not run GUI tests by
|
||||
default. Use make ci to run tests with GUI tests instead.
|
||||
- gh-124295: Add translation tests to the argparse module.
|
||||
- Security
|
||||
- gh-126623: Upgrade libexpat to 2.6.4
|
||||
- Library
|
||||
- gh-85957: Add missing MIME types for images with RFCs: emf,
|
||||
fits, g3fax, jp2, jpm, jpx, t38, tiff-fx and wmf. Patch by
|
||||
Hugo van Kemenade.
|
||||
- gh-126920: Fix the prefix and exec_prefix keys from
|
||||
sysconfig.get_config_vars() incorrectly having the same
|
||||
value as sys.base_prefix and sys.base_exec_prefix,
|
||||
respectively, inside virtual environments. They now
|
||||
accurately reflect sys.prefix and sys.exec_prefix.
|
||||
- gh-67877: Fix memory leaks when regular expression matching
|
||||
terminates abruptly, either because of a signal or because
|
||||
memory allocation fails.
|
||||
- gh-125063: marshal now supports slice objects. The marshal
|
||||
format version was increased to 5.
|
||||
- gh-126789: Fixed the values of sysconfig.get_config_vars(),
|
||||
sysconfig.get_paths(), and their siblings when the site
|
||||
initialization happens after sysconfig has built a cache
|
||||
for sysconfig.get_config_vars().
|
||||
- gh-126188: Update bundled pip to 24.3.1
|
||||
- gh-126766: Fix issue where urllib.request.url2pathname()
|
||||
failed to discard two leading slashes introducing an empty
|
||||
authority section.
|
||||
- gh-126705: Allow os.PathLike to be a base for Protocols.
|
||||
- gh-126699: Allow collections.abc.AsyncIterator to be a base
|
||||
for Protocols.
|
||||
- gh-126654: Fix crash when non-dict was passed to several
|
||||
functions in _interpreters module.
|
||||
- gh-104745: Limit starting a patcher (from
|
||||
unittest.mock.patch() or unittest.mock.patch.object()) more
|
||||
than once without stopping it
|
||||
- gh-126595: Fix a crash when instantiating itertools.count
|
||||
with an initial count of sys.maxsize on debug builds. Patch
|
||||
by Bénédikt Tran.
|
||||
- gh-120423: Fix issue where urllib.request.pathname2url()
|
||||
mishandled Windows paths with embedded forward slashes.
|
||||
- gh-126565: Improve performances of zipfile.Path.open() for
|
||||
non-reading modes.
|
||||
- gh-126505: Fix bugs in compiling case-insensitive regular
|
||||
expressions with character classes containing non-BMP
|
||||
characters: upper-case non-BMP character did was ignored
|
||||
and the ASCII flag was ignored when matching a character
|
||||
range whose upper bound is beyond the BMP region.
|
||||
- gh-117378: Fixed the multiprocessing "forkserver"
|
||||
start method forkserver process to correctly inherit
|
||||
the parent’s sys.path during the importing of
|
||||
multiprocessing.set_forkserver_preload() modules in the
|
||||
same manner as sys.path is configured in workers before
|
||||
executing work items.
|
||||
- This bug caused some forkserver module preloading to
|
||||
silently fail to preload. This manifested as a performance
|
||||
degration in child processes when the sys.path was required
|
||||
due to additional repeated work in every worker.
|
||||
- It could also have a side effect of "" remaining in
|
||||
sys.path during forkserver preload imports instead of the
|
||||
absolute path from os.getcwd() at multiprocessing import
|
||||
time used in the worker sys.path.
|
||||
- The sys.path differences between phases in the child
|
||||
process could potentially have caused preload to import
|
||||
incorrect things from the wrong location. We are unaware of
|
||||
that actually having happened in practice.
|
||||
- gh-125679: The multiprocessing.Lock and
|
||||
multiprocessing.RLock repr values no longer say “unknown”
|
||||
on macOS.
|
||||
- gh-126476: Raise calendar.IllegalMonthError (now a subclass
|
||||
of IndexError) for calendar.month() when the input month is
|
||||
not correct.
|
||||
- gh-126489: The Python implementation of pickle no longer
|
||||
calls pickle.Pickler.persistent_id() for the result of
|
||||
persistent_id().
|
||||
- gh-126451: Register the contextvars.Context type to
|
||||
collections.abc.Mapping.
|
||||
- gh-126175: Add msg, doc, pos, lineno and colno attributes
|
||||
to tomllib.TOMLDecodeError. Deprecate instantiating with
|
||||
free-form arguments.
|
||||
- gh-89416: Add RFC 9559 MIME types for Matroska audiovisual
|
||||
container formats. Patch by Hugo van Kemenade.
|
||||
- gh-126417: Register the multiprocessing.managers.DictProxy
|
||||
and multiprocessing.managers.ListProxy types in
|
||||
multiprocessing.managers to collections.abc.MutableMapping
|
||||
and collections.abc.MutableSequence, respectively.
|
||||
- gh-126390: Add support for returning intermixed options and
|
||||
non-option arguments in order in getopt.gnu_getopt().
|
||||
- gh-126374: Add support for options with optional arguments
|
||||
in the getopt module.
|
||||
- gh-126363: Speed up pattern parsing in pathlib.Path.glob()
|
||||
by skipping creation of a pathlib.Path object for the
|
||||
pattern.
|
||||
- gh-126353: asyncio.get_event_loop() now does not implicitly
|
||||
creates an event loop. It now raises a RuntimeError if
|
||||
there is no set event loop. Patch by Kumar Aditya.
|
||||
- gh-126313: Fix an issue in curses.napms() when
|
||||
curses.initscr() has not yet been called. Patch by Bénédikt
|
||||
Tran.
|
||||
- gh-126303: Fix pickling and copying of os.sched_param
|
||||
objects.
|
||||
- gh-126138: Fix a use-after-free crash on asyncio.Task
|
||||
objects whose underlying coroutine yields an object that
|
||||
implements an evil __getattribute__(). Patch by Nico
|
||||
Posada.
|
||||
- gh-120057: Replace the os.environ.refresh() method with a
|
||||
new os.reload_environ() function. Patch by Victor Stinner.
|
||||
- gh-126220: Fix crash in cProfile.Profile and
|
||||
_lsprof.Profiler when their callbacks were directly called
|
||||
with 0 arguments.
|
||||
- gh-126212: Fix issue where urllib.request.pathname2url()
|
||||
and url2pathname() removed slashes from Windows DOS drive
|
||||
paths and URLs.
|
||||
- gh-126223: Raise a UnicodeEncodeError instead of a
|
||||
SystemError upon calling _interpreters.create() with an
|
||||
invalid Unicode character.
|
||||
- gh-126205: Fix issue where urllib.request.pathname2url()
|
||||
generated URLs beginning with four slashes (rather than
|
||||
two) when given a Windows UNC path.
|
||||
- gh-126156: Improved performances of creating Morsel objects
|
||||
by a factor of 3.8x.
|
||||
- gh-126105: Fix a crash in ast when the ast.AST._fields
|
||||
attribute is deleted.
|
||||
- gh-126106: Fixes a possible NULL pointer dereference in
|
||||
ssl.
|
||||
- gh-126080: Fix a use-after-free crash on asyncio.Task
|
||||
objects for which the underlying event loop implements an
|
||||
evil __getattribute__(). Reported by Nico-Posada. Patch by
|
||||
Bénédikt Tran.
|
||||
- gh-125322: Correct detection of complex numbers support in
|
||||
libffi.
|
||||
- gh-126083: Fixed a reference leak in asyncio.Task objects
|
||||
when reinitializing the same object with a non-None
|
||||
context. Patch by Nico Posada.
|
||||
- gh-126068: Fix exceptions in the argparse module so that
|
||||
only error messages for ArgumentError and ArgumentTypeError
|
||||
are now translated. ArgumentError is now only used for
|
||||
command line errors, not for logical errors in the
|
||||
program. TypeError is now raised instead of ValueError for
|
||||
some logical errors.
|
||||
- gh-125413: Add pathlib.Path.scandir() method to efficiently
|
||||
fetch directory children and their file attributes. This is
|
||||
a trivial wrapper of os.scandir().
|
||||
- gh-125984: Fix use-after-free crashes on asyncio.Future
|
||||
objects for which the underlying event loop implements an
|
||||
evil __getattribute__(). Reported by Nico-Posada. Patch by
|
||||
Bénédikt Tran.
|
||||
- gh-125926: Fix urllib.parse.urljoin() for base URI with
|
||||
undefined authority. Although RFC 3986 only specify
|
||||
reference resolution for absolute base URI, urljoin()
|
||||
should continue to return sensible result for relative base
|
||||
URI.
|
||||
- gh-125969: Fix an out-of-bounds crash when an evil
|
||||
asyncio.loop.call_soon() mutates the length of the internal
|
||||
callbacks list. Patch by Bénédikt Tran.
|
||||
- gh-125966: Fix a use-after-free crash in
|
||||
asyncio.Future.remove_done_callback(). Patch by Bénédikt
|
||||
Tran.
|
||||
- gh-125789: Fix possible crash when mutating list of
|
||||
callbacks returned by asyncio.Future._callbacks. It
|
||||
now always returns a new copy in C implementation
|
||||
_asyncio. Patch by Kumar Aditya.
|
||||
- gh-126916: Allow the initial parameter of
|
||||
functools.reduce() to be passed as a keyword
|
||||
argument. Patch by Sayandip Dutta.
|
||||
- gh-124452: Fix an issue in
|
||||
email.policy.EmailPolicy.header_source_parse() and
|
||||
email.policy.Compat32.header_source_parse() that introduced
|
||||
spurious leading whitespaces into header values when the
|
||||
header includes a newline character after the header name
|
||||
delimiter (:) and before the value.
|
||||
- gh-117941: argparse.BooleanOptionalAction now rejects
|
||||
option names starting with --no-.
|
||||
- gh-125884: Fixed the bug for pdb where it can’t set
|
||||
breakpoints on functions with certain annotations.
|
||||
- gh-125355: Fix several bugs in
|
||||
argparse.ArgumentParser.parse_intermixed_args().
|
||||
- The parser no longer changes temporarily during
|
||||
parsing.
|
||||
- Default values are not processed twice.
|
||||
- Required mutually exclusive groups containing
|
||||
positional arguments are now supported.
|
||||
- The missing arguments report now includes the names of
|
||||
all required optional and positional arguments.
|
||||
- Unknown options can be intermixed with positional
|
||||
arguments in parse_known_intermixed_args().
|
||||
- gh-125767: super objects are now pickleable and copyable.
|
||||
- gh-124969: locale.nl_langinfo(locale.ALT_DIGITS) now
|
||||
returns a string again. The returned value consists of up
|
||||
to 100 semicolon-separated symbols.
|
||||
- gh-84850: Remove URLopener and FancyURLopener classes
|
||||
from urllib.request. They had previously raised
|
||||
DeprecationWarning since Python 3.3.
|
||||
- gh-125666: Avoid the exiting the interpreter if a null byte
|
||||
is given as input in the new REPL.
|
||||
- gh-125710: [Enum] fix hashable<->nonhashable comparisons
|
||||
for member values
|
||||
- gh-125631: Restore ability to set persistent_id and
|
||||
persistent_load attributes of instances of the Pickler and
|
||||
Unpickler classes in the pickle module.
|
||||
- gh-125378: Fixed the bug in pdb where after a multi-line
|
||||
command, an empty line repeats the first line of the
|
||||
multi-line command, instead of the full command.
|
||||
- gh-125682: Reject non-ASCII digits in the Python
|
||||
implementation of json.loads() conforming to the JSON
|
||||
specification.
|
||||
- gh-125660: Reject invalid unicode escapes for Python
|
||||
implementation of json.loads().
|
||||
- gh-52551: Use wcsftime() to implement time.strftime() on
|
||||
Windows.
|
||||
- gh-125259: Fix the notes removal logic for errors thrown in
|
||||
enum initialization.
|
||||
- gh-125633: Add function inspect.ispackage() to determine
|
||||
whether an object is a package or not.
|
||||
- gh-125614: In the FORWARDREF format of annotationlib,
|
||||
fix bug where nested expressions were not returned as
|
||||
annotationlib.ForwardRef format.
|
||||
- gh-125590: Allow FrameLocalsProxy to delete and pop if the
|
||||
key is not a fast variable.
|
||||
- gh-125600: Only show stale code warning in pdb when we
|
||||
display source code.
|
||||
- gh-125542: Deprecate passing keyword-only prefix_chars
|
||||
argument to argparse.ArgumentParser.add_argument_group().
|
||||
- gh-125541: Pressing Ctrl-C while blocked in
|
||||
threading.Lock.acquire(), threading.RLock.acquire(), and
|
||||
threading.Thread.join() now interrupts the function call
|
||||
and raises a KeyboardInterrupt exception on Windows,
|
||||
similar to how those functions behave on macOS and Linux.
|
||||
- gh-125519: Improve traceback if importlib.reload() is
|
||||
called with an object that is not a module. Patch by Alex
|
||||
Waygood.
|
||||
- gh-125451: Fix deadlock when
|
||||
concurrent.futures.ProcessPoolExecutor shuts down
|
||||
concurrently with an error when feeding a job to a worker
|
||||
process.
|
||||
- gh-125115: Fixed a bug in pdb where arguments starting with
|
||||
- can’t be passed to the debugged script.
|
||||
- gh-125398: Fix the conversion of the VIRTUAL_ENV path in
|
||||
the activate script in venv when running in Git Bash for
|
||||
Windows.
|
||||
- gh-125245: Fix race condition when importing
|
||||
collections.abc, which could incorrectly return an empty
|
||||
module.
|
||||
- gh-52551: Fix encoding issues in time.strftime(), the
|
||||
strftime() method of the datetime classes datetime, date
|
||||
and time and formatting of these classes. Characters
|
||||
not encodable in the current locale are now acceptable
|
||||
in the format string. Surrogate pairs and sequence
|
||||
of surrogatescape-encoded bytes are no longer
|
||||
recombinated. Embedded null character no longer terminates
|
||||
the format string.
|
||||
- gh-124984: Fixed thread safety in ssl in the free-threaded
|
||||
build. OpenSSL operations are now protected by a per-object
|
||||
lock.
|
||||
- gh-124651: Properly quote template strings in venv
|
||||
activation scripts.
|
||||
- gh-124694: We’ve added
|
||||
concurrent.futures.InterpreterPoolExecutor, which allows
|
||||
you to run code in multiple isolated interpreters. This
|
||||
allows you to circumvent the limitations of CPU-bound
|
||||
threads (due to the GIL). Patch by Eric Snow.
|
||||
- This addition is unrelated to PEP 734.
|
||||
- gh-58032: Deprecate the argparse.FileType type converter.
|
||||
- gh-99749: Adds a feature to optionally enable suggestions
|
||||
for argument choices and subparser names if mistyped by the
|
||||
user.
|
||||
- gh-58956: Fixed a bug in pdb where sometimes the breakpoint
|
||||
won’t trigger if it was set on a function which is already
|
||||
in the call stack.
|
||||
- gh-124111: The tkinter module can now be built to use
|
||||
either the new version 9.0.0 of Tcl/Tk or the latest
|
||||
release 8.6.15 of Tcl/Tk 8. Tcl/Tk 9 includes many
|
||||
improvements, both to the Tcl language and to the
|
||||
appearance and utility of the graphical user interface
|
||||
provided by Tk.
|
||||
- gh-80958: unittest discovery supports PEP 420 namespace
|
||||
packages as start directory again.
|
||||
- gh-123370: Fix the canvas not clearing after running
|
||||
turtledemo clock.
|
||||
- gh-89083: Add uuid.uuid8() for generating UUIDv8 objects as
|
||||
specified in RFC 9562. Patch by Bénédikt Tran
|
||||
- gh-122549: Add platform.invalidate_caches() to invalidate
|
||||
cached results.
|
||||
- gh-120754: Update unbounded read calls in zipfile to
|
||||
specify an explicit size putting a limit on how much data
|
||||
they may read. This also updates handling around ZIP max
|
||||
comment size to match the standard instead of reading
|
||||
comments that are one byte too long.
|
||||
- gh-121267: Improve the performance of tarfile when writing
|
||||
files, by caching user names and group names.
|
||||
- gh-70764: Fixed an issue where inspect.getclosurevars()
|
||||
would incorrectly classify an attribute name as a global
|
||||
variable when the name exists both as an attribute name and
|
||||
a global variable.
|
||||
- gh-118289: posixpath.realpath() now raises
|
||||
NotADirectoryError when strict mode is enabled and a
|
||||
non-directory path with a trailing slash is supplied.
|
||||
- gh-119826: Always return an absolute path for
|
||||
os.path.abspath() on Windows.
|
||||
- gh-97850: Remove deprecated pkgutil.get_loader() and
|
||||
pkgutil.find_loader().
|
||||
- gh-118986: Add socket.IPV6_RECVERR constant (available
|
||||
since Linux 2.2).
|
||||
- gh-116897: Accepting objects with false values (like 0 and
|
||||
[]) except empty strings, byte-like objects and None in
|
||||
urllib.parse functions parse_qsl() and parse_qs() is now
|
||||
deprecated.
|
||||
- gh-101955: Fix SystemError when match regular expression
|
||||
pattern containing some combination of possessive
|
||||
quantifier, alternative and capture group.
|
||||
- gh-71936: Fix a race condition in
|
||||
multiprocessing.pool.Pool.
|
||||
- bpo-46128: Strip unittest.IsolatedAsyncioTestCase stack
|
||||
frames from reported stacktraces.
|
||||
- gh-84852: Add MIME types for MS Embedded OpenType, OpenType
|
||||
Layout, TrueType, WOFF 1.0 and 2.0 fonts. Patch by Sahil
|
||||
Prajapati and Hugo van Kemenade.
|
||||
- Documentation
|
||||
- gh-126622: Added stub pages for removed modules explaining
|
||||
their removal, where to find replacements, and linking to
|
||||
the last Python version that supported them. Contributed by
|
||||
Ned Batchelder.
|
||||
- gh-125277: Require Sphinx 7.2.6 or later to build the
|
||||
Python documentation. Patch by Adam Turner.
|
||||
- gh-60712: Include the object type in the lists of
|
||||
documented types. Change by Furkan Onder and Martin Panter.
|
||||
- Core and Builtins
|
||||
- gh-126795: Increase the threshold for JIT code
|
||||
warmup. Depending on platform and workload, this can result
|
||||
in performance gains of 1-9% and memory savings of 3-5%.
|
||||
- gh-126341: Now ValueError is raised instead of SystemError
|
||||
when trying to iterate over a released memoryview object.
|
||||
- gh-126688: Fix a crash when calling os.fork() on some
|
||||
operating systems, including SerenityOS.
|
||||
- gh-126066: Fix importlib to not write an incomplete
|
||||
.pyc files when a ulimit or some other operating system
|
||||
mechanism is preventing the write to go through fully.
|
||||
- gh-126222: Do not include count of “peek” items in
|
||||
_PyUop_num_popped. This ensures that the correct number of
|
||||
items are popped from the stack when a micro-op exits with
|
||||
an error.
|
||||
- gh-126366: Fix crash when using yield from on an object
|
||||
that raises an exception in its __iter__.
|
||||
- gh-126209: Fix an issue with skip_file_prefixes parameter
|
||||
which resulted in an inconsistent behaviour between the C
|
||||
and Python implementations of warnings.warn(). Patch by
|
||||
Daehee Kim.
|
||||
- gh-126312: Fix crash during garbage collection on an object
|
||||
frozen by gc.freeze() on the free-threaded build.
|
||||
- gh-103951: Relax optimization requirements to allow fast
|
||||
attribute access to module subclasses.
|
||||
- gh-126072: Following gh-126101, for Code Objects like
|
||||
lambda, annotation and type alias, we no longer add None to
|
||||
its co_consts.
|
||||
- gh-126195: Improve JIT performance by 1.4% on macOS Apple
|
||||
Silicon by using platform-specific memory protection
|
||||
APIs. Patch by Diego Russo.
|
||||
- gh-126139: Provide better error location when attempting to
|
||||
use a future statement with an unknown future feature.
|
||||
- gh-126072: Add a new attribute in co_flags to indicate
|
||||
whether the first item in co_consts is the docstring. If a
|
||||
code object has no docstring, None will NOT be inserted.
|
||||
- gh-126076: Relocated objects such as tuple, bytes and
|
||||
str objects are properly tracked by tracemalloc and its
|
||||
associated hooks. Patch by Pablo Galindo.
|
||||
- gh-90370: Avoid temporary tuple creation for vararg in
|
||||
argument passing with Argument Clinic generated code (if
|
||||
arguments either vararg or positional-only).
|
||||
- gh-126018: Fix a crash in sys.audit() when passing a
|
||||
non-string as first argument and Python was compiled in
|
||||
debug mode.
|
||||
- gh-126012: The memoryview type now supports subscription,
|
||||
making it a generic type.
|
||||
- gh-125837: Adds LOAD_SMALL_INT and LOAD_CONST_IMMORTAL
|
||||
instructions. LOAD_SMALL_INT pushes a small integer equal
|
||||
to the oparg to the stack. LOAD_CONST_IMMORTAL does the
|
||||
same as LOAD_CONST but is more efficient for immortal
|
||||
objects. Removes RETURN_CONST instruction.
|
||||
- gh-125942: On Android, the errors setting of sys.stdout was
|
||||
changed from surrogateescape to backslashreplace.
|
||||
- gh-125859: Fix a crash in the free threading build when
|
||||
gc.get_objects() or gc.get_referrers() is called during an
|
||||
in-progress garbage collection.
|
||||
- gh-125868: It was possible in 3.14.0a1 only for
|
||||
attribute lookup to give the wrong value. This was
|
||||
due to an incorrect specialization in very specific
|
||||
circumstances. This is fixed in 3.14.0a2.
|
||||
- gh-125498: The JIT has been updated to leverage Clang 19’s
|
||||
new preserve_none attribute, which supports more platforms
|
||||
and is more useful than LLVM’s existing ghccc calling
|
||||
convention. This also removes the need to manually patch
|
||||
the calling convention in LLVM IR, simplifying the JIT
|
||||
compilation process.
|
||||
- gh-125703: Correctly honour tracemalloc hooks in
|
||||
specialized Py_DECREF paths. Patch by Pablo Galindo
|
||||
- gh-125593: Use color to highlight error locations in
|
||||
traceback from exception group
|
||||
- gh-125017: Fix crash on certain accesses to the
|
||||
__annotations__ of staticmethod and classmethod objects.
|
||||
- gh-125588: The Python PEG generator can now use f-strings
|
||||
in the grammar actions. Patch by Pablo Galindo
|
||||
- gh-125444: Fix illegal instruction for older Arm
|
||||
architectures. Patch by Diego Russo, testing by Ross
|
||||
Burton.
|
||||
- gh-118423: Add a new INSTRUCTION_SIZE macro to the cases
|
||||
generator which returns the current instruction size.
|
||||
- gh-125038: Fix crash when iterating over a generator
|
||||
expression after direct changes on gi_frame.f_locals. Patch
|
||||
by Mikhail Efimov.
|
||||
- gh-124855: Don’t allow the JIT and perf support to be
|
||||
active at the same time. Patch by Pablo Galindo
|
||||
- gh-123714: Update JIT compilation to use LLVM 19
|
||||
- gh-123930: Improve the error message when a script
|
||||
shadowing a module from the standard library causes
|
||||
ImportError to be raised during a “from” import. Similarly,
|
||||
improve the error message when a script shadowing a third
|
||||
party module attempts to “from” import an attribute from
|
||||
that third party module while still initialising.
|
||||
- gh-119793: The map() built-in now has an optional
|
||||
keyword-only strict flag like zip() to check that all the
|
||||
iterables are of equal length. Patch by Wannes Boeykens.
|
||||
- gh-118950: Fix bug where SSLProtocol.connection_lost wasn’t
|
||||
getting called when OSError was thrown on writing to
|
||||
socket.
|
||||
- gh-113570: Fixed a bug in reprlib.repr where it incorrectly
|
||||
called the repr method on shadowed Python built-in types.
|
||||
- C API
|
||||
- gh-126554: Fix error handling in ctypes.CDLL objects which
|
||||
could result in a crash in rare situations.
|
||||
- gh-126061: Add PyLong_IsPositive(), PyLong_IsNegative() and
|
||||
PyLong_IsZero() for checking if a PyLongObject is positive,
|
||||
negative, or zero, respectively.
|
||||
- gh-125608: Fix a bug where dictionary watchers
|
||||
(e.g., PyDict_Watch()) on an object’s attribute dictionary
|
||||
(__dict__) were not triggered when the object’s attributes
|
||||
were modified.
|
||||
- gh-123619: Added the
|
||||
PyUnstable_Object_EnableDeferredRefcount() function for
|
||||
enabling PEP 703 deferred reference counting.
|
||||
- gh-121654: Add PyType_Freeze() function to make a type
|
||||
immutable. Patch by Victor Stinner.
|
||||
- gh-120026: The Py_HUGE_VAL macro is soft deprecated.
|
||||
- Build
|
||||
- gh-126691: Removed the --with-emscripten-target configure
|
||||
flag. We unified the node and browser options and the same
|
||||
build can now be used, independent of target runtime.
|
||||
- gh-123877: Use wasm32-wasip1 as the target triple for
|
||||
WASI instead of wasm32-wasi. The latter will eventually
|
||||
be reclaimed for WASI 1.0 while CPython currently only
|
||||
supports WASI preview1.
|
||||
- gh-126458: Disable SIMD support for HACL under WASI.
|
||||
- gh-89640: Hard-code float word ordering as little endian on
|
||||
WASM.
|
||||
- gh-126206: make clinic now runs Argument Clinic using the
|
||||
--force option, thus forcefully regenerating generated
|
||||
code.
|
||||
- gh-126187: Introduced Tools/wasm/emscripten.py to simplify
|
||||
doing Emscripten builds.
|
||||
- gh-124932: For cross builds, there is now support for
|
||||
having a different install prefix than the host_prefix used
|
||||
by getpath.py. This is set to / by default for Emscripten,
|
||||
on other platforms the default behavior is the same as
|
||||
before.
|
||||
- gh-125946: The minimum supported Android version is now 7.0
|
||||
(API level 24).
|
||||
- gh-125940: The Android build now supports 16 KB page sizes.
|
||||
- gh-89640: Improve detection of float word ordering on Linux
|
||||
when link-time optimizations are enabled.
|
||||
- gh-124928: Emscripten builds now require node >= 18.
|
||||
- gh-115382: Fix cross compile failures when the host and
|
||||
target SOABIs match.
|
||||
- Remove upstreamed patches:
|
||||
- fix_test_generated_data.patch
|
||||
- fix_test_ftp_error.patch
|
||||
- gh125535-Lib_IntVector_Intrinsics_vec128.patch
|
||||
- Don't limit clang to clang18.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Nov 14 07:06:20 UTC 2024 - Matej Cepl <mcepl@cepl.eu>
|
||||
|
||||
|
||||
@@ -149,8 +149,8 @@
|
||||
# _md5.cpython-38m-x86_64-linux-gnu.so
|
||||
%define dynlib() %{sitedir}/lib-dynload/%{1}.cpython-%{abi_tag}-%{archname}-%{_os}%{?_gnu}%{?armsuffix}.so
|
||||
Name: %{python_pkg_name}%{psuffix}
|
||||
Version: 3.14.0~a1
|
||||
%define tarversion 3.14.0a1
|
||||
Version: 3.14.0~a2
|
||||
%define tarversion 3.14.0a2
|
||||
%define tarname Python-%{tarversion}
|
||||
Release: 0
|
||||
Summary: Python 3 Interpreter
|
||||
@@ -209,15 +209,6 @@ Patch39: CVE-2023-52425-libexpat-2.6.0-backport-15.6.patch
|
||||
# Skip some failing tests in test_compile for i586 arch in 15.6.
|
||||
Patch40: fix-test-recursion-limit-15.6.patch
|
||||
#### Python 3.14 DEVELOPMENT PATCHES
|
||||
# PATCH-FIX-UPSTREAM gh125535-Lib_IntVector_Intrinsics_vec128.patch gh#python/cpython#125535 mcepl@suse.com
|
||||
# Patch from gh#python/cpython!125244
|
||||
Patch41: gh125535-Lib_IntVector_Intrinsics_vec128.patch
|
||||
# PATCH-FIX-UPSTREAM fix_test_ftp_error.patch gh#python/cpython#125584 mcepl@suse.com
|
||||
# Patch from gh#python/cpython!125586
|
||||
Patch42: fix_test_ftp_error.patch
|
||||
# PATCH-FIX-UPSTREAM fix_test_generated_data.patch gh#python/cpython#121938 mcepl@suse.com
|
||||
# skip the failing test on 32bit arch
|
||||
Patch43: fix_test_generated_data.patch
|
||||
BuildRequires: autoconf-archive
|
||||
BuildRequires: automake
|
||||
BuildRequires: fdupes
|
||||
@@ -261,8 +252,8 @@ BuildRequires: python3-python-docs-theme >= 2022.1
|
||||
|
||||
%if %{with experimental_jit}
|
||||
# needed for experimental_jit
|
||||
BuildRequires: clang18
|
||||
BuildRequires: llvm18
|
||||
BuildRequires: clang
|
||||
BuildRequires: llvm
|
||||
%endif
|
||||
|
||||
%if %{without GIL}
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
--- a/Lib/test/test_subprocess.py
|
||||
+++ b/Lib/test/test_subprocess.py
|
||||
@@ -280,7 +280,8 @@ class ProcessTestCase(BaseTestCase):
|
||||
@@ -281,7 +281,8 @@ class ProcessTestCase(BaseTestCase):
|
||||
"time.sleep(3600)"],
|
||||
# Some heavily loaded buildbots (sparc Debian 3.x) require
|
||||
# this much time to start and print.
|
||||
|
||||
Reference in New Issue
Block a user