mirror of
https://github.com/python/cpython.git
synced 2024-11-23 18:04:37 +08:00
Python 3.11.0a7
This commit is contained in:
parent
c1d93b6411
commit
2e49bd06c5
@ -20,10 +20,10 @@
|
||||
#define PY_MINOR_VERSION 11
|
||||
#define PY_MICRO_VERSION 0
|
||||
#define PY_RELEASE_LEVEL PY_RELEASE_LEVEL_ALPHA
|
||||
#define PY_RELEASE_SERIAL 6
|
||||
#define PY_RELEASE_SERIAL 7
|
||||
|
||||
/* Version as a string */
|
||||
#define PY_VERSION "3.11.0a6+"
|
||||
#define PY_VERSION "3.11.0a7"
|
||||
/*--end constants--*/
|
||||
|
||||
/* Version as a single 4-byte hex number, e.g. 0x010502B2 == 1.5.2b2.
|
||||
|
@ -1,5 +1,5 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Autogenerated by Sphinx on Mon Mar 7 12:29:42 2022
|
||||
# Autogenerated by Sphinx on Tue Apr 5 20:53:43 2022
|
||||
topics = {'assert': 'The "assert" statement\n'
|
||||
'**********************\n'
|
||||
'\n'
|
||||
@ -93,11 +93,7 @@ topics = {'assert': 'The "assert" statement\n'
|
||||
' optionally in parentheses, the object is assigned to that '
|
||||
'target.\n'
|
||||
'\n'
|
||||
'* Else: The object must be an iterable with the same number of '
|
||||
'items\n'
|
||||
' as there are targets in the target list, and the items are '
|
||||
'assigned,\n'
|
||||
' from left to right, to the corresponding targets.\n'
|
||||
'* Else:\n'
|
||||
'\n'
|
||||
' * If the target list contains one target prefixed with an '
|
||||
'asterisk,\n'
|
||||
@ -2328,27 +2324,18 @@ topics = {'assert': 'The "assert" statement\n'
|
||||
' for_stmt ::= "for" target_list "in" starred_list ":" suite\n'
|
||||
' ["else" ":" suite]\n'
|
||||
'\n'
|
||||
'The expression list is evaluated once; it should yield an '
|
||||
'iterable\n'
|
||||
'object. An iterator is created for the result of the '
|
||||
'"starred_list".\n'
|
||||
'The expression list can contain starred elements ("*x, *y") that '
|
||||
'will\n'
|
||||
'be unpacked in the final iterator (as when constructing a '
|
||||
'"tuple" or\n'
|
||||
'"list" literal). The suite is then executed once for each item\n'
|
||||
'provided by the iterator, in the order returned by the '
|
||||
'iterator. Each\n'
|
||||
'item in turn is assigned to the target list using the standard '
|
||||
'rules\n'
|
||||
'for assignments (see Assignment statements), and then the suite '
|
||||
'is\n'
|
||||
'executed. When the items are exhausted (which is immediately '
|
||||
'when the\n'
|
||||
'sequence is empty or an iterator raises a "StopIteration" '
|
||||
'exception),\n'
|
||||
'the suite in the "else" clause, if present, is executed, and the '
|
||||
'loop\n'
|
||||
'The "starred_list" expression is evaluated once; it should yield '
|
||||
'an\n'
|
||||
'*iterable* object. An *iterator* is created for that iterable. '
|
||||
'The\n'
|
||||
'first item provided by the iterator is then assigned to the '
|
||||
'target\n'
|
||||
'list using the standard rules for assignments (see Assignment\n'
|
||||
'statements), and the suite is executed. This repeats for each '
|
||||
'item\n'
|
||||
'provided by the iterator. When the iterator is exhausted, the '
|
||||
'suite\n'
|
||||
'in the "else" clause, if present, is executed, and the loop\n'
|
||||
'terminates.\n'
|
||||
'\n'
|
||||
'A "break" statement executed in the first suite terminates the '
|
||||
@ -2427,11 +2414,11 @@ topics = {'assert': 'The "assert" statement\n'
|
||||
'resulting\n'
|
||||
'object is “compatible” with the exception. An object is '
|
||||
'compatible\n'
|
||||
'with an exception if the object is the class or a base class of '
|
||||
'the\n'
|
||||
'exception object, or a tuple containing an item that is the '
|
||||
'class or a\n'
|
||||
'base class of the exception object.\n'
|
||||
'with an exception if the object is the class or a *non-virtual '
|
||||
'base\n'
|
||||
'class* of the exception object, or a tuple containing an item '
|
||||
'that is\n'
|
||||
'the class or a non-virtual base class of the exception object.\n'
|
||||
'\n'
|
||||
'If no except clause matches the exception, the search for an '
|
||||
'exception\n'
|
||||
@ -4461,15 +4448,17 @@ topics = {'assert': 'The "assert" statement\n'
|
||||
'on members\n'
|
||||
' of hashed collections including "set", "frozenset", and '
|
||||
'"dict".\n'
|
||||
' "__hash__()" should return an integer. The only required '
|
||||
'property\n'
|
||||
' is that objects which compare equal have the same hash '
|
||||
'value; it is\n'
|
||||
' advised to mix together the hash values of the '
|
||||
'components of the\n'
|
||||
' object that also play a part in comparison of objects by '
|
||||
'packing\n'
|
||||
' them into a tuple and hashing the tuple. Example:\n'
|
||||
' The "__hash__()" method should return an integer. The '
|
||||
'only required\n'
|
||||
' property is that objects which compare equal have the '
|
||||
'same hash\n'
|
||||
' value; it is advised to mix together the hash values of '
|
||||
'the\n'
|
||||
' components of the object that also play a part in '
|
||||
'comparison of\n'
|
||||
' objects by packing them into a tuple and hashing the '
|
||||
'tuple.\n'
|
||||
' Example:\n'
|
||||
'\n'
|
||||
' def __hash__(self):\n'
|
||||
' return hash((self.name, self.nick, self.color))\n'
|
||||
@ -5458,11 +5447,11 @@ topics = {'assert': 'The "assert" statement\n'
|
||||
'clause is\n'
|
||||
'selected depending on the class of the instance: it must '
|
||||
'reference the\n'
|
||||
'class of the instance or a base class thereof. The instance '
|
||||
'can be\n'
|
||||
'received by the handler and can carry additional information '
|
||||
'about the\n'
|
||||
'exceptional condition.\n'
|
||||
'class of the instance or a *non-virtual base class* thereof. '
|
||||
'The\n'
|
||||
'instance can be received by the handler and can carry '
|
||||
'additional\n'
|
||||
'information about the exceptional condition.\n'
|
||||
'\n'
|
||||
'Note:\n'
|
||||
'\n'
|
||||
@ -5797,11 +5786,11 @@ topics = {'assert': 'The "assert" statement\n'
|
||||
'clause is\n'
|
||||
'selected depending on the class of the instance: it must '
|
||||
'reference the\n'
|
||||
'class of the instance or a base class thereof. The instance '
|
||||
'can be\n'
|
||||
'received by the handler and can carry additional information '
|
||||
'about the\n'
|
||||
'exceptional condition.\n'
|
||||
'class of the instance or a *non-virtual base class* thereof. '
|
||||
'The\n'
|
||||
'instance can be received by the handler and can carry '
|
||||
'additional\n'
|
||||
'information about the exceptional condition.\n'
|
||||
'\n'
|
||||
'Note:\n'
|
||||
'\n'
|
||||
@ -5901,23 +5890,13 @@ topics = {'assert': 'The "assert" statement\n'
|
||||
' for_stmt ::= "for" target_list "in" starred_list ":" suite\n'
|
||||
' ["else" ":" suite]\n'
|
||||
'\n'
|
||||
'The expression list is evaluated once; it should yield an iterable\n'
|
||||
'object. An iterator is created for the result of the '
|
||||
'"starred_list".\n'
|
||||
'The expression list can contain starred elements ("*x, *y") that '
|
||||
'will\n'
|
||||
'be unpacked in the final iterator (as when constructing a "tuple" or\n'
|
||||
'"list" literal). The suite is then executed once for each item\n'
|
||||
'provided by the iterator, in the order returned by the iterator. '
|
||||
'Each\n'
|
||||
'item in turn is assigned to the target list using the standard rules\n'
|
||||
'for assignments (see Assignment statements), and then the suite is\n'
|
||||
'executed. When the items are exhausted (which is immediately when '
|
||||
'the\n'
|
||||
'sequence is empty or an iterator raises a "StopIteration" '
|
||||
'exception),\n'
|
||||
'the suite in the "else" clause, if present, is executed, and the '
|
||||
'loop\n'
|
||||
'The "starred_list" expression is evaluated once; it should yield an\n'
|
||||
'*iterable* object. An *iterator* is created for that iterable. The\n'
|
||||
'first item provided by the iterator is then assigned to the target\n'
|
||||
'list using the standard rules for assignments (see Assignment\n'
|
||||
'statements), and the suite is executed. This repeats for each item\n'
|
||||
'provided by the iterator. When the iterator is exhausted, the suite\n'
|
||||
'in the "else" clause, if present, is executed, and the loop\n'
|
||||
'terminates.\n'
|
||||
'\n'
|
||||
'A "break" statement executed in the first suite terminates the loop\n'
|
||||
@ -9388,15 +9367,17 @@ topics = {'assert': 'The "assert" statement\n'
|
||||
'on members\n'
|
||||
' of hashed collections including "set", "frozenset", and '
|
||||
'"dict".\n'
|
||||
' "__hash__()" should return an integer. The only required '
|
||||
'property\n'
|
||||
' is that objects which compare equal have the same hash '
|
||||
'value; it is\n'
|
||||
' advised to mix together the hash values of the components '
|
||||
'of the\n'
|
||||
' object that also play a part in comparison of objects by '
|
||||
'packing\n'
|
||||
' them into a tuple and hashing the tuple. Example:\n'
|
||||
' The "__hash__()" method should return an integer. The '
|
||||
'only required\n'
|
||||
' property is that objects which compare equal have the '
|
||||
'same hash\n'
|
||||
' value; it is advised to mix together the hash values of '
|
||||
'the\n'
|
||||
' components of the object that also play a part in '
|
||||
'comparison of\n'
|
||||
' objects by packing them into a tuple and hashing the '
|
||||
'tuple.\n'
|
||||
' Example:\n'
|
||||
'\n'
|
||||
' def __hash__(self):\n'
|
||||
' return hash((self.name, self.nick, self.color))\n'
|
||||
@ -10003,14 +9984,14 @@ topics = {'assert': 'The "assert" statement\n'
|
||||
'\n'
|
||||
'Whenever a class inherits from another class, '
|
||||
'"__init_subclass__()" is\n'
|
||||
'called on that class. This way, it is possible to write '
|
||||
'classes which\n'
|
||||
'change the behavior of subclasses. This is closely related '
|
||||
'to class\n'
|
||||
'decorators, but where class decorators only affect the '
|
||||
'specific class\n'
|
||||
'they’re applied to, "__init_subclass__" solely applies to '
|
||||
'future\n'
|
||||
'called on the parent class. This way, it is possible to '
|
||||
'write classes\n'
|
||||
'which change the behavior of subclasses. This is closely '
|
||||
'related to\n'
|
||||
'class decorators, but where class decorators only affect the '
|
||||
'specific\n'
|
||||
'class they’re applied to, "__init_subclass__" solely applies '
|
||||
'to future\n'
|
||||
'subclasses of the class defining the method.\n'
|
||||
'\n'
|
||||
'classmethod object.__init_subclass__(cls)\n'
|
||||
@ -12381,67 +12362,86 @@ topics = {'assert': 'The "assert" statement\n'
|
||||
'subscriptions': 'Subscriptions\n'
|
||||
'*************\n'
|
||||
'\n'
|
||||
'Subscription of a sequence (string, tuple or list) or '
|
||||
'mapping\n'
|
||||
'(dictionary) object usually selects an item from the '
|
||||
'collection:\n'
|
||||
'The subscription of an instance of a container class will '
|
||||
'generally\n'
|
||||
'select an element from the container. The subscription of a '
|
||||
'*generic\n'
|
||||
'class* will generally return a GenericAlias object.\n'
|
||||
'\n'
|
||||
' subscription ::= primary "[" expression_list "]"\n'
|
||||
'\n'
|
||||
'When an object is subscripted, the interpreter will '
|
||||
'evaluate the\n'
|
||||
'primary and the expression list.\n'
|
||||
'\n'
|
||||
'The primary must evaluate to an object that supports '
|
||||
'subscription\n'
|
||||
'(lists or dictionaries for example). User-defined objects '
|
||||
'can support\n'
|
||||
'subscription by defining a "__getitem__()" method.\n'
|
||||
'subscription. An\n'
|
||||
'object may support subscription through defining one or '
|
||||
'both of\n'
|
||||
'"__getitem__()" and "__class_getitem__()". When the primary '
|
||||
'is\n'
|
||||
'subscripted, the evaluated result of the expression list '
|
||||
'will be\n'
|
||||
'passed to one of these methods. For more details on when\n'
|
||||
'"__class_getitem__" is called instead of "__getitem__", '
|
||||
'see\n'
|
||||
'__class_getitem__ versus __getitem__.\n'
|
||||
'\n'
|
||||
'If the expression list contains at least one comma, it will '
|
||||
'evaluate\n'
|
||||
'to a "tuple" containing the items of the expression list. '
|
||||
'Otherwise,\n'
|
||||
'the expression list will evaluate to the value of the '
|
||||
'list’s sole\n'
|
||||
'member.\n'
|
||||
'\n'
|
||||
'For built-in objects, there are two types of objects that '
|
||||
'support\n'
|
||||
'subscription:\n'
|
||||
'subscription via "__getitem__()":\n'
|
||||
'\n'
|
||||
'If the primary is a mapping, the expression list must '
|
||||
'evaluate to an\n'
|
||||
'object whose value is one of the keys of the mapping, and '
|
||||
'1. Mappings. If the primary is a *mapping*, the expression '
|
||||
'list must\n'
|
||||
' evaluate to an object whose value is one of the keys of '
|
||||
'the\n'
|
||||
'subscription selects the value in the mapping that '
|
||||
'corresponds to that\n'
|
||||
'key. (The expression list is a tuple except if it has '
|
||||
'exactly one\n'
|
||||
'item.)\n'
|
||||
' mapping, and the subscription selects the value in the '
|
||||
'mapping that\n'
|
||||
' corresponds to that key. An example of a builtin mapping '
|
||||
'class is\n'
|
||||
' the "dict" class.\n'
|
||||
'\n'
|
||||
'If the primary is a sequence, the expression list must '
|
||||
'evaluate to an\n'
|
||||
'integer or a slice (as discussed in the following '
|
||||
'section).\n'
|
||||
'2. Sequences. If the primary is a *sequence*, the '
|
||||
'expression list must\n'
|
||||
' evaluate to an "int" or a "slice" (as discussed in the '
|
||||
'following\n'
|
||||
' section). Examples of builtin sequence classes include '
|
||||
'the "str",\n'
|
||||
' "list" and "tuple" classes.\n'
|
||||
'\n'
|
||||
'The formal syntax makes no special provision for negative '
|
||||
'indices in\n'
|
||||
'sequences; however, built-in sequences all provide a '
|
||||
'*sequences*. However, built-in sequences all provide a '
|
||||
'"__getitem__()"\n'
|
||||
'method that interprets negative indices by adding the '
|
||||
'length of the\n'
|
||||
'sequence to the index (so that "x[-1]" selects the last '
|
||||
'item of "x").\n'
|
||||
'The resulting value must be a nonnegative integer less than '
|
||||
'the number\n'
|
||||
'of items in the sequence, and the subscription selects the '
|
||||
'item whose\n'
|
||||
'index is that value (counting from zero). Since the support '
|
||||
'for\n'
|
||||
'negative indices and slicing occurs in the object’s '
|
||||
'"__getitem__()"\n'
|
||||
'method, subclasses overriding this method will need to '
|
||||
'explicitly add\n'
|
||||
'that support.\n'
|
||||
'sequence to the index so that, for example, "x[-1]" selects '
|
||||
'the last\n'
|
||||
'item of "x". The resulting value must be a nonnegative '
|
||||
'integer less\n'
|
||||
'than the number of items in the sequence, and the '
|
||||
'subscription selects\n'
|
||||
'the item whose index is that value (counting from zero). '
|
||||
'Since the\n'
|
||||
'support for negative indices and slicing occurs in the '
|
||||
'object’s\n'
|
||||
'"__getitem__()" method, subclasses overriding this method '
|
||||
'will need to\n'
|
||||
'explicitly add that support.\n'
|
||||
'\n'
|
||||
'A string’s items are characters. A character is not a '
|
||||
'separate data\n'
|
||||
'type but a string of exactly one character.\n'
|
||||
'\n'
|
||||
'Subscription of certain *classes* or *types* creates a '
|
||||
'generic alias.\n'
|
||||
'In this case, user-defined classes can support subscription '
|
||||
'by\n'
|
||||
'providing a "__class_getitem__()" classmethod.\n',
|
||||
'A "string" is a special kind of sequence whose items are '
|
||||
'*characters*.\n'
|
||||
'A character is not a separate data type but a string of '
|
||||
'exactly one\n'
|
||||
'character.\n',
|
||||
'truth': 'Truth Value Testing\n'
|
||||
'*******************\n'
|
||||
'\n'
|
||||
@ -12502,10 +12502,10 @@ topics = {'assert': 'The "assert" statement\n'
|
||||
'exception. For an except clause with an expression, that expression\n'
|
||||
'is evaluated, and the clause matches the exception if the resulting\n'
|
||||
'object is “compatible” with the exception. An object is compatible\n'
|
||||
'with an exception if the object is the class or a base class of the\n'
|
||||
'exception object, or a tuple containing an item that is the class or '
|
||||
'a\n'
|
||||
'base class of the exception object.\n'
|
||||
'with an exception if the object is the class or a *non-virtual base\n'
|
||||
'class* of the exception object, or a tuple containing an item that '
|
||||
'is\n'
|
||||
'the class or a non-virtual base class of the exception object.\n'
|
||||
'\n'
|
||||
'If no except clause matches the exception, the search for an '
|
||||
'exception\n'
|
||||
|
1614
Misc/NEWS.d/3.11.0a7.rst
Normal file
1614
Misc/NEWS.d/3.11.0a7.rst
Normal file
File diff suppressed because it is too large
Load Diff
@ -1,2 +0,0 @@
|
||||
``configure`` now verifies that all SQLite C APIs needed for the
|
||||
:mod:`sqlite3` extension module are found.
|
@ -1,2 +0,0 @@
|
||||
Building Python now requires support of IEEE 754 floating point numbers.
|
||||
Patch by Victor Stinner.
|
@ -1,2 +0,0 @@
|
||||
Add ``regen-configure`` make target to regenerate configure script with
|
||||
Christian's container image ``quay.io/tiran/cpython_autoconf:269``.
|
@ -1 +0,0 @@
|
||||
The :mod:`tkinter` package now requires Tcl/Tk version 8.5.12 or newer.
|
@ -1 +0,0 @@
|
||||
Update OpenSSL to 1.1.1n for macOS installers and all Windows builds.
|
@ -1,2 +0,0 @@
|
||||
Ensure Windows install builds fail correctly with a non-zero exit code when
|
||||
part of the build fails.
|
@ -1,2 +0,0 @@
|
||||
Add SOABI ``wasm32-emscripten`` for Emscripten and ``wasm32-wasi`` for WASI
|
||||
on 32bit WASM as well as ``wasm64`` counter parts.
|
@ -1,2 +0,0 @@
|
||||
``makesetup`` now detects and skips all duplicated module definitions. The
|
||||
first entry wins.
|
@ -1,2 +0,0 @@
|
||||
Add configure option :option:`--enable-wasm-dynamic-linking` to enable
|
||||
``dlopen`` and MAIN_MODULE / SIDE_MODULE on ``wasm32-emscripten``.
|
@ -1,4 +0,0 @@
|
||||
Add new functions to pack and unpack C double (serialize and deserialize):
|
||||
:c:func:`PyFloat_Pack2`, :c:func:`PyFloat_Pack4`, :c:func:`PyFloat_Pack8`,
|
||||
:c:func:`PyFloat_Unpack2`, :c:func:`PyFloat_Unpack4` and
|
||||
:c:func:`PyFloat_Unpack8`. Patch by Victor Stinner.
|
@ -1,2 +0,0 @@
|
||||
Remove private functions ``_PySys_GetObjectId()`` and ``_PySys_SetObjectId()``.
|
||||
Patch by Dong-hee Na.
|
@ -1,9 +0,0 @@
|
||||
Remove the following private undocumented functions from the C API:
|
||||
|
||||
* ``_PyEval_GetAsyncGenFirstiter()``
|
||||
* ``_PyEval_GetAsyncGenFinalizer()``
|
||||
* ``_PyEval_SetAsyncGenFirstiter()``
|
||||
* ``_PyEval_SetAsyncGenFinalizer()``
|
||||
|
||||
Call the public :func:`sys.get_asyncgen_hooks` and
|
||||
:func:`sys.set_asyncgen_hooks` functions instead. Patch by Victor Stinner.
|
@ -1,4 +0,0 @@
|
||||
Remove the private undocumented function
|
||||
``_PyEval_GetCoroutineOriginTrackingDepth()`` from the C API. Call the
|
||||
public :func:`sys.get_coroutine_origin_tracking_depth` function instead.
|
||||
Patch by Victor Stinner.
|
@ -1,3 +0,0 @@
|
||||
Remove the private undocumented function ``_PyEval_CallTracing()`` from the
|
||||
C API. Call the public :func:`sys.call_tracing` function instead. Patch by
|
||||
Victor Stinner.
|
@ -1,3 +0,0 @@
|
||||
Move the private undocumented ``_PyEval_EvalFrameDefault()`` function to the
|
||||
internal C API. The function now uses the ``_PyInterpreterFrame`` type which is
|
||||
part of the internal C API. Patch by Victor Stinner.
|
@ -1,6 +0,0 @@
|
||||
Move the private ``_PyFrameEvalFunction`` type, and private
|
||||
``_PyInterpreterState_GetEvalFrameFunc()`` and
|
||||
``_PyInterpreterState_SetEvalFrameFunc()`` functions to the internal C API. The
|
||||
``_PyFrameEvalFunction`` callback function type now uses the
|
||||
``_PyInterpreterFrame`` type which is part of the internal C API. Patch by
|
||||
Victor Stinner.
|
@ -1,3 +0,0 @@
|
||||
Add ``PyFrame_GetBuiltins``, ``PyFrame_GetGenerator`` and
|
||||
``PyFrame_GetGlobals`` C-API functions to access frame object attributes
|
||||
safely from C code.
|
@ -1 +0,0 @@
|
||||
Make grammar changes required for PEP 646.
|
@ -1 +0,0 @@
|
||||
Fix docstrings of :attr:`~property.getter`, :attr:`~property.setter`, and :attr:`~property.deleter` to clarify that they create a new copy of the property.
|
@ -1,2 +0,0 @@
|
||||
Improve syntax errors for incorrect function definitions. Patch by Pablo
|
||||
Galindo
|
@ -1 +0,0 @@
|
||||
Statically allocate and initialize the latin1 characters.
|
@ -1,2 +0,0 @@
|
||||
Use inline caching for :opcode:`PRECALL` and :opcode:`CALL`, and remove the
|
||||
internal machinery for managing the (now unused) non-inline caches.
|
@ -1,2 +0,0 @@
|
||||
Modify :opcode:`STORE_SUBSCR` to use an inline cache entry (rather than its
|
||||
oparg) as an adaptive counter.
|
@ -1 +0,0 @@
|
||||
Speed up throwing exception in generator with :const:`METH_FASTCALL` calling convention. Patch by Kumar Aditya.
|
@ -1 +0,0 @@
|
||||
Removed the ``__len__()`` call when initializing a list and moved initializing to ``list_extend``. Patch by Jeremiah Pascual.
|
@ -1 +0,0 @@
|
||||
Speed up :class:`bytearray` creation from :class:`list` and :class:`tuple` by 40%. Patch by Kumar Aditya.
|
@ -1,2 +0,0 @@
|
||||
Deprecate passing a message into :meth:`asyncio.Future.cancel` and
|
||||
:meth:`asyncio.Task.cancel`
|
@ -1 +0,0 @@
|
||||
Improve performance of ``bytearray_repeat`` and ``bytearray_irepeat`` by reducing the number of invocations of ``memcpy``.
|
@ -1 +0,0 @@
|
||||
Improved the performance of :meth:`list.append()` and list comprehensions by optimizing for the common case, where no resize is needed. Patch by Dennis Sweeney.
|
@ -1 +0,0 @@
|
||||
Speed up iteration of :class:`bytes` and :class:`bytearray` by 30%. Patch by Kumar Aditya.
|
@ -1,2 +0,0 @@
|
||||
Quicken bytecode in-place by storing it as part of the corresponding
|
||||
``PyCodeObject``.
|
@ -1,2 +0,0 @@
|
||||
Use low bit of ``LOAD_GLOBAL`` to indicate whether to push a ``NULL`` before
|
||||
the global. Helps streamline the call sequence a bit.
|
@ -1,3 +0,0 @@
|
||||
Check for the existence of the "sys/auxv.h" header in :mod:`faulthandler` to
|
||||
avoid compilation problems in systems where this header doesn't exist. Patch
|
||||
by Pablo Galindo
|
@ -1,3 +0,0 @@
|
||||
Remove the ``f_state`` field from the _PyInterpreterFrame struct. Add the
|
||||
``owner`` field to the _PyInterpreterFrame struct to make ownership explicit
|
||||
to simplify clearing and deallocing frames and generators.
|
@ -1 +0,0 @@
|
||||
Reduce de-optimization in the specialized ``BINARY_OP_INPLACE_ADD_UNICODE`` opcode.
|
@ -1,3 +0,0 @@
|
||||
Improve performance of ``array_inplace_repeat`` by reducing the number of invocations of ``memcpy``.
|
||||
Refactor the ``repeat`` and inplace ``repeat`` methods of ``array``, ``bytes``, ``bytearray``
|
||||
and ``unicodeobject`` to use the common ``_PyBytes_Repeat``.
|
@ -1,2 +0,0 @@
|
||||
:c:func:`PyFrame_FastToLocalsWithError` and :c:func:`PyFrame_LocalsToFast` are no longer
|
||||
called during profiling nor tracing. C code can access the ``f_locals`` attribute of :c:type:`PyFrameObject` by calling :c:func:`PyFrame_GetLocals`.
|
@ -1,2 +0,0 @@
|
||||
Replaced :opcode:`JUMP_ABSOLUTE` by the relative jump :opcode:`JUMP_BACKWARD`.
|
||||
|
@ -1 +0,0 @@
|
||||
Speed up calls to c functions with keyword arguments by 25% with specialization. Patch by Kumar Aditya.
|
@ -1,2 +0,0 @@
|
||||
Fix a crash if we fail to decode characters in interactive mode if the
|
||||
tokenizer buffers are uninitialized. Patch by Pablo Galindo.
|
@ -1 +0,0 @@
|
||||
Improve error messages in f-string syntax errors concerning empty expressions.
|
@ -1,3 +0,0 @@
|
||||
Some Windows system error codes(>= 10000) are now mapped into
|
||||
the correct errno and may now raise a subclass of :exc:`OSError`.
|
||||
Patch by Dong-hee Na.
|
@ -1,4 +0,0 @@
|
||||
WebAssembly cannot deal with bad function pointer casts (different count
|
||||
or types of arguments). Python can now use call trampolines to mitigate
|
||||
the problem. Define :c:macro:`PY_CALL_TRAMPOLINE` to enable call
|
||||
trampolines.
|
@ -1,2 +0,0 @@
|
||||
Fix a crash when using a named unicode character like ``"\N{digit nine}"``
|
||||
after the main interpreter has been initialized a second time.
|
@ -1 +0,0 @@
|
||||
Avoid unnecessary allocations when comparing code objects.
|
@ -1 +0,0 @@
|
||||
Replace the absolute jump opcode :opcode:`JUMP_NO_INTERRUPT` by the relative :opcode:`JUMP_BACKWARD_NO_INTERRUPT`.
|
@ -1 +0,0 @@
|
||||
Replace :opcode:`JUMP_IF_NOT_EXC_MATCH` by :opcode:`CHECK_EXC_MATCH` + jump.
|
@ -1,6 +0,0 @@
|
||||
Emscripten builds cannot handle signals in the usual way due to platform
|
||||
limitations. Python can now handle signals. To use, set
|
||||
Module.Py_EmscriptenSignalBuffer to be a single byte SharedArrayBuffer and
|
||||
set Py_EMSCRIPTEN_SIGNAL_HANDLING to 1. Writing a number into the
|
||||
SharedArrayBuffer will cause the corresponding signal to be raised into the
|
||||
Python thread.
|
@ -1 +0,0 @@
|
||||
Replace :opcode:`JUMP_IF_NOT_EG_MATCH` by :opcode:`CHECK_EG_MATCH` + jump.
|
@ -1,3 +0,0 @@
|
||||
Raise :exc:`IndentationError` instead of :exc:`SyntaxError` for a bare
|
||||
``except`` with no following indent. Improve :exc:`SyntaxError` locations for
|
||||
an un-parenthesized generator used as arguments. Patch by Matthieu Dartiailh.
|
@ -1 +0,0 @@
|
||||
Link the errnos referenced in ``Doc/library/exceptions.rst`` to their respective section in ``Doc/library/errno.rst``, and vice versa. Previously this was only done for EINTR and InterruptedError. Patch by Yan "yyyyyyyan" Orestes.
|
@ -1,3 +0,0 @@
|
||||
Document that in some circumstances :exc:`KeyboardInterrupt` may cause the
|
||||
code to enter an inconsistent state. Provided a sample workaround to avoid
|
||||
it if needed.
|
@ -1,2 +0,0 @@
|
||||
Adjust inaccurate phrasing in :doc:`../extending/newtypes_tutorial` about the
|
||||
``ob_base`` field and the macros used to access its contents.
|
@ -1 +0,0 @@
|
||||
Clarify ``for`` statement execution in its doc.
|
@ -1,2 +0,0 @@
|
||||
Clarified the old Python versions compatiblity note of :func:`binascii.crc32` /
|
||||
:func:`zlib.adler32` / :func:`zlib.crc32` functions.
|
@ -1 +0,0 @@
|
||||
Update PEP URLs to :pep:`676`'s new canonical form.
|
@ -1 +0,0 @@
|
||||
Document internal :mod:`asyncio` API.
|
@ -1,2 +0,0 @@
|
||||
:mod:`re` module, fix a few bugs about capturing group. In rare cases,
|
||||
capturing group gets an incorrect string. Patch by Ma Lin.
|
@ -1 +0,0 @@
|
||||
Add an Barrier object in synchronization primitives of *asyncio* Lib in order to be consistant with Barrier from *threading* and *multiprocessing* libs*
|
@ -1 +0,0 @@
|
||||
Added :class:`ctypes.BigEndianUnion` and :class:`ctypes.LittleEndianUnion` classes, as originally documented in the library docs but not yet implemented.
|
@ -1,3 +0,0 @@
|
||||
Add :meth:`~sqlite3.Connection.serialize` and
|
||||
:meth:`~sqlite3.Connection.deserialize` support to :mod:`sqlite3`. Patch by
|
||||
Erlend E. Aasland.
|
@ -1,3 +0,0 @@
|
||||
Add missing terminated NUL in sockaddr_un's length
|
||||
|
||||
This was potentially observable when using non-abstract AF_UNIX datagram sockets to processes written in another programming language.
|
@ -1,10 +0,0 @@
|
||||
Raise more accurate and :pep:`249` compatible exceptions in :mod:`sqlite3`.
|
||||
|
||||
* Raise :exc:`~sqlite3.InterfaceError` instead of
|
||||
:exc:`~sqlite3.ProgrammingError` for ``SQLITE_MISUSE`` errors.
|
||||
* Don't overwrite :exc:`BufferError` with :exc:`ValueError` when conversion to
|
||||
BLOB fails.
|
||||
* Raise :exc:`~sqlite3.ProgrammingError` instead of :exc:`~sqlite3.Warning` if
|
||||
user tries to :meth:`~sqlite3.Cursor.execute()` more than one SQL statement.
|
||||
* Raise :exc:`~sqlite3.ProgrammingError` instead of :exc:`ValueError` if an SQL
|
||||
query contains null characters.
|
@ -1 +0,0 @@
|
||||
Fix bug where :mod:`unittest` sometimes drops frames from tracebacks of exceptions raised in tests.
|
@ -1,4 +0,0 @@
|
||||
Fix handling of the ``stacklevel`` argument to logging functions in the
|
||||
:mod:`logging` module so that it is consistent accross all logging functions
|
||||
and, as advertised, similar to the ``stacklevel`` argument used in
|
||||
:meth:`~warnings.warn`.
|
@ -1,2 +0,0 @@
|
||||
Fix ``.write()`` method of a member file in ``ZipFile``, when the input data is
|
||||
an object that supports the buffer protocol, the file length may be wrong.
|
@ -1 +0,0 @@
|
||||
Add ``LOCAL_CREDS``, ``LOCAL_CREDS_PERSISTENT`` and ``SCM_CREDS2`` FreeBSD constants to the socket module.
|
@ -1 +0,0 @@
|
||||
Fix inconsistency with uppercase file extensions in :meth:`MimeTypes.guess_type`. Patch by Kumar Aditya.
|
@ -1 +0,0 @@
|
||||
Fix supporting generic aliases in :mod:`pydoc`.
|
@ -1 +0,0 @@
|
||||
Improve the error message when you try to subclass an instance of :class:`typing.NewType`.
|
@ -1 +0,0 @@
|
||||
:meth:`~unittest.TestProgram.usageExit` is marked deprecated, to be removed in 3.13.
|
@ -1 +0,0 @@
|
||||
Add optional parameter *dir_fd* in :func:`shutil.rmtree`.
|
@ -1,3 +0,0 @@
|
||||
Fix a unittest issue where if the command was invoked as ``python -m
|
||||
unittest`` and the filename(s) began with a dot (.), a ``ValueError`` is
|
||||
returned.
|
@ -1 +0,0 @@
|
||||
Add :func:`typing.assert_type`. Patch by Jelle Zijlstra.
|
@ -1 +0,0 @@
|
||||
:mod:`pydoc` now excludes __future__ imports from the module's data items.
|
@ -1,3 +0,0 @@
|
||||
Add :exc:`DeprecationWarning` to :class:`LegacyInterpolation`, deprecated in
|
||||
the docstring since Python 3.2. Will be removed in Python 3.13. Use
|
||||
:class:`BasicInterpolation` or :class:`ExtendedInterpolation` instead.
|
@ -1 +0,0 @@
|
||||
:func:`typing.get_type_hints` now supports evaluating strings as forward references in :ref:`PEP 585 generic aliases <types-genericalias>`.
|
@ -1 +0,0 @@
|
||||
Warnings captured by the logging module are now logged without a format string to prevent systems that group logs by the msg argument from grouping captured warnings together.
|
@ -1 +0,0 @@
|
||||
Allow unpacking types.GenericAlias objects, e.g. ``*tuple[int, str]``.
|
@ -1 +0,0 @@
|
||||
Implement support for PEP 646 in typing.py.
|
@ -1,15 +0,0 @@
|
||||
Define *posix_venv* and *nt_venv*
|
||||
:ref:`sysconfig installation schemes <installation_paths>`
|
||||
to be used for bootstrapping new virtual environments.
|
||||
Add *venv* sysconfig installation scheme to get the appropriate one of the above.
|
||||
The schemes are identical to the pre-existing
|
||||
*posix_prefix* and *nt* install schemes.
|
||||
The :mod:`venv` module now uses the *venv* scheme to create new virtual environments
|
||||
instead of hardcoding the paths depending only on the platform. Downstream
|
||||
Python distributors customizing the *posix_prefix* or *nt* install
|
||||
scheme in a way that is not compatible with the install scheme used in
|
||||
virtual environments are encouraged not to customize the *venv* schemes.
|
||||
When Python itself runs in a virtual environment,
|
||||
:func:`sysconfig.get_default_scheme` and
|
||||
:func:`sysconfig.get_preferred_scheme` with ``key="prefix"`` returns
|
||||
*venv*.
|
@ -1,2 +0,0 @@
|
||||
Brings :class:`ParamSpec` propagation for :class:`GenericAlias` in line with
|
||||
:class:`Concatenate` (and others).
|
@ -1 +0,0 @@
|
||||
No longer require valid typeforms to be callable. This allows :data:`typing.Annotated` to wrap :data:`typing.ParamSpecArgs` and :data:`dataclasses.InitVar`. Patch by Gregory Beauregard.
|
@ -1,4 +0,0 @@
|
||||
Added raw datagram socket functions for asyncio:
|
||||
:meth:`~asyncio.AbstractEventLoop.sock_sendto`,
|
||||
:meth:`~asyncio.AbstractEventLoop.sock_recvfrom` and
|
||||
:meth:`~asyncio.AbstractEventLoop.sock_recvfrom_into`.
|
@ -1,2 +0,0 @@
|
||||
:func:`asyncio.timeout` and :func:`asyncio.timeout_at` context managers
|
||||
added. Patch by Tin Tvrtković and Andrew Svetlov.
|
@ -1 +0,0 @@
|
||||
:pep:`680`, the :mod:`tomllib` module. Adds support for parsing TOML.
|
@ -1 +0,0 @@
|
||||
The :mod:`pwd` module is now optional. :func:`os.path.expanduser` returns the path when the :mod:`pwd` module is not available.
|
@ -1 +0,0 @@
|
||||
Update bundled libexpat to 2.4.7
|
@ -1,2 +0,0 @@
|
||||
The :mod:`signal` module no longer assumes that :const:`~signal.SIG_IGN` and
|
||||
:const:`~signal.SIG_DFL` are small int singletons.
|
@ -1,2 +0,0 @@
|
||||
Expose :class:`asyncio.base_events.Server` as :class:`asyncio.Server`. Patch
|
||||
by Stefan Zabka.
|
@ -1 +0,0 @@
|
||||
The :data:`math.nan` value is now always available. Patch by Victor Stinner.
|
@ -1,5 +0,0 @@
|
||||
:mod:`faulthandler`: On Linux 5.14 and newer, dynamically determine size of
|
||||
signal handler stack size CPython allocates using ``getauxval(AT_MINSIGSTKSZ)``.
|
||||
This changes allows for Python extension's request to Linux kernel to use
|
||||
AMX_TILE instruction set on Sapphire Rapids Xeon processor to succeed,
|
||||
unblocking use of the ISA in frameworks.
|
@ -1 +0,0 @@
|
||||
Upgrade pip wheel bundled with ensurepip (pip 22.0.4)
|
@ -1 +0,0 @@
|
||||
Add ``os.sysconf_names['SC_MINSIGSTKSZ']``.
|
@ -1,2 +0,0 @@
|
||||
``typing.get_args(typing.Tuple[()])`` now returns ``()`` instead of
|
||||
``((),)``.
|
@ -1,2 +0,0 @@
|
||||
Accept explicit contextvars.Context in :func:`asyncio.create_task` and
|
||||
:meth:`asyncio.loop.create_task`.
|
@ -1,2 +0,0 @@
|
||||
Deprecate missing :meth:`asyncio.Task.set_name` for third-party task
|
||||
implementations, schedule making it mandatory in Python 3.13.
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user