- 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:
parent
ee738c9b79
commit
a4dc42ba84
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:1e89b5355183e7c898a5a01b2f601728fe49fdb89d9c9781f13360847aaefa62
|
||||
size 20734172
|
@ -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
3
Python-3.13.0b1.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:ba716ac56b039b545ad4a90ce586a57aa97869364553746ef2445728ceec198e
|
||||
size 21054240
|
18
Python-3.13.0b1.tar.xz.asc
Normal file
18
Python-3.13.0b1.tar.xz.asc
Normal 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-----
|
@ -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 module’s
|
||||
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: Don’t use designated initializer syntax in inline
|
||||
functions in internal headers. They cause problems for C++ or
|
||||
MSVC users who aren’t 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 interpreter’s 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 it’s an implicit global.
|
||||
- gh-118518: Allow the Linux perf support to work without frame
|
||||
pointers using perf’s 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 frame’s locals.
|
||||
- gh-118216: Don’t consider __future__ imports with dots before
|
||||
the module name.
|
||||
- gh-118074: Make sure that the Executor objects in the COLD_EXITS
|
||||
array aren’t 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 compiler’s 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 object’s dict would get out of
|
||||
sync with the object’s 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 doesn’t 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 instance’s 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 it’s 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: Don’t 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 user’s 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: We’ve 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 task’s
|
||||
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: Don’t 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 15’s 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 object’s __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,
|
||||
don’t 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 module’s 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: Don’t 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 C99’s 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 type’s
|
||||
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 type’s 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>
|
||||
|
||||
|
@ -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}
|
||||
|
Loading…
Reference in New Issue
Block a user