mirror of
https://github.com/python/cpython.git
synced 2026-06-04 16:50:51 +00:00
Python 3.15.0b1
This commit is contained in:
parent
299cf3c497
commit
f31a89bb90
251 changed files with 2424 additions and 627 deletions
|
|
@ -1375,7 +1375,7 @@ Tracebacks
|
|||
The caller does not need to hold an :term:`attached thread state`, nor does
|
||||
*tstate* need to be attached.
|
||||
|
||||
.. versionadded:: next
|
||||
.. versionadded:: 3.15
|
||||
|
||||
.. c:function:: const char* PyUnstable_DumpTracebackThreads(int fd, PyInterpreterState *interp, PyThreadState *current_tstate, Py_ssize_t max_threads)
|
||||
|
||||
|
|
@ -1411,4 +1411,4 @@ Tracebacks
|
|||
another thread deletes its :term:`thread state` while this function is being
|
||||
called, the process will likely crash.
|
||||
|
||||
.. versionadded:: next
|
||||
.. versionadded:: 3.15
|
||||
|
|
|
|||
|
|
@ -414,7 +414,7 @@ In some cases, failure is not distinguishable from a successful ``NULL`` result.
|
|||
|
||||
See :ref:`duringgc-functions` for common information.
|
||||
|
||||
.. versionadded:: next
|
||||
.. versionadded:: 3.15
|
||||
|
||||
.. seealso::
|
||||
|
||||
|
|
@ -433,7 +433,7 @@ In some cases, failure is not distinguishable from a successful ``NULL`` result.
|
|||
The reference is valid for the duration
|
||||
of the :c:member:`!tp_traverse` handler call.
|
||||
|
||||
.. versionadded:: next
|
||||
.. versionadded:: 3.15
|
||||
|
||||
.. seealso:: :c:func:`PyType_GetBaseByToken`
|
||||
|
||||
|
|
@ -445,7 +445,7 @@ In some cases, failure is not distinguishable from a successful ``NULL`` result.
|
|||
These functions return a :term:`borrowed reference`, which is
|
||||
valid for the duration of the :c:member:`!tp_traverse` handler call.
|
||||
|
||||
.. versionadded:: next
|
||||
.. versionadded:: 3.15
|
||||
|
||||
.. seealso::
|
||||
|
||||
|
|
|
|||
|
|
@ -410,7 +410,7 @@ Initializing and finalizing the interpreter
|
|||
(zero) if not. After :c:func:`Py_FinalizeEx` is called, this returns false until
|
||||
:c:func:`Py_Initialize` is called again.
|
||||
|
||||
.. versionchanged:: next
|
||||
.. versionchanged:: 3.15
|
||||
This function no longer returns true until initialization has fully
|
||||
completed, including import of the :mod:`site` module. Previously it
|
||||
could return true while :c:func:`Py_Initialize` was still running.
|
||||
|
|
@ -631,7 +631,7 @@ it possible to avoid these issues by temporarily preventing finalization:
|
|||
automatically after all guards are released: it requires an explicit
|
||||
:c:func:`Py_EndInterpreter` call.
|
||||
|
||||
.. versionadded:: next
|
||||
.. versionadded:: 3.15
|
||||
|
||||
|
||||
.. c:function:: PyInterpreterGuard *PyInterpreterGuard_FromCurrent(void)
|
||||
|
|
@ -671,7 +671,7 @@ it possible to avoid these issues by temporarily preventing finalization:
|
|||
|
||||
The caller must hold an :term:`attached thread state`.
|
||||
|
||||
.. versionadded:: next
|
||||
.. versionadded:: 3.15
|
||||
|
||||
|
||||
.. c:function:: PyInterpreterGuard *PyInterpreterGuard_FromView(PyInterpreterView *view)
|
||||
|
|
@ -688,7 +688,7 @@ it possible to avoid these issues by temporarily preventing finalization:
|
|||
|
||||
The caller does not need to hold an :term:`attached thread state`.
|
||||
|
||||
.. versionadded:: next
|
||||
.. versionadded:: 3.15
|
||||
|
||||
|
||||
.. c:function:: void PyInterpreterGuard_Close(PyInterpreterGuard *guard)
|
||||
|
|
@ -705,7 +705,7 @@ it possible to avoid these issues by temporarily preventing finalization:
|
|||
This function cannot fail, and the caller doesn't need to hold an
|
||||
:term:`attached thread state`.
|
||||
|
||||
.. versionadded:: next
|
||||
.. versionadded:: 3.15
|
||||
|
||||
|
||||
.. _interpreter-views:
|
||||
|
|
@ -723,7 +723,7 @@ deleted. This can be done using interpreter views.
|
|||
This is a thread-safe way to access an interpreter that may have be
|
||||
finalizing or already destroyed.
|
||||
|
||||
.. versionadded:: next
|
||||
.. versionadded:: 3.15
|
||||
|
||||
|
||||
.. c:function:: PyInterpreterView *PyInterpreterView_FromCurrent(void)
|
||||
|
|
@ -738,7 +738,7 @@ deleted. This can be done using interpreter views.
|
|||
|
||||
The caller must hold an :term:`attached thread state`.
|
||||
|
||||
.. versionadded:: next
|
||||
.. versionadded:: 3.15
|
||||
|
||||
|
||||
.. c:function:: void PyInterpreterView_Close(PyInterpreterView *view)
|
||||
|
|
@ -752,7 +752,7 @@ deleted. This can be done using interpreter views.
|
|||
This function cannot fail, and the caller doesn't need to hold an
|
||||
:term:`attached thread state`.
|
||||
|
||||
.. versionadded:: next
|
||||
.. versionadded:: 3.15
|
||||
|
||||
|
||||
.. c:function:: PyInterpreterView *PyInterpreterView_FromMain(void)
|
||||
|
|
@ -774,7 +774,7 @@ deleted. This can be done using interpreter views.
|
|||
|
||||
The caller does not need to hold an :term:`attached thread state`.
|
||||
|
||||
.. versionadded:: next
|
||||
.. versionadded:: 3.15
|
||||
|
||||
|
||||
Process-wide parameters
|
||||
|
|
|
|||
|
|
@ -795,7 +795,7 @@ remove it.
|
|||
:c:macro:`Py_slot_subslots`, except it specifies an array of
|
||||
:c:type:`PyModuleDef_Slot` structures.
|
||||
|
||||
.. versionadded:: next
|
||||
.. versionadded:: 3.15
|
||||
|
||||
.. _moduledef-dynamic:
|
||||
|
||||
|
|
|
|||
|
|
@ -10,14 +10,14 @@ Sentinel objects
|
|||
This instance of :c:type:`PyTypeObject` represents the Python
|
||||
:class:`sentinel` type. This is the same object as :class:`sentinel`.
|
||||
|
||||
.. versionadded:: next
|
||||
.. versionadded:: 3.15
|
||||
|
||||
.. c:function:: int PySentinel_Check(PyObject *o)
|
||||
|
||||
Return true if *o* is a :class:`sentinel` object. The :class:`sentinel` type
|
||||
does not allow subclasses, so this check is exact.
|
||||
|
||||
.. versionadded:: next
|
||||
.. versionadded:: 3.15
|
||||
|
||||
.. c:function:: PyObject* PySentinel_New(const char *name, const char *module_name)
|
||||
|
||||
|
|
@ -32,4 +32,4 @@ Sentinel objects
|
|||
path matching *name*. Pickle treats *name* as a global variable name
|
||||
in *module_name* (see :meth:`object.__reduce__`).
|
||||
|
||||
.. versionadded:: next
|
||||
.. versionadded:: 3.15
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ explicitly marked with :c:macro:`PySlot_STATIC`.
|
|||
Except when documented otherwise, multiple slots with the same ID
|
||||
(:c:member:`~PySlot.sl_id`) may not occur in a single slots array.
|
||||
|
||||
.. versionadded:: next
|
||||
.. versionadded:: 3.15
|
||||
|
||||
Slot arrays generalize an earlier way of defining objects:
|
||||
using :c:type:`PyType_Spec` with :c:type:`PyType_Slot` for types, and
|
||||
|
|
@ -125,7 +125,7 @@ Entries of the slots array use the following structure:
|
|||
Note that the "optionality" only applies to unknown slot IDs.
|
||||
This flag does not make Python skip invalid values of known slots.
|
||||
|
||||
.. versionadded:: next
|
||||
.. versionadded:: 3.15
|
||||
|
||||
|
||||
Convenience macros
|
||||
|
|
@ -169,7 +169,7 @@ Convenience macros
|
|||
#define PySlot_STATIC_DATA(NAME, VALUE) \
|
||||
{.sl_id=NAME, .sl_flags=PySlot_STATIC, .sl_ptr=(VALUE)}
|
||||
|
||||
.. versionadded:: next
|
||||
.. versionadded:: 3.15
|
||||
|
||||
.. c:macro:: PySlot_END
|
||||
|
||||
|
|
@ -179,7 +179,7 @@ Convenience macros
|
|||
|
||||
#define PySlot_END {0}
|
||||
|
||||
.. versionadded:: next
|
||||
.. versionadded:: 3.15
|
||||
|
||||
.. c:macro:: PySlot_PTR(name, value)
|
||||
PySlot_PTR_STATIC(name, value)
|
||||
|
|
@ -197,7 +197,7 @@ Convenience macros
|
|||
#define PySlot_PTR_STATIC(NAME, VALUE) \
|
||||
{NAME, PySlot_INTPTR|Py_SLOT_STATIC, {0}, {(void*)(VALUE)}}
|
||||
|
||||
.. versionadded:: next
|
||||
.. versionadded:: 3.15
|
||||
|
||||
.. _pyslot-common-ids:
|
||||
|
||||
|
|
@ -211,7 +211,7 @@ The following slot IDs may be used in both type and module definitions.
|
|||
Marks the end of a slots array.
|
||||
Defined as zero.
|
||||
|
||||
.. versionadded:: next
|
||||
.. versionadded:: 3.15
|
||||
|
||||
.. c:macro:: Py_slot_subslots
|
||||
|
||||
|
|
@ -226,7 +226,7 @@ The following slot IDs may be used in both type and module definitions.
|
|||
Slot nesting depth is limited to 5 levels.
|
||||
This restriction may be lifted in the future.
|
||||
|
||||
.. versionadded:: next
|
||||
.. versionadded:: 3.15
|
||||
|
||||
.. c:macro:: Py_slot_invalid
|
||||
|
||||
|
|
@ -237,4 +237,4 @@ The following slot IDs may be used in both type and module definitions.
|
|||
no effect.
|
||||
Without the flag, processing a slot with this ID will fail.
|
||||
|
||||
.. versionadded:: next
|
||||
.. versionadded:: 3.15
|
||||
|
|
|
|||
|
|
@ -74,7 +74,7 @@ There are two Stable ABIs:
|
|||
:term:`free-threaded <free-threaded build>` builds of CPython.
|
||||
It has stricter API limitations than ``abi3``.
|
||||
|
||||
.. versionadded:: next
|
||||
.. versionadded:: 3.15
|
||||
|
||||
``abi3t`` was added in :pep:`803`
|
||||
|
||||
|
|
@ -170,7 +170,7 @@ both Stable ABIs.
|
|||
:term:`free-threaded builds <free-threaded build>` of CPython.
|
||||
See :ref:`above <abi3-compiling>` for common information.
|
||||
|
||||
.. versionadded:: next
|
||||
.. versionadded:: 3.15
|
||||
|
||||
Both macros specify a target ABI; the different naming style is due to
|
||||
backwards compatibility.
|
||||
|
|
|
|||
|
|
@ -296,7 +296,7 @@ Attaching/detaching thread states
|
|||
Otherwise, if both of the above cases fail, a new thread state is created
|
||||
for *guard*. It is then attached and marked as owned by ``PyThreadState_Ensure``.
|
||||
|
||||
.. versionadded:: next
|
||||
.. versionadded:: 3.15
|
||||
|
||||
|
||||
.. c:function:: PyThreadStateToken *PyThreadState_EnsureFromView(PyInterpreterView *view)
|
||||
|
|
@ -308,7 +308,7 @@ Attaching/detaching thread states
|
|||
be implicitly guarded. The guard will be released upon the corresponding
|
||||
:c:func:`PyThreadState_Release` call.
|
||||
|
||||
.. versionadded:: next
|
||||
.. versionadded:: 3.15
|
||||
|
||||
|
||||
.. c:function:: void PyThreadState_Release(PyThreadStateToken *token)
|
||||
|
|
@ -335,7 +335,7 @@ Attaching/detaching thread states
|
|||
attached thread state will be deallocated and deleted upon the internal counter
|
||||
reaching zero. Otherwise, nothing happens when the counter reaches zero.
|
||||
|
||||
.. versionadded:: next
|
||||
.. versionadded:: 3.15
|
||||
|
||||
.. c:type:: PyThreadStateToken
|
||||
|
||||
|
|
|
|||
|
|
@ -575,7 +575,7 @@ but need extra remarks for use as slots:
|
|||
array, so that if processing of a later slots fails, error messages
|
||||
can include the name.
|
||||
|
||||
.. versionadded:: next
|
||||
.. versionadded:: 3.15
|
||||
|
||||
.. c:macro:: Py_tp_basicsize
|
||||
|
||||
|
|
@ -591,7 +591,7 @@ but need extra remarks for use as slots:
|
|||
Use :c:member:`PyTypeObject.tp_basicsize` instead if needed, but be aware
|
||||
that a type's size is often considered an implementation detail.
|
||||
|
||||
.. versionadded:: next
|
||||
.. versionadded:: 3.15
|
||||
|
||||
.. c:macro:: Py_tp_extra_basicsize
|
||||
|
||||
|
|
@ -620,7 +620,7 @@ but need extra remarks for use as slots:
|
|||
|
||||
This slot may not be used with :c:func:`PyType_GetSlot`.
|
||||
|
||||
.. versionadded:: next
|
||||
.. versionadded:: 3.15
|
||||
|
||||
.. c:macro:: Py_tp_itemsize
|
||||
|
||||
|
|
@ -652,7 +652,7 @@ but need extra remarks for use as slots:
|
|||
|
||||
This slot may not be used with :c:func:`PyType_GetSlot`.
|
||||
|
||||
.. versionadded:: next
|
||||
.. versionadded:: 3.15
|
||||
|
||||
.. c:macro:: Py_tp_flags
|
||||
|
||||
|
|
@ -668,7 +668,7 @@ but need extra remarks for use as slots:
|
|||
This slot may not be used with :c:func:`PyType_GetSlot`.
|
||||
Use :c:func:`PyType_GetFlags` instead.
|
||||
|
||||
.. versionadded:: next
|
||||
.. versionadded:: 3.15
|
||||
|
||||
The following slots do not correspond to public fields in the
|
||||
underlying structures:
|
||||
|
|
@ -691,7 +691,7 @@ underlying structures:
|
|||
This slot may not be used with :c:func:`PyType_GetSlot`.
|
||||
Use :c:func:`Py_TYPE` on the type object instead.
|
||||
|
||||
.. versionadded:: next
|
||||
.. versionadded:: 3.15
|
||||
|
||||
.. c:macro:: Py_tp_module
|
||||
|
||||
|
|
@ -711,7 +711,7 @@ underlying structures:
|
|||
This slot may not be used with :c:func:`PyType_GetSlot`.
|
||||
Use :c:func:`PyType_GetModule` instead.
|
||||
|
||||
.. versionadded:: next
|
||||
.. versionadded:: 3.15
|
||||
|
||||
.. c:macro:: Py_tp_token
|
||||
|
||||
|
|
@ -760,7 +760,7 @@ underlying structures:
|
|||
:c:macro:`Py_slot_subslots`, except it specifies an array of
|
||||
:c:type:`PyType_Slot` structures.
|
||||
|
||||
.. versionadded:: next
|
||||
.. versionadded:: 3.15
|
||||
|
||||
|
||||
Soft-deprecated API
|
||||
|
|
|
|||
|
|
@ -107,7 +107,7 @@ The module defines the following item:
|
|||
|
||||
A tuple with all available type codes.
|
||||
|
||||
.. versionchanged:: next
|
||||
.. versionchanged:: 3.15
|
||||
The type changed from :class:`str` to :class:`tuple`.
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -168,7 +168,7 @@ Node classes
|
|||
arguments that were set as attributes of the AST node, even if they did not
|
||||
match any of the fields of the AST node. These cases now raise a :exc:`TypeError`.
|
||||
|
||||
.. deprecated-removed:: next 3.20
|
||||
.. deprecated-removed:: 3.15 3.20
|
||||
|
||||
In the :ref:`grammar above <abstract-grammar>`, the AST node classes that
|
||||
correspond to production rules with variants (aka "sums") are abstract
|
||||
|
|
@ -2548,7 +2548,7 @@ and classes for traversing abstract syntax trees:
|
|||
.. versionchanged:: 3.15
|
||||
Omit optional ``Load()`` values by default.
|
||||
|
||||
.. versionchanged:: next
|
||||
.. versionchanged:: 3.15
|
||||
Added the *color* parameter.
|
||||
|
||||
|
||||
|
|
@ -2608,7 +2608,7 @@ Command-line usage
|
|||
|
||||
.. versionadded:: 3.9
|
||||
|
||||
.. versionchanged:: next
|
||||
.. versionchanged:: 3.15
|
||||
The output is now syntax highlighted by default. This can be
|
||||
:ref:`controlled using environment variables <using-on-controlling-color>`.
|
||||
|
||||
|
|
|
|||
|
|
@ -381,7 +381,7 @@ and reliable way to wait for all tasks in the group to finish.
|
|||
* pass the task group instance or bound :meth:`cancel` method to some other task *before*
|
||||
opening the task group, allowing remote cancellation
|
||||
|
||||
.. versionadded:: next
|
||||
.. versionadded:: 3.15
|
||||
|
||||
Example::
|
||||
|
||||
|
|
|
|||
|
|
@ -345,7 +345,7 @@ Refer to the documentation of the individual functions for more information.
|
|||
|
||||
.. versionadded:: 3.4
|
||||
|
||||
.. versionchanged:: next
|
||||
.. versionchanged:: 3.15
|
||||
Added the *canonical* parameter.
|
||||
Single-character final groups are now always rejected as encoding
|
||||
violations.
|
||||
|
|
|
|||
|
|
@ -756,7 +756,7 @@ The following options are accepted:
|
|||
By default, today's date is highlighted in color and can be
|
||||
:ref:`controlled using environment variables <using-on-controlling-color>`.
|
||||
|
||||
.. versionchanged:: next
|
||||
.. versionchanged:: 3.15
|
||||
By default, the month is now also highlighted in color, and
|
||||
the days of the week are also in color. This behavior can be
|
||||
:ref:`controlled using environment variables <using-on-controlling-color>`.
|
||||
|
|
|
|||
|
|
@ -482,7 +482,7 @@ Functions and classes provided:
|
|||
|
||||
.. versionadded:: 3.2
|
||||
|
||||
.. versionchanged:: next
|
||||
.. versionchanged:: 3.15
|
||||
Decorating a generator function, coroutine function, or asynchronous
|
||||
generator function now keeps the context manager open across iteration
|
||||
or await. Previously the context manager exited as soon as the
|
||||
|
|
@ -538,7 +538,7 @@ Functions and classes provided:
|
|||
|
||||
.. versionadded:: 3.10
|
||||
|
||||
.. versionchanged:: next
|
||||
.. versionchanged:: 3.15
|
||||
Decorating an asynchronous generator function now keeps the context
|
||||
manager open across iteration. Previously the context manager exited
|
||||
as soon as the generator object was created. Synchronous functions
|
||||
|
|
|
|||
|
|
@ -380,7 +380,7 @@ in both C and ``libffi``, the following complex types are available:
|
|||
- :py:class:`complex`
|
||||
- ``'Zg'``
|
||||
|
||||
.. versionchanged:: next
|
||||
.. versionchanged:: 3.15
|
||||
The :py:attr:`~_SimpleCData._type_` types ``F``, ``D`` and ``G`` have been
|
||||
replaced with ``Zf``, ``Zd`` and ``Zg``.
|
||||
|
||||
|
|
|
|||
|
|
@ -67,7 +67,7 @@ Dumping the traceback
|
|||
.. versionchanged:: 3.5
|
||||
Added support for passing file descriptor to this function.
|
||||
|
||||
.. versionchanged:: next
|
||||
.. versionchanged:: 3.15
|
||||
Added the *max_threads* keyword argument.
|
||||
|
||||
|
||||
|
|
@ -140,7 +140,7 @@ Fault handler state
|
|||
.. versionchanged:: 3.14
|
||||
The dump now displays the C stack trace if *c_stack* is true.
|
||||
|
||||
.. versionchanged:: next
|
||||
.. versionchanged:: 3.15
|
||||
Added the *max_threads* keyword argument.
|
||||
|
||||
.. function:: disable()
|
||||
|
|
@ -178,7 +178,7 @@ Dumping the tracebacks after a timeout
|
|||
.. versionchanged:: 3.7
|
||||
This function is now always available.
|
||||
|
||||
.. versionchanged:: next
|
||||
.. versionchanged:: 3.15
|
||||
Added the *max_threads* keyword argument.
|
||||
|
||||
.. function:: cancel_dump_traceback_later()
|
||||
|
|
@ -204,7 +204,7 @@ Dumping the traceback on a user signal
|
|||
.. versionchanged:: 3.5
|
||||
Added support for passing file descriptor to this function.
|
||||
|
||||
.. versionchanged:: next
|
||||
.. versionchanged:: 3.15
|
||||
Added the *max_threads* keyword argument.
|
||||
|
||||
.. function:: unregister(signum)
|
||||
|
|
|
|||
|
|
@ -1881,7 +1881,7 @@ are always available. They are listed here in alphabetical order.
|
|||
|
||||
The name of the module where the sentinel was created.
|
||||
|
||||
.. versionadded:: next
|
||||
.. versionadded:: 3.15
|
||||
|
||||
|
||||
.. class:: slice(stop, /)
|
||||
|
|
|
|||
|
|
@ -379,7 +379,7 @@ instantiation, of which this module provides three different variants:
|
|||
.. versionchanged:: 3.9
|
||||
The *directory* parameter accepts a :term:`path-like object`.
|
||||
|
||||
.. versionchanged:: next
|
||||
.. versionchanged:: 3.15
|
||||
Added *extra_response_headers* parameter.
|
||||
|
||||
A lot of the work, such as parsing the request, is done by the base class
|
||||
|
|
@ -400,7 +400,7 @@ instantiation, of which this module provides three different variants:
|
|||
cannot be guessed from the file extension of the requested URL.
|
||||
By default, it is set to ``'application/octet-stream'``.
|
||||
|
||||
.. versionadded:: next
|
||||
.. versionadded:: 3.15
|
||||
|
||||
.. attribute:: extensions_map
|
||||
|
||||
|
|
@ -562,7 +562,7 @@ The following options are accepted:
|
|||
|
||||
python -m http.server --content-type text/html
|
||||
|
||||
.. versionadded:: next
|
||||
.. versionadded:: 3.15
|
||||
|
||||
.. option:: --tls-cert
|
||||
|
||||
|
|
@ -604,7 +604,7 @@ The following options are accepted:
|
|||
headers. Headers that are sent automatically by the server (for instance
|
||||
Content-Type) will not be overwritten by the server.
|
||||
|
||||
.. versionadded:: next
|
||||
.. versionadded:: 3.15
|
||||
|
||||
|
||||
.. _http.server-security:
|
||||
|
|
|
|||
|
|
@ -702,7 +702,7 @@ The following attributes are defined on instances of :class:`IMAP4`:
|
|||
interface. The caller is responsible to ensure that the current file is
|
||||
closed before changing it.
|
||||
|
||||
.. deprecated-removed:: next 3.19
|
||||
.. deprecated-removed:: 3.15 3.19
|
||||
|
||||
|
||||
.. _imap4-example:
|
||||
|
|
|
|||
|
|
@ -1244,7 +1244,7 @@ Classes and functions
|
|||
order of keyword-only parameters as of version 3.7, although in practice
|
||||
this order had always been preserved in Python 3.
|
||||
|
||||
.. versionchanged:: next
|
||||
.. versionchanged:: 3.15
|
||||
The *annotation_format* parameter was added.
|
||||
|
||||
|
||||
|
|
@ -1850,7 +1850,7 @@ appending a colon and the qualified name of the target object.
|
|||
|
||||
Print information about the specified object rather than the source code
|
||||
|
||||
.. versionchanged:: next
|
||||
.. versionchanged:: 3.15
|
||||
|
||||
The ``--details`` option now supports basic introspection for modules
|
||||
without available source code and indicates when modules are frozen.
|
||||
|
|
|
|||
|
|
@ -79,7 +79,7 @@ Command-line options
|
|||
|
||||
A pickle file to read, or ``-`` to indicate reading from standard input.
|
||||
|
||||
.. versionadded:: next
|
||||
.. versionadded:: 3.15
|
||||
Output is in color by default and can be
|
||||
:ref:`controlled using environment variables <using-on-controlling-color>`.
|
||||
|
||||
|
|
|
|||
|
|
@ -209,7 +209,7 @@ PrettyPrinter objects
|
|||
.. versionchanged:: 3.11
|
||||
No longer attempts to write to :data:`!sys.stdout` if it is ``None``.
|
||||
|
||||
.. versionchanged:: next
|
||||
.. versionchanged:: 3.15
|
||||
Changed default *indent* from 1 to 4
|
||||
and default *width* from 80 to 88.
|
||||
The default ``compact=False`` layout is now similar to
|
||||
|
|
|
|||
|
|
@ -96,7 +96,7 @@ or tab) are executed with :func:`exec`.
|
|||
The :file:`.pth` files are now decoded by UTF-8 at first and then by the
|
||||
:term:`locale encoding` if it fails.
|
||||
|
||||
.. versionchanged:: next
|
||||
.. versionchanged:: 3.15
|
||||
|
||||
:file:`.pth` file lines starting with ``import`` are deprecated. During
|
||||
the deprecation period, such lines are still executed (except in the case
|
||||
|
|
@ -110,7 +110,7 @@ or tab) are executed with :func:`exec`.
|
|||
file. Each error is reported and the remaining lines continue to be
|
||||
processed.
|
||||
|
||||
.. deprecated-removed:: next 3.20
|
||||
.. deprecated-removed:: 3.15 3.20
|
||||
|
||||
Decoding :file:`{name}.pth` files in any encoding other than ``utf-8-sig``
|
||||
is deprecated in Python 3.15, and support for decoding from the locale
|
||||
|
|
@ -126,7 +126,7 @@ or tab) are executed with :func:`exec`.
|
|||
Startup entry points (:file:`.start` files)
|
||||
-------------------------------------------
|
||||
|
||||
.. versionadded:: next
|
||||
.. versionadded:: 3.15
|
||||
|
||||
A startup entry point file is a file whose name has the form
|
||||
:file:`{name}.start` and exists in one of the site-packages directories
|
||||
|
|
@ -371,7 +371,7 @@ Module contents
|
|||
startup data found in those files, so that you can process them explicitly
|
||||
(this is typically used by the :func:`main` function).
|
||||
|
||||
.. versionchanged:: next
|
||||
.. versionchanged:: 3.15
|
||||
|
||||
Also processes :file:`.start` files. See :ref:`site-start-files`.
|
||||
All :file:`.pth` and :file:`.start` files are now read and
|
||||
|
|
|
|||
|
|
@ -284,7 +284,7 @@ platform-dependent.
|
|||
.. versionchanged:: 3.14
|
||||
Added support for the ``'F'`` and ``'D'`` formats.
|
||||
|
||||
.. versionchanged:: next
|
||||
.. versionchanged:: 3.15
|
||||
Added support for the ``'Zf'`` and ``'Zd'`` formats.
|
||||
|
||||
.. seealso::
|
||||
|
|
|
|||
|
|
@ -1502,7 +1502,7 @@ of the derived iterators.
|
|||
In this example, each number is printed exactly once, but the work is shared
|
||||
between the two threads.
|
||||
|
||||
.. versionadded:: next
|
||||
.. versionadded:: 3.15
|
||||
|
||||
|
||||
.. function:: synchronized_iterator(func)
|
||||
|
|
@ -1540,7 +1540,7 @@ of the derived iterators.
|
|||
The returned wrapper preserves the metadata of *func*, such as its name and
|
||||
wrapped function reference.
|
||||
|
||||
.. versionadded:: next
|
||||
.. versionadded:: 3.15
|
||||
|
||||
|
||||
.. function:: concurrent_tee(iterable, n=2)
|
||||
|
|
@ -1591,4 +1591,4 @@ of the derived iterators.
|
|||
In this example, both consumer threads see the full sequence of squares
|
||||
from a single generator expression.
|
||||
|
||||
.. versionadded:: next
|
||||
.. versionadded:: 3.15
|
||||
|
|
|
|||
|
|
@ -279,7 +279,7 @@ most cases. You can use :func:`time.process_time` to measure CPU time.
|
|||
baseline overhead can be measured by invoking the program without arguments,
|
||||
and it might differ between Python versions.
|
||||
|
||||
.. versionadded:: next
|
||||
.. versionadded:: 3.15
|
||||
Output is in color by default and can be
|
||||
:ref:`controlled using environment variables <using-on-controlling-color>`.
|
||||
|
||||
|
|
|
|||
|
|
@ -173,7 +173,7 @@ The following options are accepted:
|
|||
If :file:`filename.py` is specified its contents are tokenized to stdout.
|
||||
Otherwise, tokenization is performed on stdin.
|
||||
|
||||
.. versionadded:: next
|
||||
.. versionadded:: 3.15
|
||||
Output is in color by default and can be
|
||||
:ref:`controlled using environment variables <using-on-controlling-color>`.
|
||||
|
||||
|
|
|
|||
|
|
@ -2970,7 +2970,7 @@ types.
|
|||
.. versionchanged:: 3.13
|
||||
Support for the :data:`ReadOnly` qualifier was added. See :pep:`705`.
|
||||
|
||||
.. versionchanged:: next
|
||||
.. versionchanged:: 3.15
|
||||
Support for the *closed* and *extra_items* class arguments was added. See :pep:`728`.
|
||||
|
||||
|
||||
|
|
@ -3476,7 +3476,7 @@ Functions and decorators
|
|||
detail, and the exact set of standard library classes that are
|
||||
disjoint bases at runtime may change in future versions of Python.
|
||||
|
||||
.. versionadded:: next
|
||||
.. versionadded:: 3.15
|
||||
|
||||
.. decorator:: type_check_only
|
||||
|
||||
|
|
|
|||
|
|
@ -1110,7 +1110,7 @@ Test cases
|
|||
.. versionchanged:: 3.3
|
||||
Added the *msg* keyword argument when used as a context manager.
|
||||
|
||||
.. versionchanged:: next
|
||||
.. versionchanged:: 3.15
|
||||
Warnings that do not match the specified category are no longer
|
||||
swallowed.
|
||||
Nested context managers are now supported.
|
||||
|
|
@ -1144,7 +1144,7 @@ Test cases
|
|||
.. versionchanged:: 3.3
|
||||
Added the *msg* keyword argument when used as a context manager.
|
||||
|
||||
.. versionchanged:: next
|
||||
.. versionchanged:: 3.15
|
||||
Warnings that do not match the specified category or regex are
|
||||
no longer swallowed.
|
||||
Nested context managers are now supported.
|
||||
|
|
|
|||
|
|
@ -223,11 +223,11 @@ Notes:
|
|||
.. versionchanged:: 3.13
|
||||
Support for iOS has been added.
|
||||
|
||||
.. versionadded:: next
|
||||
.. versionadded:: 3.15
|
||||
:class:`!MacOS` has been added as a replacement for :class:`!MacOSXOSAScript`,
|
||||
opening browsers via :program:`/usr/bin/open` instead of :program:`osascript`.
|
||||
|
||||
.. deprecated-removed:: next 3.17
|
||||
.. deprecated-removed:: 3.15 3.17
|
||||
:class:`!MacOSXOSAScript` is deprecated in favour of :class:`!MacOS`.
|
||||
Using :program:`/usr/bin/open` instead of :program:`osascript` is a
|
||||
security and usability improvement: :program:`osascript` may be blocked
|
||||
|
|
|
|||
|
|
@ -54,7 +54,7 @@ This module also defines utility functions.
|
|||
"!", "?", and "=" are forbidden.
|
||||
The name cannot start with a digit or a character like "-", ".", and "·".
|
||||
|
||||
.. versionadded:: next
|
||||
.. versionadded:: 3.15
|
||||
|
||||
|
||||
.. function:: is_valid_text(data)
|
||||
|
|
@ -66,7 +66,7 @@ This module also defines utility functions.
|
|||
characters (excluding TAB, CR and LF), surrogate characters and special
|
||||
Unicode characters U+FFFE and U+FFFF.
|
||||
|
||||
.. versionadded:: next
|
||||
.. versionadded:: 3.15
|
||||
|
||||
|
||||
.. _xml-security:
|
||||
|
|
|
|||
|
|
@ -662,7 +662,7 @@ Miscellaneous options
|
|||
initialization. Python needs to be :ref:`built in debug mode <debug-build>`
|
||||
for this option to exist. See also :envvar:`PYTHON_PRESITE`.
|
||||
|
||||
.. versionchanged:: next
|
||||
.. versionchanged:: 3.15
|
||||
Accept also ``module:func`` entry point format.
|
||||
|
||||
.. versionadded:: 3.13
|
||||
|
|
@ -1462,7 +1462,7 @@ Debug-mode variables
|
|||
|
||||
Needs Python configured with the :option:`--with-pydebug` build option.
|
||||
|
||||
.. versionchanged:: next
|
||||
.. versionchanged:: 3.15
|
||||
Accept also ``module:func`` entry point format.
|
||||
|
||||
.. versionadded:: 3.13
|
||||
|
|
|
|||
|
|
@ -1052,7 +1052,7 @@ Linker options
|
|||
The default (when ``-enable-shared`` is used) is to link the Python
|
||||
interpreter against the built shared library.
|
||||
|
||||
.. versionadded:: next
|
||||
.. versionadded:: 3.15
|
||||
|
||||
|
||||
Libraries options
|
||||
|
|
|
|||
|
|
@ -23,11 +23,11 @@
|
|||
#define PY_MAJOR_VERSION 3
|
||||
#define PY_MINOR_VERSION 15
|
||||
#define PY_MICRO_VERSION 0
|
||||
#define PY_RELEASE_LEVEL PY_RELEASE_LEVEL_ALPHA
|
||||
#define PY_RELEASE_SERIAL 8
|
||||
#define PY_RELEASE_LEVEL PY_RELEASE_LEVEL_BETA
|
||||
#define PY_RELEASE_SERIAL 1
|
||||
|
||||
/* Version as a string */
|
||||
#define PY_VERSION "3.15.0a8+"
|
||||
#define PY_VERSION "3.15.0b1"
|
||||
/*--end constants--*/
|
||||
|
||||
|
||||
|
|
|
|||
2
Lib/pydoc_data/module_docs.py
generated
2
Lib/pydoc_data/module_docs.py
generated
|
|
@ -1,4 +1,4 @@
|
|||
# Autogenerated by Sphinx on Tue Apr 7 14:21:08 2026
|
||||
# Autogenerated by Sphinx on Thu May 7 16:26:23 2026
|
||||
# as part of the release process.
|
||||
|
||||
module_docs = {
|
||||
|
|
|
|||
91
Lib/pydoc_data/topics.py
generated
91
Lib/pydoc_data/topics.py
generated
|
|
@ -1,4 +1,4 @@
|
|||
# Autogenerated by Sphinx on Tue Apr 7 14:21:08 2026
|
||||
# Autogenerated by Sphinx on Thu May 7 16:26:23 2026
|
||||
# as part of the release process.
|
||||
|
||||
topics = {
|
||||
|
|
@ -2572,7 +2572,7 @@ A literal pattern corresponds to most literals in Python. Syntax:
|
|||
| "None"
|
||||
| "True"
|
||||
| "False"
|
||||
signed_number: ["-"] NUMBER
|
||||
signed_number: ["+" | "-"] NUMBER
|
||||
|
||||
The rule "strings" and the token "NUMBER" are defined in the standard
|
||||
Python grammar. Triple-quoted strings are supported. Raw strings and
|
||||
|
|
@ -6841,8 +6841,9 @@ steps:
|
|||
|
||||
1. find a module, loading and initializing it if necessary
|
||||
|
||||
2. define a name or names in the local namespace for the scope where
|
||||
the "import" statement occurs.
|
||||
2. define a name or names in the current namespace for the scope where
|
||||
the "import" statement occurs, just as an assignment statement
|
||||
would (including "global" and "nonlocal" semantics).
|
||||
|
||||
When the statement contains multiple clauses (separated by commas) the
|
||||
two steps are carried out separately for each clause, just as though
|
||||
|
|
@ -6887,7 +6888,7 @@ The "from" form uses a slightly more complex process:
|
|||
|
||||
3. if the attribute is not found, "ImportError" is raised.
|
||||
|
||||
4. otherwise, a reference to that value is stored in the local
|
||||
4. otherwise, a reference to that value is stored in the current
|
||||
namespace, using the name in the "as" clause if it is present,
|
||||
otherwise using the attribute name
|
||||
|
||||
|
|
@ -6984,6 +6985,53 @@ See **PEP 810** for the full specification of lazy imports.
|
|||
Added in version 3.15.
|
||||
|
||||
|
||||
Compatibility via "__lazy_modules__"
|
||||
------------------------------------
|
||||
|
||||
As an alternative to using the "lazy" keyword, a module can opt into
|
||||
lazy loading for specific imports by defining a module-level
|
||||
"__lazy_modules__" variable. When present, it must be a container of
|
||||
fully qualified module name strings. Any regular (non-"lazy")
|
||||
"import" statement at module scope whose target appears in
|
||||
"__lazy_modules__" is treated as a lazy import, exactly as if the
|
||||
"lazy" keyword had been used.
|
||||
|
||||
This provides a way to enable lazy loading for specific dependencies
|
||||
without changing individual "import" statements. This is useful when
|
||||
supporting Python versions older than 3.15 while using lazy imports in
|
||||
3.15+:
|
||||
|
||||
__lazy_modules__ = ["json", "pathlib"]
|
||||
|
||||
import json # loaded lazily (name is in __lazy_modules__)
|
||||
import os # loaded eagerly (name not in __lazy_modules__)
|
||||
|
||||
import pathlib # loaded lazily
|
||||
|
||||
Relative imports are resolved to their absolute name before the
|
||||
lookup, so "__lazy_modules__" must always contain fully qualified
|
||||
module names.
|
||||
|
||||
For "from"-style imports, the relevant name is the module following
|
||||
"from", not the names of its members:
|
||||
|
||||
# In mypackage/mymodule.py
|
||||
__lazy_modules__ = ["mypackage", "mypackage.sub.utils"]
|
||||
|
||||
from . import helper # loaded lazily: . resolves to mypackage
|
||||
from .sub.utils import func # loaded lazily: .sub.utils resolves to mypackage.sub.utils
|
||||
import json # loaded eagerly (not in __lazy_modules__)
|
||||
|
||||
Imports inside functions, class bodies, or "try"/"except"/"finally"
|
||||
blocks are always eager, regardless of "__lazy_modules__".
|
||||
|
||||
Setting "-X lazy_imports=none" (or the "PYTHON_LAZY_IMPORTS"
|
||||
environment variable to "none") overrides "__lazy_modules__" and
|
||||
forces all imports to be eager.
|
||||
|
||||
Added in version 3.15.
|
||||
|
||||
|
||||
Future statements
|
||||
=================
|
||||
|
||||
|
|
@ -11035,8 +11083,18 @@ str.strip(chars=None, /)
|
|||
str.swapcase()
|
||||
|
||||
Return a copy of the string with uppercase characters converted to
|
||||
lowercase and vice versa. Note that it is not necessarily true that
|
||||
"s.swapcase().swapcase() == s".
|
||||
lowercase and vice versa. For example:
|
||||
|
||||
>>> 'Hello World'.swapcase()
|
||||
'hELLO wORLD'
|
||||
|
||||
Note that it is not necessarily true that "s.swapcase().swapcase()
|
||||
== s". For example:
|
||||
|
||||
>>> 'straße'.swapcase().swapcase()
|
||||
'strasse'
|
||||
|
||||
See also "str.lower()" and "str.upper()".
|
||||
|
||||
str.title()
|
||||
|
||||
|
|
@ -12871,6 +12929,19 @@ module.__annotate__
|
|||
|
||||
Added in version 3.14.
|
||||
|
||||
module.__lazy_modules__
|
||||
|
||||
A container (an object implementing "__contains__()") of fully
|
||||
qualified module name strings. When defined at module scope, any
|
||||
regular "import" statement in that module whose target module name
|
||||
appears in this container is treated as a lazy import, as if the
|
||||
"lazy" keyword had been used. Imports inside functions, class
|
||||
bodies, or "try"/"except"/"finally" blocks are unaffected.
|
||||
|
||||
See Compatibility via __lazy_modules__ for details and examples.
|
||||
|
||||
Added in version 3.15.
|
||||
|
||||
|
||||
Module dictionaries
|
||||
-------------------
|
||||
|
|
@ -13167,12 +13238,6 @@ Special read-only attributes
|
|||
+----------------------------------------------------+----------------------------------------------------+
|
||||
| codeobject.co_firstlineno | The line number of the first line of the function |
|
||||
+----------------------------------------------------+----------------------------------------------------+
|
||||
| codeobject.co_lnotab | A string encoding the mapping from *bytecode* |
|
||||
| | offsets to line numbers. For details, see the |
|
||||
| | source code of the interpreter. Deprecated since |
|
||||
| | version 3.12: This attribute of code objects is |
|
||||
| | deprecated, and may be removed in Python 3.15. |
|
||||
+----------------------------------------------------+----------------------------------------------------+
|
||||
| codeobject.co_stacksize | The required stack size of the code object |
|
||||
+----------------------------------------------------+----------------------------------------------------+
|
||||
| codeobject.co_flags | An "integer" encoding a number of flags for the |
|
||||
|
|
|
|||
2256
Misc/NEWS.d/3.15.0b1.rst
Normal file
2256
Misc/NEWS.d/3.15.0b1.rst
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -1,8 +0,0 @@
|
|||
Add a new ``./configure`` option
|
||||
:option:`--enable-static-libpython-for-interpreter` which, when used
|
||||
with :option:`--enable-shared`, continues to build the shared library
|
||||
but does not use it for the interpreter. Instead, libpython is
|
||||
statically linked into the interpreter, as if :option:`--enable-shared`
|
||||
had not been used. This allows you to do a single build and get a Python
|
||||
interpreter binary that does not use a shared library but also get a
|
||||
shared library for use by other programs.
|
||||
|
|
@ -1 +0,0 @@
|
|||
Allow for custom LLVM path using ``LLVM_TOOLS_INSTALL_DIR`` during JIT build.
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
Fix static module builds on non-WASI targets by linking HACL dependencies as
|
||||
static libraries when ``MODULE_BUILDTYPE=static``, preventing duplicate
|
||||
``_Py_LibHacl_*`` symbol errors at link time.
|
||||
|
|
@ -1 +0,0 @@
|
|||
The Android build tools have been moved to the Platforms folder.
|
||||
|
|
@ -1 +0,0 @@
|
|||
Fixed compilation of :file:`Python/pystrhex.c` with older clang versions.
|
||||
|
|
@ -1 +0,0 @@
|
|||
Use ``Py_GCC_ATTRIBUTE(unused)`` for stop_tracing label.
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
No longer use the ``gcc -fprofile-update=atomic`` flag on i686. The flag has
|
||||
been added to fix a random GCC internal error on PGO build (:gh:`145801`)
|
||||
caused by corruption of profile data (.gcda files). The problem is that it
|
||||
makes the PGO build way slower (up to 47x slower) on i686. Since the GCC
|
||||
internal error was not seen on i686 so far, don't use
|
||||
``-fprofile-update=atomic`` on i686 anymore. Patch by Victor Stinner.
|
||||
|
|
@ -1 +0,0 @@
|
|||
Errors during the PGO training job on Windows are no longer ignored, and a non-zero return code will cause the build to fail.
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
Block Apple Clang from being used to build the JIT as it ships without
|
||||
required LLVM tools.
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
Windows free-threaded builds now output to a different default path with
|
||||
default filenames, for example, ``PCbuild/amd64t/python.exe`` rather than
|
||||
``PCbuild/amd64/python3.15t.exe``. The ``PC/layout`` script has been updated
|
||||
to ensure compatibility of generated layouts.
|
||||
|
|
@ -1 +0,0 @@
|
|||
Update to WASI SDK 33.
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
Avoid possible broken macOS framework install names when DESTDIR is
|
||||
specified during builds.
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
Avoid unnecessary JIT-related rebuilds during ``make install`` after
|
||||
``--enable-optimizations`` builds.
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
Add functions that are guaranteed to be safe for use in
|
||||
:c:member:`~PyTypeObject.tp_traverse` handlers:
|
||||
:c:func:`PyObject_GetTypeData_DuringGC`,
|
||||
:c:func:`PyObject_GetItemData_DuringGC`,
|
||||
:c:func:`PyType_GetModuleState_DuringGC`,
|
||||
:c:func:`PyModule_GetState_DuringGC`, :c:func:`PyModule_GetToken_DuringGC`,
|
||||
:c:func:`PyType_GetBaseByToken_DuringGC`,
|
||||
:c:func:`PyType_GetModule_DuringGC`,
|
||||
:c:func:`PyType_GetModuleByToken_DuringGC`.
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
Add :c:func:`PyObject_CallFinalizerFromDealloc` function to the limited C API.
|
||||
Patch by Victor Stinner.
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
:c:func:`Py_IsInitialized` no longer returns true until initialization has
|
||||
fully completed, including import of the :mod:`site` module. The underlying
|
||||
runtime flags now use atomic operations.
|
||||
|
|
@ -1 +0,0 @@
|
|||
Implement :pep:`803` -- ``abi3t``: Stable ABI for Free-Threaded Builds.
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
Rename ``_Py_DumpTraceback`` and ``_Py_DumpTracebackThreads`` to
|
||||
:c:func:`PyUnstable_DumpTraceback` and
|
||||
:c:func:`PyUnstable_DumpTracebackThreads`.
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
Using :c:macro:`Py_LIMITED_API` on a non-Windows free-threaded build no
|
||||
longer needs an extra :c:macro:`Py_GIL_DISABLED`.
|
||||
|
|
@ -1 +0,0 @@
|
|||
Implement :pep:`820`: Unified slot system for the C API.
|
||||
|
|
@ -1 +0,0 @@
|
|||
Implement :pep:`788`.
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
:c:type:`PyType_WatchCallback` callbacks registered via
|
||||
:c:func:`PyType_AddWatcher` are now also invoked when a watched heap type is
|
||||
deallocated. Previously, type watchers were only notified of modifications,
|
||||
which could cause stale references when a type was freed and its address was
|
||||
reused.
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
:c:type:`PyCriticalSection` and related functions are added to the Stable
|
||||
ABI.
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
Specialize ``BINARY_OP`` for concatenation of lists and tuples, and
|
||||
propagate the result type through ``_BINARY_OP_EXTEND`` in the tier 2
|
||||
optimizer so that follow-up type guards can be eliminated.
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
Removed deprecated in :pep:`626` since Python 3.12
|
||||
:attr:`!codeobject.co_lnotab` from :class:`types.CodeType`.
|
||||
|
|
@ -1 +0,0 @@
|
|||
Add support for :data:`!socket.SO_PASSRIGHTS` on Linux.
|
||||
|
|
@ -1 +0,0 @@
|
|||
Fix :exc:`SystemError` when searching ELF Files in :func:`sys.remote_exec`.
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
:mod:`ast`: The constructors of AST nodes now raise a :exc:`TypeError` when
|
||||
a required argument is omitted or when a keyword argument that does not map to
|
||||
a field on the AST node is passed. These cases had previously raised a
|
||||
:exc:`DeprecationWarning` since Python 3.13. Patch by Brian Schubert.
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
Fix the ``__qualname__`` attribute of ``__annotate__`` functions on
|
||||
functions.
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
Support for creating instances of abstract AST nodes from the :mod:`ast` module
|
||||
is deprecated and scheduled for removal in Python 3.20. Patch by Brian Schubert.
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
Restore ``function__entry`` and ``function__return`` DTrace/SystemTap probes
|
||||
that were broken since Python 3.11.
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
Reorder function annotations so positional-only arguments are returned
|
||||
before other arguments. This fixes how :func:`functools.singledispatch`
|
||||
registers functions with positional-only arguments.
|
||||
|
|
@ -1 +0,0 @@
|
|||
Optimize and eliminate redundant ref-counting for ``MAKE_FUNCTION`` in the JIT.
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
The :mod:`encodings` is now partially frozen, including
|
||||
the ``aliases`` and ``utf_8`` submodules.
|
||||
|
||||
The :mod:`linecache` is now frozen.
|
||||
|
|
@ -1 +0,0 @@
|
|||
The unstable API _PyInterpreterState_SetEvalFrameFunc has a companion function _PyInterpreterState_SetEvalFrameAllowSpecialization to specify if specialization should be allowed. When this option is set to 1 the specializer will turn Python -> Python calls into specialized opcodes which the replacement interpreter loop can choose to respect and perform inlined dispatch.
|
||||
|
|
@ -1 +0,0 @@
|
|||
Add support for unwinding JIT frames using GDB. Patch by Diego Russo and Pablo Galindo.
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
Global :mod:`sys.monitoring` events can now be turned on and disabled on a
|
||||
per code object basis. Returning ``DISABLE`` from a callback disables the
|
||||
event for the entire code object (for the current tool).
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
Specialize float true division in the tier 2 optimizer with inplace
|
||||
mutation for uniquely-referenced operands.
|
||||
|
|
@ -1 +0,0 @@
|
|||
Fix O(N²) compile-time regression in constant folding after it was moved from AST to CFG optimizer.
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
Fixed a memory leak in interpreter helper calls so cleanup works when an
|
||||
operation falls across interpreter boundaries. Patch by Maurycy
|
||||
Pawłowski-Wieroński.
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
Accept a function name in :option:`-X presite <-X>` command line option and
|
||||
:envvar:`PYTHON_PRESITE` environment variable. Patch by Victor Stinner.
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
Enable frame pointers by default for GCC-compatible CPython builds, including
|
||||
``-mno-omit-leaf-frame-pointer``, ``-marm`` on 32-bit ARM, and/or ``-mbackchain``
|
||||
on s390x platforms when the compiler supports them, so profilers and debuggers
|
||||
can unwind native interpreter frames more reliably. Users can pass
|
||||
:option:`--without-frame-pointers` to ``./configure`` to opt out.
|
||||
|
|
@ -1 +0,0 @@
|
|||
The specializing interpreter now specializes for :class:`enum.Enum` improving performance and scaling in free-threading. Patch by Kumar Aditya.
|
||||
|
|
@ -1 +0,0 @@
|
|||
Fix recursion depth leak in :c:func:`PyObject_Print`
|
||||
|
|
@ -1 +0,0 @@
|
|||
Fix vectorcall support in :class:`types.GenericAlias` when the underlying type does not support the vectorcall protocol. Fix possible leaks in :class:`types.GenericAlias` and :class:`types.UnionType` in case of memory error.
|
||||
|
|
@ -1 +0,0 @@
|
|||
Repaired undercount of bytes in type-specific free lists reported by sys._debugmallocstats(). For types that participate in cyclic garbage collection, it was missing two pointers used by GC.
|
||||
|
|
@ -1 +0,0 @@
|
|||
Improve JIT code generation on Linux AArch64 by reducing the indirect call to external symbols. Patch by Diego Russo.
|
||||
|
|
@ -1 +0,0 @@
|
|||
Remove critical section from :c:func:`!PyCode_Addr2Line` in free-threading.
|
||||
|
|
@ -1 +0,0 @@
|
|||
Fix high stack consumption in Python's interpreter loop on Clang 22 by setting function limits for inlining when building with computed gotos.
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
Add a ``GCMonitor`` class with a ``get_gc_stats`` method to the
|
||||
:mod:`!_remote_debugging` module to allow reading GC statistics from an
|
||||
external Python process without requiring the full ``RemoteUnwinder``
|
||||
functionality.
|
||||
Patch by Sergey Miryanov and Pablo Galindo.
|
||||
|
|
@ -1 +0,0 @@
|
|||
Fix a bug in the JIT optimizer where class attribute loads were not invalidated after type mutation.
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
Fix data races between :c:func:`PyDict_Watch` / :c:func:`PyDict_Unwatch`
|
||||
and concurrent dict mutation in the :term:`free-threaded build`.
|
||||
|
|
@ -1 +0,0 @@
|
|||
Fix a possible reference leak in a corrupted ``TYPE_CODE`` marshal stream.
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
Fix an undefined behavior in :class:`memoryview` when using the native
|
||||
boolean format (``?``) in :meth:`~memoryview.cast`. Previously, on some
|
||||
common platforms, calling ``memoryview(b).cast("?").tolist()`` incorrectly
|
||||
returned ``[False]`` instead of ``[True]`` for any even byte *b*.
|
||||
Patch by Bénédikt Tran.
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
Fix a bug in the JIT optimizer reading operands for uops with multiple
|
||||
caches.
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
Unary plus is now accepted in :keyword:`match` literal patterns, mirroring
|
||||
the existing support for unary minus.
|
||||
Patch by Bartosz Sławecki.
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
Added ``PyTypeObject.tp_basicsize``, ``PyTypeObject.tp_dictoffset``, and
|
||||
``PyHeapTypeObject.ht_cached_keys`` offsets to :c:type:`!_Py_DebugOffsets` to
|
||||
support version-independent read-only dict introspection tools.
|
||||
|
|
@ -1 +0,0 @@
|
|||
Forward-port the generational cycle garbage collector to the default 3.15 build, replacing the incremental collector while leaving the free-threaded collector unchanged.
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
Forbid :mod:`marshalling <marshal>` recursive code objects, :class:`slice`
|
||||
and :class:`frozendict` objects which cannot be correctly unmarshalled.
|
||||
|
|
@ -1 +0,0 @@
|
|||
Fix a crash in the JIT optimizer when specialized opcode families inherited incompatible recorded operand layouts.
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
The interpreter help (such as ``python --help``) is now in color. Patch by
|
||||
Hugo van Kemenade.
|
||||
|
|
@ -1 +0,0 @@
|
|||
Fix a sequential consistency bug in ``structmember.c``.
|
||||
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