mirror of
https://github.com/python/cpython
synced 2026-09-28 05:53:17 +03:00
Python 3.13.0b1
This commit is contained in:
parent
c4f9823be2
commit
2268289a47
162 changed files with 1861 additions and 499 deletions
|
|
@ -1,2 +0,0 @@
|
|||
:program:`configure` now uses :program:`pkg-config` to detect :mod:`decimal`
|
||||
dependencies if the :option:`--with-system-libmpdec` option is given.
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
Increase WASI stack size from 512 KiB to 8 MiB and the initial memory from 10
|
||||
MiB to 20 MiB. Patch by Victor Stinner.
|
||||
|
|
@ -1 +0,0 @@
|
|||
A testbed project was added to run the test suite on Android.
|
||||
|
|
@ -1 +0,0 @@
|
|||
Fix building against recent libedit versions by detecting readline hook signatures in :program:`configure`.
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
The :file:`configure` option :option:`--with-system-libmpdec` now defaults to ``yes``.
|
||||
The bundled copy of ``libmpdecimal`` will be removed in Python 3.15.
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
Fixes Windows build when invoked directly (not through the :file:`build.bat`
|
||||
script) without specifying a value for ``UseTIER2``.
|
||||
|
|
@ -1 +0,0 @@
|
|||
Add a C-API for firing monitoring events.
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
Fixed skipitem()'s handling of the old 'w' and 'w#' formatters. These are
|
||||
no longer supported and now raise an exception if used.
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
Improve validation logic in the C implementation of
|
||||
:meth:`datetime.datetime.fromisoformat` to better handle invalid years.
|
||||
Patch by Vlad Efanov.
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
Restore removed :c:func:`PyEval_InitThreads` function. Patch by Victor
|
||||
Stinner.
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
Restore functions removed in Python 3.13 alpha 1:
|
||||
|
||||
* :c:func:`Py_SetPythonHome`
|
||||
* :c:func:`Py_SetProgramName`
|
||||
* :c:func:`PySys_SetArgvEx`
|
||||
* :c:func:`PySys_SetArgv`
|
||||
|
||||
Patch by Victor Stinner.
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
Add "Raw" variant of PyTime functions
|
||||
|
||||
* :c:func:`PyTime_MonotonicRaw`
|
||||
* :c:func:`PyTime_PerfCounterRaw`
|
||||
* :c:func:`PyTime_TimeRaw`
|
||||
|
||||
Patch by Victor Stinner.
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
Fix :c:macro:`Py_BUILD_ASSERT` and :c:macro:`Py_BUILD_ASSERT_EXPR` for
|
||||
non-constant expressions: use ``static_assert()`` on C11 and newer.
|
||||
Patch by Victor Stinner.
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
Allow the *globals* and *locals* arguments to :func:`exec`
|
||||
and :func:`eval` to be passed as keywords.
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
Elide uninformative traceback indicators in ``return`` and simple
|
||||
``assignment`` statements. Patch by Pablo Galindo.
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
Improve the error message when a script shadowing a module from the standard
|
||||
library causes :exc:`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.
|
||||
|
|
@ -1 +0,0 @@
|
|||
Improved the performance of :func:`sys.settrace` significantly
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
Add two new functions to the C-API, :c:func:`PyRefTracer_SetTracer` and
|
||||
:c:func:`PyRefTracer_GetTracer`, that allows to track object creation and
|
||||
destruction the same way the :mod:`tracemalloc` module does. Patch by Pablo
|
||||
Galindo
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
Implement :pep:`696`, adding support for defaults on type parameters.
|
||||
Patch by Jelle Zijlstra.
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
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.
|
||||
|
|
@ -1 +0,0 @@
|
|||
Remove unhandled ``PY_MONITORING_EVENT_BRANCH`` and ``PY_MONITORING_EVENT_EXCEPTION_HANDLED`` events from :func:`sys.settrace`.
|
||||
|
|
@ -1 +0,0 @@
|
|||
Speedup :func:`os.path.relpath`.
|
||||
|
|
@ -1 +0,0 @@
|
|||
Speedup :func:`os.path.join`.
|
||||
|
|
@ -1 +0,0 @@
|
|||
Speedup :func:`os.path.commonpath` on Unix.
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
Statically allocated objects are, by definition, immortal so must be
|
||||
marked as such regardless of whether they are in extension modules or not.
|
||||
|
|
@ -1 +0,0 @@
|
|||
Give ``_PyInstructionSequence`` a Python interface and use it in tests.
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
Speed up calls to :func:`str` with positional-only argument,
|
||||
by using the :pep:`590` ``vectorcall`` calling convention.
|
||||
Patch by Erlend Aasland.
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
Improve the performance of the following :class:`bytes` and
|
||||
:class:`bytearray` methods by adapting them to the :c:macro:`METH_FASTCALL`
|
||||
calling convention:
|
||||
|
||||
* :meth:`!count`
|
||||
* :meth:`!find`
|
||||
* :meth:`!index`
|
||||
* :meth:`!rfind`
|
||||
* :meth:`!rindex`
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
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.
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
Fix mimalloc allocator for huge memory allocation (around 8,589,934,592 GiB) on
|
||||
s390x. Patch by Victor Stinner.
|
||||
|
|
@ -1 +0,0 @@
|
|||
Fix a :exc:`RuntimeWarning` when calling ``agen.aclose().throw(Exception)``.
|
||||
|
|
@ -1 +0,0 @@
|
|||
Fixed a possible segfault during garbage collection of ``_asyncio.FutureIter`` objects
|
||||
|
|
@ -1 +0,0 @@
|
|||
prevent concurrent access to an async generator via athrow().throw() or asend().throw()
|
||||
|
|
@ -1 +0,0 @@
|
|||
Prevent ``agen.aclose()`` objects being re-used after ``.throw()``.
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
:ref:`annotation scope <annotation-scopes>` within class scopes can now
|
||||
contain lambdas.
|
||||
|
|
@ -1 +0,0 @@
|
|||
Redirect stdout and stderr to system log when embedded in an Android app.
|
||||
|
|
@ -1 +0,0 @@
|
|||
Add option for compiler's codegen to save nested instruction sequences for introspection.
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
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.
|
||||
|
|
@ -1 +0,0 @@
|
|||
Speed up :func:`os.path.splitroot` with a native implementation.
|
||||
|
|
@ -1 +0,0 @@
|
|||
Improve :exc:`SyntaxError` message for empty type param brackets.
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
Improve :exc:`SyntaxError` message for imports without names, like in
|
||||
``from x import`` and ``import`` cases. It now points
|
||||
out to users that :keyword:`import` expects at least one name after it.
|
||||
|
|
@ -1 +0,0 @@
|
|||
Lazy load frame line number to improve performance of tracing
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
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).
|
||||
|
|
@ -1 +0,0 @@
|
|||
Don't consider :mod:`__future__` imports with dots before the module name.
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
Fix bug where ``generator.close`` does not free the generator frame's
|
||||
locals.
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
:ref:`Annotation scopes <annotation-scopes>` within classes can now contain
|
||||
comprehensions. However, such comprehensions are not inlined into their
|
||||
parent scope at runtime. Patch by Jelle Zijlstra.
|
||||
|
|
@ -1 +0,0 @@
|
|||
Update JIT compilation to use LLVM 18
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
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.
|
||||
|
|
@ -1 +0,0 @@
|
|||
Fix crash in compiler on 'async with' that has many context managers.
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
Implement PEP 667: converted :attr:`FrameType.f_locals <frame.f_locals>`
|
||||
and :c:func:`PyFrame_GetLocals` to return a write-through proxy object
|
||||
when the frame refers to a function or comprehension.
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
The :term:`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.
|
||||
|
|
@ -1 +0,0 @@
|
|||
update ``async_generator.athrow().close()`` and ``async_generator.asend().close()`` to close their section of the underlying async generator
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
Fix an issue where the type cache can expose a previously accessed attribute
|
||||
when a finalizer is run.
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
Compiler populates the new ``__firstlineno__`` field on a class with the
|
||||
line number of the first line of the class definition.
|
||||
|
|
@ -1 +0,0 @@
|
|||
Fix :func:`sys.set_asyncgen_hooks` not to be partially set when raising :exc:`TypeError`.
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
Break a loop between the Python implementation of the :mod:`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.
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
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``.
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
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.
|
||||
|
|
@ -1 +0,0 @@
|
|||
Fix incorrect :exc:`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.
|
||||
|
|
@ -1 +0,0 @@
|
|||
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``.
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
Improve performance of :func:`json.dumps` and :func:`json.dump` when using the argument *indent*. Depending on the data the encoding using
|
||||
:func:`json.dumps` with *indent* can be up to 2 to 3 times faster.
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
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.
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
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.
|
||||
|
|
@ -1 +0,0 @@
|
|||
Add instrumented opcodes to YIELD_VALUE assertion for tracing cases.
|
||||
|
|
@ -1 +0,0 @@
|
|||
The minimum Sphinx version required for the documentation is now 6.2.1.
|
||||
|
|
@ -1 +0,0 @@
|
|||
Use user-selected color theme for Help => IDLE Doc.
|
||||
|
|
@ -1 +0,0 @@
|
|||
Add the :meth:`!after_info` method for Tkinter widgets.
|
||||
|
|
@ -1 +0,0 @@
|
|||
Fix parsing of emails with invalid address headers having a leading or trailing dot. Patch by tsufeki.
|
||||
|
|
@ -1 +0,0 @@
|
|||
:func:`shutil.chown` now supports *dir_fd* and *follow_symlinks* keyword arguments.
|
||||
|
|
@ -1 +0,0 @@
|
|||
Add mime type mapping for .md <-> text/markdown
|
||||
|
|
@ -1 +0,0 @@
|
|||
Fix several IndexError when parse emails with truncated Message-ID, address, routes, etc, e.g. ``example@``.
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
Callbacks registered in the :mod:`tkinter` module now take arguments as
|
||||
various Python objects (``int``, ``float``, ``bytes``, ``tuple``), not just
|
||||
``str``. To restore the previous behavior set :mod:`!tkinter` module global
|
||||
:data:`~tkinter.wantobject` to ``1`` before creating the
|
||||
:class:`~tkinter.Tk` object or call the :meth:`~tkinter.Tk.wantobject`
|
||||
method of the :class:`!Tk` object with argument ``1``. Calling it with
|
||||
argument ``2`` restores the current default behavior.
|
||||
|
|
@ -1 +0,0 @@
|
|||
HEAD requests are no longer upgraded to GET request during redirects in urllib.
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
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``.
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
Adjust ``logging.LogRecord`` to use ``time.time_ns()`` and fix minor bug
|
||||
related to floating point math.
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
Fix assertion errors caused by whitespace in metavars or ``SUPPRESS``-ed groups
|
||||
in :mod:`argparse` by simplifying usage formatting. Patch by Ali Hamdan.
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
The :class:`types.SimpleNamespace` now accepts an optional positional
|
||||
argument which specifies initial values of attributes as a dict or an
|
||||
iterable of key-value pairs.
|
||||
|
|
@ -1 +0,0 @@
|
|||
Add :meth:`~object.__class_getitem__` to :class:`types.GeneratorType` and :class:`types.CoroutineType` for type hinting purposes. Patch by James Hilton-Balfe.
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
Enabled arbitrary statements and evaluations in :mod:`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.
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
:mod:`ncurses`: fixed a crash that could occur on macOS 13 or earlier when
|
||||
Python was built with Apple Xcode 15's SDK.
|
||||
|
|
@ -1 +0,0 @@
|
|||
Support opcode events in :mod:`bdb`
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
Speed up pickling of :class:`pathlib.PurePath` objects. Patch by Barney
|
||||
Gale.
|
||||
|
|
@ -1 +0,0 @@
|
|||
Print colorized exception just like built-in traceback in :mod:`pdb`
|
||||
|
|
@ -1 +0,0 @@
|
|||
Honor :mod:`atexit` for all :mod:`multiprocessing` start methods
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
Fix :func:`inspect.signature()` to correctly handle parameter defaults
|
||||
on methods in extension modules that use names defined in the module
|
||||
namespace.
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
Added :attr:`!name` and :attr:`!mode` attributes for compressed and archived
|
||||
file-like objects in modules :mod:`bz2`, :mod:`lzma`, :mod:`tarfile` and
|
||||
:mod:`zipfile`. The value of the :attr:`!mode` attribute of
|
||||
:class:`gzip.GzipFile` was changed from integer (``1`` or ``2``) to string
|
||||
(``'rb'`` or ``'wb'``). The value of the :attr:`!mode` attribute of the
|
||||
readable file-like object returned by :meth:`zipfile.ZipFile.open` was
|
||||
changed from ``'r'`` to ``'rb'``.
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
Don't show empty fields (value ``None`` or ``[]``)
|
||||
in :func:`ast.dump` by default. Add ``show_empty=False``
|
||||
parameter to optionally show them.
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
Name suggestions for :exc:`AttributeError` and :exc:`ImportError` now only
|
||||
include underscored names if the original name was underscored.
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
webbrowser CLI: replace getopt with argparse, add long options. Patch by
|
||||
Hugo van Kemenade.
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
Add the :func:`mimetypes.guess_file_type` function which works with file
|
||||
path. Passing file path instead of URL in :func:`~mimetypes.guess_type` is
|
||||
:term:`soft deprecated`.
|
||||
|
|
@ -1 +0,0 @@
|
|||
Convert :mod:`!_ctypes` to multi-phase initialisation (:pep:`489`).
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
Only treat ``'\n'``, ``'\r'`` and ``'\r\n'`` as line separators in
|
||||
re-folding the :mod:`email` messages. Preserve control characters ``'\v'``,
|
||||
``'\f'``, ``'\x1c'``, ``'\x1d'`` and ``'\x1e'`` and Unicode line separators
|
||||
``'\x85'``, ``'\u2028'`` and ``'\u2029'`` as is.
|
||||
|
|
@ -1 +0,0 @@
|
|||
:func:`os.path.ismount` is now 2-3 times faster if the user has permissions.
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
Fix support of non-ASCII user names in bytes paths in
|
||||
:func:`os.path.expanduser` on Posix.
|
||||
|
|
@ -1 +0,0 @@
|
|||
Add :data:`typing.TypeIs`, implementing :pep:`742`. Patch by Jelle Zijlstra.
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
Improved behavior of :class:`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 :exc:`ExceptionGroup`, it will now call the parent task's
|
||||
:meth:`~asyncio.Task.cancel` method. This ensures that a
|
||||
:exc:`asyncio.CancelledError` will be raised at the next
|
||||
:keyword:`await`, so the cancellation is not lost.
|
||||
|
||||
An added benefit of these changes is that task groups now preserve the
|
||||
cancellation count (:meth:`asyncio.Task.cancelling`).
|
||||
|
||||
In order to handle some corner cases, :meth:`asyncio.Task.uncancel` may now
|
||||
reset the undocumented ``_must_cancel`` flag when the cancellation count
|
||||
reaches zero.
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
Fix issue where :func:`os.path.realpath` stopped resolving symlinks after
|
||||
encountering a symlink loop on POSIX.
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
:meth:`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.
|
||||
|
|
@ -1 +0,0 @@
|
|||
Add colour to doctest output. Patch by Hugo van Kemenade.
|
||||
|
|
@ -1 +0,0 @@
|
|||
Speed up :meth:`pathlib.Path.glob` by working with strings internally.
|
||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue