- Add --enable-experimental-jit=yes-off to the build

- Update to 3.13.0a5
  * Security
    - gh-115398: Allow controlling Expat >=2.6.0 reparse deferral
      (CVE-2023-52425) by adding five new methods:
    -     xml.etree.ElementTree.XMLParser.flush()
    -     xml.etree.ElementTree.XMLPullParser.flush()
    -     xml.parsers.expat.xmlparser.GetReparseDeferralEnabled()
    -     xml.parsers.expat.xmlparser.SetReparseDeferralEnabled()
    -     xml.sax.expatreader.ExpatParser.flush()
    - gh-114572: ssl.SSLContext.cert_store_stats() and
      ssl.SSLContext.get_ca_certs() now correctly lock access to the
      certificate store, when the ssl.SSLContext is shared across
      multiple threads.  Core-  and Builtins
    - gh-116604: Respect the status of the garbage collector when
      indirect calls are made via PyErr_CheckSignals() and the
      evaluation breaker. Patch by Pablo Galindo
    - gh-112087: list is now compatible with the implementation of PEP
      703.
    - gh-116381: Add specialization for CONTAINS_OP.
    - gh-116296: Fix possible refleak in object.__reduce__() internal
      error handling.
    - gh-115823: Properly calculate error ranges in the parser when
      raising SyntaxError exceptions caused by invalid byte sequences.
      Patch by Pablo Galindo
    - gh-115778: Add tierN annotation for instruction definition in
      interpreter DSL.
    - gh-115733: Fix crash when calling next() on exhausted list
      iterators.
    - gh-115700: The regen-cases build stage now works on Windows.
    - gh-115347: Fix bug where docstring was replaced by a redundant

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python313?expand=0&rev=13
This commit is contained in:
Daniel Garcia 2024-05-09 09:59:06 +00:00 committed by Git OBS Bridge
parent ee738c9b79
commit a4dc42ba84
6 changed files with 868 additions and 27 deletions

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1e89b5355183e7c898a5a01b2f601728fe49fdb89d9c9781f13360847aaefa62
size 20734172

View File

@ -1,18 +0,0 @@
-----BEGIN PGP SIGNATURE-----
iQKTBAABCgB9FiEEcWlgX2LHUTVtBUomqCHmgOX6YwUFAmXwtydfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDcx
Njk2MDVGNjJDNzUxMzU2RDA1NEEyNkE4MjFFNjgwRTVGQTYzMDUACgkQqCHmgOX6
YwXYFg//fo4lguUKXI4D7dZ644UNElDlXFP5mb+XUfBK5K+x2PkCbyyN8dpFmz2r
4PjFkg9HlijLkq9gSZRxD/pKOY1UgcosBe3aeRcMNe++fIk3PLIOGf+42t1Id0eE
myXXmZwLGvl+uT1H8VvjgMJgYQ/EI8uAR3sFaqEqZRWTuNqROd/OsssYdP9sWQCf
JjtYPGckJGmaK5+TXS0FtbM0sqEfrdZP6QdOw2y33r1NcV7MPce7OkMhPBdUBn1L
9vmUZMAQCi9Mn3JQcWqRnhJMDPiG4rRbAzzdXvRK87H7k04o6F/ao5wec46j3VQa
RIwY7tXen/FAES46wege/+/IQu37Ny+oGkXA2XzSu8s3SYdKq95iurPpGfvRnWaM
OJzV+S9xVdHvl7dZNv8WGYx2OQwQclZV3hP0vWIRBLzV4aP6EXulzX8Ym7lnRigi
poDPMr+kyHqMXbHVuIskEGoWx1eGueaPyqIJ50tHsp04/HCer+gVsqVaJ8Swq3hI
6x4aBm+sJ4L1OsaWaSpOYnZ/7PMKDHkbi3itJs4tkqPE9t4rMkrhfeFiaDCYXSiu
8DF7c1f5jHVDP/hlF3oK+j3QIcYBB0rPa7gM4BmP44kMCYgIYRFdQR/VBZoLZ6aD
x2pJRfNN2dzgxnzf5iM9ukDK61sOZiRaVfGUQRS00Lnjh6n7qQo=
=+psT
-----END PGP SIGNATURE-----

3
Python-3.13.0b1.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ba716ac56b039b545ad4a90ce586a57aa97869364553746ef2445728ceec198e
size 21054240

View File

@ -0,0 +1,18 @@
-----BEGIN PGP SIGNATURE-----
iQKTBAABCgB9FiEEcWlgX2LHUTVtBUomqCHmgOX6YwUFAmY7VzpfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDcx
Njk2MDVGNjJDNzUxMzU2RDA1NEEyNkE4MjFFNjgwRTVGQTYzMDUACgkQqCHmgOX6
YwUGrQ/6ArSGPmmq8qbEk+/XTZd0XulLxayLrx571dvTKqqZ5PlneNlhwuZHvCQg
fhCK6ALZDyJD2aSrBo7bR3tZF2+GZltr/KJIrWUBl1ZeO6e91XNMHBkHphnOuE8o
ATVcR1wejleLckjdj5CU1Q1iBojEBpLs8kqqTbnox5qj/QzoZbs0Jp5mV7BhVKrP
cjd4Fq7OBzA0jkmqovLTB7vq6YwTORSar/QksqM/rpDDvp1DteJiO3p5TjbUMswS
JgLLGrltvR1J3raA6DFogEbvwsBQTBzcZO+nlcRAx6c/40XTFqTJq4yLJm+ckfp4
jVneiQbP9IoJCldLf/dGOCESnalPph1OXkjRZcpPlCJVrT4NPYj4b3c6jeTuSx9h
Ucv9ZlNSfWgLqS+Y6RPL13CPcKZ4myYcpboW5i1ztxV+BtG6gixTg5jONznJ9DFp
2YUmTAlweIlJLIc8HKOXVscnDDwcElns6y7IjA0CvUpc97OChjedbXXwx2lgJ9oO
ydkyTAk6KlfAtijvSvs8QdAoo775ybwgmNh5tBfekc+Z5fRn2Mi7ZVqc+JypUq+J
QaLT7+MJEBiaOqOZEtuOM1em0LP+k6i1q4DaFNiHO9M2wS7nedzA8jNYrFzserSs
eApkreY/kEWiYDeeIoO9f/dHehgDfPaM6A0ZzcCQQIwLAKhvdPE=
=IVHC
-----END PGP SIGNATURE-----

View File

@ -1,3 +1,833 @@
-------------------------------------------------------------------
Thu May 9 08:18:00 UTC 2024 - Daniel Garcia <daniel.garcia@suse.com>
- Update to 3.13.0b1:
- Security
- gh-116741: Update bundled libexpat to 2.6.2
- gh-117233: Detect BLAKE2, SHA3, Shake, & truncated SHA512 support
in the OpenSSL-ish libcrypto library at build time. This allows
hashlib to be used with libraries that do not to support every
algorithm that upstream OpenSSL does.
- Core and Builtins
- gh-118414: Add instrumented opcodes to YIELD_VALUE assertion for
tracing cases.
- gh-117953: When a builtin or extension module is imported for
the first time, while a subinterpreter is active, the modules
init function is now run by the main interpreter first before
import continues in the subinterpreter. Consequently,
single-phase init modules now fail in an isolated subinterpreter
without the init function running under that interpreter,
whereas before it would run under the subinterpreter before
failing, potentially leaving behind global state and callbacks
and otherwise leaving the module in an inconsistent state.
- gh-117549: Dont use designated initializer syntax in inline
functions in internal headers. They cause problems for C++ or
MSVC users who arent yet using the latest C++ standard (C++20).
While internal, pycore_backoff.h, is included (indirectly, via
pycore_code.h) by some key 3rd party software that does so for
speed.
- gh-95382: Improve performance of json.dumps() and json.dump()
when using the argument indent. Depending on the data the
encoding using json.dumps() with indent can be up to 2 to 3
times faster.
- gh-116322: In --disable-gil builds, the GIL will be enabled
while loading C extension modules. If the module indicates that
it supports running without the GIL, the GIL will be disabled
once loading is complete. Otherwise, the GIL will remain enabled
for the remainder of the interpreters lifetime. This behavior
does not apply if the GIL has been explicitly enabled or
disabled with PYTHON_GIL or -Xgil.
- gh-118513: Fix incorrect UnboundLocalError when two
comprehensions in the same function both reference the same
name, and in one comprehension the name is bound while in the
other its an implicit global.
- gh-118518: Allow the Linux perf support to work without frame
pointers using perfs advanced JIT support. The feature is
activated when using the PYTHON_PERF_JIT_SUPPORT environment
variable or when running Python with -Xperf_jit. Patch by Pablo
Galindo.
- gh-117514: Add sys._is_gil_enabled() function that returns
whether the GIL is currently enabled. In the default build it
always returns True because the GIL is always enabled. In the
free-threaded build, it may return True or False.
- gh-118164: Break a loop between the Python implementation of the
decimal module and the Python code for integer to string
conversion. Also optimize integer to string conversion for
values in the range from 9_000 to 135_000 decimal digits.
- gh-118473: Fix sys.set_asyncgen_hooks() not to be partially set
when raising TypeError.
- gh-118465: Compiler populates the new __firstlineno__ field on a
class with the line number of the first line of the class
definition.
- gh-118492: Fix an issue where the type cache can expose a
previously accessed attribute when a finalizer is run.
- gh-117714: update async_generator.athrow().close() and
async_generator.asend().close() to close their section of the
underlying async generator
- gh-111201: The interactive interpreter is now implemented in
Python, which allows for a number of new features like colors,
multiline input, history viewing, and paste mode. Contributed by
Pablo Galindo, Łukasz Langa and Lysandros Nikolaou based on code
from the PyPy project.
- gh-74929: Implement PEP 667: converted FrameType.f_locals and
PyFrame_GetLocals() to return a write-through proxy object when
the frame refers to a function or comprehension.
- gh-116767: Fix crash in compiler on async with that has many
context managers.
- gh-118335: Change how to use the tier 2 interpreter. Instead of
running Python with -X uops or setting the environment variable
PYTHON_UOPS=1, this choice is now made at build time by
configuring with --enable-experimental-jit=interpreter.
- Beware! This changes the environment variable to enable or
disable micro-ops to PYTHON_JIT. The old PYTHON_UOPS is no
longer used.
- gh-118306: Update JIT compilation to use LLVM 18
- gh-118160: Annotation scopes within classes can now contain
comprehensions. However, such comprehensions are not inlined
into their parent scope at runtime. Patch by Jelle Zijlstra.
- gh-118272: Fix bug where generator.close does not free the
generator frames locals.
- gh-118216: Dont consider __future__ imports with dots before
the module name.
- gh-118074: Make sure that the Executor objects in the COLD_EXITS
array arent assumed to be GC-able (which would access bytes
outside the object).
- gh-107674: Lazy load frame line number to improve performance of
tracing
- gh-118082: Improve SyntaxError message for imports without
names, like in from x import and import cases. It now points out
to users that import expects at least one name after it.
- gh-118090: Improve SyntaxError message for empty type param
brackets.
- gh-102511: Speed up os.path.splitroot() with a native
implementation.
- gh-117958: Added a get_jit_code() method to access JIT compiled
machine code from the UOp Executor when the experimental JIT is
enabled. Patch by Anthony Shaw.
- gh-117901: Add option for compilers codegen to save nested
instruction sequences for introspection.
- gh-116622: Redirect stdout and stderr to system log when
embedded in an Android app.
- gh-109118: annotation scope within class scopes can now contain
lambdas.
- gh-117894: Prevent agen.aclose() objects being re-used after
.throw().
- gh-117881: prevent concurrent access to an async generator via
athrow().throw() or asend().throw()
- gh-115874: Fixed a possible segfault during garbage collection
of _asyncio.FutureIter objects
- gh-117536: Fix a RuntimeWarning when calling
agen.aclose().throw(Exception).
- gh-117755: Fix mimalloc allocator for huge memory allocation
(around 8,589,934,592 GiB) on s390x. Patch by Victor Stinner.
- gh-117750: Fix issue where an objects dict would get out of
sync with the objects internal values when being cleared.
obj.__dict__.clear() now clears the internal values, but leaves
the dict attached to the object.
- gh-117431: Improve the performance of the following bytes and
bytearray methods by adapting them to the METH_FASTCALL calling
convention:
count()
find()
index()
rfind()
rindex()
- gh-117709: Speed up calls to str() with positional-only
argument, by using the PEP 590 vectorcall calling convention.
Patch by Erlend Aasland.
- gh-117680: Give _PyInstructionSequence a Python interface and
use it in tests.
- gh-115776: Statically allocated objects are, by definition,
immortal so must be marked as such regardless of whether they
are in extension modules or not.
- gh-117641: Speedup os.path.commonpath() on Unix.
- gh-117636: Speedup os.path.join().
- gh-117607: Speedup os.path.relpath().
- gh-117385: Remove unhandled PY_MONITORING_EVENT_BRANCH and
PY_MONITORING_EVENT_EXCEPTION_HANDLED events from
sys.settrace().
- gh-116322: Extension modules may indicate to the runtime that
they can run without the GIL. Multi-phase init modules do so by
calling providing Py_MOD_GIL_NOT_USED for the Py_mod_gil slot,
while single-phase init modules call
PyUnstable_Module_SetGIL(mod, Py_MOD_GIL_NOT_USED) from their
init function.
- gh-116129: Implement PEP 696, adding support for defaults on
type parameters. Patch by Jelle Zijlstra.
- gh-93502: Add two new functions to the C-API,
PyRefTracer_SetTracer() and PyRefTracer_GetTracer(), that allows
to track object creation and destruction the same way the
tracemalloc module does. Patch by Pablo Galindo
- gh-107674: Improved the performance of sys.settrace()
significantly
- gh-95754: Improve the error message when a script shadowing a
module from the standard library causes AttributeError to be
raised. Similarly, improve the error message when a script
shadowing a third party module attempts to access an attribute
from that third party module while still initialising.
- gh-99180: Elide uninformative traceback indicators in return and
simple assignment statements. Patch by Pablo Galindo.
- gh-105879: Allow the globals and locals arguments to exec() and
eval() to be passed as keywords.
- Library
- gh-118418: A DeprecationWarning is now emitted if you fail to
pass a value to the new type_params parameter of
typing._eval_type() or typing.ForwardRef._evaluate(). (Using
either of these private and undocumented functions is
discouraged to begin with, but failing to pass a value to the
type_params parameter may lead to incorrect behaviour on Python
3.12 or newer.)
- gh-118660: Add an optional second type parameter to
typing.ContextManager and typing.AsyncContextManager,
representing the return types of __exit__() and __aexit__()
respectively. This parameter defaults to bool | None.
- gh-118650: The enum module allows method named _repr_* to be
defined on Enum types.
- gh-118648: Add type parameter defaults to typing.Generator and
typing.AsyncGenerator.
- gh-101137: Mime type text/x-rst is now supported by mimetypes.
- gh-118164: The Python implementation of the decimal module could
appear to hang in relatively small power cases (like 2**117) if
context precision was set to a very high value. A different
method to check for exactly representable results is used now
that doesnt rely on computing 10**precision (which could be
effectively too large to compute).
- gh-111744: breakpoint() and pdb.set_trace() now enter the
debugger immediately after the call rather than before the next
line is executed.
- gh-118500: Add pdb support for zipapps
- gh-118406: Add signature for sqlite3.Connection objects.
- gh-101732: Use a Y2038 compatible openssl time function when
available.
- gh-118404: Fix inspect.signature() for non-comparable callables.
- gh-118402: Fix inspect.signature() for the result of the
functools.cmp_to_key() call.
- gh-116622: On Android, sysconfig.get_platform now returns the
format specified by PEP 738.
- gh-118285: Allow to specify the signature of custom callable
instances of extension type by the __text_signature__ attribute.
Specify signatures of operator.attrgetter, operator.itemgetter,
and operator.methodcaller instances.
- gh-118314: Fix an edge case in binascii.a2b_base64() strict
mode, where excessive padding is not detected when no padding is
necessary.
- gh-118271: Add the PhotoImage methods read() to read an image
from a file and data() to get the image data. Add background and
grayscale parameters to PhotoImage method write().
- gh-118225: Add the PhotoImage method copy_replace() to copy a
region from one image to other image, possibly with pixel
zooming and/or subsampling. Add from_coords parameter to
PhotoImage methods copy(), zoom() and subsample(). Add zoom and
subsample parameters to PhotoImage method copy().
- gh-118221: Fix a bug where sqlite3.Connection.iterdump() could
fail if a custom row factory was used. Patch by Erlend Aasland.
- gh-118013: Fix regression introduced in gh-103193 that meant
that calling inspect.getattr_static() on an instance would cause
a strong reference to that instances class to persist in an
internal cache in the inspect module. This caused unexpected
memory consumption if the class was dynamically created, the
class held strong references to other objects which took up a
significant amount of memory, and the cache contained the sole
strong reference to the class. The fix for the regression leads
to a slowdown in getattr_static(), but the function should still
be significantly faster than it was in Python 3.11. Patch by
Alex Waygood.
- gh-118218: Speed up itertools.pairwise() in the common case by
up to 1.8x.
- gh-117486: Improve the behavior of user-defined subclasses of
ast.AST. Such classes will now require no changes in the usual
case to conform with the behavior changes of the ast module in
Python 3.13. Patch by Jelle Zijlstra.
- gh-90848: Fixed unittest.mock.create_autospec() to configure
parent mock with keyword arguments.
- gh-118168: Fix incorrect argument substitution when
typing.Unpack is used with the builtin tuple. typing.Unpack now
raises TypeError when used with certain invalid types. Patch by
Jelle Zijlstra.
- gh-118131: Add command-line interface for the random module.
Patch by Hugo van Kemenade.
- gh-118107: Fix zipimport reading of ZIP64 files with file
entries that are too big or offset too far.
- gh-117535: Change the unknown filename of warnings from sys to
<sys> to clarify that its not a real filename.
- gh-114053: Fix erroneous NameError when calling
typing.get_type_hints() on a class that made use of PEP 695 type
parameters in a module that had from __future__ import
annotations at the top of the file. Patch by Alex Waygood.
- gh-116931: Add parameter fileobj check for
tarfile.TarFile.addfile()
- gh-117995: Dont raise DeprecationWarning when a sequence of
parameters is used to bind indexed, nameless placeholders. See
also gh-100668.
- gh-80361: Fix TypeError in email.Message.get_payload() when the
charset is RFC 2231 encoded.
- gh-86650: Fix IndexError when parse some emails with invalid
Message-ID (including one-off addresses generated by Microsoft
Outlook).
- gh-117691: Improve the error messages emitted by tarfile
deprecation warnings relating to PEP 706. If a filter argument
is not provided to extract() or extractall, the deprecation
warning now points to the line in the users code where the
relevant function was called. Patch by Alex Waygood.
- gh-115060: Speed up pathlib.Path.glob() by omitting an initial
is_dir() call. As a result of this change, glob() can no longer
raise OSError.
- gh-77102: site module now parses .pth file with UTF-8 first, and
locale encoding if UnicodeDecodeError happened. It supported
only locale encoding before.
- gh-76785: Weve exposed the low-level _interpreters module for
the sake of the PyPI implementation of PEP 734. It was sometimes
available as the _xxsubinterpreters module and was formerly used
only for testing. For the most part, it should be considered an
internal module, like _thread and _imp. See
https://discuss.python.org/t/pep-734-multiple-interpreters-in-the-stdlib/41147/26.
- gh-115060: Speed up pathlib.Path.glob() by not scanning
directories for non-wildcard pattern segments.
- gh-117727: Speed up pathlib.Path.iterdir() by using os.scandir()
internally.
- gh-117586: Speed up pathlib.Path.walk() by working with strings
internally.
- gh-117722: Change the new multi-separator support in
asyncio.Stream.readuntil() to only accept tuples of separators
rather than arbitrary iterables.
- gh-117692: Fixes a bug when doctest.DocTestFinder was failing on
wrapped builtin_function_or_method.
- gh-117348: Largely restored import time performance of
configparser by avoiding dataclasses.
- gh-117663: Fix _simple_enum to detect aliases when multiple
arguments are present but only one is the member value.
- gh-117618: Support package.module as filename for break command
of pdb
- gh-102247: the status codes enum with constants in
http.HTTPStatus are updated to include the names from RFC9110.
This RFC includes some HTTP statuses previously only used for
WEBDAV and assigns more generic names to them.
- The old constants are preserved for backwards compatibility.
- gh-117586: Speed up pathlib.Path.glob() by working with strings
internally.
- gh-117225: Add colour to doctest output. Patch by Hugo van
Kemenade.
- gh-117566: ipaddress.IPv6Address.is_loopback() will now return
True for IPv4-mapped loopback addresses, i.e. addresses in the
::ffff:127.0.0.0/104 address space.
- gh-117546: Fix issue where os.path.realpath() stopped resolving
symlinks after encountering a symlink loop on POSIX.
- gh-116720: Improved behavior of asyncio.TaskGroup when an
external cancellation collides with an internal cancellation.
For example, when two task groups are nested and both experience
an exception in a child task simultaneously, it was possible
that the outer task group would misbehave, because its internal
cancellation was swallowed by the inner task group.
- In the case where a task group is cancelled externally and also
must raise an ExceptionGroup, it will now call the parent tasks
cancel() method. This ensures that a asyncio.CancelledError will
be raised at the next await, so the cancellation is not lost.
- An added benefit of these changes is that task groups now
preserve the cancellation count (asyncio.Task.cancelling()).
- In order to handle some corner cases, asyncio.Task.uncancel()
may now reset the undocumented _must_cancel flag when the
cancellation count reaches zero.
- gh-117516: Add typing.TypeIs, implementing PEP 742. Patch by
Jelle Zijlstra.
- gh-117503: Fix support of non-ASCII user names in bytes paths in
os.path.expanduser() on Posix.
- gh-117394: os.path.ismount() is now 2-3 times faster if the user
has permissions.
- gh-117313: Only treat '\n', '\r' and '\r\n' as line separators
in re-folding the email messages. Preserve control characters
'\v', '\f', '\x1c', '\x1d' and '\x1e' and Unicode line
separators '\x85', '\u2028' and '\u2029' as is.
- gh-117142: Convert _ctypes to multi-phase initialisation (PEP
489).
- gh-66543: Add the mimetypes.guess_file_type() function which
works with file path. Passing file path instead of URL in
guess_type() is soft deprecated.
- gh-68583: webbrowser CLI: replace getopt with argparse, add long
options. Patch by Hugo van Kemenade.
- gh-116871: Name suggestions for AttributeError and ImportError
now only include underscored names if the original name was
underscored.
- gh-116023: Dont show empty fields (value None or []) in
ast.dump() by default. Add show_empty=False parameter to
optionally show them.
- gh-115961: Added name and mode attributes for compressed and
archived file-like objects in modules bz2, lzma, tarfile and
zipfile. The value of the mode attribute of gzip.GzipFile was
changed from integer (1 or 2) to string ('rb' or 'wb'). The
value of the mode attribute of the readable file-like object
returned by zipfile.ZipFile.open() was changed from 'r' to 'rb'.
- gh-82062: Fix inspect.signature() to correctly handle parameter
defaults on methods in extension modules that use names defined
in the module namespace.
- gh-83856: Honor atexit for all multiprocessing start methods
- gh-113081: Print colorized exception just like built-in
traceback in pdb
- gh-112855: Speed up pickling of pathlib.PurePath objects. Patch
by Barney Gale.
- gh-111744: Support opcode events in bdb
- gh-109617: ncurses: fixed a crash that could occur on macOS 13
or earlier when Python was built with Apple Xcode 15s SDK.
- gh-83151: Enabled arbitrary statements and evaluations in pdb
shell to access the local variables of the current frame, which
made it possible for multi-scope code like generators or nested
function to work.
- gh-110209: Add __class_getitem__() to types.GeneratorType and
types.CoroutineType for type hinting purposes. Patch by James
Hilton-Balfe.
- gh-108191: The types.SimpleNamespace now accepts an optional
positional argument which specifies initial values of attributes
as a dict or an iterable of key-value pairs.
- gh-62090: Fix assertion errors caused by whitespace in metavars
or SUPPRESS-ed groups in argparse by simplifying usage
formatting. Patch by Ali Hamdan.
- gh-102402: Adjust logging.LogRecord to use time.time_ns() and
fix minor bug related to floating point math.
- gh-100242: Bring pure Python implementation
functools.partial.__new__ more in line with the C-implementation
by not just always checking for the presence of the attribute
'func' on the first argument of partial. Instead, both the
Python version and the C version perform an isinstance(func,
partial) check on the first argument of partial.
- gh-99730: HEAD requests are no longer upgraded to GET request
during redirects in urllib.
- gh-66410: Callbacks registered in the tkinter module now take
arguments as various Python objects (int, float, bytes, tuple),
not just str. To restore the previous behavior set tkinter
module global wantobject to 1 before creating the Tk object or
call the wantobject() method of the Tk object with argument 1.
Calling it with argument 2 restores the current default
behavior.
- bpo-40943: Fix several IndexError when parse emails with
truncated Message-ID, address, routes, etc, e.g. example@.
- bpo-39324: Add mime type mapping for .md <-> text/markdown
- bpo-18108: shutil.chown() now supports dir_fd and
follow_symlinks keyword arguments.
- bpo-30988: Fix parsing of emails with invalid address headers
having a leading or trailing dot. Patch by tsufeki.
- bpo-32839: Add the after_info() method for Tkinter widgets.
- Documentation
- gh-117928: The minimum Sphinx version required for the
documentation is now 6.2.1.
- Build
- gh-118734: Fixes Windows build when invoked directly (not
through the build.bat script) without specifying a value for
UseTIER2.
- gh-115119: The configure option --with-system-libmpdec now
defaults to yes. The bundled copy of libmpdecimal will be
removed in Python 3.15.
- gh-117845: Fix building against recent libedit versions by
detecting readline hook signatures in configure.
- gh-116622: A testbed project was added to run the test suite on
Android.
- gh-117645: Increase WASI stack size from 512 KiB to 8 MiB and
the initial memory from 10 MiB to 20 MiB. Patch by Victor
Stinner.
- gh-115119: configure now uses pkg-config to detect decimal
dependencies if the --with-system-libmpdec option is given.
- Windows
- gh-115119: Update Windows installer to use libmpdecimal 4.0.0.
- gh-118486: os.mkdir() now accepts mode of 0o700 to restrict the
new directory to the current user.
- gh-118347: Fixes launcher updates not being installed.
- gh-118293: The multiprocessing module now passes the
STARTF_FORCEOFFFEEDBACK flag when spawning processes to tell
Windows not to change the mouse cursor.
- gh-115009: Update Windows installer to use SQLite 3.45.3.
- gh-90329: Suppress the warning displayed on virtual environment
creation when the requested and created paths differ only by a
short (8.3 style) name. Warnings will continue to be shown if a
junction or symlink in the path caused the venv to be created in
a different location than originally requested.
- gh-117786: Fixes virtual environments not correctly launching
when created from a Store install.
- macOS
- gh-115119: Update macOS installer to use libmpdecimal 4.0.0.
- gh-114099: iOS preprocessor symbol usage was made compatible
with older macOS SDKs.
- gh-115009: Update macOS installer to use SQLite 3.45.3.
- gh-91629: Use ~/.config/fish/conf.d configs and fish_add_path to
set PATH when installing for the Fish shell.
- IDLE
- bpo-34774: Use user-selected color theme for Help => IDLE Doc.
- C API
- gh-118124: Fix Py_BUILD_ASSERT and Py_BUILD_ASSERT_EXPR for
non-constant expressions: use static_assert() on C11 and newer.
Patch by Victor Stinner.
- gh-110850: Add “Raw” variant of PyTime functions
PyTime_MonotonicRaw()
PyTime_PerfCounterRaw()
PyTime_TimeRaw()
Patch by Victor Stinner.
- gh-117987: Restore functions removed in Python 3.13 alpha 1:
Py_SetPythonHome()
Py_SetProgramName()
PySys_SetArgvEx()
PySys_SetArgv()
Patch by Victor Stinner.
- gh-117929: Restore removed PyEval_InitThreads() function. Patch
by Victor Stinner.
- gh-117534: Improve validation logic in the C implementation of
datetime.datetime.fromisoformat() to better handle invalid
years. Patch by Vlad Efanov.
- gh-68114: Fixed skipitem()s handling of the old w and w#
formatters. These are no longer supported and now raise an
exception if used.
- gh-111997: Add a C-API for firing monitoring events.
- Python 3.13.0 alpha 6:
- Core and Builtins
- gh-117648: Improve performance of os.path.join() and
os.path.expanduser().
- gh-117584: Raise TypeError for non-paths in posixpath.relpath().
- gh-117494: Refactored the instruction sequence data structure
out of compile.c into instruction_sequence.c.
- gh-116968: Introduce a unified 16-bit backoff counter type
(_Py_BackoffCounter), shared between the Tier 1 adaptive
specializer and the Tier 2 optimizer. The API used for adaptive
specialization counters is changed but the behavior is (supposed
to be) identical.
- The behavior of the Tier 2 counters is changed:
There are no longer dynamic thresholds (we never varied these).
All counters now use the same exponential backoff.
The counter for JUMP_BACKWARD starts counting down from 16.
The temperature in side exits starts counting down from 64.
- gh-117431: Improve the performance of the following bytes and
bytearray methods by adapting them to the METH_FASTCALL calling
convention:
endswith()
startswith()
- gh-117431: Improve the performance of the following str methods
by adapting them to the METH_FASTCALL calling convention:
count()
endswith()
find()
index()
rfind()
rindex()
startswith()
- gh-117411: Move PyFutureFeatures to an internal header and make
it private.
- gh-109120: Added handle of incorrect star expressions, e.g f(3,
*). Patch by Grigoryev Semyon
- gh-117381: Fix error message for ntpath.commonpath().
- gh-117349: Optimise several functions in os.path.
- gh-117335: Raise TypeError for non-sequences for
ntpath.commonpath().
- gh-117266: Fix crashes for certain user-created subclasses of
ast.AST. Such classes are now expected to set the _field_types
attribute.
- gh-99108: Updated the hashlib built-in HACL* project C code from
upstream that we use for many implementations when they are not
present via OpenSSL in a given build. This also avoids the rare
potential for a C symbol name one definition rule linking issue.
- gh-117108: Change the old space bit of objects in the young
generation from 0 to gcstate->visited, so that any objects
created during GC will have the old bit set correctly if they
get moved into the old generation.
- gh-117108: The cycle GC now chooses the size of increments based
on the total heap size, instead of the rate of object creation.
This ensures that it can keep up with growing heaps.
- gh-117114: Make os.path.isdevdrive() available on all platforms.
For those that do not offer Dev Drives, it will always return
False.
- gh-116735: For INSTRUMENTED_CALL_FUNCTION_EX, set arg0 to
sys.monitoring.MISSING instead of None for CALL event.
- gh-113964: Starting new threads and process creation through
os.fork() are now only prevented once all non-daemon threads
exit.
- gh-116626: Ensure INSTRUMENTED_CALL_FUNCTION_EX always emits
CALL
- gh-116554: list.sort() now exploits more cases of partial
ordering, particularly those with long descending runs with
sub-runs of equal values. Those are recognized as single runs
now (previously, each block of repeated values caused a new run
to be created).
- gh-114099: Added a Loader that can discover extension modules in
an iOS-style Frameworks folder.
- gh-115775: Compiler populates the new __static_attributes__
field on a class with the names of attributes of this class
which are accessed through self.X from any function in its body.
- gh-115776: The array of values, the PyDictValues struct is now
embedded in the object during allocation. This provides better
performance in the common case, and does not degrade as much
when the objects __dict__ is materialized.
- gh-108362: Implement an incremental cyclic garbage collector. By
collecting the old generation in increments, there is no need
for a full heap scan. This can hugely reduce maximum pause time
for programs with large heaps.
- Reduce the number of generations from three to two. The old
generation is split into two spaces, “visited” and “pending”.
- Collection happens in two steps:: * An increment is formed from
the young generation and a small part of the pending space. *
This increment is scanned and the survivors moved to the end of
the visited space.
- When the collecting space becomes empty, the two spaces are
swapped.
- gh-109870: Dataclasses now calls exec() once per dataclass,
instead of once per method being added. This can speed up
dataclass creation by up to 20%.
- gh-97901: Mime type text/rtf is now supported by mimetypes.
- bpo-24612: Improve the SyntaxError that happens when not
appears after an operator. Patch by Pablo Galindo
- Library
- gh-117467: Preserve mailbox ownership when rewriting in
mailbox.mbox.flush(). Patch by Tony Mountifield.
- gh-114848: Raise FileNotFoundError when getcwd() returns
(unreachable), which can happen on Linux >= 2.6.36 with glibc
< 2.27.
- gh-117459: asyncio.asyncio.run_coroutine_threadsafe() now keeps
the traceback of CancelledError, TimeoutError and
InvalidStateError which are raised in the coroutine.
- gh-117337: Deprecate undocumented glob.glob0() and glob.glob1()
functions. Use glob.glob() and pass a directory to its root_dir
argument instead.
- gh-117348: Refactored configparser.RawConfigParser._read() to
reduce cyclometric complexity and improve comprehensibility.
- gh-66449: configparser.ConfigParser now accepts unnamed sections
before named ones, if configured to do so.
- gh-88014: In documentation of gzip.GzipFile in module gzip,
explain data type of optional constructor argument mtime, and
recommend mtime = 0 for generating deterministic streams.
- gh-117310: Fixed an unlikely early & extra Py_DECREF triggered
crash in ssl when creating a new _ssl._SSLContext if CPython was
built implausibly such that the default cipher list is empty or
the SSL library it was linked against reports a failure from its
C SSL_CTX_set_cipher_list() API.
- gh-117294: A DocTestCase now reports as skipped if all examples
in the doctest are skipped.
- gh-98966: In subprocess, raise a more informative message when
stdout=STDOUT.
- gh-117225: doctest: only print “and X failed” when non-zero,
dont pluralise “1 items”. Patch by Hugo van Kemenade.
- gh-117205: Speed up compileall.compile_dir() by 20% when using
multiprocessing by increasing chunksize.
- gh-117178: Fix regression in lazy loading of self-referential
modules, introduced in gh-114781.
- gh-112383: Fix dis modules handling of ENTER_EXECUTOR
instructions.
- gh-117182: Lazy-loading of modules that modify their own
__class__ no longer reverts the __class__ to types.ModuleType.
- gh-117084: Fix zipfile extraction for directory entries with the
name containing backslashes on Windows.
- gh-117110: Fix a bug that prevents subclasses of typing.Any to
be instantiated with arguments. Patch by Chris Fu.
- gh-109653: Deferred select imports in importlib.metadata and
importlib.resources for a 14% speedup.
- gh-70647: Start the deprecation period for the current behavior
of datetime.datetime.strptime() and time.strptime() which always
fails to parse a date string with a ValueError involving a day
of month such as strptime("02-29", "%m-%d") when a year is not
specified and the date happen to be February 29th. This should
help avoid users finding new bugs every four years due to a
natural mistaken assumption about the API when parsing partial
date values.
- gh-116987: Fixed inspect.findsource() for class code objects.
- gh-114099: Modify standard library to allow for iOS platform
differences.
- gh-90872: On Windows, subprocess.Popen.wait() no longer calls
WaitForSingleObject() with a negative timeout: pass 0 ms if the
timeout is negative. Patch by Victor Stinner.
- gh-116957: configparser: Dont leave ConfigParser values in an
invalid state (stored as a list instead of a str) after an
earlier read raised DuplicateSectionError or
DuplicateOptionError.
- gh-115538: _io.WindowsConsoleIO now emit a warning if a boolean
value is passed as a filedescriptor argument.
- gh-90095: Ignore empty lines and comments in .pdbrc
- gh-106531: Refreshed zipfile._path from zipp 3.18, providing
better compatibility for PyPy, better glob performance for
deeply nested zipfiles, and providing internal access to
CompleteDirs.inject for use in other tests (like
importlib.resources).
- gh-63207: On Windows, time.time() now uses the
GetSystemTimePreciseAsFileTime() clock to have a resolution
better than 1 us, instead of the GetSystemTimeAsFileTime() clock
which has a resolution of 15.6 ms. Patch by Victor Stinner.
- gh-116764: Restore support of None and other false values in
urllib.parse functions parse_qs() and parse_qsl(). Also, they
now raise a TypeError for non-zero integers and non-empty
sequences.
- gh-116811: In PathFinder.invalidate_caches, delegate to
MetadataPathFinder.invalidate_caches.
- gh-116647: Fix recursive child in dataclasses
- gh-113171: Fixed various false positives and false negatives in
ipaddress.IPv4Address.is_private (see these docs for details)
ipaddress.IPv4Address.is_global
ipaddress.IPv6Address.is_private
ipaddress.IPv6Address.is_global
- Also in the corresponding ipaddress.IPv4Network and
ipaddress.IPv6Network attributes.
- gh-63283: In encodings.idna, any capitalization of the the ACE
prefix (xn--) is now acceptable. Patch by Pepijn de Vos and
Zackery Spytz.
- gh-71042: Add platform.android_ver(), which provides device and
OS information on Android.
- gh-73468: Added new math.fma() function, wrapping C99s fma()
operation: fused multiply-add function. Patch by Mark Dickinson
and Victor Stinner.
- gh-116608: The importlib.resources functions is_resource(),
open_binary(), open_text(), path(), read_binary(), and
read_text() are un-deprecated, and support subdirectories via
multiple positional arguments. The contents() function also
allows subdirectories, but remains deprecated.
- gh-116484: Change automatically generated tkinter.Checkbutton
widget names to avoid collisions with automatically generated
tkinter.ttk.Checkbutton widget names within the same parent
widget.
- gh-114314: In ctypes, ctype data is now stored in type objects
directly rather than in a dict subclass. This is an internal
change that should not affect usage.
- gh-116401: Fix blocking os.fwalk() and shutil.rmtree() on
opening named pipe.
- gh-71052: Implement ctypes.util.find_library() on Android.
- gh-90535: Fix support of interval values > 1 in
logging.TimedRotatingFileHandler for when='MIDNIGHT' and
when='Wx'.
- gh-113308: Remove some internal protected parts from uuid:
_has_uuid_generate_time_safe, _netbios_getnode,
_ipconfig_getnode, and _load_system_functions. They were unused.
- gh-115627: Fix the ssl module error handling of connection
terminate by peer. It now throws an OSError with the appropriate
error code instead of an EOFError.
- gh-114847: Speed up os.path.realpath() on non-Windows platforms.
- gh-114271: Fix a race in threading.Thread.join().
- threading._MainThread now always represents the main thread of
the main interpreter.
- PyThreadState.on_delete and PyThreadState.on_delete_data have
been removed.
- gh-113538: Add asyncio.Server.close_clients() and
asyncio.Server.abort_clients() methods which allow to more
forcefully close an asyncio server.
- gh-85287: Changes Unicode codecs to return UnicodeEncodeError or
UnicodeDecodeError, rather than just UnicodeError.
- gh-113548: pdb now allows CLI arguments to pdb -m.
- gh-112948: Make completion of pdb similar to Python REPL
- gh-105866: Fixed _get_slots bug which caused error when defining
dataclasses with slots and a weakref_slot.
- gh-96471: Add asyncio.Queue termination with shutdown() method.
- gh-89739: The zipimport module can now read ZIP64 files.
- bpo-33533: asyncio.as_completed() now returns an object that is
both an asynchronous iterator and plain iterator. The new
asynchronous iteration pattern allows for easier correlation
between prior tasks and their completed results. This is a
closer match to concurrent.futures.as_completed()s iteration
pattern. Patch by Justin Arthur.
- bpo-27578: inspect.getsource() (and related functions) work with
empty module files, returning '\n' (or reasonable equivalent)
instead of raising OSError. Patch by Kernc.
- bpo-37141: Accept an iterable of separators in
asyncio.StreamReader.readuntil(), stopping when one of them is
encountered.
- gh-66543: Make mimetypes.guess_type() properly parsing of URLs
with only a host name, URLs containing fragment or query, and
filenames with only a UNC sharepoint on Windows. Based on patch
by Dong-hee Na.
- bpo-15010: unittest.TestLoader.discover() now saves the original
value of unittest.TestLoader._top_level_dir and restores it at
the end of the call.
- Documentation
- gh-115977: Remove compatibilty references to Emscripten.
- gh-114099: Add an iOS platform guide, and flag modules not
available on iOS.
- gh-91565: Changes to documentation files and config outputs to
reflect the new location for reporting bugs - i.e. GitHub rather
than bugs.python.org.
- Tests
- gh-83434: Disable JUnit XML output (--junit-xml=FILE command
line option) in regrtest when hunting for reference leaks (-R
option). Patch by Victor Stinner.
- gh-117187: Fix XML tests for vanilla Expat <2.6.0.
- gh-116333: Tests of TLS related things (error codes, etc) were
updated to be more lenient about specific error message strings
and behaviors as seen in the BoringSSL and AWS-LC forks of
OpenSSL.
- gh-117089: Consolidated tests for importlib.metadata in their
own metadata package.
- gh-115979: Update test_importlib so that it passes under WASI
SDK 21.
- gh-112536: Add tsan to test.regrtest for running TSAN tests in
reasonable execution times. Patch by Donghee Na.
- gh-116307: Added import helper isolated_modules as CleanImport
does not remove modules imported during the context. Use it in
importlib.resources tests to avoid leaving mod around to impede
importlib.metadata tests.
- Build
- gh-114736: Have WASI builds use WASI SDK 21.
- gh-115983: Skip building test modules that must be built as
shared under WASI.
- gh-71052: Add Android build script and instructions.
- Windows
- gh-117267: Ensure DirEntry.stat().st_ctime behaves consistently
with os.stat() during the deprecation period of st_ctime by
containing the same value as st_birthtime. After the deprecation
period, st_ctime will be the metadata change time (or
unavailable through DirEntry), and only st_birthtime will
contain the creation time.
- gh-116195: Improves performance of os.getppid() by using an
alternate system API when available. Contributed by vxiiduu.
- gh-88494: On Windows, time.monotonic() now uses the
QueryPerformanceCounter() clock to have a resolution better than
1 us, instead of the GetTickCount64() clock which has a
resolution of 15.6 ms. Patch by Victor Stinner.
- gh-116773: Fix instances of <_overlapped.Overlapped object at
0xXXX> still has pending operation at deallocation, the process
may crash.
- gh-91227: Fix the asyncio ProactorEventLoop implementation so
that sending a datagram to an address that is not listening does
not prevent receiving any more datagrams.
- gh-115119: Switched from vendored libmpdecimal code to a
separately-hosted external package in the cpython-source-deps
repository when building the _decimal module.
- C API
- gh-117642: Fix PEP 737 implementation for %#T and %#N.
- gh-87193: _PyBytes_Resize() can now be called for bytes objects
with reference count > 1, including 1-byte bytes objects. It
creates a new bytes object and destroys the old one if it has
reference count > 1.
- gh-117021: Fix integer overflow in PyLong_AsPid() on non-Windows
64-bit platforms.
- gh-115756: PyCode_GetFirstFree() is an ustable API now and has
been renamed to PyUnstable_Code_GetFirstFree(). (Contributed by
Bogdan Romanyuk in gh-115781)
- gh-116869: Add test_cext test: build a C extension to check if
the Python C API emits C compiler warnings. Patch by Victor
Stinner.
- gh-116869: Make the C API compatible with
-Werror=declaration-after-statement compiler flag again. Patch
by Victor Stinner.
- gh-116936: Add PyType_GetModuleByDef() to the limited C API.
Patch by Victor Stinner.
- gh-116809: Restore removed private _PyErr_ChainExceptions1()
function. Patch by Victor Stinner.
- gh-115754: In the limited C API version 3.13, getting Py_None,
Py_False, Py_True, Py_Ellipsis and Py_NotImplemented singletons
is now implemented as function calls at the stable ABI level to
hide implementation details. Getting these constants still
return borrowed references. Patch by Victor Stinner.
- gh-115754: Add Py_GetConstant() and Py_GetConstantBorrowed()
functions to get constants. For example,
Py_GetConstant(Py_CONSTANT_ZERO) returns a strong reference to
the constant zero. Patch by Victor Stinner.
- gh-111696: Add support for %T, %T#, %N and %N# formats to
PyUnicode_FromFormat(): format the fully qualified name of an
object type and of a type: call PyType_GetModuleName(). See PEP
737 for more information. Patch by Victor Stinner.
- gh-111696: Add PyType_GetModuleName() function to get the types
module name. Equivalent to getting the type.__module__
attribute. Patch by Eric Snow and Victor Stinner.
- gh-111696: Add PyType_GetFullyQualifiedName() function to get
the types fully qualified name. Equivalent to
f"{type.__module__}.{type.__qualname__}", or type.__qualname__
if type.__module__ is not a string or is equal to "builtins".
Patch by Victor Stinner.
- gh-85283: The fcntl, grp, pwd, termios, _statistics and
_testconsole C extensions are now built with the limited C API.
Patch by Victor Stinner.
- gh-111140: Add additional flags to PyLong_AsNativeBytes() and
PyLong_FromNativeBytes() to allow the caller to determine how to
handle edge cases around values that fill the entire buffer.
- gh-113024: Add PyObject_GenericHash() function.
-------------------------------------------------------------------
Wed Mar 20 05:08:29 UTC 2024 - Matej Cepl <mcepl@cepl.eu>

View File

@ -36,6 +36,8 @@
%bcond_without general
%endif
%bcond_without experimental_jit
%define python_pkg_name python313
%if "%{python_pkg_name}" == "%{primary_python}"
%define primary_interpreter 1
@ -105,7 +107,7 @@
%define dynlib() %{sitedir}/lib-dynload/%{1}.cpython-%{abi_tag}-%{archname}-%{_os}%{?_gnu}%{?armsuffix}.so
%bcond_without profileopt
Name: %{python_pkg_name}%{psuffix}
Version: 3.13.0a5
Version: 3.13.0b1
Release: 0
Summary: Python 3 Interpreter
License: Python-2.0
@ -208,6 +210,10 @@ BuildRequires: update-desktop-files
BuildRequires: pkgconfig(ncurses)
BuildRequires: pkgconfig(tk)
BuildRequires: pkgconfig(x11)
%if %{with experimental_jit}
BuildRequires: clang => 18
BuildRequires: llvm => 18
%endif
Requires: %{python_pkg_name}-base = %{version}
Provides: %{python_pkg_name}-readline
Provides: %{python_pkg_name}-sqlite3
@ -500,6 +506,9 @@ export CFLAGS="%{optflags} -IVendor/"
%endif
%if %{with mpdecimal}
--with-system-libmpdec \
%endif
%if %{with experimental_jit}
--enable-experimental-jit=yes-off \
%endif
--enable-loadable-sqlite-extensions
@ -627,9 +636,10 @@ for library in \
_statistics _struct syslog termios _testbuffer _testimportmultiple \
_testmultiphase unicodedata zlib _ctypes_test _testinternalcapi _testcapi \
_testclinic _testclinic_limited xxlimited xxlimited_35 _testexternalinspection \
_testlimitedcapi _xxtestfuzz _xxsubinterpreters _elementtree pyexpat _md5 _sha1 \
_testlimitedcapi _xxtestfuzz _elementtree pyexpat _md5 _sha1 \
_interpchannels _interpqueues _interpreters \
_sha2 _blake2 _sha3 _uuid _zoneinfo \
_testsinglephase _xxinterpchannels _xxinterpqueues xxsubtype
_testsinglephase xxsubtype
do
eval rm "%{buildroot}%{sitedir}/lib-dynload/$library.*"
done
@ -786,6 +796,7 @@ echo %{sitedir}/_import_failed > %{buildroot}/%{sitedir}/site-packages/zzzz-impo
%dir %{sitedir}/lib-dynload
%{sitedir}/sqlite3
%{sitedir}/pathlib
%{sitedir}/_pyrepl
%{dynlib readline}
%{dynlib _sqlite3}
@ -872,8 +883,6 @@ echo %{sitedir}/_import_failed > %{buildroot}/%{sitedir}/site-packages/zzzz-impo
%{dynlib _testsinglephase}
%{dynlib _testexternalinspection}
%{dynlib _testlimitedcapi}
%{dynlib _xxinterpchannels}
%{dynlib _xxinterpqueues}
%{dynlib _xxtestfuzz}
# workaround for missing packages
%dir %{sitedir}/sqlite3
@ -924,6 +933,9 @@ echo %{sitedir}/_import_failed > %{buildroot}/%{sitedir}/site-packages/zzzz-impo
%{dynlib grp}
%{dynlib _hashlib}
%{dynlib _heapq}
%{dynlib _interpchannels}
%{dynlib _interpqueues}
%{dynlib _interpreters}
%{dynlib _json}
%{dynlib _lsprof}
%{dynlib _lzma}
@ -950,7 +962,6 @@ echo %{sitedir}/_import_failed > %{buildroot}/%{sitedir}/site-packages/zzzz-impo
%{dynlib _uuid}
%{dynlib xxlimited}
%{dynlib xxlimited_35}
%{dynlib _xxsubinterpreters}
%{dynlib xxsubtype}
%{dynlib zlib}
%{dynlib _zoneinfo}