# -*- 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'
' 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'
' 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 '
'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'
'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'
'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'
'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'
' 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'
'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'
'\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'
'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'
- '\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'
+ ' 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'
+ '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'
- '\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',
+ '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" 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'
'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'
--- /dev/null
+.. bpo: 47212
+.. date: 2022-04-05-11-29-21
+.. nonce: leF4pz
+.. release date: 2022-04-05
+.. section: Core and Builtins
+
+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.
+
+..
+
+.. bpo: 47186
+.. date: 2022-04-04-17-41-10
+.. nonce: aQWoSh
+.. section: Core and Builtins
+
+Replace :opcode:`JUMP_IF_NOT_EG_MATCH` by :opcode:`CHECK_EG_MATCH` + jump.
+
+..
+
+.. bpo: 47176
+.. date: 2022-04-02-14-32-21
+.. nonce: kTygYI
+.. section: Core and Builtins
+
+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.
+
+..
+
+.. bpo: 47186
+.. date: 2022-04-01-11-53-59
+.. nonce: RBCPk8
+.. section: Core and Builtins
+
+Replace :opcode:`JUMP_IF_NOT_EXC_MATCH` by :opcode:`CHECK_EXC_MATCH` + jump.
+
+..
+
+.. bpo: 47120
+.. date: 2022-03-31-21-43-57
+.. nonce: NgxQbA
+.. section: Core and Builtins
+
+Replace the absolute jump opcode :opcode:`JUMP_NO_INTERRUPT` by the relative
+:opcode:`JUMP_BACKWARD_NO_INTERRUPT`.
+
+..
+
+.. bpo: 46841
+.. date: 2022-03-31-15-57-42
+.. nonce: U-25Z6
+.. section: Core and Builtins
+
+Avoid unnecessary allocations when comparing code objects.
+
+..
+
+.. bpo: 47182
+.. date: 2022-03-31-15-37-02
+.. nonce: e_4SsC
+.. section: Core and Builtins
+
+Fix a crash when using a named unicode character like ``"\N{digit nine}"``
+after the main interpreter has been initialized a second time.
+
+..
+
+.. bpo: 47162
+.. date: 2022-03-30-13-13-25
+.. nonce: yDJMUm
+.. section: Core and Builtins
+
+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.
+
+..
+
+.. bpo: 46775
+.. date: 2022-03-30-02-36-25
+.. nonce: e3Oxqf
+.. section: Core and Builtins
+
+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.
+
+..
+
+.. bpo: 47129
+.. date: 2022-03-26-16-35-57
+.. nonce: hDg2Vt
+.. section: Core and Builtins
+
+Improve error messages in f-string syntax errors concerning empty
+expressions.
+
+..
+
+.. bpo: 47117
+.. date: 2022-03-26-15-45-57
+.. nonce: 60W6GQ
+.. section: Core and Builtins
+
+Fix a crash if we fail to decode characters in interactive mode if the
+tokenizer buffers are uninitialized. Patch by Pablo Galindo.
+
+..
+
+.. bpo: 47127
+.. date: 2022-03-26-12-21-53
+.. nonce: Mh86RB
+.. section: Core and Builtins
+
+Speed up calls to c functions with keyword arguments by 25% with
+specialization. Patch by Kumar Aditya.
+
+..
+
+.. bpo: 47120
+.. date: 2022-03-25-21-51-10
+.. nonce: 9YJ-Xw
+.. section: Core and Builtins
+
+Replaced :opcode:`JUMP_ABSOLUTE` by the relative jump
+:opcode:`JUMP_BACKWARD`.
+
+..
+
+.. bpo: 42197
+.. date: 2022-03-22-15-12-28
+.. nonce: SwrrFO
+.. section: Core and Builtins
+
+: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`.
+
+..
+
+.. bpo: 47070
+.. date: 2022-03-19-21-50-59
+.. nonce: wPcsQh
+.. section: Core and Builtins
+
+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``.
+
+..
+
+.. bpo: 47053
+.. date: 2022-03-17-22-47-29
+.. nonce: QAXk8Q
+.. section: Core and Builtins
+
+Reduce de-optimization in the specialized ``BINARY_OP_INPLACE_ADD_UNICODE``
+opcode.
+
+..
+
+.. bpo: 47045
+.. date: 2022-03-17-16-25-57
+.. nonce: xQgHul
+.. section: Core and Builtins
+
+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.
+
+..
+
+.. bpo: 46968
+.. date: 2022-03-17-14-22-23
+.. nonce: 4gz4NA
+.. section: Core and Builtins
+
+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
+
+..
+
+.. bpo: 46329
+.. date: 2022-03-16-12-19-25
+.. nonce: 9oS0HT
+.. section: Core and Builtins
+
+Use low bit of ``LOAD_GLOBAL`` to indicate whether to push a ``NULL`` before
+the global. Helps streamline the call sequence a bit.
+
+..
+
+.. bpo: 46841
+.. date: 2022-03-16-11-05-35
+.. nonce: yUoIHg
+.. section: Core and Builtins
+
+Quicken bytecode in-place by storing it as part of the corresponding
+``PyCodeObject``.
+
+..
+
+.. bpo: 47012
+.. date: 2022-03-14-11-15-11
+.. nonce: 5L6NoE
+.. section: Core and Builtins
+
+Speed up iteration of :class:`bytes` and :class:`bytearray` by 30%. Patch by
+Kumar Aditya.
+
+..
+
+.. bpo: 47009
+.. date: 2022-03-14-09-45-10
+.. nonce: ZI05b5
+.. section: Core and Builtins
+
+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.
+
+..
+
+.. bpo: 47005
+.. date: 2022-03-13-21-04-20
+.. nonce: OHBfCc
+.. section: Core and Builtins
+
+Improve performance of ``bytearray_repeat`` and ``bytearray_irepeat`` by
+reducing the number of invocations of ``memcpy``.
+
+..
+
+.. bpo: 46829
+.. date: 2022-03-12-21-07-21
+.. nonce: cpGoPV
+.. section: Core and Builtins
+
+Deprecate passing a message into :meth:`asyncio.Future.cancel` and
+:meth:`asyncio.Task.cancel`
+
+..
+
+.. bpo: 46993
+.. date: 2022-03-12-09-44-31
+.. nonce: -13hGo
+.. section: Core and Builtins
+
+Speed up :class:`bytearray` creation from :class:`list` and :class:`tuple`
+by 40%. Patch by Kumar Aditya.
+
+..
+
+.. bpo: 39829
+.. date: 2022-03-11-09-39-01
+.. nonce: mlW3Su
+.. section: Core and Builtins
+
+Removed the ``__len__()`` call when initializing a list and moved
+initializing to ``list_extend``. Patch by Jeremiah Pascual.
+
+..
+
+.. bpo: 46944
+.. date: 2022-03-08-10-50-42
+.. nonce: cnaIK3
+.. section: Core and Builtins
+
+Speed up throwing exception in generator with :const:`METH_FASTCALL` calling
+convention. Patch by Kumar Aditya.
+
+..
+
+.. bpo: 46841
+.. date: 2022-03-07-15-54-39
+.. nonce: 7wG92r
+.. section: Core and Builtins
+
+Modify :opcode:`STORE_SUBSCR` to use an inline cache entry (rather than its
+oparg) as an adaptive counter.
+
+..
+
+.. bpo: 46841
+.. date: 2022-03-06-10-37-36
+.. nonce: O12Pba
+.. section: Core and Builtins
+
+Use inline caching for :opcode:`PRECALL` and :opcode:`CALL`, and remove the
+internal machinery for managing the (now unused) non-inline caches.
+
+..
+
+.. bpo: 46881
+.. date: 2022-03-03-09-08-17
+.. nonce: ckD4tT
+.. section: Core and Builtins
+
+Statically allocate and initialize the latin1 characters.
+
+..
+
+.. bpo: 46838
+.. date: 2022-02-25-22-42-30
+.. nonce: RB6kEy
+.. section: Core and Builtins
+
+Improve syntax errors for incorrect function definitions. Patch by Pablo
+Galindo
+
+..
+
+.. bpo: 43721
+.. date: 2022-02-01-10-05-27
+.. nonce: -1XAIo
+.. section: Core and Builtins
+
+Fix docstrings of :attr:`~property.getter`, :attr:`~property.setter`, and
+:attr:`~property.deleter` to clarify that they create a new copy of the
+property.
+
+..
+
+.. bpo: 43224
+.. date: 2022-01-20-16-48-09
+.. nonce: WDihrT
+.. section: Core and Builtins
+
+Make grammar changes required for PEP 646.
+
+..
+
+.. bpo: 47208
+.. date: 2022-04-04-08-54-31
+.. nonce: cOh9xZ
+.. section: Library
+
+Allow vendors to override :const:`CTYPES_MAX_ARGCOUNT`.
+
+..
+
+.. bpo: 23689
+.. date: 2022-04-03-13-19-08
+.. nonce: TFSc3E
+.. section: Library
+
+:mod:`re` module: fix memory leak when a match is terminated by a signal or
+memory allocation failure. Patch by Ma Lin.
+
+..
+
+.. bpo: 47167
+.. date: 2022-03-30-18-35-50
+.. nonce: nCNHsB
+.. section: Library
+
+Allow overriding a future compliance check in :class:`asyncio.Task`.
+
+..
+
+.. bpo: 47151
+.. date: 2022-03-30-01-17-43
+.. nonce: z-nQkR
+.. section: Library
+
+When subprocess tries to use vfork, it now falls back to fork if vfork
+returns an error. This allows use in situations where vfork isn't allowed by
+the OS kernel.
+
+..
+
+.. bpo: 47152
+.. date: 2022-03-29-19-14-53
+.. nonce: 5rl5ZK
+.. section: Library
+
+Convert the :mod:`re` module into a package. Deprecate modules
+``sre_compile``, ``sre_constants`` and ``sre_parse``.
+
+..
+
+.. bpo: 4833
+.. date: 2022-03-28-20-16-37
+.. nonce: 2vSUE5
+.. section: Library
+
+Add :meth:`ZipFile.mkdir`
+
+..
+
+.. bpo: 27929
+.. date: 2022-03-28-13-35-50
+.. nonce: j5mAmV
+.. section: Library
+
+Fix :meth:`asyncio.loop.sock_connect` to only resolve names for
+:const:`socket.AF_INET` or :const:`socket.AF_INET6` families. Resolution may
+not make sense for other families, like :const:`socket.AF_BLUETOOTH` and
+:const:`socket.AF_UNIX`.
+
+..
+
+.. bpo: 14265
+.. date: 2022-03-27-10-41-24
+.. nonce: OBMlAi
+.. section: Library
+
+Adds the fully qualified test name to unittest output
+
+..
+
+.. bpo: 47061
+.. date: 2022-03-26-13-14-43
+.. nonce: QLxbC6
+.. section: Library
+
+Deprecate the aifc module.
+
+..
+
+.. bpo: 39622
+.. date: 2022-03-25-01-27-25
+.. nonce: ieBIMp
+.. section: Library
+
+Handle Ctrl+C in asyncio programs to interrupt the main task.
+
+..
+
+.. bpo: 47101
+.. date: 2022-03-23-15-31-02
+.. nonce: rVSld-
+.. section: Library
+
+:const:`hashlib.algorithms_available` now lists only algorithms that are
+provided by activated crypto providers on OpenSSL 3.0. Legacy algorithms are
+not listed unless the legacy provider has been loaded into the default OSSL
+context.
+
+..
+
+.. bpo: 47099
+.. date: 2022-03-23-14-16-38
+.. nonce: 2raait
+.. section: Library
+
+All :exc:`URLError` exception messages raised in
+:class:`urllib.request.URLopener` now contain a colon between ``ftp error``
+and the rest of the message. Previously,
+:func:`~urllib.request.URLopener.open_ftp` missed the colon. Patch by Oleg
+Iarygin.
+
+..
+
+.. bpo: 47099
+.. date: 2022-03-23-13-55-41
+.. nonce: P6quRP
+.. section: Library
+
+Exception chaining is changed from
+:func:`Exception.with_traceback`/:func:`sys.exc_info` to :pep:`3134`. Patch
+by Oleg Iarygin.
+
+..
+
+.. bpo: 47095
+.. date: 2022-03-23-12-07-26
+.. nonce: P3YTrh
+.. section: Library
+
+:mod:`hashlib`'s internal ``_blake2`` module now prefers ``libb2`` from
+https://www.blake2.net/ over Python's vendored copy of blake2.
+
+..
+
+.. bpo: 47098
+.. date: 2022-03-23-10-07-41
+.. nonce: 7AN_qp
+.. section: Library
+
+The Keccak Code Package for :mod:`hashlib`'s internal ``_sha3`` module has
+been replaced with tiny_sha3. The module is used as fallback when Python is
+built without OpenSSL.
+
+..
+
+.. bpo: 47088
+.. date: 2022-03-22-19-18-31
+.. nonce: JM1kNI
+.. section: Library
+
+Implement :data:`typing.LiteralString`, part of :pep:`675`. Patch by Jelle
+Zijlstra.
+
+..
+
+.. bpo: 42885
+.. date: 2022-03-21-08-32-19
+.. nonce: LCnTTp
+.. section: Library
+
+Optimize :func:`re.search`, :func:`re.split`, :func:`re.findall`,
+:func:`re.finditer` and :func:`re.sub` for regular expressions starting with
+``\A`` or ``^``.
+
+..
+
+.. bpo: 23691
+.. date: 2022-03-20-22-13-24
+.. nonce: Nc2TrW
+.. section: Library
+
+Protect the :func:`re.finditer` iterator from re-entering.
+
+..
+
+.. bpo: 47067
+.. date: 2022-03-20-17-15-56
+.. nonce: XXLnje
+.. section: Library
+
+Optimize calling ``GenericAlias`` objects by using :pep:`590` ``vectorcall``
+and by replacing ``PyObject_SetAttrString`` with ``PyObject_SetAttr``.
+
+..
+
+.. bpo: 28080
+.. date: 2022-03-20-15-54-41
+.. nonce: kn35Vk
+.. section: Library
+
+Add the *metadata_encoding* parameter in the :class:`zipfile.ZipFile`
+constructor and the ``--metadata-encoding`` option in the :mod:`zipfile` CLI
+to allow reading zipfiles using non-standard codecs to encode the filenames
+within the archive.
+
+..
+
+.. bpo: 47000
+.. date: 2022-03-20-13-00-08
+.. nonce: p8HpG0
+.. section: Library
+
+Make :func:`io.text_encoding` returns "utf-8" when UTF-8 mode is enabled.
+
+..
+
+.. bpo: 42369
+.. date: 2022-03-19-19-56-04
+.. nonce: Ok828t
+.. section: Library
+
+Fix thread safety of :meth:`zipfile._SharedFile.tell` to avoid a
+"zipfile.BadZipFile: Bad CRC-32 for file" exception when reading a
+:class:`ZipFile` from multiple threads.
+
+..
+
+.. bpo: 38256
+.. date: 2022-03-19-15-54-41
+.. nonce: FoMbjE
+.. section: Library
+
+Fix :func:`binascii.crc32` when it is compiled to use zlib'c crc32 to work
+properly on inputs 4+GiB in length instead of returning the wrong result.
+The workaround prior to this was to always feed the function data in
+increments smaller than 4GiB or to just call the zlib module function.
+
+We also have :func:`binascii.crc32` release the GIL when computing on larger
+inputs as :func:`zlib.crc32` and :mod:`hashlib` do.
+
+This also boosts performance on Windows as it now uses the zlib crc32
+implementation for :func:`binascii.crc32` for a 2-3x speedup.
+
+That the stdlib has a crc32 API in two modules is a known historical oddity.
+This moves us closer to a single implementation behind them.
+
+..
+
+.. bpo: 47066
+.. date: 2022-03-19-14-12-23
+.. nonce: we3YFx
+.. section: Library
+
+Global inline flags (e.g. ``(?i)``) can now only be used at the start of the
+regular expressions. Using them not at the start of expression was
+deprecated since Python 3.6.
+
+..
+
+.. bpo: 39394
+.. date: 2022-03-19-13-38-29
+.. nonce: 7j6WL6
+.. section: Library
+
+A warning about inline flags not at the start of the regular expression now
+contains the position of the flag.
+
+..
+
+.. bpo: 433030
+.. date: 2022-03-19-08-42-57
+.. nonce: UTwRX7
+.. section: Library
+
+Add support of atomic grouping (``(?>...)``) and possessive quantifiers
+(``*+``, ``++``, ``?+``, ``{m,n}+``) in :mod:`regular expressions <re>`.
+
+..
+
+.. bpo: 47062
+.. date: 2022-03-18-22-46-18
+.. nonce: RNc99_
+.. section: Library
+
+Implement :class:`asyncio.Runner` context manager.
+
+..
+
+.. bpo: 46382
+.. date: 2022-03-18-17-25-57
+.. nonce: zQUJ66
+.. section: Library
+
+:func:`~dataclasses.dataclass` ``slots=True`` now correctly omits slots
+already defined in base classes. Patch by Arie Bovenberg.
+
+..
+
+.. bpo: 47057
+.. date: 2022-03-18-14-22-38
+.. nonce: n-IHbt
+.. section: Library
+
+Use FASTCALL convention for ``FutureIter.throw()``
+
+..
+
+.. bpo: 47061
+.. date: 2022-03-18-13-30-40
+.. nonce: etLHK5
+.. section: Library
+
+Deprecate the various modules listed by :pep:`594`:
+
+aifc, asynchat, asyncore, audioop, cgi, cgitb, chunk, crypt, imghdr, msilib,
+nntplib, nis, ossaudiodev, pipes, smtpd, sndhdr, spwd, sunau, telnetlib, uu,
+xdrlib
+
+..
+
+.. bpo: 34790
+.. date: 2022-03-17-19-38-40
+.. nonce: zQIiVJ
+.. section: Library
+
+Remove passing coroutine objects to :func:`asyncio.wait`.
+
+..
+
+.. bpo: 47039
+.. date: 2022-03-17-01-54-13
+.. nonce: 0Yxv0K
+.. section: Library
+
+Normalize ``repr()`` of asyncio future and task objects.
+
+..
+
+.. bpo: 2604
+.. date: 2022-03-16-18-25-19
+.. nonce: jeopdL
+.. section: Library
+
+Fix bug where doctests using globals would fail when run multiple times.
+
+..
+
+.. bpo: 45150
+.. date: 2022-03-16-11-52-52
+.. nonce: kYbIME
+.. section: Library
+
+Add :func:`hashlib.file_digest` helper for efficient hashing of file object.
+
+..
+
+.. bpo: 34861
+.. date: 2022-03-16-08-49-12
+.. nonce: p8ugVg
+.. section: Library
+
+Made cumtime the default sorting key for cProfile
+
+..
+
+.. bpo: 45997
+.. date: 2022-03-15-18-32-12
+.. nonce: 4n2aVU
+.. section: Library
+
+Fix :class:`asyncio.Semaphore` re-aquiring FIFO order.
+
+..
+
+.. bpo: 47022
+.. date: 2022-03-15-09-29-52
+.. nonce: uaEDcI
+.. section: Library
+
+The :mod:`asynchat`, :mod:`asyncore` and :mod:`smtpd` modules have been
+deprecated since at least Python 3.6. Their documentation and deprecation
+warnings and have now been updated to note they will removed in Python 3.12
+(:pep:`594`).
+
+..
+
+.. bpo: 43253
+.. date: 2022-03-15-07-53-45
+.. nonce: rjdLFj
+.. section: Library
+
+Fix a crash when closing transports where the underlying socket handle is
+already invalid on the Proactor event loop.
+
+..
+
+.. bpo: 40280
+.. date: 2022-03-14-09-26-42
+.. nonce: 2-k8TV
+.. section: Library
+
+:func:`select.select` now passes ``NULL`` to ``select`` for each empty
+fdset.
+
+..
+
+.. bpo: 47004
+.. date: 2022-03-13-15-04-05
+.. nonce: SyYpxd
+.. section: Library
+
+Apply bugfixes from importlib_metadata 4.11.3, including bugfix for
+EntryPoint.extras, which was returning match objects and not the extras
+strings.
+
+..
+
+.. bpo: 46998
+.. date: 2022-03-13-08-52-58
+.. nonce: cHh-9O
+.. section: Library
+
+Allow subclassing of :class:`typing.Any`. Patch by Shantanu Jain.
+
+..
+
+.. bpo: 46995
+.. date: 2022-03-12-13-50-42
+.. nonce: 2kdNDg
+.. section: Library
+
+Deprecate missing :meth:`asyncio.Task.set_name` for third-party task
+implementations, schedule making it mandatory in Python 3.13.
+
+..
+
+.. bpo: 46994
+.. date: 2022-03-12-12-34-13
+.. nonce: d7hPdz
+.. section: Library
+
+Accept explicit contextvars.Context in :func:`asyncio.create_task` and
+:meth:`asyncio.loop.create_task`.
+
+..
+
+.. bpo: 46981
+.. date: 2022-03-12-11-30-42
+.. nonce: ltWCxH
+.. section: Library
+
+``typing.get_args(typing.Tuple[()])`` now returns ``()`` instead of
+``((),)``.
+
+..
+
+.. bpo: 46968
+.. date: 2022-03-11-17-56-25
+.. nonce: pPVvNo
+.. section: Library
+
+Add ``os.sysconf_names['SC_MINSIGSTKSZ']``.
+
+..
+
+.. bpo: 46985
+.. date: 2022-03-11-13-34-16
+.. nonce: BgoMr2
+.. section: Library
+
+Upgrade pip wheel bundled with ensurepip (pip 22.0.4)
+
+..
+
+.. bpo: 46968
+.. date: 2022-03-10-14-51-11
+.. nonce: ym2QxL
+.. section: Library
+
+: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.
+
+..
+
+.. bpo: 46917
+.. date: 2022-03-10-14-47-16
+.. nonce: s19zcy
+.. section: Library
+
+The :data:`math.nan` value is now always available. Patch by Victor Stinner.
+
+..
+
+.. bpo: 46955
+.. date: 2022-03-08-22-41-59
+.. nonce: IOoonN
+.. section: Library
+
+Expose :class:`asyncio.base_events.Server` as :class:`asyncio.Server`. Patch
+by Stefan Zabka.
+
+..
+
+.. bpo: 23325
+.. date: 2022-03-08-11-34-06
+.. nonce: 3VQnfo
+.. section: Library
+
+The :mod:`signal` module no longer assumes that :const:`~signal.SIG_IGN` and
+:const:`~signal.SIG_DFL` are small int singletons.
+
+..
+
+.. bpo: 46932
+.. date: 2022-03-07-20-20-34
+.. nonce: xbarAs
+.. section: Library
+
+Update bundled libexpat to 2.4.7
+
+..
+
+.. bpo: 46933
+.. date: 2022-03-05-21-51-31
+.. nonce: 6yzWtb
+.. section: Library
+
+The :mod:`pwd` module is now optional. :func:`os.path.expanduser` returns
+the path when the :mod:`pwd` module is not available.
+
+..
+
+.. bpo: 40059
+.. date: 2022-02-23-01-11-08
+.. nonce: Iwc9UH
+.. section: Library
+
+:pep:`680`, the :mod:`tomllib` module. Adds support for parsing TOML.
+
+..
+
+.. bpo: 464471
+.. date: 2022-02-21-11-41-23
+.. nonce: fL06TV
+.. section: Library
+
+:func:`asyncio.timeout` and :func:`asyncio.timeout_at` context managers
+added. Patch by Tin Tvrtković and Andrew Svetlov.
+
+..
+
+.. bpo: 46805
+.. date: 2022-02-20-23-03-32
+.. nonce: HZ8xWG
+.. section: Library
+
+Added raw datagram socket functions for asyncio:
+:meth:`~asyncio.AbstractEventLoop.sock_sendto`,
+:meth:`~asyncio.AbstractEventLoop.sock_recvfrom` and
+:meth:`~asyncio.AbstractEventLoop.sock_recvfrom_into`.
+
+..
+
+.. bpo: 46644
+.. date: 2022-02-05-22-14-44
+.. nonce: P--1Cz
+.. section: Library
+
+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.
+
+..
+
+.. bpo: 46581
+.. date: 2022-02-01-11-32-47
+.. nonce: t7Zw65
+.. section: Library
+
+Brings :class:`ParamSpec` propagation for :class:`GenericAlias` in line with
+:class:`Concatenate` (and others).
+
+..
+
+.. bpo: 45413
+.. date: 2022-01-31-15-19-38
+.. nonce: 1vaS0V
+.. section: Library
+
+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*.
+
+..
+
+.. bpo: 43224
+.. date: 2022-01-30-22-05-53
+.. nonce: E-eT22
+.. section: Library
+
+Implement support for PEP 646 in typing.py.
+
+..
+
+.. bpo: 43224
+.. date: 2022-01-30-20-32-40
+.. nonce: zqrQsj
+.. section: Library
+
+Allow unpacking types.GenericAlias objects, e.g. ``*tuple[int, str]``.
+
+..
+
+.. bpo: 46557
+.. date: 2022-01-28-01-23-25
+.. nonce: XSbhyQ
+.. section: Library
+
+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.
+
+..
+
+.. bpo: 41370
+.. date: 2022-01-27-11-54-16
+.. nonce: gYxCPE
+.. section: Library
+
+:func:`typing.get_type_hints` now supports evaluating strings as forward
+references in :ref:`PEP 585 generic aliases <types-genericalias>`.
+
+..
+
+.. bpo: 46607
+.. date: 2022-01-26-18-30-34
+.. nonce: xnhT4a
+.. section: Library
+
+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.
+
+..
+
+.. bpo: 26120
+.. date: 2022-01-25-15-45-04
+.. nonce: YzrBMO
+.. section: Library
+
+:mod:`pydoc` now excludes __future__ imports from the module's data items.
+
+..
+
+.. bpo: 46480
+.. date: 2022-01-23-16-33-07
+.. nonce: E4jHlh
+.. section: Library
+
+Add :func:`typing.assert_type`. Patch by Jelle Zijlstra.
+
+..
+
+.. bpo: 46421
+.. date: 2022-01-18-01-29-38
+.. nonce: 9LdmNr
+.. section: Library
+
+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.
+
+..
+
+.. bpo: 46245
+.. date: 2022-01-03-20-12-14
+.. nonce: 3w4RlA
+.. section: Library
+
+Add optional parameter *dir_fd* in :func:`shutil.rmtree`.
+
+..
+
+.. bpo: 22859
+.. date: 2021-12-29-19-37-49
+.. nonce: AixHW7
+.. section: Library
+
+:meth:`~unittest.TestProgram.usageExit` is marked deprecated, to be removed
+in 3.13.
+
+..
+
+.. bpo: 46170
+.. date: 2021-12-26-14-45-51
+.. nonce: AQ7kSM
+.. section: Library
+
+Improve the error message when you try to subclass an instance of
+:class:`typing.NewType`.
+
+..
+
+.. bpo: 40296
+.. date: 2021-12-25-14-13-14
+.. nonce: p0YVGB
+.. section: Library
+
+Fix supporting generic aliases in :mod:`pydoc`.
+
+..
+
+.. bpo: 20392
+.. date: 2021-12-22-12-02-27
+.. nonce: CLAFIp
+.. section: Library
+
+Fix inconsistency with uppercase file extensions in
+:meth:`MimeTypes.guess_type`. Patch by Kumar Aditya.
+
+..
+
+.. bpo: 46030
+.. date: 2021-12-10-07-07-47
+.. nonce: UN349J
+.. section: Library
+
+Add ``LOCAL_CREDS``, ``LOCAL_CREDS_PERSISTENT`` and ``SCM_CREDS2`` FreeBSD
+constants to the socket module.
+
+..
+
+.. bpo: 44439
+.. date: 2021-11-08-20-27-41
+.. nonce: I_8qro
+.. section: Library
+
+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.
+
+..
+
+.. bpo: 45171
+.. date: 2021-09-11-16-06-54
+.. nonce: ec597j
+.. section: Library
+
+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`.
+
+..
+
+.. bpo: 24959
+.. date: 2021-09-06-15-46-53
+.. nonce: UVFgiO
+.. section: Library
+
+Fix bug where :mod:`unittest` sometimes drops frames from tracebacks of
+exceptions raised in tests.
+
+..
+
+.. bpo: 44859
+.. date: 2021-08-10-00-05-53
+.. nonce: 9e9_3V
+.. section: Library
+
+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.
+
+..
+
+.. bpo: 44493
+.. date: 2021-07-26-10-46-49
+.. nonce: xp3CRH
+.. section: Library
+
+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.
+
+..
+
+.. bpo: 41930
+.. date: 2021-06-17-00-02-58
+.. nonce: JS6fsd
+.. section: Library
+
+Add :meth:`~sqlite3.Connection.serialize` and
+:meth:`~sqlite3.Connection.deserialize` support to :mod:`sqlite3`. Patch by
+Erlend E. Aasland.
+
+..
+
+.. bpo: 33178
+.. date: 2021-04-20-16-48-07
+.. nonce: kSnWwb
+.. section: Library
+
+Added :class:`ctypes.BigEndianUnion` and :class:`ctypes.LittleEndianUnion`
+classes, as originally documented in the library docs but not yet
+implemented.
+
+..
+
+.. bpo: 43352
+.. date: 2021-03-31-15-22-45
+.. nonce: nSjMuE
+.. section: Library
+
+Add an Barrier object in synchronization primitives of *asyncio* Lib in
+order to be consistant with Barrier from *threading* and *multiprocessing*
+libs*
+
+..
+
+.. bpo: 35859
+.. date: 2019-03-14-09-08-25
+.. nonce: 8lFdLe
+.. section: Library
+
+:mod:`re` module, fix a few bugs about capturing group. In rare cases,
+capturing group gets an incorrect string. Patch by Ma Lin.
+
+..
+
+.. bpo: 45099
+.. date: 2022-03-29-13-25-49
+.. nonce: dagdhx
+.. section: Documentation
+
+Document internal :mod:`asyncio` API.
+
+..
+
+.. bpo: 47126
+.. date: 2022-03-26-12-20-16
+.. nonce: p6_Ovm
+.. section: Documentation
+
+Update PEP URLs to :pep:`676`'s new canonical form.
+
+..
+
+.. bpo: 47040
+.. date: 2022-03-17-13-35-28
+.. nonce: 4Dn48U
+.. section: Documentation
+
+Clarified the old Python versions compatiblity note of
+:func:`binascii.crc32` / :func:`zlib.adler32` / :func:`zlib.crc32`
+functions.
+
+..
+
+.. bpo: 46033
+.. date: 2022-01-03-18-50-39
+.. nonce: 7WeF0f
+.. section: Documentation
+
+Clarify ``for`` statement execution in its doc.
+
+..
+
+.. bpo: 45790
+.. date: 2021-11-12-11-03-55
+.. nonce: 6yuhe8
+.. section: Documentation
+
+Adjust inaccurate phrasing in :doc:`../extending/newtypes_tutorial` about
+the ``ob_base`` field and the macros used to access its contents.
+
+..
+
+.. bpo: 42340
+.. date: 2020-11-12-21-26-31
+.. nonce: apumUL
+.. section: Documentation
+
+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.
+
+..
+
+.. bpo: 41233
+.. date: 2020-07-07-22-54-51
+.. nonce: lyUJ8L
+.. section: Documentation
+
+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.
+
+..
+
+.. bpo: 47205
+.. date: 2022-04-03-14-38-21
+.. nonce: hbbTnh
+.. section: Tests
+
+Skip test for :func:`~os.sched_getaffinity` and
+:func:`~os.sched_setaffinity` error case on FreeBSD.
+
+..
+
+.. bpo: 46126
+.. date: 2022-03-26-11-41-19
+.. nonce: q14Ioy
+.. section: Tests
+
+Restore 'descriptions' when running tests internally.
+
+..
+
+.. bpo: 47104
+.. date: 2022-03-23-22-45-51
+.. nonce: _esUq8
+.. section: Tests
+
+Rewrite :func:`asyncio.to_thread` tests to use
+:class:`unittest.IsolatedAsyncioTestCase`.
+
+..
+
+.. bpo: 40280
+.. date: 2022-03-19-10-25-04
+.. nonce: wBRSel
+.. section: Tests
+
+The test suite is now passing on the Emscripten platform. All fork, socket,
+and subprocess-based tests are skipped.
+
+..
+
+.. bpo: 47037
+.. date: 2022-03-16-21-29-30
+.. nonce: xcrLpJ
+.. section: Tests
+
+Skip ``strftime("%4Y")`` feature test on Windows. It can cause an assertion
+error in debug builds.
+
+..
+
+.. bpo: 46587
+.. date: 2022-03-14-17-10-35
+.. nonce: ASDsJX
+.. section: Tests
+
+Skip tests if platform's ``strftime`` does not support non-portable glibc
+extensions.
+
+..
+
+.. bpo: 47015
+.. date: 2022-03-13-23-43-40
+.. nonce: FjmCsz
+.. section: Tests
+
+A test case for :func:`os.sendfile` is converted from deprecated
+:mod:`asyncore` (see :pep:`594`) to :mod:`asyncio`. Patch by Oleg Iarygin.
+
+..
+
+.. bpo: 40280
+.. date: 2022-04-02-17-52-38
+.. nonce: U8Dd0H
+.. section: Build
+
+Add configure option :option:`--enable-wasm-dynamic-linking` to enable
+``dlopen`` and MAIN_MODULE / SIDE_MODULE on ``wasm32-emscripten``.
+
+..
+
+.. bpo: 46023
+.. date: 2022-04-01-16-12-53
+.. nonce: 1Z1OcC
+.. section: Build
+
+``makesetup`` now detects and skips all duplicated module definitions. The
+first entry wins.
+
+..
+
+.. bpo: 40280
+.. date: 2022-03-24-12-12-35
+.. nonce: eAQWrM
+.. section: Build
+
+Add SOABI ``wasm32-emscripten`` for Emscripten and ``wasm32-wasi`` for WASI
+on 32bit WASM as well as ``wasm64`` counter parts.
+
+..
+
+.. bpo: 47032
+.. date: 2022-03-16-00-37-40
+.. nonce: tsS9KE
+.. section: Build
+
+Ensure Windows install builds fail correctly with a non-zero exit code when
+part of the build fails.
+
+..
+
+.. bpo: 47024
+.. date: 2022-03-15-09-28-55
+.. nonce: t7-dcu
+.. section: Build
+
+Update OpenSSL to 1.1.1n for macOS installers and all Windows builds.
+
+..
+
+.. bpo: 46996
+.. date: 2022-03-12-18-09-31
+.. nonce: SygzVz
+.. section: Build
+
+The :mod:`tkinter` package now requires Tcl/Tk version 8.5.12 or newer.
+
+..
+
+.. bpo: 46973
+.. date: 2022-03-10-14-30-39
+.. nonce: _LEvnc
+.. section: Build
+
+Add ``regen-configure`` make target to regenerate configure script with
+Christian's container image ``quay.io/tiran/cpython_autoconf:269``.
+
+..
+
+.. bpo: 46917
+.. date: 2022-03-10-09-37-05
+.. nonce: fry4aK
+.. section: Build
+
+Building Python now requires support of IEEE 754 floating point numbers.
+Patch by Victor Stinner.
+
+..
+
+.. bpo: 45774
+.. date: 2022-03-04-21-24-02
+.. nonce: 9AhC0r
+.. section: Build
+
+``configure`` now verifies that all SQLite C APIs needed for the
+:mod:`sqlite3` extension module are found.
+
+..
+
+.. bpo: 47194
+.. date: 2022-04-01-14-57-40
+.. nonce: IB0XL4
+.. section: Windows
+
+Update ``zlib`` to v1.2.12 to resolve CVE-2018-25032.
+
+..
+
+.. bpo: 47171
+.. date: 2022-03-30-19-55-00
+.. nonce: MbqCWn
+.. section: Windows
+
+Enables installing the :file:`py.exe` launcher on Windows ARM64.
+
+..
+
+.. bpo: 46566
+.. date: 2022-03-23-12-51-46
+.. nonce: 4x4a7e
+.. section: Windows
+
+Upgraded :ref:`launcher` to support a new ``-V:company/tag`` argument for
+full :pep:`514` support and to detect ARM64 installs. The ``-64`` suffix on
+arguments is deprecated, but still selects any non-32-bit install. Setting
+:envvar:`PYLAUNCHER_ALLOW_INSTALL` and specifying a version that is not
+installed will attempt to install the requested version from the Microsoft
+Store.
+
+..
+
+.. bpo: 47086
+.. date: 2022-03-21-20-45-01
+.. nonce: bIuKlF
+.. section: Windows
+
+The installer for Windows now includes documentation as loose HTML files
+rather than a single compiled :file:`.chm` file.
+
+..
+
+.. bpo: 46907
+.. date: 2022-03-13-11-18-41
+.. nonce: YLzxBM
+.. section: Windows
+
+Update Windows installer to use SQLite 3.38.1.
+
+..
+
+.. bpo: 44549
+.. date: 2022-03-07-17-46-40
+.. nonce: SPrGS9
+.. section: Windows
+
+Update bzip2 to 1.0.8 in Windows builds to mitigate CVE-2016-3189 and
+CVE-2019-12900
+
+..
+
+.. bpo: 46948
+.. date: 2022-03-07-16-34-11
+.. nonce: Ufd4tG
+.. section: Windows
+
+Prevent CVE-2022-26488 by ensuring the Add to PATH option in the Windows
+installer uses the correct path when being repaired.
+
+..
+
+.. bpo: 46890
+.. date: 2022-03-17-09-55-02
+.. nonce: GX-3OO
+.. section: macOS
+
+Fix a regression in the setting of ``sys._base_executable`` in framework
+builds, and thereby fix a regression in :mod:`venv` virtual environments
+with such builds.
+
+..
+
+.. bpo: 46907
+.. date: 2022-03-13-11-11-31
+.. nonce: Ql0z1E
+.. section: macOS
+
+Update macOS installer to SQLite 3.38.1.
+
+..
+
+.. bpo: 40280
+.. date: 2022-04-03-11-47-45
+.. nonce: Q_IJik
+.. section: Tools/Demos
+
+Replace Emscripten's limited shell with Katie Bell's browser-ui REPL from
+python-wasm project.
+
+..
+
+.. bpo: 40421
+.. date: 2022-03-25-13-40-46
+.. nonce: wJREl2
+.. section: C API
+
+Add ``PyFrame_GetBuiltins``, ``PyFrame_GetGenerator`` and
+``PyFrame_GetGlobals`` C-API functions to access frame object attributes
+safely from C code.
+
+..
+
+.. bpo: 46850
+.. date: 2022-03-22-16-59-34
+.. nonce: lmEKLy
+.. section: C API
+
+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.
+
+..
+
+.. bpo: 46850
+.. date: 2022-03-22-16-48-02
+.. nonce: 7M5dO7
+.. section: C API
+
+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.
+
+..
+
+.. bpo: 46850
+.. date: 2022-03-21-02-26-27
+.. nonce: hU3c-O
+.. section: C API
+
+Remove the private undocumented function ``_PyEval_CallTracing()`` from the
+C API. Call the public :func:`sys.call_tracing` function instead. Patch by
+Victor Stinner.
+
+..
+
+.. bpo: 46850
+.. date: 2022-03-21-01-30-14
+.. nonce: Tfxde5
+.. section: C API
+
+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.
+
+..
+
+.. bpo: 46850
+.. date: 2022-03-21-00-41-29
+.. nonce: rOt771
+.. section: C API
+
+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.
+
+..
+
+.. bpo: 46987
+.. date: 2022-03-12-18-37-06
+.. nonce: LWcwyN
+.. section: C API
+
+Remove private functions ``_PySys_GetObjectId()`` and
+``_PySys_SetObjectId()``. Patch by Dong-hee Na.
+
+..
+
+.. bpo: 46906
+.. date: 2022-03-03-11-12-33
+.. nonce: -olyBI
+.. section: C API
+
+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.