#define PY_MINOR_VERSION 10
#define PY_MICRO_VERSION 0
#define PY_RELEASE_LEVEL PY_RELEASE_LEVEL_ALPHA
-#define PY_RELEASE_SERIAL 0
+#define PY_RELEASE_SERIAL 1
/* Version as a string */
-#define PY_VERSION "3.10.0a0"
+#define PY_VERSION "3.10.0a1"
/*--end constants--*/
/* Version as a single 4-byte hex number, e.g. 0x010502B2 == 1.5.2b2.
# -*- coding: utf-8 -*-
-# Autogenerated by Sphinx on Mon Apr 27 22:35:16 2020
+# Autogenerated by Sphinx on Mon Oct 5 18:27:28 2020
topics = {'assert': 'The "assert" statement\n'
'**********************\n'
'\n'
'assigned,\n'
' from left to right, to the corresponding targets.\n'
'\n'
- ' * If the target list contains one target prefixed with an\n'
- ' asterisk, called a “starred” target: The object must be '
- 'an\n'
- ' iterable with at least as many items as there are targets '
- 'in the\n'
- ' target list, minus one. The first items of the iterable '
- 'are\n'
- ' assigned, from left to right, to the targets before the '
+ ' * If the target list contains one target prefixed with an '
+ 'asterisk,\n'
+ ' called a “starred” target: The object must be an iterable '
+ 'with at\n'
+ ' least as many items as there are targets in the target '
+ 'list, minus\n'
+ ' one. The first items of the iterable are assigned, from '
+ 'left to\n'
+ ' right, to the targets before the starred target. The '
+ 'final items\n'
+ ' of the iterable are assigned to the targets after the '
'starred\n'
- ' target. The final items of the iterable are assigned to '
- 'the\n'
- ' targets after the starred target. A list of the remaining '
- 'items\n'
- ' in the iterable is then assigned to the starred target '
- '(the list\n'
- ' can be empty).\n'
+ ' target. A list of the remaining items in the iterable is '
+ 'then\n'
+ ' assigned to the starred target (the list can be empty).\n'
'\n'
' * Else: The object must be an iterable with the same number '
- 'of\n'
- ' items as there are targets in the target list, and the '
- 'items are\n'
+ 'of items\n'
+ ' as there are targets in the target list, and the items '
+ 'are\n'
' assigned, from left to right, to the corresponding '
'targets.\n'
'\n'
'in the\n'
' current local namespace.\n'
'\n'
- ' * Otherwise: the name is bound to the object in the global\n'
- ' namespace or the outer namespace determined by '
- '"nonlocal",\n'
- ' respectively.\n'
+ ' * Otherwise: the name is bound to the object in the global '
+ 'namespace\n'
+ ' or the outer namespace determined by "nonlocal", '
+ 'respectively.\n'
'\n'
' The name is rebound if it was already bound. This may cause '
'the\n'
'called with\n'
' appropriate arguments.\n'
'\n'
- '* If the target is a slicing: The primary expression in the\n'
- ' reference is evaluated. It should yield a mutable sequence '
- 'object\n'
- ' (such as a list). The assigned object should be a sequence '
- 'object\n'
- ' of the same type. Next, the lower and upper bound '
- 'expressions are\n'
- ' evaluated, insofar they are present; defaults are zero and '
- 'the\n'
- ' sequence’s length. The bounds should evaluate to integers. '
- 'If\n'
- ' either bound is negative, the sequence’s length is added to '
- 'it. The\n'
- ' resulting bounds are clipped to lie between zero and the '
+ '* If the target is a slicing: The primary expression in the '
+ 'reference\n'
+ ' is evaluated. It should yield a mutable sequence object '
+ '(such as a\n'
+ ' list). The assigned object should be a sequence object of '
+ 'the same\n'
+ ' type. Next, the lower and upper bound expressions are '
+ 'evaluated,\n'
+ ' insofar they are present; defaults are zero and the '
'sequence’s\n'
- ' length, inclusive. Finally, the sequence object is asked to '
- 'replace\n'
- ' the slice with the items of the assigned sequence. The '
- 'length of\n'
- ' the slice may be different from the length of the assigned '
+ ' length. The bounds should evaluate to integers. If either '
+ 'bound is\n'
+ ' negative, the sequence’s length is added to it. The '
+ 'resulting\n'
+ ' bounds are clipped to lie between zero and the sequence’s '
+ 'length,\n'
+ ' inclusive. Finally, the sequence object is asked to replace '
+ 'the\n'
+ ' slice with the items of the assigned sequence. The length '
+ 'of the\n'
+ ' slice may be different from the length of the assigned '
'sequence,\n'
' thus changing the length of the target sequence, if the '
'target\n'
'\n'
'-[ Footnotes ]-\n'
'\n'
- '[1] The exception is propagated to the invocation stack unless\n'
- ' there is a "finally" clause which happens to raise another\n'
- ' exception. That new exception causes the old one to be lost.\n'
+ '[1] The exception is propagated to the invocation stack unless '
+ 'there\n'
+ ' is a "finally" clause which happens to raise another '
+ 'exception.\n'
+ ' That new exception causes the old one to be lost.\n'
'\n'
- '[2] A string literal appearing as the first statement in the\n'
- ' function body is transformed into the function’s "__doc__"\n'
- ' attribute and therefore the function’s *docstring*.\n'
+ '[2] A string literal appearing as the first statement in the '
+ 'function\n'
+ ' body is transformed into the function’s "__doc__" attribute '
+ 'and\n'
+ ' therefore the function’s *docstring*.\n'
'\n'
'[3] A string literal appearing as the first statement in the class\n'
' body is transformed into the namespace’s "__doc__" item and\n'
'needs, for\n'
' example, "object.__getattribute__(self, name)".\n'
'\n'
- ' Note: This method may still be bypassed when looking '
- 'up special\n'
- ' methods as the result of implicit invocation via '
- 'language syntax\n'
- ' or built-in functions. See Special method lookup.\n'
+ ' Note:\n'
+ '\n'
+ ' This method may still be bypassed when looking up '
+ 'special methods\n'
+ ' as the result of implicit invocation via language '
+ 'syntax or\n'
+ ' built-in functions. See Special method lookup.\n'
'\n'
'object.__setattr__(self, name, value)\n'
'\n'
'\n'
' sys.modules[__name__].__class__ = VerboseModule\n'
'\n'
- 'Note: Defining module "__getattr__" and setting module '
- '"__class__"\n'
- ' only affect lookups made using the attribute access '
- 'syntax –\n'
- ' directly accessing the module globals (whether by code '
- 'within the\n'
- ' module, or via a reference to the module’s globals '
- 'dictionary) is\n'
- ' unaffected.\n'
+ 'Note:\n'
+ '\n'
+ ' Defining module "__getattr__" and setting module '
+ '"__class__" only\n'
+ ' affect lookups made using the attribute access syntax '
+ '– directly\n'
+ ' accessing the module globals (whether by code within '
+ 'the module, or\n'
+ ' via a reference to the module’s globals dictionary) is '
+ 'unaffected.\n'
'\n'
'Changed in version 3.5: "__class__" module attribute is '
'now writable.\n'
'created. The\n'
' descriptor has been assigned to *name*.\n'
'\n'
- ' Note: "__set_name__()" is only called implicitly as '
- 'part of the\n'
- ' "type" constructor, so it will need to be called '
- 'explicitly with\n'
- ' the appropriate parameters when a descriptor is '
- 'added to a class\n'
+ ' Note:\n'
+ '\n'
+ ' "__set_name__()" is only called implicitly as part '
+ 'of the "type"\n'
+ ' constructor, so it will need to be called '
+ 'explicitly with the\n'
+ ' appropriate parameters when a descriptor is added '
+ 'to a class\n'
' after initial creation:\n'
'\n'
' class A:\n'
'--------------------------\n'
'\n'
'* When inheriting from a class without *__slots__*, the '
- '*__dict__*\n'
- ' and *__weakref__* attribute of the instances will '
- 'always be\n'
- ' accessible.\n'
+ '*__dict__* and\n'
+ ' *__weakref__* attribute of the instances will always '
+ 'be accessible.\n'
'\n'
'* Without a *__dict__* variable, instances cannot be '
'assigned new\n'
' declaration.\n'
'\n'
'* Without a *__weakref__* variable for each instance, '
- 'classes\n'
- ' defining *__slots__* do not support weak references to '
- 'its\n'
- ' instances. If weak reference support is needed, then '
- 'add\n'
- ' "\'__weakref__\'" to the sequence of strings in the '
- '*__slots__*\n'
- ' declaration.\n'
+ 'classes defining\n'
+ ' *__slots__* do not support weak references to its '
+ 'instances. If weak\n'
+ ' reference support is needed, then add '
+ '"\'__weakref__\'" to the\n'
+ ' sequence of strings in the *__slots__* declaration.\n'
'\n'
'* *__slots__* are implemented at the class level by '
'creating\n'
' attribute would overwrite the descriptor assignment.\n'
'\n'
'* The action of a *__slots__* declaration is not limited '
- 'to the\n'
- ' class where it is defined. *__slots__* declared in '
- 'parents are\n'
- ' available in child classes. However, child subclasses '
- 'will get a\n'
- ' *__dict__* and *__weakref__* unless they also define '
- '*__slots__*\n'
- ' (which should only contain names of any *additional* '
- 'slots).\n'
+ 'to the class\n'
+ ' where it is defined. *__slots__* declared in parents '
+ 'are available\n'
+ ' in child classes. However, child subclasses will get a '
+ '*__dict__*\n'
+ ' and *__weakref__* unless they also define *__slots__* '
+ '(which should\n'
+ ' only contain names of any *additional* slots).\n'
'\n'
'* If a class defines a slot also defined in a base '
- 'class, the\n'
- ' instance variable defined by the base class slot is '
- 'inaccessible\n'
- ' (except by retrieving its descriptor directly from the '
- 'base class).\n'
- ' This renders the meaning of the program undefined. In '
- 'the future, a\n'
+ 'class, the instance\n'
+ ' variable defined by the base class slot is '
+ 'inaccessible (except by\n'
+ ' retrieving its descriptor directly from the base '
+ 'class). This\n'
+ ' renders the meaning of the program undefined. In the '
+ 'future, a\n'
' check may be added to prevent this.\n'
'\n'
'* Nonempty *__slots__* does not work for classes derived '
'"bytes" and "tuple".\n'
'\n'
'* Any non-string iterable may be assigned to '
- '*__slots__*. Mappings\n'
- ' may also be used; however, in the future, special '
- 'meaning may be\n'
+ '*__slots__*. Mappings may\n'
+ ' also be used; however, in the future, special meaning '
+ 'may be\n'
' assigned to the values corresponding to each key.\n'
'\n'
'* *__class__* assignment works only if both classes have '
' raise "TypeError".\n'
'\n'
'* If an iterator is used for *__slots__* then a '
- 'descriptor is\n'
- ' created for each of the iterator’s values. However, '
- 'the *__slots__*\n'
+ 'descriptor is created\n'
+ ' for each of the iterator’s values. However, the '
+ '*__slots__*\n'
' attribute will be an empty iterator.\n',
'attribute-references': 'Attribute references\n'
'********************\n'
' != x" is true. This behavior is compliant with IEEE 754.\n'
'\n'
'* "None" and "NotImplemented" are singletons. **PEP 8** '
- 'advises\n'
- ' that comparisons for singletons should always be done with '
- '"is" or\n'
- ' "is not", never the equality operators.\n'
+ 'advises that\n'
+ ' comparisons for singletons should always be done with "is" '
+ 'or "is\n'
+ ' not", never the equality operators.\n'
'\n'
'* Binary sequences (instances of "bytes" or "bytearray") can '
'be\n'
'\n'
' Strings and binary sequences cannot be directly compared.\n'
'\n'
- '* Sequences (instances of "tuple", "list", or "range") can '
- 'be\n'
- ' compared only within each of their types, with the '
- 'restriction that\n'
- ' ranges do not support order comparison. Equality '
- 'comparison across\n'
- ' these types results in inequality, and ordering comparison '
- 'across\n'
- ' these types raises "TypeError".\n'
+ '* Sequences (instances of "tuple", "list", or "range") can be '
+ 'compared\n'
+ ' only within each of their types, with the restriction that '
+ 'ranges do\n'
+ ' not support order comparison. Equality comparison across '
+ 'these\n'
+ ' types results in inequality, and ordering comparison across '
+ 'these\n'
+ ' types raises "TypeError".\n'
'\n'
' Sequences compare lexicographically using comparison of\n'
' corresponding elements. The built-in containers typically '
' false because the type is not the same).\n'
'\n'
' * Collections that support order comparison are ordered the '
- 'same\n'
- ' as their first unequal elements (for example, "[1,2,x] <= '
+ 'same as\n'
+ ' their first unequal elements (for example, "[1,2,x] <= '
'[1,2,y]"\n'
' has the same value as "x <= y"). If a corresponding '
'element does\n'
'"TypeError".\n'
'\n'
'* Sets (instances of "set" or "frozenset") can be compared '
- 'within\n'
- ' and across their types.\n'
+ 'within and\n'
+ ' across their types.\n'
'\n'
' They define order comparison operators to mean subset and '
'superset\n'
' Comparison of sets enforces reflexivity of its elements.\n'
'\n'
'* Most other built-in types have no comparison methods '
- 'implemented,\n'
- ' so they inherit the default comparison behavior.\n'
+ 'implemented, so\n'
+ ' they inherit the default comparison behavior.\n'
'\n'
'User-defined classes that customize their comparison behavior '
'should\n'
' "total_ordering()" decorator.\n'
'\n'
'* The "hash()" result should be consistent with equality. '
- 'Objects\n'
- ' that are equal should either have the same hash value, or '
- 'be marked\n'
- ' as unhashable.\n'
+ 'Objects that\n'
+ ' are equal should either have the same hash value, or be '
+ 'marked as\n'
+ ' unhashable.\n'
'\n'
'Python does not enforce these consistency rules. In fact, '
'the\n'
':= a to b do"; e.g., "list(range(3))" returns the list "[0, 1, '
'2]".\n'
'\n'
- 'Note: There is a subtlety when the sequence is being modified by '
- 'the\n'
- ' loop (this can only occur for mutable sequences, e.g. lists). '
- 'An\n'
+ 'Note:\n'
+ '\n'
+ ' There is a subtlety when the sequence is being modified by the '
+ 'loop\n'
+ ' (this can only occur for mutable sequences, e.g. lists). An\n'
' internal counter is used to keep track of which item is used '
'next,\n'
' and this is incremented on each iteration. When this counter '
'follows:\n'
'\n'
'1. The context expression (the expression given in the '
- '"with_item")\n'
- ' is evaluated to obtain a context manager.\n'
+ '"with_item") is\n'
+ ' evaluated to obtain a context manager.\n'
'\n'
'2. The context manager’s "__enter__()" is loaded for later use.\n'
'\n'
'\n'
'4. The context manager’s "__enter__()" method is invoked.\n'
'\n'
- '5. If a target was included in the "with" statement, the return\n'
- ' value from "__enter__()" is assigned to it.\n'
+ '5. If a target was included in the "with" statement, the return '
+ 'value\n'
+ ' from "__enter__()" is assigned to it.\n'
+ '\n'
+ ' Note:\n'
'\n'
- ' Note: The "with" statement guarantees that if the '
- '"__enter__()"\n'
- ' method returns without an error, then "__exit__()" will '
- 'always be\n'
+ ' The "with" statement guarantees that if the "__enter__()" '
+ 'method\n'
+ ' returns without an error, then "__exit__()" will always be\n'
' called. Thus, if an error occurs during the assignment to '
'the\n'
' target list, it will be treated the same as an error '
'“pre-\n'
'computed” value is used for each call. This is especially '
'important\n'
- 'to understand when a default parameter is a mutable object, such '
- 'as a\n'
- 'list or a dictionary: if the function modifies the object (e.g. '
- 'by\n'
- 'appending an item to a list), the default value is in effect '
- 'modified.\n'
- 'This is generally not what was intended. A way around this is '
- 'to use\n'
- '"None" as the default, and explicitly test for it in the body of '
- 'the\n'
- 'function, e.g.:\n'
+ 'to understand when a default parameter value is a mutable '
+ 'object, such\n'
+ 'as a list or a dictionary: if the function modifies the object '
+ '(e.g.\n'
+ 'by appending an item to a list), the default parameter value is '
+ 'in\n'
+ 'effect modified. This is generally not what was intended. A '
+ 'way\n'
+ 'around this is to use "None" as the default, and explicitly test '
+ 'for\n'
+ 'it in the body of the function, e.g.:\n'
'\n'
' def whats_on_the_telly(penguin=None):\n'
' if penguin is None:\n'
'\n'
'-[ Footnotes ]-\n'
'\n'
- '[1] The exception is propagated to the invocation stack unless\n'
- ' there is a "finally" clause which happens to raise another\n'
- ' exception. That new exception causes the old one to be '
- 'lost.\n'
+ '[1] The exception is propagated to the invocation stack unless '
+ 'there\n'
+ ' is a "finally" clause which happens to raise another '
+ 'exception.\n'
+ ' That new exception causes the old one to be lost.\n'
'\n'
- '[2] A string literal appearing as the first statement in the\n'
- ' function body is transformed into the function’s "__doc__"\n'
- ' attribute and therefore the function’s *docstring*.\n'
+ '[2] A string literal appearing as the first statement in the '
+ 'function\n'
+ ' body is transformed into the function’s "__doc__" attribute '
+ 'and\n'
+ ' therefore the function’s *docstring*.\n'
'\n'
'[3] A string literal appearing as the first statement in the '
'class\n'
' complex;\n'
'\n'
'* otherwise, if either argument is a floating point number, '
- 'the\n'
- ' other is converted to floating point;\n'
+ 'the other\n'
+ ' is converted to floating point;\n'
'\n'
'* otherwise, both must be integers and no conversion is '
'necessary.\n'
'for\n'
' objects that still exist when the interpreter exits.\n'
'\n'
- ' Note: "del x" doesn’t directly call "x.__del__()" — the '
+ ' Note:\n'
+ '\n'
+ ' "del x" doesn’t directly call "x.__del__()" — the '
'former\n'
' decrements the reference count for "x" by one, and the '
'latter is\n'
'\n'
' See also: Documentation for the "gc" module.\n'
'\n'
- ' Warning: Due to the precarious circumstances under '
- 'which\n'
- ' "__del__()" methods are invoked, exceptions that occur '
- 'during\n'
- ' their execution are ignored, and a warning is printed '
- 'to\n'
- ' "sys.stderr" instead. In particular:\n'
+ ' Warning:\n'
+ '\n'
+ ' Due to the precarious circumstances under which '
+ '"__del__()"\n'
+ ' methods are invoked, exceptions that occur during '
+ 'their execution\n'
+ ' are ignored, and a warning is printed to "sys.stderr" '
+ 'instead.\n'
+ ' In particular:\n'
'\n'
' * "__del__()" can be invoked when arbitrary code is '
'being\n'
' that gets interrupted to execute "__del__()".\n'
'\n'
' * "__del__()" can be executed during interpreter '
- 'shutdown. As\n'
- ' a consequence, the global variables it needs to '
- 'access\n'
- ' (including other modules) may already have been '
- 'deleted or set\n'
- ' to "None". Python guarantees that globals whose name '
- 'begins\n'
- ' with a single underscore are deleted from their '
- 'module before\n'
- ' other globals are deleted; if no other references to '
- 'such\n'
- ' globals exist, this may help in assuring that '
- 'imported modules\n'
- ' are still available at the time when the "__del__()" '
- 'method is\n'
- ' called.\n'
+ 'shutdown. As a\n'
+ ' consequence, the global variables it needs to access '
+ '(including\n'
+ ' other modules) may already have been deleted or set '
+ 'to "None".\n'
+ ' Python guarantees that globals whose name begins '
+ 'with a single\n'
+ ' underscore are deleted from their module before '
+ 'other globals\n'
+ ' are deleted; if no other references to such globals '
+ 'exist, this\n'
+ ' may help in assuring that imported modules are still '
+ 'available\n'
+ ' at the time when the "__del__()" method is called.\n'
'\n'
'object.__repr__(self)\n'
'\n'
' def __hash__(self):\n'
' return hash((self.name, self.nick, self.color))\n'
'\n'
- ' Note: "hash()" truncates the value returned from an '
- 'object’s\n'
- ' custom "__hash__()" method to the size of a '
- '"Py_ssize_t". This\n'
- ' is typically 8 bytes on 64-bit builds and 4 bytes on '
- '32-bit\n'
- ' builds. If an object’s "__hash__()" must '
- 'interoperate on builds\n'
- ' of different bit sizes, be sure to check the width on '
- 'all\n'
- ' supported builds. An easy way to do this is with '
- '"python -c\n'
- ' "import sys; print(sys.hash_info.width)"".\n'
+ ' Note:\n'
+ '\n'
+ ' "hash()" truncates the value returned from an object’s '
+ 'custom\n'
+ ' "__hash__()" method to the size of a "Py_ssize_t". '
+ 'This is\n'
+ ' typically 8 bytes on 64-bit builds and 4 bytes on '
+ '32-bit builds.\n'
+ ' If an object’s "__hash__()" must interoperate on '
+ 'builds of\n'
+ ' different bit sizes, be sure to check the width on all '
+ 'supported\n'
+ ' builds. An easy way to do this is with "python -c '
+ '"import sys;\n'
+ ' print(sys.hash_info.width)"".\n'
'\n'
' If a class does not define an "__eq__()" method it '
'should not\n'
' hashable by an "isinstance(obj, '
'collections.abc.Hashable)" call.\n'
'\n'
- ' Note: By default, the "__hash__()" values of str and '
- 'bytes\n'
- ' objects are “salted” with an unpredictable random '
- 'value.\n'
- ' Although they remain constant within an individual '
- 'Python\n'
- ' process, they are not predictable between repeated '
- 'invocations of\n'
- ' Python.This is intended to provide protection against '
- 'a denial-\n'
- ' of-service caused by carefully-chosen inputs that '
- 'exploit the\n'
- ' worst case performance of a dict insertion, O(n^2) '
- 'complexity.\n'
- ' See '
- 'http://www.ocert.org/advisories/ocert-2011-003.html for\n'
+ ' Note:\n'
+ '\n'
+ ' By default, the "__hash__()" values of str and bytes '
+ 'objects are\n'
+ ' “salted” with an unpredictable random value. Although '
+ 'they\n'
+ ' remain constant within an individual Python process, '
+ 'they are not\n'
+ ' predictable between repeated invocations of '
+ 'Python.This is\n'
+ ' intended to provide protection against a '
+ 'denial-of-service caused\n'
+ ' by carefully-chosen inputs that exploit the worst '
+ 'case\n'
+ ' performance of a dict insertion, O(n^2) complexity. '
+ 'See\n'
+ ' http://www.ocert.org/advisories/ocert-2011-003.html '
+ 'for\n'
' details.Changing hash values affects the iteration '
'order of sets.\n'
' Python has never made guarantees about this ordering '
'its\n'
' value.\n'
'\n'
- ' Note: "print()" can also be used, but is not a debugger '
- 'command —\n'
- ' this executes the Python "print()" function.\n'
+ ' Note:\n'
+ '\n'
+ ' "print()" can also be used, but is not a debugger command — '
+ 'this\n'
+ ' executes the Python "print()" function.\n'
'\n'
'pp expression\n'
'\n'
' the current environment).\n'
'\n'
'retval\n'
- 'Print the return value for the last return of a function.\n'
+ '\n'
+ ' Print the return value for the last return of a function.\n'
'\n'
'-[ Footnotes ]-\n'
'\n'
'[1] Whether a frame is considered to originate in a certain '
- 'module\n'
- ' is determined by the "__name__" in the frame globals.\n',
+ 'module is\n'
+ ' determined by the "__name__" in the frame globals.\n',
'del': 'The "del" statement\n'
'*******************\n'
'\n'
'about the\n'
'exceptional condition.\n'
'\n'
- 'Note: Exception messages are not part of the Python API. '
- 'Their\n'
- ' contents may change from one version of Python to the next '
- 'without\n'
- ' warning and should not be relied on by code which will run '
- 'under\n'
- ' multiple versions of the interpreter.\n'
+ 'Note:\n'
+ '\n'
+ ' Exception messages are not part of the Python API. Their '
+ 'contents\n'
+ ' may change from one version of Python to the next without '
+ 'warning\n'
+ ' and should not be relied on by code which will run under '
+ 'multiple\n'
+ ' versions of the interpreter.\n'
'\n'
'See also the description of the "try" statement in section The '
'try\n'
'-[ Footnotes ]-\n'
'\n'
'[1] This limitation occurs because the code that is executed '
- 'by\n'
- ' these operations is not available at the time the module '
- 'is\n'
- ' compiled.\n',
+ 'by these\n'
+ ' operations is not available at the time the module is '
+ 'compiled.\n',
'execmodel': 'Execution model\n'
'***************\n'
'\n'
'about the\n'
'exceptional condition.\n'
'\n'
- 'Note: Exception messages are not part of the Python API. '
- 'Their\n'
- ' contents may change from one version of Python to the next '
- 'without\n'
- ' warning and should not be relied on by code which will run '
- 'under\n'
- ' multiple versions of the interpreter.\n'
+ 'Note:\n'
+ '\n'
+ ' Exception messages are not part of the Python API. Their '
+ 'contents\n'
+ ' may change from one version of Python to the next without '
+ 'warning\n'
+ ' and should not be relied on by code which will run under '
+ 'multiple\n'
+ ' versions of the interpreter.\n'
'\n'
'See also the description of the "try" statement in section The '
'try\n'
'\n'
'-[ Footnotes ]-\n'
'\n'
- '[1] This limitation occurs because the code that is executed '
- 'by\n'
- ' these operations is not available at the time the module '
- 'is\n'
- ' compiled.\n',
+ '[1] This limitation occurs because the code that is executed by '
+ 'these\n'
+ ' operations is not available at the time the module is '
+ 'compiled.\n',
'exprlists': 'Expression lists\n'
'****************\n'
'\n'
'i\n'
':= a to b do"; e.g., "list(range(3))" returns the list "[0, 1, 2]".\n'
'\n'
- 'Note: There is a subtlety when the sequence is being modified by the\n'
- ' loop (this can only occur for mutable sequences, e.g. lists). An\n'
+ 'Note:\n'
+ '\n'
+ ' There is a subtlety when the sequence is being modified by the '
+ 'loop\n'
+ ' (this can only occur for mutable sequences, e.g. lists). An\n'
' internal counter is used to keep track of which item is used next,\n'
' and this is incremented on each iteration. When this counter has\n'
' reached the length of the sequence the loop terminates. This '
'“pre-\n'
'computed” value is used for each call. This is especially '
'important\n'
- 'to understand when a default parameter is a mutable object, such '
- 'as a\n'
- 'list or a dictionary: if the function modifies the object (e.g. '
- 'by\n'
- 'appending an item to a list), the default value is in effect '
- 'modified.\n'
- 'This is generally not what was intended. A way around this is '
- 'to use\n'
- '"None" as the default, and explicitly test for it in the body of '
- 'the\n'
- 'function, e.g.:\n'
+ 'to understand when a default parameter value is a mutable '
+ 'object, such\n'
+ 'as a list or a dictionary: if the function modifies the object '
+ '(e.g.\n'
+ 'by appending an item to a list), the default parameter value is '
+ 'in\n'
+ 'effect modified. This is generally not what was intended. A '
+ 'way\n'
+ 'around this is to use "None" as the default, and explicitly test '
+ 'for\n'
+ 'it in the body of the function, e.g.:\n'
'\n'
' def whats_on_the_telly(penguin=None):\n'
' if penguin is None:\n'
'defined.\n'
' See section The import statement.\n'
'\n'
- ' Note: The name "_" is often used in conjunction with\n'
+ ' Note:\n'
+ '\n'
+ ' The name "_" is often used in conjunction with\n'
' internationalization; refer to the documentation for the\n'
' "gettext" module for more information on this '
'convention.\n'
'\n'
'A non-normative HTML file listing all valid identifier '
'characters for\n'
- 'Unicode 4.1 can be found at https://www.dcl.hpi.uni-\n'
- 'potsdam.de/home/loewis/table-3131.html.\n'
+ 'Unicode 4.1 can be found at\n'
+ 'https://www.unicode.org/Public/13.0.0/ucd/DerivedCoreProperties.txt\n'
'\n'
'\n'
'Keywords\n'
'defined.\n'
' See section The import statement.\n'
'\n'
- ' Note: The name "_" is often used in conjunction with\n'
+ ' Note:\n'
+ '\n'
+ ' The name "_" is often used in conjunction with\n'
' internationalization; refer to the documentation for '
'the\n'
' "gettext" module for more information on this '
'\n'
'1. find a module, loading and initializing it if necessary\n'
'\n'
- '2. define a name or names in the local namespace for the scope\n'
- ' where the "import" statement occurs.\n'
+ '2. define a name or names in the local namespace for the scope '
+ 'where\n'
+ ' the "import" statement occurs.\n'
'\n'
'When the statement contains multiple clauses (separated by commas) '
'the\n'
'made\n'
'available in the local namespace in one of three ways:\n'
'\n'
- '* If the module name is followed by "as", then the name following\n'
- ' "as" is bound directly to the imported module.\n'
+ '* If the module name is followed by "as", then the name following '
+ '"as"\n'
+ ' is bound directly to the imported module.\n'
'\n'
'* If no other name is specified, and the module being imported is '
'a\n'
'"__rpow__()" (the\n'
' coercion rules would become too complicated).\n'
'\n'
- ' Note: If the right operand’s type is a subclass of the '
- 'left\n'
- ' operand’s type and that subclass provides the '
- 'reflected method\n'
- ' for the operation, this method will be called before '
- 'the left\n'
- ' operand’s non-reflected method. This behavior allows '
- 'subclasses\n'
- ' to override their ancestors’ operations.\n'
+ ' Note:\n'
+ '\n'
+ ' If the right operand’s type is a subclass of the left '
+ 'operand’s\n'
+ ' type and that subclass provides a different '
+ 'implementation of the\n'
+ ' reflected method for the operation, this method will '
+ 'be called\n'
+ ' before the left operand’s non-reflected method. This '
+ 'behavior\n'
+ ' allows subclasses to override their ancestors’ '
+ 'operations.\n'
'\n'
'object.__iadd__(self, other)\n'
'object.__isub__(self, other)\n'
'-[ Footnotes ]-\n'
'\n'
'[1] While "abs(x%y) < abs(y)" is true mathematically, '
- 'for floats\n'
- ' it may not be true numerically due to roundoff. For '
+ 'for floats it\n'
+ ' may not be true numerically due to roundoff. For '
'example, and\n'
' assuming a platform on which a Python float is an '
'IEEE 754 double-\n'
'"unicodedata.normalize()".\n'
'\n'
'[4] Due to automatic garbage-collection, free lists, and '
- 'the\n'
- ' dynamic nature of descriptors, you may notice '
- 'seemingly unusual\n'
- ' behaviour in certain uses of the "is" operator, like '
- 'those\n'
- ' involving comparisons between instance methods, or '
- 'constants.\n'
- ' Check their documentation for more info.\n'
+ 'the dynamic\n'
+ ' nature of descriptors, you may notice seemingly '
+ 'unusual behaviour\n'
+ ' in certain uses of the "is" operator, like those '
+ 'involving\n'
+ ' comparisons between instance methods, or constants. '
+ 'Check their\n'
+ ' documentation for more info.\n'
'\n'
'[5] The "%" operator is also used for string formatting; '
'the same\n'
' precedence applies.\n'
'\n'
'[6] The power operator "**" binds less tightly than an '
- 'arithmetic\n'
- ' or bitwise unary operator on its right, that is, '
+ 'arithmetic or\n'
+ ' bitwise unary operator on its right, that is, '
'"2**-1" is "0.5".\n',
'pass': 'The "pass" statement\n'
'********************\n'
'\n'
' New in version 3.4.\n'
'\n'
- 'Note: Slicing is done exclusively with the following three '
- 'methods.\n'
- ' A call like\n'
+ 'Note:\n'
+ '\n'
+ ' Slicing is done exclusively with the following three '
+ 'methods. A\n'
+ ' call like\n'
'\n'
' a[1:2] = b\n'
'\n'
'the\n'
' container), "KeyError" should be raised.\n'
'\n'
- ' Note: "for" loops expect that an "IndexError" will be '
+ ' Note:\n'
+ '\n'
+ ' "for" loops expect that an "IndexError" will be '
'raised for\n'
' illegal indexes to allow proper detection of the end '
'of the\n'
'-[ Footnotes ]-\n'
'\n'
'[1] Additional information on these special methods may be '
- 'found\n'
- ' in the Python Reference Manual (Basic customization).\n'
+ 'found in\n'
+ ' the Python Reference Manual (Basic customization).\n'
'\n'
'[2] As a consequence, the list "[1, 2]" is considered equal '
- 'to\n'
- ' "[1.0, 2.0]", and similarly for tuples.\n'
+ 'to "[1.0,\n'
+ ' 2.0]", and similarly for tuples.\n'
'\n'
'[3] They must have since the parser can’t tell the type of '
'the\n'
' operands.\n'
'\n'
'[4] Cased characters are those with general category '
- 'property\n'
- ' being one of “Lu” (Letter, uppercase), “Ll” (Letter, '
- 'lowercase),\n'
- ' or “Lt” (Letter, titlecase).\n'
- '\n'
- '[5] To format only a tuple you should therefore provide a\n'
- ' singleton tuple whose only element is the tuple to be '
- 'formatted.\n',
+ 'property being\n'
+ ' one of “Lu” (Letter, uppercase), “Ll” (Letter, '
+ 'lowercase), or “Lt”\n'
+ ' (Letter, titlecase).\n'
+ '\n'
+ '[5] To format only a tuple you should therefore provide a '
+ 'singleton\n'
+ ' tuple whose only element is the tuple to be formatted.\n',
'specialnames': 'Special method names\n'
'********************\n'
'\n'
'for\n'
' objects that still exist when the interpreter exits.\n'
'\n'
- ' Note: "del x" doesn’t directly call "x.__del__()" — the '
+ ' Note:\n'
+ '\n'
+ ' "del x" doesn’t directly call "x.__del__()" — the '
'former\n'
' decrements the reference count for "x" by one, and the '
'latter is\n'
'\n'
' See also: Documentation for the "gc" module.\n'
'\n'
- ' Warning: Due to the precarious circumstances under which\n'
- ' "__del__()" methods are invoked, exceptions that occur '
- 'during\n'
- ' their execution are ignored, and a warning is printed '
- 'to\n'
- ' "sys.stderr" instead. In particular:\n'
+ ' Warning:\n'
+ '\n'
+ ' Due to the precarious circumstances under which '
+ '"__del__()"\n'
+ ' methods are invoked, exceptions that occur during their '
+ 'execution\n'
+ ' are ignored, and a warning is printed to "sys.stderr" '
+ 'instead.\n'
+ ' In particular:\n'
'\n'
' * "__del__()" can be invoked when arbitrary code is '
'being\n'
' that gets interrupted to execute "__del__()".\n'
'\n'
' * "__del__()" can be executed during interpreter '
- 'shutdown. As\n'
- ' a consequence, the global variables it needs to '
- 'access\n'
- ' (including other modules) may already have been '
- 'deleted or set\n'
- ' to "None". Python guarantees that globals whose name '
- 'begins\n'
- ' with a single underscore are deleted from their '
- 'module before\n'
- ' other globals are deleted; if no other references to '
- 'such\n'
- ' globals exist, this may help in assuring that '
- 'imported modules\n'
- ' are still available at the time when the "__del__()" '
- 'method is\n'
- ' called.\n'
+ 'shutdown. As a\n'
+ ' consequence, the global variables it needs to access '
+ '(including\n'
+ ' other modules) may already have been deleted or set '
+ 'to "None".\n'
+ ' Python guarantees that globals whose name begins with '
+ 'a single\n'
+ ' underscore are deleted from their module before other '
+ 'globals\n'
+ ' are deleted; if no other references to such globals '
+ 'exist, this\n'
+ ' may help in assuring that imported modules are still '
+ 'available\n'
+ ' at the time when the "__del__()" method is called.\n'
'\n'
'object.__repr__(self)\n'
'\n'
' def __hash__(self):\n'
' return hash((self.name, self.nick, self.color))\n'
'\n'
- ' Note: "hash()" truncates the value returned from an '
- 'object’s\n'
- ' custom "__hash__()" method to the size of a '
- '"Py_ssize_t". This\n'
- ' is typically 8 bytes on 64-bit builds and 4 bytes on '
- '32-bit\n'
- ' builds. If an object’s "__hash__()" must interoperate '
- 'on builds\n'
- ' of different bit sizes, be sure to check the width on '
- 'all\n'
- ' supported builds. An easy way to do this is with '
- '"python -c\n'
- ' "import sys; print(sys.hash_info.width)"".\n'
+ ' Note:\n'
+ '\n'
+ ' "hash()" truncates the value returned from an object’s '
+ 'custom\n'
+ ' "__hash__()" method to the size of a "Py_ssize_t". '
+ 'This is\n'
+ ' typically 8 bytes on 64-bit builds and 4 bytes on '
+ '32-bit builds.\n'
+ ' If an object’s "__hash__()" must interoperate on '
+ 'builds of\n'
+ ' different bit sizes, be sure to check the width on all '
+ 'supported\n'
+ ' builds. An easy way to do this is with "python -c '
+ '"import sys;\n'
+ ' print(sys.hash_info.width)"".\n'
'\n'
' If a class does not define an "__eq__()" method it should '
'not\n'
' hashable by an "isinstance(obj, '
'collections.abc.Hashable)" call.\n'
'\n'
- ' Note: By default, the "__hash__()" values of str and '
- 'bytes\n'
- ' objects are “salted” with an unpredictable random '
- 'value.\n'
- ' Although they remain constant within an individual '
- 'Python\n'
- ' process, they are not predictable between repeated '
- 'invocations of\n'
- ' Python.This is intended to provide protection against a '
- 'denial-\n'
- ' of-service caused by carefully-chosen inputs that '
- 'exploit the\n'
- ' worst case performance of a dict insertion, O(n^2) '
- 'complexity.\n'
- ' See http://www.ocert.org/advisories/ocert-2011-003.html '
+ ' Note:\n'
+ '\n'
+ ' By default, the "__hash__()" values of str and bytes '
+ 'objects are\n'
+ ' “salted” with an unpredictable random value. Although '
+ 'they\n'
+ ' remain constant within an individual Python process, '
+ 'they are not\n'
+ ' predictable between repeated invocations of Python.This '
+ 'is\n'
+ ' intended to provide protection against a '
+ 'denial-of-service caused\n'
+ ' by carefully-chosen inputs that exploit the worst case\n'
+ ' performance of a dict insertion, O(n^2) complexity. '
+ 'See\n'
+ ' http://www.ocert.org/advisories/ocert-2011-003.html '
'for\n'
' details.Changing hash values affects the iteration '
'order of sets.\n'
'needs, for\n'
' example, "object.__getattribute__(self, name)".\n'
'\n'
- ' Note: This method may still be bypassed when looking up '
- 'special\n'
- ' methods as the result of implicit invocation via '
- 'language syntax\n'
- ' or built-in functions. See Special method lookup.\n'
+ ' Note:\n'
+ '\n'
+ ' This method may still be bypassed when looking up '
+ 'special methods\n'
+ ' as the result of implicit invocation via language '
+ 'syntax or\n'
+ ' built-in functions. See Special method lookup.\n'
'\n'
'object.__setattr__(self, name, value)\n'
'\n'
'\n'
' sys.modules[__name__].__class__ = VerboseModule\n'
'\n'
- 'Note: Defining module "__getattr__" and setting module '
- '"__class__"\n'
- ' only affect lookups made using the attribute access syntax '
- '–\n'
- ' directly accessing the module globals (whether by code '
- 'within the\n'
- ' module, or via a reference to the module’s globals '
- 'dictionary) is\n'
- ' unaffected.\n'
+ 'Note:\n'
+ '\n'
+ ' Defining module "__getattr__" and setting module '
+ '"__class__" only\n'
+ ' affect lookups made using the attribute access syntax – '
+ 'directly\n'
+ ' accessing the module globals (whether by code within the '
+ 'module, or\n'
+ ' via a reference to the module’s globals dictionary) is '
+ 'unaffected.\n'
'\n'
'Changed in version 3.5: "__class__" module attribute is now '
'writable.\n'
'The\n'
' descriptor has been assigned to *name*.\n'
'\n'
- ' Note: "__set_name__()" is only called implicitly as part '
- 'of the\n'
- ' "type" constructor, so it will need to be called '
- 'explicitly with\n'
- ' the appropriate parameters when a descriptor is added '
- 'to a class\n'
+ ' Note:\n'
+ '\n'
+ ' "__set_name__()" is only called implicitly as part of '
+ 'the "type"\n'
+ ' constructor, so it will need to be called explicitly '
+ 'with the\n'
+ ' appropriate parameters when a descriptor is added to a '
+ 'class\n'
' after initial creation:\n'
'\n'
' class A:\n'
'~~~~~~~~~~~~~~~~~~~~~~~~~~\n'
'\n'
'* When inheriting from a class without *__slots__*, the '
- '*__dict__*\n'
- ' and *__weakref__* attribute of the instances will always '
- 'be\n'
- ' accessible.\n'
+ '*__dict__* and\n'
+ ' *__weakref__* attribute of the instances will always be '
+ 'accessible.\n'
'\n'
'* Without a *__dict__* variable, instances cannot be '
'assigned new\n'
' declaration.\n'
'\n'
'* Without a *__weakref__* variable for each instance, '
- 'classes\n'
- ' defining *__slots__* do not support weak references to '
- 'its\n'
- ' instances. If weak reference support is needed, then add\n'
- ' "\'__weakref__\'" to the sequence of strings in the '
- '*__slots__*\n'
- ' declaration.\n'
+ 'classes defining\n'
+ ' *__slots__* do not support weak references to its '
+ 'instances. If weak\n'
+ ' reference support is needed, then add "\'__weakref__\'" to '
+ 'the\n'
+ ' sequence of strings in the *__slots__* declaration.\n'
'\n'
'* *__slots__* are implemented at the class level by '
'creating\n'
' attribute would overwrite the descriptor assignment.\n'
'\n'
'* The action of a *__slots__* declaration is not limited to '
- 'the\n'
- ' class where it is defined. *__slots__* declared in '
- 'parents are\n'
- ' available in child classes. However, child subclasses will '
- 'get a\n'
- ' *__dict__* and *__weakref__* unless they also define '
- '*__slots__*\n'
- ' (which should only contain names of any *additional* '
- 'slots).\n'
+ 'the class\n'
+ ' where it is defined. *__slots__* declared in parents are '
+ 'available\n'
+ ' in child classes. However, child subclasses will get a '
+ '*__dict__*\n'
+ ' and *__weakref__* unless they also define *__slots__* '
+ '(which should\n'
+ ' only contain names of any *additional* slots).\n'
'\n'
'* If a class defines a slot also defined in a base class, '
- 'the\n'
- ' instance variable defined by the base class slot is '
- 'inaccessible\n'
- ' (except by retrieving its descriptor directly from the '
- 'base class).\n'
- ' This renders the meaning of the program undefined. In the '
+ 'the instance\n'
+ ' variable defined by the base class slot is inaccessible '
+ '(except by\n'
+ ' retrieving its descriptor directly from the base class). '
+ 'This\n'
+ ' renders the meaning of the program undefined. In the '
'future, a\n'
' check may be added to prevent this.\n'
'\n'
'and "tuple".\n'
'\n'
'* Any non-string iterable may be assigned to *__slots__*. '
- 'Mappings\n'
- ' may also be used; however, in the future, special meaning '
- 'may be\n'
+ 'Mappings may\n'
+ ' also be used; however, in the future, special meaning may '
+ 'be\n'
' assigned to the values corresponding to each key.\n'
'\n'
'* *__class__* assignment works only if both classes have the '
' raise "TypeError".\n'
'\n'
'* If an iterator is used for *__slots__* then a descriptor '
- 'is\n'
- ' created for each of the iterator’s values. However, the '
+ 'is created\n'
+ ' for each of the iterator’s values. However, the '
'*__slots__*\n'
' attribute will be an empty iterator.\n'
'\n'
'does nothing,\n'
' but raises an error if it is called with any arguments.\n'
'\n'
- ' Note: The metaclass hint "metaclass" is consumed by the '
- 'rest of\n'
- ' the type machinery, and is never passed to '
+ ' Note:\n'
+ '\n'
+ ' The metaclass hint "metaclass" is consumed by the rest '
+ 'of the\n'
+ ' type machinery, and is never passed to '
'"__init_subclass__"\n'
' implementations. The actual metaclass (rather than the '
'explicit\n'
'tuple may\n'
'be empty, in such case the original base is ignored.\n'
'\n'
- 'See also: **PEP 560** - Core support for typing module and '
- 'generic\n'
- ' types\n'
+ 'See also:\n'
+ '\n'
+ ' **PEP 560** - Core support for typing module and generic '
+ 'types\n'
'\n'
'\n'
'Determining the appropriate metaclass\n'
'type hints,\n'
'other usage is discouraged.\n'
'\n'
- 'See also: **PEP 560** - Core support for typing module and '
- 'generic\n'
- ' types\n'
+ 'See also:\n'
+ '\n'
+ ' **PEP 560** - Core support for typing module and generic '
+ 'types\n'
'\n'
'\n'
'Emulating callable objects\n'
'\n'
' New in version 3.4.\n'
'\n'
- 'Note: Slicing is done exclusively with the following three '
- 'methods.\n'
- ' A call like\n'
+ 'Note:\n'
+ '\n'
+ ' Slicing is done exclusively with the following three '
+ 'methods. A\n'
+ ' call like\n'
'\n'
' a[1:2] = b\n'
'\n'
'the\n'
' container), "KeyError" should be raised.\n'
'\n'
- ' Note: "for" loops expect that an "IndexError" will be '
- 'raised for\n'
+ ' Note:\n'
+ '\n'
+ ' "for" loops expect that an "IndexError" will be raised '
+ 'for\n'
' illegal indexes to allow proper detection of the end of '
'the\n'
' sequence.\n'
'"__rpow__()" (the\n'
' coercion rules would become too complicated).\n'
'\n'
- ' Note: If the right operand’s type is a subclass of the '
- 'left\n'
- ' operand’s type and that subclass provides the reflected '
- 'method\n'
- ' for the operation, this method will be called before '
- 'the left\n'
- ' operand’s non-reflected method. This behavior allows '
- 'subclasses\n'
- ' to override their ancestors’ operations.\n'
+ ' Note:\n'
+ '\n'
+ ' If the right operand’s type is a subclass of the left '
+ 'operand’s\n'
+ ' type and that subclass provides a different '
+ 'implementation of the\n'
+ ' reflected method for the operation, this method will be '
+ 'called\n'
+ ' before the left operand’s non-reflected method. This '
+ 'behavior\n'
+ ' allows subclasses to override their ancestors’ '
+ 'operations.\n'
'\n'
'object.__iadd__(self, other)\n'
'object.__isub__(self, other)\n'
'*start* and\n'
' *end* are interpreted as in slice notation.\n'
'\n'
- 'str.removeprefix(prefix, /)\n'
- '\n'
- ' If the string starts with the *prefix* string, return\n'
- ' "string[len(prefix):]". Otherwise, return a copy of the '
- 'original\n'
- ' string:\n'
- '\n'
- " >>> 'TestHook'.removeprefix('Test')\n"
- " 'Hook'\n"
- " >>> 'BaseTestCase'.removeprefix('Test')\n"
- " 'BaseTestCase'\n"
- '\n'
- ' New in version 3.9.\n'
- '\n'
- 'str.removesuffix(suffix, /)\n'
- '\n'
- ' If the string ends with the *suffix* string and that '
- '*suffix* is\n'
- ' not empty, return "string[:-len(suffix)]". Otherwise, '
- 'return a copy\n'
- ' of the original string:\n'
- '\n'
- " >>> 'MiscTests'.removesuffix('Tests')\n"
- " 'Misc'\n"
- " >>> 'TmpDirMixin'.removesuffix('Tests')\n"
- " 'TmpDirMixin'\n"
- '\n'
- ' New in version 3.9.\n'
- '\n'
- 'str.encode(encoding="utf-8", errors="strict")\n'
+ "str.encode(encoding='utf-8', errors='strict')\n"
'\n'
' Return an encoded version of the string as a bytes '
'object. Default\n'
'"-1" if\n'
' *sub* is not found.\n'
'\n'
- ' Note: The "find()" method should be used only if you '
- 'need to know\n'
- ' the position of *sub*. To check if *sub* is a '
- 'substring or not,\n'
- ' use the "in" operator:\n'
+ ' Note:\n'
+ '\n'
+ ' The "find()" method should be used only if you need '
+ 'to know the\n'
+ ' position of *sub*. To check if *sub* is a substring '
+ 'or not, use\n'
+ ' the "in" operator:\n'
'\n'
" >>> 'Py' in 'Python'\n"
' True\n'
' formatting options that can be specified in format '
'strings.\n'
'\n'
- ' Note: When formatting a number ("int", "float", '
- '"complex",\n'
+ ' Note:\n'
+ '\n'
+ ' When formatting a number ("int", "float", "complex",\n'
' "decimal.Decimal" and subclasses) with the "n" type '
'(ex:\n'
' "\'{:n}\'.format(1234)"), the function temporarily '
'followed by\n'
' two empty strings.\n'
'\n'
+ 'str.removeprefix(prefix, /)\n'
+ '\n'
+ ' If the string starts with the *prefix* string, return\n'
+ ' "string[len(prefix):]". Otherwise, return a copy of the '
+ 'original\n'
+ ' string:\n'
+ '\n'
+ " >>> 'TestHook'.removeprefix('Test')\n"
+ " 'Hook'\n"
+ " >>> 'BaseTestCase'.removeprefix('Test')\n"
+ " 'BaseTestCase'\n"
+ '\n'
+ ' New in version 3.9.\n'
+ '\n'
+ 'str.removesuffix(suffix, /)\n'
+ '\n'
+ ' If the string ends with the *suffix* string and that '
+ '*suffix* is\n'
+ ' not empty, return "string[:-len(suffix)]". Otherwise, '
+ 'return a copy\n'
+ ' of the original string:\n'
+ '\n'
+ " >>> 'MiscTests'.removesuffix('Tests')\n"
+ " 'Misc'\n"
+ " >>> 'TmpDirMixin'.removesuffix('Tests')\n"
+ " 'TmpDirMixin'\n"
+ '\n'
+ ' New in version 3.9.\n'
+ '\n'
'str.replace(old, new[, count])\n'
'\n'
' Return a copy of the string with all occurrences of '
'followed by\n'
' the string itself.\n'
'\n'
- 'str.rsplit(sep=None, maxsplit=-1)\n'
+ 'str.rsplit(sep=None, maxsplit=- 1)\n'
'\n'
' Return a list of the words in the string, using *sep* '
'as the\n'
" >>> 'Monty Python'.removesuffix(' Python')\n"
" 'Monty'\n"
'\n'
- 'str.split(sep=None, maxsplit=-1)\n'
+ 'str.split(sep=None, maxsplit=- 1)\n'
'\n'
' Return a list of the words in the string, using *sep* '
'as the\n'
'\n'
'2. Unlike in Standard C, exactly two hex digits are required.\n'
'\n'
- '3. In a bytes literal, hexadecimal and octal escapes denote the\n'
- ' byte with the given value. In a string literal, these escapes\n'
- ' denote a Unicode character with the given value.\n'
+ '3. In a bytes literal, hexadecimal and octal escapes denote the '
+ 'byte\n'
+ ' with the given value. In a string literal, these escapes '
+ 'denote a\n'
+ ' Unicode character with the given value.\n'
'\n'
'4. Changed in version 3.3: Support for name aliases [1] has been\n'
' added.\n'
'\n'
'5. Exactly four hex digits are required.\n'
'\n'
- '6. Any Unicode character can be encoded this way. Exactly eight\n'
- ' hex digits are required.\n'
+ '6. Any Unicode character can be encoded this way. Exactly eight '
+ 'hex\n'
+ ' digits are required.\n'
'\n'
'Unlike Standard C, all unrecognized escape sequences are left in '
'the\n'
' points. All the code points in the range "U+0000 - '
'U+10FFFF"\n'
' can be represented in a string. Python doesn’t have a '
- '"char"\n'
+ '*char*\n'
' type; instead, every code point in the string is '
'represented\n'
' as a string object with length "1". The built-in '
'\n'
' Changed in version 3.8: Dictionaries are now reversible.\n'
'\n'
- 'See also: "types.MappingProxyType" can be used to create a '
- 'read-only\n'
- ' view of a "dict".\n'
+ 'See also:\n'
+ '\n'
+ ' "types.MappingProxyType" can be used to create a read-only '
+ 'view of a\n'
+ ' "dict".\n'
'\n'
'\n'
'Dictionary view objects\n'
' Changed in version 3.8: Dictionary views are now '
'reversible.\n'
'\n'
+ 'dictview.mapping\n'
+ '\n'
+ ' Return a "types.MappingProxyType" that wraps the '
+ 'original\n'
+ ' dictionary to which the view refers.\n'
+ '\n'
+ ' New in version 3.10.\n'
+ '\n'
'Keys views are set-like since their entries are unique and '
'hashable.\n'
'If all values are hashable, so that "(key, value)" pairs are '
" >>> keys & {'eggs', 'bacon', 'salad'}\n"
" {'bacon'}\n"
" >>> keys ^ {'sausage', 'juice'}\n"
- " {'juice', 'sausage', 'bacon', 'spam'}\n",
+ " {'juice', 'sausage', 'bacon', 'spam'}\n"
+ '\n'
+ ' >>> # get back a read-only proxy for the original '
+ 'dictionary\n'
+ ' >>> values.mapping\n'
+ " mappingproxy({'eggs': 2, 'sausage': 1, 'bacon': 1, "
+ "'spam': 500})\n"
+ " >>> values.mapping['spam']\n"
+ ' 500\n',
'typesmethods': 'Methods\n'
'*******\n'
'\n'
'"None", it\n'
' is treated like "1".\n'
'\n'
- '6. Concatenating immutable sequences always results in a new\n'
- ' object. This means that building up a sequence by repeated\n'
- ' concatenation will have a quadratic runtime cost in the '
- 'total\n'
- ' sequence length. To get a linear runtime cost, you must '
- 'switch to\n'
- ' one of the alternatives below:\n'
+ '6. Concatenating immutable sequences always results in a new '
+ 'object.\n'
+ ' This means that building up a sequence by repeated '
+ 'concatenation\n'
+ ' will have a quadratic runtime cost in the total sequence '
+ 'length.\n'
+ ' To get a linear runtime cost, you must switch to one of the\n'
+ ' alternatives below:\n'
'\n'
' * if concatenating "str" objects, you can build a list and '
'use\n'
' * for other types, investigate the relevant class '
'documentation\n'
'\n'
- '7. Some sequence types (such as "range") only support item\n'
- ' sequences that follow specific patterns, and hence don’t '
- 'support\n'
- ' sequence concatenation or repetition.\n'
- '\n'
- '8. "index" raises "ValueError" when *x* is not found in *s*. '
- 'Not\n'
- ' all implementations support passing the additional arguments '
- '*i*\n'
- ' and *j*. These arguments allow efficient searching of '
- 'subsections\n'
- ' of the sequence. Passing the extra arguments is roughly '
- 'equivalent\n'
- ' to using "s[i:j].index(x)", only without copying any data and '
- 'with\n'
- ' the returned index being relative to the start of the '
+ '7. Some sequence types (such as "range") only support item '
+ 'sequences\n'
+ ' that follow specific patterns, and hence don’t support '
'sequence\n'
- ' rather than the start of the slice.\n'
+ ' concatenation or repetition.\n'
+ '\n'
+ '8. "index" raises "ValueError" when *x* is not found in *s*. Not '
+ 'all\n'
+ ' implementations support passing the additional arguments *i* '
+ 'and\n'
+ ' *j*. These arguments allow efficient searching of subsections '
+ 'of\n'
+ ' the sequence. Passing the extra arguments is roughly '
+ 'equivalent to\n'
+ ' using "s[i:j].index(x)", only without copying any data and '
+ 'with the\n'
+ ' returned index being relative to the start of the sequence '
+ 'rather\n'
+ ' than the start of the slice.\n'
'\n'
'\n'
'Immutable Sequence Types\n'
'1. *t* must have the same length as the slice it is replacing.\n'
'\n'
'2. The optional argument *i* defaults to "-1", so that by '
- 'default\n'
- ' the last item is removed and returned.\n'
+ 'default the\n'
+ ' last item is removed and returned.\n'
'\n'
'3. "remove()" raises "ValueError" when *x* is not found in *s*.\n'
'\n'
- '4. The "reverse()" method modifies the sequence in place for\n'
- ' economy of space when reversing a large sequence. To remind '
- 'users\n'
- ' that it operates by side effect, it does not return the '
- 'reversed\n'
- ' sequence.\n'
+ '4. The "reverse()" method modifies the sequence in place for '
+ 'economy\n'
+ ' of space when reversing a large sequence. To remind users '
+ 'that it\n'
+ ' operates by side effect, it does not return the reversed '
+ 'sequence.\n'
'\n'
'5. "clear()" and "copy()" are included for consistency with the\n'
' interfaces of mutable containers that don’t support slicing\n'
' * Using a pair of square brackets to denote the empty list: '
'"[]"\n'
'\n'
- ' * Using square brackets, separating items with commas: '
- '"[a]",\n'
- ' "[a, b, c]"\n'
+ ' * Using square brackets, separating items with commas: "[a]", '
+ '"[a,\n'
+ ' b, c]"\n'
'\n'
' * Using a list comprehension: "[x for x in iterable]"\n'
'\n'
'\n'
'See also:\n'
'\n'
- ' * The linspace recipe shows how to implement a lazy version '
- 'of\n'
- ' range suitable for floating point applications.\n',
+ ' * The linspace recipe shows how to implement a lazy version of '
+ 'range\n'
+ ' suitable for floating point applications.\n',
'typesseq-mutable': 'Mutable Sequence Types\n'
'**********************\n'
'\n'
'replacing.\n'
'\n'
'2. The optional argument *i* defaults to "-1", so that '
- 'by default\n'
- ' the last item is removed and returned.\n'
+ 'by default the\n'
+ ' last item is removed and returned.\n'
'\n'
'3. "remove()" raises "ValueError" when *x* is not found '
'in *s*.\n'
'\n'
'4. The "reverse()" method modifies the sequence in place '
- 'for\n'
- ' economy of space when reversing a large sequence. To '
- 'remind users\n'
- ' that it operates by side effect, it does not return '
- 'the reversed\n'
- ' sequence.\n'
+ 'for economy\n'
+ ' of space when reversing a large sequence. To remind '
+ 'users that it\n'
+ ' operates by side effect, it does not return the '
+ 'reversed sequence.\n'
'\n'
'5. "clear()" and "copy()" are included for consistency '
'with the\n'
'The execution of the "with" statement with one “item” proceeds as\n'
'follows:\n'
'\n'
- '1. The context expression (the expression given in the "with_item")\n'
- ' is evaluated to obtain a context manager.\n'
+ '1. The context expression (the expression given in the "with_item") '
+ 'is\n'
+ ' evaluated to obtain a context manager.\n'
'\n'
'2. The context manager’s "__enter__()" is loaded for later use.\n'
'\n'
'\n'
'4. The context manager’s "__enter__()" method is invoked.\n'
'\n'
- '5. If a target was included in the "with" statement, the return\n'
- ' value from "__enter__()" is assigned to it.\n'
+ '5. If a target was included in the "with" statement, the return '
+ 'value\n'
+ ' from "__enter__()" is assigned to it.\n'
+ '\n'
+ ' Note:\n'
'\n'
- ' Note: The "with" statement guarantees that if the "__enter__()"\n'
- ' method returns without an error, then "__exit__()" will always '
- 'be\n'
+ ' The "with" statement guarantees that if the "__enter__()" '
+ 'method\n'
+ ' returns without an error, then "__exit__()" will always be\n'
' called. Thus, if an error occurs during the assignment to the\n'
' target list, it will be treated the same as an error occurring\n'
' within the suite would be. See step 6 below.\n'
--- /dev/null
+.. bpo: 41304
+.. date: 2020-07-15-20-15-08
+.. nonce: vNEeYA
+.. release date: 2020-10-05
+.. section: Security
+
+Fixes `python3x._pth` being ignored on Windows, caused by the fix for
+:issue:`29778` (CVE-2020-15801).
+
+..
+
+.. bpo: 41162
+.. date: 2020-07-03-20-41-29
+.. nonce: tb8pVj
+.. section: Security
+
+Audit hooks are now cleared later during finalization to avoid missing
+events.
+
+..
+
+.. bpo: 29778
+.. date: 2020-07-03-17-21-37
+.. nonce: cR_fGS
+.. section: Security
+
+Ensure :file:`python3.dll` is loaded from correct locations when Python is
+embedded (CVE-2020-15523).
+
+..
+
+.. bpo: 41004
+.. date: 2020-06-29-16-02-29
+.. nonce: ovF0KZ
+.. section: Security
+
+The __hash__() methods of ipaddress.IPv4Interface and
+ipaddress.IPv6Interface incorrectly generated constant hash values of 32 and
+128 respectively. This resulted in always causing hash collisions. The fix
+uses hash() to generate hash values for the tuple of (address, mask length,
+network address).
+
+..
+
+.. bpo: 39603
+.. date: 2020-02-12-14-17-39
+.. nonce: Gt3RSg
+.. section: Security
+
+Prevent http header injection by rejecting control characters in
+http.client.putrequest(...).
+
+..
+
+.. bpo: 41909
+.. date: 2020-10-04-10-55-12
+.. nonce: BqHPcm
+.. section: Core and Builtins
+
+Fixed stack overflow in :func:`issubclass` and :func:`isinstance` when
+getting the ``__bases__`` attribute leads to infinite recursion.
+
+..
+
+.. bpo: 41922
+.. date: 2020-10-04-01-02-58
+.. nonce: kHGT8I
+.. section: Core and Builtins
+
+Speed up calls to ``reversed()`` by using the :pep:`590` ``vectorcall``
+calling convention. Patch by Dong-hee Na.
+
+..
+
+.. bpo: 41873
+.. date: 2020-09-28-08-58-28
+.. nonce: VzEDhA
+.. section: Core and Builtins
+
+Calls to ``float()`` are now faster due to the ``vectorcall`` calling
+convention. Patch by Dennis Sweeney.
+
+..
+
+.. bpo: 41870
+.. date: 2020-09-27-22-23-14
+.. nonce: 2v6_v4
+.. section: Core and Builtins
+
+Speed up calls to ``bool()`` by using the :pep:`590` ``vectorcall`` calling
+convention. Patch by Dong-hee Na.
+
+..
+
+.. bpo: 1635741
+.. date: 2020-09-26-14-43-30
+.. nonce: aJS9B3
+.. section: Core and Builtins
+
+Port the :mod:`_bisect` module to the multi-phase initialization API
+(:pep:`489`).
+
+..
+
+.. bpo: 39934
+.. date: 2020-09-24-12-15-45
+.. nonce: YVHTCF
+.. section: Core and Builtins
+
+Correctly count control blocks in 'except' in compiler. Ensures that a
+syntax error, rather a fatal error, occurs for deeply nested, named
+exception handlers.
+
+..
+
+.. bpo: 41780
+.. date: 2020-09-15-23-29-49
+.. nonce: bOBUIH
+.. section: Core and Builtins
+
+Fix :meth:`__dir__` of :class:`types.GenericAlias`. Patch by Batuhan
+Taskaya.
+
+..
+
+.. bpo: 1635741
+.. date: 2020-09-12-18-34-34
+.. nonce: lh335O
+.. section: Core and Builtins
+
+Port the :mod:`_lsprof` extension module to multi-phase initialization
+(:pep:`489`).
+
+..
+
+.. bpo: 41756
+.. date: 2020-09-12-12-55-45
+.. nonce: 1h0tbV
+.. section: Core and Builtins
+
+Add PyGen_Send function to allow sending value into generator/coroutine
+without raising StopIteration exception to signal return
+
+..
+
+.. bpo: 1635741
+.. date: 2020-09-08-21-58-47
+.. nonce: vdjSLH
+.. section: Core and Builtins
+
+Port the :mod:`cmath` extension module to multi-phase initialization
+(:pep:`489`).
+
+..
+
+.. bpo: 1635741
+.. date: 2020-09-08-20-39-43
+.. nonce: jiXmyT
+.. section: Core and Builtins
+
+Port the :mod:`_scproxy` extension module to multi-phase initialization
+(:pep:`489`).
+
+..
+
+.. bpo: 1635741
+.. date: 2020-09-07-11-35-02
+.. nonce: rvIexb
+.. section: Core and Builtins
+
+Port the :mod:`termios` extension module to multi-phase initialization
+(:pep:`489`).
+
+..
+
+.. bpo: 1635741
+.. date: 2020-09-07-09-45-47
+.. nonce: QuDIut
+.. section: Core and Builtins
+
+Convert the :mod:`_sha256` extension module types to heap types.
+
+..
+
+.. bpo: 41690
+.. date: 2020-09-02-12-00-57
+.. nonce: Ny-Sfy
+.. section: Core and Builtins
+
+Fix a possible stack overflow in the parser when parsing functions and
+classes with a huge ammount of arguments. Patch by Pablo Galindo.
+
+..
+
+.. bpo: 1635741
+.. date: 2020-09-01-17-22-35
+.. nonce: CnRME3
+.. section: Core and Builtins
+
+Port the :mod:`_overlapped` extension module to multi-phase initialization
+(:pep:`489`).
+
+..
+
+.. bpo: 1635741
+.. date: 2020-09-01-17-08-07
+.. nonce: X9CZgo
+.. section: Core and Builtins
+
+Port the :mod:`_curses_panel` extension module to multi-phase initialization
+(:pep:`489`).
+
+..
+
+.. bpo: 1635741
+.. date: 2020-09-01-17-06-02
+.. nonce: 5jZymK
+.. section: Core and Builtins
+
+Port the :mod:`_opcode` extension module to multi-phase initialization
+(:pep:`489`).
+
+..
+
+.. bpo: 41681
+.. date: 2020-08-31-17-49-02
+.. nonce: 3-VJiH
+.. section: Core and Builtins
+
+Fixes the wrong error description in the error raised by using 2 `,` in
+format string in f-string and :meth:`str.format`.
+
+..
+
+.. bpo: 41675
+.. date: 2020-08-31-14-53-17
+.. nonce: VSoqWU
+.. section: Core and Builtins
+
+The implementation of :func:`signal.siginterrupt` now uses
+:c:func:`sigaction` (if it is available in the system) instead of the
+deprecated :c:func:`siginterrupt`. Patch by Pablo Galindo.
+
+..
+
+.. bpo: 41670
+.. date: 2020-08-31-11-37-59
+.. nonce: vmRJRx
+.. section: Core and Builtins
+
+Prevent line trace being skipped on platforms not compiled with
+``USE_COMPUTED_GOTOS``. Fixes issue where some lines nested within a
+try-except block were not being traced on Windows.
+
+..
+
+.. bpo: 41654
+.. date: 2020-08-30-20-38-33
+.. nonce: HtnhAM
+.. section: Core and Builtins
+
+Fix a crash that occurred when destroying subclasses of
+:class:`MemoryError`. Patch by Pablo Galindo.
+
+..
+
+.. bpo: 1635741
+.. date: 2020-08-28-20-54-04
+.. nonce: 7ijlcI
+.. section: Core and Builtins
+
+Port the :mod:`zlib` extension module to multi-phase initialization
+(:pep:`489`).
+
+..
+
+.. bpo: 41631
+.. date: 2020-08-26-11-23-31
+.. nonce: 3jZcd9
+.. section: Core and Builtins
+
+The ``_ast`` module uses again a global state. Using a module state per
+module instance is causing subtle practical problems. For example, the
+Mercurial project replaces the ``__import__()`` function to implement lazy
+import, whereas Python expected that ``import _ast`` always return a fully
+initialized ``_ast`` module.
+
+..
+
+.. bpo: 40077
+.. date: 2020-08-25-22-43-33
+.. nonce: vcxSUa
+.. section: Core and Builtins
+
+Convert :mod:`_operator` to use :c:func:`PyType_FromSpec`.
+
+..
+
+.. bpo: 1653741
+.. date: 2020-08-13-07-19-21
+.. nonce: fubBkb
+.. section: Core and Builtins
+
+Port :mod:`_sha3` to multi-phase init. Convert static types to heap types.
+
+..
+
+.. bpo: 1635741
+.. date: 2020-08-13-07-18-05
+.. nonce: FC13e7
+.. section: Core and Builtins
+
+Port the :mod:`_blake2` extension module to the multi-phase initialization
+API (:pep:`489`).
+
+..
+
+.. bpo: 41533
+.. date: 2020-08-12-20-29-57
+.. nonce: 4pcVAc
+.. section: Core and Builtins
+
+Free the stack allocated in ``va_build_stack`` if ``do_mkstack`` fails and
+the stack is not a ``small_stack``.
+
+..
+
+.. bpo: 41531
+.. date: 2020-08-12-19-32-15
+.. nonce: WgPzjT
+.. section: Core and Builtins
+
+Fix a bug that was dropping keys when compiling dict literals with more than
+0xFFFF elements. Patch by Pablo Galindo.
+
+..
+
+.. bpo: 41525
+.. date: 2020-08-12-07-35-07
+.. nonce: d9q3XL
+.. section: Core and Builtins
+
+The output of ``python --help`` contains now only ASCII characters.
+
+..
+
+.. bpo: 1635741
+.. date: 2020-08-10-16-11-32
+.. nonce: O0d3ym
+.. section: Core and Builtins
+
+Port the :mod:`_sha1`, :mod:`_sha512`, and :mod:`_md5` extension modules to
+multi-phase initialization API (:pep:`489`).
+
+..
+
+.. bpo: 41431
+.. date: 2020-08-02-15-53-12
+.. nonce: TblUBT
+.. section: Core and Builtins
+
+Optimize ``dict_merge()`` for copying dict (e.g. ``dict(d)`` and
+``{}.update(d)``).
+
+..
+
+.. bpo: 41428
+.. date: 2020-07-28-22-43-27
+.. nonce: FM6xsI
+.. section: Core and Builtins
+
+Implement PEP 604. This supports (int | str) etc. in place of Union[str,
+int].
+
+..
+
+.. bpo: 41340
+.. date: 2020-07-27-01-50-06
+.. nonce: pZXfcF
+.. section: Core and Builtins
+
+Removed fallback implementation for ``strdup``.
+
+..
+
+.. bpo: 38156
+.. date: 2020-07-20-17-01-17
+.. nonce: ptcdRy
+.. section: Core and Builtins
+
+Handle interrupts that come after EOF correctly in ``PyOS_StdioReadline``.
+
+..
+
+.. bpo: 41342
+.. date: 2020-07-19-15-40-52
+.. nonce: RRk_m_
+.. section: Core and Builtins
+
+:func:`round` with integer argument is now faster (9--60%).
+
+..
+
+.. bpo: 41334
+.. date: 2020-07-18-18-01-10
+.. nonce: t5xMGp
+.. section: Core and Builtins
+
+Constructors :func:`str`, :func:`bytes` and :func:`bytearray` are now faster
+(around 30--40% for small objects).
+
+..
+
+.. bpo: 41295
+.. date: 2020-07-18-08-15-32
+.. nonce: pu8Ezo
+.. section: Core and Builtins
+
+Resolve a regression in CPython 3.8.4 where defining "__setattr__" in a
+multi-inheritance setup and calling up the hierarchy chain could fail if
+builtins/extension types were involved in the base types.
+
+..
+
+.. bpo: 41323
+.. date: 2020-07-17-11-31-54
+.. nonce: ChbZHh
+.. section: Core and Builtins
+
+Bytecode optimizations are performed directly on the control flow graph.
+This will result in slightly more compact code objects in some
+circumstances.
+
+..
+
+.. bpo: 41247
+.. date: 2020-07-08-22-03-54
+.. nonce: PndYIk
+.. section: Core and Builtins
+
+Always cache the running loop holder when running
+``asyncio.set_running_loop``.
+
+..
+
+.. bpo: 41252
+.. date: 2020-07-08-21-55-23
+.. nonce: nBWL-Y
+.. section: Core and Builtins
+
+Fix incorrect refcounting in _ssl.c's ``_servername_callback()``.
+
+..
+
+.. bpo: 1635741
+.. date: 2020-07-07-16-10-52
+.. nonce: zU-H_n
+.. section: Core and Builtins
+
+Port :mod:`multiprocessing` to multi-phase initialization
+
+..
+
+.. bpo: 1635741
+.. date: 2020-07-06-20-43-19
+.. nonce: LYhsni
+.. section: Core and Builtins
+
+Port :mod:`winapi` to multiphase initialization
+
+..
+
+.. bpo: 41215
+.. date: 2020-07-06-18-36-33
+.. nonce: vFGFIz
+.. section: Core and Builtins
+
+Use non-NULL default values in the PEG parser keyword list to overcome a bug
+that was preventing Python from being properly compiled when using the XLC
+compiler. Patch by Pablo Galindo.
+
+..
+
+.. bpo: 41218
+.. date: 2020-07-06-13-35-17
+.. nonce: oKnSr2
+.. section: Core and Builtins
+
+Python 3.8.3 had a regression where compiling with
+ast.PyCF_ALLOW_TOP_LEVEL_AWAIT would aggressively mark list comprehension
+with CO_COROUTINE. Now only list comprehension making use of async/await
+will tagged as so.
+
+..
+
+.. bpo: 1635741
+.. date: 2020-07-03-23-10-02
+.. nonce: F5coWe
+.. section: Core and Builtins
+
+Port :mod:`faulthandler` to multiphase initialization.
+
+..
+
+.. bpo: 1635741
+.. date: 2020-07-01-20-17-38
+.. nonce: -AtPYu
+.. section: Core and Builtins
+
+Port :mod:`sha256` to multiphase initialization
+
+..
+
+.. bpo: 41175
+.. date: 2020-06-30-20-17-31
+.. nonce: acJoXB
+.. section: Core and Builtins
+
+Guard against a NULL pointer dereference within bytearrayobject triggered by
+the ``bytearray() + bytearray()`` operation.
+
+..
+
+.. bpo: 41100
+.. date: 2020-06-30-04-44-29
+.. nonce: PJwA6F
+.. section: Core and Builtins
+
+add arm64 to the allowable Mac OS arches in mpdecimal.h
+
+..
+
+.. bpo: 41094
+.. date: 2020-06-23-23-26-42
+.. nonce: zEIJse
+.. section: Core and Builtins
+
+Fix decoding errors with audit when open files with non-ASCII names on
+non-UTF-8 locale.
+
+..
+
+.. bpo: 39960
+.. date: 2020-06-23-18-32-41
+.. nonce: Kez3fP
+.. section: Core and Builtins
+
+The "hackcheck" that prevents sneaking around a type's __setattr__() by
+calling the superclass method was rewritten to allow C implemented heap
+types.
+
+..
+
+.. bpo: 41084
+.. date: 2020-06-23-15-10-19
+.. nonce: pt3y7F
+.. section: Core and Builtins
+
+Prefix the error message with 'f-string: ', when parsing an f-string
+expression which throws a :exc:`SyntaxError`.
+
+..
+
+.. bpo: 40521
+.. date: 2020-06-23-07-35-11
+.. nonce: dMNA6k
+.. section: Core and Builtins
+
+Empty frozensets are no longer singletons.
+
+..
+
+.. bpo: 41076
+.. date: 2020-06-22-13-22-30
+.. nonce: eWYw2N
+.. section: Core and Builtins
+
+Pre-feed the parser with the location of the f-string expression, not the
+f-string itself, which allows us to skip the shifting of the AST node
+locations after the parsing is completed.
+
+..
+
+.. bpo: 41056
+.. date: 2020-06-21-19-53-33
+.. nonce: IDu_EK
+.. section: Core and Builtins
+
+Fixes a reference to deallocated stack space during startup when
+constructing sys.path involving a relative symlink when code was supplied
+via -c. (discovered via Coverity)
+
+..
+
+.. bpo: 41061
+.. date: 2020-06-21-10-54-02
+.. nonce: AHf9MU
+.. section: Core and Builtins
+
+Fix incorrect expressions and asserts in hashtable code and tests.
+
+..
+
+.. bpo: 41052
+.. date: 2020-06-20-22-46-18
+.. nonce: 46MPeF
+.. section: Core and Builtins
+
+Opt out serialization/deserialization for _random.Random
+
+..
+
+.. bpo: 40939
+.. date: 2020-06-20-19-27-47
+.. nonce: jxJ4yn
+.. section: Core and Builtins
+
+Rename `PyPegen*` functions to `PyParser*`, so that we can remove the old
+set of `PyParser*` functions that were using the old parser, but keep
+everything backwards-compatible.
+
+..
+
+.. bpo: 35975
+.. date: 2020-06-20-17-00-44
+.. nonce: UDHCHp
+.. section: Core and Builtins
+
+Stefan Behnel reported that cf_feature_version is used even when
+PyCF_ONLY_AST is not set. This is against the intention and against the
+documented behavior, so it's been fixed.
+
+..
+
+.. bpo: 40939
+.. date: 2020-06-20-16-59-02
+.. nonce: 6810Ak
+.. section: Core and Builtins
+
+Remove the remaining files from the old parser and the :mod:`symbol` module.
+
+..
+
+.. bpo: 40077
+.. date: 2020-06-18-19-04-30
+.. nonce: _yI-ax
+.. section: Core and Builtins
+
+Convert :mod:`_bz2` to use :c:func:`PyType_FromSpec`.
+
+..
+
+.. bpo: 41006
+.. date: 2020-06-18-00-07-09
+.. nonce: H-wN-d
+.. section: Core and Builtins
+
+The ``encodings.latin_1`` module is no longer imported at startup. Now it is
+only imported when it is the filesystem encoding or the stdio encoding.
+
+..
+
+.. bpo: 40636
+.. date: 2020-06-17-10-27-17
+.. nonce: MYaCIe
+.. section: Core and Builtins
+
+:func:`zip` now supports :pep:`618`'s ``strict`` parameter, which raises a
+:exc:`ValueError` if the arguments are exhausted at different lengths. Patch
+by Brandt Bucher.
+
+..
+
+.. bpo: 1635741
+.. date: 2020-06-17-00-52-21
+.. nonce: 61iyYh
+.. section: Core and Builtins
+
+Port :mod:`_gdbm` to multiphase initialization.
+
+..
+
+.. bpo: 40985
+.. date: 2020-06-15-16-29-55
+.. nonce: IIN_xX
+.. section: Core and Builtins
+
+Fix a bug that caused the :exc:`SyntaxError` text to be empty when a file
+ends with a line ending in a line continuation character (i.e. backslash).
+The error text should contain the text of the last line.
+
+..
+
+.. bpo: 40958
+.. date: 2020-06-15-01-20-44
+.. nonce: 7O2Wh1
+.. section: Core and Builtins
+
+Fix a possible buffer overflow in the PEG parser when gathering information
+for emitting syntax errors. Patch by Pablo Galindo.
+
+..
+
+.. bpo: 1635741
+.. date: 2020-06-12-22-56-17
+.. nonce: mmlp3Q
+.. section: Core and Builtins
+
+Port :mod:`_dbm` to multiphase initialization.
+
+..
+
+.. bpo: 40957
+.. date: 2020-06-12-12-21-54
+.. nonce: Z8n6I6
+.. section: Core and Builtins
+
+Fix refleak in _Py_fopen_obj() when PySys_Audit() fails
+
+..
+
+.. bpo: 40950
+.. date: 2020-06-12-00-12-28
+.. nonce: tzMy7m
+.. section: Core and Builtins
+
+Add a state to the :mod:`nis` module (:pep:`3121`) and apply the multiphase
+initialization. Patch by Dong-hee Na.
+
+..
+
+.. bpo: 40947
+.. date: 2020-06-11-16-06-49
+.. nonce: 72cZcR
+.. section: Core and Builtins
+
+The Python :ref:`Path Configuration <init-path-config>` now takes
+:c:member:`PyConfig.platlibdir` in account.
+
+..
+
+.. bpo: 40939
+.. date: 2020-06-10-11-27-15
+.. nonce: DO-wAI
+.. section: Core and Builtins
+
+Remove the old parser, the :mod:`parser` module and all associated support
+code, command-line options and environment variables. Patch by Pablo
+Galindo.
+
+..
+
+.. bpo: 40847
+.. date: 2020-06-09-23-52-32
+.. nonce: 4XAACw
+.. section: Core and Builtins
+
+Fix a bug where a line with only a line continuation character is not
+considered a blank line at tokenizer level. In such cases, more than a
+single `NEWLINE` token was emitted. The old parser was working around the
+issue, but the new parser threw a :exc:`SyntaxError` for valid input due to
+this. For example, an empty line following a line continuation character was
+interpreted as a :exc:`SyntaxError`.
+
+..
+
+.. bpo: 40890
+.. date: 2020-06-09-00-20-13
+.. nonce: LoRV-g
+.. section: Core and Builtins
+
+Each dictionary view now has a ``mapping`` attribute that provides a
+:class:`types.MappingProxyType` wrapping the original dictionary. Patch
+contributed by Dennis Sweeney.
+
+..
+
+.. bpo: 40889
+.. date: 2020-06-08-22-46-33
+.. nonce: vIBl-W
+.. section: Core and Builtins
+
+Improved the performance of symmetric difference operations on dictionary
+item views. Patch by Dennis Sweeney.
+
+..
+
+.. bpo: 40904
+.. date: 2020-06-08-01-08-57
+.. nonce: 76qQzo
+.. section: Core and Builtins
+
+Fix possible segfault in the new PEG parser when parsing f-string containing
+yield statements with no value (:code:`f"{yield}"`). Patch by Pablo Galindo
+
+..
+
+.. bpo: 40903
+.. date: 2020-06-07-22-50-10
+.. nonce: 7dWejS
+.. section: Core and Builtins
+
+Fixed a possible segfault in the new PEG parser when producing error
+messages for invalid assignments of the form :code:`p=p=`. Patch by Pablo
+Galindo
+
+..
+
+.. bpo: 40880
+.. date: 2020-06-06-00-23-19
+.. nonce: fjdzSh
+.. section: Core and Builtins
+
+Fix invalid memory read in the new parser when checking newlines in string
+literals. Patch by Pablo Galindo.
+
+..
+
+.. bpo: 40883
+.. date: 2020-06-05-23-25-00
+.. nonce: M6sQ-Q
+.. section: Core and Builtins
+
+Fix memory leak in when parsing f-strings in the new parser. Patch by Pablo
+Galindo
+
+..
+
+.. bpo: 40870
+.. date: 2020-06-05-12-48-28
+.. nonce: 9cd2sk
+.. section: Core and Builtins
+
+Raise :exc:`ValueError` when validating custom AST's where the constants
+``True``, ``False`` and ``None`` are used within a :class:`ast.Name` node.
+
+..
+
+.. bpo: 40854
+.. date: 2020-06-03-13-53-24
+.. nonce: O6vfQU
+.. section: Core and Builtins
+
+Allow overriding :data:`sys.platlibdir` via a new :envvar:`PYTHONPLATLIBDIR`
+environment variable.
+
+..
+
+.. bpo: 40826
+.. date: 2020-06-01-20-31-07
+.. nonce: XCI4M2
+.. section: Core and Builtins
+
+Fix GIL usage in :c:func:`PyOS_Readline`: lock the GIL to set an exception
+and pass the Python thread state when checking if there is a pending signal.
+
+..
+
+.. bpo: 1635741
+.. date: 2020-05-30-23-23-35
+.. nonce: 0D-laM
+.. section: Core and Builtins
+
+Port :mod:`fcntl` to multiphase initialization.
+
+..
+
+.. bpo: 19468
+.. date: 2020-05-30-23-18-35
+.. nonce: S-TA7p
+.. section: Core and Builtins
+
+Delete unnecessary instance check in importlib.reload(). Patch by Furkan
+Önder.
+
+..
+
+.. bpo: 40824
+.. date: 2020-05-30-14-37-18
+.. nonce: XR3V5s
+.. section: Core and Builtins
+
+Unexpected errors in calling the ``__iter__`` method are no longer masked by
+``TypeError`` in the :keyword:`in` operator and functions
+:func:`~operator.contains`, :func:`~operator.indexOf` and
+:func:`~operator.countOf` of the :mod:`operator` module.
+
+..
+
+.. bpo: 40792
+.. date: 2020-05-27-22-37-58
+.. nonce: WEDqqU
+.. section: Core and Builtins
+
+Attributes ``start``, ``stop`` and ``step`` of the :class:`range` object now
+always has exact type :class:`int`. Previously, they could have been an
+instance of a subclass of ``int``.
+
+..
+
+.. bpo: 40780
+.. date: 2020-05-26-17-43-58
+.. nonce: 3Ckdgm
+.. section: Core and Builtins
+
+Fix a corner case where g-style string formatting of a float failed to
+remove trailing zeros.
+
+..
+
+.. bpo: 38964
+.. date: 2020-05-25-21-49-11
+.. nonce: lrml90
+.. section: Core and Builtins
+
+When there's a :exc:`SyntaxError` in the expression part of an fstring, the
+filename attribute of the :exc:`SyntaxError` gets correctly set to the name
+of the file the fstring resides in.
+
+..
+
+.. bpo: 40750
+.. date: 2020-05-24-02-42-26
+.. nonce: ZmO9Ev
+.. section: Core and Builtins
+
+Support the "-d" debug flag in the new PEG parser. Patch by Pablo Galindo
+
+..
+
+.. bpo: 40217
+.. date: 2020-05-23-01-15-51
+.. nonce: jZsHTc
+.. section: Core and Builtins
+
+Instances of types created with :c:func:`PyType_FromSpecWithBases` will no
+longer automatically visit their class object when traversing references in
+the garbage collector. The user is expected to manually visit the object's
+class. Patch by Pablo Galindo.
+
+..
+
+.. bpo: 39573
+.. date: 2020-05-22-00-34-34
+.. nonce: QO2QHj
+.. section: Core and Builtins
+
+:c:func:`Py_TYPE()` is changed to the inline static function. Patch by
+Dong-hee Na.
+
+..
+
+.. bpo: 40696
+.. date: 2020-05-21-01-54-00
+.. nonce: u3n8Wx
+.. section: Core and Builtins
+
+Fix a hang that can arise after :meth:`generator.throw` due to a cycle in
+the exception context chain.
+
+..
+
+.. bpo: 40521
+.. date: 2020-05-20-01-17-34
+.. nonce: wvAehI
+.. section: Core and Builtins
+
+Each interpreter now its has own free lists, singletons and caches:
+
+* Free lists: float, tuple, list, dict, frame, context,
+ asynchronous generator, MemoryError.
+* Singletons: empty tuple, empty bytes string, empty Unicode string,
+ single byte character, single Unicode (latin1) character.
+* Slice cache.
+
+They are no longer shared by all interpreters.
+
+..
+
+.. bpo: 40679
+.. date: 2020-05-19-19-39-49
+.. nonce: SVzz9p
+.. section: Core and Builtins
+
+Certain :exc:`TypeError` messages about missing or extra arguments now
+include the function's :term:`qualified name`. Patch by Dennis Sweeney.
+
+..
+
+.. bpo: 29590
+.. date: 2020-05-03-22-26-00
+.. nonce: aRz3l7
+.. section: Core and Builtins
+
+Make the stack trace correct after calling :meth:`generator.throw` on a
+generator that has yielded from a ``yield from``.
+
+..
+
+.. bpo: 4022
+.. date: 2020-04-11-13-07-49
+.. nonce: Ctpn_F
+.. section: Core and Builtins
+
+Improve performance of generators by not raising internal StopIteration.
+
+..
+
+.. bpo: 1635741
+.. date: 2020-04-10-23-54-57
+.. nonce: ZURqoN
+.. section: Core and Builtins
+
+Port :mod:`mmap` to multiphase initialization.
+
+..
+
+.. bpo: 1635741
+.. date: 2020-04-05-02-35-08
+.. nonce: Kfe9fT
+.. section: Core and Builtins
+
+Port :mod:`_lzma` to multiphase initialization.
+
+..
+
+.. bpo: 37999
+.. date: 2019-09-01-14-26-02
+.. nonce: XPl6dn
+.. section: Core and Builtins
+
+Builtin and extension functions that take integer arguments no longer accept
+:class:`~decimal.Decimal`\ s, :class:`~fractions.Fraction`\ s and other
+objects that can be converted to integers only with a loss (e.g. that have
+the :meth:`~object.__int__` method but do not have the
+:meth:`~object.__index__` method).
+
+..
+
+.. bpo: 29882
+.. date: 2019-06-02-11-29-15
+.. nonce: AkRzjb
+.. section: Core and Builtins
+
+Add :meth:`int.bit_count()`, counting the number of ones in the binary
+representation of an integer. Patch by Niklas Fiekas.
+
+..
+
+.. bpo: 36982
+.. date: 2019-05-25-05-27-39
+.. nonce: 0UHgfB
+.. section: Core and Builtins
+
+Use ncurses extended color functions when available to support terminals
+with 256 colors, and add the new function
+:func:`curses.has_extended_color_support` to indicate whether extended color
+support is provided by the underlying ncurses library.
+
+..
+
+.. bpo: 19569
+.. date: 2018-08-29-15-57-07
+.. nonce: RGu2Kb
+.. section: Core and Builtins
+
+Add the private macros ``_Py_COMP_DIAG_PUSH``,
+``_Py_COMP_DIAG_IGNORE_DEPR_DECLS``, and ``_Py_COMP_DIAG_POP``.
+
+..
+
+.. bpo: 26680
+.. date: 2018-03-15-11-51-36
+.. nonce: wOWYps
+.. section: Core and Builtins
+
+The int type now supports the x.is_integer() method for compatibility with
+float.
+
+..
+
+.. bpo: 41900
+.. date: 2020-10-01-10-50-12
+.. nonce: Cho7oh
+.. section: Library
+
+C14N 2.0 serialisation in xml.etree.ElementTree failed for unprefixed
+attributes when a default namespace was defined.
+
+..
+
+.. bpo: 41887
+.. date: 2020-09-30-23-49-42
+.. nonce: -ee2S-
+.. section: Library
+
+Strip leading spaces and tabs on :func:`ast.literal_eval`. Also document
+stripping of spaces and tabs for :func:`eval`.
+
+..
+
+.. bpo: 41773
+.. date: 2020-09-28-23-22-25
+.. nonce: oKkus0
+.. section: Library
+
+Note in documentation that :func:`random.choices` doesn't support non-finite
+weights, raise :exc:`ValueError` when given non-finite weights.
+
+..
+
+.. bpo: 41840
+.. date: 2020-09-23-23-17-59
+.. nonce: QRFr4L
+.. section: Library
+
+Fix a bug in the :mod:`symtable` module that was causing module-scope global
+variables to not be reported as both local and global. Patch by Pablo
+Galindo.
+
+..
+
+.. bpo: 41842
+.. date: 2020-09-23-22-52-24
+.. nonce: lIuhC9
+.. section: Library
+
+Add :func:`codecs.unregister` function to unregister a codec search
+function.
+
+..
+
+.. bpo: 40564
+.. date: 2020-09-23-03-33-37
+.. nonce: iXQqMq
+.. section: Library
+
+In ``zipfile.Path``, mutate the passed ZipFile object type instead of making
+a copy. Prevents issues when both the local copy and the caller’s copy
+attempt to close the same file handle.
+
+..
+
+.. bpo: 40670
+.. date: 2020-09-22-14-55-34
+.. nonce: R5sm68
+.. section: Library
+
+More reliable validation of statements in :class:`timeit.Timer`. It now
+accepts "empty" statements (only whitespaces and comments) and rejects
+misindentent statements.
+
+..
+
+.. bpo: 41833
+.. date: 2020-09-22-13-51-14
+.. nonce: 6HVDjT
+.. section: Library
+
+The :class:`threading.Thread` constructor now uses the target name if the
+*target* argument is specified but the *name* argument is omitted.
+
+..
+
+.. bpo: 41817
+.. date: 2020-09-22-00-23-30
+.. nonce: bnh-VG
+.. section: Library
+
+fix `tkinter.EventType` Enum so all members are strings, and none are tuples
+
+..
+
+.. bpo: 41810
+.. date: 2020-09-20-15-14-05
+.. nonce: 7l8lyV
+.. section: Library
+
+:data:`types.EllipsisType`, :data:`types.NotImplementedType` and
+:data:`types.NoneType` have been reintroduced, providing a new set of types
+readily interpretable by static type checkers.
+
+..
+
+.. bpo: 41815
+.. date: 2020-09-19-23-14-54
+.. nonce: RNpuX3
+.. section: Library
+
+Fix SQLite3 segfault when backing up closed database. Patch contributed by
+Peter David McCormick.
+
+..
+
+.. bpo: 41816
+.. date: 2020-09-19-12-22-08
+.. nonce: ynynXJ
+.. section: Library
+
+StrEnum added: it ensures that all members are already strings or string
+candidates
+
+..
+
+.. bpo: 41517
+.. date: 2020-09-15-22-43-30
+.. nonce: sLBH7g
+.. section: Library
+
+fix bug allowing Enums to be extended via multiple inheritance
+
+..
+
+.. bpo: 39587
+.. date: 2020-09-15-14-56-13
+.. nonce: 69xzuh
+.. section: Library
+
+use the correct mix-in data type when constructing Enums
+
+..
+
+.. bpo: 41792
+.. date: 2020-09-15-07-55-35
+.. nonce: qMpSlU
+.. section: Library
+
+Add is_typeddict function to typing.py to check if a type is a TypedDict
+class
+
+Previously there was no way to check that without using private API. See the
+`relevant issue in python/typing
+<https://github.com/python/typing/issues/751>`
+
+..
+
+.. bpo: 41789
+.. date: 2020-09-14-19-27-46
+.. nonce: pI_uZQ
+.. section: Library
+
+Honor `object` overrides in `Enum` class creation (specifically, `__str__`,
+`__repr__`, `__format__`, and `__reduce_ex__`).
+
+..
+
+.. bpo: 32218
+.. date: 2020-09-12-16-18-42
+.. nonce: IpYkEe
+.. section: Library
+
+`enum.Flag` and `enum.IntFlag` members are now iterable
+
+..
+
+.. bpo: 39651
+.. date: 2020-09-11-12-38-55
+.. nonce: JMp9l2
+.. section: Library
+
+Fix a race condition in the ``call_soon_threadsafe()`` method of
+``asyncio.ProactorEventLoop``: do nothing if the self-pipe socket has been
+closed.
+
+..
+
+.. bpo: 1635741
+.. date: 2020-09-08-13-55-34
+.. nonce: 56MLP-
+.. section: Library
+
+Port the ``mashal`` extension module to the multi-phase initialization API
+(:pep:`489`).
+
+..
+
+.. bpo: 1635741
+.. date: 2020-09-08-13-51-16
+.. nonce: wkPeoT
+.. section: Library
+
+Port the ``_string`` extension module to the multi-phase initialization API
+(:pep:`489`).
+
+..
+
+.. bpo: 41732
+.. date: 2020-09-06-20-27-10
+.. nonce: 1SKv26
+.. section: Library
+
+Added an :term:`iterator` to :class:`memoryview`.
+
+..
+
+.. bpo: 41720
+.. date: 2020-09-04-20-45-38
+.. nonce: PW9MzZ
+.. section: Library
+
+Fixed :meth:`turtle.Vec2D.__rmul__` for arguments which are not int or
+float.
+
+..
+
+.. bpo: 41696
+.. date: 2020-09-03-01-35-32
+.. nonce: zkYGre
+.. section: Library
+
+Fix handling of debug mode in :func:`asyncio.run`. This allows setting
+``PYTHONASYNCIODEBUG`` or ``-X dev`` to enable asyncio debug mode when using
+:func:`asyncio.run`.
+
+..
+
+.. bpo: 41687
+.. date: 2020-09-01-15-57-51
+.. nonce: m1b1KA
+.. section: Library
+
+Fix implementation of sendfile to be compatible with Solaris.
+
+..
+
+.. bpo: 41662
+.. date: 2020-08-30-21-38-57
+.. nonce: 6e9iZn
+.. section: Library
+
+No longer override exceptions raised in ``__len__()`` of a sequence of
+parameters in :mod:`sqlite3` with :exc:`~sqlite3.ProgrammingError`.
+
+..
+
+.. bpo: 39010
+.. date: 2020-08-30-10-24-26
+.. nonce: _mzXJW
+.. section: Library
+
+Restarting a ``ProactorEventLoop`` on Windows no longer logs spurious
+``ConnectionResetErrors``.
+
+..
+
+.. bpo: 41638
+.. date: 2020-08-29-16-45-12
+.. nonce: iZfW5N
+.. section: Library
+
+:exc:`~sqlite3.ProgrammingError` message for absent parameter in
+:mod:`sqlite3` contains now the name of the parameter instead of its index
+when parameters are supplied as a dict.
+
+..
+
+.. bpo: 41662
+.. date: 2020-08-29-16-07-36
+.. nonce: Mn79zh
+.. section: Library
+
+Fixed crash when mutate list of parameters during iteration in
+:mod:`sqlite3`.
+
+..
+
+.. bpo: 41513
+.. date: 2020-08-23-14-23-18
+.. nonce: DGqc_I
+.. section: Library
+
+Improved the accuracy of math.hypot(). Internally, each step is computed
+with extra precision so that the result is now almost always correctly
+rounded.
+
+..
+
+.. bpo: 41609
+.. date: 2020-08-21-15-51-15
+.. nonce: JmiUKG
+.. section: Library
+
+The pdb whatis command correctly reports instance methods as 'Method' rather
+than 'Function'.
+
+..
+
+.. bpo: 39994
+.. date: 2020-08-15-18-17-21
+.. nonce: dOgPOh
+.. section: Library
+
+Fixed pprint's handling of dict subclasses that override __repr__.
+
+..
+
+.. bpo: 32751
+.. date: 2020-08-15-15-50-12
+.. nonce: 85je5X
+.. section: Library
+
+When cancelling the task due to a timeout, :meth:`asyncio.wait_for` will now
+wait until the cancellation is complete also in the case when *timeout* is
+<= 0, like it does with positive timeouts.
+
+..
+
+.. bpo: 37658
+.. date: 2020-08-15-15-21-40
+.. nonce: f9nivB
+.. section: Library
+
+:meth:`asyncio.wait_for` now properly handles races between cancellation of
+itself and the completion of the wrapped awaitable.
+
+..
+
+.. bpo: 40782
+.. date: 2020-08-13-08-07-25
+.. nonce: aGZqmB
+.. section: Library
+
+Change the method asyncio.AbstractEventLoop.run_in_executor to not be a
+coroutine.
+
+..
+
+.. bpo: 41520
+.. date: 2020-08-12-13-25-16
+.. nonce: BEUWa4
+.. section: Library
+
+Fix :mod:`codeop` regression that prevented turning compile warnings into
+errors.
+
+..
+
+.. bpo: 41528
+.. date: 2020-08-12-07-43-31
+.. nonce: bu83oD
+.. section: Library
+
+turtle uses math module functions to convert degrees to radians and vice
+versa and to calculate vector norm
+
+..
+
+.. bpo: 41513
+.. date: 2020-08-09-18-16-05
+.. nonce: e6K6EK
+.. section: Library
+
+Minor algorithmic improvement to math.hypot() and math.dist() giving small
+gains in speed and accuracy.
+
+..
+
+.. bpo: 41503
+.. date: 2020-08-07-15-18-16
+.. nonce: IYftcu
+.. section: Library
+
+Fixed a race between setTarget and flush in logging.handlers.MemoryHandler.
+
+..
+
+.. bpo: 41497
+.. date: 2020-08-07-06-06-29
+.. nonce: aBtsWz
+.. section: Library
+
+Fix potential UnicodeDecodeError in dis module.
+
+..
+
+.. bpo: 41467
+.. date: 2020-08-04-00-20-30
+.. nonce: Z8DgTL
+.. section: Library
+
+On Windows, fix asyncio ``recv_into()`` return value when the socket/pipe is
+closed (:exc:`BrokenPipeError`): return ``0`` rather than an empty byte
+string (``b''``).
+
+..
+
+.. bpo: 41425
+.. date: 2020-08-03-01-59-48
+.. nonce: KJo6zF
+.. section: Library
+
+Make tkinter doc example runnable.
+
+..
+
+.. bpo: 41421
+.. date: 2020-08-01-00-51-15
+.. nonce: dHKRVB
+.. section: Library
+
+Make an algebraic simplification to random.paretovariate(). It now is
+slightly less subject to round-off error and is slightly faster. Inputs that
+used to cause ZeroDivisionError now cause an OverflowError instead.
+
+..
+
+.. bpo: 41440
+.. date: 2020-07-30-14-56-58
+.. nonce: rju34k
+.. section: Library
+
+Add :func:`os.cpu_count()` support for VxWorks RTOS.
+
+..
+
+.. bpo: 41316
+.. date: 2020-07-28-12-08-58
+.. nonce: bSCbK4
+.. section: Library
+
+Fix the :mod:`tarfile` module to write only basename of TAR file to GZIP
+compression header.
+
+..
+
+.. bpo: 41384
+.. date: 2020-07-26-21-18-43
+.. nonce: MlzIgV
+.. section: Library
+
+Raise TclError instead of TypeError when an unknown option is passed to
+tkinter.OptionMenu.
+
+..
+
+.. bpo: 41317
+.. date: 2020-07-23-01-18-34
+.. nonce: O17Z6x
+.. section: Library
+
+Use add_done_callback() in asyncio.loop.sock_accept() to unsubscribe reader
+early on cancellation.
+
+..
+
+.. bpo: 41364
+.. date: 2020-07-21-21-45-55
+.. nonce: 5O-k7A
+.. section: Library
+
+Reduce import overhead of :mod:`uuid`.
+
+..
+
+.. bpo: 35328
+.. date: 2020-07-21-16-20-55
+.. nonce: jXovHb
+.. section: Library
+
+Set the environment variable ``VIRTUAL_ENV_PROMPT`` at :mod:`venv`
+activation.
+
+..
+
+.. bpo: 41341
+.. date: 2020-07-20-19-13-17
+.. nonce: wqrj8C
+.. section: Library
+
+Recursive evaluation of `typing.ForwardRef` in `get_type_hints`.
+
+..
+
+.. bpo: 41344
+.. date: 2020-07-20-13-27-48
+.. nonce: iKipNd
+.. section: Library
+
+Prevent creating :class:`shared_memory.SharedMemory` objects with
+:code:`size=0`.
+
+..
+
+.. bpo: 41333
+.. date: 2020-07-18-18-07-40
+.. nonce: upkHIm
+.. section: Library
+
+:meth:`collections.OrderedDict.pop` is now 2 times faster.
+
+..
+
+.. bpo: 41288
+.. date: 2020-07-13-15-06-35
+.. nonce: 8mn5P-
+.. section: Library
+
+Unpickling invalid NEWOBJ_EX opcode with the C implementation raises now
+UnpicklingError instead of crashing.
+
+..
+
+.. bpo: 39017
+.. date: 2020-07-12-22-16-58
+.. nonce: x3Cg-9
+.. section: Library
+
+Avoid infinite loop when reading specially crafted TAR files using the
+tarfile module (CVE-2019-20907).
+
+..
+
+.. bpo: 41273
+.. date: 2020-07-11-00-15-01
+.. nonce: SVrsJh
+.. section: Library
+
+Speed up any transport using ``_ProactorReadPipeTransport`` by calling
+``recv_into`` instead of ``recv``, thus not creating a new buffer for each
+``recv`` call in the transport's read loop.
+
+..
+
+.. bpo: 41235
+.. date: 2020-07-07-21-56-26
+.. nonce: H2csMU
+.. section: Library
+
+Fix the error handling in :meth:`ssl.SSLContext.load_dh_params`.
+
+..
+
+.. bpo: 41207
+.. date: 2020-07-06-16-58-53
+.. nonce: Emw7Nk
+.. section: Library
+
+In distutils.spawn, restore expectation that DistutilsExecError is raised
+when the command is not found.
+
+..
+
+.. bpo: 29727
+.. date: 2020-07-05-19-16-02
+.. nonce: Q6Z2rg
+.. section: Library
+
+Register :class:`array.array` as a
+:class:`~collections.abc.MutableSequence`. Patch by Pablo Galindo.
+
+..
+
+.. bpo: 39168
+.. date: 2020-07-04-21-56-46
+.. nonce: DQWsXj
+.. section: Library
+
+Remove the ``__new__`` method of :class:`typing.Generic`.
+
+..
+
+.. bpo: 41194
+.. date: 2020-07-03-13-15-08
+.. nonce: djrKjs
+.. section: Library
+
+Fix a crash in the ``_ast`` module: it can no longer be loaded more than
+once. It now uses a global state rather than a module state.
+
+..
+
+.. bpo: 41195
+.. date: 2020-07-02-15-03-04
+.. nonce: cEnpO3
+.. section: Library
+
+Add read-only ssl.SSLContext.security_level attribute to retrieve the
+context's security level.
+
+..
+
+.. bpo: 41193
+.. date: 2020-07-02-11-53-45
+.. nonce: 8-Tnql
+.. section: Library
+
+The ``write_history()`` atexit function of the readline completer now
+ignores any :exc:`OSError` to ignore error if the filesystem is read-only,
+instead of only ignoring :exc:`FileNotFoundError` and
+:exc:`PermissionError`.
+
+..
+
+.. bpo: 41182
+.. date: 2020-07-01-17-33-50
+.. nonce: FPFI0N
+.. section: Library
+
+selector: use DefaultSelector based upon implementation
+
+..
+
+.. bpo: 41161
+.. date: 2020-06-30-20-50-51
+.. nonce: QTdJjz
+.. section: Library
+
+The decimal module now requires libmpdec-2.5.0. Users of
+--with-system-libmpdec should update their system library.
+
+..
+
+.. bpo: 40874
+.. date: 2020-06-28-21-16-51
+.. nonce: YImvzA
+.. section: Library
+
+The decimal module now requires libmpdec-2.5.0.
+
+..
+
+.. bpo: 41138
+.. date: 2020-06-27-13-51-36
+.. nonce: bIpf7g
+.. section: Library
+
+Fixed the :mod:`trace` module CLI for Python source files with non-UTF-8
+encoding.
+
+..
+
+.. bpo: 31082
+.. date: 2020-06-25-10-11-47
+.. nonce: HsgDkx
+.. section: Library
+
+Use the term "iterable" in the docstring for :func:`functools.reduce`.
+
+..
+
+.. bpo: 40521
+.. date: 2020-06-23-06-09-59
+.. nonce: HUfxP7
+.. section: Library
+
+Remove freelist from collections.deque().
+
+..
+
+.. bpo: 31938
+.. date: 2020-06-22-20-08-40
+.. nonce: EVuko9
+.. section: Library
+
+Fix default-value signatures of several functions in the :mod:`select`
+module - by Anthony Sottile.
+
+..
+
+.. bpo: 41068
+.. date: 2020-06-22-10-25-39
+.. nonce: _bX2BW
+.. section: Library
+
+Fixed reading files with non-ASCII names from ZIP archive directly after
+writing them.
+
+..
+
+.. bpo: 41058
+.. date: 2020-06-20-21-03-55
+.. nonce: gztdZy
+.. section: Library
+
+:func:`pdb.find_function` now correctly determines the source file encoding.
+
+..
+
+.. bpo: 41056
+.. date: 2020-06-20-18-37-29
+.. nonce: d9v_uL
+.. section: Library
+
+Invalid file descriptor values are now prevented from being passed to
+os.fpathconf. (discovered by Coverity)
+
+..
+
+.. bpo: 41056
+.. date: 2020-06-20-18-35-43
+.. nonce: Garcle
+.. section: Library
+
+Fix a NULL pointer dereference within the ssl module during a MemoryError in
+the keylog callback. (discovered by Coverity)
+
+..
+
+.. bpo: 41056
+.. date: 2020-06-20-18-33-03
+.. nonce: gTH4Bq
+.. section: Library
+
+Fixed an instance where a MemoryError within the zoneinfo module might not
+be reported or not reported at its source. (found by Coverity)
+
+..
+
+.. bpo: 41048
+.. date: 2020-06-20-10-16-57
+.. nonce: hEXB-B
+.. section: Library
+
+:func:`mimetypes.read_mime_types` function reads the rule file using UTF-8
+encoding, not the locale encoding. Patch by Srinivas Reddy Thatiparthy.
+
+..
+
+.. bpo: 41043
+.. date: 2020-06-20-00-19-30
+.. nonce: p-Pk-H
+.. section: Library
+
+Fixed the use of :func:`~glob.glob` in the stdlib: literal part of the path
+is now always correctly escaped.
+
+..
+
+.. bpo: 41025
+.. date: 2020-06-18-10-34-59
+.. nonce: elf_nz
+.. section: Library
+
+Fixed an issue preventing the C implementation of :class:`zoneinfo.ZoneInfo`
+from being subclassed.
+
+..
+
+.. bpo: 35018
+.. date: 2020-06-17-23-49-45
+.. nonce: NP5_Qk
+.. section: Library
+
+Add the :class:`xml.sax.handler.LexicalHandler` class that is present in
+other SAX XML implementations.
+
+..
+
+.. bpo: 41002
+.. date: 2020-06-17-17-26-24
+.. nonce: NPBItE
+.. section: Library
+
+Improve performance of HTTPResponse.read with a given amount. Patch by Bruce
+Merry.
+
+..
+
+.. bpo: 40448
+.. date: 2020-06-15-12-22-53
+.. nonce: 1dk8Bu
+.. section: Library
+
+:mod:`ensurepip` now disables the use of `pip` cache when installing the
+bundled versions of `pip` and `setuptools`. Patch by Krzysztof Konopko.
+
+..
+
+.. bpo: 40967
+.. date: 2020-06-15-00-13-57
+.. nonce: _dx3OO
+.. section: Library
+
+Removed :meth:`asyncio.Task.current_task` and
+:meth:`asyncio.Task.all_tasks`. Patch contributed by Rémi Lapeyre.
+
+..
+
+.. bpo: 40924
+.. date: 2020-06-13-12-04-50
+.. nonce: SM_luS
+.. section: Library
+
+Ensure ``importlib.resources.path`` returns an extant path for the
+SourceFileLoader's resource reader. Avoids the regression identified in
+master while a long-term solution is devised.
+
+..
+
+.. bpo: 40955
+.. date: 2020-06-12-11-55-30
+.. nonce: huixCg
+.. section: Library
+
+Fix a minor memory leak in :mod:`subprocess` module when extra_groups was
+specified.
+
+..
+
+.. bpo: 40855
+.. date: 2020-06-12-10-44-15
+.. nonce: jSot83
+.. section: Library
+
+The standard deviation and variance functions in the statistics module were
+ignoring their mu and xbar arguments.
+
+..
+
+.. bpo: 40939
+.. date: 2020-06-11-11-07-10
+.. nonce: -D5Asl
+.. section: Library
+
+Use the new PEG parser when generating the stdlib :mod:`keyword` module.
+
+..
+
+.. bpo: 23427
+.. date: 2020-06-08-18-59-16
+.. nonce: ilg1Cz
+.. section: Library
+
+Add :data:`sys.orig_argv` attribute: the list of the original command line
+arguments passed to the Python executable.
+
+..
+
+.. bpo: 33689
+.. date: 2020-06-06-14-09-55
+.. nonce: EFUDH7
+.. section: Library
+
+Ignore empty or whitespace-only lines in .pth files. This matches the
+documentated behavior. Before, empty lines caused the site-packages dir to
+appear multiple times in sys.path. By Ido Michael, contributors Malcolm
+Smith and Tal Einat.
+
+..
+
+.. bpo: 40884
+.. date: 2020-06-06-02-42-26
+.. nonce: n7fOwS
+.. section: Library
+
+Added a `defaults` parameter to :class:`logging.Formatter`, to allow
+specifying default values for custom fields. Patch by Asaf Alon and Bar
+Harel.
+
+..
+
+.. bpo: 40876
+.. date: 2020-06-05-20-00-18
+.. nonce: zDhiZj
+.. section: Library
+
+Clarify error message in the :mod:`csv` module.
+
+..
+
+.. bpo: 39791
+.. date: 2020-06-05-19-29-10
+.. nonce: _CcO3d
+.. section: Library
+
+Refresh importlib.metadata from importlib_metadata 1.6.1.
+
+..
+
+.. bpo: 40807
+.. date: 2020-06-04-16-25-15
+.. nonce: yYyLWx
+.. section: Library
+
+Stop codeop._maybe_compile, used by code.InteractiveInterpreter (and IDLE).
+from emitting each warning three times.
+
+..
+
+.. bpo: 32604
+.. date: 2020-06-02-23-49-07
+.. nonce: ZN4V4l
+.. section: Library
+
+Fix reference leak in the :mod:`select` module when the module is imported
+in a subinterpreter.
+
+..
+
+.. bpo: 39791
+.. date: 2020-06-02-02-16-02
+.. nonce: StCJlA
+.. section: Library
+
+Built-in loaders (SourceFileLoader and ZipImporter) now supply
+``TraversableResources`` implementations for ``ResourceReader``, and the
+fallback function has been removed.
+
+..
+
+.. bpo: 39314
+.. date: 2020-06-01-02-16-29
+.. nonce: 0T9hlA
+.. section: Library
+
+:class:`rlcompleter.Completer` and the standard Python shell now close the
+parenthesis for functions that take no arguments. Patch contributed by Rémi
+Lapeyre.
+
+..
+
+.. bpo: 17005
+.. date: 2020-05-31-23-32-36
+.. nonce: JlRUGB
+.. section: Library
+
+The topological sort functionality that was introduced initially in the
+:mod:`functools` module has been moved to a new :mod:`graphlib` module to
+better accommodate the new tools and keep the original scope of the
+:mod:`functools` module. Patch by Pablo Galindo
+
+..
+
+.. bpo: 40834
+.. date: 2020-05-31-15-52-18
+.. nonce: MO9_hb
+.. section: Library
+
+Fix truncate when sending str object with_xxsubinterpreters.channel_send.
+
+..
+
+.. bpo: 40755
+.. date: 2020-05-30-18-48-58
+.. nonce: IyOe2J
+.. section: Library
+
+Add rich comparisons to collections.Counter().
+
+..
+
+.. bpo: 26407
+.. date: 2020-05-30-14-19-47
+.. nonce: MjWLO1
+.. section: Library
+
+Unexpected errors in calling the ``__iter__`` method are no longer masked by
+``TypeError`` in :func:`csv.reader`, :func:`csv.writer.writerow` and
+:meth:`csv.writer.writerows`.
+
+..
+
+.. bpo: 39384
+.. date: 2020-05-30-12-44-29
+.. nonce: Iqxy3q
+.. section: Library
+
+Fixed email.contentmanager to allow set_content() to set a null string.
+
+..
+
+.. bpo: 40744
+.. date: 2020-05-30-08-10-23
+.. nonce: jKURVV
+.. section: Library
+
+The :mod:`sqlite3` module uses SQLite API functions that require SQLite
+v3.7.3 or higher. This patch removes support for older SQLite versions, and
+explicitly requires SQLite 3.7.3 both at build, compile and runtime. Patch
+by Sergey Fedoseev and Erlend E. Aasland.
+
+..
+
+.. bpo: 40777
+.. date: 2020-05-28-17-32-29
+.. nonce: 1kJU6N
+.. section: Library
+
+Initialize PyDateTime_IsoCalendarDateType.tp_base at run-time to avoid
+errors on some compilers.
+
+..
+
+.. bpo: 38488
+.. date: 2020-05-28-16-51-00
+.. nonce: hFQNgA
+.. section: Library
+
+Update ensurepip to install pip 20.1.1 and setuptools 47.1.0.
+
+..
+
+.. bpo: 40792
+.. date: 2020-05-27-22-19-42
+.. nonce: 87Yx01
+.. section: Library
+
+The result of :func:`operator.index` now always has exact type :class:`int`.
+Previously, the result could have been an instance of a subclass of ``int``.
+
+..
+
+.. bpo: 40767
+.. date: 2020-05-27-21-27-01
+.. nonce: L5MnVV
+.. section: Library
+
+:mod:`webbrowser` now properly finds the default browser in pure Wayland
+systems by checking the WAYLAND_DISPLAY environment variable. Patch
+contributed by Jérémy Attali.
+
+..
+
+.. bpo: 40791
+.. date: 2020-05-27-18-04-52
+.. nonce: IzpNor
+.. section: Library
+
+:func:`hashlib.compare_digest` uses OpenSSL's ``CRYPTO_memcmp()`` function
+when OpenSSL is available.
+
+..
+
+.. bpo: 40795
+.. date: 2020-05-27-17-00-18
+.. nonce: eZSnHA
+.. section: Library
+
+:mod:`ctypes` module: If ctypes fails to convert the result of a callback or
+if a ctypes callback function raises an exception, sys.unraisablehook is now
+called with an exception set. Previously, the error was logged into stderr
+by :c:func:`PyErr_Print`.
+
+..
+
+.. bpo: 16995
+.. date: 2020-05-27-00-09-52
+.. nonce: 4niOT7
+.. section: Library
+
+Add :func:`base64.b32hexencode` and :func:`base64.b32hexdecode` to support
+the Base32 Encoding with Extended Hex Alphabet.
+
+..
+
+.. bpo: 30008
+.. date: 2020-05-25-22-18-38
+.. nonce: CKC3td
+.. section: Library
+
+Fix :mod:`ssl` code to be compatible with OpenSSL 1.1.x builds that use
+``no-deprecated`` and ``--api=1.1.0``.
+
+..
+
+.. bpo: 30064
+.. date: 2020-05-25-11-52-23
+.. nonce: 6CICsH
+.. section: Library
+
+Fix asyncio ``loop.sock_*`` race condition issue
+
+..
+
+.. bpo: 40759
+.. date: 2020-05-24-23-52-35
+.. nonce: DdZdaw
+.. section: Library
+
+Deprecate the :mod:`symbol` module.
+
+..
+
+.. bpo: 40756
+.. date: 2020-05-24-11-06-37
+.. nonce: 7ZH83z
+.. section: Library
+
+The second argument (extra) of ``LoggerAdapter.__init__`` now defaults to
+None.
+
+..
+
+.. bpo: 37129
+.. date: 2020-05-23-04-18-00
+.. nonce: YoYoYo
+.. section: Library
+
+Add a new :data:`os.RWF_APPEND` flag for :func:`os.pwritev`.
+
+..
+
+.. bpo: 40737
+.. date: 2020-05-23-00-22-11
+.. nonce: iph-CM
+.. section: Library
+
+Fix possible reference leak for :mod:`sqlite3` initialization.
+
+..
+
+.. bpo: 40726
+.. date: 2020-05-22-12-45-58
+.. nonce: 7oBdMw
+.. section: Library
+
+Handle cases where the ``end_lineno`` is ``None`` on
+:func:`ast.increment_lineno`.
+
+..
+
+.. bpo: 40698
+.. date: 2020-05-20-14-38-04
+.. nonce: zwl5Hc
+.. section: Library
+
+:mod:`distutils` upload creates SHA2-256 and Blake2b-256 digests. MD5
+digests is skipped if platform blocks MD5.
+
+..
+
+.. bpo: 40695
+.. date: 2020-05-20-13-03-28
+.. nonce: lr4aIS
+.. section: Library
+
+:mod:`hashlib` no longer falls back to builtin hash implementations when
+OpenSSL provides a hash digest and the algorithm is blocked by security
+policy.
+
+..
+
+.. bpo: 9216
+.. date: 2020-05-20-12-53-20
+.. nonce: ps7Yf1
+.. section: Library
+
+func:`hashlib.new` passed ``usedforsecurity`` to OpenSSL EVP constructor
+``_hashlib.new()``. test_hashlib and test_smtplib handle strict security
+policy better.
+
+..
+
+.. bpo: 40614
+.. date: 2020-05-18-22-41-02
+.. nonce: 8j3kmq
+.. section: Library
+
+:func:`ast.parse` will not parse self documenting expressions in f-strings
+when passed ``feature_version`` is less than ``(3, 8)``.
+
+..
+
+.. bpo: 40626
+.. date: 2020-05-18-17-29-30
+.. nonce: NeZufF
+.. section: Library
+
+Add h5 file extension as MIME Type application/x-hdf5, as per HDF Group
+recommendation for HDF5 formatted data files. Patch contributed by Mark
+Schwab.
+
+..
+
+.. bpo: 25920
+.. date: 2020-05-18-15-38-25
+.. nonce: PxrLY8
+.. section: Library
+
+On macOS, when building Python for macOS 10.4 and older, which wasn't the
+case for python.org macOS installer, :func:`socket.getaddrinfo` no longer
+uses an internal lock to prevent race conditions when calling
+``getaddrinfo()`` which is thread-safe since macOS 10.5. Python 3.9 requires
+macOS 10.6 or newer. The internal lock caused random hang on fork when
+another thread was calling :func:`socket.getaddrinfo`. The lock was also
+used on FreeBSD older than 5.3, OpenBSD older than 201311 and NetBSD older
+than 4.
+
+..
+
+.. bpo: 40671
+.. date: 2020-05-18-15-26-31
+.. nonce: NeZ9Cy
+.. section: Library
+
+Prepare ``_hashlib`` for :pep:`489` and use :c:func:`PyModule_AddType`.
+
+..
+
+.. bpo: 32309
+.. date: 2020-05-17-02-03-09
+.. nonce: KM9psl
+.. section: Library
+
+Added a new :term:`coroutine` :func:`asyncio.to_thread`. It is mainly used
+for running IO-bound functions in a separate thread to avoid blocking the
+event loop, and essentially works as a high-level version of
+:meth:`~asyncio.loop.run_in_executor` that can directly take keyword
+arguments.
+
+..
+
+.. bpo: 36543
+.. date: 2020-05-15-21-14-45
+.. nonce: Jt-eSX
+.. section: Library
+
+Restored the deprecated :mod:`xml.etree.cElementTree` module.
+
+..
+
+.. bpo: 40611
+.. date: 2020-05-13-16-28-33
+.. nonce: ZCk0_c
+.. section: Library
+
+:data:`~mmap.MAP_POPULATE` constant has now been added to the list of
+exported :mod:`mmap` module flags.
+
+..
+
+.. bpo: 39881
+.. date: 2020-05-07-22-00-12
+.. nonce: E1xsNv
+.. section: Library
+
+PEP 554 for use in the test suite. (Patch By Joannah Nanjekye)
+
+..
+
+.. bpo: 13097
+.. date: 2020-05-06-02-01-25
+.. nonce: Wh5xSK
+.. section: Library
+
+``ctypes`` now raises an ``ArgumentError`` when a callback is invoked with
+more than 1024 arguments.
+
+..
+
+.. bpo: 39385
+.. date: 2020-04-23-18-21-19
+.. nonce: MIAyS7
+.. section: Library
+
+A new test assertion context-manager, :func:`unittest.assertNoLogs` will
+ensure a given block of code emits no log messages using the logging module.
+Contributed by Kit Yan Choi.
+
+..
+
+.. bpo: 23082
+.. date: 2020-04-20-22-08-36
+.. nonce: iX90Id
+.. section: Library
+
+Updated the error message and docs of PurePath.relative_to() to better
+reflect the function behaviour.
+
+..
+
+.. bpo: 40318
+.. date: 2020-04-18-14-16-02
+.. nonce: K2UdRx
+.. section: Library
+
+Use SQLite3 trace v2 API, if it is available.
+
+..
+
+.. bpo: 40105
+.. date: 2020-04-03-16-13-59
+.. nonce: hfM2c0
+.. section: Library
+
+ZipFile truncates files to avoid corruption when a shorter comment is
+provided in append ("a") mode. Patch by Jan Mazur.
+
+..
+
+.. bpo: 40084
+.. date: 2020-03-29-21-32-00
+.. nonce: MCYwcv
+.. section: Library
+
+Fix ``Enum.__dir__``: dir(Enum.member) now includes attributes as well as
+methods.
+
+..
+
+.. bpo: 31122
+.. date: 2020-03-11-07-44-06
+.. nonce: zIQ80l
+.. section: Library
+
+ssl.wrap_socket() now raises ssl.SSLEOFError rather than OSError when peer
+closes connection during TLS negotiation
+
+..
+
+.. bpo: 39728
+.. date: 2020-02-24-10-58-34
+.. nonce: kOOaHn
+.. section: Library
+
+fix default `_missing_` so a duplicate `ValueError` is not set as the
+`__context__` of the original `ValueError`
+
+..
+
+.. bpo: 39244
+.. date: 2020-02-23-15-09-47
+.. nonce: aBK5IM
+.. section: Library
+
+Fixed :class:`multiprocessing.context.get_all_start_methods` to properly
+return the default method first on macOS.
+
+..
+
+.. bpo: 39040
+.. date: 2019-12-15-18-47-20
+.. nonce: tKa0Qs
+.. section: Library
+
+Fix parsing of invalid mime headers parameters by collapsing whitespace
+between encoded words in a bare-quote-string.
+
+..
+
+.. bpo: 38731
+.. date: 2019-11-13-07-37-11
+.. nonce: 9qmcSx
+.. section: Library
+
+Add ``--quiet`` option to command-line interface of :mod:`py_compile`. Patch
+by Gregory Schevchenko.
+
+..
+
+.. bpo: 35714
+.. date: 2019-10-25-23-45-49
+.. nonce: fw3xb7
+.. section: Library
+
+:exc:`struct.error` is now raised if there is a null character in a
+:mod:`struct` format string.
+
+..
+
+.. bpo: 38144
+.. date: 2019-09-12-21-34-03
+.. nonce: 8uQCdd
+.. section: Library
+
+Added the *root_dir* and *dir_fd* parameters in :func:`glob.glob`.
+
+..
+
+.. bpo: 26543
+.. date: 2019-08-11-16-28-03
+.. nonce: X-TJZO
+.. section: Library
+
+Fix :meth:`IMAP4.noop()` when debug mode is enabled (ex: ``imaplib.Debug =
+3``).
+
+..
+
+.. bpo: 12178
+.. date: 2019-05-31-23-54-28
+.. nonce: N6FLCZ
+.. section: Library
+
+:func:`csv.writer` now correctly escapes *escapechar* when input contains
+*escapechar*. Patch by Catalin Iacob, Berker Peksag, and Itay Elbirt.
+
+..
+
+.. bpo: 36290
+.. date: 2019-03-17-19-01-53
+.. nonce: 7VXo_K
+.. section: Library
+
+AST nodes are now raising :exc:`TypeError` on conflicting keyword arguments.
+Patch contributed by Rémi Lapeyre.
+
+..
+
+.. bpo: 33944
+.. date: 2019-03-01-01-56-23
+.. nonce: -82Pkt
+.. section: Library
+
+Added site.py site-packages tracing in verbose mode.
+
+..
+
+.. bpo: 35078
+.. date: 2018-10-27-09-37-03
+.. nonce: kweA3R
+.. section: Library
+
+Refactor formatweekday, formatmonthname methods in LocaleHTMLCalendar and
+LocaleTextCalendar classes in calendar module to call the base class
+methods.This enables customizable CSS classes for LocaleHTMLCalendar. Patch
+by Srinivas Reddy Thatiparthy
+
+..
+
+.. bpo: 29620
+.. date: 2018-08-21-16-20-33
+.. nonce: xxx666
+.. section: Library
+
+:func:`~unittest.TestCase.assertWarns` no longer raises a
+``RuntimeException`` when accessing a module's ``__warningregistry__``
+causes importation of a new module, or when a new module is imported in
+another thread. Patch by Kernc.
+
+..
+
+.. bpo: 31844
+.. date: 2018-07-30-12-48-17
+.. nonce: 0_GKsD
+.. section: Library
+
+Remove ``ParserBase.error()`` method from the private and undocumented
+``_markupbase`` module. :class:`html.parser.HTMLParser` is the only
+subclass of ``ParserBase`` and its ``error()`` implementation was deprecated
+in Python 3.4 and removed in Python 3.5.
+
+..
+
+.. bpo: 34226
+.. date: 2018-07-29-12-14-54
+.. nonce: BE7zbu
+.. section: Library
+
+Fix `cgi.parse_multipart` without content_length. Patch by Roger Duran
+
+..
+
+.. bpo: 33660
+.. date: 2018-06-12-23-30-41
+.. nonce: AdDn5Z
+.. section: Library
+
+Fix pathlib.PosixPath to resolve a relative path located on the root
+directory properly.
+
+..
+
+.. bpo: 28557
+.. date: 2018-06-07-22-04-01
+.. nonce: ViNJnK
+.. section: Library
+
+Improve the error message for a misbehaving ``rawio.readinto``
+
+..
+
+.. bpo: 26680
+.. date: 2018-03-15-11-56-48
+.. nonce: Udkhn4
+.. section: Library
+
+The d.is_integer() method is added to the Decimal type, for compatibility
+with other number types.
+
+..
+
+.. bpo: 26680
+.. date: 2018-03-15-11-55-04
+.. nonce: eKAi85
+.. section: Library
+
+The x.is_integer() method is incorporated into the abstract types of the
+numeric tower, Real, Rational and Integral, with appropriate default
+implementations.
+
+..
+
+.. bpo: 41428
+.. date: 2020-10-03-18-20-46
+.. nonce: _ju1NE
+.. section: Documentation
+
+Add documentation for :pep:`604` (Allow writing union types as ``X | Y``).
+
+..
+
+.. bpo: 41774
+.. date: 2020-09-24-15-35-13
+.. nonce: 5IqdGP
+.. section: Documentation
+
+In Programming FAQ "Sequences (Tuples/Lists)" section, add "How do you
+remove multiple items from a list".
+
+..
+
+.. bpo: 35293
+.. date: 2020-09-12-17-37-13
+.. nonce: _cOwPD
+.. section: Documentation
+
+Fix RemovedInSphinx40Warning when building the documentation. Patch by
+Dong-hee Na.
+
+..
+
+.. bpo: 37149
+.. date: 2020-09-10-07-48-02
+.. nonce: VD0rCv
+.. section: Documentation
+
+Change Shipman tkinter doc link from archive.org to TkDocs. (The doc has
+been removed from the NMT server.) The new link responds much faster and
+includes a short explanatory note.
+
+..
+
+.. bpo: 41726
+.. date: 2020-09-08-16-57-09
+.. nonce: g0UXrn
+.. section: Documentation
+
+Update the refcounts info of ``PyType_FromModuleAndSpec``.
+
+..
+
+.. bpo: 41624
+.. date: 2020-08-25-15-11-23
+.. nonce: ddjJlN
+.. section: Documentation
+
+Fix the signature of :class:`typing.Coroutine`.
+
+..
+
+.. bpo: 40204
+.. date: 2020-08-12-18-35-40
+.. nonce: C8A_pe
+.. section: Documentation
+
+Enable Sphinx 3.2 ``c_allow_pre_v3`` option and disable
+``c_warn_on_allowed_pre_v3`` option to make the documentation compatible
+with Sphinx 2 and Sphinx 3.
+
+..
+
+.. bpo: 41045
+.. date: 2020-07-27-20-46-17
+.. nonce: GFF6Ul
+.. section: Documentation
+
+Add documentation for debug feature of f-strings.
+
+..
+
+.. bpo: 41314
+.. date: 2020-07-25-14-20-00
+.. nonce: yrjko0
+.. section: Documentation
+
+Changed the release when ``from __future__ import annotations`` becomes the
+default from ``4.0`` to ``3.10`` (following a change in PEP 563).
+
+..
+
+.. bpo: 40979
+.. date: 2020-07-21-15-23-30
+.. nonce: pLA8rO
+.. section: Documentation
+
+Refactored typing.rst, arranging more than 70 classes, functions, and
+decorators into new sub-sections.
+
+..
+
+.. bpo: 40552
+.. date: 2020-05-09-12-10-31
+.. nonce: _0uB73
+.. section: Documentation
+
+Fix in tutorial section 4.2. Code snippet is now correct.
+
+..
+
+.. bpo: 39883
+.. date: 2020-03-07-03-53-39
+.. nonce: 1tnb4-
+.. section: Documentation
+
+Make code, examples, and recipes in the Python documentation be licensed
+under the more permissive BSD0 license in addition to the existing Python
+2.0 license.
+
+..
+
+.. bpo: 37703
+.. date: 2019-08-16-20-25-42
+.. nonce: Qm_l_H
+.. section: Documentation
+
+Updated Documentation to comprehensively elaborate on the behaviour of
+gather.cancel()
+
+..
+
+.. bpo: 41939
+.. date: 2020-10-05-09-37-43
+.. nonce: P4OlbA
+.. section: Tests
+
+Fix test_site.test_license_exists_at_url(): call
+``urllib.request.urlcleanup()`` to reset the global
+``urllib.request._opener``. Patch by Victor Stinner.
+
+..
+
+.. bpo: 41731
+.. date: 2020-09-11-19-12-31
+.. nonce: Ivxh4U
+.. section: Tests
+
+Make test_cmd_line_script pass with option '-vv'.
+
+..
+
+.. bpo: 41602
+.. date: 2020-08-25-19-25-36
+.. nonce: Z64s0I
+.. section: Tests
+
+Add tests for SIGINT handling in the runpy module.
+
+..
+
+.. bpo: 41521
+.. date: 2020-08-11-14-59-13
+.. nonce: w2UYK7
+.. section: Tests
+
+:mod:`test.support`: Rename ``blacklist`` parameter of
+:func:`~test.support.check__all__` to ``not_exported``.
+
+..
+
+.. bpo: 41477
+.. date: 2020-08-07-17-28-49
+.. nonce: GrFexU
+.. section: Tests
+
+Make ctypes optional in test_genericalias.
+
+..
+
+.. bpo: 41085
+.. date: 2020-06-23-12-02-45
+.. nonce: JZKsyz
+.. section: Tests
+
+Fix integer overflow in the :meth:`array.array.index` method on 64-bit
+Windows for index larger than ``2**31``.
+
+..
+
+.. bpo: 41069
+.. date: 2020-06-22-00-21-12
+.. nonce: bLZkX-
+.. section: Tests
+
+:data:`test.support.TESTFN` and the current directory for tests when run via
+``test.regrtest`` contain now non-ascii characters if possible.
+
+..
+
+.. bpo: 38377
+.. date: 2020-06-17-18-00-21
+.. nonce: jfg4TH
+.. section: Tests
+
+On Linux, skip tests using multiprocessing if the current user cannot create
+a file in ``/dev/shm/`` directory. Add the
+:func:`~test.support.skip_if_broken_multiprocessing_synchronize` function to
+the :mod:`test.support` module.
+
+..
+
+.. bpo: 41009
+.. date: 2020-06-17-17-27-07
+.. nonce: Rvn6OQ
+.. section: Tests
+
+Fix use of ``support.require_{linux|mac|freebsd}_version()`` decorators as
+class decorator.
+
+..
+
+.. bpo: 41003
+.. date: 2020-06-17-15-07-14
+.. nonce: tiH_Fy
+.. section: Tests
+
+Fix ``test_copyreg`` when ``numpy`` is installed: ``test.pickletester`` now
+saves/restores warnings filters when importing ``numpy``, to ignore filters
+installed by ``numpy``.
+
+..
+
+.. bpo: 40964
+.. date: 2020-06-12-20-46-23
+.. nonce: OBzf2c
+.. section: Tests
+
+Disable remote :mod:`imaplib` tests, host cyrus.andrew.cmu.edu is blocking
+incoming connections.
+
+..
+
+.. bpo: 40927
+.. date: 2020-06-09-18-48-18
+.. nonce: 67ylLg
+.. section: Tests
+
+Fix test_binhex when run twice: it now uses import_fresh_module() to ensure
+that it raises DeprecationWarning each time.
+
+..
+
+.. bpo: 17258
+.. date: 2020-05-26-07-53-31
+.. nonce: X_IKTQ
+.. section: Tests
+
+Skip some :mod:`multiprocessing` tests when MD5 hash digest is blocked.
+
+..
+
+.. bpo: 31904
+.. date: 2020-04-09-15-40-03
+.. nonce: TJ4k3d
+.. section: Tests
+
+Increase LOOPBACK_TIMEOUT to 10 for VxWorks RTOS.
+
+..
+
+.. bpo: 38169
+.. date: 2019-09-14-13-20-27
+.. nonce: hurq4B
+.. section: Tests
+
+Increase code coverage for SharedMemory and ShareableList
+
+..
+
+.. bpo: 34401
+.. date: 2018-08-20-09-38-52
+.. nonce: eGxMPm
+.. section: Tests
+
+Make test_gdb properly run on HP-UX. Patch by Michael Osipov.
+
+..
+
+.. bpo: 38249
+.. date: 2020-09-28-21-56-51
+.. nonce: uzMCaZ
+.. section: Build
+
+Update :c:macro:`Py_UNREACHABLE` to use __builtin_unreachable() if only the
+compiler is able to use it. Patch by Dong-hee Na.
+
+..
+
+.. bpo: 41617
+.. date: 2020-08-24-18-34-01
+.. nonce: sKKXz7
+.. section: Build
+
+Fix ``pycore_bitutils.h`` header file to support old clang versions:
+``__builtin_bswap16()`` is not available in LLVM clang 3.0.
+
+..
+
+.. bpo: 40204
+.. date: 2020-06-25-06-59-13
+.. nonce: GpD04D
+.. section: Build
+
+Pin Sphinx version to 2.3.1 in ``Doc/Makefile``.
+
+..
+
+.. bpo: 36020
+.. date: 2020-06-15-22-14-25
+.. nonce: wbiv0P
+.. section: Build
+
+The C99 functions :c:func:`snprintf` and :c:func:`vsnprintf` are now
+required to build Python.
+
+..
+
+.. bpo: 40684
+.. date: 2020-06-08-19-57-05
+.. nonce: WIY2-i
+.. section: Build
+
+``make install`` now uses the ``PLATLIBDIR`` variable for the destination
+``lib-dynload/`` directory when ``./configure --with-platlibdir`` is used.
+
+..
+
+.. bpo: 40683
+.. date: 2020-05-19-10-54-08
+.. nonce: W8JHrr
+.. section: Build
+
+Fixed an issue where the :mod:`zoneinfo` module and its tests were not
+included when Python is installed with ``make``.
+
+..
+
+.. bpo: 41744
+.. date: 2020-09-11-17-59-33
+.. nonce: e_ugDQ
+.. section: Windows
+
+Fixes automatic import of props file when using the Nuget package.
+
+..
+
+.. bpo: 41627
+.. date: 2020-09-04-21-35-28
+.. nonce: sx2KN1
+.. section: Windows
+
+The user site directory for 32-bit now includes a ``-32`` suffix to
+distinguish it from the 64-bit interpreter's directory.
+
+..
+
+.. bpo: 41526
+.. date: 2020-08-13-22-40-58
+.. nonce: -i2bwb
+.. section: Windows
+
+Fixed layout of final page of the installer by removing the special thanks
+to Mark Hammond (with his permission).
+
+..
+
+.. bpo: 41492
+.. date: 2020-08-06-16-59-10
+.. nonce: 2FQ9cM
+.. section: Windows
+
+Fixes the description that appears in UAC prompts.
+
+..
+
+.. bpo: 40948
+.. date: 2020-07-28-12-39-32
+.. nonce: ISUFO6
+.. section: Windows
+
+Improve post-install message to direct people to the "py" command.
+
+..
+
+.. bpo: 41412
+.. date: 2020-07-28-11-55-43
+.. nonce: ME20KB
+.. section: Windows
+
+The installer will now fail to install on Windows 7 and Windows 8. Further,
+the UCRT dependency is now always downloaded on demand.
+
+..
+
+.. bpo: 40741
+.. date: 2020-07-20-23-26-26
+.. nonce: C9sc_d
+.. section: Windows
+
+Update Windows release to include SQLite 3.32.3.
+
+..
+
+.. bpo: 41142
+.. date: 2020-06-28-12-40-41
+.. nonce: jpZzzh
+.. section: Windows
+
+:mod:`msilib` now supports creating CAB files with non-ASCII file path and
+adding files with non-ASCII file path to them.
+
+..
+
+.. bpo: 41074
+.. date: 2020-06-24-21-30-42
+.. nonce: gaQc3C
+.. section: Windows
+
+Fixed support of non-ASCII names in functions :func:`msilib.OpenDatabase`
+and :func:`msilib.init_database` and non-ASCII SQL in method
+:meth:`msilib.Database.OpenView`.
+
+..
+
+.. bpo: 41039
+.. date: 2020-06-23-03-12-57
+.. nonce: 0hgd0s
+.. section: Windows
+
+Stable ABI redirection DLL (python3.dll) now uses ``#pragma
+comment(linker)`` for re-exporting.
+
+..
+
+.. bpo: 40164
+.. date: 2020-06-12-13-13-44
+.. nonce: SPrSn5
+.. section: Windows
+
+Updates Windows OpenSSL to 1.1.1g
+
+..
+
+.. bpo: 39631
+.. date: 2020-05-19-14-43-33
+.. nonce: Z5yXam
+.. section: Windows
+
+Changes the registered MIME type for ``.py`` files on Windows to
+``text/x-python`` instead of ``text/plain``.
+
+..
+
+.. bpo: 40677
+.. date: 2020-05-19-04-11-12
+.. nonce: qQbLW8
+.. section: Windows
+
+Manually define IO_REPARSE_TAG_APPEXECLINK in case some old Windows SDK
+doesn't have it.
+
+..
+
+.. bpo: 37556
+.. date: 2019-07-11-06-11-09
+.. nonce: sygMUU
+.. section: Windows
+
+Extend py.exe help to mention overrides via venv, shebang, environmental
+variables & ini files.
+
+..
+
+.. bpo: 41557
+.. date: 2020-08-26-09-31-37
+.. nonce: mcQ75z
+.. section: macOS
+
+Update macOS installer to use SQLite 3.33.0.
+
+..
+
+.. bpo: 39580
+.. date: 2020-06-25-06-09-00
+.. nonce: N_vJ9h
+.. section: macOS
+
+Avoid opening Finder window if running installer from the command line.
+Patch contributed by Rick Heil.
+
+..
+
+.. bpo: 41100
+.. date: 2020-06-24-13-51-57
+.. nonce: mcHdc5
+.. section: macOS
+
+Fix configure error when building on macOS 11. Note that the current Python
+release was released shortly after the first developer preview of macOS 11
+(Big Sur); there are other known issues with building and running on the
+developer preview. Big Sur is expected to be fully supported in a future
+bugfix release of Python 3.8.x and with 3.9.0.
+
+..
+
+.. bpo: 40741
+.. date: 2020-06-19-14-19-08
+.. nonce: L7yTbm
+.. section: macOS
+
+Update macOS installer to use SQLite 3.32.3.
+
+..
+
+.. bpo: 41005
+.. date: 2020-06-17-13-45-15
+.. nonce: zZegdV
+.. section: macOS
+
+fixed an XDG settings issue not allowing macos to open browser in
+webbrowser.py
+
+..
+
+.. bpo: 40741
+.. date: 2020-06-07-20-10-56
+.. nonce: 80A2BW
+.. section: macOS
+
+Update macOS installer to use SQLite 3.32.2.
+
+..
+
+.. bpo: 41775
+.. date: 2020-09-24-14-31-16
+.. nonce: sB8Vre
+.. section: IDLE
+
+Use 'IDLE Shell' as shell title
+
+..
+
+.. bpo: 35764
+.. date: 2020-09-22-11-13-45
+.. nonce: VoNa8y
+.. section: IDLE
+
+Rewrite the Calltips doc section.
+
+..
+
+.. bpo: 40181
+.. date: 2020-09-22-00-45-40
+.. nonce: hhQi3z
+.. section: IDLE
+
+In calltips, stop reminding that '/' marks the end of positional-only
+arguments.
+
+..
+
+.. bpo: 41468
+.. date: 2020-08-09-13-42-55
+.. nonce: zkP0_Y
+.. section: IDLE
+
+Improve IDLE run crash error message (which users should never see).
+
+..
+
+.. bpo: 41373
+.. date: 2020-07-24-17-49-58
+.. nonce: YQIPu_
+.. section: IDLE
+
+Save files loaded with no line ending, as when blank, or different line
+endings, by setting its line ending to the system default. Fix regression in
+3.8.4 and 3.9.0b4.
+
+..
+
+.. bpo: 41300
+.. date: 2020-07-16-17-39-06
+.. nonce: wRixNb
+.. section: IDLE
+
+Save files with non-ascii chars. Fix regression released in 3.9.0b4 and
+3.8.4.
+
+..
+
+.. bpo: 37765
+.. date: 2020-07-07-18-44-30
+.. nonce: umc1o8
+.. section: IDLE
+
+Add keywords to module name completion list. Rewrite Completions section of
+IDLE doc.
+
+..
+
+.. bpo: 41152
+.. date: 2020-06-29-14-51-15
+.. nonce: d6mV0C
+.. section: IDLE
+
+The encoding of ``stdin``, ``stdout`` and ``stderr`` in IDLE is now always
+UTF-8.
+
+..
+
+.. bpo: 41144
+.. date: 2020-06-27-17-02-00
+.. nonce: JoFGIX
+.. section: IDLE
+
+Make Open Module open a special module such as os.path.
+
+..
+
+.. bpo: 39885
+.. date: 2020-05-29-18-21-58
+.. nonce: zB_-bN
+.. section: IDLE
+
+Make context menu Cut and Copy work again when right-clicking within a
+selection.
+
+..
+
+.. bpo: 40723
+.. date: 2020-05-24-06-19-43
+.. nonce: AJLd4U
+.. section: IDLE
+
+Make test_idle pass when run after import.
+
+..
+
+.. bpo: 41936
+.. date: 2020-10-05-01-25-23
+.. nonce: 1gb5ra
+.. section: C API
+
+Removed undocumented macros ``Py_ALLOW_RECURSION`` and
+``Py_END_ALLOW_RECURSION`` and the ``recursion_critical`` field of the
+:c:type:`PyInterpreterState` structure.
+
+..
+
+.. bpo: 41692
+.. date: 2020-10-02-00-57-34
+.. nonce: fDScsF
+.. section: C API
+
+The ``PyUnicode_InternImmortal()`` function is now deprecated and will be
+removed in Python 3.12: use :c:func:`PyUnicode_InternInPlace` instead. Patch
+by Victor Stinner.
+
+..
+
+.. bpo: 41842
+.. date: 2020-09-27-20-43-16
+.. nonce: bCakAj
+.. section: C API
+
+Add :c:func:`PyCodec_Unregister` function to unregister a codec search
+function.
+
+..
+
+.. bpo: 41834
+.. date: 2020-09-22-14-47-12
+.. nonce: nrOrDU
+.. section: C API
+
+Remove the ``_Py_CheckRecursionLimit`` variable: it has been replaced by
+``ceval.recursion_limit`` of the :c:type:`PyInterpreterState` structure.
+Patch by Victor Stinner.
+
+..
+
+.. bpo: 41689
+.. date: 2020-09-01-23-39-45
+.. nonce: zxHbLB
+.. section: C API
+
+Types created with :c:func:`PyType_FromSpec` now make any signature in their
+``tp_doc`` slot accessible from ``__text_signature__``.
+
+..
+
+.. bpo: 41524
+.. date: 2020-08-12-17-09-06
+.. nonce: u6Xfr2
+.. section: C API
+
+Fix bug in PyOS_mystrnicmp and PyOS_mystricmp that incremented pointers
+beyond the end of a string.
+
+..
+
+.. bpo: 41324
+.. date: 2020-08-10-16-05-08
+.. nonce: waZD35
+.. section: C API
+
+Add a minimal decimal capsule API. The API supports fast conversions
+between Decimals up to 38 digits and their triple representation as a C
+struct.
+
+..
+
+.. bpo: 30155
+.. date: 2020-07-26-19-39-45
+.. nonce: rHZRJ_
+.. section: C API
+
+Add :c:func:`PyDateTime_DATE_GET_TZINFO` and
+:c:func:`PyDateTime_TIME_GET_TZINFO` macros for accessing the ``tzinfo``
+attributes of :class:`datetime.datetime` and :class:`datetime.time` objects.
+
+..
+
+.. bpo: 40170
+.. date: 2020-07-08-10-14-52
+.. nonce: N6Qx1i
+.. section: C API
+
+Revert :c:func:`PyType_HasFeature` change: it reads again directly the
+:c:member:`PyTypeObject.tp_flags` member when the limited C API is not used,
+rather than always calling :c:func:`PyType_GetFlags` which hides
+implementation details.
+
+..
+
+.. bpo: 41123
+.. date: 2020-06-29-15-49-36
+.. nonce: wYY4E1
+.. section: C API
+
+Remove ``PyUnicode_AsUnicodeCopy``.
+
+..
+
+.. bpo: 41123
+.. date: 2020-06-29-11-33-49
+.. nonce: qFevek
+.. section: C API
+
+Removed ``PyLong_FromUnicode()``.
+
+..
+
+.. bpo: 41123
+.. date: 2020-06-28-11-39-22
+.. nonce: sjJWjQ
+.. section: C API
+
+Removed ``PyUnicode_GetMax()``.
+
+..
+
+.. bpo: 41123
+.. date: 2020-06-26-13-29-25
+.. nonce: bRa1oy
+.. section: C API
+
+Removed ``Py_UNICODE_str*`` functions manipulating ``Py_UNICODE*`` strings.
+
+..
+
+.. bpo: 41103
+.. date: 2020-06-24-22-57-07
+.. nonce: doojgE
+.. section: C API
+
+``PyObject_AsCharBuffer()``, ``PyObject_AsReadBuffer()``,
+``PyObject_CheckReadBuffer()``, and ``PyObject_AsWriteBuffer()`` are
+removed. Please migrate to new buffer protocol; :c:func:`PyObject_GetBuffer`
+and :c:func:`PyBuffer_Release`.
+
+..
+
+.. bpo: 36346
+.. date: 2020-06-17-20-31-12
+.. nonce: mwIyxi
+.. section: C API
+
+Raises DeprecationWarning for ``PyUnicode_FromUnicode(NULL, size)`` and
+``PyUnicode_FromStringAndSize(NULL, size)`` with ``size > 0``.
+
+..
+
+.. bpo: 36346
+.. date: 2020-06-17-11-24-00
+.. nonce: fTMr3S
+.. section: C API
+
+Mark ``Py_UNICODE_COPY``, ``Py_UNICODE_FILL``, ``PyUnicode_WSTR_LENGTH``,
+``PyUnicode_FromUnicode``, ``PyUnicode_AsUnicode``, and
+``PyUnicode_AsUnicodeAndSize`` as deprecated in C. Remove
+``Py_UNICODE_MATCH`` which was deprecated and broken since Python 3.3.
+
+..
+
+.. bpo: 40989
+.. date: 2020-06-15-23-17-51
+.. nonce: tlzG3r
+.. section: C API
+
+The :c:func:`PyObject_INIT` and :c:func:`PyObject_INIT_VAR` macros become
+aliases to, respectively, :c:func:`PyObject_Init` and
+:c:func:`PyObject_InitVar` functions.
+
+..
+
+.. bpo: 36020
+.. date: 2020-06-15-16-46-01
+.. nonce: djI6jw
+.. section: C API
+
+On Windows, ``#include "pyerrors.h"`` no longer defines ``snprintf`` and
+``vsnprintf`` macros.
+
+..
+
+.. bpo: 40943
+.. date: 2020-06-10-18-37-26
+.. nonce: i4q7rK
+.. section: C API
+
+The ``PY_SSIZE_T_CLEAN`` macro must now be defined to use
+:c:func:`PyArg_ParseTuple` and :c:func:`Py_BuildValue` formats which use
+``#``: ``es#``, ``et#``, ``s#``, ``u#``, ``y#``, ``z#``, ``U#`` and ``Z#``.
+See :ref:`Parsing arguments and building values <arg-parsing>` and the
+:pep:`353`.
+
+..
+
+.. bpo: 40910
+.. date: 2020-06-08-15-59-06
+.. nonce: L56oI0
+.. section: C API
+
+Export explicitly the :c:func:`Py_GetArgcArgv` function to the C API and
+document the function. Previously, it was exported implicitly which no
+longer works since Python is built with ``-fvisibility=hidden``.
+
+..
+
+.. bpo: 40724
+.. date: 2020-06-04-08-01-23
+.. nonce: qIIdSi
+.. section: C API
+
+Allow defining buffer slots in type specs.
+
+..
+
+.. bpo: 40679
+.. date: 2020-06-03-17-48-13
+.. nonce: 3sgWma
+.. section: C API
+
+Fix a ``_PyEval_EvalCode()`` crash if *qualname* argument is NULL.
+
+..
+
+.. bpo: 40839
+.. date: 2020-06-01-20-47-49
+.. nonce: bAi52Z
+.. section: C API
+
+Calling :c:func:`PyDict_GetItem` without :term:`GIL` held had been allowed
+for historical reason. It is no longer allowed.
+
+..
+
+.. bpo: 40826
+.. date: 2020-06-01-16-12-37
+.. nonce: zQzFoK
+.. section: C API
+
+:c:func:`PyOS_InterruptOccurred` now fails with a fatal error if it is
+called with the GIL released.
+
+..
+
+.. bpo: 40792
+.. date: 2020-05-27-11-02-15
+.. nonce: pBw2Bb
+.. section: C API
+
+The result of :c:func:`PyNumber_Index` now always has exact type
+:class:`int`. Previously, the result could have been an instance of a
+subclass of ``int``.
+
+..
+
+.. bpo: 39573
+.. date: 2020-05-26-16-21-47
+.. nonce: depAgq
+.. section: C API
+
+Convert :c:func:`Py_REFCNT` and :c:func:`Py_SIZE` macros to static inline
+functions. They cannot be used as l-value anymore: use
+:c:func:`Py_SET_REFCNT` and :c:func:`Py_SET_SIZE` to set an object reference
+count and size. This change is backward incompatible on purpose, to prepare
+the C API for an opaque :c:type:`PyObject` structure.
+
+..
+
+.. bpo: 40703
+.. date: 2020-05-20-19-11-12
+.. nonce: qQXfW8
+.. section: C API
+
+The PyType_FromSpec*() functions no longer overwrite the type's "__module__"
+attribute if it is set via "Py_tp_members" or "Py_tp_getset".
+
+..
+
+.. bpo: 39583
+.. date: 2020-02-08-08-01-35
+.. nonce: qURKSl
+.. section: C API
+
+Remove superfluous "extern C" declarations from ``Include/cpython/*.h``.
+++ /dev/null
-Fixed an issue where the :mod:`zoneinfo` module and its tests were not
-included when Python is installed with ``make``.
+++ /dev/null
-``make install`` now uses the ``PLATLIBDIR`` variable for the destination
-``lib-dynload/`` directory when ``./configure --with-platlibdir`` is used.
+++ /dev/null
-The C99 functions :c:func:`snprintf` and :c:func:`vsnprintf` are now required
-to build Python.
+++ /dev/null
-Pin Sphinx version to 2.3.1 in ``Doc/Makefile``.
+++ /dev/null
-Fix ``pycore_bitutils.h`` header file to support old clang versions:
-``__builtin_bswap16()`` is not available in LLVM clang 3.0.
+++ /dev/null
-Update :c:macro:`Py_UNREACHABLE` to use __builtin_unreachable() if only the
-compiler is able to use it. Patch by Dong-hee Na.
+++ /dev/null
-Remove superfluous "extern C" declarations from ``Include/cpython/*.h``.
+++ /dev/null
-The PyType_FromSpec*() functions no longer overwrite the type's "__module__" attribute
-if it is set via "Py_tp_members" or "Py_tp_getset".
+++ /dev/null
-Convert :c:func:`Py_REFCNT` and :c:func:`Py_SIZE` macros to static inline
-functions. They cannot be used as l-value anymore: use
-:c:func:`Py_SET_REFCNT` and :c:func:`Py_SET_SIZE` to set an object reference
-count and size. This change is backward incompatible on purpose, to prepare
-the C API for an opaque :c:type:`PyObject` structure.
+++ /dev/null
-The result of :c:func:`PyNumber_Index` now always has exact type :class:`int`.
-Previously, the result could have been an instance of a subclass of ``int``.
+++ /dev/null
-:c:func:`PyOS_InterruptOccurred` now fails with a fatal error if it is
-called with the GIL released.
+++ /dev/null
-Calling :c:func:`PyDict_GetItem` without :term:`GIL` held had been allowed for
-historical reason. It is no longer allowed.
+++ /dev/null
-Fix a ``_PyEval_EvalCode()`` crash if *qualname* argument is NULL.
+++ /dev/null
-Allow defining buffer slots in type specs.
+++ /dev/null
-Export explicitly the :c:func:`Py_GetArgcArgv` function to the C API and
-document the function. Previously, it was exported implicitly which no
-longer works since Python is built with ``-fvisibility=hidden``.
+++ /dev/null
-The ``PY_SSIZE_T_CLEAN`` macro must now be defined to use
-:c:func:`PyArg_ParseTuple` and :c:func:`Py_BuildValue` formats which use ``#``:
-``es#``, ``et#``, ``s#``, ``u#``, ``y#``, ``z#``, ``U#`` and ``Z#``.
-See :ref:`Parsing arguments and building values <arg-parsing>` and the
-:pep:`353`.
+++ /dev/null
-On Windows, ``#include "pyerrors.h"`` no longer defines ``snprintf`` and
-``vsnprintf`` macros.
+++ /dev/null
-The :c:func:`PyObject_INIT` and :c:func:`PyObject_INIT_VAR` macros become
-aliases to, respectively, :c:func:`PyObject_Init` and
-:c:func:`PyObject_InitVar` functions.
+++ /dev/null
-Mark ``Py_UNICODE_COPY``, ``Py_UNICODE_FILL``, ``PyUnicode_WSTR_LENGTH``,
-``PyUnicode_FromUnicode``, ``PyUnicode_AsUnicode``,
-and ``PyUnicode_AsUnicodeAndSize`` as deprecated in C. Remove ``Py_UNICODE_MATCH``
-which was deprecated and broken since Python 3.3.
+++ /dev/null
-Raises DeprecationWarning for ``PyUnicode_FromUnicode(NULL, size)`` and
-``PyUnicode_FromStringAndSize(NULL, size)`` with ``size > 0``.
+++ /dev/null
-``PyObject_AsCharBuffer()``, ``PyObject_AsReadBuffer()``,
-``PyObject_CheckReadBuffer()``, and ``PyObject_AsWriteBuffer()`` are
-removed. Please migrate to new buffer protocol; :c:func:`PyObject_GetBuffer`
-and :c:func:`PyBuffer_Release`.
+++ /dev/null
-Removed ``Py_UNICODE_str*`` functions manipulating ``Py_UNICODE*`` strings.
+++ /dev/null
-Removed ``PyUnicode_GetMax()``.
+++ /dev/null
-Removed ``PyLong_FromUnicode()``.
+++ /dev/null
-Remove ``PyUnicode_AsUnicodeCopy``.
+++ /dev/null
-Revert :c:func:`PyType_HasFeature` change: it reads again directly the
-:c:member:`PyTypeObject.tp_flags` member when the limited C API is not used,
-rather than always calling :c:func:`PyType_GetFlags` which hides implementation
-details.
+++ /dev/null
-Add :c:func:`PyDateTime_DATE_GET_TZINFO` and
-:c:func:`PyDateTime_TIME_GET_TZINFO` macros for accessing the ``tzinfo``
-attributes of :class:`datetime.datetime` and :class:`datetime.time` objects.
+++ /dev/null
-Add a minimal decimal capsule API. The API supports fast conversions
-between Decimals up to 38 digits and their triple representation as a C
-struct.
+++ /dev/null
-Fix bug in PyOS_mystrnicmp and PyOS_mystricmp that incremented\r
-pointers beyond the end of a string.
\ No newline at end of file
+++ /dev/null
-Types created with :c:func:`PyType_FromSpec` now make any signature in their
-``tp_doc`` slot accessible from ``__text_signature__``.
+++ /dev/null
-Remove the ``_Py_CheckRecursionLimit`` variable: it has been replaced by
-``ceval.recursion_limit`` of the :c:type:`PyInterpreterState`
-structure. Patch by Victor Stinner.
+++ /dev/null
-Add :c:func:`PyCodec_Unregister` function to unregister a codec search
-function.
+++ /dev/null
-The ``PyUnicode_InternImmortal()`` function is now deprecated and will be
-removed in Python 3.12: use :c:func:`PyUnicode_InternInPlace` instead.
-Patch by Victor Stinner.
+++ /dev/null
-Removed undocumented macros ``Py_ALLOW_RECURSION`` and
-``Py_END_ALLOW_RECURSION`` and the ``recursion_critical`` field of the
-:c:type:`PyInterpreterState` structure.
+++ /dev/null
-The int type now supports the x.is_integer() method for compatibility with
-float.
+++ /dev/null
-Add the private macros ``_Py_COMP_DIAG_PUSH``,
-``_Py_COMP_DIAG_IGNORE_DEPR_DECLS``, and ``_Py_COMP_DIAG_POP``.
+++ /dev/null
-Use ncurses extended color functions when available to support terminals with 256 colors, and add the new function :func:`curses.has_extended_color_support` to indicate whether extended color support is provided by the underlying ncurses library.
\ No newline at end of file
+++ /dev/null
-Add :meth:`int.bit_count()`, counting the number of ones in the binary
-representation of an integer. Patch by Niklas Fiekas.
+++ /dev/null
-Builtin and extension functions that take integer arguments no longer accept
-:class:`~decimal.Decimal`\ s, :class:`~fractions.Fraction`\ s and other
-objects that can be converted to integers only with a loss (e.g. that have
-the :meth:`~object.__int__` method but do not have the
-:meth:`~object.__index__` method).
+++ /dev/null
-Port :mod:`_lzma` to multiphase initialization.
+++ /dev/null
-Port :mod:`mmap` to multiphase initialization.
+++ /dev/null
-Improve performance of generators by not raising internal StopIteration.
+++ /dev/null
-Make the stack trace correct after calling :meth:`generator.throw`
-on a generator that has yielded from a ``yield from``.
+++ /dev/null
-Certain :exc:`TypeError` messages about missing or extra arguments now include the function's
-:term:`qualified name`. Patch by Dennis Sweeney.
+++ /dev/null
-Each interpreter now its has own free lists, singletons and caches:
-
-* Free lists: float, tuple, list, dict, frame, context,
- asynchronous generator, MemoryError.
-* Singletons: empty tuple, empty bytes string, empty Unicode string,
- single byte character, single Unicode (latin1) character.
-* Slice cache.
-
-They are no longer shared by all interpreters.
+++ /dev/null
-Fix a hang that can arise after :meth:`generator.throw` due to a cycle
-in the exception context chain.
+++ /dev/null
-:c:func:`Py_TYPE()` is changed to the inline static function. Patch by
-Dong-hee Na.
+++ /dev/null
-Instances of types created with :c:func:`PyType_FromSpecWithBases` will no
-longer automatically visit their class object when traversing references in
-the garbage collector. The user is expected to manually visit the object's
-class. Patch by Pablo Galindo.
+++ /dev/null
-Support the "-d" debug flag in the new PEG parser. Patch by Pablo Galindo
+++ /dev/null
-When there's a :exc:`SyntaxError` in the expression part of an fstring, the filename attribute of the :exc:`SyntaxError` gets correctly set to the name of the file the fstring resides in.
\ No newline at end of file
+++ /dev/null
-Fix a corner case where g-style string formatting of a float failed to
-remove trailing zeros.
+++ /dev/null
-Attributes ``start``, ``stop`` and ``step`` of the :class:`range` object now
-always has exact type :class:`int`. Previously, they could have been an
-instance of a subclass of ``int``.
+++ /dev/null
-Unexpected errors in calling the ``__iter__`` method are no longer masked by
-``TypeError`` in the :keyword:`in` operator and functions
-:func:`~operator.contains`, :func:`~operator.indexOf` and
-:func:`~operator.countOf` of the :mod:`operator` module.
+++ /dev/null
-Delete unnecessary instance check in importlib.reload().
-Patch by Furkan Önder.
+++ /dev/null
-Port :mod:`fcntl` to multiphase initialization.
+++ /dev/null
-Fix GIL usage in :c:func:`PyOS_Readline`: lock the GIL to set an exception
-and pass the Python thread state when checking if there is a pending signal.
+++ /dev/null
-Allow overriding :data:`sys.platlibdir` via a new :envvar:`PYTHONPLATLIBDIR` environment variable.
+++ /dev/null
-Raise :exc:`ValueError` when validating custom AST's where the constants
-``True``, ``False`` and ``None`` are used within a :class:`ast.Name` node.
+++ /dev/null
-Fix memory leak in when parsing f-strings in the new parser. Patch by Pablo Galindo
\ No newline at end of file
+++ /dev/null
-Fix invalid memory read in the new parser when checking newlines in string
-literals. Patch by Pablo Galindo.
+++ /dev/null
-Fixed a possible segfault in the new PEG parser when producing error messages for invalid assignments of the form :code:`p=p=`. Patch by Pablo Galindo
\ No newline at end of file
+++ /dev/null
-Fix possible segfault in the new PEG parser when parsing f-string containing
-yield statements with no value (:code:`f"{yield}"`). Patch by Pablo Galindo
+++ /dev/null
-Improved the performance of symmetric difference operations on dictionary item views. Patch by Dennis Sweeney.
\ No newline at end of file
+++ /dev/null
-Each dictionary view now has a ``mapping`` attribute that provides a :class:`types.MappingProxyType` wrapping the original dictionary. Patch contributed by Dennis Sweeney.
\ No newline at end of file
+++ /dev/null
-Fix a bug where a line with only a line continuation character is not considered a blank line at tokenizer level.\r
-In such cases, more than a single `NEWLINE` token was emitted. The old parser was working around the issue,\r
-but the new parser threw a :exc:`SyntaxError` for valid input due to this. For example, an empty line following\r
-a line continuation character was interpreted as a :exc:`SyntaxError`. \r
+++ /dev/null
-Remove the old parser, the :mod:`parser` module and all associated support code, command-line options and environment variables. Patch by Pablo Galindo.
\ No newline at end of file
+++ /dev/null
-The Python :ref:`Path Configuration <init-path-config>` now takes
-:c:member:`PyConfig.platlibdir` in account.
+++ /dev/null
-Add a state to the :mod:`nis` module (:pep:`3121`) and apply
-the multiphase initialization. Patch by Dong-hee Na.
+++ /dev/null
-Fix refleak in _Py_fopen_obj() when PySys_Audit() fails
+++ /dev/null
-Port :mod:`_dbm` to multiphase initialization.
+++ /dev/null
-Fix a possible buffer overflow in the PEG parser when gathering information
-for emitting syntax errors. Patch by Pablo Galindo.
+++ /dev/null
-Fix a bug that caused the :exc:`SyntaxError` text to be empty when a file ends with a line ending in a line continuation character (i.e. backslash). The error text should contain the text of the last line.
+++ /dev/null
-Port :mod:`_gdbm` to multiphase initialization.
+++ /dev/null
-:func:`zip` now supports :pep:`618`'s ``strict`` parameter, which raises a
-:exc:`ValueError` if the arguments are exhausted at different lengths.
-Patch by Brandt Bucher.
+++ /dev/null
-The ``encodings.latin_1`` module is no longer imported at startup. Now it is
-only imported when it is the filesystem encoding or the stdio encoding.
+++ /dev/null
-Convert :mod:`_bz2` to use :c:func:`PyType_FromSpec`.
+++ /dev/null
-Remove the remaining files from the old parser and the :mod:`symbol` module.
\ No newline at end of file
+++ /dev/null
-Stefan Behnel reported that cf_feature_version is used even when
-PyCF_ONLY_AST is not set. This is against the intention and against the
-documented behavior, so it's been fixed.
+++ /dev/null
-Rename `PyPegen*` functions to `PyParser*`, so that we can remove the old set of `PyParser*` functions that were using the old parser, but keep everything backwards-compatible.
\ No newline at end of file
+++ /dev/null
-Opt out serialization/deserialization for _random.Random
+++ /dev/null
-Fix incorrect expressions and asserts in hashtable code and tests.
+++ /dev/null
-Fixes a reference to deallocated stack space during startup when constructing sys.path involving a relative symlink when code was supplied via -c. (discovered via Coverity)
\ No newline at end of file
+++ /dev/null
-Pre-feed the parser with the location of the f-string expression, not the f-string itself, which allows us to skip the shifting of the AST node locations after the parsing is completed.
\ No newline at end of file
+++ /dev/null
-Empty frozensets are no longer singletons.
+++ /dev/null
-Prefix the error message with 'f-string: ', when parsing an f-string expression which throws a :exc:`SyntaxError`.
+++ /dev/null
-The "hackcheck" that prevents sneaking around a type's __setattr__() by calling the
-superclass method was rewritten to allow C implemented heap types.
+++ /dev/null
-Fix decoding errors with audit when open files with non-ASCII names on non-UTF-8
-locale.
+++ /dev/null
-add arm64 to the allowable Mac OS arches in mpdecimal.h
\ No newline at end of file
+++ /dev/null
-Guard against a NULL pointer dereference within bytearrayobject triggered by
-the ``bytearray() + bytearray()`` operation.
+++ /dev/null
-Port :mod:`sha256` to multiphase initialization\r
+++ /dev/null
-Port :mod:`faulthandler` to multiphase initialization.
+++ /dev/null
-Python 3.8.3 had a regression where compiling with
-ast.PyCF_ALLOW_TOP_LEVEL_AWAIT would aggressively mark list comprehension
-with CO_COROUTINE. Now only list comprehension making use of async/await
-will tagged as so.
+++ /dev/null
-Use non-NULL default values in the PEG parser keyword list to overcome a bug that was preventing\r
-Python from being properly compiled when using the XLC compiler. Patch by Pablo Galindo.\r
+++ /dev/null
-Port :mod:`winapi` to multiphase initialization\r
+++ /dev/null
-Port :mod:`multiprocessing` to multi-phase initialization\r
+++ /dev/null
-Fix incorrect refcounting in _ssl.c's ``_servername_callback()``.
+++ /dev/null
-Always cache the running loop holder when running
-``asyncio.set_running_loop``.
+++ /dev/null
-Bytecode optimizations are performed directly on the control flow graph.
-This will result in slightly more compact code objects in some
-circumstances.
+++ /dev/null
-Resolve a regression in CPython 3.8.4 where defining "__setattr__" in a
-multi-inheritance setup and calling up the hierarchy chain could fail
-if builtins/extension types were involved in the base types.
+++ /dev/null
-Constructors :func:`str`, :func:`bytes` and :func:`bytearray` are now faster
-(around 30--40% for small objects).
+++ /dev/null
-:func:`round` with integer argument is now faster (9--60%).
+++ /dev/null
-Handle interrupts that come after EOF correctly in ``PyOS_StdioReadline``.
+++ /dev/null
-Removed fallback implementation for ``strdup``.
+++ /dev/null
-Implement PEP 604. This supports (int | str) etc. in place of Union[str, int].
\ No newline at end of file
+++ /dev/null
-Optimize ``dict_merge()`` for copying dict (e.g. ``dict(d)`` and
-``{}.update(d)``).
+++ /dev/null
-Port the :mod:`_sha1`, :mod:`_sha512`, and :mod:`_md5` extension modules\r
-to multi-phase initialization API (:pep:`489`).\r
+++ /dev/null
-The output of ``python --help`` contains now only ASCII characters.
+++ /dev/null
-Fix a bug that was dropping keys when compiling dict literals with more than
-0xFFFF elements. Patch by Pablo Galindo.
+++ /dev/null
-Free the stack allocated in ``va_build_stack`` if ``do_mkstack`` fails and
-the stack is not a ``small_stack``.
+++ /dev/null
-Port the :mod:`_blake2` extension module to the multi-phase initialization API (:pep:`489`).\r
+++ /dev/null
-Port :mod:`_sha3` to multi-phase init. Convert static types to heap types.\r
+++ /dev/null
-Convert :mod:`_operator` to use :c:func:`PyType_FromSpec`.
+++ /dev/null
-The ``_ast`` module uses again a global state. Using a module state per module
-instance is causing subtle practical problems. For example, the Mercurial
-project replaces the ``__import__()`` function to implement lazy import,
-whereas Python expected that ``import _ast`` always return a fully initialized
-``_ast`` module.
+++ /dev/null
-Port the :mod:`zlib` extension module to multi-phase initialization (:pep:`489`).\r
+++ /dev/null
-Fix a crash that occurred when destroying subclasses of
-:class:`MemoryError`. Patch by Pablo Galindo.
+++ /dev/null
-Prevent line trace being skipped on platforms not compiled
-with ``USE_COMPUTED_GOTOS``.
-Fixes issue where some lines nested within a try-except block
-were not being traced on Windows.
+++ /dev/null
-The implementation of :func:`signal.siginterrupt` now uses :c:func:`sigaction`
-(if it is available in the system) instead of the deprecated :c:func:`siginterrupt`.
-Patch by Pablo Galindo.
+++ /dev/null
-Fixes the wrong error description in the error raised by using 2 `,` in
-format string in f-string and :meth:`str.format`.
+++ /dev/null
-Port the :mod:`_opcode` extension module to multi-phase initialization\r
-(:pep:`489`).\r
+++ /dev/null
-Port the :mod:`_curses_panel` extension module to multi-phase initialization\r
-(:pep:`489`).\r
+++ /dev/null
-Port the :mod:`_overlapped` extension module to multi-phase initialization\r
-(:pep:`489`).\r
+++ /dev/null
-Fix a possible stack overflow in the parser when parsing functions and
-classes with a huge ammount of arguments. Patch by Pablo Galindo.
+++ /dev/null
-Convert the :mod:`_sha256` extension module types to heap types.\r
+++ /dev/null
-Port the :mod:`termios` extension module to multi-phase initialization\r
-(:pep:`489`).\r
+++ /dev/null
-Port the :mod:`_scproxy` extension module to multi-phase initialization\r
-(:pep:`489`).\r
+++ /dev/null
-Port the :mod:`cmath` extension module to multi-phase initialization\r
-(:pep:`489`).\r
+++ /dev/null
-Add PyGen_Send function to allow sending value into generator/coroutine
-without raising StopIteration exception to signal return
+++ /dev/null
-Port the :mod:`_lsprof` extension module to multi-phase initialization\r
-(:pep:`489`).\r
+++ /dev/null
-Fix :meth:`__dir__` of :class:`types.GenericAlias`. Patch by Batuhan
-Taskaya.
+++ /dev/null
-Correctly count control blocks in 'except' in compiler. Ensures that a
-syntax error, rather a fatal error, occurs for deeply nested, named
-exception handlers.
+++ /dev/null
-Port the :mod:`_bisect` module to the multi-phase initialization API (:pep:`489`).
+++ /dev/null
-Speed up calls to ``bool()`` by using the :pep:`590` ``vectorcall`` calling
-convention. Patch by Dong-hee Na.
+++ /dev/null
-Calls to ``float()`` are now faster due to the ``vectorcall`` calling convention. Patch by Dennis Sweeney.
\ No newline at end of file
+++ /dev/null
-Speed up calls to ``reversed()`` by using the :pep:`590` ``vectorcall``
-calling convention. Patch by Dong-hee Na.
+++ /dev/null
-Fixed stack overflow in :func:`issubclass` and :func:`isinstance` when
-getting the ``__bases__`` attribute leads to infinite recursion.
+++ /dev/null
-Updated Documentation to comprehensively elaborate on the behaviour of
-gather.cancel()
+++ /dev/null
-Make code, examples, and recipes in the Python documentation be licensed under the more permissive BSD0 license in addition to the existing Python 2.0 license.
\ No newline at end of file
+++ /dev/null
-Fix in tutorial section 4.2.\r
-Code snippet is now correct.
\ No newline at end of file
+++ /dev/null
-Refactored typing.rst, arranging more than 70 classes, functions, and decorators into new sub-sections.
\ No newline at end of file
+++ /dev/null
-Changed the release when ``from __future__ import annotations`` becomes the default from ``4.0`` to ``3.10`` (following a change in PEP 563).
+++ /dev/null
-Add documentation for debug feature of f-strings.
\ No newline at end of file
+++ /dev/null
-Enable Sphinx 3.2 ``c_allow_pre_v3`` option and disable
-``c_warn_on_allowed_pre_v3`` option to make the documentation compatible
-with Sphinx 2 and Sphinx 3.
+++ /dev/null
-Fix the signature of :class:`typing.Coroutine`.
+++ /dev/null
-Update the refcounts info of ``PyType_FromModuleAndSpec``.
+++ /dev/null
-Change Shipman tkinter doc link from archive.org to TkDocs. (The doc has been removed from the NMT server.) The new link responds much faster and includes a short explanatory note.
+++ /dev/null
-Fix RemovedInSphinx40Warning when building the documentation. Patch by Dong-hee Na.
+++ /dev/null
-In Programming FAQ "Sequences (Tuples/Lists)" section, add "How do you
-remove multiple items from a list".
+++ /dev/null
-Add documentation for :pep:`604` (Allow writing union types as ``X | Y``).
+++ /dev/null
-Make test_idle pass when run after import.
+++ /dev/null
-Make context menu Cut and Copy work again when right-clicking within a
-selection.
+++ /dev/null
-Make Open Module open a special module such as os.path.
+++ /dev/null
-The encoding of ``stdin``, ``stdout`` and ``stderr`` in IDLE is now always
-UTF-8.
+++ /dev/null
-Add keywords to module name completion list. Rewrite Completions
-section of IDLE doc.
+++ /dev/null
-Save files with non-ascii chars. Fix regression released in 3.9.0b4 and
-3.8.4.
+++ /dev/null
-Save files loaded with no line ending, as when blank, or different line
-endings, by setting its line ending to the system default. Fix regression in
-3.8.4 and 3.9.0b4.
+++ /dev/null
-Improve IDLE run crash error message (which users should never see).
+++ /dev/null
-In calltips, stop reminding that '/' marks the end of positional-only
-arguments.
+++ /dev/null
-Rewrite the Calltips doc section.
+++ /dev/null
-Use 'IDLE Shell' as shell title
+++ /dev/null
-The x.is_integer() method is incorporated into the abstract types of the
-numeric tower, Real, Rational and Integral, with appropriate default
-implementations.
+++ /dev/null
-The d.is_integer() method is added to the Decimal type, for compatibility
-with other number types.
+++ /dev/null
-Improve the error message for a misbehaving ``rawio.readinto``
+++ /dev/null
-Fix pathlib.PosixPath to resolve a relative path located on the root
-directory properly.
+++ /dev/null
-Fix `cgi.parse_multipart` without content_length. Patch by Roger Duran
+++ /dev/null
-Remove ``ParserBase.error()`` method from the private and undocumented
-``_markupbase`` module. :class:`html.parser.HTMLParser` is the only
-subclass of ``ParserBase`` and its ``error()`` implementation was deprecated
-in Python 3.4 and removed in Python 3.5.
+++ /dev/null
-:func:`~unittest.TestCase.assertWarns` no longer raises a ``RuntimeException``
-when accessing a module's ``__warningregistry__`` causes importation of a new
-module, or when a new module is imported in another thread. Patch by Kernc.
+++ /dev/null
-Refactor formatweekday, formatmonthname methods in LocaleHTMLCalendar and LocaleTextCalendar classes in calendar module to call the base class methods.This enables customizable CSS classes for LocaleHTMLCalendar.
-Patch by Srinivas Reddy Thatiparthy
-
+++ /dev/null
-Added site.py site-packages tracing in verbose mode.
+++ /dev/null
-AST nodes are now raising :exc:`TypeError` on conflicting keyword arguments.
-Patch contributed by Rémi Lapeyre.
+++ /dev/null
-:func:`csv.writer` now correctly escapes *escapechar* when input
-contains *escapechar*. Patch by Catalin Iacob, Berker Peksag,
-and Itay Elbirt.
+++ /dev/null
-Fix :meth:`IMAP4.noop()` when debug mode is enabled (ex: ``imaplib.Debug = 3``).
+++ /dev/null
-Added the *root_dir* and *dir_fd* parameters in :func:`glob.glob`.
+++ /dev/null
-:exc:`struct.error` is now raised if there is a null character in a
-:mod:`struct` format string.
+++ /dev/null
-Add ``--quiet`` option to command-line interface of :mod:`py_compile`.
-Patch by Gregory Schevchenko.
+++ /dev/null
-Fix parsing of invalid mime headers parameters by collapsing whitespace between
-encoded words in a bare-quote-string.
+++ /dev/null
-Fixed :class:`multiprocessing.context.get_all_start_methods`\r
-to properly return the default method first on macOS.\r
+++ /dev/null
-fix default `_missing_` so a duplicate `ValueError` is not set as the `__context__` of the original `ValueError`
+++ /dev/null
-ssl.wrap_socket() now raises ssl.SSLEOFError rather than OSError when peer closes connection during TLS negotiation
\ No newline at end of file
+++ /dev/null
-Fix ``Enum.__dir__``: dir(Enum.member) now includes attributes as well as methods.
+++ /dev/null
-ZipFile truncates files to avoid corruption when a shorter comment is provided
-in append ("a") mode. Patch by Jan Mazur.
+++ /dev/null
-Use SQLite3 trace v2 API, if it is available.
+++ /dev/null
-Updated the error message and docs of PurePath.relative_to() to better reflect the function behaviour.
\ No newline at end of file
+++ /dev/null
-A new test assertion context-manager, :func:`unittest.assertNoLogs` will\r
-ensure a given block of code emits no log messages using the logging module.\r
-Contributed by Kit Yan Choi.\r
+++ /dev/null
-``ctypes`` now raises an ``ArgumentError`` when a callback is invoked with more than 1024 arguments.
\ No newline at end of file
+++ /dev/null
-PEP 554 for use in the test suite.\r
-(Patch By Joannah Nanjekye)
\ No newline at end of file
+++ /dev/null
-:data:`~mmap.MAP_POPULATE` constant has now been added to the list of exported :mod:`mmap` module flags.
+++ /dev/null
-Restored the deprecated :mod:`xml.etree.cElementTree` module.
+++ /dev/null
-Added a new :term:`coroutine` :func:`asyncio.to_thread`. It is mainly used for\r
-running IO-bound functions in a separate thread to avoid blocking the event\r
-loop, and essentially works as a high-level version of\r
-:meth:`~asyncio.loop.run_in_executor` that can directly take keyword arguments.
\ No newline at end of file
+++ /dev/null
-Prepare ``_hashlib`` for :pep:`489` and use :c:func:`PyModule_AddType`.
+++ /dev/null
-On macOS, when building Python for macOS 10.4 and older, which wasn't the case
-for python.org macOS installer, :func:`socket.getaddrinfo` no longer uses an
-internal lock to prevent race conditions when calling ``getaddrinfo()`` which
-is thread-safe since macOS 10.5. Python 3.9 requires macOS 10.6 or newer. The
-internal lock caused random hang on fork when another thread was calling
-:func:`socket.getaddrinfo`. The lock was also used on FreeBSD older than 5.3,
-OpenBSD older than 201311 and NetBSD older than 4.
+++ /dev/null
-Add h5 file extension as MIME Type application/x-hdf5, as per HDF Group recommendation for HDF5 formatted data files. Patch contributed by Mark Schwab.
+++ /dev/null
-:func:`ast.parse` will not parse self documenting expressions in f-strings when passed ``feature_version`` is less than ``(3, 8)``.
+++ /dev/null
-func:`hashlib.new` passed ``usedforsecurity`` to OpenSSL EVP constructor
-``_hashlib.new()``. test_hashlib and test_smtplib handle strict security
-policy better.
+++ /dev/null
-:mod:`hashlib` no longer falls back to builtin hash implementations when
-OpenSSL provides a hash digest and the algorithm is blocked by security
-policy.
+++ /dev/null
-:mod:`distutils` upload creates SHA2-256 and Blake2b-256 digests. MD5
-digests is skipped if platform blocks MD5.
+++ /dev/null
-Handle cases where the ``end_lineno`` is ``None`` on
-:func:`ast.increment_lineno`.
+++ /dev/null
-Fix possible reference leak for :mod:`sqlite3` initialization.
+++ /dev/null
-Add a new :data:`os.RWF_APPEND` flag for :func:`os.pwritev`.
+++ /dev/null
-The second argument (extra) of ``LoggerAdapter.__init__`` now defaults to
-None.
+++ /dev/null
-Deprecate the :mod:`symbol` module.
+++ /dev/null
-Fix asyncio ``loop.sock_*`` race condition issue
+++ /dev/null
-Fix :mod:`ssl` code to be compatible with OpenSSL 1.1.x builds that use
-``no-deprecated`` and ``--api=1.1.0``.
+++ /dev/null
-Add :func:`base64.b32hexencode` and :func:`base64.b32hexdecode` to support the
-Base32 Encoding with Extended Hex Alphabet.
+++ /dev/null
-:mod:`ctypes` module: If ctypes fails to convert the result of a callback or
-if a ctypes callback function raises an exception, sys.unraisablehook is now
-called with an exception set. Previously, the error was logged into stderr
-by :c:func:`PyErr_Print`.
+++ /dev/null
-:func:`hashlib.compare_digest` uses OpenSSL's ``CRYPTO_memcmp()`` function
-when OpenSSL is available.
+++ /dev/null
-:mod:`webbrowser` now properly finds the default browser in pure Wayland
-systems by checking the WAYLAND_DISPLAY environment variable. Patch
-contributed by Jérémy Attali.
+++ /dev/null
-The result of :func:`operator.index` now always has exact type :class:`int`.
-Previously, the result could have been an instance of a subclass of ``int``.
+++ /dev/null
-Update ensurepip to install pip 20.1.1 and setuptools 47.1.0.
+++ /dev/null
-Initialize PyDateTime_IsoCalendarDateType.tp_base at run-time to avoid
-errors on some compilers.
+++ /dev/null
-The :mod:`sqlite3` module uses SQLite API functions that require SQLite
-v3.7.3 or higher. This patch removes support for older SQLite versions, and
-explicitly requires SQLite 3.7.3 both at build, compile and runtime. Patch by
-Sergey Fedoseev and Erlend E. Aasland.
+++ /dev/null
-Fixed email.contentmanager to allow set_content() to set a null string.
+++ /dev/null
-Unexpected errors in calling the ``__iter__`` method are no longer masked
-by ``TypeError`` in :func:`csv.reader`, :func:`csv.writer.writerow` and
-:meth:`csv.writer.writerows`.
+++ /dev/null
-Add rich comparisons to collections.Counter().
+++ /dev/null
-Fix truncate when sending str object with_xxsubinterpreters.channel_send.
\ No newline at end of file
+++ /dev/null
-The topological sort functionality that was introduced initially in the
-:mod:`functools` module has been moved to a new :mod:`graphlib` module to
-better accommodate the new tools and keep the original scope of the
-:mod:`functools` module. Patch by Pablo Galindo
+++ /dev/null
-:class:`rlcompleter.Completer` and the standard Python shell now close the
-parenthesis for functions that take no arguments. Patch contributed by Rémi
-Lapeyre.
+++ /dev/null
-Built-in loaders (SourceFileLoader and ZipImporter) now supply ``TraversableResources`` implementations for ``ResourceReader``, and the fallback function has been removed.
+++ /dev/null
-Fix reference leak in the :mod:`select` module when the module is
-imported in a subinterpreter.
+++ /dev/null
-Stop codeop._maybe_compile, used by code.InteractiveInterpreter (and IDLE).
-from emitting each warning three times.
+++ /dev/null
-Refresh importlib.metadata from importlib_metadata 1.6.1.
\ No newline at end of file
+++ /dev/null
-Clarify error message in the :mod:`csv` module.
+++ /dev/null
-Added a `defaults` parameter to :class:`logging.Formatter`, to allow
-specifying default values for custom fields. Patch by Asaf Alon and Bar
-Harel.
+++ /dev/null
-Ignore empty or whitespace-only lines in .pth files. This matches the\r
-documentated behavior. Before, empty lines caused the site-packages\r
-dir to appear multiple times in sys.path.\r
-By Ido Michael, contributors Malcolm Smith and Tal Einat.\r
+++ /dev/null
-Add :data:`sys.orig_argv` attribute: the list of the original command line
-arguments passed to the Python executable.
+++ /dev/null
-Use the new PEG parser when generating the stdlib :mod:`keyword` module.
\ No newline at end of file
+++ /dev/null
-The standard deviation and variance functions in the statistics module were
-ignoring their mu and xbar arguments.
+++ /dev/null
-Fix a minor memory leak in :mod:`subprocess` module when extra_groups was specified.
+++ /dev/null
-Ensure ``importlib.resources.path`` returns an extant path for the
-SourceFileLoader's resource reader. Avoids the regression identified in
-master while a long-term solution is devised.
+++ /dev/null
-Removed :meth:`asyncio.Task.current_task` and
-:meth:`asyncio.Task.all_tasks`. Patch contributed by Rémi Lapeyre.
+++ /dev/null
-:mod:`ensurepip` now disables the use of `pip` cache when installing the
-bundled versions of `pip` and `setuptools`. Patch by Krzysztof Konopko.
+++ /dev/null
-Improve performance of HTTPResponse.read with a given amount. Patch by Bruce Merry.
+++ /dev/null
-Add the :class:`xml.sax.handler.LexicalHandler` class that is present in
-other SAX XML implementations.
+++ /dev/null
-Fixed an issue preventing the C implementation of :class:`zoneinfo.ZoneInfo`
-from being subclassed.
+++ /dev/null
-Fixed the use of :func:`~glob.glob` in the stdlib: literal part of the path
-is now always correctly escaped.
+++ /dev/null
-:func:`mimetypes.read_mime_types` function reads the rule file using UTF-8 encoding, not the locale encoding.
-Patch by Srinivas Reddy Thatiparthy.
\ No newline at end of file
+++ /dev/null
-Fixed an instance where a MemoryError within the zoneinfo module might not be reported or not reported at its source. (found by Coverity)
\ No newline at end of file
+++ /dev/null
-Fix a NULL pointer dereference within the ssl module during a MemoryError in the keylog callback. (discovered by Coverity)
\ No newline at end of file
+++ /dev/null
-Invalid file descriptor values are now prevented from being passed to os.fpathconf. (discovered by Coverity)
\ No newline at end of file
+++ /dev/null
-:func:`pdb.find_function` now correctly determines the source file encoding.
+++ /dev/null
-Fixed reading files with non-ASCII names from ZIP archive directly after
-writing them.
+++ /dev/null
-Fix default-value signatures of several functions in the :mod:`select` module - by Anthony Sottile.
+++ /dev/null
-Remove freelist from collections.deque().
+++ /dev/null
-Use the term "iterable" in the docstring for :func:`functools.reduce`.
+++ /dev/null
-Fixed the :mod:`trace` module CLI for Python source files with non-UTF-8
-encoding.
+++ /dev/null
-The decimal module now requires libmpdec-2.5.0.
+++ /dev/null
-The decimal module now requires libmpdec-2.5.0. Users of
---with-system-libmpdec should update their system library.
+++ /dev/null
-selector: use DefaultSelector based upon implementation
+++ /dev/null
-The ``write_history()`` atexit function of the readline completer now
-ignores any :exc:`OSError` to ignore error if the filesystem is read-only,
-instead of only ignoring :exc:`FileNotFoundError` and
-:exc:`PermissionError`.
+++ /dev/null
-Add read-only ssl.SSLContext.security_level attribute to retrieve the
-context's security level.
+++ /dev/null
-Fix a crash in the ``_ast`` module: it can no longer be loaded more than once.
-It now uses a global state rather than a module state.
+++ /dev/null
-Remove the ``__new__`` method of :class:`typing.Generic`.
+++ /dev/null
-Register :class:`array.array` as a
-:class:`~collections.abc.MutableSequence`. Patch by Pablo Galindo.
+++ /dev/null
-In distutils.spawn, restore expectation that DistutilsExecError is raised when the command is not found.
+++ /dev/null
-Fix the error handling in :meth:`ssl.SSLContext.load_dh_params`.
+++ /dev/null
-Speed up any transport using ``_ProactorReadPipeTransport`` by calling
-``recv_into`` instead of ``recv``, thus not creating a new buffer for each
-``recv`` call in the transport's read loop.
+++ /dev/null
-Avoid infinite loop when reading specially crafted TAR files using the tarfile module (CVE-2019-20907).
+++ /dev/null
-Unpickling invalid NEWOBJ_EX opcode with the C implementation raises now
-UnpicklingError instead of crashing.
+++ /dev/null
-:meth:`collections.OrderedDict.pop` is now 2 times faster.
+++ /dev/null
-Prevent creating :class:`shared_memory.SharedMemory` objects with :code:`size=0`.
+++ /dev/null
-Recursive evaluation of `typing.ForwardRef` in `get_type_hints`.
\ No newline at end of file
+++ /dev/null
-Set the environment variable ``VIRTUAL_ENV_PROMPT`` at :mod:`venv`
-activation.
+++ /dev/null
-Reduce import overhead of :mod:`uuid`.
+++ /dev/null
-Use add_done_callback() in asyncio.loop.sock_accept() to unsubscribe reader
-early on cancellation.
+++ /dev/null
-Raise TclError instead of TypeError when an unknown option is passed to
-tkinter.OptionMenu.
+++ /dev/null
-Fix the :mod:`tarfile` module to write only basename of TAR file to GZIP compression header.
\ No newline at end of file
+++ /dev/null
-Add :func:`os.cpu_count()` support for VxWorks RTOS.
+++ /dev/null
-Make an algebraic simplification to random.paretovariate(). It now is
-slightly less subject to round-off error and is slightly faster. Inputs that
-used to cause ZeroDivisionError now cause an OverflowError instead.
+++ /dev/null
-Make tkinter doc example runnable.
+++ /dev/null
-On Windows, fix asyncio ``recv_into()`` return value when the socket/pipe is
-closed (:exc:`BrokenPipeError`): return ``0`` rather than an empty byte
-string (``b''``).
+++ /dev/null
-Fix potential UnicodeDecodeError in dis module.
\ No newline at end of file
+++ /dev/null
-Fixed a race between setTarget and flush in logging.handlers.MemoryHandler.
\ No newline at end of file
+++ /dev/null
-Minor algorithmic improvement to math.hypot() and math.dist() giving small
-gains in speed and accuracy.
+++ /dev/null
-turtle uses math module functions to convert degrees to radians and vice versa and to calculate vector norm
\ No newline at end of file
+++ /dev/null
-Fix :mod:`codeop` regression that prevented turning compile warnings into errors.
+++ /dev/null
-Change the method asyncio.AbstractEventLoop.run_in_executor to not be a coroutine.
\ No newline at end of file
+++ /dev/null
-:meth:`asyncio.wait_for` now properly handles races between cancellation of
-itself and the completion of the wrapped awaitable.
+++ /dev/null
-When cancelling the task due to a timeout, :meth:`asyncio.wait_for` will now
-wait until the cancellation is complete also in the case when *timeout* is
-<= 0, like it does with positive timeouts.
+++ /dev/null
-Fixed pprint's handling of dict subclasses that override __repr__.
+++ /dev/null
-The pdb whatis command correctly reports instance methods as 'Method' rather than 'Function'.
\ No newline at end of file
+++ /dev/null
-Improved the accuracy of math.hypot(). Internally, each step is computed
-with extra precision so that the result is now almost always correctly
-rounded.
+++ /dev/null
-Fixed crash when mutate list of parameters during iteration in :mod:`sqlite3`.
+++ /dev/null
-:exc:`~sqlite3.ProgrammingError` message for absent parameter in :mod:`sqlite3`
-contains now the name of the parameter instead of its index when parameters
-are supplied as a dict.
+++ /dev/null
-Restarting a ``ProactorEventLoop`` on Windows no longer logs spurious
-``ConnectionResetErrors``.
+++ /dev/null
-No longer override exceptions raised in ``__len__()`` of a sequence of
-parameters in :mod:`sqlite3` with :exc:`~sqlite3.ProgrammingError`.
+++ /dev/null
-Fix implementation of sendfile to be compatible with Solaris.
+++ /dev/null
-Fix handling of debug mode in :func:`asyncio.run`. This allows setting ``PYTHONASYNCIODEBUG`` or ``-X dev`` to enable asyncio debug mode when using :func:`asyncio.run`.
\ No newline at end of file
+++ /dev/null
-Fixed :meth:`turtle.Vec2D.__rmul__` for arguments which are not int or
-float.
+++ /dev/null
-Added an :term:`iterator` to :class:`memoryview`.
+++ /dev/null
-Port the ``_string`` extension module to the multi-phase initialization API
-(:pep:`489`).
+++ /dev/null
-Port the ``mashal`` extension module to the multi-phase initialization API
-(:pep:`489`).
+++ /dev/null
-Fix a race condition in the ``call_soon_threadsafe()`` method of
-``asyncio.ProactorEventLoop``: do nothing if the self-pipe socket has been
-closed.
+++ /dev/null
-`enum.Flag` and `enum.IntFlag` members are now iterable
+++ /dev/null
-Honor `object` overrides in `Enum` class creation (specifically, `__str__`,
-`__repr__`, `__format__`, and `__reduce_ex__`).
+++ /dev/null
-Add is_typeddict function to typing.py to check if a type is a TypedDict
-class
-
-Previously there was no way to check that without using private API. See the
-`relevant issue in python/typing
-<https://github.com/python/typing/issues/751>`
+++ /dev/null
-use the correct mix-in data type when constructing Enums
+++ /dev/null
-fix bug allowing Enums to be extended via multiple inheritance
+++ /dev/null
-StrEnum added: it ensures that all members are already strings or string
-candidates
+++ /dev/null
-Fix SQLite3 segfault when backing up closed database. Patch contributed by
-Peter David McCormick.
+++ /dev/null
-:data:`types.EllipsisType`, :data:`types.NotImplementedType` and
-:data:`types.NoneType` have been reintroduced, providing a new set
-of types readily interpretable by static type checkers.
+++ /dev/null
-fix `tkinter.EventType` Enum so all members are strings, and none are tuples
+++ /dev/null
-The :class:`threading.Thread` constructor now uses the target name if the
-*target* argument is specified but the *name* argument is omitted.
+++ /dev/null
-More reliable validation of statements in :class:`timeit.Timer`. It now
-accepts "empty" statements (only whitespaces and comments) and rejects
-misindentent statements.
+++ /dev/null
-In ``zipfile.Path``, mutate the passed ZipFile object type instead of making a copy. Prevents issues when both the local copy and the caller’s copy attempt to close the same file handle.
\ No newline at end of file
+++ /dev/null
-Add :func:`codecs.unregister` function to unregister a codec search function.
+++ /dev/null
-Fix a bug in the :mod:`symtable` module that was causing module-scope global
-variables to not be reported as both local and global. Patch by Pablo
-Galindo.
+++ /dev/null
-Note in documentation that :func:`random.choices` doesn't support non-finite
-weights, raise :exc:`ValueError` when given non-finite weights.
+++ /dev/null
-Strip leading spaces and tabs on :func:`ast.literal_eval`. Also document
-stripping of spaces and tabs for :func:`eval`.
+++ /dev/null
-C14N 2.0 serialisation in xml.etree.ElementTree failed for unprefixed attributes
-when a default namespace was defined.
+++ /dev/null
-Prevent http header injection by rejecting control characters in
-http.client.putrequest(...).
+++ /dev/null
-The __hash__() methods of ipaddress.IPv4Interface and ipaddress.IPv6Interface incorrectly generated constant hash values of 32 and 128 respectively. This resulted in always causing hash collisions. The fix uses hash() to generate hash values for the tuple of (address, mask length, network address).
+++ /dev/null
-Ensure :file:`python3.dll` is loaded from correct locations when Python is
-embedded (CVE-2020-15523).
+++ /dev/null
-Audit hooks are now cleared later during finalization to avoid missing events.
\ No newline at end of file
+++ /dev/null
-Fixes `python3x._pth` being ignored on Windows, caused by the fix for :issue:`29778` (CVE-2020-15801).
+++ /dev/null
-Make test_gdb properly run on HP-UX. Patch by Michael Osipov.
+++ /dev/null
-Increase code coverage for SharedMemory and ShareableList
+++ /dev/null
-Increase LOOPBACK_TIMEOUT to 10 for VxWorks RTOS.
+++ /dev/null
-Skip some :mod:`multiprocessing` tests when MD5 hash digest is blocked.
+++ /dev/null
-Fix test_binhex when run twice: it now uses import_fresh_module() to ensure
-that it raises DeprecationWarning each time.
+++ /dev/null
-Disable remote :mod:`imaplib` tests, host cyrus.andrew.cmu.edu is blocking
-incoming connections.
+++ /dev/null
-Fix ``test_copyreg`` when ``numpy`` is installed: ``test.pickletester`` now
-saves/restores warnings filters when importing ``numpy``, to ignore filters
-installed by ``numpy``.
+++ /dev/null
-Fix use of ``support.require_{linux|mac|freebsd}_version()`` decorators as
-class decorator.
+++ /dev/null
-On Linux, skip tests using multiprocessing if the current user cannot create
-a file in ``/dev/shm/`` directory. Add the
-:func:`~test.support.skip_if_broken_multiprocessing_synchronize` function to
-the :mod:`test.support` module.
+++ /dev/null
-:data:`test.support.TESTFN` and the current directory for tests when run via
-``test.regrtest`` contain now non-ascii characters if possible.
+++ /dev/null
-Fix integer overflow in the :meth:`array.array.index` method on 64-bit Windows
-for index larger than ``2**31``.
+++ /dev/null
-Make ctypes optional in test_genericalias.
+++ /dev/null
-:mod:`test.support`: Rename ``blacklist`` parameter of
-:func:`~test.support.check__all__` to ``not_exported``.
+++ /dev/null
-Add tests for SIGINT handling in the runpy module.
+++ /dev/null
-Make test_cmd_line_script pass with option '-vv'.
+++ /dev/null
-Fix test_site.test_license_exists_at_url(): call
-``urllib.request.urlcleanup()`` to reset the global
-``urllib.request._opener``. Patch by Victor Stinner.
+++ /dev/null
-Extend py.exe help to mention overrides via venv, shebang, environmental variables & ini files.
\ No newline at end of file
+++ /dev/null
-Manually define IO_REPARSE_TAG_APPEXECLINK in case some old Windows SDK doesn't have it.
\ No newline at end of file
+++ /dev/null
-Changes the registered MIME type for ``.py`` files on Windows to
-``text/x-python`` instead of ``text/plain``.
+++ /dev/null
-Updates Windows OpenSSL to 1.1.1g
\ No newline at end of file
+++ /dev/null
-Stable ABI redirection DLL (python3.dll) now uses ``#pragma
-comment(linker)`` for re-exporting.
+++ /dev/null
-Fixed support of non-ASCII names in functions :func:`msilib.OpenDatabase`
-and :func:`msilib.init_database` and non-ASCII SQL in method
-:meth:`msilib.Database.OpenView`.
+++ /dev/null
-:mod:`msilib` now supports creating CAB files with non-ASCII file path and
-adding files with non-ASCII file path to them.
+++ /dev/null
-Update Windows release to include SQLite 3.32.3.
+++ /dev/null
-The installer will now fail to install on Windows 7 and Windows 8. Further,
-the UCRT dependency is now always downloaded on demand.
+++ /dev/null
-Improve post-install message to direct people to the "py" command.
+++ /dev/null
-Fixes the description that appears in UAC prompts.
+++ /dev/null
-Fixed layout of final page of the installer by removing the special thanks
-to Mark Hammond (with his permission).
+++ /dev/null
-The user site directory for 32-bit now includes a ``-32`` suffix to
-distinguish it from the 64-bit interpreter's directory.
+++ /dev/null
-Fixes automatic import of props file when using the Nuget package.
\ No newline at end of file
+++ /dev/null
-Update macOS installer to use SQLite 3.32.2.
+++ /dev/null
-fixed an XDG settings issue not allowing macos to open browser in webbrowser.py
\ No newline at end of file
+++ /dev/null
-Update macOS installer to use SQLite 3.32.3.
+++ /dev/null
-Fix configure error when building on macOS 11.
-Note that the current Python release was released
-shortly after the first developer preview of macOS
-11 (Big Sur); there are other known issues with
-building and running on the developer preview.
-Big Sur is expected to be fully supported in a
-future bugfix release of Python 3.8.x and with 3.9.0.
\ No newline at end of file
+++ /dev/null
-Avoid opening Finder window if running installer from the command line.
-Patch contributed by Rick Heil.
+++ /dev/null
-Update macOS installer to use SQLite 3.33.0.
-This is Python version 3.10.0 alpha 0
+This is Python version 3.10.0 alpha 1
=====================================
.. image:: https://travis-ci.com/python/cpython.svg?branch=master