# -*- coding: utf-8 -*-
-# Autogenerated by Sphinx on Mon Sep 12 10:47:11 2016
-topics = {'assert': '\n'
- 'The "assert" statement\n'
+# Autogenerated by Sphinx on Tue Sep 19 00:59:47 2017
+topics = {'assert': 'The "assert" statement\n'
'**********************\n'
'\n'
'Assert statements are a convenient way to insert debugging '
'Assignments to "__debug__" are illegal. The value for the '
'built-in\n'
'variable is determined when the interpreter starts.\n',
- 'assignment': '\n'
- 'Assignment statements\n'
+ 'assignment': 'Assignment statements\n'
'*********************\n'
'\n'
'Assignment statements are used to (re)bind names to values and '
'See also: **PEP 526** - Variable and attribute annotation '
'syntax\n'
' **PEP 484** - Type hints\n',
- 'atom-identifiers': '\n'
- 'Identifiers (Names)\n'
+ 'atom-identifiers': 'Identifiers (Names)\n'
'*******************\n'
'\n'
'An identifier occurring as an atom is a name. See '
'happen. If the class name consists only of underscores, '
'no\n'
'transformation is done.\n',
- 'atom-literals': '\n'
- 'Literals\n'
+ 'atom-literals': 'Literals\n'
'********\n'
'\n'
'Python supports string and bytes literals and various '
'may obtain\n'
'the same object or a different object with the same '
'value.\n',
- 'attribute-access': '\n'
- 'Customizing attribute access\n'
+ 'attribute-access': 'Customizing attribute access\n'
'****************************\n'
'\n'
'The following methods can be defined to customize the '
'__slots__\n'
'=========\n'
'\n'
- 'By default, instances of classes have a dictionary for '
- 'attribute\n'
- 'storage. This wastes space for objects having very few '
- 'instance\n'
- 'variables. The space consumption can become acute when '
- 'creating large\n'
- 'numbers of instances.\n'
+ '*__slots__* allow us to explicitly declare data members '
+ '(like\n'
+ 'properties) and deny the creation of *__dict__* and '
+ '*__weakref__*\n'
+ '(unless explicitly declared in *__slots__* or available '
+ 'in a parent.)\n'
'\n'
- 'The default can be overridden by defining *__slots__* in '
- 'a class\n'
- 'definition. The *__slots__* declaration takes a sequence '
- 'of instance\n'
- 'variables and reserves just enough space in each '
- 'instance to hold a\n'
- 'value for each variable. Space is saved because '
- '*__dict__* is not\n'
- 'created for each instance.\n'
+ 'The space saved over using *__dict__* can be '
+ 'significant.\n'
'\n'
'object.__slots__\n'
'\n'
'\n'
'* When inheriting from a class without *__slots__*, the '
'*__dict__*\n'
- ' attribute of that class will always be accessible, so '
- 'a *__slots__*\n'
- ' definition in the subclass is meaningless.\n'
+ ' and *__weakref__* attribute of the instances will '
+ 'always be\n'
+ ' accessible.\n'
'\n'
'* Without a *__dict__* variable, instances cannot be '
'assigned new\n'
'the class\n'
' attribute would overwrite the descriptor assignment.\n'
'\n'
- '* The action of a *__slots__* declaration is limited to '
- 'the class\n'
- ' where it is defined. As a result, subclasses will '
- 'have a *__dict__*\n'
- ' unless they also define *__slots__* (which must only '
- 'contain names\n'
- ' of any *additional* slots).\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'
'\n'
'* If a class defines a slot also defined in a base '
'class, the\n'
'\n'
'* *__class__* assignment works only if both classes have '
'the same\n'
- ' *__slots__*.\n',
- 'attribute-references': '\n'
- 'Attribute references\n'
+ ' *__slots__*.\n'
+ '\n'
+ '* Multiple inheritance with multiple slotted parent '
+ 'classes can be\n'
+ ' used, but only one parent is allowed to have '
+ 'attributes created by\n'
+ ' slots (the other bases must have empty slot layouts) - '
+ 'violations\n'
+ ' raise "TypeError".\n',
+ 'attribute-references': 'Attribute references\n'
'********************\n'
'\n'
'An attribute reference is a primary followed by a '
'determined by the object. Multiple evaluations of '
'the same attribute\n'
'reference may yield different objects.\n',
- 'augassign': '\n'
- 'Augmented assignment statements\n'
+ 'augassign': 'Augmented assignment statements\n'
'*******************************\n'
'\n'
'Augmented assignment is the combination, in a single statement, '
'about\n'
'class and instance attributes applies as for regular '
'assignments.\n',
- 'binary': '\n'
- 'Binary arithmetic operations\n'
+ 'binary': 'Binary arithmetic operations\n'
'****************************\n'
'\n'
'The binary arithmetic operations have the conventional priority\n'
'The "-" (subtraction) operator yields the difference of its '
'arguments.\n'
'The numeric arguments are first converted to a common type.\n',
- 'bitwise': '\n'
- 'Binary bitwise operations\n'
+ 'bitwise': 'Binary bitwise operations\n'
'*************************\n'
'\n'
'Each of the three bitwise operations has a different priority '
'The "|" operator yields the bitwise (inclusive) OR of its '
'arguments,\n'
'which must be integers.\n',
- 'bltin-code-objects': '\n'
- 'Code Objects\n'
+ 'bltin-code-objects': 'Code Objects\n'
'************\n'
'\n'
'Code objects are used by the implementation to '
'\n'
'See The standard type hierarchy for more '
'information.\n',
- 'bltin-ellipsis-object': '\n'
- 'The Ellipsis Object\n'
+ 'bltin-ellipsis-object': 'The Ellipsis Object\n'
'*******************\n'
'\n'
'This object is commonly used by slicing (see '
'"Ellipsis" singleton.\n'
'\n'
'It is written as "Ellipsis" or "...".\n',
- 'bltin-null-object': '\n'
- 'The Null Object\n'
+ 'bltin-null-object': 'The Null Object\n'
'***************\n'
'\n'
"This object is returned by functions that don't "
'same singleton.\n'
'\n'
'It is written as "None".\n',
- 'bltin-type-objects': '\n'
- 'Type Objects\n'
+ 'bltin-type-objects': 'Type Objects\n'
'************\n'
'\n'
'Type objects represent the various object types. An '
'all standard built-in types.\n'
'\n'
'Types are written like this: "<class \'int\'>".\n',
- 'booleans': '\n'
- 'Boolean operations\n'
+ 'booleans': 'Boolean operations\n'
'******************\n'
'\n'
' or_test ::= and_test | or_test "or" and_test\n'
'its\n'
'argument (for example, "not \'foo\'" produces "False" rather '
'than "\'\'".)\n',
- 'break': '\n'
- 'The "break" statement\n'
+ 'break': 'The "break" statement\n'
'*********************\n'
'\n'
' break_stmt ::= "break"\n'
'clause, that "finally" clause is executed before really leaving '
'the\n'
'loop.\n',
- 'callable-types': '\n'
- 'Emulating callable objects\n'
+ 'callable-types': 'Emulating callable objects\n'
'**************************\n'
'\n'
'object.__call__(self[, args...])\n'
'this method\n'
' is defined, "x(arg1, arg2, ...)" is a shorthand for\n'
' "x.__call__(arg1, arg2, ...)".\n',
- 'calls': '\n'
- 'Calls\n'
+ 'calls': 'Calls\n'
'*****\n'
'\n'
'A call calls a callable object (e.g., a *function*) with a '
' ("," "*" expression | "," '
'keyword_item)*\n'
' keywords_arguments ::= (keyword_item | "**" expression)\n'
- ' ("," keyword_item | "**" expression)*\n'
+ ' ("," keyword_item | "," "**" '
+ 'expression)*\n'
' keyword_item ::= identifier "=" expression\n'
'\n'
'An optional trailing comma may be present after the positional and\n'
' 2 1\n'
' >>> f(a=1, *(2,))\n'
' Traceback (most recent call last):\n'
- ' File "<stdin>", line 1, in ?\n'
+ ' File "<stdin>", line 1, in <module>\n'
" TypeError: f() got multiple values for keyword argument 'a'\n"
' >>> f(1, *(2,))\n'
' 1 2\n'
' The class must define a "__call__()" method; the effect is then '
'the\n'
' same as if that method was called.\n',
- 'class': '\n'
- 'Class definitions\n'
+ 'class': 'Class definitions\n'
'*****************\n'
'\n'
'A class definition defines a class object (see section The '
'\n'
'See also: **PEP 3115** - Metaclasses in Python 3 **PEP 3129** -\n'
' Class Decorators\n',
- 'comparisons': '\n'
- 'Comparisons\n'
+ 'comparisons': 'Comparisons\n'
'***********\n'
'\n'
'Unlike C, all comparison operations in Python have the same '
'restriction that\n'
' ranges do not support order comparison. Equality '
'comparison across\n'
- ' these types results in unequality, and ordering comparison '
+ ' these types results in inequality, and ordering comparison '
'across\n'
' these types raises "TypeError".\n'
'\n'
'they\n'
' have equal *(key, value)* pairs. Equality comparison of the '
'keys and\n'
- ' elements enforces reflexivity.\n'
+ ' values enforces reflexivity.\n'
'\n'
' Order comparisons ("<", ">", "<=", and ">=") raise '
'"TypeError".\n'
' to sequences, but not to sets or mappings). See also the\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'
+ '\n'
'Python does not enforce these consistency rules. In fact, '
'the\n'
'not-a-number values are an example for not following these '
'\n'
'The operators "in" and "not in" test for membership. "x in '
's"\n'
- 'evaluates to true if *x* is a member of *s*, and false '
- 'otherwise. "x\n'
- 'not in s" returns the negation of "x in s". All built-in '
+ 'evaluates to "True" if *x* is a member of *s*, and "False" '
+ 'otherwise.\n'
+ '"x not in s" returns the negation of "x in s". All built-in '
'sequences\n'
'and set types support this as well as dictionary, for which '
'"in" tests\n'
'for e in\n'
'y)".\n'
'\n'
- 'For the string and bytes types, "x in y" is true if and only '
- 'if *x* is\n'
- 'a substring of *y*. An equivalent test is "y.find(x) != '
- '-1". Empty\n'
- 'strings are always considered to be a substring of any other '
- 'string,\n'
- 'so """ in "abc"" will return "True".\n'
+ 'For the string and bytes types, "x in y" is "True" if and '
+ 'only if *x*\n'
+ 'is a substring of *y*. An equivalent test is "y.find(x) != '
+ '-1".\n'
+ 'Empty strings are always considered to be a substring of any '
+ 'other\n'
+ 'string, so """ in "abc"" will return "True".\n'
'\n'
'For user-defined classes which define the "__contains__()" '
'method, "x\n'
- 'in y" is true if and only if "y.__contains__(x)" is true.\n'
+ 'in y" returns "True" if "y.__contains__(x)" returns a true '
+ 'value, and\n'
+ '"False" otherwise.\n'
'\n'
'For user-defined classes which do not define "__contains__()" '
'but do\n'
- 'define "__iter__()", "x in y" is true if some value "z" with '
- '"x == z"\n'
- 'is produced while iterating over "y". If an exception is '
+ 'define "__iter__()", "x in y" is "True" if some value "z" '
+ 'with "x ==\n'
+ 'z" is produced while iterating over "y". If an exception is '
'raised\n'
'during the iteration, it is as if "in" raised that '
'exception.\n'
'\n'
'Lastly, the old-style iteration protocol is tried: if a class '
'defines\n'
- '"__getitem__()", "x in y" is true if and only if there is a '
+ '"__getitem__()", "x in y" is "True" if and only if there is a '
'non-\n'
'negative integer index *i* such that "x == y[i]", and all '
'lower\n'
'is determined using the "id()" function. "x is not y" yields '
'the\n'
'inverse truth value. [4]\n',
- 'compound': '\n'
- 'Compound statements\n'
+ 'compound': 'Compound statements\n'
'*******************\n'
'\n'
'Compound statements contain (groups of) other statements; they '
'functions, even if they do not contain "await" or "async" '
'keywords.\n'
'\n'
- 'It is a "SyntaxError" to use "yield" expressions in "async def"\n'
+ 'It is a "SyntaxError" to use "yield from" expressions in "async '
+ 'def"\n'
'coroutines.\n'
'\n'
'An example of a coroutine function:\n'
' body is transformed into the namespace\'s "__doc__" item '
'and\n'
" therefore the class's *docstring*.\n",
- 'context-managers': '\n'
- 'With Statement Context Managers\n'
+ 'context-managers': 'With Statement Context Managers\n'
'*******************************\n'
'\n'
'A *context manager* is an object that defines the '
' The specification, background, and examples for the '
'Python "with"\n'
' statement.\n',
- 'continue': '\n'
- 'The "continue" statement\n'
+ 'continue': 'The "continue" statement\n'
'************************\n'
'\n'
' continue_stmt ::= "continue"\n'
'"finally" clause, that "finally" clause is executed before '
'really\n'
'starting the next loop cycle.\n',
- 'conversions': '\n'
- 'Arithmetic conversions\n'
+ 'conversions': 'Arithmetic conversions\n'
'**********************\n'
'\n'
'When a description of an arithmetic operator below uses the '
"left argument to the '%' operator). Extensions must define "
'their own\n'
'conversion behavior.\n',
- 'customization': '\n'
- 'Basic customization\n'
+ 'customization': 'Basic customization\n'
'*******************\n'
'\n'
'object.__new__(cls[, ...])\n'
' Typical implementations create a new instance of the '
'class by\n'
' invoking the superclass\'s "__new__()" method using\n'
- ' "super(currentclass, cls).__new__(cls[, ...])" with '
- 'appropriate\n'
- ' arguments and then modifying the newly-created instance '
- 'as\n'
- ' necessary before returning it.\n'
+ ' "super().__new__(cls[, ...])" with appropriate arguments '
+ 'and then\n'
+ ' modifying the newly-created instance as necessary before '
+ 'returning\n'
+ ' it.\n'
'\n'
' If "__new__()" returns an instance of *cls*, then the '
'new\n'
' any, must explicitly call it to ensure proper '
'initialization of the\n'
' base class part of the instance; for example:\n'
- ' "BaseClass.__init__(self, [args...])".\n'
+ ' "super().__init__([args...])".\n'
'\n'
' Because "__new__()" and "__init__()" work together in '
'constructing\n'
'\n'
'object.__bytes__(self)\n'
'\n'
- ' Called by "bytes()" to compute a byte-string '
- 'representation of an\n'
+ ' Called by bytes to compute a byte-string representation '
+ 'of an\n'
' object. This should return a "bytes" object.\n'
'\n'
'object.__format__(self, format_spec)\n'
'"object" itself\n'
' raises a "TypeError" if passed any non-empty string.\n'
'\n'
+ ' Changed in version 3.7: "object.__format__(x, \'\')" is '
+ 'now\n'
+ ' equivalent to "str(x)" rather than "format(str(self), '
+ '\'\')".\n'
+ '\n'
'object.__lt__(self, other)\n'
'object.__le__(self, other)\n'
'object.__eq__(self, other)\n'
'on members\n'
' of hashed collections including "set", "frozenset", and '
'"dict".\n'
- ' "__hash__()" should return an integer. The only '
- 'required property\n'
+ ' "__hash__()" should return an integer. The only required '
+ 'property\n'
' is that objects which compare equal have the same hash '
'value; it is\n'
- ' advised to somehow mix together (e.g. using exclusive '
- 'or) the hash\n'
- ' values for the components of the object that also play a '
- 'part in\n'
- ' comparison of objects.\n'
+ ' advised to mix together the hash values of the '
+ 'components of the\n'
+ ' object that also play a part in comparison of objects by '
+ 'packing\n'
+ ' them into a tuple and hashing the tuple. Example:\n'
+ '\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"
'attempts to\n'
' retrieve their hash value, and will also be correctly '
'identified as\n'
- ' unhashable when checking "isinstance(obj, '
- 'collections.Hashable)".\n'
+ ' unhashable when checking "isinstance(obj,\n'
+ ' collections.abc.Hashable)".\n'
'\n'
' If a class that overrides "__eq__()" needs to retain '
'the\n'
'that\n'
' explicitly raises a "TypeError" would be incorrectly '
'identified as\n'
- ' hashable by an "isinstance(obj, collections.Hashable)" '
- 'call.\n'
+ ' hashable by an "isinstance(obj, '
+ 'collections.abc.Hashable)" call.\n'
'\n'
' Note: By default, the "__hash__()" values of str, bytes '
'and\n'
' neither "__len__()" nor "__bool__()", all its instances '
'are\n'
' considered true.\n',
- 'debugger': '\n'
- '"pdb" --- The Python Debugger\n'
+ 'debugger': '"pdb" --- The Python Debugger\n'
'*****************************\n'
'\n'
'**Source code:** Lib/pdb.py\n'
' >>> import mymodule\n'
' >>> mymodule.test()\n'
' Traceback (most recent call last):\n'
- ' File "<stdin>", line 1, in ?\n'
+ ' File "<stdin>", line 1, in <module>\n'
' File "./mymodule.py", line 4, in test\n'
' test2()\n'
' File "./mymodule.py", line 3, in test2\n'
' end). This is because any time you resume execution (even '
'with a\n'
' simple next or step), you may encounter another '
- 'breakpoint--which\n'
+ 'breakpoint—which\n'
' could have its own command list, leading to ambiguities about '
'which\n'
' list to execute.\n'
'[1] Whether a frame is considered to originate in a certain '
'module\n'
' is determined by the "__name__" in the frame globals.\n',
- 'del': '\n'
- 'The "del" statement\n'
+ 'del': 'The "del" statement\n'
'*******************\n'
'\n'
' del_stmt ::= "del" target_list\n'
'Changed in version 3.2: Previously it was illegal to delete a name\n'
'from the local namespace if it occurs as a free variable in a nested\n'
'block.\n',
- 'dict': '\n'
- 'Dictionary displays\n'
+ 'dict': 'Dictionary displays\n'
'*******************\n'
'\n'
'A dictionary display is a possibly empty series of key/datum pairs\n'
'should be *hashable*, which excludes all mutable objects.) Clashes\n'
'between duplicate keys are not detected; the last datum (textually\n'
'rightmost in the display) stored for a given key value prevails.\n',
- 'dynamic-features': '\n'
- 'Interaction with dynamic features\n'
+ 'dynamic-features': 'Interaction with dynamic features\n'
'*********************************\n'
'\n'
'Name resolution of free variables occurs at runtime, not '
' i = 42\n'
' f()\n'
'\n'
- 'There are several cases where Python statements are '
- 'illegal when used\n'
- 'in conjunction with nested scopes that contain free '
- 'variables.\n'
- '\n'
- 'If a variable is referenced in an enclosing scope, it is '
- 'illegal to\n'
- 'delete the name. An error will be reported at compile '
- 'time.\n'
- '\n'
'The "eval()" and "exec()" functions do not have access '
'to the full\n'
'environment for resolving names. Names may be resolved '
'override the global and local namespace. If only one '
'namespace is\n'
'specified, it is used for both.\n',
- 'else': '\n'
- 'The "if" statement\n'
+ 'else': 'The "if" statement\n'
'******************\n'
'\n'
'The "if" statement is used for conditional execution:\n'
'(and no other part of the "if" statement is executed or evaluated).\n'
'If all expressions are false, the suite of the "else" clause, if\n'
'present, is executed.\n',
- 'exceptions': '\n'
- 'Exceptions\n'
+ 'exceptions': 'Exceptions\n'
'**********\n'
'\n'
'Exceptions are a means of breaking out of the normal flow of '
' these operations is not available at the time the module '
'is\n'
' compiled.\n',
- 'execmodel': '\n'
- 'Execution model\n'
+ 'execmodel': 'Execution model\n'
'***************\n'
'\n'
'\n'
'Builtins and restricted execution\n'
'---------------------------------\n'
'\n'
+ '**CPython implementation detail:** Users should not touch\n'
+ '"__builtins__"; it is strictly an implementation detail. '
+ 'Users\n'
+ 'wanting to override values in the builtins namespace should '
+ '"import"\n'
+ 'the "builtins" module and modify its attributes appropriately.\n'
+ '\n'
'The builtins namespace associated with the execution of a code '
'block\n'
'is actually found by looking up the name "__builtins__" in its '
'in any\n'
'other module, "__builtins__" is an alias for the dictionary of '
'the\n'
- '"builtins" module itself. "__builtins__" can be set to a '
- 'user-created\n'
- 'dictionary to create a weak form of restricted execution.\n'
- '\n'
- '**CPython implementation detail:** Users should not touch\n'
- '"__builtins__"; it is strictly an implementation detail. '
- 'Users\n'
- 'wanting to override values in the builtins namespace should '
- '"import"\n'
- 'the "builtins" module and modify its attributes appropriately.\n'
+ '"builtins" module itself.\n'
'\n'
'\n'
'Interaction with dynamic features\n'
' i = 42\n'
' f()\n'
'\n'
- 'There are several cases where Python statements are illegal '
- 'when used\n'
- 'in conjunction with nested scopes that contain free variables.\n'
- '\n'
- 'If a variable is referenced in an enclosing scope, it is '
- 'illegal to\n'
- 'delete the name. An error will be reported at compile time.\n'
- '\n'
'The "eval()" and "exec()" functions do not have access to the '
'full\n'
'environment for resolving names. Names may be resolved in the '
' these operations is not available at the time the module '
'is\n'
' compiled.\n',
- 'exprlists': '\n'
- 'Expression lists\n'
+ 'exprlists': 'Expression lists\n'
'****************\n'
'\n'
' expression_list ::= expression ( "," expression )* [","]\n'
'value of that expression. (To create an empty tuple, use an '
'empty pair\n'
'of parentheses: "()".)\n',
- 'floating': '\n'
- 'Floating point literals\n'
+ 'floating': 'Floating point literals\n'
'***********************\n'
'\n'
'Floating point literals are described by the following lexical\n'
'Changed in version 3.6: Underscores are now allowed for '
'grouping\n'
'purposes in literals.\n',
- 'for': '\n'
- 'The "for" statement\n'
+ 'for': 'The "for" statement\n'
'*******************\n'
'\n'
'The "for" statement is used to iterate over the elements of a '
'\n'
' for x in a[:]:\n'
' if x < 0: a.remove(x)\n',
- 'formatstrings': '\n'
- 'Format String Syntax\n'
+ 'formatstrings': 'Format String Syntax\n'
'********************\n'
'\n'
'The "str.format()" method and the "Formatter" class share '
'be formatted\n'
'with the floating point presentation types listed below '
'(except "\'n\'"\n'
- 'and None). When doing so, "float()" is used to convert the '
- 'integer to\n'
- 'a floating point number before formatting.\n'
+ 'and "None"). When doing so, "float()" is used to convert '
+ 'the integer\n'
+ 'to a floating point number before formatting.\n'
'\n'
'The available presentation types for floating point and '
'decimal values\n'
' 9 9 11 1001\n'
' 10 A 12 1010\n'
' 11 B 13 1011\n',
- 'function': '\n'
- 'Function definitions\n'
+ 'function': 'Function definitions\n'
'********************\n'
'\n'
'A function definition defines a user-defined function object '
'\n'
' **PEP 3107** - Function Annotations\n'
' The original specification for function annotations.\n',
- 'global': '\n'
- 'The "global" statement\n'
+ 'global': 'The "global" statement\n'
'**********************\n'
'\n'
' global_stmt ::= "global" identifier ("," identifier)*\n'
'change\n'
'the meaning of the program.\n'
'\n'
- '**Programmer\'s note:** the "global" is a directive to the '
- 'parser. It\n'
+ '**Programmer\'s note:** "global" is a directive to the parser. '
+ 'It\n'
'applies only to code parsed at the same time as the "global"\n'
'statement. In particular, a "global" statement contained in a '
'string\n'
'code containing the function call. The same applies to the '
'"eval()"\n'
'and "compile()" functions.\n',
- 'id-classes': '\n'
- 'Reserved classes of identifiers\n'
+ 'id-classes': 'Reserved classes of identifiers\n'
'*******************************\n'
'\n'
'Certain classes of identifiers (besides keywords) have '
' to help avoid name clashes between "private" attributes of '
'base and\n'
' derived classes. See section Identifiers (Names).\n',
- 'identifiers': '\n'
- 'Identifiers and keywords\n'
+ 'identifiers': 'Identifiers and keywords\n'
'************************\n'
'\n'
'Identifiers (also referred to as *names*) are described by '
' to help avoid name clashes between "private" attributes of '
'base and\n'
' derived classes. See section Identifiers (Names).\n',
- 'if': '\n'
- 'The "if" statement\n'
+ 'if': 'The "if" statement\n'
'******************\n'
'\n'
'The "if" statement is used for conditional execution:\n'
'(and no other part of the "if" statement is executed or evaluated).\n'
'If all expressions are false, the suite of the "else" clause, if\n'
'present, is executed.\n',
- 'imaginary': '\n'
- 'Imaginary literals\n'
+ 'imaginary': 'Imaginary literals\n'
'******************\n'
'\n'
'Imaginary literals are described by the following lexical '
'\n'
' 3.14j 10.j 10j .001j 1e100j 3.14e-10j '
'3.14_15_93j\n',
- 'import': '\n'
- 'The "import" statement\n'
+ 'import': 'The "import" statement\n'
'**********************\n'
'\n'
' import_stmt ::= "import" module ["as" name] ( "," module '
'\n'
' **PEP 236** - Back to the __future__\n'
' The original proposal for the __future__ mechanism.\n',
- 'in': '\n'
- 'Membership test operations\n'
+ 'in': 'Membership test operations\n'
'**************************\n'
'\n'
'The operators "in" and "not in" test for membership. "x in s"\n'
- 'evaluates to true if *x* is a member of *s*, and false otherwise. "x\n'
- 'not in s" returns the negation of "x in s". All built-in sequences\n'
+ 'evaluates to "True" if *x* is a member of *s*, and "False" otherwise.\n'
+ '"x not in s" returns the negation of "x in s". All built-in '
+ 'sequences\n'
'and set types support this as well as dictionary, for which "in" '
'tests\n'
'whether the dictionary has a given key. For container types such as\n'
'expression "x in y" is equivalent to "any(x is e or x == e for e in\n'
'y)".\n'
'\n'
- 'For the string and bytes types, "x in y" is true if and only if *x* '
- 'is\n'
- 'a substring of *y*. An equivalent test is "y.find(x) != -1". Empty\n'
- 'strings are always considered to be a substring of any other string,\n'
- 'so """ in "abc"" will return "True".\n'
+ 'For the string and bytes types, "x in y" is "True" if and only if *x*\n'
+ 'is a substring of *y*. An equivalent test is "y.find(x) != -1".\n'
+ 'Empty strings are always considered to be a substring of any other\n'
+ 'string, so """ in "abc"" will return "True".\n'
'\n'
'For user-defined classes which define the "__contains__()" method, "x\n'
- 'in y" is true if and only if "y.__contains__(x)" is true.\n'
+ 'in y" returns "True" if "y.__contains__(x)" returns a true value, and\n'
+ '"False" otherwise.\n'
'\n'
'For user-defined classes which do not define "__contains__()" but do\n'
- 'define "__iter__()", "x in y" is true if some value "z" with "x == z"\n'
- 'is produced while iterating over "y". If an exception is raised\n'
+ 'define "__iter__()", "x in y" is "True" if some value "z" with "x ==\n'
+ 'z" is produced while iterating over "y". If an exception is raised\n'
'during the iteration, it is as if "in" raised that exception.\n'
'\n'
'Lastly, the old-style iteration protocol is tried: if a class defines\n'
- '"__getitem__()", "x in y" is true if and only if there is a non-\n'
+ '"__getitem__()", "x in y" is "True" if and only if there is a non-\n'
'negative integer index *i* such that "x == y[i]", and all lower\n'
'integer indices do not raise "IndexError" exception. (If any other\n'
'exception is raised, it is as if "in" raised that exception).\n'
'\n'
'The operator "not in" is defined to have the inverse true value of\n'
'"in".\n',
- 'integers': '\n'
- 'Integer literals\n'
+ 'integers': 'Integer literals\n'
'****************\n'
'\n'
'Integer literals are described by the following lexical '
'Changed in version 3.6: Underscores are now allowed for '
'grouping\n'
'purposes in literals.\n',
- 'lambda': '\n'
- 'Lambdas\n'
+ 'lambda': 'Lambdas\n'
'*******\n'
'\n'
' lambda_expr ::= "lambda" [parameter_list]: expression\n'
'Note that functions created with lambda expressions cannot '
'contain\n'
'statements or annotations.\n',
- 'lists': '\n'
- 'List displays\n'
+ 'lists': 'List displays\n'
'*************\n'
'\n'
'A list display is a possibly empty series of expressions enclosed '
'from left to right and placed into the list object in that order.\n'
'When a comprehension is supplied, the list is constructed from the\n'
'elements resulting from the comprehension.\n',
- 'naming': '\n'
- 'Naming and binding\n'
+ 'naming': 'Naming and binding\n'
'******************\n'
'\n'
'\n'
'Builtins and restricted execution\n'
'=================================\n'
'\n'
+ '**CPython implementation detail:** Users should not touch\n'
+ '"__builtins__"; it is strictly an implementation detail. Users\n'
+ 'wanting to override values in the builtins namespace should '
+ '"import"\n'
+ 'the "builtins" module and modify its attributes appropriately.\n'
+ '\n'
'The builtins namespace associated with the execution of a code '
'block\n'
'is actually found by looking up the name "__builtins__" in its '
'any\n'
'other module, "__builtins__" is an alias for the dictionary of '
'the\n'
- '"builtins" module itself. "__builtins__" can be set to a '
- 'user-created\n'
- 'dictionary to create a weak form of restricted execution.\n'
- '\n'
- '**CPython implementation detail:** Users should not touch\n'
- '"__builtins__"; it is strictly an implementation detail. Users\n'
- 'wanting to override values in the builtins namespace should '
- '"import"\n'
- 'the "builtins" module and modify its attributes appropriately.\n'
+ '"builtins" module itself.\n'
'\n'
'\n'
'Interaction with dynamic features\n'
' i = 42\n'
' f()\n'
'\n'
- 'There are several cases where Python statements are illegal when '
- 'used\n'
- 'in conjunction with nested scopes that contain free variables.\n'
- '\n'
- 'If a variable is referenced in an enclosing scope, it is illegal '
- 'to\n'
- 'delete the name. An error will be reported at compile time.\n'
- '\n'
'The "eval()" and "exec()" functions do not have access to the '
'full\n'
'environment for resolving names. Names may be resolved in the '
'override the global and local namespace. If only one namespace '
'is\n'
'specified, it is used for both.\n',
- 'nonlocal': '\n'
- 'The "nonlocal" statement\n'
+ 'nonlocal': 'The "nonlocal" statement\n'
'************************\n'
'\n'
' nonlocal_stmt ::= "nonlocal" identifier ("," identifier)*\n'
'\n'
' **PEP 3104** - Access to Names in Outer Scopes\n'
' The specification for the "nonlocal" statement.\n',
- 'numbers': '\n'
- 'Numeric literals\n'
+ 'numbers': 'Numeric literals\n'
'****************\n'
'\n'
'There are three types of numeric literals: integers, floating '
'is actually an expression composed of the unary operator \'"-"\' '
'and the\n'
'literal "1".\n',
- 'numeric-types': '\n'
- 'Emulating numeric types\n'
+ 'numeric-types': 'Emulating numeric types\n'
'***********************\n'
'\n'
'The following methods can be defined to emulate numeric '
' "__index__()" is defined "__int__()" should also be '
'defined, and\n'
' both should return the same value.\n',
- 'objects': '\n'
- 'Objects, values and types\n'
+ 'objects': 'Objects, values and types\n'
'*************************\n'
'\n'
"*Objects* are Python's abstraction for data. All data in a "
'created empty lists. (Note that "c = d = []" assigns the same '
'object\n'
'to both "c" and "d".)\n',
- 'operator-summary': '\n'
- 'Operator precedence\n'
+ 'operator-summary': 'Operator precedence\n'
'*******************\n'
'\n'
'The following table summarizes the operator precedence '
'Addition and subtraction |\n'
'+-------------------------------------------------+---------------------------------------+\n'
'| "*", "@", "/", "//", "%" | '
- 'Multiplication, matrix multiplication |\n'
+ 'Multiplication, matrix |\n'
+ '| | '
+ 'multiplication, division, floor |\n'
'| | '
'division, remainder [5] |\n'
'+-------------------------------------------------+---------------------------------------+\n'
'arithmetic\n'
' or bitwise unary operator on its right, that is, '
'"2**-1" is "0.5".\n',
- 'pass': '\n'
- 'The "pass" statement\n'
+ 'pass': 'The "pass" statement\n'
'********************\n'
'\n'
' pass_stmt ::= "pass"\n'
' def f(arg): pass # a function that does nothing (yet)\n'
'\n'
' class C: pass # a class with no methods (yet)\n',
- 'power': '\n'
- 'The power operator\n'
+ 'power': 'The power operator\n'
'******************\n'
'\n'
'The power operator binds more tightly than unary operators on its\n'
'Raising a negative number to a fractional power results in a '
'"complex"\n'
'number. (In earlier versions it raised a "ValueError".)\n',
- 'raise': '\n'
- 'The "raise" statement\n'
+ 'raise': 'The "raise" statement\n'
'*********************\n'
'\n'
' raise_stmt ::= "raise" [expression ["from" expression]]\n'
' ...\n'
' Traceback (most recent call last):\n'
' File "<stdin>", line 2, in <module>\n'
- ' ZeroDivisionError: int division or modulo by zero\n'
+ ' ZeroDivisionError: division by zero\n'
'\n'
' The above exception was the direct cause of the following '
'exception:\n'
' ...\n'
' Traceback (most recent call last):\n'
' File "<stdin>", line 2, in <module>\n'
- ' ZeroDivisionError: int division or modulo by zero\n'
+ ' ZeroDivisionError: division by zero\n'
'\n'
' During handling of the above exception, another exception '
'occurred:\n'
' File "<stdin>", line 4, in <module>\n'
' RuntimeError: Something bad happened\n'
'\n'
+ 'Exception chaining can be explicitly suppressed by specifying '
+ '"None"\n'
+ 'in the "from" clause:\n'
+ '\n'
+ ' >>> try:\n'
+ ' ... print(1 / 0)\n'
+ ' ... except:\n'
+ ' ... raise RuntimeError("Something bad happened") from None\n'
+ ' ...\n'
+ ' Traceback (most recent call last):\n'
+ ' File "<stdin>", line 4, in <module>\n'
+ ' RuntimeError: Something bad happened\n'
+ '\n'
'Additional information on exceptions can be found in section\n'
'Exceptions, and information about handling exceptions is in '
'section\n'
- 'The try statement.\n',
- 'return': '\n'
- 'The "return" statement\n'
+ 'The try statement.\n'
+ '\n'
+ 'Changed in version 3.3: "None" is now permitted as "Y" in "raise X\n'
+ 'from Y".\n'
+ '\n'
+ 'New in version 3.3: The "__suppress_context__" attribute to '
+ 'suppress\n'
+ 'automatic display of the exception context.\n',
+ 'return': 'The "return" statement\n'
'**********************\n'
'\n'
' return_stmt ::= "return" [expression_list]\n'
'generator is done and will cause "StopIteration" to be raised. '
'The\n'
'returned value (if any) is used as an argument to construct\n'
- '"StopIteration" and becomes the "StopIteration.value" attribute.\n',
- 'sequence-types': '\n'
- 'Emulating container types\n'
+ '"StopIteration" and becomes the "StopIteration.value" attribute.\n'
+ '\n'
+ 'In an asynchronous generator function, an empty "return" '
+ 'statement\n'
+ 'indicates that the asynchronous generator is done and will cause\n'
+ '"StopAsyncIteration" to be raised. A non-empty "return" statement '
+ 'is\n'
+ 'a syntax error in an asynchronous generator function.\n',
+ 'sequence-types': 'Emulating container types\n'
'*************************\n'
'\n'
'The following methods can be defined to implement '
'"update()"\n'
"behaving similar to those for Python's standard dictionary "
'objects.\n'
- 'The "collections" module provides a "MutableMapping" '
+ 'The "collections.abc" module provides a "MutableMapping" '
'abstract base\n'
'class to help create those methods from a base set of '
'"__getitem__()",\n'
' returns zero is considered to be false in a Boolean '
'context.\n'
'\n'
+ ' **CPython implementation detail:** In CPython, the '
+ 'length is\n'
+ ' required to be at most "sys.maxsize". If the length is '
+ 'larger than\n'
+ ' "sys.maxsize" some features (such as "len()") may '
+ 'raise\n'
+ ' "OverflowError". To prevent raising "OverflowError" by '
+ 'truth value\n'
+ ' testing, an object must define a "__bool__()" method.\n'
+ '\n'
'object.__length_hint__(self)\n'
'\n'
' Called to implement "operator.length_hint()". Should '
' iteration protocol via "__getitem__()", see this '
'section in the\n'
' language reference.\n',
- 'shifting': '\n'
- 'Shifting operations\n'
+ 'shifting': 'Shifting operations\n'
'*******************\n'
'\n'
'The shifting operations have lower priority than the arithmetic\n'
'A right shift by *n* bits is defined as floor division by '
'"pow(2,n)".\n'
'A left shift by *n* bits is defined as multiplication with '
- '"pow(2,n)".\n'
- '\n'
- 'Note: In the current implementation, the right-hand operand is\n'
- ' required to be at most "sys.maxsize". If the right-hand '
- 'operand is\n'
- ' larger than "sys.maxsize" an "OverflowError" exception is '
- 'raised.\n',
- 'slicings': '\n'
- 'Slicings\n'
+ '"pow(2,n)".\n',
+ 'slicings': 'Slicings\n'
'********\n'
'\n'
'A slicing selects a range of items in a sequence object (e.g., '
'as lower bound, upper bound and stride, respectively, '
'substituting\n'
'"None" for missing expressions.\n',
- 'specialattrs': '\n'
- 'Special Attributes\n'
+ 'specialattrs': 'Special Attributes\n'
'******************\n'
'\n'
'The implementation adds a few special read-only attributes '
'[5] To format only a tuple you should therefore provide a\n'
' singleton tuple whose only element is the tuple to be '
'formatted.\n',
- 'specialnames': '\n'
- 'Special method names\n'
+ 'specialnames': 'Special method names\n'
'********************\n'
'\n'
'A class can implement certain operations that are invoked by '
' Typical implementations create a new instance of the '
'class by\n'
' invoking the superclass\'s "__new__()" method using\n'
- ' "super(currentclass, cls).__new__(cls[, ...])" with '
- 'appropriate\n'
- ' arguments and then modifying the newly-created instance '
- 'as\n'
- ' necessary before returning it.\n'
+ ' "super().__new__(cls[, ...])" with appropriate arguments '
+ 'and then\n'
+ ' modifying the newly-created instance as necessary before '
+ 'returning\n'
+ ' it.\n'
'\n'
' If "__new__()" returns an instance of *cls*, then the '
'new\n'
' any, must explicitly call it to ensure proper '
'initialization of the\n'
' base class part of the instance; for example:\n'
- ' "BaseClass.__init__(self, [args...])".\n'
+ ' "super().__init__([args...])".\n'
'\n'
' Because "__new__()" and "__init__()" work together in '
'constructing\n'
'\n'
'object.__bytes__(self)\n'
'\n'
- ' Called by "bytes()" to compute a byte-string '
- 'representation of an\n'
+ ' Called by bytes to compute a byte-string representation '
+ 'of an\n'
' object. This should return a "bytes" object.\n'
'\n'
'object.__format__(self, format_spec)\n'
'itself\n'
' raises a "TypeError" if passed any non-empty string.\n'
'\n'
+ ' Changed in version 3.7: "object.__format__(x, \'\')" is '
+ 'now\n'
+ ' equivalent to "str(x)" rather than "format(str(self), '
+ '\'\')".\n'
+ '\n'
'object.__lt__(self, other)\n'
'object.__le__(self, other)\n'
'object.__eq__(self, other)\n'
'on members\n'
' of hashed collections including "set", "frozenset", and '
'"dict".\n'
- ' "__hash__()" should return an integer. The only required '
+ ' "__hash__()" should return an integer. The only required '
'property\n'
' is that objects which compare equal have the same hash '
'value; it is\n'
- ' advised to somehow mix together (e.g. using exclusive or) '
- 'the hash\n'
- ' values for the components of the object that also play a '
- 'part in\n'
- ' comparison of objects.\n'
+ ' advised to mix together the hash values of the components '
+ 'of the\n'
+ ' object that also play a part in comparison of objects by '
+ 'packing\n'
+ ' them into a tuple and hashing the tuple. Example:\n'
+ '\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"
'attempts to\n'
' retrieve their hash value, and will also be correctly '
'identified as\n'
- ' unhashable when checking "isinstance(obj, '
- 'collections.Hashable)".\n'
+ ' unhashable when checking "isinstance(obj,\n'
+ ' collections.abc.Hashable)".\n'
'\n'
' If a class that overrides "__eq__()" needs to retain the\n'
' implementation of "__hash__()" from a parent class, the '
'that\n'
' explicitly raises a "TypeError" would be incorrectly '
'identified as\n'
- ' hashable by an "isinstance(obj, collections.Hashable)" '
- 'call.\n'
+ ' hashable by an "isinstance(obj, '
+ 'collections.abc.Hashable)" call.\n'
'\n'
' Note: By default, the "__hash__()" values of str, bytes '
'and\n'
'__slots__\n'
'---------\n'
'\n'
- 'By default, instances of classes have a dictionary for '
- 'attribute\n'
- 'storage. This wastes space for objects having very few '
- 'instance\n'
- 'variables. The space consumption can become acute when '
- 'creating large\n'
- 'numbers of instances.\n'
+ '*__slots__* allow us to explicitly declare data members '
+ '(like\n'
+ 'properties) and deny the creation of *__dict__* and '
+ '*__weakref__*\n'
+ '(unless explicitly declared in *__slots__* or available in a '
+ 'parent.)\n'
'\n'
- 'The default can be overridden by defining *__slots__* in a '
- 'class\n'
- 'definition. The *__slots__* declaration takes a sequence of '
- 'instance\n'
- 'variables and reserves just enough space in each instance to '
- 'hold a\n'
- 'value for each variable. Space is saved because *__dict__* '
- 'is not\n'
- 'created for each instance.\n'
+ 'The space saved over using *__dict__* can be significant.\n'
'\n'
'object.__slots__\n'
'\n'
'\n'
'* When inheriting from a class without *__slots__*, the '
'*__dict__*\n'
- ' attribute of that class will always be accessible, so a '
- '*__slots__*\n'
- ' definition in the subclass is meaningless.\n'
+ ' and *__weakref__* attribute of the instances will always '
+ 'be\n'
+ ' accessible.\n'
'\n'
'* Without a *__dict__* variable, instances cannot be '
'assigned new\n'
'class\n'
' attribute would overwrite the descriptor assignment.\n'
'\n'
- '* The action of a *__slots__* declaration is limited to the '
- 'class\n'
- ' where it is defined. As a result, subclasses will have a '
- '*__dict__*\n'
- ' unless they also define *__slots__* (which must only '
- 'contain names\n'
- ' of any *additional* slots).\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'
'\n'
'* If a class defines a slot also defined in a base class, '
'the\n'
'same\n'
' *__slots__*.\n'
'\n'
+ '* Multiple inheritance with multiple slotted parent classes '
+ 'can be\n'
+ ' used, but only one parent is allowed to have attributes '
+ 'created by\n'
+ ' slots (the other bases must have empty slot layouts) - '
+ 'violations\n'
+ ' raise "TypeError".\n'
+ '\n'
'\n'
'Customizing class creation\n'
'==========================\n'
'defined at the\n'
'class scope. Class variables must be accessed through the '
'first\n'
- 'parameter of instance or class methods, and cannot be '
- 'accessed at all\n'
- 'from static methods.\n'
+ 'parameter of instance or class methods, or through the '
+ 'implicit\n'
+ 'lexically scoped "__class__" reference described in the next '
+ 'section.\n'
'\n'
'\n'
'Creating the class object\n'
'passed to the\n'
'method.\n'
'\n'
+ '**CPython implementation detail:** In CPython 3.6 and later, '
+ 'the\n'
+ '"__class__" cell is passed to the metaclass as a '
+ '"__classcell__" entry\n'
+ 'in the class namespace. If present, this must be propagated '
+ 'up to the\n'
+ '"type.__new__" call in order for the class to be '
+ 'initialised\n'
+ 'correctly. Failing to do so will result in a '
+ '"DeprecationWarning" in\n'
+ 'Python 3.6, and a "RuntimeWarning" in the future.\n'
+ '\n'
+ 'When using the default metaclass "type", or any metaclass '
+ 'that\n'
+ 'ultimately calls "type.__new__", the following additional\n'
+ 'customisation steps are invoked after creating the class '
+ 'object:\n'
+ '\n'
+ '* first, "type.__new__" collects all of the descriptors in '
+ 'the class\n'
+ ' namespace that define a "__set_name__()" method;\n'
+ '\n'
+ '* second, all of these "__set_name__" methods are called '
+ 'with the\n'
+ ' class being defined and the assigned name of that '
+ 'particular\n'
+ ' descriptor; and\n'
+ '\n'
+ '* finally, the "__init_subclass__()" hook is called on the '
+ 'immediate\n'
+ ' parent of the new class in its method resolution order.\n'
+ '\n'
'After the class object is created, it is passed to the '
'class\n'
'decorators included in the class definition (if any) and the '
'\n'
'The potential uses for metaclasses are boundless. Some ideas '
'that have\n'
- 'been explored include logging, interface checking, '
+ 'been explored include enum, logging, interface checking, '
'automatic\n'
'delegation, automatic property creation, proxies, '
'frameworks, and\n'
'"update()"\n'
"behaving similar to those for Python's standard dictionary "
'objects.\n'
- 'The "collections" module provides a "MutableMapping" '
+ 'The "collections.abc" module provides a "MutableMapping" '
'abstract base\n'
'class to help create those methods from a base set of '
'"__getitem__()",\n'
' returns zero is considered to be false in a Boolean '
'context.\n'
'\n'
+ ' **CPython implementation detail:** In CPython, the length '
+ 'is\n'
+ ' required to be at most "sys.maxsize". If the length is '
+ 'larger than\n'
+ ' "sys.maxsize" some features (such as "len()") may raise\n'
+ ' "OverflowError". To prevent raising "OverflowError" by '
+ 'truth value\n'
+ ' testing, an object must define a "__bool__()" method.\n'
+ '\n'
'object.__length_hint__(self)\n'
'\n'
' Called to implement "operator.length_hint()". Should '
'special method *must* be set on the class object itself in '
'order to be\n'
'consistently invoked by the interpreter).\n',
- 'string-methods': '\n'
- 'String Methods\n'
+ 'string-methods': 'String Methods\n'
'**************\n'
'\n'
'Strings implement all of the common sequence operations, '
'characters\n'
' and there is at least one character, false otherwise. '
'Decimal\n'
- ' characters are those from general category "Nd". This '
- 'category\n'
- ' includes digit characters, and all characters that can '
- 'be used to\n'
- ' form decimal-radix numbers, e.g. U+0660, ARABIC-INDIC '
- 'DIGIT ZERO.\n'
+ ' characters are those that can be used to form numbers '
+ 'in base 10,\n'
+ ' e.g. U+0660, ARABIC-INDIC DIGIT ZERO. Formally a '
+ 'decimal character\n'
+ ' is a character in the Unicode General Category "Nd".\n'
'\n'
'str.isdigit()\n'
'\n'
'include decimal\n'
' characters and digits that need special handling, such '
'as the\n'
- ' compatibility superscript digits. Formally, a digit is '
- 'a character\n'
- ' that has the property value Numeric_Type=Digit or\n'
- ' Numeric_Type=Decimal.\n'
+ ' compatibility superscript digits. This covers digits '
+ 'which cannot\n'
+ ' be used to form numbers in base 10, like the Kharosthi '
+ 'numbers.\n'
+ ' Formally, a digit is a character that has the property '
+ 'value\n'
+ ' Numeric_Type=Digit or Numeric_Type=Decimal.\n'
'\n'
'str.isidentifier()\n'
'\n'
'str.join(iterable)\n'
'\n'
' Return a string which is the concatenation of the '
- 'strings in the\n'
- ' *iterable* *iterable*. A "TypeError" will be raised if '
- 'there are\n'
- ' any non-string values in *iterable*, including "bytes" '
- 'objects.\n'
- ' The separator between elements is the string providing '
- 'this method.\n'
+ 'strings in\n'
+ ' *iterable*. A "TypeError" will be raised if there are '
+ 'any non-\n'
+ ' string values in *iterable*, including "bytes" '
+ 'objects. The\n'
+ ' separator between elements is the string providing this '
+ 'method.\n'
'\n'
'str.ljust(width[, fillchar])\n'
'\n'
' Unicode ordinals (integers) or characters (strings of '
'length 1) to\n'
' Unicode ordinals, strings (of arbitrary lengths) or '
- 'None.\n'
+ '"None".\n'
' Character keys will then be converted to ordinals.\n'
'\n'
' If there are two arguments, they must be strings of '
'is a third\n'
' argument, it must be a string, whose characters will be '
'mapped to\n'
- ' None in the result.\n'
+ ' "None" in the result.\n'
'\n'
'str.partition(sep)\n'
'\n'
" '00042'\n"
' >>> "-42".zfill(5)\n'
" '-0042'\n",
- 'strings': '\n'
- 'String and Bytes literals\n'
+ 'strings': 'String and Bytes literals\n'
'*************************\n'
'\n'
'String literals are described by the following lexical '
'followed by a newline is interpreted as those two characters as '
'part\n'
'of the literal, *not* as a line continuation.\n',
- 'subscriptions': '\n'
- 'Subscriptions\n'
+ 'subscriptions': 'Subscriptions\n'
'*************\n'
'\n'
'A subscription selects an item of a sequence (string, tuple '
"A string's items are characters. A character is not a "
'separate data\n'
'type but a string of exactly one character.\n',
- 'truth': '\n'
- 'Truth Value Testing\n'
+ 'truth': 'Truth Value Testing\n'
'*******************\n'
'\n'
'Any object can be tested for truth value, for use in an "if" or\n'
- '"while" condition or as operand of the Boolean operations below. '
- 'The\n'
- 'following values are considered false:\n'
- '\n'
- '* "None"\n'
- '\n'
- '* "False"\n'
+ '"while" condition or as operand of the Boolean operations below.\n'
'\n'
- '* zero of any numeric type, for example, "0", "0.0", "0j".\n'
- '\n'
- '* any empty sequence, for example, "\'\'", "()", "[]".\n'
+ 'By default, an object is considered true unless its class defines\n'
+ 'either a "__bool__()" method that returns "False" or a "__len__()"\n'
+ 'method that returns zero, when called with the object. [1] Here '
+ 'are\n'
+ 'most of the built-in objects considered false:\n'
'\n'
- '* any empty mapping, for example, "{}".\n'
+ '* constants defined to be false: "None" and "False".\n'
'\n'
- '* instances of user-defined classes, if the class defines a\n'
- ' "__bool__()" or "__len__()" method, when that method returns the\n'
- ' integer zero or "bool" value "False". [1]\n'
+ '* zero of any numeric type: "0", "0.0", "0j", "Decimal(0)",\n'
+ ' "Fraction(0, 1)"\n'
'\n'
- 'All other values are considered true --- so objects of many types '
- 'are\n'
- 'always true.\n'
+ '* empty sequences and collections: "\'\'", "()", "[]", "{}", '
+ '"set()",\n'
+ ' "range(0)"\n'
'\n'
'Operations and built-in functions that have a Boolean result '
'always\n'
'otherwise stated. (Important exception: the Boolean operations '
'"or"\n'
'and "and" always return one of their operands.)\n',
- 'try': '\n'
- 'The "try" statement\n'
+ 'try': 'The "try" statement\n'
'*******************\n'
'\n'
'The "try" statement specifies exception handlers and/or cleanup code\n'
'Exceptions, and information on using the "raise" statement to '
'generate\n'
'exceptions may be found in section The raise statement.\n',
- 'types': '\n'
- 'The standard type hierarchy\n'
+ 'types': 'The standard type hierarchy\n'
'***************************\n'
'\n'
'Below is a list of the types that are built into Python. '
'8-bit\n'
' bytes, represented by integers in the range 0 <= x < 256.\n'
' Bytes literals (like "b\'abc\'") and the built-in '
- 'function\n'
- ' "bytes()" can be used to construct bytes objects. Also,\n'
- ' bytes objects can be decoded to strings via the '
- '"decode()"\n'
- ' method.\n'
+ '"bytes()"\n'
+ ' constructor can be used to create bytes objects. Also, '
+ 'bytes\n'
+ ' objects can be decoded to strings via the "decode()" '
+ 'method.\n'
'\n'
' Mutable sequences\n'
' Mutable sequences can be changed after they are created. '
' the built-in "bytearray()" constructor. Aside from being\n'
' mutable (and hence unhashable), byte arrays otherwise '
'provide\n'
- ' the same interface and functionality as immutable bytes\n'
+ ' the same interface and functionality as immutable "bytes"\n'
' objects.\n'
'\n'
' The extension module "array" provides an additional example '
'| Read-only |\n'
' | | contain bindings for the '
'| |\n'
- " | | function's free variables. "
+ " | | function's free variables. See "
+ '| |\n'
+ ' | | below for information on the '
+ '| |\n'
+ ' | | "cell_contents" attribute. '
'| |\n'
' '
'+---------------------------+---------------------------------+-------------+\n'
' attributes on built-in functions may be supported in the\n'
' future.*\n'
'\n'
+ ' A cell object has the attribute "cell_contents". This can be\n'
+ ' used to get the value of the cell, as well as set the value.\n'
+ '\n'
" Additional information about a function's definition can be\n"
' retrieved from its code object; see the description of '
'internal\n'
'statements.\n'
' See also the Coroutine Objects section.\n'
'\n'
+ ' Asynchronous generator functions\n'
+ ' A function or method which is defined using "async def" and\n'
+ ' which uses the "yield" statement is called a *asynchronous\n'
+ ' generator function*. Such a function, when called, returns '
+ 'an\n'
+ ' asynchronous iterator object which can be used in an "async '
+ 'for"\n'
+ ' statement to execute the body of the function.\n'
+ '\n'
+ ' Calling the asynchronous iterator\'s "aiterator.__anext__()"\n'
+ ' method will return an *awaitable* which when awaited will\n'
+ ' execute until it provides a value using the "yield" '
+ 'expression.\n'
+ ' When the function executes an empty "return" statement or '
+ 'falls\n'
+ ' off the end, a "StopAsyncIteration" exception is raised and '
+ 'the\n'
+ ' asynchronous iterator will have reached the end of the set '
+ 'of\n'
+ ' values to be yielded.\n'
+ '\n'
' Built-in functions\n'
' A built-in function object is a wrapper around a C function.\n'
' Examples of built-in functions are "len()" and "math.sin()"\n'
'the\n'
' dictionary containing the class\'s namespace; "__bases__" is a '
'tuple\n'
- ' (possibly empty or a singleton) containing the base classes, in '
- 'the\n'
- ' order of their occurrence in the base class list; "__doc__" is '
- 'the\n'
- " class's documentation string, or None if undefined;\n"
- ' "__annotations__" (optional) is a dictionary containing '
- '*variable\n'
- ' annotations* collected during class body execution.\n'
+ ' containing the base classes, in the order of their occurrence '
+ 'in\n'
+ ' the base class list; "__doc__" is the class\'s documentation '
+ 'string,\n'
+ ' or "None" if undefined; "__annotations__" (optional) is a\n'
+ ' dictionary containing *variable annotations* collected during '
+ 'class\n'
+ ' body execution.\n'
'\n'
'Class instances\n'
' A class instance is created by calling a class object (see '
' bytecode string of the code object).\n'
'\n'
' Special writable attributes: "f_trace", if not "None", is a\n'
- ' function called at the start of each source code line (this '
- 'is\n'
- ' used by the debugger); "f_lineno" is the current line number '
- 'of\n'
- ' the frame --- writing to this from within a trace function '
- 'jumps\n'
- ' to the given line (only for the bottom-most frame). A '
- 'debugger\n'
- ' can implement a Jump command (aka Set Next Statement) by '
+ ' function called for various events during code execution '
+ '(this\n'
+ ' is used by the debugger). Normally an event is triggered for\n'
+ ' each new source line - this can be disabled by setting\n'
+ ' "f_trace_lines" to "False".\n'
+ '\n'
+ ' Implementations *may* allow per-opcode events to be requested '
+ 'by\n'
+ ' setting "f_trace_opcodes" to "True". Note that this may lead '
+ 'to\n'
+ ' undefined interpreter behaviour if exceptions raised by the\n'
+ ' trace function escape to the function being traced.\n'
+ '\n'
+ ' "f_lineno" is the current line number of the frame --- '
'writing\n'
- ' to f_lineno.\n'
+ ' to this from within a trace function jumps to the given line\n'
+ ' (only for the bottom-most frame). A debugger can implement '
+ 'a\n'
+ ' Jump command (aka Set Next Statement) by writing to '
+ 'f_lineno.\n'
'\n'
' Frame objects support one method:\n'
'\n'
' under "User-defined methods". Class method objects are '
'created\n'
' by the built-in "classmethod()" constructor.\n',
- 'typesfunctions': '\n'
- 'Functions\n'
+ 'typesfunctions': 'Functions\n'
'*********\n'
'\n'
'Function objects are created by function definitions. The '
'different object types.\n'
'\n'
'See Function definitions for more information.\n',
- 'typesmapping': '\n'
- 'Mapping Types --- "dict"\n'
+ 'typesmapping': 'Mapping Types --- "dict"\n'
'************************\n'
'\n'
'A *mapping* object maps *hashable* values to arbitrary '
" {'bacon'}\n"
" >>> keys ^ {'sausage', 'juice'}\n"
" {'juice', 'sausage', 'bacon', 'spam'}\n",
- 'typesmethods': '\n'
- 'Methods\n'
+ 'typesmethods': 'Methods\n'
'*******\n'
'\n'
'Methods are functions that are called using the attribute '
" 'my name is method'\n"
'\n'
'See The standard type hierarchy for more information.\n',
- 'typesmodules': '\n'
- 'Modules\n'
+ 'typesmodules': 'Modules\n'
'*******\n'
'\n'
'The only special operation on a module is attribute access: '
'written as\n'
'"<module \'os\' from '
'\'/usr/local/lib/pythonX.Y/os.pyc\'>".\n',
- 'typesseq': '\n'
- 'Sequence Types --- "list", "tuple", "range"\n'
+ 'typesseq': 'Sequence Types --- "list", "tuple", "range"\n'
'*******************************************\n'
'\n'
'There are three basic sequence types: lists, tuples, and range\n'
'comparison operations. The "+" (concatenation) and "*" '
'(repetition)\n'
'operations have the same priority as the corresponding numeric\n'
- 'operations.\n'
+ 'operations. [3]\n'
'\n'
'+----------------------------+----------------------------------+------------+\n'
'| Operation | Result '
'\n'
'3. If *i* or *j* is negative, the index is relative to the end '
'of\n'
- ' the string: "len(s) + i" or "len(s) + j" is substituted. But '
- 'note\n'
- ' that "-0" is still "0".\n'
+ ' sequence *s*: "len(s) + i" or "len(s) + j" is substituted. '
+ 'But\n'
+ ' note that "-0" is still "0".\n'
'\n'
'4. The slice of *s* from *i* to *j* is defined as the sequence '
'of\n'
' (j-i)/k". In other words, the indices are "i", "i+k", '
'"i+2*k",\n'
' "i+3*k" and so on, stopping when *j* is reached (but never\n'
- ' including *j*). If *i* or *j* is greater than "len(s)", use\n'
- ' "len(s)". If *i* or *j* are omitted or "None", they become '
- '"end"\n'
- ' values (which end depends on the sign of *k*). Note, *k* '
- 'cannot be\n'
- ' zero. If *k* is "None", it is treated like "1".\n'
+ ' including *j*). When *k* is positive, *i* and *j* are '
+ 'reduced to\n'
+ ' "len(s)" if they are greater. When *k* is negative, *i* and '
+ '*j* are\n'
+ ' reduced to "len(s) - 1" if they are greater. If *i* or *j* '
+ 'are\n'
+ ' omitted or "None", they become "end" values (which end '
+ 'depends on\n'
+ ' the sign of *k*). Note, *k* cannot be zero. If *k* is '
+ '"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'
'+--------------------------------+----------------------------------+-----------------------+\n'
'| "s.remove(x)" | remove the first item from '
'*s* | (3) |\n'
- '| | where "s[i] == '
- 'x" | |\n'
+ '| | where "s[i]" is equal to '
+ '*x* | |\n'
'+--------------------------------+----------------------------------+-----------------------+\n'
'| "s.reverse()" | reverses the items of *s* '
'in | (4) |\n'
'operations.\n'
' Lists also provide the following additional method:\n'
'\n'
- ' sort(*, key=None, reverse=None)\n'
+ ' sort(*, key=None, reverse=False)\n'
'\n'
' This method sorts the list in place, using only "<" '
'comparisons\n'
' * The linspace recipe shows how to implement a lazy version '
'of\n'
' range that suitable for floating point applications.\n',
- 'typesseq-mutable': '\n'
- 'Mutable Sequence Types\n'
+ 'typesseq-mutable': 'Mutable Sequence Types\n'
'**********************\n'
'\n'
'The operations in the following table are defined on '
'+--------------------------------+----------------------------------+-----------------------+\n'
'| "s.remove(x)" | remove the first item '
'from *s* | (3) |\n'
- '| | where "s[i] == '
- 'x" | |\n'
+ '| | where "s[i]" is equal '
+ 'to *x* | |\n'
'+--------------------------------+----------------------------------+-----------------------+\n'
'| "s.reverse()" | reverses the items of '
'*s* in | (4) |\n'
'referenced multiple\n'
' times, as explained for "s * n" under Common Sequence '
'Operations.\n',
- 'unary': '\n'
- 'Unary arithmetic and bitwise operations\n'
+ 'unary': 'Unary arithmetic and bitwise operations\n'
'***************************************\n'
'\n'
'All unary arithmetic and bitwise operations have the same '
'In all three cases, if the argument does not have the proper type, '
'a\n'
'"TypeError" exception is raised.\n',
- 'while': '\n'
- 'The "while" statement\n'
+ 'while': 'The "while" statement\n'
'*********************\n'
'\n'
'The "while" statement is used for repeated execution as long as an\n'
'executed in the first suite skips the rest of the suite and goes '
'back\n'
'to testing the expression.\n',
- 'with': '\n'
- 'The "with" statement\n'
+ 'with': 'The "with" statement\n'
'********************\n'
'\n'
'The "with" statement is used to wrap the execution of a block with\n'
' The specification, background, and examples for the Python '
'"with"\n'
' statement.\n',
- 'yield': '\n'
- 'The "yield" statement\n'
+ 'yield': 'The "yield" statement\n'
'*********************\n'
'\n'
' yield_stmt ::= yield_expression\n'
--- /dev/null
+.. bpo: 29781
+.. date: 2017-09-05-15-26-30
+.. nonce: LwYtBP
+.. release date: 2017-09-19
+.. section: Security
+
+SSLObject.version() now correctly returns None when handshake over BIO has
+not been performed yet.
+
+..
+
+.. bpo: 29505
+.. date: 2017-08-23-17-02-55
+.. nonce: BL6Yt8
+.. section: Security
+
+Add fuzz tests for float(str), int(str), unicode(str); for oss-fuzz.
+
+..
+
+.. bpo: 30947
+.. date: 2017-08-16-16-35-59
+.. nonce: iNMmm4
+.. section: Security
+
+Upgrade libexpat embedded copy from version 2.2.1 to 2.2.3 to get security
+fixes.
+
+..
+
+.. bpo: 30730
+.. date: 0347
+.. nonce: rJsyTH
+.. original section: Library
+.. section: Security
+
+Prevent environment variables injection in subprocess on Windows. Prevent
+passing other environment variables and command arguments.
+
+..
+
+.. bpo: 30694
+.. date: 0344
+.. nonce: WkMWM_
+.. original section: Library
+.. section: Security
+
+Upgrade expat copy from 2.2.0 to 2.2.1 to get fixes of multiple security
+vulnerabilities including: CVE-2017-9233 (External entity infinite loop
+DoS), CVE-2016-9063 (Integer overflow, re-fix), CVE-2016-0718 (Fix
+regression bugs from 2.2.0's fix to CVE-2016-0718) and CVE-2012-0876
+(Counter hash flooding with SipHash). Note: the CVE-2016-5300 (Use os-
+specific entropy sources like getrandom) doesn't impact Python, since Python
+already gets entropy from the OS to set the expat secret using
+``XML_SetHashSalt()``.
+
+..
+
+.. bpo: 30500
+.. date: 0342
+.. nonce: 1VG7R-
+.. original section: Library
+.. section: Security
+
+Fix urllib.parse.splithost() to correctly parse fragments. For example,
+``splithost('//127.0.0.1#@evil.com/')`` now correctly returns the
+``127.0.0.1`` host, instead of treating ``@evil.com`` as the host in an
+authentification (``login@host``).
+
+..
+
+.. bpo: 29591
+.. date: 0338
+.. nonce: ExKblw
+.. original section: Library
+.. section: Security
+
+Update expat copy from 2.1.1 to 2.2.0 to get fixes of CVE-2016-0718 and
+CVE-2016-4472. See https://sourceforge.net/p/expat/bugs/537/ for more
+information.
+
+..
+
+.. bpo: 31490
+.. date: 2017-09-16-13-32-35
+.. nonce: r7m2sj
+.. section: Core and Builtins
+
+Fix an assertion failure in `ctypes` class definition, in case the class has
+an attribute whose name is specified in ``_anonymous_`` but not in
+``_fields_``. Patch by Oren Milman.
+
+..
+
+.. bpo: 31471
+.. date: 2017-09-14-19-47-57
+.. nonce: 0yiA5Q
+.. section: Core and Builtins
+
+Fix an assertion failure in `subprocess.Popen()` on Windows, in case the env
+argument has a bad keys() method. Patch by Oren Milman.
+
+..
+
+.. bpo: 31418
+.. date: 2017-09-13-13-03-52
+.. nonce: rS-FlC
+.. section: Core and Builtins
+
+Fix an assertion failure in `PyErr_WriteUnraisable()` in case of an
+exception with a bad ``__module__`` attribute. Patch by Oren Milman.
+
+..
+
+.. bpo: 31416
+.. date: 2017-09-11-12-54-35
+.. nonce: 2hlQFd
+.. section: Core and Builtins
+
+Fix assertion failures in case of a bad warnings.filters or
+warnings.defaultaction. Patch by Oren Milman.
+
+..
+
+.. bpo: 28411
+.. date: 2017-09-11-09-24-21
+.. nonce: 12SpAm
+.. section: Core and Builtins
+
+Change direct usage of PyInterpreterState.modules to
+PyImport_GetModuleDict(). Also introduce more uniformity in other code that
+deals with sys.modules. This helps reduce complications when working on
+sys.modules.
+
+..
+
+.. bpo: 28411
+.. date: 2017-09-11-09-11-20
+.. nonce: Ax91lz
+.. section: Core and Builtins
+
+Switch to the abstract API when dealing with ``PyInterpreterState.modules``.
+This allows later support for all dict subclasses and other Mapping
+implementations. Also add a ``PyImport_GetModule()`` function to reduce a
+bunch of duplicated code.
+
+..
+
+.. bpo: 31411
+.. date: 2017-09-11-08-50-41
+.. nonce: HZz82I
+.. section: Core and Builtins
+
+Raise a TypeError instead of SystemError in case warnings.onceregistry is
+not a dictionary. Patch by Oren Milman.
+
+..
+
+.. bpo: 31344
+.. date: 2017-09-06-20-25-47
+.. nonce: XpFs-q
+.. section: Core and Builtins
+
+For finer control of tracing behaviour when testing the interpreter, two new
+frame attributes have been added to control the emission of particular trace
+events: ``f_trace_lines`` (``True`` by default) to turn off per-line trace
+events; and ``f_trace_opcodes`` (``False`` by default) to turn on per-opcode
+trace events.
+
+..
+
+.. bpo: 31373
+.. date: 2017-09-06-15-25-59
+.. nonce: dC4jd4
+.. section: Core and Builtins
+
+Fix several possible instances of undefined behavior due to floating-point
+demotions.
+
+..
+
+.. bpo: 30465
+.. date: 2017-09-06-10-47-29
+.. nonce: oe-3GD
+.. section: Core and Builtins
+
+Location information (``lineno`` and ``col_offset``) in f-strings is now
+(mostly) correct. This fixes tools like flake8 from showing warnings on the
+wrong line (typically the first line of the file).
+
+..
+
+.. bpo: 30860
+.. date: 2017-09-05-13-47-49
+.. nonce: MROpZw
+.. section: Core and Builtins
+
+Consolidate CPython's global runtime state under a single struct. This
+improves discoverability of the runtime state.
+
+..
+
+.. bpo: 31347
+.. date: 2017-09-04-16-35-06
+.. nonce: KDuf2w
+.. section: Core and Builtins
+
+Fix possible undefined behavior in _PyObject_FastCall_Prepend.
+
+..
+
+.. bpo: 31343
+.. date: 2017-09-04-14-57-27
+.. nonce: Kl_fS5
+.. section: Core and Builtins
+
+Include sys/sysmacros.h for major(), minor(), and makedev(). GNU C libray
+plans to remove the functions from sys/types.h.
+
+..
+
+.. bpo: 31291
+.. date: 2017-08-28-11-51-29
+.. nonce: t8QggK
+.. section: Core and Builtins
+
+Fix an assertion failure in `zipimport.zipimporter.get_data` on Windows,
+when the return value of ``pathname.replace('/','\\')`` isn't a string.
+Patch by Oren Milman.
+
+..
+
+.. bpo: 31271
+.. date: 2017-08-25-20-43-22
+.. nonce: YMduKF
+.. section: Core and Builtins
+
+Fix an assertion failure in the write() method of `io.TextIOWrapper`, when
+the encoder doesn't return a bytes object. Patch by Oren Milman.
+
+..
+
+.. bpo: 31243
+.. date: 2017-08-24-13-34-49
+.. nonce: dRJzqR
+.. section: Core and Builtins
+
+Fix a crash in some methods of `io.TextIOWrapper`, when the decoder's state
+is invalid. Patch by Oren Milman.
+
+..
+
+.. bpo: 30721
+.. date: 2017-08-18-15-15-20
+.. nonce: Hmc56z
+.. section: Core and Builtins
+
+``print`` now shows correct usage hint for using Python 2 redirection
+syntax. Patch by Sanyam Khurana.
+
+..
+
+.. bpo: 31070
+.. date: 2017-08-09-09-40-54
+.. nonce: oDyLiI
+.. section: Core and Builtins
+
+Fix a race condition in importlib _get_module_lock().
+
+..
+
+.. bpo: 30747
+.. date: 2017-08-08-12-00-29
+.. nonce: g2kZRT
+.. section: Core and Builtins
+
+Add a non-dummy implementation of _Py_atomic_store and _Py_atomic_load on
+MSVC.
+
+..
+
+.. bpo: 31095
+.. date: 2017-08-01-18-48-30
+.. nonce: bXWZDb
+.. section: Core and Builtins
+
+Fix potential crash during GC caused by ``tp_dealloc`` which doesn't call
+``PyObject_GC_UnTrack()``.
+
+..
+
+.. bpo: 31071
+.. date: 2017-07-31-13-28-53
+.. nonce: P9UBDy
+.. section: Core and Builtins
+
+Avoid masking original TypeError in call with * unpacking when other
+arguments are passed.
+
+..
+
+.. bpo: 30978
+.. date: 2017-07-21-07-39-05
+.. nonce: f0jODc
+.. section: Core and Builtins
+
+str.format_map() now passes key lookup exceptions through. Previously any
+exception was replaced with a KeyError exception.
+
+..
+
+.. bpo: 30808
+.. date: 2017-07-17-12-12-59
+.. nonce: bA3zOv
+.. section: Core and Builtins
+
+Use _Py_atomic API for concurrency-sensitive signal state.
+
+..
+
+.. bpo: 30876
+.. date: 2017-07-11-06-31-32
+.. nonce: x35jZX
+.. section: Core and Builtins
+
+Relative import from unloaded package now reimports the package instead of
+failing with SystemError. Relative import from non-package now fails with
+ImportError rather than SystemError.
+
+..
+
+.. bpo: 30703
+.. date: 2017-06-28-21-07-32
+.. nonce: ULCdFp
+.. section: Core and Builtins
+
+Improve signal delivery.
+
+Avoid using Py_AddPendingCall from signal handler, to avoid calling signal-
+unsafe functions. The tests I'm adding here fail without the rest of the
+patch, on Linux and OS X. This means our signal delivery logic had defects
+(some signals could be lost).
+
+..
+
+.. bpo: 30765
+.. date: 2017-06-26-14-29-50
+.. nonce: Q5iBmf
+.. section: Core and Builtins
+
+Avoid blocking in pthread_mutex_lock() when PyThread_acquire_lock() is asked
+not to block.
+
+..
+
+.. bpo: 31161
+.. date: 0470
+.. nonce: FcUAA0
+.. section: Core and Builtins
+
+Make sure the 'Missing parentheses' syntax error message is only applied to
+SyntaxError, not to subclasses. Patch by Martijn Pieters.
+
+..
+
+.. bpo: 30814
+.. date: 0469
+.. nonce: HcYsfM
+.. section: Core and Builtins
+
+Fixed a race condition when import a submodule from a package.
+
+..
+
+.. bpo: 30736
+.. date: 0468
+.. nonce: kA4J9v
+.. section: Core and Builtins
+
+The internal unicodedata database has been upgraded to Unicode 10.0.
+
+..
+
+.. bpo: 30604
+.. date: 0467
+.. nonce: zGPGoX
+.. section: Core and Builtins
+
+Move co_extra_freefuncs from per-thread to per-interpreter to avoid crashes.
+
+..
+
+.. bpo: 30597
+.. date: 0466
+.. nonce: 7erHiP
+.. section: Core and Builtins
+
+``print`` now shows expected input in custom error message when used as a
+Python 2 statement. Patch by Sanyam Khurana.
+
+..
+
+.. bpo: 30682
+.. date: 0465
+.. nonce: zZm88E
+.. section: Core and Builtins
+
+Removed a too-strict assertion that failed for certain f-strings, such as
+eval("f'\\\n'") and eval("f'\\\r'").
+
+..
+
+.. bpo: 30501
+.. date: 0464
+.. nonce: BWJByG
+.. section: Core and Builtins
+
+The compiler now produces more optimal code for complex condition
+expressions in the "if", "while" and "assert" statement, the "if"
+expression, and generator expressions and comprehensions.
+
+..
+
+.. bpo: 28180
+.. date: 0463
+.. nonce: f_IHor
+.. section: Core and Builtins
+
+Implement PEP 538 (legacy C locale coercion). This means that when a
+suitable coercion target locale is available, both the core interpreter and
+locale-aware C extensions will assume the use of UTF-8 as the default text
+encoding, rather than ASCII.
+
+..
+
+.. bpo: 30486
+.. date: 0462
+.. nonce: KZi3nB
+.. section: Core and Builtins
+
+Allows setting cell values for __closure__. Patch by Lisa Roach.
+
+..
+
+.. bpo: 30537
+.. date: 0461
+.. nonce: sGC27r
+.. section: Core and Builtins
+
+itertools.islice now accepts integer-like objects (having an __index__
+method) as start, stop, and slice arguments
+
+..
+
+.. bpo: 25324
+.. date: 0460
+.. nonce: l12VjO
+.. section: Core and Builtins
+
+Tokens needed for parsing in Python moved to C. ``COMMENT``, ``NL`` and
+``ENCODING``. This way the tokens and tok_names in the token module don't
+get changed when you import the tokenize module.
+
+..
+
+.. bpo: 29104
+.. date: 0459
+.. nonce: u26yCx
+.. section: Core and Builtins
+
+Fixed parsing backslashes in f-strings.
+
+..
+
+.. bpo: 27945
+.. date: 0458
+.. nonce: p29r3O
+.. section: Core and Builtins
+
+Fixed various segfaults with dict when input collections are mutated during
+searching, inserting or comparing. Based on patches by Duane Griffin and
+Tim Mitchell.
+
+..
+
+.. bpo: 25794
+.. date: 0457
+.. nonce: xfPwqm
+.. section: Core and Builtins
+
+Fixed type.__setattr__() and type.__delattr__() for non-interned attribute
+names. Based on patch by Eryk Sun.
+
+..
+
+.. bpo: 30039
+.. date: 0456
+.. nonce: e0u4DG
+.. section: Core and Builtins
+
+If a KeyboardInterrupt happens when the interpreter is in the middle of
+resuming a chain of nested 'yield from' or 'await' calls, it's now correctly
+delivered to the innermost frame.
+
+..
+
+.. bpo: 28974
+.. date: 0455
+.. nonce: jVewS0
+.. section: Core and Builtins
+
+``object.__format__(x, '')`` is now equivalent to ``str(x)`` rather than
+``format(str(self), '')``.
+
+..
+
+.. bpo: 30024
+.. date: 0454
+.. nonce: kSOlED
+.. section: Core and Builtins
+
+Circular imports involving absolute imports with binding a submodule to a
+name are now supported.
+
+..
+
+.. bpo: 12414
+.. date: 0453
+.. nonce: T9ix8O
+.. section: Core and Builtins
+
+sys.getsizeof() on a code object now returns the sizes which includes the
+code struct and sizes of objects which it references. Patch by Dong-hee Na.
+
+..
+
+.. bpo: 29839
+.. date: 0452
+.. nonce: rUmfay
+.. section: Core and Builtins
+
+len() now raises ValueError rather than OverflowError if __len__() returned
+a large negative integer.
+
+..
+
+.. bpo: 11913
+.. date: 0451
+.. nonce: 5uiMX9
+.. section: Core and Builtins
+
+README.rst is now included in the list of distutils standard READMEs and
+therefore included in source distributions.
+
+..
+
+.. bpo: 29914
+.. date: 0450
+.. nonce: nqFSRR
+.. section: Core and Builtins
+
+Fixed default implementations of __reduce__ and __reduce_ex__().
+object.__reduce__() no longer takes arguments, object.__reduce_ex__() now
+requires one argument.
+
+..
+
+.. bpo: 29949
+.. date: 0449
+.. nonce: DevGPS
+.. section: Core and Builtins
+
+Fix memory usage regression of set and frozenset object.
+
+..
+
+.. bpo: 29935
+.. date: 0448
+.. nonce: vgjdJo
+.. section: Core and Builtins
+
+Fixed error messages in the index() method of tuple, list and deque when
+pass indices of wrong type.
+
+..
+
+.. bpo: 29816
+.. date: 0447
+.. nonce: 0H75Nl
+.. section: Core and Builtins
+
+Shift operation now has less opportunity to raise OverflowError. ValueError
+always is raised rather than OverflowError for negative counts. Shifting
+zero with non-negative count always returns zero.
+
+..
+
+.. bpo: 24821
+.. date: 0446
+.. nonce: 4DINGV
+.. section: Core and Builtins
+
+Fixed the slowing down to 25 times in the searching of some unlucky Unicode
+characters.
+
+..
+
+.. bpo: 29102
+.. date: 0445
+.. nonce: AW4YPj
+.. section: Core and Builtins
+
+Add a unique ID to PyInterpreterState. This makes it easier to identify
+each subinterpreter.
+
+..
+
+.. bpo: 29894
+.. date: 0444
+.. nonce: Vev6t-
+.. section: Core and Builtins
+
+The deprecation warning is emitted if __complex__ returns an instance of a
+strict subclass of complex. In a future versions of Python this can be an
+error.
+
+..
+
+.. bpo: 29859
+.. date: 0443
+.. nonce: Z1MLcA
+.. section: Core and Builtins
+
+Show correct error messages when any of the pthread_* calls in
+thread_pthread.h fails.
+
+..
+
+.. bpo: 29849
+.. date: 0442
+.. nonce: hafvBD
+.. section: Core and Builtins
+
+Fix a memory leak when an ImportError is raised during from import.
+
+..
+
+.. bpo: 28856
+.. date: 0441
+.. nonce: AFRmo4
+.. section: Core and Builtins
+
+Fix an oversight that %b format for bytes should support objects follow the
+buffer protocol.
+
+..
+
+.. bpo: 29723
+.. date: 0440
+.. nonce: M5omgP
+.. section: Core and Builtins
+
+The ``sys.path[0]`` initialization change for bpo-29139 caused a regression
+by revealing an inconsistency in how sys.path is initialized when executing
+``__main__`` from a zipfile, directory, or other import location. The
+interpreter now consistently avoids ever adding the import location's parent
+directory to ``sys.path``, and ensures no other ``sys.path`` entries are
+inadvertently modified when inserting the import location named on the
+command line.
+
+..
+
+.. bpo: 29568
+.. date: 0439
+.. nonce: 3EtOC-
+.. section: Core and Builtins
+
+Escaped percent "%%" in the format string for classic string formatting no
+longer allows any characters between two percents.
+
+..
+
+.. bpo: 29714
+.. date: 0438
+.. nonce: z-BhVd
+.. section: Core and Builtins
+
+Fix a regression that bytes format may fail when containing zero bytes
+inside.
+
+..
+
+.. bpo: 29695
+.. date: 0437
+.. nonce: z75xXa
+.. section: Core and Builtins
+
+bool(), float(), list() and tuple() no longer take keyword arguments. The
+first argument of int() can now be passes only as positional argument.
+
+..
+
+.. bpo: 28893
+.. date: 0436
+.. nonce: WTKnpj
+.. section: Core and Builtins
+
+Set correct __cause__ for errors about invalid awaitables returned from
+__aiter__ and __anext__.
+
+..
+
+.. bpo: 28876
+.. date: 0435
+.. nonce: cU-sGT
+.. section: Core and Builtins
+
+``bool(range)`` works even if ``len(range)`` raises :exc:`OverflowError`.
+
+..
+
+.. bpo: 29683
+.. date: 0434
+.. nonce: G5iS-P
+.. section: Core and Builtins
+
+Fixes to memory allocation in _PyCode_SetExtra. Patch by Brian Coleman.
+
+..
+
+.. bpo: 29684
+.. date: 0433
+.. nonce: wTgEoh
+.. section: Core and Builtins
+
+Fix minor regression of PyEval_CallObjectWithKeywords. It should raise
+TypeError when kwargs is not a dict. But it might cause segv when args=NULL
+and kwargs is not a dict.
+
+..
+
+.. bpo: 28598
+.. date: 0432
+.. nonce: QxbzQn
+.. section: Core and Builtins
+
+Support __rmod__ for subclasses of str being called before str.__mod__.
+Patch by Martijn Pieters.
+
+..
+
+.. bpo: 29607
+.. date: 0431
+.. nonce: 7NvBA1
+.. section: Core and Builtins
+
+Fix stack_effect computation for CALL_FUNCTION_EX. Patch by Matthieu
+Dartiailh.
+
+..
+
+.. bpo: 29602
+.. date: 0430
+.. nonce: qyyskC
+.. section: Core and Builtins
+
+Fix incorrect handling of signed zeros in complex constructor for complex
+subclasses and for inputs having a __complex__ method. Patch by Serhiy
+Storchaka.
+
+..
+
+.. bpo: 29347
+.. date: 0429
+.. nonce: 1RPPGN
+.. section: Core and Builtins
+
+Fixed possibly dereferencing undefined pointers when creating weakref
+objects.
+
+..
+
+.. bpo: 29463
+.. date: 0428
+.. nonce: h2bg8A
+.. section: Core and Builtins
+
+Add ``docstring`` field to Module, ClassDef, FunctionDef, and
+AsyncFunctionDef ast nodes. docstring is not first stmt in their body
+anymore. It affects ``co_firstlineno`` and ``co_lnotab`` of code object for
+module and class.
+
+..
+
+.. bpo: 29438
+.. date: 0427
+.. nonce: IKxD6I
+.. section: Core and Builtins
+
+Fixed use-after-free problem in key sharing dict.
+
+..
+
+.. bpo: 29546
+.. date: 0426
+.. nonce: PS1I1T
+.. section: Core and Builtins
+
+Set the 'path' and 'name' attribute on ImportError for ``from ... import
+...``.
+
+..
+
+.. bpo: 29546
+.. date: 0425
+.. nonce: O1rmG_
+.. section: Core and Builtins
+
+Improve from-import error message with location
+
+..
+
+.. bpo: 29478
+.. date: 0424
+.. nonce: rTQ-qy
+.. section: Core and Builtins
+
+If max_line_length=None is specified while using the Compat32 policy, it is
+no longer ignored. Patch by Mircea Cosbuc.
+
+..
+
+.. bpo: 29319
+.. date: 0423
+.. nonce: KLDUZf
+.. section: Core and Builtins
+
+Prevent RunMainFromImporter overwriting sys.path[0].
+
+..
+
+.. bpo: 29337
+.. date: 0422
+.. nonce: bjX8AE
+.. section: Core and Builtins
+
+Fixed possible BytesWarning when compare the code objects. Warnings could be
+emitted at compile time.
+
+..
+
+.. bpo: 29327
+.. date: 0421
+.. nonce: XXQarW
+.. section: Core and Builtins
+
+Fixed a crash when pass the iterable keyword argument to sorted().
+
+..
+
+.. bpo: 29034
+.. date: 0420
+.. nonce: 7-uEDT
+.. section: Core and Builtins
+
+Fix memory leak and use-after-free in os module (path_converter).
+
+..
+
+.. bpo: 29159
+.. date: 0419
+.. nonce: gEn_kP
+.. section: Core and Builtins
+
+Fix regression in bytes(x) when x.__index__() raises Exception.
+
+..
+
+.. bpo: 29049
+.. date: 0418
+.. nonce: KpVXBw
+.. section: Core and Builtins
+
+Call _PyObject_GC_TRACK() lazily when calling Python function. Calling
+function is up to 5% faster.
+
+..
+
+.. bpo: 28927
+.. date: 0417
+.. nonce: 9fxf6y
+.. section: Core and Builtins
+
+bytes.fromhex() and bytearray.fromhex() now ignore all ASCII whitespace, not
+only spaces. Patch by Robert Xiao.
+
+..
+
+.. bpo: 28932
+.. date: 0416
+.. nonce: QnLx8A
+.. section: Core and Builtins
+
+Do not include <sys/random.h> if it does not exist.
+
+..
+
+.. bpo: 25677
+.. date: 0415
+.. nonce: RWhZrb
+.. section: Core and Builtins
+
+Correct the positioning of the syntax error caret for indented blocks. Based
+on patch by Michael Layzell.
+
+..
+
+.. bpo: 29000
+.. date: 0414
+.. nonce: K6wQ-3
+.. section: Core and Builtins
+
+Fixed bytes formatting of octals with zero padding in alternate form.
+
+..
+
+.. bpo: 18896
+.. date: 0413
+.. nonce: Pqe0bg
+.. section: Core and Builtins
+
+Python function can now have more than 255 parameters.
+collections.namedtuple() now supports tuples with more than 255 elements.
+
+..
+
+.. bpo: 28596
+.. date: 0412
+.. nonce: snIJRd
+.. section: Core and Builtins
+
+The preferred encoding is UTF-8 on Android. Patch written by Chi Hsuan Yen.
+
+..
+
+.. bpo: 22257
+.. date: 0411
+.. nonce: 2a8zxB
+.. section: Core and Builtins
+
+Clean up interpreter startup (see PEP 432).
+
+..
+
+.. bpo: 26919
+.. date: 0410
+.. nonce: Cm7MSa
+.. section: Core and Builtins
+
+On Android, operating system data is now always encoded/decoded to/from
+UTF-8, instead of the locale encoding to avoid inconsistencies with
+os.fsencode() and os.fsdecode() which are already using UTF-8.
+
+..
+
+.. bpo: 28991
+.. date: 0409
+.. nonce: lGA0FK
+.. section: Core and Builtins
+
+functools.lru_cache() was susceptible to an obscure reentrancy bug
+triggerable by a monkey-patched len() function.
+
+..
+
+.. bpo: 28147
+.. date: 0408
+.. nonce: CnK_xf
+.. section: Core and Builtins
+
+Fix a memory leak in split-table dictionaries: setattr() must not convert
+combined table into split table. Patch written by INADA Naoki.
+
+..
+
+.. bpo: 28739
+.. date: 0407
+.. nonce: w1fvhk
+.. section: Core and Builtins
+
+f-string expressions are no longer accepted as docstrings and by
+ast.literal_eval() even if they do not include expressions.
+
+..
+
+.. bpo: 28512
+.. date: 0406
+.. nonce: i-pv6d
+.. section: Core and Builtins
+
+Fixed setting the offset attribute of SyntaxError by
+PyErr_SyntaxLocationEx() and PyErr_SyntaxLocationObject().
+
+..
+
+.. bpo: 28918
+.. date: 0405
+.. nonce: SFVuPz
+.. section: Core and Builtins
+
+Fix the cross compilation of xxlimited when Python has been built with
+Py_DEBUG defined.
+
+..
+
+.. bpo: 23722
+.. date: 0404
+.. nonce: e8BH5h
+.. section: Core and Builtins
+
+Rather than silently producing a class that doesn't support zero-argument
+``super()`` in methods, failing to pass the new ``__classcell__`` namespace
+entry up to ``type.__new__`` now results in a ``DeprecationWarning`` and a
+class that supports zero-argument ``super()``.
+
+..
+
+.. bpo: 28797
+.. date: 0403
+.. nonce: _A0_Z5
+.. section: Core and Builtins
+
+Modifying the class __dict__ inside the __set_name__ method of a descriptor
+that is used inside that class no longer prevents calling the __set_name__
+method of other descriptors.
+
+..
+
+.. bpo: 28799
+.. date: 0402
+.. nonce: cP6V1N
+.. section: Core and Builtins
+
+Remove the ``PyEval_GetCallStats()`` function and deprecate the untested and
+undocumented ``sys.callstats()`` function. Remove the ``CALL_PROFILE``
+special build: use the :func:`sys.setprofile` function, :mod:`cProfile` or
+:mod:`profile` to profile function calls.
+
+..
+
+.. bpo: 12844
+.. date: 0401
+.. nonce: pdr3gY
+.. section: Core and Builtins
+
+More than 255 arguments can now be passed to a function.
+
+..
+
+.. bpo: 28782
+.. date: 0400
+.. nonce: foJV_E
+.. section: Core and Builtins
+
+Fix a bug in the implementation ``yield from`` when checking if the next
+instruction is YIELD_FROM. Regression introduced by WORDCODE (issue #26647).
+
+..
+
+.. bpo: 28774
+.. date: 0399
+.. nonce: cEehAr
+.. section: Core and Builtins
+
+Fix error position of the unicode error in ASCII and Latin1 encoders when a
+string returned by the error handler contains multiple non-encodable
+characters (non-ASCII for the ASCII codec, characters out of the
+U+0000-U+00FF range for Latin1).
+
+..
+
+.. bpo: 28731
+.. date: 0398
+.. nonce: oNF59u
+.. section: Core and Builtins
+
+Optimize _PyDict_NewPresized() to create correct size dict. Improve speed of
+dict literal with constant keys up to 30%.
+
+..
+
+.. bpo: 28532
+.. date: 0397
+.. nonce: KEYJny
+.. section: Core and Builtins
+
+Show sys.version when -V option is supplied twice.
+
+..
+
+.. bpo: 27100
+.. date: 0396
+.. nonce: poVjXq
+.. section: Core and Builtins
+
+The with-statement now checks for __enter__ before it checks for __exit__.
+This gives less confusing error messages when both methods are missing.
+Patch by Jonathan Ellington.
+
+..
+
+.. bpo: 28746
+.. date: 0395
+.. nonce: r5MXdB
+.. section: Core and Builtins
+
+Fix the set_inheritable() file descriptor method on platforms that do not
+have the ioctl FIOCLEX and FIONCLEX commands.
+
+..
+
+.. bpo: 26920
+.. date: 0394
+.. nonce: 1URwGb
+.. section: Core and Builtins
+
+Fix not getting the locale's charset upon initializing the interpreter, on
+platforms that do not have langinfo.
+
+..
+
+.. bpo: 28648
+.. date: 0393
+.. nonce: z7B52W
+.. section: Core and Builtins
+
+Fixed crash in Py_DecodeLocale() in debug build on Mac OS X when decode
+astral characters. Patch by Xiang Zhang.
+
+..
+
+.. bpo: 28665
+.. date: 0392
+.. nonce: v4nx86
+.. section: Core and Builtins
+
+Improve speed of the STORE_DEREF opcode by 40%.
+
+..
+
+.. bpo: 19398
+.. date: 0391
+.. nonce: RYbEGH
+.. section: Core and Builtins
+
+Extra slash no longer added to sys.path components in case of empty compile-
+time PYTHONPATH components.
+
+..
+
+.. bpo: 28621
+.. date: 0390
+.. nonce: eCD7n-
+.. section: Core and Builtins
+
+Sped up converting int to float by reusing faster bits counting
+implementation. Patch by Adrian Wielgosik.
+
+..
+
+.. bpo: 28580
+.. date: 0389
+.. nonce: 8bqBmG
+.. section: Core and Builtins
+
+Optimize iterating split table values. Patch by Xiang Zhang.
+
+..
+
+.. bpo: 28583
+.. date: 0388
+.. nonce: F-QAx1
+.. section: Core and Builtins
+
+PyDict_SetDefault didn't combine split table when needed. Patch by Xiang
+Zhang.
+
+..
+
+.. bpo: 28128
+.. date: 0387
+.. nonce: Lc2sFu
+.. section: Core and Builtins
+
+Deprecation warning for invalid str and byte escape sequences now prints
+better information about where the error occurs. Patch by Serhiy Storchaka
+and Eric Smith.
+
+..
+
+.. bpo: 28509
+.. date: 0386
+.. nonce: _Fa4Uq
+.. section: Core and Builtins
+
+dict.update() no longer allocate unnecessary large memory.
+
+..
+
+.. bpo: 28426
+.. date: 0385
+.. nonce: E_quyK
+.. section: Core and Builtins
+
+Fixed potential crash in PyUnicode_AsDecodedObject() in debug build.
+
+..
+
+.. bpo: 28517
+.. date: 0384
+.. nonce: ExPkm9
+.. section: Core and Builtins
+
+Fixed of-by-one error in the peephole optimizer that caused keeping
+unreachable code.
+
+..
+
+.. bpo: 28214
+.. date: 0383
+.. nonce: 6ECJox
+.. section: Core and Builtins
+
+Improved exception reporting for problematic __set_name__ attributes.
+
+..
+
+.. bpo: 23782
+.. date: 0382
+.. nonce: lonDzj
+.. section: Core and Builtins
+
+Fixed possible memory leak in _PyTraceback_Add() and exception loss in
+PyTraceBack_Here().
+
+..
+
+.. bpo: 28183
+.. date: 0381
+.. nonce: MJZeNd
+.. section: Core and Builtins
+
+Optimize and cleanup dict iteration.
+
+..
+
+.. bpo: 26081
+.. date: 0380
+.. nonce: _x5vjl
+.. section: Core and Builtins
+
+Added C implementation of asyncio.Future. Original patch by Yury Selivanov.
+
+..
+
+.. bpo: 28379
+.. date: 0379
+.. nonce: DuXlco
+.. section: Core and Builtins
+
+Added sanity checks and tests for PyUnicode_CopyCharacters(). Patch by Xiang
+Zhang.
+
+..
+
+.. bpo: 28376
+.. date: 0378
+.. nonce: oPD-5D
+.. section: Core and Builtins
+
+The type of long range iterator is now registered as Iterator. Patch by Oren
+Milman.
+
+..
+
+.. bpo: 28376
+.. date: 0377
+.. nonce: yTEhEo
+.. section: Core and Builtins
+
+Creating instances of range_iterator by calling range_iterator type now is
+disallowed. Calling iter() on range instance is the only way. Patch by Oren
+Milman.
+
+..
+
+.. bpo: 26906
+.. date: 0376
+.. nonce: YBjcwI
+.. section: Core and Builtins
+
+Resolving special methods of uninitialized type now causes implicit
+initialization of the type instead of a fail.
+
+..
+
+.. bpo: 18287
+.. date: 0375
+.. nonce: k6jffS
+.. section: Core and Builtins
+
+PyType_Ready() now checks that tp_name is not NULL. Original patch by Niklas
+Koep.
+
+..
+
+.. bpo: 24098
+.. date: 0374
+.. nonce: XqlP_1
+.. section: Core and Builtins
+
+Fixed possible crash when AST is changed in process of compiling it.
+
+..
+
+.. bpo: 28201
+.. date: 0373
+.. nonce: GWUxAy
+.. section: Core and Builtins
+
+Dict reduces possibility of 2nd conflict in hash table when hashes have same
+lower bits.
+
+..
+
+.. bpo: 28350
+.. date: 0372
+.. nonce: 8M5Eg9
+.. section: Core and Builtins
+
+String constants with null character no longer interned.
+
+..
+
+.. bpo: 26617
+.. date: 0371
+.. nonce: Gh5LvN
+.. section: Core and Builtins
+
+Fix crash when GC runs during weakref callbacks.
+
+..
+
+.. bpo: 27942
+.. date: 0370
+.. nonce: ZGuhns
+.. section: Core and Builtins
+
+String constants now interned recursively in tuples and frozensets.
+
+..
+
+.. bpo: 28289
+.. date: 0369
+.. nonce: l1kHlV
+.. section: Core and Builtins
+
+ImportError.__init__ now resets not specified attributes.
+
+..
+
+.. bpo: 21578
+.. date: 0368
+.. nonce: GI1bhj
+.. section: Core and Builtins
+
+Fixed misleading error message when ImportError called with invalid keyword
+args.
+
+..
+
+.. bpo: 28203
+.. date: 0367
+.. nonce: LRn5vp
+.. section: Core and Builtins
+
+Fix incorrect type in complex(1.0, {2:3}) error message. Patch by Soumya
+Sharma.
+
+..
+
+.. bpo: 28086
+.. date: 0366
+.. nonce: JsQPMQ
+.. section: Core and Builtins
+
+Single var-positional argument of tuple subtype was passed unscathed to the
+C-defined function. Now it is converted to exact tuple.
+
+..
+
+.. bpo: 28214
+.. date: 0365
+.. nonce: zQF8Em
+.. section: Core and Builtins
+
+Now __set_name__ is looked up on the class instead of the instance.
+
+..
+
+.. bpo: 27955
+.. date: 0364
+.. nonce: HC4pZ4
+.. section: Core and Builtins
+
+Fallback on reading /dev/urandom device when the getrandom() syscall fails
+with EPERM, for example when blocked by SECCOMP.
+
+..
+
+.. bpo: 28192
+.. date: 0363
+.. nonce: eR6stU
+.. section: Core and Builtins
+
+Don't import readline in isolated mode.
+
+..
+
+.. bpo: 27441
+.. date: 0362
+.. nonce: scPKax
+.. section: Core and Builtins
+
+Remove some redundant assignments to ob_size in longobject.c. Thanks Oren
+Milman.
+
+..
+
+.. bpo: 27222
+.. date: 0361
+.. nonce: 74PvFk
+.. section: Core and Builtins
+
+Clean up redundant code in long_rshift function. Thanks Oren Milman.
+
+..
+
+.. bpo: 0
+.. date: 0360
+.. nonce: 9EbOiD
+.. section: Core and Builtins
+
+Upgrade internal unicode databases to Unicode version 9.0.0.
+
+..
+
+.. bpo: 28131
+.. date: 0359
+.. nonce: owq0wW
+.. section: Core and Builtins
+
+Fix a regression in zipimport's compile_source(). zipimport should use the
+same optimization level as the interpreter.
+
+..
+
+.. bpo: 28126
+.. date: 0358
+.. nonce: Qf6-uQ
+.. section: Core and Builtins
+
+Replace Py_MEMCPY with memcpy(). Visual Studio can properly optimize
+memcpy().
+
+..
+
+.. bpo: 28120
+.. date: 0357
+.. nonce: e5xc1i
+.. section: Core and Builtins
+
+Fix dict.pop() for splitted dictionary when trying to remove a "pending key"
+(Not yet inserted in split-table). Patch by Xiang Zhang.
+
+..
+
+.. bpo: 26182
+.. date: 0356
+.. nonce: jYlqTO
+.. section: Core and Builtins
+
+Raise DeprecationWarning when async and await keywords are used as
+variable/attribute/class/function name.
+
+..
+
+.. bpo: 26182
+.. date: 0355
+.. nonce: a8JXK2
+.. section: Core and Builtins
+
+Fix a refleak in code that raises DeprecationWarning.
+
+..
+
+.. bpo: 28721
+.. date: 0354
+.. nonce: BO9BUF
+.. section: Core and Builtins
+
+Fix asynchronous generators aclose() and athrow() to handle
+StopAsyncIteration propagation properly.
+
+..
+
+.. bpo: 26110
+.. date: 0353
+.. nonce: KRaID6
+.. section: Core and Builtins
+
+Speed-up method calls: add LOAD_METHOD and CALL_METHOD opcodes.
+
+..
+
+.. bpo: 31499
+.. date: 2017-09-18-10-57-04
+.. nonce: BydYhf
+.. section: Library
+
+xml.etree: Fix a crash when a parser is part of a reference cycle.
+
+..
+
+.. bpo: 31482
+.. date: 2017-09-16-01-53-11
+.. nonce: 39s5dS
+.. section: Library
+
+``random.seed()`` now works with bytes in version=1
+
+..
+
+.. bpo: 28556
+.. date: 2017-09-14-11-02-56
+.. nonce: EUOiYs
+.. section: Library
+
+typing.get_type_hints now finds the right globalns for classes and modules
+by default (when no ``globalns`` was specified by the caller).
+
+..
+
+.. bpo: 28556
+.. date: 2017-09-13-23-27-39
+.. nonce: UmTQvv
+.. section: Library
+
+Speed improvements to the ``typing`` module. Original PRs by Ivan
+Levkivskyi and Mitar.
+
+..
+
+.. bpo: 31544
+.. date: 2017-09-13-19-55-35
+.. nonce: beTh6t
+.. section: Library
+
+The C accelerator module of ElementTree ignored exceptions raised when
+looking up TreeBuilder target methods in XMLParser().
+
+..
+
+.. bpo: 31234
+.. date: 2017-09-13-18-05-56
+.. nonce: lGkcPg
+.. section: Library
+
+socket.create_connection() now fixes manually a reference cycle: clear the
+variable storing the last exception on success.
+
+..
+
+.. bpo: 31457
+.. date: 2017-09-13-13-33-39
+.. nonce: bIVBtI
+.. section: Library
+
+LoggerAdapter objects can now be nested.
+
+..
+
+.. bpo: 31431
+.. date: 2017-09-13-07-37-20
+.. nonce: dj994R
+.. section: Library
+
+SSLContext.check_hostname now automatically sets SSLContext.verify_mode to
+ssl.CERT_REQUIRED instead of failing with a ValueError.
+
+..
+
+.. bpo: 31233
+.. date: 2017-09-13-02-17-11
+.. nonce: r-IPIu
+.. section: Library
+
+socketserver.ThreadingMixIn now keeps a list of non-daemonic threads to wait
+until all these threads complete in server_close().
+
+..
+
+.. bpo: 28638
+.. date: 2017-09-08-14-31-15
+.. nonce: lfbVyH
+.. section: Library
+
+Changed the implementation strategy for collections.namedtuple() to
+substantially reduce the use of exec() in favor of precomputed methods. As a
+result, the *verbose* parameter and *_source* attribute are no longer
+supported. The benefits include 1) having a smaller memory footprint for
+applications using multiple named tuples, 2) faster creation of the named
+tuple class (approx 4x to 6x depending on how it is measured), and 3) minor
+speed-ups for instance creation using __new__, _make, and _replace. (The
+primary patch contributor is Jelle Zijlstra with further improvements by
+INADA Naoki, Serhiy Storchaka, and Raymond Hettinger.)
+
+..
+
+.. bpo: 31400
+.. date: 2017-09-08-14-19-57
+.. nonce: YOTPKi
+.. section: Library
+
+Improves SSL error handling to avoid losing error numbers.
+
+..
+
+.. bpo: 27629
+.. date: 2017-09-07-12-15-56
+.. nonce: 7xJXEy
+.. section: Library
+
+Make return types of SSLContext.wrap_bio() and SSLContext.wrap_socket()
+customizable.
+
+..
+
+.. bpo: 28958
+.. date: 2017-09-06-19-41-01
+.. nonce: x4-K5F
+.. section: Library
+
+ssl.SSLContext() now uses OpenSSL error information when a context cannot be
+instantiated.
+
+..
+
+.. bpo: 28182
+.. date: 2017-09-06-18-49-16
+.. nonce: hRP8Bk
+.. section: Library
+
+The SSL module now raises SSLCertVerificationError when OpenSSL fails to
+verify the peer's certificate. The exception contains more information about
+the error.
+
+..
+
+.. bpo: 27340
+.. date: 2017-09-06-06-50-41
+.. nonce: GgekV5
+.. section: Library
+
+SSLSocket.sendall() now uses memoryview to create slices of data. This fixes
+support for all bytes-like object. It is also more efficient and avoids
+costly copies.
+
+..
+
+.. bpo: 14191
+.. date: 2017-09-05-17-43-00
+.. nonce: vhh2xx
+.. section: Library
+
+A new function ``argparse.ArgumentParser.parse_intermixed_args`` provides
+the ability to parse command lines where there user intermixes options and
+positional arguments.
+
+..
+
+.. bpo: 31178
+.. date: 2017-09-05-14-55-28
+.. nonce: JrSFo7
+.. section: Library
+
+Fix string concatenation bug in rare error path in the subprocess module
+
+..
+
+.. bpo: 31350
+.. date: 2017-09-05-10-30-48
+.. nonce: dXJ-7N
+.. section: Library
+
+Micro-optimize :func:`asyncio._get_running_loop` to become up to 10% faster.
+
+..
+
+.. bpo: 31170
+.. date: 2017-09-04-23-41-35
+.. nonce: QGmJ1t
+.. section: Library
+
+expat: Update libexpat from 2.2.3 to 2.2.4. Fix copying of partial
+characters for UTF-8 input (libexpat bug 115):
+https://github.com/libexpat/libexpat/issues/115
+
+..
+
+.. bpo: 29136
+.. date: 2017-09-04-16-39-49
+.. nonce: vSn1oR
+.. section: Library
+
+Add TLS 1.3 cipher suites and OP_NO_TLSv1_3.
+
+..
+
+.. bpo: 1198569
+.. date: 2017-09-04-10-53-06
+.. nonce: vhh2nY
+.. section: Library
+
+``string.Template`` subclasses can optionally define ``braceidpattern`` if
+they want to specify different placeholder patterns inside and outside the
+braces. If None (the default) it falls back to ``idpattern``.
+
+..
+
+.. bpo: 31326
+.. date: 2017-09-01-18-48-06
+.. nonce: TB05tV
+.. section: Library
+
+concurrent.futures.ProcessPoolExecutor.shutdown() now explicitly closes the
+call queue. Moreover, shutdown(wait=True) now also join the call queue
+thread, to prevent leaking a dangling thread.
+
+..
+
+.. bpo: 27144
+.. date: 2017-08-30-11-26-14
+.. nonce: PEDJsE
+.. section: Library
+
+The ``map()`` and ``as_completed()`` iterators in ``concurrent.futures`` now
+avoid keeping a reference to yielded objects.
+
+..
+
+.. bpo: 31281
+.. date: 2017-08-29-07-14-14
+.. nonce: DcFyNs
+.. section: Library
+
+Fix ``fileinput.FileInput(files, inplace=True)`` when ``files`` contain
+``pathlib.Path`` objects.
+
+..
+
+.. bpo: 10746
+.. date: 2017-08-28-13-01-05
+.. nonce: nmAvfu
+.. section: Library
+
+Fix ctypes producing wrong PEP 3118 type codes for integer types.
+
+..
+
+.. bpo: 27584
+.. date: 2017-08-24-14-03-14
+.. nonce: r11JHZ
+.. section: Library
+
+``AF_VSOCK`` has been added to the socket interface which allows
+communication between virtual machines and their host.
+
+..
+
+.. bpo: 22536
+.. date: 2017-08-23
+.. nonce: _narf_
+.. section: Library
+
+The subprocess module now sets the filename when FileNotFoundError is raised
+on POSIX systems due to the executable or cwd not being found.
+
+..
+
+.. bpo: 29741
+.. date: 2017-08-23-00-31-32
+.. nonce: EBn_DM
+.. section: Library
+
+Update some methods in the _pyio module to also accept integer types. Patch
+by Oren Milman.
+
+..
+
+.. bpo: 31249
+.. date: 2017-08-22-12-44-48
+.. nonce: STPbb9
+.. section: Library
+
+concurrent.futures: WorkItem.run() used by ThreadPoolExecutor now breaks a
+reference cycle between an exception object and the WorkItem object.
+
+..
+
+.. bpo: 31247
+.. date: 2017-08-21-17-50-27
+.. nonce: 8S3zJp
+.. section: Library
+
+xmlrpc.server now explicitly breaks reference cycles when using
+sys.exc_info() in code handling exceptions.
+
+..
+
+.. bpo: 23835
+.. date: 2017-08-21-16-06-19
+.. nonce: da_4Kz
+.. section: Library
+
+configparser: reading defaults in the ``ConfigParser()`` constructor is now
+using ``read_dict()``, making its behavior consistent with the rest of the
+parser. Non-string keys and values in the defaults dictionary are now being
+implicitly converted to strings. Patch by James Tocknell.
+
+..
+
+.. bpo: 31238
+.. date: 2017-08-21-12-31-53
+.. nonce: Gg0LRH
+.. section: Library
+
+pydoc: the stop() method of the private ServerThread class now waits until
+DocServer.serve_until_quit() completes and then explicitly sets its
+docserver attribute to None to break a reference cycle.
+
+..
+
+.. bpo: 5001
+.. date: 2017-08-18-17-16-38
+.. nonce: gwnthq
+.. section: Library
+
+Many asserts in `multiprocessing` are now more informative, and some error
+types have been changed to more specific ones.
+
+..
+
+.. bpo: 31109
+.. date: 2017-08-17-20-29-45
+.. nonce: 7qtC64
+.. section: Library
+
+Convert zipimport to use Argument Clinic.
+
+..
+
+.. bpo: 30102
+.. date: 2017-08-16-21-14-31
+.. nonce: 1sPqmc
+.. section: Library
+
+The ssl and hashlib modules now call OPENSSL_add_all_algorithms_noconf() on
+OpenSSL < 1.1.0. The function detects CPU features and enables optimizations
+on some CPU architectures such as POWER8. Patch is based on research from
+Gustavo Serra Scalet.
+
+..
+
+.. bpo: 18966
+.. date: 2017-08-16-20-28-06
+.. nonce: mjHWk2
+.. section: Library
+
+Non-daemonic threads created by a multiprocessing.Process are now joined on
+child exit.
+
+..
+
+.. bpo: 31183
+.. date: 2017-08-13-09-17-01
+.. nonce: -2_YGj
+.. section: Library
+
+`dis` now works with asynchronous generator and coroutine objects. Patch by
+George Collins based on diagnosis by Luciano Ramalho.
+
+..
+
+.. bpo: 5001
+.. date: 2017-08-12-09-25-55
+.. nonce: huQi2Y
+.. section: Library
+
+There are a number of uninformative asserts in the `multiprocessing` module,
+as noted in issue 5001. This change fixes two of the most potentially
+problematic ones, since they are in error-reporting code, in the
+`multiprocessing.managers.convert_to_error` function. (It also makes more
+informative a ValueError message.) The only potentially problematic change
+is that the AssertionError is now a TypeError; however, this should also
+help distinguish it from an AssertionError being *reported* by the
+function/its caller (such as in issue 31169). - Patch by Allen W. Smith
+(drallensmith on github).
+
+..
+
+.. bpo: 31185
+.. date: 2017-08-11-19-30-00
+.. nonce: i6TPgL
+.. section: Library
+
+Fixed miscellaneous errors in asyncio speedup module.
+
+..
+
+.. bpo: 31151
+.. date: 2017-08-10-13-20-02
+.. nonce: 730VBI
+.. section: Library
+
+socketserver.ForkingMixIn.server_close() now waits until all child processes
+completed to prevent leaking zombie processes.
+
+..
+
+.. bpo: 31072
+.. date: 2017-08-09-13-45-23
+.. nonce: NLXDPV
+.. section: Library
+
+Add an ``include_file`` parameter to ``zipapp.create_archive()``
+
+..
+
+.. bpo: 24700
+.. date: 2017-08-08-15-14-34
+.. nonce: 44mvNV
+.. section: Library
+
+Optimize array.array comparison. It is now from 10x up to 70x faster when
+comparing arrays holding values of the same integer type.
+
+..
+
+.. bpo: 31135
+.. date: 2017-08-08-14-44-37
+.. nonce: HH94xR
+.. section: Library
+
+ttk: fix the destroy() method of LabeledScale and OptionMenu classes. Call
+the parent destroy() method even if the used attribute doesn't exist. The
+LabeledScale.destroy() method now also explicitly clears label and scale
+attributes to help the garbage collector to destroy all widgets.
+
+..
+
+.. bpo: 31107
+.. date: 2017-08-02-12-48-15
+.. nonce: 1t2hn5
+.. section: Library
+
+Fix `copyreg._slotnames()` mangled attribute calculation for classes whose
+name begins with an underscore. Patch by Shane Harvey.
+
+..
+
+.. bpo: 31080
+.. date: 2017-08-01-18-26-55
+.. nonce: 2CFVCO
+.. section: Library
+
+Allow `logging.config.fileConfig` to accept kwargs and/or args.
+
+..
+
+.. bpo: 30897
+.. date: 2017-08-01-15-56-50
+.. nonce: OuT1-Y
+.. section: Library
+
+``pathlib.Path`` objects now include an ``is_mount()`` method (only
+implemented on POSIX). This is similar to ``os.path.ismount(p)``. Patch by
+Cooper Ry Lees.
+
+..
+
+.. bpo: 31061
+.. date: 2017-08-01-09-32-58
+.. nonce: husAYX
+.. section: Library
+
+Fixed a crash when using asyncio and threads.
+
+..
+
+.. bpo: 30987
+.. date: 2017-07-30-22-00-12
+.. nonce: 228rW0
+.. section: Library
+
+Added support for CAN ISO-TP protocol in the socket module.
+
+..
+
+.. bpo: 30522
+.. date: 2017-07-30-10-07-58
+.. nonce: gAX1N-
+.. section: Library
+
+Added a ``setStream`` method to ``logging.StreamHandler`` to allow the
+stream to be set after creation.
+
+..
+
+.. bpo: 30502
+.. date: 2017-07-27-11-33-58
+.. nonce: GJlfU8
+.. section: Library
+
+Fix handling of long oids in ssl. Based on patch by Christian Heimes.
+
+..
+
+.. bpo: 5288
+.. date: 2017-07-26-13-18-29
+.. nonce: o_xEGj
+.. section: Library
+
+Support tzinfo objects with sub-minute offsets.
+
+..
+
+.. bpo: 30919
+.. date: 2017-07-23-11-33-10
+.. nonce: 5dYRru
+.. section: Library
+
+Fix shared memory performance regression in multiprocessing in 3.x.
+
+Shared memory used anonymous memory mappings in 2.x, while 3.x mmaps actual
+files. Try to be careful to do as little disk I/O as possible.
+
+..
+
+.. bpo: 26732
+.. date: 2017-07-22-12-12-42
+.. nonce: lYLWBH
+.. section: Library
+
+Fix too many fds in processes started with the "forkserver" method.
+
+A child process would inherit as many fds as the number of still-running
+children.
+
+..
+
+.. bpo: 29403
+.. date: 2017-07-20-02-29-49
+.. nonce: 3RinCV
+.. section: Library
+
+Fix ``unittest.mock``'s autospec to not fail on method-bound builtin
+functions. Patch by Aaron Gallagher.
+
+..
+
+.. bpo: 30961
+.. date: 2017-07-18-23-47-51
+.. nonce: 064jz0
+.. section: Library
+
+Fix decrementing a borrowed reference in tracemalloc.
+
+..
+
+.. bpo: 19896
+.. date: 2017-07-18-13-24-50
+.. nonce: -S0IWu
+.. section: Library
+
+Fix multiprocessing.sharedctypes to recognize typecodes ``'q'`` and ``'Q'``.
+
+..
+
+.. bpo: 30946
+.. date: 2017-07-17-12-32-47
+.. nonce: DUo-uA
+.. section: Library
+
+Remove obsolete code in readline module for platforms where GNU readline is
+older than 2.1 or where select() is not available.
+
+..
+
+.. bpo: 25684
+.. date: 2017-07-17-11-35-00
+.. nonce: usELVx
+.. section: Library
+
+Change ``ttk.OptionMenu`` radiobuttons to be unique across instances of
+``OptionMenu``.
+
+..
+
+.. bpo: 30886
+.. date: 2017-07-10-12-14-22
+.. nonce: nqQj34
+.. section: Library
+
+Fix multiprocessing.Queue.join_thread(): it now waits until the thread
+completes, even if the thread was started by the same process which created
+the queue.
+
+..
+
+.. bpo: 29854
+.. date: 2017-07-07-02-18-57
+.. nonce: J8wKb_
+.. section: Library
+
+Fix segfault in readline when using readline's history-size option. Patch
+by Nir Soffer.
+
+..
+
+.. bpo: 30794
+.. date: 2017-07-04-22-00-20
+.. nonce: qFwozm
+.. section: Library
+
+Added multiprocessing.Process.kill method to terminate using the SIGKILL
+signal on Unix.
+
+..
+
+.. bpo: 30319
+.. date: 2017-07-04-13-48-21
+.. nonce: hg_3TX
+.. section: Library
+
+socket.close() now ignores ECONNRESET error.
+
+..
+
+.. bpo: 30828
+.. date: 2017-07-04-13-10-52
+.. nonce: CLvEvV
+.. section: Library
+
+Fix out of bounds write in `asyncio.CFuture.remove_done_callback()`.
+
+..
+
+.. bpo: 30302
+.. date: 2017-06-30-23-05-47
+.. nonce: itwK_k
+.. section: Library
+
+Use keywords in the ``repr`` of ``datetime.timedelta``.
+
+..
+
+.. bpo: 30807
+.. date: 2017-06-29-22-04-44
+.. nonce: sLtjY-
+.. section: Library
+
+signal.setitimer() may disable the timer when passed a tiny value.
+
+Tiny values (such as 1e-6) are valid non-zero values for setitimer(), which
+is specified as taking microsecond-resolution intervals. However, on some
+platform, our conversion routine could convert 1e-6 into a zero interval,
+therefore disabling the timer instead of (re-)scheduling it.
+
+..
+
+.. bpo: 30441
+.. date: 2017-06-29-14-25-14
+.. nonce: 3Wh9kc
+.. section: Library
+
+Fix bug when modifying os.environ while iterating over it
+
+..
+
+.. bpo: 29585
+.. date: 2017-06-29-00-17-38
+.. nonce: x2V0my
+.. section: Library
+
+Avoid importing ``sysconfig`` from ``site`` to improve startup speed. Python
+startup is about 5% faster on Linux and 30% faster on macOS.
+
+..
+
+.. bpo: 29293
+.. date: 2017-06-29-00-07-22
+.. nonce: Z6WZjD
+.. section: Library
+
+Add missing parameter "n" on multiprocessing.Condition.notify().
+
+The doc claims multiprocessing.Condition behaves like threading.Condition,
+but its notify() method lacked the optional "n" argument (to specify the
+number of sleepers to wake up) that threading.Condition.notify() accepts.
+
+..
+
+.. bpo: 30532
+.. date: 2017-06-26-11-01-59
+.. nonce: qTeL1o
+.. section: Library
+
+Fix email header value parser dropping folding white space in certain cases.
+
+..
+
+.. bpo: 30596
+.. date: 2017-06-24-18-55-58
+.. nonce: VhB8iG
+.. section: Library
+
+Add a ``close()`` method to ``multiprocessing.Process``.
+
+..
+
+.. bpo: 9146
+.. date: 2017-05-24-00-00-00
+.. nonce: pinky_
+.. section: Library
+
+Fix a segmentation fault in _hashopenssl when standard hash functions such
+as md5 are not available in the linked OpenSSL library. As in some special
+FIPS-140 build environments.
+
+..
+
+.. bpo: 29169
+.. date: 0352
+.. nonce: 8ypApm
+.. section: Library
+
+Update zlib to 1.2.11.
+
+..
+
+.. bpo: 30119
+.. date: 0351
+.. nonce: 4UMLNh
+.. section: Library
+
+ftplib.FTP.putline() now throws ValueError on commands that contains CR or
+LF. Patch by Dong-hee Na.
+
+..
+
+.. bpo: 30879
+.. date: 0350
+.. nonce: N3KI-o
+.. section: Library
+
+os.listdir() and os.scandir() now emit bytes names when called with bytes-
+like argument.
+
+..
+
+.. bpo: 30746
+.. date: 0349
+.. nonce: 7drQI0
+.. section: Library
+
+Prohibited the '=' character in environment variable names in
+``os.putenv()`` and ``os.spawn*()``.
+
+..
+
+.. bpo: 30664
+.. date: 0348
+.. nonce: oyqiUl
+.. section: Library
+
+The description of a unittest subtest now preserves the order of keyword
+arguments of TestCase.subTest().
+
+..
+
+.. bpo: 21071
+.. date: 0346
+.. nonce: Sw37rs
+.. section: Library
+
+struct.Struct.format type is now :class:`str` instead of :class:`bytes`.
+
+..
+
+.. bpo: 29212
+.. date: 0345
+.. nonce: HmTdef
+.. section: Library
+
+Fix concurrent.futures.thread.ThreadPoolExecutor threads to have a non
+repr() based thread name by default when no thread_name_prefix is supplied.
+They will now identify themselves as "ThreadPoolExecutor-y_n".
+
+..
+
+.. bpo: 29755
+.. date: 0343
+.. nonce: diQcY_
+.. section: Library
+
+Fixed the lgettext() family of functions in the gettext module. They now
+always return bytes.
+
+..
+
+.. bpo: 30616
+.. date: 0341
+.. nonce: I2mDTz
+.. section: Library
+
+Functional API of enum allows to create empty enums. Patched by Dong-hee Na
+
+..
+
+.. bpo: 30038
+.. date: 0340
+.. nonce: vb4DWk
+.. section: Library
+
+Fix race condition between signal delivery and wakeup file descriptor. Patch
+by Nathaniel Smith.
+
+..
+
+.. bpo: 23894
+.. date: 0339
+.. nonce: k2pADV
+.. section: Library
+
+lib2to3 now recognizes ``rb'...'`` and ``f'...'`` strings.
+
+..
+
+.. bpo: 24744
+.. date: 0337
+.. nonce: NKxUj3
+.. section: Library
+
+pkgutil.walk_packages function now raises ValueError if *path* is a string.
+Patch by Sanyam Khurana.
+
+..
+
+.. bpo: 24484
+.. date: 0336
+.. nonce: vFem8K
+.. section: Library
+
+Avoid race condition in multiprocessing cleanup.
+
+..
+
+.. bpo: 30589
+.. date: 0335
+.. nonce: xyZGM0
+.. section: Library
+
+Fix multiprocessing.Process.exitcode to return the opposite of the signal
+number when the process is killed by a signal (instead of 255) when using
+the "forkserver" method.
+
+..
+
+.. bpo: 28994
+.. date: 0334
+.. nonce: 9vzun1
+.. section: Library
+
+The traceback no longer displayed for SystemExit raised in a callback
+registered by atexit.
+
+..
+
+.. bpo: 30508
+.. date: 0333
+.. nonce: wNWRS2
+.. section: Library
+
+Don't log exceptions if Task/Future "cancel()" method was called.
+
+..
+
+.. bpo: 30645
+.. date: 0332
+.. nonce: xihJ4Y
+.. section: Library
+
+Fix path calculation in `imp.load_package()`, fixing it for cases when a
+package is only shipped with bytecodes. Patch by Alexandru Ardelean.
+
+..
+
+.. bpo: 11822
+.. date: 0331
+.. nonce: GQmKw3
+.. section: Library
+
+The dis.dis() function now is able to disassemble nested code objects.
+
+..
+
+.. bpo: 30624
+.. date: 0330
+.. nonce: g5oVSn
+.. section: Library
+
+selectors does not take KeyboardInterrupt and SystemExit into account,
+leaving a fd in a bad state in case of error. Patch by Giampaolo Rodola'.
+
+..
+
+.. bpo: 30595
+.. date: 0329
+.. nonce: d0nRRA
+.. section: Library
+
+multiprocessing.Queue.get() with a timeout now polls its reader in non-
+blocking mode if it succeeded to acquire the lock but the acquire took
+longer than the timeout.
+
+..
+
+.. bpo: 28556
+.. date: 0328
+.. nonce: mESP7G
+.. section: Library
+
+Updates to typing module: Add generic AsyncContextManager, add support for
+ContextManager on all versions. Original PRs by Jelle Zijlstra and Ivan
+Levkivskyi
+
+..
+
+.. bpo: 30605
+.. date: 0327
+.. nonce: XqGz1r
+.. section: Library
+
+re.compile() no longer raises a BytesWarning when compiling a bytes instance
+with misplaced inline modifier. Patch by Roy Williams.
+
+..
+
+.. bpo: 29870
+.. date: 0326
+.. nonce: p960Ih
+.. section: Library
+
+Fix ssl sockets leaks when connection is aborted in asyncio/ssl
+implementation. Patch by Michaël Sghaïer.
+
+..
+
+.. bpo: 29743
+.. date: 0325
+.. nonce: en2P4s
+.. section: Library
+
+Closing transport during handshake process leaks open socket. Patch by
+Nikolay Kim
+
+..
+
+.. bpo: 27585
+.. date: 0324
+.. nonce: 0Ugqqu
+.. section: Library
+
+Fix waiter cancellation in asyncio.Lock. Patch by Mathieu Sornay.
+
+..
+
+.. bpo: 30014
+.. date: 0323
+.. nonce: x7Yx6o
+.. section: Library
+
+modify() method of poll(), epoll() and devpoll() based classes of selectors
+module is around 10% faster. Patch by Giampaolo Rodola'.
+
+..
+
+.. bpo: 30418
+.. date: 0322
+.. nonce: EwISQm
+.. section: Library
+
+On Windows, subprocess.Popen.communicate() now also ignore EINVAL on
+stdin.write() if the child process is still running but closed the pipe.
+
+..
+
+.. bpo: 30463
+.. date: 0321
+.. nonce: CdOuSl
+.. section: Library
+
+Addded empty __slots__ to abc.ABC. This allows subclassers to deny __dict__
+and __weakref__ creation. Patch by Aaron Hall.
+
+..
+
+.. bpo: 30520
+.. date: 0320
+.. nonce: VYzaSn
+.. section: Library
+
+Loggers are now pickleable.
+
+..
+
+.. bpo: 30557
+.. date: 0319
+.. nonce: uykrLf
+.. section: Library
+
+faulthandler now correctly filters and displays exception codes on Windows
+
+..
+
+.. bpo: 30526
+.. date: 0318
+.. nonce: 7zTG30
+.. section: Library
+
+Add TextIOWrapper.reconfigure() and a TextIOWrapper.write_through attribute.
+
+..
+
+.. bpo: 30245
+.. date: 0317
+.. nonce: Xoa_8Y
+.. section: Library
+
+Fix possible overflow when organize struct.pack_into error message. Patch
+by Yuan Liu.
+
+..
+
+.. bpo: 30378
+.. date: 0316
+.. nonce: R_19_5
+.. section: Library
+
+Fix the problem that logging.handlers.SysLogHandler cannot handle IPv6
+addresses.
+
+..
+
+.. bpo: 16500
+.. date: 0315
+.. nonce: 9ypo9k
+.. section: Library
+
+Allow registering at-fork handlers.
+
+..
+
+.. bpo: 30470
+.. date: 0314
+.. nonce: wAYhUc
+.. section: Library
+
+Deprecate invalid ctypes call protection on Windows. Patch by Mariatta
+Wijaya.
+
+..
+
+.. bpo: 30414
+.. date: 0313
+.. nonce: jGl1Lb
+.. section: Library
+
+multiprocessing.Queue._feed background running thread do not break from main
+loop on exception.
+
+..
+
+.. bpo: 30003
+.. date: 0312
+.. nonce: BOl9HE
+.. section: Library
+
+Fix handling escape characters in HZ codec. Based on patch by Ma Lin.
+
+..
+
+.. bpo: 30149
+.. date: 0311
+.. nonce: hE649r
+.. section: Library
+
+inspect.signature() now supports callables with variable-argument parameters
+wrapped with partialmethod. Patch by Dong-hee Na.
+
+..
+
+.. bpo: 30436
+.. date: 0310
+.. nonce: b3zqE7
+.. section: Library
+
+importlib.find_spec() raises ModuleNotFoundError instead of AttributeError
+if the specified parent module is not a package (i.e. lacks a __path__
+attribute).
+
+..
+
+.. bpo: 30301
+.. date: 0309
+.. nonce: ywOkjN
+.. section: Library
+
+Fix AttributeError when using SimpleQueue.empty() under *spawn* and
+*forkserver* start methods.
+
+..
+
+.. bpo: 30375
+.. date: 0308
+.. nonce: 9c8qM7
+.. section: Library
+
+Warnings emitted when compile a regular expression now always point to the
+line in the user code. Previously they could point into inners of the re
+module if emitted from inside of groups or conditionals.
+
+..
+
+.. bpo: 30329
+.. date: 0307
+.. nonce: EuT36N
+.. section: Library
+
+imaplib and poplib now catch the Windows socket WSAEINVAL error (code 10022)
+on shutdown(SHUT_RDWR): An invalid operation was attempted. This error
+occurs sometimes on SSL connections.
+
+..
+
+.. bpo: 29196
+.. date: 0306
+.. nonce: qBq9eB
+.. section: Library
+
+Removed previously deprecated in Python 2.4 classes Plist, Dict and
+_InternalDict in the plistlib module. Dict values in the result of
+functions readPlist() and readPlistFromBytes() are now normal dicts. You no
+longer can use attribute access to access items of these dictionaries.
+
+..
+
+.. bpo: 9850
+.. date: 0305
+.. nonce: c6SMxt
+.. section: Library
+
+The :mod:`macpath` is now deprecated and will be removed in Python 3.8.
+
+..
+
+.. bpo: 30299
+.. date: 0304
+.. nonce: O-5d4A
+.. section: Library
+
+Compiling regular expression in debug mode on CPython now displays the
+compiled bytecode in human readable form.
+
+..
+
+.. bpo: 30048
+.. date: 0303
+.. nonce: ELRx8R
+.. section: Library
+
+Fixed ``Task.cancel()`` can be ignored when the task is running coroutine
+and the coroutine returned without any more ``await``.
+
+..
+
+.. bpo: 30266
+.. date: 0302
+.. nonce: YJzHAH
+.. section: Library
+
+contextlib.AbstractContextManager now supports anti-registration by setting
+__enter__ = None or __exit__ = None, following the pattern introduced in
+bpo-25958. Patch by Jelle Zijlstra.
+
+..
+
+.. bpo: 30340
+.. date: 0301
+.. nonce: kvtGm-
+.. section: Library
+
+Enhanced regular expressions optimization. This increased the performance of
+matching some patterns up to 25 times.
+
+..
+
+.. bpo: 30298
+.. date: 0300
+.. nonce: ZN-bWo
+.. section: Library
+
+Weaken the condition of deprecation warnings for inline modifiers. Now
+allowed several subsequential inline modifiers at the start of the pattern
+(e.g. ``'(?i)(?s)...'``). In verbose mode whitespaces and comments now are
+allowed before and between inline modifiers (e.g. ``'(?x) (?i) (?s)...'``).
+
+..
+
+.. bpo: 30285
+.. date: 0299
+.. nonce: s1vpsO
+.. section: Library
+
+Optimized case-insensitive matching and searching of regular expressions.
+
+..
+
+.. bpo: 29990
+.. date: 0298
+.. nonce: HWV6KE
+.. section: Library
+
+Fix range checking in GB18030 decoder. Original patch by Ma Lin.
+
+..
+
+.. bpo: 29979
+.. date: 0297
+.. nonce: jGBMyE
+.. section: Library
+
+rewrite cgi.parse_multipart, reusing the FieldStorage class and making its
+results consistent with those of FieldStorage for multipart/form-data
+requests. Patch by Pierre Quentel.
+
+..
+
+.. bpo: 30243
+.. date: 0296
+.. nonce: RHQt0v
+.. section: Library
+
+Removed the __init__ methods of _json's scanner and encoder. Misusing them
+could cause memory leaks or crashes. Now scanner and encoder objects are
+completely initialized in the __new__ methods.
+
+..
+
+.. bpo: 30215
+.. date: 0295
+.. nonce: SY8738
+.. section: Library
+
+Compiled regular expression objects with the re.LOCALE flag no longer depend
+on the locale at compile time. Only the locale at matching time affects the
+result of matching.
+
+..
+
+.. bpo: 30185
+.. date: 0294
+.. nonce: Tiu1n8
+.. section: Library
+
+Avoid KeyboardInterrupt tracebacks in forkserver helper process when Ctrl-C
+is received.
+
+..
+
+.. bpo: 30103
+.. date: 0293
+.. nonce: mmPjf5
+.. section: Library
+
+binascii.b2a_uu() and uu.encode() now support using ``'`'`` as zero instead
+of space.
+
+..
+
+.. bpo: 28556
+.. date: 0292
+.. nonce: 51gjbP
+.. section: Library
+
+Various updates to typing module: add typing.NoReturn type, use
+WrapperDescriptorType, minor bug-fixes. Original PRs by Jim Fasarakis-
+Hilliard and Ivan Levkivskyi.
+
+..
+
+.. bpo: 30205
+.. date: 0291
+.. nonce: BsxO34
+.. section: Library
+
+Fix getsockname() for unbound AF_UNIX sockets on Linux.
+
+..
+
+.. bpo: 30228
+.. date: 0290
+.. nonce: nF8Ov4
+.. section: Library
+
+The seek() and tell() methods of io.FileIO now set the internal seekable
+attribute to avoid one syscall on open() (in buffered or text mode).
+
+..
+
+.. bpo: 30190
+.. date: 0289
+.. nonce: 5E7Hyb
+.. section: Library
+
+unittest's assertAlmostEqual and assertNotAlmostEqual provide a better
+message in case of failure which includes the difference between left and
+right arguments. (patch by Giampaolo Rodola')
+
+..
+
+.. bpo: 30101
+.. date: 0288
+.. nonce: hxUqSL
+.. section: Library
+
+Add support for curses.A_ITALIC.
+
+..
+
+.. bpo: 29822
+.. date: 0287
+.. nonce: G7dX13
+.. section: Library
+
+inspect.isabstract() now works during __init_subclass__. Patch by Nate
+Soares.
+
+..
+
+.. bpo: 29960
+.. date: 0286
+.. nonce: g0wr3r
+.. section: Library
+
+Preserve generator state when _random.Random.setstate() raises an exception.
+Patch by Bryan Olson.
+
+..
+
+.. bpo: 30070
+.. date: 0285
+.. nonce: XM_B41
+.. section: Library
+
+Fixed leaks and crashes in errors handling in the parser module.
+
+..
+
+.. bpo: 22352
+.. date: 0284
+.. nonce: gIQ5qC
+.. section: Library
+
+Column widths in the output of dis.dis() are now adjusted for large line
+numbers and instruction offsets.
+
+..
+
+.. bpo: 30061
+.. date: 0283
+.. nonce: 2w_dX9
+.. section: Library
+
+Fixed crashes in IOBase methods __next__() and readlines() when readline()
+or __next__() respectively return non-sizeable object. Fixed possible other
+errors caused by not checking results of PyObject_Size(), PySequence_Size(),
+or PyMapping_Size().
+
+..
+
+.. bpo: 30218
+.. date: 0282
+.. nonce: ab5oIg
+.. section: Library
+
+Fix PathLike support for shutil.unpack_archive. Patch by Jelle Zijlstra.
+
+..
+
+.. bpo: 10076
+.. date: 0281
+.. nonce: qCnwly
+.. section: Library
+
+Compiled regular expression and match objects in the re module now support
+copy.copy() and copy.deepcopy() (they are considered atomic).
+
+..
+
+.. bpo: 30068
+.. date: 0280
+.. nonce: n4q47r
+.. section: Library
+
+_io._IOBase.readlines will check if it's closed first when hint is present.
+
+..
+
+.. bpo: 29694
+.. date: 0279
+.. nonce: LWKxb1
+.. section: Library
+
+Fixed race condition in pathlib mkdir with flags parents=True. Patch by
+Armin Rigo.
+
+..
+
+.. bpo: 29692
+.. date: 0278
+.. nonce: oyWrAE
+.. section: Library
+
+Fixed arbitrary unchaining of RuntimeError exceptions in
+contextlib.contextmanager. Patch by Siddharth Velankar.
+
+..
+
+.. bpo: 26187
+.. date: 0277
+.. nonce: aViyiR
+.. section: Library
+
+Test that sqlite3 trace callback is not called multiple times when schema is
+changing. Indirectly fixed by switching to use sqlite3_prepare_v2() in
+bpo-9303. Patch by Aviv Palivoda.
+
+..
+
+.. bpo: 30017
+.. date: 0276
+.. nonce: cKBuhU
+.. section: Library
+
+Allowed calling the close() method of the zip entry writer object multiple
+times. Writing to a closed writer now always produces a ValueError.
+
+..
+
+.. bpo: 29998
+.. date: 0275
+.. nonce: poeIKD
+.. section: Library
+
+Pickling and copying ImportError now preserves name and path attributes.
+
+..
+
+.. bpo: 29995
+.. date: 0274
+.. nonce: b3mOqx
+.. section: Library
+
+re.escape() now escapes only regex special characters.
+
+..
+
+.. bpo: 29962
+.. date: 0273
+.. nonce: r-ibsN
+.. section: Library
+
+Add math.remainder operation, implementing remainder as specified in IEEE
+754.
+
+..
+
+.. bpo: 29649
+.. date: 0272
+.. nonce: 2eIxQ8
+.. section: Library
+
+Improve struct.pack_into() exception messages for problems with the buffer
+size and offset. Patch by Andrew Nester.
+
+..
+
+.. bpo: 29654
+.. date: 0271
+.. nonce: xRFPge
+.. section: Library
+
+Support If-Modified-Since HTTP header (browser cache). Patch by Pierre
+Quentel.
+
+..
+
+.. bpo: 29931
+.. date: 0270
+.. nonce: tfcTwK
+.. section: Library
+
+Fixed comparison check for ipaddress.ip_interface objects. Patch by Sanjay
+Sundaresan.
+
+..
+
+.. bpo: 29953
+.. date: 0269
+.. nonce: Q1hSt-
+.. section: Library
+
+Fixed memory leaks in the replace() method of datetime and time objects when
+pass out of bound fold argument.
+
+..
+
+.. bpo: 29942
+.. date: 0268
+.. nonce: CsGNuT
+.. section: Library
+
+Fix a crash in itertools.chain.from_iterable when encountering long runs of
+empty iterables.
+
+..
+
+.. bpo: 10030
+.. date: 0267
+.. nonce: ZdhU3k
+.. section: Library
+
+Sped up reading encrypted ZIP files by 2 times.
+
+..
+
+.. bpo: 29204
+.. date: 0266
+.. nonce: 8Hbqn2
+.. section: Library
+
+Element.getiterator() and the html parameter of XMLParser() were deprecated
+only in the documentation (since Python 3.2 and 3.4 correspondintly). Now
+using them emits a deprecation warning.
+
+..
+
+.. bpo: 27863
+.. date: 0265
+.. nonce: pPYHHI
+.. section: Library
+
+Fixed multiple crashes in ElementTree caused by race conditions and wrong
+types.
+
+..
+
+.. bpo: 25996
+.. date: 0264
+.. nonce: L2_giP
+.. section: Library
+
+Added support of file descriptors in os.scandir() on Unix. os.fwalk() is
+sped up by 2 times by using os.scandir().
+
+..
+
+.. bpo: 28699
+.. date: 0263
+.. nonce: wZztZP
+.. section: Library
+
+Fixed a bug in pools in multiprocessing.pool that raising an exception at
+the very first of an iterable may swallow the exception or make the program
+hang. Patch by Davin Potts and Xiang Zhang.
+
+..
+
+.. bpo: 23890
+.. date: 0262
+.. nonce: GCFAAZ
+.. section: Library
+
+unittest.TestCase.assertRaises() now manually breaks a reference cycle to
+not keep objects alive longer than expected.
+
+..
+
+.. bpo: 29901
+.. date: 0261
+.. nonce: QdgMvW
+.. section: Library
+
+The zipapp module now supports general path-like objects, not just
+pathlib.Path.
+
+..
+
+.. bpo: 25803
+.. date: 0260
+.. nonce: CPDR0W
+.. section: Library
+
+Avoid incorrect errors raised by Path.mkdir(exist_ok=True) when the OS gives
+priority to errors such as EACCES over EEXIST.
+
+..
+
+.. bpo: 29861
+.. date: 0259
+.. nonce: t2ZoRK
+.. section: Library
+
+Release references to tasks, their arguments and their results as soon as
+they are finished in multiprocessing.Pool.
+
+..
+
+.. bpo: 19930
+.. date: 0258
+.. nonce: QCjO6A
+.. section: Library
+
+The mode argument of os.makedirs() no longer affects the file permission
+bits of newly-created intermediate-level directories.
+
+..
+
+.. bpo: 29884
+.. date: 0257
+.. nonce: kWXR8W
+.. section: Library
+
+faulthandler: Restore the old sigaltstack during teardown. Patch by
+Christophe Zeitouny.
+
+..
+
+.. bpo: 25455
+.. date: 0256
+.. nonce: ZsahHN
+.. section: Library
+
+Fixed crashes in repr of recursive buffered file-like objects.
+
+..
+
+.. bpo: 29800
+.. date: 0255
+.. nonce: d2xASa
+.. section: Library
+
+Fix crashes in partial.__repr__ if the keys of partial.keywords are not
+strings. Patch by Michael Seifert.
+
+..
+
+.. bpo: 8256
+.. date: 0254
+.. nonce: jAwGQH
+.. section: Library
+
+Fixed possible failing or crashing input() if attributes "encoding" or
+"errors" of sys.stdin or sys.stdout are not set or are not strings.
+
+..
+
+.. bpo: 28692
+.. date: 0253
+.. nonce: CDt-Gb
+.. section: Library
+
+Using non-integer value for selecting a plural form in gettext is now
+deprecated.
+
+..
+
+.. bpo: 26121
+.. date: 0252
+.. nonce: LX-pQA
+.. section: Library
+
+Use C library implementation for math functions erf() and erfc().
+
+..
+
+.. bpo: 29619
+.. date: 0251
+.. nonce: WIGVxO
+.. section: Library
+
+os.stat() and os.DirEntry.inode() now convert inode (st_ino) using unsigned
+integers.
+
+..
+
+.. bpo: 28298
+.. date: 0250
+.. nonce: PNOPsT
+.. section: Library
+
+Fix a bug that prevented array 'Q', 'L' and 'I' from accepting big intables
+(objects that have __int__) as elements.
+
+..
+
+.. bpo: 29645
+.. date: 0249
+.. nonce: XCxTHM
+.. section: Library
+
+Speed up importing the webbrowser module. webbrowser.register() is now
+thread-safe.
+
+..
+
+.. bpo: 28231
+.. date: 0248
+.. nonce: MG1X09
+.. section: Library
+
+The zipfile module now accepts path-like objects for external paths.
+
+..
+
+.. bpo: 26915
+.. date: 0247
+.. nonce: qShJZO
+.. section: Library
+
+index() and count() methods of collections.abc.Sequence now check identity
+before checking equality when do comparisons.
+
+..
+
+.. bpo: 28682
+.. date: 0246
+.. nonce: hUxdej
+.. section: Library
+
+Added support for bytes paths in os.fwalk().
+
+..
+
+.. bpo: 29728
+.. date: 0245
+.. nonce: 37jMwb
+.. section: Library
+
+Add new :data:`socket.TCP_NOTSENT_LOWAT` (Linux 3.12) constant. Patch by
+Nathaniel J. Smith.
+
+..
+
+.. bpo: 29623
+.. date: 0244
+.. nonce: D3-NP2
+.. section: Library
+
+Allow use of path-like object as a single argument in ConfigParser.read().
+Patch by David Ellis.
+
+..
+
+.. bpo: 9303
+.. date: 0243
+.. nonce: kDZRSd
+.. section: Library
+
+Migrate sqlite3 module to _v2 API. Patch by Aviv Palivoda.
+
+..
+
+.. bpo: 28963
+.. date: 0242
+.. nonce: tPl8dq
+.. section: Library
+
+Fix out of bound iteration in asyncio.Future.remove_done_callback
+implemented in C.
+
+..
+
+.. bpo: 29704
+.. date: 0241
+.. nonce: WHbx27
+.. section: Library
+
+asyncio.subprocess.SubprocessStreamProtocol no longer closes before all
+pipes are closed.
+
+..
+
+.. bpo: 29271
+.. date: 0240
+.. nonce: y8Vj2v
+.. section: Library
+
+Fix Task.current_task and Task.all_tasks implemented in C to accept None
+argument as their pure Python implementation.
+
+..
+
+.. bpo: 29703
+.. date: 0239
+.. nonce: ZdsPCR
+.. section: Library
+
+Fix asyncio to support instantiation of new event loops in child processes.
+
+..
+
+.. bpo: 29615
+.. date: 0238
+.. nonce: OpFKzg
+.. section: Library
+
+SimpleXMLRPCDispatcher no longer chains KeyError (or any other exception) to
+exception(s) raised in the dispatched methods. Patch by Petr Motejlek.
+
+..
+
+.. bpo: 7769
+.. date: 0237
+.. nonce: xGRJWh
+.. section: Library
+
+Method register_function() of xmlrpc.server.SimpleXMLRPCDispatcher and its
+subclasses can now be used as a decorator.
+
+..
+
+.. bpo: 29376
+.. date: 0236
+.. nonce: rrJhJy
+.. section: Library
+
+Fix assertion error in threading._DummyThread.is_alive().
+
+..
+
+.. bpo: 28624
+.. date: 0235
+.. nonce: 43TJib
+.. section: Library
+
+Add a test that checks that cwd parameter of Popen() accepts PathLike
+objects. Patch by Sayan Chowdhury.
+
+..
+
+.. bpo: 28518
+.. date: 0234
+.. nonce: o-Q2Nw
+.. section: Library
+
+Start a transaction implicitly before a DML statement. Patch by Aviv
+Palivoda.
+
+..
+
+.. bpo: 29742
+.. date: 0233
+.. nonce: 8hqfEO
+.. section: Library
+
+get_extra_info() raises exception if get called on closed ssl transport.
+Patch by Nikolay Kim.
+
+..
+
+.. bpo: 16285
+.. date: 0232
+.. nonce: 4f5gbp
+.. section: Library
+
+urrlib.parse.quote is now based on RFC 3986 and hence includes '~' in the
+set of characters that is not quoted by default. Patch by Christian Theune
+and Ratnadeep Debnath.
+
+..
+
+.. bpo: 29532
+.. date: 0231
+.. nonce: YCwVQn
+.. section: Library
+
+Altering a kwarg dictionary passed to functools.partial() no longer affects
+a partial object after creation.
+
+..
+
+.. bpo: 29110
+.. date: 0230
+.. nonce: wmE-_T
+.. section: Library
+
+Fix file object leak in aifc.open() when file is given as a filesystem path
+and is not in valid AIFF format. Patch by Anthony Zhang.
+
+..
+
+.. bpo: 22807
+.. date: 0229
+.. nonce: VmoSkZ
+.. section: Library
+
+Add uuid.SafeUUID and uuid.UUID.is_safe to relay information from the
+platform about whether generated UUIDs are generated with a multiprocessing
+safe method.
+
+..
+
+.. bpo: 29576
+.. date: 0228
+.. nonce: F-b8_5
+.. section: Library
+
+Improve some deprecations in importlib. Some deprecated methods now emit
+DeprecationWarnings and have better descriptive messages.
+
+..
+
+.. bpo: 29534
+.. date: 0227
+.. nonce: Ug3HPU
+.. section: Library
+
+Fixed different behaviour of Decimal.from_float() for _decimal and
+_pydecimal. Thanks Andrew Nester.
+
+..
+
+.. bpo: 10379
+.. date: 0226
+.. nonce: mRlZsT
+.. section: Library
+
+locale.format_string now supports the 'monetary' keyword argument, and
+locale.format is deprecated.
+
+..
+
+.. bpo: 29851
+.. date: 0225
+.. nonce: jqs_5s
+.. section: Library
+
+importlib.reload() now raises ModuleNotFoundError if the module lacks a
+spec.
+
+..
+
+.. bpo: 28556
+.. date: 0224
+.. nonce: p6967e
+.. section: Library
+
+Various updates to typing module: typing.Counter, typing.ChainMap, improved
+ABC caching, etc. Original PRs by Jelle Zijlstra, Ivan Levkivskyi, Manuel
+Krebber, and Łukasz Langa.
+
+..
+
+.. bpo: 29100
+.. date: 0223
+.. nonce: LAAERS
+.. section: Library
+
+Fix datetime.fromtimestamp() regression introduced in Python 3.6.0: check
+minimum and maximum years.
+
+..
+
+.. bpo: 29416
+.. date: 0222
+.. nonce: KJGyI_
+.. section: Library
+
+Prevent infinite loop in pathlib.Path.mkdir
+
+..
+
+.. bpo: 29444
+.. date: 0221
+.. nonce: cEwgmk
+.. section: Library
+
+Fixed out-of-bounds buffer access in the group() method of the match object.
+Based on patch by WGH.
+
+..
+
+.. bpo: 29377
+.. date: 0220
+.. nonce: 4AvSrC
+.. section: Library
+
+Add WrapperDescriptorType, MethodWrapperType, and MethodDescriptorType
+built-in types to types module. Original patch by Manuel Krebber.
+
+..
+
+.. bpo: 29218
+.. date: 0219
+.. nonce: -Qoti0
+.. section: Library
+
+Unused install_misc command is now removed. It has been documented as
+unused since 2000. Patch by Eric N. Vander Weele.
+
+..
+
+.. bpo: 29368
+.. date: 0218
+.. nonce: nTtA_V
+.. section: Library
+
+The extend() method is now called instead of the append() method when
+unpickle collections.deque and other list-like objects. This can speed up
+unpickling to 2 times.
+
+..
+
+.. bpo: 29338
+.. date: 0217
+.. nonce: EpvQJl
+.. section: Library
+
+The help of a builtin or extension class now includes the constructor
+signature if __text_signature__ is provided for the class.
+
+..
+
+.. bpo: 29335
+.. date: 0216
+.. nonce: _KC7IK
+.. section: Library
+
+Fix subprocess.Popen.wait() when the child process has exited to a stopped
+instead of terminated state (ex: when under ptrace).
+
+..
+
+.. bpo: 29290
+.. date: 0215
+.. nonce: XBqptF
+.. section: Library
+
+Fix a regression in argparse that help messages would wrap at non-breaking
+spaces.
+
+..
+
+.. bpo: 28735
+.. date: 0214
+.. nonce: admHLO
+.. section: Library
+
+Fixed the comparison of mock.MagickMock with mock.ANY.
+
+..
+
+.. bpo: 29197
+.. date: 0213
+.. nonce: sZssFZ
+.. section: Library
+
+Removed deprecated function ntpath.splitunc().
+
+..
+
+.. bpo: 29210
+.. date: 0212
+.. nonce: y1UHWf
+.. section: Library
+
+Removed support of deprecated argument "exclude" in tarfile.TarFile.add().
+
+..
+
+.. bpo: 29219
+.. date: 0211
+.. nonce: kxui7t
+.. section: Library
+
+Fixed infinite recursion in the repr of uninitialized ctypes.CDLL instances.
+
+..
+
+.. bpo: 29192
+.. date: 0210
+.. nonce: mY31H8
+.. section: Library
+
+Removed deprecated features in the http.cookies module.
+
+..
+
+.. bpo: 29193
+.. date: 0209
+.. nonce: CgcjEx
+.. section: Library
+
+A format string argument for string.Formatter.format() is now positional-
+only.
+
+..
+
+.. bpo: 29195
+.. date: 0208
+.. nonce: vK5LjU
+.. section: Library
+
+Removed support of deprecated undocumented keyword arguments in methods of
+regular expression objects.
+
+..
+
+.. bpo: 28969
+.. date: 0207
+.. nonce: j3HJYO
+.. section: Library
+
+Fixed race condition in C implementation of functools.lru_cache. KeyError
+could be raised when cached function with full cache was simultaneously
+called from differen threads with the same uncached arguments.
+
+..
+
+.. bpo: 20804
+.. date: 0206
+.. nonce: XyZhvi
+.. section: Library
+
+The unittest.mock.sentinel attributes now preserve their identity when they
+are copied or pickled.
+
+..
+
+.. bpo: 29142
+.. date: 0205
+.. nonce: xo6kAv
+.. section: Library
+
+In urllib.request, suffixes in no_proxy environment variable with leading
+dots could match related hostnames again (e.g. .b.c matches a.b.c). Patch by
+Milan Oberkirch.
+
+..
+
+.. bpo: 28961
+.. date: 0204
+.. nonce: Rt93vg
+.. section: Library
+
+Fix unittest.mock._Call helper: don't ignore the name parameter anymore.
+Patch written by Jiajun Huang.
+
+..
+
+.. bpo: 15812
+.. date: 0203
+.. nonce: R1U-Ec
+.. section: Library
+
+inspect.getframeinfo() now correctly shows the first line of a context.
+Patch by Sam Breese.
+
+..
+
+.. bpo: 28985
+.. date: 0202
+.. nonce: TMWJFg
+.. section: Library
+
+Update authorizer constants in sqlite3 module. Patch by Dingyuan Wang.
+
+..
+
+.. bpo: 29079
+.. date: 0201
+.. nonce: g4YLix
+.. section: Library
+
+Prevent infinite loop in pathlib.resolve() on Windows
+
+..
+
+.. bpo: 13051
+.. date: 0200
+.. nonce: YzC1Te
+.. section: Library
+
+Fixed recursion errors in large or resized curses.textpad.Textbox. Based on
+patch by Tycho Andersen.
+
+..
+
+.. bpo: 9770
+.. date: 0199
+.. nonce: WJJnwP
+.. section: Library
+
+curses.ascii predicates now work correctly with negative integers.
+
+..
+
+.. bpo: 28427
+.. date: 0198
+.. nonce: vUd-va
+.. section: Library
+
+old keys should not remove new values from WeakValueDictionary when
+collecting from another thread.
+
+..
+
+.. bpo: 28923
+.. date: 0197
+.. nonce: naVULD
+.. section: Library
+
+Remove editor artifacts from Tix.py.
+
+..
+
+.. bpo: 28871
+.. date: 0196
+.. nonce: cPMXCJ
+.. section: Library
+
+Fixed a crash when deallocate deep ElementTree.
+
+..
+
+.. bpo: 19542
+.. date: 0195
+.. nonce: 5tCkaK
+.. section: Library
+
+Fix bugs in WeakValueDictionary.setdefault() and WeakValueDictionary.pop()
+when a GC collection happens in another thread.
+
+..
+
+.. bpo: 20191
+.. date: 0194
+.. nonce: Q7uZCS
+.. section: Library
+
+Fixed a crash in resource.prlimit() when passing a sequence that doesn't own
+its elements as limits.
+
+..
+
+.. bpo: 16255
+.. date: 0193
+.. nonce: p2YA85
+.. section: Library
+
+subprocess.Popen uses /system/bin/sh on Android as the shell, instead of
+/bin/sh.
+
+..
+
+.. bpo: 28779
+.. date: 0192
+.. nonce: t-mjED
+.. section: Library
+
+multiprocessing.set_forkserver_preload() would crash the forkserver process
+if a preloaded module instantiated some multiprocessing objects such as
+locks.
+
+..
+
+.. bpo: 26937
+.. date: 0191
+.. nonce: c9kgiA
+.. section: Library
+
+The chown() method of the tarfile.TarFile class does not fail now when the
+grp module cannot be imported, as for example on Android platforms.
+
+..
+
+.. bpo: 28847
+.. date: 0190
+.. nonce: GiWd9w
+.. section: Library
+
+dbm.dumb now supports reading read-only files and no longer writes the index
+file when it is not changed. A deprecation warning is now emitted if the
+index file is missed and recreated in the 'r' and 'w' modes (will be an
+error in future Python releases).
+
+..
+
+.. bpo: 27030
+.. date: 0189
+.. nonce: GoGlFH
+.. section: Library
+
+Unknown escapes consisting of ``'\'`` and an ASCII letter in re.sub()
+replacement templates regular expressions now are errors.
+
+..
+
+.. bpo: 28835
+.. date: 0188
+.. nonce: iWBYH7
+.. section: Library
+
+Fix a regression introduced in warnings.catch_warnings(): call
+warnings.showwarning() if it was overridden inside the context manager.
+
+..
+
+.. bpo: 27172
+.. date: 0187
+.. nonce: mVKfLT
+.. section: Library
+
+To assist with upgrades from 2.7, the previously documented deprecation of
+``inspect.getfullargspec()`` has been reversed. This decision may be
+revisited again after the Python 2.7 branch is no longer officially
+supported.
+
+..
+
+.. bpo: 28740
+.. date: 0186
+.. nonce: rY8kz-
+.. section: Library
+
+Add sys.getandroidapilevel(): return the build time API version of Android
+as an integer. Function only available on Android.
+
+..
+
+.. bpo: 26273
+.. date: 0185
+.. nonce: ilNIWN
+.. section: Library
+
+Add new :data:`socket.TCP_CONGESTION` (Linux 2.6.13) and
+:data:`socket.TCP_USER_TIMEOUT` (Linux 2.6.37) constants. Patch written by
+Omar Sandoval.
+
+..
+
+.. bpo: 28752
+.. date: 0184
+.. nonce: Q-4oRE
+.. section: Library
+
+Restored the __reduce__() methods of datetime objects.
+
+..
+
+.. bpo: 28727
+.. date: 0183
+.. nonce: ubZP_b
+.. section: Library
+
+Regular expression patterns, _sre.SRE_Pattern objects created by
+re.compile(), become comparable (only x==y and x!=y operators). This change
+should fix the issue #18383: don't duplicate warning filters when the
+warnings module is reloaded (thing usually only done in unit tests).
+
+..
+
+.. bpo: 20572
+.. date: 0182
+.. nonce: NCRmvz
+.. section: Library
+
+Remove the subprocess.Popen.wait endtime parameter. It was deprecated in
+3.4 and undocumented prior to that.
+
+..
+
+.. bpo: 25659
+.. date: 0181
+.. nonce: lE2IlT
+.. section: Library
+
+In ctypes, prevent a crash calling the from_buffer() and from_buffer_copy()
+methods on abstract classes like Array.
+
+..
+
+.. bpo: 28548
+.. date: 0180
+.. nonce: IeNrnG
+.. section: Library
+
+In the "http.server" module, parse the protocol version if possible, to
+avoid using HTTP 0.9 in some error responses.
+
+..
+
+.. bpo: 19717
+.. date: 0179
+.. nonce: HXCAIz
+.. section: Library
+
+Makes Path.resolve() succeed on paths that do not exist. Patch by Vajrasky
+Kok
+
+..
+
+.. bpo: 28563
+.. date: 0178
+.. nonce: iweEiw
+.. section: Library
+
+Fixed possible DoS and arbitrary code execution when handle plural form
+selections in the gettext module. The expression parser now supports exact
+syntax supported by GNU gettext.
+
+..
+
+.. bpo: 28387
+.. date: 0177
+.. nonce: 1clJu7
+.. section: Library
+
+Fixed possible crash in _io.TextIOWrapper deallocator when the garbage
+collector is invoked in other thread. Based on patch by Sebastian Cufre.
+
+..
+
+.. bpo: 27517
+.. date: 0176
+.. nonce: 1CYM8A
+.. section: Library
+
+LZMA compressor and decompressor no longer raise exceptions if given empty
+data twice. Patch by Benjamin Fogle.
+
+..
+
+.. bpo: 28549
+.. date: 0175
+.. nonce: ShnM2y
+.. section: Library
+
+Fixed segfault in curses's addch() with ncurses6.
+
+..
+
+.. bpo: 28449
+.. date: 0174
+.. nonce: 5JK6ES
+.. section: Library
+
+tarfile.open() with mode "r" or "r:" now tries to open a tar file with
+compression before trying to open it without compression. Otherwise it had
+50% chance failed with ignore_zeros=True.
+
+..
+
+.. bpo: 23262
+.. date: 0173
+.. nonce: 6EVB7N
+.. section: Library
+
+The webbrowser module now supports Firefox 36+ and derived browsers. Based
+on patch by Oleg Broytman.
+
+..
+
+.. bpo: 24241
+.. date: 0172
+.. nonce: y7N12p
+.. section: Library
+
+The webbrowser in an X environment now prefers using the default browser
+directly. Also, the webbrowser register() function now has a documented
+'preferred' argument, to specify browsers to be returned by get() with no
+arguments. Patch by David Steele
+
+..
+
+.. bpo: 27939
+.. date: 0171
+.. nonce: mTfADV
+.. section: Library
+
+Fixed bugs in tkinter.ttk.LabeledScale and tkinter.Scale caused by
+representing the scale as float value internally in Tk. tkinter.IntVar now
+works if float value is set to underlying Tk variable.
+
+..
+
+.. bpo: 28255
+.. date: 0170
+.. nonce: G3iOPm
+.. section: Library
+
+calendar.TextCalendar.prweek() no longer prints a space after a weeks's
+calendar. calendar.TextCalendar.pryear() no longer prints redundant newline
+after a year's calendar. Based on patch by Xiang Zhang.
+
+..
+
+.. bpo: 28255
+.. date: 0169
+.. nonce: fHNZu0
+.. section: Library
+
+calendar.TextCalendar.prmonth() no longer prints a space at the start of new
+line after printing a month's calendar. Patch by Xiang Zhang.
+
+..
+
+.. bpo: 20491
+.. date: 0168
+.. nonce: ObgnQ2
+.. section: Library
+
+The textwrap.TextWrapper class now honors non-breaking spaces. Based on
+patch by Kaarle Ritvanen.
+
+..
+
+.. bpo: 28353
+.. date: 0167
+.. nonce: sKGbLL
+.. section: Library
+
+os.fwalk() no longer fails on broken links.
+
+..
+
+.. bpo: 28430
+.. date: 0166
+.. nonce: 4MiEYT
+.. section: Library
+
+Fix iterator of C implemented asyncio.Future doesn't accept non-None value
+is passed to it.send(val).
+
+..
+
+.. bpo: 27025
+.. date: 0165
+.. nonce: foAViS
+.. section: Library
+
+Generated names for Tkinter widgets now start by the "!" prefix for
+readability.
+
+..
+
+.. bpo: 25464
+.. date: 0164
+.. nonce: HDUTCu
+.. section: Library
+
+Fixed HList.header_exists() in tkinter.tix module by addin a workaround to
+Tix library bug.
+
+..
+
+.. bpo: 28488
+.. date: 0163
+.. nonce: TgO112
+.. section: Library
+
+shutil.make_archive() no longer adds entry "./" to ZIP archive.
+
+..
+
+.. bpo: 25953
+.. date: 0162
+.. nonce: EKKJAQ
+.. section: Library
+
+re.sub() now raises an error for invalid numerical group reference in
+replacement template even if the pattern is not found in the string. Error
+message for invalid group reference now includes the group index and the
+position of the reference. Based on patch by SilentGhost.
+
+..
+
+.. bpo: 28469
+.. date: 0161
+.. nonce: QZW1Np
+.. section: Library
+
+timeit now uses the sequence 1, 2, 5, 10, 20, 50,... instead of 1, 10,
+100,... for autoranging.
+
+..
+
+.. bpo: 28115
+.. date: 0160
+.. nonce: 4FIjIE
+.. section: Library
+
+Command-line interface of the zipfile module now uses argparse. Added
+support of long options.
+
+..
+
+.. bpo: 18219
+.. date: 0159
+.. nonce: 1ANQN1
+.. section: Library
+
+Optimize csv.DictWriter for large number of columns. Patch by Mariatta
+Wijaya.
+
+..
+
+.. bpo: 28448
+.. date: 0158
+.. nonce: 5bduWe
+.. section: Library
+
+Fix C implemented asyncio.Future didn't work on Windows.
+
+..
+
+.. bpo: 23214
+.. date: 0157
+.. nonce: -4Q5Z7
+.. section: Library
+
+In the "io" module, the argument to BufferedReader and BytesIO's read1()
+methods is now optional and can be -1, matching the BufferedIOBase
+specification.
+
+..
+
+.. bpo: 28480
+.. date: 0156
+.. nonce: 9lHw6m
+.. section: Library
+
+Fix error building socket module when multithreading is disabled.
+
+..
+
+.. bpo: 28240
+.. date: 0155
+.. nonce: hqzQvS
+.. section: Library
+
+timeit: remove ``-c/--clock`` and ``-t/--time`` command line options which
+were deprecated since Python 3.3.
+
+..
+
+.. bpo: 28240
+.. date: 0154
+.. nonce: IwQMgd
+.. section: Library
+
+timeit now repeats the benchmarks 5 times instead of only 3 to make
+benchmarks more reliable.
+
+..
+
+.. bpo: 28240
+.. date: 0153
+.. nonce: cXljq-
+.. section: Library
+
+timeit autorange now uses a single loop iteration if the benchmark takes
+less than 10 seconds, instead of 10 iterations. "python3 -m timeit -s
+'import time' 'time.sleep(1)'" now takes 4 seconds instead of 40 seconds.
+
+..
+
+.. bpo: 0
+.. date: 0152
+.. nonce: 5Y0ngw
+.. section: Library
+
+Distutils.sdist now looks for README and setup.py files with case
+sensitivity. This behavior matches that found in Setuptools 6.0 and later.
+See `setuptools 100 <https://github.com/pypa/setuptools/issues/100>`_ for
+rationale.
+
+..
+
+.. bpo: 24452
+.. date: 0151
+.. nonce: pVsjt0
+.. section: Library
+
+Make webbrowser support Chrome on Mac OS X. Patch by Ned Batchelder.
+
+..
+
+.. bpo: 20766
+.. date: 0150
+.. nonce: 4kvCzx
+.. section: Library
+
+Fix references leaked by pdb in the handling of SIGINT handlers.
+
+..
+
+.. bpo: 27998
+.. date: 0149
+.. nonce: CPhy4H
+.. section: Library
+
+Fixed bytes path support in os.scandir() on Windows. Patch by Eryk Sun.
+
+..
+
+.. bpo: 28317
+.. date: 0148
+.. nonce: LgHleA
+.. section: Library
+
+The disassembler now decodes FORMAT_VALUE argument.
+
+..
+
+.. bpo: 28380
+.. date: 0147
+.. nonce: jKPMzH
+.. section: Library
+
+unittest.mock Mock autospec functions now properly support assert_called,
+assert_not_called, and assert_called_once.
+
+..
+
+.. bpo: 28229
+.. date: 0146
+.. nonce: BKAxcS
+.. section: Library
+
+lzma module now supports pathlib.
+
+..
+
+.. bpo: 28321
+.. date: 0145
+.. nonce: bQ-IIX
+.. section: Library
+
+Fixed writing non-BMP characters with binary format in plistlib.
+
+..
+
+.. bpo: 28225
+.. date: 0144
+.. nonce: 6N28nu
+.. section: Library
+
+bz2 module now supports pathlib. Initial patch by Ethan Furman.
+
+..
+
+.. bpo: 28227
+.. date: 0143
+.. nonce: 7lUz8i
+.. section: Library
+
+gzip now supports pathlib. Patch by Ethan Furman.
+
+..
+
+.. bpo: 28332
+.. date: 0142
+.. nonce: Ed8fNk
+.. section: Library
+
+Deprecated silent truncations in socket.htons and socket.ntohs. Original
+patch by Oren Milman.
+
+..
+
+.. bpo: 27358
+.. date: 0141
+.. nonce: t288Iv
+.. section: Library
+
+Optimized merging var-keyword arguments and improved error message when
+passing a non-mapping as a var-keyword argument.
+
+..
+
+.. bpo: 28257
+.. date: 0140
+.. nonce: SVD_IH
+.. section: Library
+
+Improved error message when passing a non-iterable as a var-positional
+argument. Added opcode BUILD_TUPLE_UNPACK_WITH_CALL.
+
+..
+
+.. bpo: 28322
+.. date: 0139
+.. nonce: l9hzap
+.. section: Library
+
+Fixed possible crashes when unpickle itertools objects from incorrect pickle
+data. Based on patch by John Leitch.
+
+..
+
+.. bpo: 28228
+.. date: 0138
+.. nonce: 1qBwdM
+.. section: Library
+
+imghdr now supports pathlib.
+
+..
+
+.. bpo: 28226
+.. date: 0137
+.. nonce: nMXiwU
+.. section: Library
+
+compileall now supports pathlib.
+
+..
+
+.. bpo: 28314
+.. date: 0136
+.. nonce: N7YrkN
+.. section: Library
+
+Fix function declaration (C flags) for the getiterator() method of
+xml.etree.ElementTree.Element.
+
+..
+
+.. bpo: 28148
+.. date: 0135
+.. nonce: Flzndx
+.. section: Library
+
+Stop using localtime() and gmtime() in the time module.
+
+Introduced platform independent _PyTime_localtime API that is similar to
+POSIX localtime_r, but available on all platforms. Patch by Ed Schouten.
+
+..
+
+.. bpo: 28253
+.. date: 0134
+.. nonce: aLfmhe
+.. section: Library
+
+Fixed calendar functions for extreme months: 0001-01 and 9999-12.
+
+Methods itermonthdays() and itermonthdays2() are reimplemented so that they
+don't call itermonthdates() which can cause datetime.date under/overflow.
+
+..
+
+.. bpo: 28275
+.. date: 0133
+.. nonce: EhWIsz
+.. section: Library
+
+Fixed possible use after free in the decompress() methods of the
+LZMADecompressor and BZ2Decompressor classes. Original patch by John Leitch.
+
+..
+
+.. bpo: 27897
+.. date: 0132
+.. nonce: I0Ppmx
+.. section: Library
+
+Fixed possible crash in sqlite3.Connection.create_collation() if pass
+invalid string-like object as a name. Patch by Xiang Zhang.
+
+..
+
+.. bpo: 18844
+.. date: 0131
+.. nonce: fQsEdn
+.. section: Library
+
+random.choices() now has k as a keyword-only argument to improve the
+readability of common cases and come into line with the signature used in
+other languages.
+
+..
+
+.. bpo: 18893
+.. date: 0130
+.. nonce: osiX5c
+.. section: Library
+
+Fix invalid exception handling in Lib/ctypes/macholib/dyld.py. Patch by
+Madison May.
+
+..
+
+.. bpo: 27611
+.. date: 0129
+.. nonce: A_ArH_
+.. section: Library
+
+Fixed support of default root window in the tkinter.tix module. Added the
+master parameter in the DisplayStyle constructor.
+
+..
+
+.. bpo: 27348
+.. date: 0128
+.. nonce: tDx7Vw
+.. section: Library
+
+In the traceback module, restore the formatting of exception messages like
+"Exception: None". This fixes a regression introduced in 3.5a2.
+
+..
+
+.. bpo: 25651
+.. date: 0127
+.. nonce: 3UhyPo
+.. section: Library
+
+Allow falsy values to be used for msg parameter of subTest().
+
+..
+
+.. bpo: 27778
+.. date: 0126
+.. nonce: Yyo1aP
+.. section: Library
+
+Fix a memory leak in os.getrandom() when the getrandom() is interrupted by a
+signal and a signal handler raises a Python exception.
+
+..
+
+.. bpo: 28200
+.. date: 0125
+.. nonce: 4IEbr7
+.. section: Library
+
+Fix memory leak on Windows in the os module (fix path_converter() function).
+
+..
+
+.. bpo: 25400
+.. date: 0124
+.. nonce: d9Qn0E
+.. section: Library
+
+RobotFileParser now correctly returns default values for crawl_delay and
+request_rate. Initial patch by Peter Wirtz.
+
+..
+
+.. bpo: 27932
+.. date: 0123
+.. nonce: mtgl-6
+.. section: Library
+
+Prevent memory leak in win32_ver().
+
+..
+
+.. bpo: 0
+.. date: 0122
+.. nonce: iPpjqX
+.. section: Library
+
+Fix UnboundLocalError in socket._sendfile_use_sendfile.
+
+..
+
+.. bpo: 28075
+.. date: 0121
+.. nonce: aLiUs9
+.. section: Library
+
+Check for ERROR_ACCESS_DENIED in Windows implementation of os.stat(). Patch
+by Eryk Sun.
+
+..
+
+.. bpo: 22493
+.. date: 0120
+.. nonce: Mv_hZf
+.. section: Library
+
+Warning message emitted by using inline flags in the middle of regular
+expression now contains a (truncated) regex pattern. Patch by Tim Graham.
+
+..
+
+.. bpo: 25270
+.. date: 0119
+.. nonce: jrZruM
+.. section: Library
+
+Prevent codecs.escape_encode() from raising SystemError when an empty
+bytestring is passed.
+
+..
+
+.. bpo: 28181
+.. date: 0118
+.. nonce: NGc4Yv
+.. section: Library
+
+Get antigravity over HTTPS. Patch by Kaartic Sivaraam.
+
+..
+
+.. bpo: 25895
+.. date: 0117
+.. nonce: j92qoQ
+.. section: Library
+
+Enable WebSocket URL schemes in urllib.parse.urljoin. Patch by Gergely Imreh
+and Markus Holtermann.
+
+..
+
+.. bpo: 28114
+.. date: 0116
+.. nonce: gmFXsA
+.. section: Library
+
+Fix a crash in parse_envlist() when env contains byte strings. Patch by Eryk
+Sun.
+
+..
+
+.. bpo: 27599
+.. date: 0115
+.. nonce: itvm8T
+.. section: Library
+
+Fixed buffer overrun in binascii.b2a_qp() and binascii.a2b_qp().
+
+..
+
+.. bpo: 27906
+.. date: 0114
+.. nonce: TBBXrv
+.. section: Library
+
+Fix socket accept exhaustion during high TCP traffic. Patch by Kevin Conway.
+
+..
+
+.. bpo: 28174
+.. date: 0113
+.. nonce: CV1UdI
+.. section: Library
+
+Handle when SO_REUSEPORT isn't properly supported. Patch by Seth Michael
+Larson.
+
+..
+
+.. bpo: 26654
+.. date: 0112
+.. nonce: XtzTE9
+.. section: Library
+
+Inspect functools.partial in asyncio.Handle.__repr__. Patch by iceboy.
+
+..
+
+.. bpo: 26909
+.. date: 0111
+.. nonce: ASiakT
+.. section: Library
+
+Fix slow pipes IO in asyncio. Patch by INADA Naoki.
+
+..
+
+.. bpo: 28176
+.. date: 0110
+.. nonce: sU8R6L
+.. section: Library
+
+Fix callbacks race in asyncio.SelectorLoop.sock_connect.
+
+..
+
+.. bpo: 27759
+.. date: 0109
+.. nonce: qpMDGq
+.. section: Library
+
+Fix selectors incorrectly retain invalid file descriptors. Patch by Mark
+Williams.
+
+..
+
+.. bpo: 28325
+.. date: 0108
+.. nonce: wAHmnK
+.. section: Library
+
+Remove vestigial MacOS 9 macurl2path module and its tests.
+
+..
+
+.. bpo: 28368
+.. date: 0107
+.. nonce: n594X4
+.. section: Library
+
+Refuse monitoring processes if the child watcher has no loop attached. Patch
+by Vincent Michel.
+
+..
+
+.. bpo: 28369
+.. date: 0106
+.. nonce: 8DTANe
+.. section: Library
+
+Raise RuntimeError when transport's FD is used with add_reader, add_writer,
+etc.
+
+..
+
+.. bpo: 28370
+.. date: 0105
+.. nonce: 18jBuZ
+.. section: Library
+
+Speedup asyncio.StreamReader.readexactly. Patch by Коренберг Марк.
+
+..
+
+.. bpo: 28371
+.. date: 0104
+.. nonce: U9Zqdk
+.. section: Library
+
+Deprecate passing asyncio.Handles to run_in_executor.
+
+..
+
+.. bpo: 28372
+.. date: 0103
+.. nonce: njcIPk
+.. section: Library
+
+Fix asyncio to support formatting of non-python coroutines.
+
+..
+
+.. bpo: 28399
+.. date: 0102
+.. nonce: QKIqRX
+.. section: Library
+
+Remove UNIX socket from FS before binding. Patch by Коренберг Марк.
+
+..
+
+.. bpo: 27972
+.. date: 0101
+.. nonce: ZK-GFm
+.. section: Library
+
+Prohibit Tasks to await on themselves.
+
+..
+
+.. bpo: 24142
+.. date: 0100
+.. nonce: IrZnFs
+.. section: Library
+
+Reading a corrupt config file left configparser in an invalid state.
+Original patch by Florian Höch.
+
+..
+
+.. bpo: 29581
+.. date: 0099
+.. nonce: gHCrxP
+.. section: Library
+
+ABCMeta.__new__ now accepts ``**kwargs``, allowing abstract base classes to
+use keyword parameters in __init_subclass__. Patch by Nate Soares.
+
+..
+
+.. bpo: 25532
+.. date: 0098
+.. nonce: ey4Yez
+.. section: Library
+
+inspect.unwrap() will now only try to unwrap an object
+sys.getrecursionlimit() times, to protect against objects which create a new
+object on every attribute access.
+
+..
+
+.. bpo: 30177
+.. date: 0097
+.. nonce: JGIJNL
+.. section: Library
+
+path.resolve(strict=False) no longer cuts the path after the first element
+not present in the filesystem. Patch by Antoine Pietri.
+
+..
+
+.. bpo: 31294
+.. date: 2017-09-07-20-49-09
+.. nonce: WgI18w
+.. section: Documentation
+
+Fix incomplete code snippet in the ZeroMQSocketListener and
+ZeroMQSocketHandler examples and adapt them to Python 3.
+
+..
+
+.. bpo: 21649
+.. date: 2017-09-06-10-11-57
+.. nonce: EUvqA9
+.. section: Documentation
+
+Add RFC 7525 and Mozilla server side TLS links to SSL documentation.
+
+..
+
+.. bpo: 31128
+.. date: 2017-08-31
+.. nonce: uoa3cr
+.. section: Documentation
+
+Allow the pydoc server to bind to arbitrary hostnames.
+
+..
+
+.. bpo: 30803
+.. date: 2017-07-29-14-55-50
+.. nonce: 6hutqQ
+.. section: Documentation
+
+Clarify doc on truth value testing. Original patch by Peter Thomassen.
+
+..
+
+.. bpo: 30176
+.. date: 0060
+.. nonce: VivmCg
+.. section: Documentation
+
+Add missing attribute related constants in curses documentation.
+
+..
+
+.. bpo: 30052
+.. date: 0059
+.. nonce: TpmpaF
+.. section: Documentation
+
+the link targets for :func:`bytes` and :func:`bytearray` are now their
+respective type definitions, rather than the corresponding builtin function
+entries. Use :ref:`bytes <func-bytes>` and :ref:`bytearray <func-bytearray>`
+to reference the latter.
+
+In order to ensure this and future cross-reference updates are applied
+automatically, the daily documentation builds now disable the default output
+caching features in Sphinx.
+
+..
+
+.. bpo: 26985
+.. date: 0058
+.. nonce: NB5_9S
+.. section: Documentation
+
+Add missing info of code object in inspect documentation.
+
+..
+
+.. bpo: 19824
+.. date: 0057
+.. nonce: We9an6
+.. section: Documentation
+
+Improve the documentation for, and links to, template strings by emphasizing
+their utility for internationalization, and by clarifying some usage
+constraints. (See also: bpo-20314, bpo-12518)
+
+..
+
+.. bpo: 28929
+.. date: 0056
+.. nonce: Md7kb0
+.. section: Documentation
+
+Link the documentation to its source file on GitHub.
+
+..
+
+.. bpo: 25008
+.. date: 0055
+.. nonce: CeIzyU
+.. section: Documentation
+
+Document smtpd.py as effectively deprecated and add a pointer to aiosmtpd, a
+third-party asyncio-based replacement.
+
+..
+
+.. bpo: 26355
+.. date: 0054
+.. nonce: SDq_8Y
+.. section: Documentation
+
+Add canonical header link on each page to corresponding major version of the
+documentation. Patch by Matthias Bussonnier.
+
+..
+
+.. bpo: 29349
+.. date: 0053
+.. nonce: PjSo-t
+.. section: Documentation
+
+Fix Python 2 syntax in code for building the documentation.
+
+..
+
+.. bpo: 23722
+.. date: 0052
+.. nonce: nFjY3C
+.. section: Documentation
+
+The data model reference and the porting section in the 3.6 What's New guide
+now cover the additional ``__classcell__`` handling needed for custom
+metaclasses to fully support PEP 487 and zero-argument ``super()``.
+
+..
+
+.. bpo: 28513
+.. date: 0051
+.. nonce: L3joAz
+.. section: Documentation
+
+Documented command-line interface of zipfile.
+
+..
+
+.. bpo: 29639
+.. date: 2017-09-08-15-59-07
+.. nonce: yIZecp
+.. section: Tests
+
+test.support.HOST is now "localhost", a new HOSTv4 constant has been added
+for your ``127.0.0.1`` needs, similar to the existing HOSTv6 constant.
+
+..
+
+.. bpo: 31320
+.. date: 2017-09-05-14-23-35
+.. nonce: JRDHx7
+.. section: Tests
+
+Silence traceback in test_ssl
+
+..
+
+.. bpo: 31346
+.. date: 2017-09-04-16-21-18
+.. nonce: xni1VR
+.. section: Tests
+
+Prefer PROTOCOL_TLS_CLIENT and PROTOCOL_TLS_SERVER protocols for SSLContext.
+
+..
+
+.. bpo: 25674
+.. date: 2017-09-04-13-03-55
+.. nonce: whVTXh
+.. section: Tests
+
+Remove sha256.tbs-internet.com ssl test
+
+..
+
+.. bpo: 30715
+.. date: 2017-07-25-15-27-44
+.. nonce: Sp7bTF
+.. section: Tests
+
+Address ALPN callback changes for OpenSSL 1.1.0f. The latest version behaves
+like OpenSSL 1.0.2 and no longer aborts handshake.
+
+..
+
+.. bpo: 30822
+.. date: 2017-07-20-14-29-54
+.. nonce: X0wREo
+.. section: Tests
+
+regrtest: Exclude tzdata from regrtest --all. When running the test suite
+using --use=all / -u all, exclude tzdata since it makes test_datetime too
+slow (15-20 min on some buildbots) which then times out on some buildbots.
+Fix also regrtest command line parser to allow passing -u extralargefile to
+run test_zipfile64.
+
+..
+
+.. bpo: 30695
+.. date: 2017-06-30-11-20-20
+.. nonce: lo7FQX
+.. section: Tests
+
+Add the `set_nomemory(start, stop)` and `remove_mem_hooks()` functions to
+the _testcapi module.
+
+..
+
+.. bpo: 30357
+.. date: 0012
+.. nonce: n4CPEa
+.. section: Tests
+
+test_thread: setUp() now uses support.threading_setup() and
+support.threading_cleanup() to wait until threads complete to avoid random
+side effects on following tests. Initial patch written by Grzegorz Grzywacz.
+
+..
+
+.. bpo: 30197
+.. date: 0011
+.. nonce: c5wRfu
+.. section: Tests
+
+Enhanced functions swap_attr() and swap_item() in the test.support module.
+They now work when delete replaced attribute or item inside the with
+statement. The old value of the attribute or item (or None if it doesn't
+exist) now will be assigned to the target of the "as" clause, if there is
+one.
+
+..
+
+.. bpo: 24932
+.. date: 0010
+.. nonce: XLTzvR
+.. section: Tests
+
+Use proper command line parsing in _testembed
+
+..
+
+.. bpo: 28950
+.. date: 0009
+.. nonce: 1W8Glo
+.. section: Tests
+
+Disallow -j0 to be combined with -T/-l in regrtest command line arguments.
+
+..
+
+.. bpo: 28683
+.. date: 0008
+.. nonce: Fp-Hdq
+.. section: Tests
+
+Fix the tests that bind() a unix socket and raise PermissionError on Android
+for a non-root user.
+
+..
+
+.. bpo: 26936
+.. date: 0007
+.. nonce: XSZSVS
+.. section: Tests
+
+Fix the test_socket failures on Android - getservbyname(), getservbyport()
+and getaddrinfo() are broken on some Android API levels.
+
+..
+
+.. bpo: 28666
+.. date: 0006
+.. nonce: RtTk-4
+.. section: Tests
+
+Now test.support.rmtree is able to remove unwritable or unreadable
+directories.
+
+..
+
+.. bpo: 23839
+.. date: 0005
+.. nonce: zsT_L9
+.. section: Tests
+
+Various caches now are cleared before running every test file.
+
+..
+
+.. bpo: 26944
+.. date: 0004
+.. nonce: ChZ_BO
+.. section: Tests
+
+Fix test_posix for Android where 'id -G' is entirely wrong or missing the
+effective gid.
+
+..
+
+.. bpo: 28409
+.. date: 0003
+.. nonce: Q2IlxJ
+.. section: Tests
+
+regrtest: fix the parser of command line arguments.
+
+..
+
+.. bpo: 28217
+.. date: 0002
+.. nonce: Y37OKV
+.. section: Tests
+
+Adds _testconsole module to test console input.
+
+..
+
+.. bpo: 26939
+.. date: 0001
+.. nonce: 7j_W5R
+.. section: Tests
+
+Add the support.setswitchinterval() function to fix test_functools hanging
+on the Android armv7 qemu emulator.
+
+..
+
+.. bpo: 31354
+.. date: 2017-09-08-11-48-11
+.. nonce: 4f-VJK
+.. section: Build
+
+Allow --with-lto to be used on all builds, not just `make profile-opt`.
+
+..
+
+.. bpo: 31370
+.. date: 2017-09-06-23-14-08
+.. nonce: -j4kN4
+.. section: Build
+
+Remove support for building --without-threads.
+
+This option is not really useful anymore in the 21st century. Removing lots
+of conditional paths allows us to simplify the code base, including in
+difficult to maintain low-level internal code.
+
+..
+
+.. bpo: 31341
+.. date: 2017-09-04-14-43-46
+.. nonce: XLuZFk
+.. section: Build
+
+Per PEP 11, support for the IRIX operating system was removed.
+
+..
+
+.. bpo: 30854
+.. date: 2017-07-05-16-54-59
+.. nonce: sPADRI
+.. section: Build
+
+Fix compile error when compiling --without-threads. Patch by Masayuki
+Yamamoto.
+
+..
+
+.. bpo: 30687
+.. date: 0050
+.. nonce: 8mqHnu
+.. section: Build
+
+Locate msbuild.exe on Windows when building rather than vcvarsall.bat
+
+..
+
+.. bpo: 20210
+.. date: 0049
+.. nonce: MN_n-r
+.. section: Build
+
+Support the *disabled* marker in Setup files. Extension modules listed after
+this marker are not built at all, neither by the Makefile nor by setup.py.
+
+..
+
+.. bpo: 29941
+.. date: 0048
+.. nonce: ylh45A
+.. section: Build
+
+Add ``--with-assertions`` configure flag to explicitly enable C ``assert()``
+checks. Defaults to off. ``--with-pydebug`` implies ``--with-assertions``.
+
+..
+
+.. bpo: 28787
+.. date: 0047
+.. nonce: vhH_6a
+.. section: Build
+
+Fix out-of-tree builds of Python when configured with ``--with--dtrace``.
+
+..
+
+.. bpo: 29243
+.. date: 0046
+.. nonce: WDK4hT
+.. section: Build
+
+Prevent unnecessary rebuilding of Python during ``make test``, ``make
+install`` and some other make targets when configured with ``--enable-
+optimizations``.
+
+..
+
+.. bpo: 23404
+.. date: 0045
+.. nonce: PdYVWg
+.. section: Build
+
+Don't regenerate generated files based on file modification time anymore:
+the action is now explicit. Replace ``make touch`` with ``make regen-all``.
+
+..
+
+.. bpo: 29643
+.. date: 0044
+.. nonce: 4WLIJQ
+.. section: Build
+
+Fix ``--enable-optimization`` didn't work.
+
+..
+
+.. bpo: 27593
+.. date: 0043
+.. nonce: v87xEr
+.. section: Build
+
+sys.version and the platform module python_build(), python_branch(), and
+python_revision() functions now use git information rather than hg when
+building from a repo.
+
+..
+
+.. bpo: 29572
+.. date: 0042
+.. nonce: iZ1XKK
+.. section: Build
+
+Update Windows build and OS X installers to use OpenSSL 1.0.2k.
+
+..
+
+.. bpo: 27659
+.. date: 0041
+.. nonce: i8UzRC
+.. section: Build
+
+Prohibit implicit C function declarations: use -Werror=implicit-function-
+declaration when possible (GCC and Clang, but it depends on the compiler
+version). Patch written by Chi Hsuan Yen.
+
+..
+
+.. bpo: 29384
+.. date: 0040
+.. nonce: v3IqBE
+.. section: Build
+
+Remove old Be OS helper scripts.
+
+..
+
+.. bpo: 26851
+.. date: 0039
+.. nonce: R5243g
+.. section: Build
+
+Set Android compilation and link flags.
+
+..
+
+.. bpo: 28768
+.. date: 0038
+.. nonce: b9_a6E
+.. section: Build
+
+Fix implicit declaration of function _setmode. Patch by Masayuki Yamamoto
+
+..
+
+.. bpo: 29080
+.. date: 0037
+.. nonce: b3qLQT
+.. section: Build
+
+Removes hard dependency on hg.exe from PCBuild/build.bat
+
+..
+
+.. bpo: 23903
+.. date: 0036
+.. nonce: JXJ889
+.. section: Build
+
+Added missed names to PC/python3.def.
+
+..
+
+.. bpo: 28762
+.. date: 0035
+.. nonce: Ru0YN_
+.. section: Build
+
+lockf() is available on Android API level 24, but the F_LOCK macro is not
+defined in android-ndk-r13.
+
+..
+
+.. bpo: 28538
+.. date: 0034
+.. nonce: FqtN7v
+.. section: Build
+
+Fix the compilation error that occurs because if_nameindex() is available on
+Android API level 24, but the if_nameindex structure is not defined.
+
+..
+
+.. bpo: 20211
+.. date: 0033
+.. nonce: gpNptI
+.. section: Build
+
+Do not add the directory for installing C header files and the directory for
+installing object code libraries to the cross compilation search paths.
+Original patch by Thomas Petazzoni.
+
+..
+
+.. bpo: 28849
+.. date: 0032
+.. nonce: AzRRF5
+.. section: Build
+
+Do not define sys.implementation._multiarch on Android.
+
+..
+
+.. bpo: 10656
+.. date: 0031
+.. nonce: pR8FFU
+.. section: Build
+
+Fix out-of-tree building on AIX. Patch by Tristan Carel and Michael
+Haubenwallner.
+
+..
+
+.. bpo: 26359
+.. date: 0030
+.. nonce: CLz6qy
+.. section: Build
+
+Rename --with-optimiations to --enable-optimizations.
+
+..
+
+.. bpo: 28444
+.. date: 0029
+.. nonce: zkc9nT
+.. section: Build
+
+Fix missing extensions modules when cross compiling.
+
+..
+
+.. bpo: 28208
+.. date: 0028
+.. nonce: DtoP1i
+.. section: Build
+
+Update Windows build and OS X installers to use SQLite 3.14.2.
+
+..
+
+.. bpo: 28248
+.. date: 0027
+.. nonce: KY_-en
+.. section: Build
+
+Update Windows build and OS X installers to use OpenSSL 1.0.2j.
+
+..
+
+.. bpo: 21124
+.. date: 0026
+.. nonce: 1bbArU
+.. section: Build
+
+Fix building the _struct module on Cygwin by passing ``NULL`` instead of
+``&PyType_Type`` to PyVarObject_HEAD_INIT. Patch by Masayuki Yamamoto.
+
+..
+
+.. bpo: 13756
+.. date: 0025
+.. nonce: sslhpC
+.. section: Build
+
+Fix building extensions modules on Cygwin. Patch by Roumen Petrov, based on
+original patch by Jason Tishler.
+
+..
+
+.. bpo: 21085
+.. date: 0024
+.. nonce: 2VvyUF
+.. section: Build
+
+Add configure check for siginfo_t.si_band, which Cygwin does not provide.
+Patch by Masayuki Yamamoto with review and rebase by Erik Bray.
+
+..
+
+.. bpo: 28258
+.. date: 0023
+.. nonce: iKtAHd
+.. section: Build
+
+Fixed build with Estonian locale (python-config and distclean targets in
+Makefile). Patch by Arfrever Frehtes Taifersar Arahesis.
+
+..
+
+.. bpo: 26661
+.. date: 0022
+.. nonce: Z_HNbs
+.. section: Build
+
+setup.py now detects system libffi with multiarch wrapper.
+
+..
+
+.. bpo: 27979
+.. date: 0021
+.. nonce: fR0KgM
+.. section: Build
+
+A full copy of libffi is no longer bundled for use when building _ctypes on
+non-OSX UNIX platforms. An installed copy of libffi is now required when
+building _ctypes on such platforms.
+
+..
+
+.. bpo: 15819
+.. date: 0020
+.. nonce: QVDr3E
+.. section: Build
+
+Remove redundant include search directory option for building outside the
+source tree.
+
+..
+
+.. bpo: 28676
+.. date: 0019
+.. nonce: Wxf6Ds
+.. section: Build
+
+Prevent missing 'getentropy' declaration warning on macOS. Patch by Gareth
+Rees.
+
+..
+
+.. bpo: 31392
+.. date: 2017-09-07-20-09-04
+.. nonce: h92bWF
+.. section: Windows
+
+Update Windows build to use OpenSSL 1.1.0f
+
+..
+
+.. bpo: 30389
+.. date: 2017-09-06-17-14-54
+.. nonce: 9Dizrx
+.. section: Windows
+
+Adds detection of Visual Studio 2017 to distutils on Windows.
+
+..
+
+.. bpo: 31358
+.. date: 2017-09-05-19-46-52
+.. nonce: n1Fjxc
+.. section: Windows
+
+zlib is no longer bundled in the CPython source, instead it is downloaded on
+demand just like bz2, lzma, OpenSSL, Tcl/Tk, and SQLite.
+
+..
+
+.. bpo: 31340
+.. date: 2017-09-04-13-19-05
+.. nonce: MbkzLi
+.. section: Windows
+
+Change to building with MSVC v141 (included with Visual Studio 2017)
+
+..
+
+.. bpo: 30581
+.. date: 2017-08-04-10-05-19
+.. nonce: OQhR7l
+.. section: Windows
+
+os.cpu_count() now returns the correct number of processors on Windows when
+the number of logical processors is greater than 64.
+
+..
+
+.. bpo: 30916
+.. date: 2017-07-15-00-40-12
+.. nonce: BpCrro
+.. section: Windows
+
+Pre-build OpenSSL, Tcl and Tk and include the binaries in the build.
+
+..
+
+.. bpo: 30731
+.. date: 2017-07-13-11-22-53
+.. nonce: nmMDwI
+.. section: Windows
+
+Add a missing xmlns to python.manifest so that it matches the schema.
+
+..
+
+.. bpo: 30291
+.. date: 2017-06-28-03-20-48
+.. nonce: zBpOl6
+.. section: Windows
+
+Allow requiring 64-bit interpreters from py.exe using -64 suffix.
+Contributed by Steve (Gadget) Barnes.
+
+..
+
+.. bpo: 30362
+.. date: 2017-06-28-03-08-22
+.. nonce: XxeVMB
+.. section: Windows
+
+Adds list options (-0, -0p) to py.exe launcher. Contributed by Steve Barnes.
+
+..
+
+.. bpo: 23451
+.. date: 2017-06-27-07-04-06
+.. nonce: bl_QOB
+.. section: Windows
+
+Fix socket deprecation warnings in socketmodule.c. Patch by Segev Finer.
+
+..
+
+.. bpo: 30450
+.. date: 0088
+.. nonce: qsaK8y
+.. section: Windows
+
+The build process on Windows no longer depends on Subversion, instead
+pulling external code from GitHub via a Python script. If Python 3.6 is not
+found on the system (via ``py -3.6``), NuGet is used to download a copy of
+32-bit Python.
+
+..
+
+.. bpo: 29579
+.. date: 0087
+.. nonce: 07B-FQ
+.. section: Windows
+
+Removes readme.txt from the installer.
+
+..
+
+.. bpo: 25778
+.. date: 0086
+.. nonce: 8uKJ82
+.. section: Windows
+
+winreg does not truncate string correctly (Patch by Eryk Sun)
+
+..
+
+.. bpo: 28896
+.. date: 0085
+.. nonce: qOcBBL
+.. section: Windows
+
+Deprecate WindowsRegistryFinder and disable it by default
+
+..
+
+.. bpo: 28522
+.. date: 0084
+.. nonce: XHMQa7
+.. section: Windows
+
+Fixes mishandled buffer reallocation in getpathp.c
+
+..
+
+.. bpo: 28402
+.. date: 0083
+.. nonce: v9zETJ
+.. section: Windows
+
+Adds signed catalog files for stdlib on Windows.
+
+..
+
+.. bpo: 28333
+.. date: 0082
+.. nonce: KnpeO4
+.. section: Windows
+
+Enables Unicode for ps1/ps2 and input() prompts. (Patch by Eryk Sun)
+
+..
+
+.. bpo: 28251
+.. date: 0081
+.. nonce: tR_AFs
+.. section: Windows
+
+Improvements to help manuals on Windows.
+
+..
+
+.. bpo: 28110
+.. date: 0080
+.. nonce: cnkP5F
+.. section: Windows
+
+launcher.msi has different product codes between 32-bit and 64-bit
+
+..
+
+.. bpo: 28161
+.. date: 0079
+.. nonce: hF91LI
+.. section: Windows
+
+Opening CON for write access fails
+
+..
+
+.. bpo: 28162
+.. date: 0078
+.. nonce: 3FHPVD
+.. section: Windows
+
+WindowsConsoleIO readall() fails if first line starts with Ctrl+Z
+
+..
+
+.. bpo: 28163
+.. date: 0077
+.. nonce: -DUgJw
+.. section: Windows
+
+WindowsConsoleIO fileno() passes wrong flags to _open_osfhandle
+
+..
+
+.. bpo: 28164
+.. date: 0076
+.. nonce: 5MfN0J
+.. section: Windows
+
+_PyIO_get_console_type fails for various paths
+
+..
+
+.. bpo: 28137
+.. date: 0075
+.. nonce: C1uvzY
+.. section: Windows
+
+Renames Windows path file to ._pth
+
+..
+
+.. bpo: 28138
+.. date: 0074
+.. nonce: pNdv64
+.. section: Windows
+
+Windows ._pth file should allow import site
+
+..
+
+.. bpo: 31493
+.. date: 2017-09-16-23-43-39
+.. nonce: nmHMCR
+.. section: IDLE
+
+IDLE code context -- fix code update and font update timers.
+
+Canceling timers prevents a warning message when test_idle completes.
+
+..
+
+.. bpo: 31488
+.. date: 2017-09-16-01-21-20
+.. nonce: 0rtXIT
+.. section: IDLE
+
+IDLE - Update non-key options in former extension classes. When applying
+configdialog changes, call .reload for each feature class. Change ParenMatch
+so updated options affect existing instances attached to existing editor
+windows.
+
+..
+
+.. bpo: 31477
+.. date: 2017-09-15-12-38-47
+.. nonce: n__6sa
+.. section: IDLE
+
+IDLE - Improve rstrip entry in doc. Strip trailing whitespace strips more
+than blank spaces. Multiline string literals are not skipped.
+
+..
+
+.. bpo: 31480
+.. date: 2017-09-14-17-53-53
+.. nonce: 4WJ0pl
+.. section: IDLE
+
+IDLE - make tests pass with zzdummy extension disabled by default.
+
+..
+
+.. bpo: 31421
+.. date: 2017-09-12-08-38-27
+.. nonce: mYfQNq
+.. section: IDLE
+
+Document how IDLE runs tkinter programs. IDLE calls tcl/tk update in the
+background in order to make live
+
+interaction and experimentatin with tkinter applications much easier.
+
+..
+
+.. bpo: 31414
+.. date: 2017-09-11-15-46-05
+.. nonce: wiepgK
+.. section: IDLE
+
+IDLE -- fix tk entry box tests by deleting first. Adding to an int entry is
+not the same as deleting and inserting because int('') will fail.
+
+..
+
+.. bpo: 31051
+.. date: 2017-08-30-00-06-58
+.. nonce: 50Jp_Q
+.. section: IDLE
+
+Rearrange IDLE condigdialog GenPage into Window, Editor, and Help sections.
+
+..
+
+.. bpo: 30617
+.. date: 2017-08-27-16-49-36
+.. nonce: UHnswr
+.. section: IDLE
+
+IDLE - Add docstrings and tests for outwin subclass of editor.
+
+Move some data and functions from the class to module level. Patch by Cheryl
+Sabella.
+
+..
+
+.. bpo: 31287
+.. date: 2017-08-27-15-31-33
+.. nonce: aZERfI
+.. section: IDLE
+
+IDLE - Do not modify tkinter.message in test_configdialog.
+
+..
+
+.. bpo: 27099
+.. date: 2017-08-24-13-48-16
+.. nonce: rENefC
+.. section: IDLE
+
+Convert IDLE's built-in 'extensions' to regular features.
+
+About 10 IDLE features were implemented as supposedly optional extensions.
+Their different behavior could be confusing or worse for users and not good
+for maintenance. Hence the conversion.
+
+The main difference for users is that user configurable key bindings for
+builtin features are now handled uniformly. Now, editing a binding in a
+keyset only affects its value in the keyset. All bindings are defined
+together in the system-specific default keysets in config- extensions.def.
+All custom keysets are saved as a whole in config- extension.cfg. All take
+effect as soon as one clicks Apply or Ok.
+
+The affected events are '<<force-open-completions>>', '<<expand-word>>',
+'<<force-open-calltip>>', '<<flash-paren>>', '<<format-paragraph>>', '<<run-
+module>>', '<<check-module>>', and '<<zoom-height>>'. Any (global)
+customizations made before 3.6.3 will not affect their keyset- specific
+customization after 3.6.3. and vice versa.
+
+Inital patch by Charles Wohlganger.
+
+..
+
+.. bpo: 31206
+.. date: 2017-08-18-14-13-42
+.. nonce: F1-tKK
+.. section: IDLE
+
+IDLE: Factor HighPage(Frame) class from ConfigDialog. Patch by Cheryl
+Sabella.
+
+..
+
+.. bpo: 31001
+.. date: 2017-08-17-15-00-20
+.. nonce: KLxYHC
+.. section: IDLE
+
+Add tests for configdialog highlight tab. Patch by Cheryl Sabella.
+
+..
+
+.. bpo: 31205
+.. date: 2017-08-15-12-58-23
+.. nonce: iuziZ5
+.. section: IDLE
+
+IDLE: Factor KeysPage(Frame) class from ConfigDialog. The slightly modified
+tests continue to pass. Patch by Cheryl Sabella.
+
+..
+
+.. bpo: 31130
+.. date: 2017-08-07-14-02-56
+.. nonce: FbsC7f
+.. section: IDLE
+
+IDLE -- stop leaks in test_configdialog. Initial patch by Victor Stinner.
+
+..
+
+.. bpo: 31002
+.. date: 2017-08-03-17-54-02
+.. nonce: kUSgTE
+.. section: IDLE
+
+Add tests for configdialog keys tab. Patch by Cheryl Sabella.
+
+..
+
+.. bpo: 19903
+.. date: 2017-08-03-14-08-42
+.. nonce: sqE1FS
+.. section: IDLE
+
+IDLE: Calltips use `inspect.signature` instead of `inspect.getfullargspec`.
+This improves calltips for builtins converted to use Argument Clinic. Patch
+by Louie Lu.
+
+..
+
+.. bpo: 31083
+.. date: 2017-07-31-23-20-51
+.. nonce: 991FXm
+.. section: IDLE
+
+IDLE - Add an outline of a TabPage class in configdialog. Update existing
+classes to match outline. Initial patch by Cheryl Sabella.
+
+..
+
+.. bpo: 31050
+.. date: 2017-07-30-17-39-59
+.. nonce: AXR3kP
+.. section: IDLE
+
+Factor GenPage(Frame) class from ConfigDialog. The slightly modified tests
+continue to pass. Patch by Cheryl Sabella.
+
+..
+
+.. bpo: 31004
+.. date: 2017-07-30-01-00-58
+.. nonce: m8cc1t
+.. section: IDLE
+
+IDLE - Factor FontPage(Frame) class from ConfigDialog.
+
+Slightly modified tests continue to pass. Fix General tests. Patch mostly by
+Cheryl Sabella.
+
+..
+
+.. bpo: 30781
+.. date: 2017-07-28-18-59-06
+.. nonce: ud5m18
+.. section: IDLE
+
+IDLE - Use ttk widgets in ConfigDialog. Patches by Terry Jan Reedy and
+Cheryl Sabella.
+
+..
+
+.. bpo: 31060
+.. date: 2017-07-27-14-48-42
+.. nonce: GdY_VY
+.. section: IDLE
+
+IDLE - Finish rearranging methods of ConfigDialog Grouping methods
+pertaining to each tab and the buttons will aid writing tests and improving
+the tabs and will enable splitting the groups into classes.
+
+..
+
+.. bpo: 30853
+.. date: 2017-07-27-10-01-14
+.. nonce: enPvvc
+.. section: IDLE
+
+IDLE -- Factor a VarTrace class out of ConfigDialog.
+
+Instance tracers manages pairs consisting of a tk variable and a callback
+function. When tracing is turned on, setting the variable calls the
+function. Test coverage for the new class is 100%.
+
+..
+
+.. bpo: 31003
+.. date: 2017-07-25-01-28-35
+.. nonce: bYINVH
+.. section: IDLE
+
+IDLE: Add more tests for General tab.
+
+..
+
+.. bpo: 30993
+.. date: 2017-07-22-18-08-41
+.. nonce: 34vJkB
+.. section: IDLE
+
+IDLE - Improve configdialog font page and tests.
+
+In configdialog: Document causal pathways in create_font_tab docstring.
+Simplify some attribute names. Move set_samples calls to var_changed_font
+(idea from Cheryl Sabella). Move related functions to positions after the
+create widgets function.
+
+In test_configdialog: Fix test_font_set so not order dependent. Fix renamed
+test_indent_scale so it tests the widget. Adjust tests for movement of
+set_samples call. Add tests for load functions. Put all font tests in one
+class and tab indent tests in another. Except for two lines, these tests
+completely cover the related functions.
+
+..
+
+.. bpo: 30981
+.. date: 2017-07-21-01-55-14
+.. nonce: ZFvQPt
+.. section: IDLE
+
+IDLE -- Add more configdialog font page tests.
+
+..
+
+.. bpo: 28523
+.. date: 2017-07-21-00-54-52
+.. nonce: OPcqYJ
+.. section: IDLE
+
+IDLE: replace 'colour' with 'color' in configdialog.
+
+..
+
+.. bpo: 30917
+.. date: 2017-07-17-23-35-57
+.. nonce: hSiuuO
+.. section: IDLE
+
+Add tests for idlelib.config.IdleConf. Increase coverage from 46% to 96%.
+Patch by Louie Lu.
+
+..
+
+.. bpo: 30934
+.. date: 2017-07-15-22-26-57
+.. nonce: BanuSB
+.. section: IDLE
+
+Document coverage details for idlelib tests.
+
+* Add section to idlelib/idle-test/README.txt.
+
+* Include check that branches are taken both ways.
+
+* Exclude IDLE-specific code that does not run during unit tests.
+
+..
+
+.. bpo: 30913
+.. date: 2017-07-13-23-07-33
+.. nonce: aezn_e
+.. section: IDLE
+
+IDLE: Document ConfigDialog tk Vars, methods, and widgets in docstrings This
+will facilitate improving the dialog and splitting up the class. Original
+patch by Cheryl Sabella.
+
+..
+
+.. bpo: 30899
+.. date: 2017-07-11-02-26-17
+.. nonce: SQmVO8
+.. section: IDLE
+
+IDLE: Add tests for ConfigParser subclasses in config. Patch by Louie Lu.
+
+..
+
+.. bpo: 30881
+.. date: 2017-07-11-02-21-42
+.. nonce: 4KAq_9
+.. section: IDLE
+
+IDLE: Add docstrings to browser.py. Patch by Cheryl Sabella.
+
+..
+
+.. bpo: 30851
+.. date: 2017-07-09-23-53-00
+.. nonce: AHXBYa
+.. section: IDLE
+
+IDLE: Remove unused variables in configdialog. One is a duplicate, one is
+set but cannot be altered by users. Patch by Cheryl Sabella.
+
+..
+
+.. bpo: 30870
+.. date: 2017-07-08-17-57-04
+.. nonce: IcR2pf
+.. section: IDLE
+
+IDLE: In Settings dialog, select font with Up, Down keys as well as mouse.
+Initial patch by Louie Lu.
+
+..
+
+.. bpo: 8231
+.. date: 2017-07-07-21-10-55
+.. nonce: yEge3L
+.. section: IDLE
+
+IDLE: call config.IdleConf.GetUserCfgDir only once.
+
+..
+
+.. bpo: 30779
+.. date: 2017-07-07-20-26-37
+.. nonce: 8KXEXN
+.. section: IDLE
+
+IDLE: Factor ConfigChanges class from configdialog, put in config; test. *
+In config, put dump test code in a function; run it and unittest in 'if
+__name__ == '__main__'. * Add class config.ConfigChanges based on
+changes_class_v4.py on bpo issue. * Add class test_config.ChangesTest,
+partly using configdialog_tests_v1.py. * Revise configdialog to use
+ConfigChanges; see tracker msg297804. * Revise test_configdialog to match
+configdialog changes. * Remove configdialog functions unused or moved to
+ConfigChanges. Cheryl Sabella contributed parts of the patch.
+
+..
+
+.. bpo: 30777
+.. date: 2017-07-04-22-45-46
+.. nonce: uxzlMB
+.. section: IDLE
+
+IDLE: configdialog - Add docstrings and fix comments. Patch by Cheryl
+Sabella.
+
+..
+
+.. bpo: 30495
+.. date: 2017-06-29-18-23-06
+.. nonce: qIWgc4
+.. section: IDLE
+
+IDLE: Improve textview with docstrings, PEP8 names, and more tests. Patch by
+Cheryl Sabella.
+
+..
+
+.. bpo: 30723
+.. date: 2017-06-27-19-05-40
+.. nonce: rQh06y
+.. section: IDLE
+
+IDLE: Make several improvements to parenmatch. Add 'parens' style to
+highlight both opener and closer. Make 'default' style, which is not
+default, a synonym for 'opener'. Make time-delay work the same with all
+styles. Add help for config dialog extensions tab, including help for
+parenmatch. Add new tests. Original patch by Charles Wohlganger.
+
+..
+
+.. bpo: 30674
+.. date: 2017-06-27-01-40-34
+.. nonce: ppK_q8
+.. section: IDLE
+
+IDLE: add docstrings to grep module. Patch by Cheryl Sabella
+
+..
+
+.. bpo: 21519
+.. date: 2017-06-27-00-29-56
+.. nonce: fTj9T0
+.. section: IDLE
+
+IDLE's basic custom key entry dialog now detects duplicates properly.
+Original patch by Saimadhav Heblikar.
+
+..
+
+.. bpo: 29910
+.. date: 2017-06-26-22-45-27
+.. nonce: mqHh7u
+.. section: IDLE
+
+IDLE no longer deletes a character after commenting out a region by a key
+shortcut. Add ``return 'break'`` for this and other potential conflicts
+between IDLE and default key bindings.
+
+..
+
+.. bpo: 30728
+.. date: 2017-06-26-15-47-13
+.. nonce: qH4TGL
+.. section: IDLE
+
+Review and change idlelib.configdialog names. Lowercase method and attribute
+names. Replace 'colour' with 'color', expand overly cryptic names, delete
+unneeded underscores. Replace ``import *`` with specific imports. Patches by
+Cheryl Sabella.
+
+..
+
+.. bpo: 6739
+.. date: 2017-06-26-00-28-59
+.. nonce: x5MfhB
+.. section: IDLE
+
+IDLE: Verify user-entered key sequences by trying to bind them with tk. Add
+tests for all 3 validation functions. Original patch by G Polo. Tests added
+by Cheryl Sabella.
+
+..
+
+.. bpo: 15786
+.. date: 0096
+.. nonce: _XRbaR
+.. section: IDLE
+
+Fix several problems with IDLE's autocompletion box. The following should
+now work: clicking on selection box items; using the scrollbar; selecting an
+item by hitting Return. Hangs on MacOSX should no longer happen. Patch by
+Louie Lu.
+
+..
+
+.. bpo: 25514
+.. date: 0095
+.. nonce: 882pXa
+.. section: IDLE
+
+Add doc subsubsection about IDLE failure to start. Popup no-connection
+message directs users to this section.
+
+..
+
+.. bpo: 30642
+.. date: 0094
+.. nonce: 3Zujzt
+.. section: IDLE
+
+Fix reference leaks in IDLE tests. Patches by Louie Lu and Terry Jan Reedy.
+
+..
+
+.. bpo: 30495
+.. date: 0093
+.. nonce: I3i5vL
+.. section: IDLE
+
+Add docstrings for textview.py and use PEP8 names. Patches by Cheryl Sabella
+and Terry Jan Reedy.
+
+..
+
+.. bpo: 30290
+.. date: 0092
+.. nonce: fZ3kod
+.. section: IDLE
+
+Help-about: use pep8 names and add tests. Increase coverage to 100%. Patches
+by Louie Lu, Cheryl Sabella, and Terry Jan Reedy.
+
+..
+
+.. bpo: 30303
+.. date: 0091
+.. nonce: 2L2F-4
+.. section: IDLE
+
+Add _utest option to textview; add new tests. Increase coverage to 100%.
+Patches by Louie Lu and Terry Jan Reedy.
+
+..
+
+.. bpo: 29071
+.. date: 0090
+.. nonce: FCOpJn
+.. section: IDLE
+
+IDLE colors f-string prefixes (but not invalid ur prefixes).
+
+..
+
+.. bpo: 28572
+.. date: 0089
+.. nonce: 1_duKY
+.. section: IDLE
+
+Add 10% to coverage of IDLE's test_configdialog. Update and augment
+description of the configuration system.
+
+..
+
+.. bpo: 30983
+.. date: 2017-08-18-17-19-23
+.. nonce: ggGz9z
+.. section: Tools/Demos
+
+gdb integration commands (py-bt, etc.) work on optimized shared builds now,
+too. PEP 523 introduced _PyEval_EvalFrameDefault which inlines
+PyEval_EvalFrameEx on non-debug shared builds. This broke the ability to
+use py-bt, py-up, and a few other Python-specific gdb integrations. The
+problem is fixed by only looking for _PyEval_EvalFrameDefault frames in
+python-gdb.py. Original patch by Bruno "Polaco" Penteado.
+
+..
+
+.. bpo: 29748
+.. date: 0018
+.. nonce: 6pV6s9
+.. section: Tools/Demos
+
+Added the slice index converter in Argument Clinic.
+
+..
+
+.. bpo: 24037
+.. date: 0017
+.. nonce: KPFC7o
+.. section: Tools/Demos
+
+Argument Clinic now uses the converter `bool(accept={int})` rather than
+`int` for semantical booleans. This avoids repeating the default value for
+Python and C and will help in converting to `bool` in future.
+
+..
+
+.. bpo: 29367
+.. date: 0016
+.. nonce: 4dOKL0
+.. section: Tools/Demos
+
+python-gdb.py now supports also ``method-wrapper`` (``wrapperobject``)
+objects.
+
+..
+
+.. bpo: 28023
+.. date: 0015
+.. nonce: 4gzSGp
+.. section: Tools/Demos
+
+Fix python-gdb.py didn't support new dict implementation.
+
+..
+
+.. bpo: 15369
+.. date: 0014
+.. nonce: bdZ3n-
+.. section: Tools/Demos
+
+The pybench and pystone microbenchmark have been removed from Tools. Please
+use the new Python benchmark suite https://github.com/python/performance
+which is more reliable and includes a portable version of pybench working on
+Python 2 and Python 3.
+
+..
+
+.. bpo: 28102
+.. date: 0013
+.. nonce: 5fKaek
+.. section: Tools/Demos
+
+The zipfile module CLI now prints usage to stderr. Patch by Stephen J.
+Turnbull.
+
+..
+
+.. bpo: 31338
+.. date: 2017-09-05-17-51-12
+.. nonce: LjA43Y
+.. section: C API
+
+Added the ``Py_UNREACHABLE()`` macro for code paths which are never expected
+to be reached. This and a few other useful macros are now documented in the
+C API manual.
+
+..
+
+.. bpo: 30832
+.. date: 2017-07-03-17-25-40
+.. nonce: PcTAEP
+.. section: C API
+
+Remove own implementation for thread-local storage.
+
+CPython has provided the own implementation for thread-local storage (TLS)
+on Python/thread.c, it's used in the case which a platform has not supplied
+native TLS. However, currently all supported platforms (Windows and
+pthreads) have provided native TLS and defined the Py_HAVE_NATIVE_TLS macro
+with unconditional in any case.
+
+..
+
+.. bpo: 30708
+.. date: 0073
+.. nonce: np-l1j
+.. section: C API
+
+PyUnicode_AsWideCharString() now raises a ValueError if the second argument
+is NULL and the wchar_t\* string contains null characters.
+
+..
+
+.. bpo: 16500
+.. date: 0072
+.. nonce: lRpooa
+.. section: C API
+
+Deprecate PyOS_AfterFork() and add PyOS_BeforeFork(),
+PyOS_AfterFork_Parent() and PyOS_AfterFork_Child().
+
+..
+
+.. bpo: 6532
+.. date: 0071
+.. nonce: qcH6k1
+.. section: C API
+
+The type of results of PyThread_start_new_thread() and
+PyThread_get_thread_ident(), and the id parameter of
+PyThreadState_SetAsyncExc() changed from "long" to "unsigned long".
+
+..
+
+.. bpo: 27867
+.. date: 0070
+.. nonce: J-8CGo
+.. section: C API
+
+Function PySlice_GetIndicesEx() is deprecated and replaced with a macro if
+Py_LIMITED_API is not set or set to the value between 0x03050400 and
+0x03060000 (not including) or 0x03060100 or higher. Added functions
+PySlice_Unpack() and PySlice_AdjustIndices().
+
+..
+
+.. bpo: 29083
+.. date: 0069
+.. nonce: tGTjr_
+.. section: C API
+
+Fixed the declaration of some public API functions. PyArg_VaParse() and
+PyArg_VaParseTupleAndKeywords() were not available in limited API.
+PyArg_ValidateKeywordArguments(), PyArg_UnpackTuple() and Py_BuildValue()
+were not available in limited API of version < 3.3 when PY_SSIZE_T_CLEAN is
+defined.
+
+..
+
+.. bpo: 28769
+.. date: 0068
+.. nonce: Ecmtn8
+.. section: C API
+
+The result of PyUnicode_AsUTF8AndSize() and PyUnicode_AsUTF8() is now of
+type ``const char *`` rather of ``char *``.
+
+..
+
+.. bpo: 29058
+.. date: 0067
+.. nonce: 0wNVP8
+.. section: C API
+
+All stable API extensions added after Python 3.2 are now available only when
+Py_LIMITED_API is set to the PY_VERSION_HEX value of the minimum Python
+version supporting this API.
+
+..
+
+.. bpo: 28822
+.. date: 0066
+.. nonce: gMqwvb
+.. section: C API
+
+The index parameters *start* and *end* of PyUnicode_FindChar() are now
+adjusted to behave like ``str[start:end]``.
+
+..
+
+.. bpo: 28808
+.. date: 0065
+.. nonce: A03X6r
+.. section: C API
+
+PyUnicode_CompareWithASCIIString() now never raises exceptions.
+
+..
+
+.. bpo: 28761
+.. date: 0064
+.. nonce: iOgCoX
+.. section: C API
+
+The fields name and doc of structures PyMemberDef, PyGetSetDef,
+PyStructSequence_Field, PyStructSequence_Desc, and wrapperbase are now of
+type ``const char *`` rather of ``char *``.
+
+..
+
+.. bpo: 28748
+.. date: 0063
+.. nonce: AMgb_G
+.. section: C API
+
+Private variable _Py_PackageContext is now of type ``const char *`` rather
+of ``char *``.
+
+..
+
+.. bpo: 19569
+.. date: 0062
+.. nonce: IPke0J
+.. section: C API
+
+Compiler warnings are now emitted if use most of deprecated functions.
+
+..
+
+.. bpo: 28426
+.. date: 0061
+.. nonce: zPwvbI
+.. section: C API
+
+Deprecated undocumented functions PyUnicode_AsEncodedObject(),
+PyUnicode_AsDecodedObject(), PyUnicode_AsDecodedUnicode() and
+PyUnicode_AsEncodedUnicode().
+++ /dev/null
-Prevent missing 'getentropy' declaration warning on macOS. Patch by Gareth
-Rees.
+++ /dev/null
-Remove redundant include search directory option for building outside the
-source tree.
+++ /dev/null
-A full copy of libffi is no longer bundled for use when building _ctypes on
-non-OSX UNIX platforms. An installed copy of libffi is now required when
-building _ctypes on such platforms.
+++ /dev/null
-setup.py now detects system libffi with multiarch wrapper.
+++ /dev/null
-Fixed build with Estonian locale (python-config and distclean targets in
-Makefile). Patch by Arfrever Frehtes Taifersar Arahesis.
+++ /dev/null
-Add configure check for siginfo_t.si_band, which Cygwin does not provide.
-Patch by Masayuki Yamamoto with review and rebase by Erik Bray.
+++ /dev/null
-Fix building extensions modules on Cygwin. Patch by Roumen Petrov, based on
-original patch by Jason Tishler.
+++ /dev/null
-Fix building the _struct module on Cygwin by passing ``NULL`` instead of
-``&PyType_Type`` to PyVarObject_HEAD_INIT. Patch by Masayuki Yamamoto.
+++ /dev/null
-Update Windows build and OS X installers to use OpenSSL 1.0.2j.
+++ /dev/null
-Update Windows build and OS X installers to use SQLite 3.14.2.
+++ /dev/null
-Fix missing extensions modules when cross compiling.
+++ /dev/null
-Rename --with-optimiations to --enable-optimizations.
+++ /dev/null
-Fix out-of-tree building on AIX. Patch by Tristan Carel and Michael
-Haubenwallner.
+++ /dev/null
-Do not define sys.implementation._multiarch on Android.
+++ /dev/null
-Do not add the directory for installing C header files and the directory for
-installing object code libraries to the cross compilation search paths.
-Original patch by Thomas Petazzoni.
+++ /dev/null
-Fix the compilation error that occurs because if_nameindex() is available on
-Android API level 24, but the if_nameindex structure is not defined.
+++ /dev/null
-lockf() is available on Android API level 24, but the F_LOCK macro is not
-defined in android-ndk-r13.
+++ /dev/null
-Added missed names to PC/python3.def.
+++ /dev/null
-Removes hard dependency on hg.exe from PCBuild/build.bat
+++ /dev/null
-Fix implicit declaration of function _setmode. Patch by Masayuki Yamamoto
+++ /dev/null
-Set Android compilation and link flags.
+++ /dev/null
-Remove old Be OS helper scripts.
+++ /dev/null
-Prohibit implicit C function declarations: use -Werror=implicit-function-
-declaration when possible (GCC and Clang, but it depends on the compiler
-version). Patch written by Chi Hsuan Yen.
+++ /dev/null
-Update Windows build and OS X installers to use OpenSSL 1.0.2k.
+++ /dev/null
-sys.version and the platform module python_build(), python_branch(), and
-python_revision() functions now use git information rather than hg when
-building from a repo.
+++ /dev/null
-Fix ``--enable-optimization`` didn't work.
+++ /dev/null
-Don't regenerate generated files based on file modification time anymore:
-the action is now explicit. Replace ``make touch`` with ``make regen-all``.
+++ /dev/null
-Prevent unnecessary rebuilding of Python during ``make test``, ``make
-install`` and some other make targets when configured with ``--enable-
-optimizations``.
+++ /dev/null
-Fix out-of-tree builds of Python when configured with ``--with--dtrace``.
+++ /dev/null
-Add ``--with-assertions`` configure flag to explicitly enable C ``assert()``
-checks. Defaults to off. ``--with-pydebug`` implies ``--with-assertions``.
+++ /dev/null
-Support the *disabled* marker in Setup files. Extension modules listed after
-this marker are not built at all, neither by the Makefile nor by setup.py.
+++ /dev/null
-Locate msbuild.exe on Windows when building rather than vcvarsall.bat
+++ /dev/null
-Fix compile error when compiling --without-threads.
-Patch by Masayuki Yamamoto.
+++ /dev/null
-Per PEP 11, support for the IRIX operating system was removed.
+++ /dev/null
-Remove support for building --without-threads.
-
-This option is not really useful anymore in the 21st century. Removing lots
-of conditional paths allows us to simplify the code base, including in
-difficult to maintain low-level internal code.
+++ /dev/null
-Allow --with-lto to be used on all builds, not just `make profile-opt`.
+++ /dev/null
-Deprecated undocumented functions PyUnicode_AsEncodedObject(),
-PyUnicode_AsDecodedObject(), PyUnicode_AsDecodedUnicode() and
-PyUnicode_AsEncodedUnicode().
+++ /dev/null
-Compiler warnings are now emitted if use most of deprecated functions.
+++ /dev/null
-Private variable _Py_PackageContext is now of type ``const char *`` rather
-of ``char *``.
+++ /dev/null
-The fields name and doc of structures PyMemberDef, PyGetSetDef,
-PyStructSequence_Field, PyStructSequence_Desc, and wrapperbase are now of
-type ``const char *`` rather of ``char *``.
+++ /dev/null
-PyUnicode_CompareWithASCIIString() now never raises exceptions.
+++ /dev/null
-The index parameters *start* and *end* of PyUnicode_FindChar() are now
-adjusted to behave like ``str[start:end]``.
+++ /dev/null
-All stable API extensions added after Python 3.2 are now available only when
-Py_LIMITED_API is set to the PY_VERSION_HEX value of the minimum Python
-version supporting this API.
+++ /dev/null
-The result of PyUnicode_AsUTF8AndSize() and PyUnicode_AsUTF8() is now of
-type ``const char *`` rather of ``char *``.
+++ /dev/null
-Fixed the declaration of some public API functions. PyArg_VaParse() and
-PyArg_VaParseTupleAndKeywords() were not available in limited API.
-PyArg_ValidateKeywordArguments(), PyArg_UnpackTuple() and Py_BuildValue()
-were not available in limited API of version < 3.3 when PY_SSIZE_T_CLEAN is
-defined.
+++ /dev/null
-Function PySlice_GetIndicesEx() is deprecated and replaced with a macro if
-Py_LIMITED_API is not set or set to the value between 0x03050400 and
-0x03060000 (not including) or 0x03060100 or higher. Added functions
-PySlice_Unpack() and PySlice_AdjustIndices().
+++ /dev/null
-The type of results of PyThread_start_new_thread() and
-PyThread_get_thread_ident(), and the id parameter of
-PyThreadState_SetAsyncExc() changed from "long" to "unsigned long".
+++ /dev/null
-Deprecate PyOS_AfterFork() and add PyOS_BeforeFork(),
-PyOS_AfterFork_Parent() and PyOS_AfterFork_Child().
+++ /dev/null
-PyUnicode_AsWideCharString() now raises a ValueError if the second argument
-is NULL and the wchar_t\* string contains null characters.
+++ /dev/null
-Remove own implementation for thread-local storage.
-
-CPython has provided the own implementation for thread-local storage (TLS)
-on Python/thread.c, it's used in the case which a platform has not supplied
-native TLS. However, currently all supported platforms (Windows and pthreads)
-have provided native TLS and defined the Py_HAVE_NATIVE_TLS macro with
-unconditional in any case.
+++ /dev/null
-Added the ``Py_UNREACHABLE()`` macro for code paths which are never expected
-to be reached. This and a few other useful macros are now documented in the
-C API manual.
+++ /dev/null
-Speed-up method calls: add LOAD_METHOD and CALL_METHOD opcodes.
+++ /dev/null
-Fix asynchronous generators aclose() and athrow() to handle
-StopAsyncIteration propagation properly.
+++ /dev/null
-Fix a refleak in code that raises DeprecationWarning.
+++ /dev/null
-Raise DeprecationWarning when async and await keywords are used as
-variable/attribute/class/function name.
+++ /dev/null
-Fix dict.pop() for splitted dictionary when trying to remove a "pending key"
-(Not yet inserted in split-table). Patch by Xiang Zhang.
+++ /dev/null
-Replace Py_MEMCPY with memcpy(). Visual Studio can properly optimize
-memcpy().
+++ /dev/null
-Fix a regression in zipimport's compile_source(). zipimport should use the
-same optimization level as the interpreter.
+++ /dev/null
-Upgrade internal unicode databases to Unicode version 9.0.0.
+++ /dev/null
-Clean up redundant code in long_rshift function. Thanks Oren Milman.
+++ /dev/null
-Remove some redundant assignments to ob_size in longobject.c. Thanks Oren
-Milman.
+++ /dev/null
-Don't import readline in isolated mode.
+++ /dev/null
-Fallback on reading /dev/urandom device when the getrandom() syscall fails
-with EPERM, for example when blocked by SECCOMP.
+++ /dev/null
-Now __set_name__ is looked up on the class instead of the instance.
+++ /dev/null
-Single var-positional argument of tuple subtype was passed unscathed to the
-C-defined function. Now it is converted to exact tuple.
+++ /dev/null
-Fix incorrect type in complex(1.0, {2:3}) error message. Patch by Soumya
-Sharma.
+++ /dev/null
-Fixed misleading error message when ImportError called with invalid keyword
-args.
+++ /dev/null
-ImportError.__init__ now resets not specified attributes.
+++ /dev/null
-String constants now interned recursively in tuples and frozensets.
+++ /dev/null
-Fix crash when GC runs during weakref callbacks.
+++ /dev/null
-String constants with null character no longer interned.
+++ /dev/null
-Dict reduces possibility of 2nd conflict in hash table when hashes have same
-lower bits.
+++ /dev/null
-Fixed possible crash when AST is changed in process of compiling it.
+++ /dev/null
-PyType_Ready() now checks that tp_name is not NULL. Original patch by Niklas
-Koep.
+++ /dev/null
-Resolving special methods of uninitialized type now causes implicit
-initialization of the type instead of a fail.
+++ /dev/null
-Creating instances of range_iterator by calling range_iterator type now is
-disallowed. Calling iter() on range instance is the only way. Patch by Oren
-Milman.
+++ /dev/null
-The type of long range iterator is now registered as Iterator. Patch by Oren
-Milman.
+++ /dev/null
-Added sanity checks and tests for PyUnicode_CopyCharacters(). Patch by Xiang
-Zhang.
+++ /dev/null
-Added C implementation of asyncio.Future. Original patch by Yury Selivanov.
+++ /dev/null
-Optimize and cleanup dict iteration.
+++ /dev/null
-Fixed possible memory leak in _PyTraceback_Add() and exception loss in
-PyTraceBack_Here().
+++ /dev/null
-Improved exception reporting for problematic __set_name__ attributes.
+++ /dev/null
-Fixed of-by-one error in the peephole optimizer that caused keeping
-unreachable code.
+++ /dev/null
-Fixed potential crash in PyUnicode_AsDecodedObject() in debug build.
+++ /dev/null
-dict.update() no longer allocate unnecessary large memory.
+++ /dev/null
-Deprecation warning for invalid str and byte escape sequences now prints
-better information about where the error occurs. Patch by Serhiy Storchaka
-and Eric Smith.
+++ /dev/null
-PyDict_SetDefault didn't combine split table when needed. Patch by Xiang
-Zhang.
+++ /dev/null
-Optimize iterating split table values. Patch by Xiang Zhang.
+++ /dev/null
-Sped up converting int to float by reusing faster bits counting
-implementation. Patch by Adrian Wielgosik.
+++ /dev/null
-Extra slash no longer added to sys.path components in case of empty compile-
-time PYTHONPATH components.
+++ /dev/null
-Improve speed of the STORE_DEREF opcode by 40%.
+++ /dev/null
-Fixed crash in Py_DecodeLocale() in debug build on Mac OS X when decode
-astral characters. Patch by Xiang Zhang.
+++ /dev/null
-Fix not getting the locale's charset upon initializing the interpreter, on
-platforms that do not have langinfo.
+++ /dev/null
-Fix the set_inheritable() file descriptor method on platforms that do not
-have the ioctl FIOCLEX and FIONCLEX commands.
+++ /dev/null
-The with-statement now checks for __enter__ before it checks for __exit__.
-This gives less confusing error messages when both methods are missing.
-Patch by Jonathan Ellington.
+++ /dev/null
-Show sys.version when -V option is supplied twice.
+++ /dev/null
-Optimize _PyDict_NewPresized() to create correct size dict. Improve speed of
-dict literal with constant keys up to 30%.
+++ /dev/null
-Fix error position of the unicode error in ASCII and Latin1 encoders when a
-string returned by the error handler contains multiple non-encodable
-characters (non-ASCII for the ASCII codec, characters out of the
-U+0000-U+00FF range for Latin1).
+++ /dev/null
-Fix a bug in the implementation ``yield from`` when checking if the next
-instruction is YIELD_FROM. Regression introduced by WORDCODE (issue #26647).
+++ /dev/null
-More than 255 arguments can now be passed to a function.
+++ /dev/null
-Remove the ``PyEval_GetCallStats()`` function and deprecate the untested and
-undocumented ``sys.callstats()`` function. Remove the ``CALL_PROFILE``
-special build: use the :func:`sys.setprofile` function, :mod:`cProfile` or
-:mod:`profile` to profile function calls.
+++ /dev/null
-Modifying the class __dict__ inside the __set_name__ method of a descriptor
-that is used inside that class no longer prevents calling the __set_name__
-method of other descriptors.
+++ /dev/null
-Rather than silently producing a class that doesn't support zero-argument
-``super()`` in methods, failing to pass the new ``__classcell__`` namespace
-entry up to ``type.__new__`` now results in a ``DeprecationWarning`` and a
-class that supports zero-argument ``super()``.
+++ /dev/null
-Fix the cross compilation of xxlimited when Python has been built with
-Py_DEBUG defined.
+++ /dev/null
-Fixed setting the offset attribute of SyntaxError by
-PyErr_SyntaxLocationEx() and PyErr_SyntaxLocationObject().
+++ /dev/null
-f-string expressions are no longer accepted as docstrings and by
-ast.literal_eval() even if they do not include expressions.
+++ /dev/null
-Fix a memory leak in split-table dictionaries: setattr() must not convert
-combined table into split table. Patch written by INADA Naoki.
+++ /dev/null
-functools.lru_cache() was susceptible to an obscure reentrancy bug
-triggerable by a monkey-patched len() function.
+++ /dev/null
-On Android, operating system data is now always encoded/decoded to/from
-UTF-8, instead of the locale encoding to avoid inconsistencies with
-os.fsencode() and os.fsdecode() which are already using UTF-8.
+++ /dev/null
-Clean up interpreter startup (see PEP 432).
+++ /dev/null
-The preferred encoding is UTF-8 on Android. Patch written by Chi Hsuan Yen.
+++ /dev/null
-Python function can now have more than 255 parameters.
-collections.namedtuple() now supports tuples with more than 255 elements.
+++ /dev/null
-Fixed bytes formatting of octals with zero padding in alternate form.
+++ /dev/null
-Correct the positioning of the syntax error caret for indented blocks.
-Based on patch by Michael Layzell.
+++ /dev/null
-Do not include <sys/random.h> if it does not exist.
+++ /dev/null
-bytes.fromhex() and bytearray.fromhex() now ignore all ASCII whitespace, not
-only spaces. Patch by Robert Xiao.
+++ /dev/null
-Call _PyObject_GC_TRACK() lazily when calling Python function. Calling
-function is up to 5% faster.
+++ /dev/null
-Fix regression in bytes(x) when x.__index__() raises Exception.
+++ /dev/null
-Fix memory leak and use-after-free in os module (path_converter).
+++ /dev/null
-Fixed a crash when pass the iterable keyword argument to sorted().
+++ /dev/null
-Fixed possible BytesWarning when compare the code objects. Warnings could be
-emitted at compile time.
+++ /dev/null
-Prevent RunMainFromImporter overwriting sys.path[0].
+++ /dev/null
-If max_line_length=None is specified while using the Compat32 policy, it is
-no longer ignored. Patch by Mircea Cosbuc.
+++ /dev/null
-Improve from-import error message with location
+++ /dev/null
-Set the 'path' and 'name' attribute on ImportError for ``from ... import
-...``.
+++ /dev/null
-Fixed use-after-free problem in key sharing dict.
+++ /dev/null
-Add ``docstring`` field to Module, ClassDef, FunctionDef, and
-AsyncFunctionDef ast nodes. docstring is not first stmt in their body
-anymore. It affects ``co_firstlineno`` and ``co_lnotab`` of code object for
-module and class.
+++ /dev/null
-Fixed possibly dereferencing undefined pointers when creating weakref
-objects.
+++ /dev/null
-Fix incorrect handling of signed zeros in complex constructor for complex
-subclasses and for inputs having a __complex__ method. Patch by Serhiy
-Storchaka.
+++ /dev/null
-Fix stack_effect computation for CALL_FUNCTION_EX. Patch by Matthieu
-Dartiailh.
+++ /dev/null
-Support __rmod__ for subclasses of str being called before str.__mod__.
-Patch by Martijn Pieters.
+++ /dev/null
-Fix minor regression of PyEval_CallObjectWithKeywords. It should raise
-TypeError when kwargs is not a dict. But it might cause segv when args=NULL
-and kwargs is not a dict.
+++ /dev/null
-Fixes to memory allocation in _PyCode_SetExtra. Patch by Brian Coleman.
+++ /dev/null
-``bool(range)`` works even if ``len(range)`` raises :exc:`OverflowError`.
+++ /dev/null
-Set correct __cause__ for errors about invalid awaitables returned from
-__aiter__ and __anext__.
+++ /dev/null
-bool(), float(), list() and tuple() no longer take keyword arguments. The
-first argument of int() can now be passes only as positional argument.
+++ /dev/null
-Fix a regression that bytes format may fail when containing zero bytes
-inside.
+++ /dev/null
-Escaped percent "%%" in the format string for classic string formatting no
-longer allows any characters between two percents.
+++ /dev/null
-The ``sys.path[0]`` initialization change for bpo-29139 caused a regression
-by revealing an inconsistency in how sys.path is initialized when executing
-``__main__`` from a zipfile, directory, or other import location. The
-interpreter now consistently avoids ever adding the import location's parent
-directory to ``sys.path``, and ensures no other ``sys.path`` entries are
-inadvertently modified when inserting the import location named on the
-command line.
+++ /dev/null
-Fix an oversight that %b format for bytes should support objects follow the
-buffer protocol.
+++ /dev/null
-Fix a memory leak when an ImportError is raised during from import.
+++ /dev/null
-Show correct error messages when any of the pthread_* calls in
-thread_pthread.h fails.
+++ /dev/null
-The deprecation warning is emitted if __complex__ returns an instance of a
-strict subclass of complex. In a future versions of Python this can be an
-error.
+++ /dev/null
-Add a unique ID to PyInterpreterState. This makes it easier to identify
-each subinterpreter.
+++ /dev/null
-Fixed the slowing down to 25 times in the searching of some unlucky Unicode
-characters.
+++ /dev/null
-Shift operation now has less opportunity to raise OverflowError. ValueError
-always is raised rather than OverflowError for negative counts. Shifting
-zero with non-negative count always returns zero.
+++ /dev/null
-Fixed error messages in the index() method of tuple, list and deque when
-pass indices of wrong type.
+++ /dev/null
-Fix memory usage regression of set and frozenset object.
+++ /dev/null
-Fixed default implementations of __reduce__ and __reduce_ex__().
-object.__reduce__() no longer takes arguments, object.__reduce_ex__() now
-requires one argument.
+++ /dev/null
-README.rst is now included in the list of distutils standard READMEs and
-therefore included in source distributions.
+++ /dev/null
-len() now raises ValueError rather than OverflowError if __len__() returned
-a large negative integer.
+++ /dev/null
-sys.getsizeof() on a code object now returns the sizes which includes the
-code struct and sizes of objects which it references. Patch by Dong-hee Na.
+++ /dev/null
-Circular imports involving absolute imports with binding a submodule to a
-name are now supported.
+++ /dev/null
-``object.__format__(x, '')`` is now equivalent to ``str(x)`` rather than
-``format(str(self), '')``.
+++ /dev/null
-If a KeyboardInterrupt happens when the interpreter is in the middle of
-resuming a chain of nested 'yield from' or 'await' calls, it's now correctly
-delivered to the innermost frame.
+++ /dev/null
-Fixed type.__setattr__() and type.__delattr__() for non-interned attribute
-names. Based on patch by Eryk Sun.
+++ /dev/null
-Fixed various segfaults with dict when input collections are mutated during
-searching, inserting or comparing. Based on patches by Duane Griffin and
-Tim Mitchell.
+++ /dev/null
-Fixed parsing backslashes in f-strings.
+++ /dev/null
-Tokens needed for parsing in Python moved to C. ``COMMENT``, ``NL`` and
-``ENCODING``. This way the tokens and tok_names in the token module don't
-get changed when you import the tokenize module.
+++ /dev/null
-itertools.islice now accepts integer-like objects (having an __index__
-method) as start, stop, and slice arguments
+++ /dev/null
-Allows setting cell values for __closure__. Patch by Lisa Roach.
+++ /dev/null
-Implement PEP 538 (legacy C locale coercion). This means that when a
-suitable coercion target locale is available, both the core interpreter and
-locale-aware C extensions will assume the use of UTF-8 as the default text
-encoding, rather than ASCII.
+++ /dev/null
-The compiler now produces more optimal code for complex condition
-expressions in the "if", "while" and "assert" statement, the "if"
-expression, and generator expressions and comprehensions.
+++ /dev/null
-Removed a too-strict assertion that failed for certain f-strings, such as
-eval("f'\\\n'") and eval("f'\\\r'").
+++ /dev/null
-``print`` now shows expected input in custom error message when used as a
-Python 2 statement. Patch by Sanyam Khurana.
+++ /dev/null
-Move co_extra_freefuncs from per-thread to per-interpreter to avoid crashes.
+++ /dev/null
-The internal unicodedata database has been upgraded to Unicode 10.0.
+++ /dev/null
-Fixed a race condition when import a submodule from a package.
+++ /dev/null
-Make sure the 'Missing parentheses' syntax error message is only applied to
-SyntaxError, not to subclasses. Patch by Martijn Pieters.
+++ /dev/null
-Avoid blocking in pthread_mutex_lock() when PyThread_acquire_lock() is asked
-not to block.
+++ /dev/null
-Improve signal delivery.
-
-Avoid using Py_AddPendingCall from signal handler, to avoid calling signal-
-unsafe functions. The tests I'm adding here fail without the rest of the
-patch, on Linux and OS X. This means our signal delivery logic had defects
-(some signals could be lost).
+++ /dev/null
-Relative import from unloaded package now reimports the package instead of
-failing with SystemError. Relative import from non-package now fails with
-ImportError rather than SystemError.
+++ /dev/null
-Use _Py_atomic API for concurrency-sensitive signal state.
+++ /dev/null
-str.format_map() now passes key lookup exceptions through.
-Previously any exception was replaced with a KeyError exception.
+++ /dev/null
-Avoid masking original TypeError in call with * unpacking when other
-arguments are passed.
+++ /dev/null
-Fix potential crash during GC caused by ``tp_dealloc`` which doesn't call
-``PyObject_GC_UnTrack()``.
+++ /dev/null
-Add a non-dummy implementation of _Py_atomic_store and _Py_atomic_load on
-MSVC.
+++ /dev/null
-Fix a race condition in importlib _get_module_lock().
+++ /dev/null
-``print`` now shows correct usage hint for using Python 2 redirection
-syntax. Patch by Sanyam Khurana.
+++ /dev/null
-Fix a crash in some methods of `io.TextIOWrapper`, when the decoder's state
-is invalid. Patch by Oren Milman.
+++ /dev/null
-Fix an assertion failure in the write() method of `io.TextIOWrapper`, when
-the encoder doesn't return a bytes object. Patch by Oren Milman.
+++ /dev/null
-Fix an assertion failure in `zipimport.zipimporter.get_data` on Windows,
-when the return value of ``pathname.replace('/','\\')`` isn't a string.
-Patch by Oren Milman.
+++ /dev/null
-Include sys/sysmacros.h for major(), minor(), and makedev(). GNU C libray
-plans to remove the functions from sys/types.h.
+++ /dev/null
-Fix possible undefined behavior in _PyObject_FastCall_Prepend.
+++ /dev/null
-Consolidate CPython's global runtime state under a single struct. This
-improves discoverability of the runtime state.
+++ /dev/null
-Location information (``lineno`` and ``col_offset``) in f-strings is now
-(mostly) correct. This fixes tools like flake8 from showing warnings on the
-wrong line (typically the first line of the file).
+++ /dev/null
-Fix several possible instances of undefined behavior due to floating-point
-demotions.
+++ /dev/null
-For finer control of tracing behaviour when testing the interpreter, two new
-frame attributes have been added to control the emission of particular trace
-events: ``f_trace_lines`` (``True`` by default) to turn off per-line trace
-events; and ``f_trace_opcodes`` (``False`` by default) to turn on per-opcode
-trace events.
+++ /dev/null
-Raise a TypeError instead of SystemError in case warnings.onceregistry is
-not a dictionary. Patch by Oren Milman.
+++ /dev/null
-Switch to the abstract API when dealing with ``PyInterpreterState.modules``.
-This allows later support for all dict subclasses and other Mapping
-implementations. Also add a ``PyImport_GetModule()`` function to reduce
-a bunch of duplicated code.
+++ /dev/null
-Change direct usage of PyInterpreterState.modules to PyImport_GetModuleDict().
-Also introduce more uniformity in other code that deals with sys.modules.
-This helps reduce complications when working on sys.modules.
+++ /dev/null
-Fix assertion failures in case of a bad warnings.filters or
-warnings.defaultaction. Patch by Oren Milman.
+++ /dev/null
-Fix an assertion failure in `PyErr_WriteUnraisable()` in case of an
-exception with a bad ``__module__`` attribute. Patch by Oren Milman.
+++ /dev/null
-Fix an assertion failure in `subprocess.Popen()` on Windows, in case the env
-argument has a bad keys() method. Patch by Oren Milman.
+++ /dev/null
-Fix an assertion failure in `ctypes` class definition, in case the class has
-an attribute whose name is specified in ``_anonymous_`` but not in
-``_fields_``. Patch by Oren Milman.
+++ /dev/null
-Documented command-line interface of zipfile.
+++ /dev/null
-The data model reference and the porting section in the 3.6 What's New guide
-now cover the additional ``__classcell__`` handling needed for custom
-metaclasses to fully support PEP 487 and zero-argument ``super()``.
+++ /dev/null
-Fix Python 2 syntax in code for building the documentation.
+++ /dev/null
-Add canonical header link on each page to corresponding major version of the
-documentation. Patch by Matthias Bussonnier.
+++ /dev/null
-Document smtpd.py as effectively deprecated and add a pointer to aiosmtpd, a
-third-party asyncio-based replacement.
+++ /dev/null
-Link the documentation to its source file on GitHub.
+++ /dev/null
-Improve the documentation for, and links to, template strings by emphasizing
-their utility for internationalization, and by clarifying some usage
-constraints. (See also: bpo-20314, bpo-12518)
+++ /dev/null
-Add missing info of code object in inspect documentation.
+++ /dev/null
-the link targets for :func:`bytes` and :func:`bytearray` are now their
-respective type definitions, rather than the corresponding builtin function
-entries. Use :ref:`bytes <func-bytes>` and :ref:`bytearray <func-bytearray>`
-to reference the latter.
-
-In order to ensure this and future cross-reference updates are applied
-automatically, the daily documentation builds now disable the default output
-caching features in Sphinx.
+++ /dev/null
-Add missing attribute related constants in curses documentation.
+++ /dev/null
-Clarify doc on truth value testing. Original patch by Peter Thomassen.
+++ /dev/null
-Allow the pydoc server to bind to arbitrary hostnames.
+++ /dev/null
-Add RFC 7525 and Mozilla server side TLS links to SSL documentation.
+++ /dev/null
-Fix incomplete code snippet in the ZeroMQSocketListener and
-ZeroMQSocketHandler examples and adapt them to Python 3.
+++ /dev/null
-Add 10% to coverage of IDLE's test_configdialog. Update and augment
-description of the configuration system.
+++ /dev/null
-IDLE colors f-string prefixes (but not invalid ur prefixes).
+++ /dev/null
-Add _utest option to textview; add new tests. Increase coverage to 100%.
-Patches by Louie Lu and Terry Jan Reedy.
+++ /dev/null
-Help-about: use pep8 names and add tests. Increase coverage to 100%. Patches
-by Louie Lu, Cheryl Sabella, and Terry Jan Reedy.
+++ /dev/null
-Add docstrings for textview.py and use PEP8 names. Patches by Cheryl Sabella
-and Terry Jan Reedy.
+++ /dev/null
-Fix reference leaks in IDLE tests. Patches by Louie Lu and Terry Jan Reedy.
+++ /dev/null
-Add doc subsubsection about IDLE failure to start. Popup no-connection
-message directs users to this section.
+++ /dev/null
-Fix several problems with IDLE's autocompletion box. The following should
-now work: clicking on selection box items; using the scrollbar; selecting an
-item by hitting Return. Hangs on MacOSX should no longer happen. Patch by
-Louie Lu.
+++ /dev/null
-IDLE: Verify user-entered key sequences by trying to bind them with tk. Add
-tests for all 3 validation functions. Original patch by G Polo. Tests added
-by Cheryl Sabella.
+++ /dev/null
-Review and change idlelib.configdialog names.
-Lowercase method and attribute names.
-Replace 'colour' with 'color', expand overly cryptic names, delete unneeded underscores.
-Replace ``import *`` with specific imports. Patches by Cheryl Sabella.
+++ /dev/null
-IDLE no longer deletes a character after commenting out a region by a key
-shortcut. Add ``return 'break'`` for this and other potential conflicts
-between IDLE and default key bindings.
+++ /dev/null
-IDLE's basic custom key entry dialog now detects duplicates properly.
-Original patch by Saimadhav Heblikar.
+++ /dev/null
-IDLE: add docstrings to grep module. Patch by Cheryl Sabella
+++ /dev/null
-IDLE: Make several improvements to parenmatch. Add 'parens' style to
-highlight both opener and closer. Make 'default' style, which is not
-default, a synonym for 'opener'. Make time-delay work the same with all
-styles. Add help for config dialog extensions tab, including help for
-parenmatch. Add new tests. Original patch by Charles Wohlganger.
+++ /dev/null
-IDLE: Improve textview with docstrings, PEP8 names, and more tests. Patch by
-Cheryl Sabella.
+++ /dev/null
-IDLE: configdialog - Add docstrings and fix comments. Patch by Cheryl
-Sabella.
+++ /dev/null
-IDLE: Factor ConfigChanges class from configdialog, put in config; test. *
-In config, put dump test code in a function; run it and unittest in 'if
-__name__ == '__main__'. * Add class config.ConfigChanges based on
-changes_class_v4.py on bpo issue. * Add class test_config.ChangesTest,
-partly using configdialog_tests_v1.py. * Revise configdialog to use
-ConfigChanges; see tracker msg297804. * Revise test_configdialog to match
-configdialog changes. * Remove configdialog functions unused or moved to
-ConfigChanges. Cheryl Sabella contributed parts of the patch.
+++ /dev/null
-IDLE: call config.IdleConf.GetUserCfgDir only once.
+++ /dev/null
-IDLE: In Settings dialog, select font with Up, Down keys as well as mouse.
-Initial patch by Louie Lu.
+++ /dev/null
-IDLE: Remove unused variables in configdialog. One is a duplicate, one is
-set but cannot be altered by users. Patch by Cheryl Sabella.
+++ /dev/null
-IDLE: Add docstrings to browser.py. Patch by Cheryl Sabella.
+++ /dev/null
-IDLE: Add tests for ConfigParser subclasses in config. Patch by Louie Lu.
+++ /dev/null
-IDLE: Document ConfigDialog tk Vars, methods, and widgets in docstrings This
-will facilitate improving the dialog and splitting up the class. Original
-patch by Cheryl Sabella.
+++ /dev/null
-Document coverage details for idlelib tests.
-
-* Add section to idlelib/idle-test/README.txt.
-
-* Include check that branches are taken both ways.
-
-* Exclude IDLE-specific code that does not run during unit tests.
+++ /dev/null
-Add tests for idlelib.config.IdleConf.
-Increase coverage from 46% to 96%.
-Patch by Louie Lu.
+++ /dev/null
-IDLE: replace 'colour' with 'color' in configdialog.
+++ /dev/null
-IDLE -- Add more configdialog font page tests.
+++ /dev/null
-IDLE - Improve configdialog font page and tests.
-
-In configdialog: Document causal pathways in create_font_tab docstring. Simplify some attribute names. Move set_samples calls to var_changed_font (idea from Cheryl Sabella). Move related functions to positions after the create widgets function.
-
-In test_configdialog: Fix test_font_set so not order dependent. Fix renamed test_indent_scale so it tests the widget. Adjust tests for movement of set_samples call. Add tests for load functions. Put all font tests in one class and tab indent tests in another. Except for two lines, these tests completely cover the related functions.
+++ /dev/null
-IDLE: Add more tests for General tab.
+++ /dev/null
-IDLE -- Factor a VarTrace class out of ConfigDialog.
-
-Instance tracers manages pairs consisting of a tk variable and a
-callback function. When tracing is turned on, setting the variable
-calls the function. Test coverage for the new class is 100%.
+++ /dev/null
-IDLE - Finish rearranging methods of ConfigDialog Grouping methods
-pertaining to each tab and the buttons will aid writing tests and improving
-the tabs and will enable splitting the groups into classes.
+++ /dev/null
-IDLE - Use ttk widgets in ConfigDialog.
-Patches by Terry Jan Reedy and Cheryl Sabella.
+++ /dev/null
-IDLE - Factor FontPage(Frame) class from ConfigDialog.
-
-Slightly modified tests continue to pass. Fix General tests. Patch mostly by
-Cheryl Sabella.
+++ /dev/null
-Factor GenPage(Frame) class from ConfigDialog. The slightly modified tests
-continue to pass. Patch by Cheryl Sabella.
+++ /dev/null
-IDLE - Add an outline of a TabPage class in configdialog.
-Update existing classes to match outline.
-Initial patch by Cheryl Sabella.
+++ /dev/null
-IDLE: Calltips use `inspect.signature` instead of `inspect.getfullargspec`.
-This improves calltips for builtins converted to use Argument Clinic.
-Patch by Louie Lu.
+++ /dev/null
-Add tests for configdialog keys tab. Patch by Cheryl Sabella.
+++ /dev/null
-IDLE -- stop leaks in test_configdialog. Initial patch by Victor Stinner.
+++ /dev/null
-IDLE: Factor KeysPage(Frame) class from ConfigDialog. The slightly
-modified tests continue to pass. Patch by Cheryl Sabella.
+++ /dev/null
-Add tests for configdialog highlight tab. Patch by Cheryl Sabella.
+++ /dev/null
-IDLE: Factor HighPage(Frame) class from ConfigDialog. Patch by Cheryl
-Sabella.
+++ /dev/null
-Convert IDLE's built-in 'extensions' to regular features.
-
-About 10 IDLE features were implemented as supposedly optional
-extensions. Their different behavior could be confusing or worse for
-users and not good for maintenance. Hence the conversion.
-
-The main difference for users is that user configurable key bindings
-for builtin features are now handled uniformly. Now, editing a binding
-in a keyset only affects its value in the keyset. All bindings are
-defined together in the system-specific default keysets in config-
-extensions.def. All custom keysets are saved as a whole in config-
-extension.cfg. All take effect as soon as one clicks Apply or Ok.
-
-The affected events are '<<force-open-completions>>', '<<expand-word>>',
-'<<force-open-calltip>>', '<<flash-paren>>', '<<format-paragraph>>',
-'<<run-module>>', '<<check-module>>', and '<<zoom-height>>'. Any
-(global) customizations made before 3.6.3 will not affect their keyset-
-specific customization after 3.6.3. and vice versa.
-
-Inital patch by Charles Wohlganger.
+++ /dev/null
-IDLE - Do not modify tkinter.message in test_configdialog.
+++ /dev/null
-IDLE - Add docstrings and tests for outwin subclass of editor.
-
-Move some data and functions from the class to module level. Patch by Cheryl
-Sabella.
+++ /dev/null
-Rearrange IDLE condigdialog GenPage into Window, Editor, and Help sections.
+++ /dev/null
-IDLE -- fix tk entry box tests by deleting first. Adding to an int entry is
-not the same as deleting and inserting because int('') will fail.
+++ /dev/null
-Document how IDLE runs tkinter programs. IDLE calls tcl/tk update in the
-background in order to make live
-
-interaction and experimentatin with tkinter applications much easier.
+++ /dev/null
-IDLE - make tests pass with zzdummy extension disabled by default.
+++ /dev/null
-IDLE - Improve rstrip entry in doc. Strip trailing whitespace strips more
-than blank spaces. Multiline string literals are not skipped.
+++ /dev/null
-IDLE - Update non-key options in former extension classes. When applying
-configdialog changes, call .reload for each feature class. Change ParenMatch
-so updated options affect existing instances attached to existing editor
-windows.
+++ /dev/null
-IDLE code context -- fix code update and font update timers.
-
-Canceling timers prevents a warning message when test_idle completes.
+++ /dev/null
-path.resolve(strict=False) no longer cuts the path after the first element
-not present in the filesystem. Patch by Antoine Pietri.
+++ /dev/null
-inspect.unwrap() will now only try to unwrap an object
-sys.getrecursionlimit() times, to protect against objects which create a new
-object on every attribute access.
+++ /dev/null
-ABCMeta.__new__ now accepts ``**kwargs``, allowing abstract base classes to
-use keyword parameters in __init_subclass__. Patch by Nate Soares.
+++ /dev/null
-Reading a corrupt config file left configparser in an invalid state.
-Original patch by Florian Höch.
+++ /dev/null
-Prohibit Tasks to await on themselves.
+++ /dev/null
-Remove UNIX socket from FS before binding. Patch by Коренберг Марк.
+++ /dev/null
-Fix asyncio to support formatting of non-python coroutines.
+++ /dev/null
-Deprecate passing asyncio.Handles to run_in_executor.
+++ /dev/null
-Speedup asyncio.StreamReader.readexactly. Patch by Коренберг Марк.
+++ /dev/null
-Raise RuntimeError when transport's FD is used with add_reader, add_writer,
-etc.
+++ /dev/null
-Refuse monitoring processes if the child watcher has no loop attached. Patch
-by Vincent Michel.
+++ /dev/null
-Remove vestigial MacOS 9 macurl2path module and its tests.
+++ /dev/null
-Fix selectors incorrectly retain invalid file descriptors. Patch by Mark
-Williams.
+++ /dev/null
-Fix callbacks race in asyncio.SelectorLoop.sock_connect.
+++ /dev/null
-Fix slow pipes IO in asyncio. Patch by INADA Naoki.
+++ /dev/null
-Inspect functools.partial in asyncio.Handle.__repr__. Patch by iceboy.
+++ /dev/null
-Handle when SO_REUSEPORT isn't properly supported. Patch by Seth Michael
-Larson.
+++ /dev/null
-Fix socket accept exhaustion during high TCP traffic. Patch by Kevin Conway.
+++ /dev/null
-Fixed buffer overrun in binascii.b2a_qp() and binascii.a2b_qp().
+++ /dev/null
-Fix a crash in parse_envlist() when env contains byte strings. Patch by Eryk
-Sun.
+++ /dev/null
-Enable WebSocket URL schemes in urllib.parse.urljoin. Patch by Gergely Imreh
-and Markus Holtermann.
+++ /dev/null
-Get antigravity over HTTPS. Patch by Kaartic Sivaraam.
+++ /dev/null
-Prevent codecs.escape_encode() from raising SystemError when an empty
-bytestring is passed.
+++ /dev/null
-Warning message emitted by using inline flags in the middle of regular
-expression now contains a (truncated) regex pattern. Patch by Tim Graham.
+++ /dev/null
-Check for ERROR_ACCESS_DENIED in Windows implementation of os.stat(). Patch
-by Eryk Sun.
+++ /dev/null
-Fix UnboundLocalError in socket._sendfile_use_sendfile.
+++ /dev/null
-Prevent memory leak in win32_ver().
+++ /dev/null
-RobotFileParser now correctly returns default values for crawl_delay and
-request_rate. Initial patch by Peter Wirtz.
+++ /dev/null
-Fix memory leak on Windows in the os module (fix path_converter() function).
+++ /dev/null
-Fix a memory leak in os.getrandom() when the getrandom() is interrupted by a
-signal and a signal handler raises a Python exception.
+++ /dev/null
-Allow falsy values to be used for msg parameter of subTest().
+++ /dev/null
-In the traceback module, restore the formatting of exception messages like
-"Exception: None". This fixes a regression introduced in 3.5a2.
+++ /dev/null
-Fixed support of default root window in the tkinter.tix module. Added the
-master parameter in the DisplayStyle constructor.
+++ /dev/null
-Fix invalid exception handling in Lib/ctypes/macholib/dyld.py. Patch by
-Madison May.
+++ /dev/null
-random.choices() now has k as a keyword-only argument to improve the
-readability of common cases and come into line with the signature used in
-other languages.
+++ /dev/null
-Fixed possible crash in sqlite3.Connection.create_collation() if pass
-invalid string-like object as a name. Patch by Xiang Zhang.
+++ /dev/null
-Fixed possible use after free in the decompress() methods of the
-LZMADecompressor and BZ2Decompressor classes. Original patch by John Leitch.
+++ /dev/null
-Fixed calendar functions for extreme months: 0001-01 and 9999-12.
-
-Methods itermonthdays() and itermonthdays2() are reimplemented so that they
-don't call itermonthdates() which can cause datetime.date under/overflow.
+++ /dev/null
-Stop using localtime() and gmtime() in the time module.
-
-Introduced platform independent _PyTime_localtime API that is similar to
-POSIX localtime_r, but available on all platforms. Patch by Ed Schouten.
+++ /dev/null
-Fix function declaration (C flags) for the getiterator() method of
-xml.etree.ElementTree.Element.
+++ /dev/null
-compileall now supports pathlib.
+++ /dev/null
-imghdr now supports pathlib.
+++ /dev/null
-Fixed possible crashes when unpickle itertools objects from incorrect pickle
-data. Based on patch by John Leitch.
+++ /dev/null
-Improved error message when passing a non-iterable as a var-positional
-argument. Added opcode BUILD_TUPLE_UNPACK_WITH_CALL.
+++ /dev/null
-Optimized merging var-keyword arguments and improved error message when
-passing a non-mapping as a var-keyword argument.
+++ /dev/null
-Deprecated silent truncations in socket.htons and socket.ntohs. Original
-patch by Oren Milman.
+++ /dev/null
-gzip now supports pathlib. Patch by Ethan Furman.
+++ /dev/null
-bz2 module now supports pathlib. Initial patch by Ethan Furman.
+++ /dev/null
-Fixed writing non-BMP characters with binary format in plistlib.
+++ /dev/null
-lzma module now supports pathlib.
+++ /dev/null
-unittest.mock Mock autospec functions now properly support assert_called,
-assert_not_called, and assert_called_once.
+++ /dev/null
-The disassembler now decodes FORMAT_VALUE argument.
+++ /dev/null
-Fixed bytes path support in os.scandir() on Windows. Patch by Eryk Sun.
+++ /dev/null
-Fix references leaked by pdb in the handling of SIGINT handlers.
+++ /dev/null
-Make webbrowser support Chrome on Mac OS X. Patch by Ned Batchelder.
+++ /dev/null
-Distutils.sdist now looks for README and setup.py files with case
-sensitivity. This behavior matches that found in Setuptools 6.0 and later.
-See `setuptools 100 <https://github.com/pypa/setuptools/issues/100>`_ for
-rationale.
+++ /dev/null
-timeit autorange now uses a single loop iteration if the benchmark takes
-less than 10 seconds, instead of 10 iterations. "python3 -m timeit -s
-'import time' 'time.sleep(1)'" now takes 4 seconds instead of 40 seconds.
+++ /dev/null
-timeit now repeats the benchmarks 5 times instead of only 3 to make
-benchmarks more reliable.
+++ /dev/null
-timeit: remove ``-c/--clock`` and ``-t/--time`` command line options which
-were deprecated since Python 3.3.
+++ /dev/null
-Fix error building socket module when multithreading is disabled.
+++ /dev/null
-In the "io" module, the argument to BufferedReader and BytesIO's read1()
-methods is now optional and can be -1, matching the BufferedIOBase
-specification.
+++ /dev/null
-Fix C implemented asyncio.Future didn't work on Windows.
+++ /dev/null
-Optimize csv.DictWriter for large number of columns. Patch by Mariatta
-Wijaya.
+++ /dev/null
-Command-line interface of the zipfile module now uses argparse. Added
-support of long options.
+++ /dev/null
-timeit now uses the sequence 1, 2, 5, 10, 20, 50,... instead of 1, 10,
-100,... for autoranging.
+++ /dev/null
-re.sub() now raises an error for invalid numerical group reference in
-replacement template even if the pattern is not found in the string. Error
-message for invalid group reference now includes the group index and the
-position of the reference. Based on patch by SilentGhost.
+++ /dev/null
-shutil.make_archive() no longer adds entry "./" to ZIP archive.
+++ /dev/null
-Fixed HList.header_exists() in tkinter.tix module by addin a workaround to
-Tix library bug.
+++ /dev/null
-Generated names for Tkinter widgets now start by the "!" prefix for
-readability.
+++ /dev/null
-Fix iterator of C implemented asyncio.Future doesn't accept non-None value
-is passed to it.send(val).
+++ /dev/null
-os.fwalk() no longer fails on broken links.
+++ /dev/null
-The textwrap.TextWrapper class now honors non-breaking spaces. Based on
-patch by Kaarle Ritvanen.
+++ /dev/null
-calendar.TextCalendar.prmonth() no longer prints a space at the start of new
-line after printing a month's calendar. Patch by Xiang Zhang.
+++ /dev/null
-calendar.TextCalendar.prweek() no longer prints a space after a weeks's
-calendar. calendar.TextCalendar.pryear() no longer prints redundant newline
-after a year's calendar. Based on patch by Xiang Zhang.
+++ /dev/null
-Fixed bugs in tkinter.ttk.LabeledScale and tkinter.Scale caused by
-representing the scale as float value internally in Tk. tkinter.IntVar now
-works if float value is set to underlying Tk variable.
+++ /dev/null
-The webbrowser in an X environment now prefers using the default browser
-directly. Also, the webbrowser register() function now has a documented
-'preferred' argument, to specify browsers to be returned by get() with no
-arguments. Patch by David Steele
+++ /dev/null
-The webbrowser module now supports Firefox 36+ and derived browsers. Based
-on patch by Oleg Broytman.
+++ /dev/null
-tarfile.open() with mode "r" or "r:" now tries to open a tar file with
-compression before trying to open it without compression. Otherwise it had
-50% chance failed with ignore_zeros=True.
+++ /dev/null
-Fixed segfault in curses's addch() with ncurses6.
+++ /dev/null
-LZMA compressor and decompressor no longer raise exceptions if given empty
-data twice. Patch by Benjamin Fogle.
+++ /dev/null
-Fixed possible crash in _io.TextIOWrapper deallocator when the garbage
-collector is invoked in other thread. Based on patch by Sebastian Cufre.
+++ /dev/null
-Fixed possible DoS and arbitrary code execution when handle plural form
-selections in the gettext module. The expression parser now supports exact
-syntax supported by GNU gettext.
+++ /dev/null
-Makes Path.resolve() succeed on paths that do not exist. Patch by Vajrasky
-Kok
+++ /dev/null
-In the "http.server" module, parse the protocol version if possible, to
-avoid using HTTP 0.9 in some error responses.
+++ /dev/null
-In ctypes, prevent a crash calling the from_buffer() and from_buffer_copy()
-methods on abstract classes like Array.
+++ /dev/null
-Remove the subprocess.Popen.wait endtime parameter. It was deprecated in
-3.4 and undocumented prior to that.
+++ /dev/null
-Regular expression patterns, _sre.SRE_Pattern objects created by
-re.compile(), become comparable (only x==y and x!=y operators). This change
-should fix the issue #18383: don't duplicate warning filters when the
-warnings module is reloaded (thing usually only done in unit tests).
+++ /dev/null
-Restored the __reduce__() methods of datetime objects.
+++ /dev/null
-Add new :data:`socket.TCP_CONGESTION` (Linux 2.6.13) and
-:data:`socket.TCP_USER_TIMEOUT` (Linux 2.6.37) constants. Patch written by
-Omar Sandoval.
+++ /dev/null
-Add sys.getandroidapilevel(): return the build time API version of Android
-as an integer. Function only available on Android.
+++ /dev/null
-To assist with upgrades from 2.7, the previously documented deprecation of
-``inspect.getfullargspec()`` has been reversed. This decision may be
-revisited again after the Python 2.7 branch is no longer officially
-supported.
+++ /dev/null
-Fix a regression introduced in warnings.catch_warnings(): call
-warnings.showwarning() if it was overridden inside the context manager.
+++ /dev/null
-Unknown escapes consisting of ``'\'`` and an ASCII letter in re.sub()
-replacement templates regular expressions now are errors.
+++ /dev/null
-dbm.dumb now supports reading read-only files and no longer writes the index
-file when it is not changed. A deprecation warning is now emitted if the
-index file is missed and recreated in the 'r' and 'w' modes (will be an
-error in future Python releases).
+++ /dev/null
-The chown() method of the tarfile.TarFile class does not fail now when the
-grp module cannot be imported, as for example on Android platforms.
+++ /dev/null
-multiprocessing.set_forkserver_preload() would crash the forkserver process
-if a preloaded module instantiated some multiprocessing objects such as
-locks.
+++ /dev/null
-subprocess.Popen uses /system/bin/sh on Android as the shell, instead of
-/bin/sh.
+++ /dev/null
-Fixed a crash in resource.prlimit() when passing a sequence that doesn't own
-its elements as limits.
+++ /dev/null
-Fix bugs in WeakValueDictionary.setdefault() and WeakValueDictionary.pop()
-when a GC collection happens in another thread.
+++ /dev/null
-Fixed a crash when deallocate deep ElementTree.
+++ /dev/null
-Remove editor artifacts from Tix.py.
+++ /dev/null
-old keys should not remove new values from WeakValueDictionary when
-collecting from another thread.
+++ /dev/null
-curses.ascii predicates now work correctly with negative integers.
+++ /dev/null
-Fixed recursion errors in large or resized curses.textpad.Textbox. Based on
-patch by Tycho Andersen.
+++ /dev/null
-Prevent infinite loop in pathlib.resolve() on Windows
+++ /dev/null
-Update authorizer constants in sqlite3 module. Patch by Dingyuan Wang.
+++ /dev/null
-inspect.getframeinfo() now correctly shows the first line of a context.
-Patch by Sam Breese.
+++ /dev/null
-Fix unittest.mock._Call helper: don't ignore the name parameter anymore.
-Patch written by Jiajun Huang.
+++ /dev/null
-In urllib.request, suffixes in no_proxy environment variable with leading
-dots could match related hostnames again (e.g. .b.c matches a.b.c). Patch by
-Milan Oberkirch.
+++ /dev/null
-The unittest.mock.sentinel attributes now preserve their identity when they
-are copied or pickled.
+++ /dev/null
-Fixed race condition in C implementation of functools.lru_cache. KeyError
-could be raised when cached function with full cache was simultaneously
-called from differen threads with the same uncached arguments.
+++ /dev/null
-Removed support of deprecated undocumented keyword arguments in methods of
-regular expression objects.
+++ /dev/null
-A format string argument for string.Formatter.format() is now positional-
-only.
+++ /dev/null
-Removed deprecated features in the http.cookies module.
+++ /dev/null
-Fixed infinite recursion in the repr of uninitialized ctypes.CDLL instances.
+++ /dev/null
-Removed support of deprecated argument "exclude" in tarfile.TarFile.add().
+++ /dev/null
-Removed deprecated function ntpath.splitunc().
+++ /dev/null
-Fixed the comparison of mock.MagickMock with mock.ANY.
+++ /dev/null
-Fix a regression in argparse that help messages would wrap at non-breaking
-spaces.
+++ /dev/null
-Fix subprocess.Popen.wait() when the child process has exited to a stopped
-instead of terminated state (ex: when under ptrace).
+++ /dev/null
-The help of a builtin or extension class now includes the constructor
-signature if __text_signature__ is provided for the class.
+++ /dev/null
-The extend() method is now called instead of the append() method when
-unpickle collections.deque and other list-like objects. This can speed up
-unpickling to 2 times.
+++ /dev/null
-Unused install_misc command is now removed. It has been documented as
-unused since 2000. Patch by Eric N. Vander Weele.
+++ /dev/null
-Add WrapperDescriptorType, MethodWrapperType, and MethodDescriptorType
-built-in types to types module. Original patch by Manuel Krebber.
+++ /dev/null
-Fixed out-of-bounds buffer access in the group() method of the match object.
-Based on patch by WGH.
+++ /dev/null
-Prevent infinite loop in pathlib.Path.mkdir
+++ /dev/null
-Fix datetime.fromtimestamp() regression introduced in Python 3.6.0: check
-minimum and maximum years.
+++ /dev/null
-Various updates to typing module: typing.Counter, typing.ChainMap, improved
-ABC caching, etc. Original PRs by Jelle Zijlstra, Ivan Levkivskyi, Manuel
-Krebber, and Łukasz Langa.
+++ /dev/null
-importlib.reload() now raises ModuleNotFoundError if the module lacks a
-spec.
+++ /dev/null
-locale.format_string now supports the 'monetary' keyword argument, and
-locale.format is deprecated.
+++ /dev/null
-Fixed different behaviour of Decimal.from_float() for _decimal and
-_pydecimal. Thanks Andrew Nester.
+++ /dev/null
-Improve some deprecations in importlib. Some deprecated methods now emit
-DeprecationWarnings and have better descriptive messages.
+++ /dev/null
-Add uuid.SafeUUID and uuid.UUID.is_safe to relay information from the
-platform about whether generated UUIDs are generated with a multiprocessing
-safe method.
+++ /dev/null
-Fix file object leak in aifc.open() when file is given as a filesystem path
-and is not in valid AIFF format. Patch by Anthony Zhang.
+++ /dev/null
-Altering a kwarg dictionary passed to functools.partial() no longer affects
-a partial object after creation.
+++ /dev/null
-urrlib.parse.quote is now based on RFC 3986 and hence includes '~' in the
-set of characters that is not quoted by default. Patch by Christian Theune
-and Ratnadeep Debnath.
+++ /dev/null
-get_extra_info() raises exception if get called on closed ssl transport.
-Patch by Nikolay Kim.
+++ /dev/null
-Start a transaction implicitly before a DML statement. Patch by Aviv
-Palivoda.
+++ /dev/null
-Add a test that checks that cwd parameter of Popen() accepts PathLike
-objects. Patch by Sayan Chowdhury.
+++ /dev/null
-Fix assertion error in threading._DummyThread.is_alive().
+++ /dev/null
-Method register_function() of xmlrpc.server.SimpleXMLRPCDispatcher and its
-subclasses can now be used as a decorator.
+++ /dev/null
-SimpleXMLRPCDispatcher no longer chains KeyError (or any other exception) to
-exception(s) raised in the dispatched methods. Patch by Petr Motejlek.
+++ /dev/null
-Fix asyncio to support instantiation of new event loops in child processes.
+++ /dev/null
-Fix Task.current_task and Task.all_tasks implemented in C to accept None
-argument as their pure Python implementation.
+++ /dev/null
-asyncio.subprocess.SubprocessStreamProtocol no longer closes before all
-pipes are closed.
+++ /dev/null
-Fix out of bound iteration in asyncio.Future.remove_done_callback
-implemented in C.
+++ /dev/null
-Migrate sqlite3 module to _v2 API. Patch by Aviv Palivoda.
+++ /dev/null
-Allow use of path-like object as a single argument in ConfigParser.read().
-Patch by David Ellis.
+++ /dev/null
-Add new :data:`socket.TCP_NOTSENT_LOWAT` (Linux 3.12) constant. Patch by
-Nathaniel J. Smith.
+++ /dev/null
-Added support for bytes paths in os.fwalk().
+++ /dev/null
-index() and count() methods of collections.abc.Sequence now check identity
-before checking equality when do comparisons.
+++ /dev/null
-The zipfile module now accepts path-like objects for external paths.
+++ /dev/null
-Speed up importing the webbrowser module. webbrowser.register() is now
-thread-safe.
+++ /dev/null
-Fix a bug that prevented array 'Q', 'L' and 'I' from accepting big intables
-(objects that have __int__) as elements.
+++ /dev/null
-os.stat() and os.DirEntry.inode() now convert inode (st_ino) using unsigned
-integers.
+++ /dev/null
-Use C library implementation for math functions erf() and erfc().
+++ /dev/null
-Using non-integer value for selecting a plural form in gettext is now
-deprecated.
+++ /dev/null
-Fixed possible failing or crashing input() if attributes "encoding" or
-"errors" of sys.stdin or sys.stdout are not set or are not strings.
+++ /dev/null
-Fix crashes in partial.__repr__ if the keys of partial.keywords are not
-strings. Patch by Michael Seifert.
+++ /dev/null
-Fixed crashes in repr of recursive buffered file-like objects.
+++ /dev/null
-faulthandler: Restore the old sigaltstack during teardown. Patch by
-Christophe Zeitouny.
+++ /dev/null
-The mode argument of os.makedirs() no longer affects the file permission
-bits of newly-created intermediate-level directories.
+++ /dev/null
-Release references to tasks, their arguments and their results as soon as
-they are finished in multiprocessing.Pool.
+++ /dev/null
-Avoid incorrect errors raised by Path.mkdir(exist_ok=True) when the OS gives
-priority to errors such as EACCES over EEXIST.
+++ /dev/null
-The zipapp module now supports general path-like objects, not just
-pathlib.Path.
+++ /dev/null
-unittest.TestCase.assertRaises() now manually breaks a reference cycle to
-not keep objects alive longer than expected.
+++ /dev/null
-Fixed a bug in pools in multiprocessing.pool that raising an exception at
-the very first of an iterable may swallow the exception or make the program
-hang. Patch by Davin Potts and Xiang Zhang.
+++ /dev/null
-Added support of file descriptors in os.scandir() on Unix. os.fwalk() is
-sped up by 2 times by using os.scandir().
+++ /dev/null
-Fixed multiple crashes in ElementTree caused by race conditions and wrong
-types.
+++ /dev/null
-Element.getiterator() and the html parameter of XMLParser() were deprecated
-only in the documentation (since Python 3.2 and 3.4 correspondintly). Now
-using them emits a deprecation warning.
+++ /dev/null
-Sped up reading encrypted ZIP files by 2 times.
+++ /dev/null
-Fix a crash in itertools.chain.from_iterable when encountering long runs of
-empty iterables.
+++ /dev/null
-Fixed memory leaks in the replace() method of datetime and time objects when
-pass out of bound fold argument.
+++ /dev/null
-Fixed comparison check for ipaddress.ip_interface objects. Patch by Sanjay
-Sundaresan.
+++ /dev/null
-Support If-Modified-Since HTTP header (browser cache). Patch by Pierre
-Quentel.
+++ /dev/null
-Improve struct.pack_into() exception messages for problems with the buffer
-size and offset. Patch by Andrew Nester.
+++ /dev/null
-Add math.remainder operation, implementing remainder as specified in IEEE
-754.
+++ /dev/null
-re.escape() now escapes only regex special characters.
+++ /dev/null
-Pickling and copying ImportError now preserves name and path attributes.
+++ /dev/null
-Allowed calling the close() method of the zip entry writer object multiple
-times. Writing to a closed writer now always produces a ValueError.
+++ /dev/null
-Test that sqlite3 trace callback is not called multiple times when schema is
-changing. Indirectly fixed by switching to use sqlite3_prepare_v2() in
-bpo-9303. Patch by Aviv Palivoda.
+++ /dev/null
-Fixed arbitrary unchaining of RuntimeError exceptions in
-contextlib.contextmanager. Patch by Siddharth Velankar.
+++ /dev/null
-Fixed race condition in pathlib mkdir with flags parents=True. Patch by
-Armin Rigo.
+++ /dev/null
-_io._IOBase.readlines will check if it's closed first when hint is present.
+++ /dev/null
-Compiled regular expression and match objects in the re module now support
-copy.copy() and copy.deepcopy() (they are considered atomic).
+++ /dev/null
-Fix PathLike support for shutil.unpack_archive. Patch by Jelle Zijlstra.
+++ /dev/null
-Fixed crashes in IOBase methods __next__() and readlines() when readline()
-or __next__() respectively return non-sizeable object. Fixed possible other
-errors caused by not checking results of PyObject_Size(), PySequence_Size(),
-or PyMapping_Size().
+++ /dev/null
-Column widths in the output of dis.dis() are now adjusted for large line
-numbers and instruction offsets.
+++ /dev/null
-Fixed leaks and crashes in errors handling in the parser module.
+++ /dev/null
-Preserve generator state when _random.Random.setstate() raises an exception.
-Patch by Bryan Olson.
+++ /dev/null
-inspect.isabstract() now works during __init_subclass__. Patch by Nate
-Soares.
+++ /dev/null
-Add support for curses.A_ITALIC.
+++ /dev/null
-unittest's assertAlmostEqual and assertNotAlmostEqual provide a better
-message in case of failure which includes the difference between left and
-right arguments. (patch by Giampaolo Rodola')
+++ /dev/null
-The seek() and tell() methods of io.FileIO now set the internal seekable
-attribute to avoid one syscall on open() (in buffered or text mode).
+++ /dev/null
-Fix getsockname() for unbound AF_UNIX sockets on Linux.
+++ /dev/null
-Various updates to typing module: add typing.NoReturn type, use
-WrapperDescriptorType, minor bug-fixes. Original PRs by Jim Fasarakis-
-Hilliard and Ivan Levkivskyi.
+++ /dev/null
-binascii.b2a_uu() and uu.encode() now support using ``'`'`` as zero instead
-of space.
+++ /dev/null
-Avoid KeyboardInterrupt tracebacks in forkserver helper process when Ctrl-C
-is received.
+++ /dev/null
-Compiled regular expression objects with the re.LOCALE flag no longer depend
-on the locale at compile time. Only the locale at matching time affects the
-result of matching.
+++ /dev/null
-Removed the __init__ methods of _json's scanner and encoder. Misusing them
-could cause memory leaks or crashes. Now scanner and encoder objects are
-completely initialized in the __new__ methods.
+++ /dev/null
-rewrite cgi.parse_multipart, reusing the FieldStorage class and making its
-results consistent with those of FieldStorage for multipart/form-data
-requests. Patch by Pierre Quentel.
+++ /dev/null
-Fix range checking in GB18030 decoder. Original patch by Ma Lin.
+++ /dev/null
-Optimized case-insensitive matching and searching of regular expressions.
+++ /dev/null
-Weaken the condition of deprecation warnings for inline modifiers. Now
-allowed several subsequential inline modifiers at the start of the pattern
-(e.g. ``'(?i)(?s)...'``). In verbose mode whitespaces and comments now are
-allowed before and between inline modifiers (e.g. ``'(?x) (?i) (?s)...'``).
+++ /dev/null
-Enhanced regular expressions optimization. This increased the performance of
-matching some patterns up to 25 times.
+++ /dev/null
-contextlib.AbstractContextManager now supports anti-registration by setting
-__enter__ = None or __exit__ = None, following the pattern introduced in
-bpo-25958. Patch by Jelle Zijlstra.
+++ /dev/null
-Fixed ``Task.cancel()`` can be ignored when the task is running coroutine
-and the coroutine returned without any more ``await``.
+++ /dev/null
-Compiling regular expression in debug mode on CPython now displays the
-compiled bytecode in human readable form.
+++ /dev/null
-The :mod:`macpath` is now deprecated and will be removed in Python 3.8.
+++ /dev/null
-Removed previously deprecated in Python 2.4 classes Plist, Dict and
-_InternalDict in the plistlib module. Dict values in the result of
-functions readPlist() and readPlistFromBytes() are now normal dicts. You no
-longer can use attribute access to access items of these dictionaries.
+++ /dev/null
-imaplib and poplib now catch the Windows socket WSAEINVAL error (code 10022)
-on shutdown(SHUT_RDWR): An invalid operation was attempted. This error
-occurs sometimes on SSL connections.
+++ /dev/null
-Warnings emitted when compile a regular expression now always point to the
-line in the user code. Previously they could point into inners of the re
-module if emitted from inside of groups or conditionals.
+++ /dev/null
-Fix AttributeError when using SimpleQueue.empty() under *spawn* and
-*forkserver* start methods.
+++ /dev/null
-importlib.find_spec() raises ModuleNotFoundError instead of AttributeError
-if the specified parent module is not a package (i.e. lacks a __path__
-attribute).
+++ /dev/null
-inspect.signature() now supports callables with variable-argument parameters
-wrapped with partialmethod. Patch by Dong-hee Na.
+++ /dev/null
-Fix handling escape characters in HZ codec. Based on patch by Ma Lin.
+++ /dev/null
-multiprocessing.Queue._feed background running thread do not break from main
-loop on exception.
+++ /dev/null
-Deprecate invalid ctypes call protection on Windows. Patch by Mariatta
-Wijaya.
+++ /dev/null
-Allow registering at-fork handlers.
+++ /dev/null
-Fix the problem that logging.handlers.SysLogHandler cannot handle IPv6
-addresses.
+++ /dev/null
-Fix possible overflow when organize struct.pack_into error message. Patch
-by Yuan Liu.
+++ /dev/null
-Add TextIOWrapper.reconfigure() and a TextIOWrapper.write_through attribute.
+++ /dev/null
-faulthandler now correctly filters and displays exception codes on Windows
+++ /dev/null
-Loggers are now pickleable.
+++ /dev/null
-Addded empty __slots__ to abc.ABC. This allows subclassers to deny __dict__
-and __weakref__ creation. Patch by Aaron Hall.
+++ /dev/null
-On Windows, subprocess.Popen.communicate() now also ignore EINVAL on
-stdin.write() if the child process is still running but closed the pipe.
+++ /dev/null
-modify() method of poll(), epoll() and devpoll() based classes of selectors
-module is around 10% faster. Patch by Giampaolo Rodola'.
+++ /dev/null
-Fix waiter cancellation in asyncio.Lock. Patch by Mathieu Sornay.
+++ /dev/null
-Closing transport during handshake process leaks open socket. Patch by
-Nikolay Kim
+++ /dev/null
-Fix ssl sockets leaks when connection is aborted in asyncio/ssl
-implementation. Patch by Michaël Sghaïer.
+++ /dev/null
-re.compile() no longer raises a BytesWarning when compiling a bytes instance
-with misplaced inline modifier. Patch by Roy Williams.
+++ /dev/null
-Updates to typing module: Add generic AsyncContextManager, add support for
-ContextManager on all versions. Original PRs by Jelle Zijlstra and Ivan
-Levkivskyi
+++ /dev/null
-multiprocessing.Queue.get() with a timeout now polls its reader in non-
-blocking mode if it succeeded to acquire the lock but the acquire took
-longer than the timeout.
+++ /dev/null
-selectors does not take KeyboardInterrupt and SystemExit into account,
-leaving a fd in a bad state in case of error. Patch by Giampaolo Rodola'.
+++ /dev/null
-The dis.dis() function now is able to disassemble nested code objects.
+++ /dev/null
-Fix path calculation in `imp.load_package()`, fixing it for cases when a
-package is only shipped with bytecodes. Patch by Alexandru Ardelean.
+++ /dev/null
-Don't log exceptions if Task/Future "cancel()" method was called.
+++ /dev/null
-The traceback no longer displayed for SystemExit raised in a callback
-registered by atexit.
+++ /dev/null
-Fix multiprocessing.Process.exitcode to return the opposite of the signal
-number when the process is killed by a signal (instead of 255) when using
-the "forkserver" method.
+++ /dev/null
-Avoid race condition in multiprocessing cleanup.
+++ /dev/null
-pkgutil.walk_packages function now raises ValueError if *path* is a string.
-Patch by Sanyam Khurana.
+++ /dev/null
-lib2to3 now recognizes ``rb'...'`` and ``f'...'`` strings.
+++ /dev/null
-Fix race condition between signal delivery and wakeup file descriptor.
-Patch by Nathaniel Smith.
+++ /dev/null
-Functional API of enum allows to create empty enums. Patched by Dong-hee Na
+++ /dev/null
-Fixed the lgettext() family of functions in the gettext module. They now
-always return bytes.
+++ /dev/null
-Fix concurrent.futures.thread.ThreadPoolExecutor threads to have a non
-repr() based thread name by default when no thread_name_prefix is supplied.
-They will now identify themselves as "ThreadPoolExecutor-y_n".
+++ /dev/null
-struct.Struct.format type is now :class:`str` instead of :class:`bytes`.
+++ /dev/null
-The description of a unittest subtest now preserves the order of keyword
-arguments of TestCase.subTest().
+++ /dev/null
-Prohibited the '=' character in environment variable names in
-``os.putenv()`` and ``os.spawn*()``.
+++ /dev/null
-os.listdir() and os.scandir() now emit bytes names when called with bytes-
-like argument.
+++ /dev/null
-ftplib.FTP.putline() now throws ValueError on commands that contains CR or
-LF. Patch by Dong-hee Na.
+++ /dev/null
-Update zlib to 1.2.11.
+++ /dev/null
-Fix a segmentation fault in _hashopenssl when standard hash functions
-such as md5 are not available in the linked OpenSSL library. As in
-some special FIPS-140 build environments.
+++ /dev/null
-Add a ``close()`` method to ``multiprocessing.Process``.
+++ /dev/null
-Fix email header value parser dropping folding white space in certain cases.
+++ /dev/null
-Add missing parameter "n" on multiprocessing.Condition.notify().
-
-The doc claims multiprocessing.Condition behaves like threading.Condition,
-but its notify() method lacked the optional "n" argument (to specify the
-number of sleepers to wake up) that threading.Condition.notify() accepts.
+++ /dev/null
-Avoid importing ``sysconfig`` from ``site`` to improve startup speed. Python
-startup is about 5% faster on Linux and 30% faster on macOS.
+++ /dev/null
-Fix bug when modifying os.environ while iterating over it
+++ /dev/null
-signal.setitimer() may disable the timer when passed a tiny value.
-
-Tiny values (such as 1e-6) are valid non-zero values for setitimer(), which
-is specified as taking microsecond-resolution intervals. However, on some
-platform, our conversion routine could convert 1e-6 into a zero interval,
-therefore disabling the timer instead of (re-)scheduling it.
+++ /dev/null
-Use keywords in the ``repr`` of ``datetime.timedelta``.
+++ /dev/null
-Fix out of bounds write in `asyncio.CFuture.remove_done_callback()`.
+++ /dev/null
-socket.close() now ignores ECONNRESET error.
+++ /dev/null
-Added multiprocessing.Process.kill method to terminate using the SIGKILL
-signal on Unix.
+++ /dev/null
-Fix segfault in readline when using readline's history-size option. Patch
-by Nir Soffer.
+++ /dev/null
-Fix multiprocessing.Queue.join_thread(): it now waits until the thread
-completes, even if the thread was started by the same process which created
-the queue.
+++ /dev/null
-Change ``ttk.OptionMenu`` radiobuttons to be unique across instances of
-``OptionMenu``.
+++ /dev/null
-Remove obsolete code in readline module for platforms where GNU readline is
-older than 2.1 or where select() is not available.
+++ /dev/null
-Fix multiprocessing.sharedctypes to recognize typecodes ``'q'`` and ``'Q'``.
+++ /dev/null
-Fix decrementing a borrowed reference in tracemalloc.
+++ /dev/null
-Fix ``unittest.mock``'s autospec to not fail on method-bound builtin
-functions. Patch by Aaron Gallagher.
+++ /dev/null
-Fix too many fds in processes started with the "forkserver" method.
-
-A child process would inherit as many fds as the number of still-running
-children.
+++ /dev/null
-Fix shared memory performance regression in multiprocessing in 3.x.
-
-Shared memory used anonymous memory mappings in 2.x, while 3.x mmaps actual
-files. Try to be careful to do as little disk I/O as possible.
+++ /dev/null
-Support tzinfo objects with sub-minute offsets.
+++ /dev/null
-Fix handling of long oids in ssl. Based on patch by Christian Heimes.
+++ /dev/null
-Added a ``setStream`` method to ``logging.StreamHandler`` to allow the
-stream to be set after creation.
+++ /dev/null
-Added support for CAN ISO-TP protocol in the socket module.
+++ /dev/null
-Fixed a crash when using asyncio and threads.
+++ /dev/null
-``pathlib.Path`` objects now include an ``is_mount()`` method (only
-implemented on POSIX). This is similar to ``os.path.ismount(p)``. Patch by
-Cooper Ry Lees.
+++ /dev/null
-Allow `logging.config.fileConfig` to accept kwargs and/or args.
+++ /dev/null
-Fix `copyreg._slotnames()` mangled attribute calculation for classes whose
-name begins with an underscore. Patch by Shane Harvey.
+++ /dev/null
-ttk: fix the destroy() method of LabeledScale and OptionMenu classes.
-Call the parent destroy() method even if the used attribute doesn't
-exist. The LabeledScale.destroy() method now also explicitly clears label and
-scale attributes to help the garbage collector to destroy all widgets.
+++ /dev/null
-Optimize array.array comparison. It is now from 10x up to 70x faster when
-comparing arrays holding values of the same integer type.
\ No newline at end of file
+++ /dev/null
-Add an ``include_file`` parameter to ``zipapp.create_archive()``
+++ /dev/null
-socketserver.ForkingMixIn.server_close() now waits until all child processes
-completed to prevent leaking zombie processes.
+++ /dev/null
-Fixed miscellaneous errors in asyncio speedup module.
+++ /dev/null
-There are a number of uninformative asserts in the `multiprocessing` module,
-as noted in issue 5001. This change fixes two of the most potentially
-problematic ones, since they are in error-reporting code, in the
-`multiprocessing.managers.convert_to_error` function. (It also makes more
-informative a ValueError message.) The only potentially problematic change
-is that the AssertionError is now a TypeError; however, this should also
-help distinguish it from an AssertionError being *reported* by the
-function/its caller (such as in issue 31169). - Patch by Allen W. Smith
-(drallensmith on github).
+++ /dev/null
-`dis` now works with asynchronous generator and coroutine objects. Patch by
-George Collins based on diagnosis by Luciano Ramalho.
+++ /dev/null
-Non-daemonic threads created by a multiprocessing.Process are now joined on
-child exit.
+++ /dev/null
-The ssl and hashlib modules now call OPENSSL_add_all_algorithms_noconf() on
-OpenSSL < 1.1.0. The function detects CPU features and enables optimizations
-on some CPU architectures such as POWER8. Patch is based on research from
-Gustavo Serra Scalet.
+++ /dev/null
-Convert zipimport to use Argument Clinic.
+++ /dev/null
-Many asserts in `multiprocessing` are now more informative, and some error types have been changed to more specific ones.
+++ /dev/null
-pydoc: the stop() method of the private ServerThread class now waits until
-DocServer.serve_until_quit() completes and then explicitly sets its
-docserver attribute to None to break a reference cycle.
+++ /dev/null
-configparser: reading defaults in the ``ConfigParser()`` constructor is now
-using ``read_dict()``, making its behavior consistent with the rest of the
-parser. Non-string keys and values in the defaults dictionary are now being
-implicitly converted to strings. Patch by James Tocknell.
+++ /dev/null
-xmlrpc.server now explicitly breaks reference cycles when using
-sys.exc_info() in code handling exceptions.
+++ /dev/null
-concurrent.futures: WorkItem.run() used by ThreadPoolExecutor now breaks a
-reference cycle between an exception object and the WorkItem object.
+++ /dev/null
-Update some methods in the _pyio module to also accept integer types. Patch
-by Oren Milman.
+++ /dev/null
-The subprocess module now sets the filename when FileNotFoundError
-is raised on POSIX systems due to the executable or cwd not being found.
+++ /dev/null
-``AF_VSOCK`` has been added to the socket interface which allows
-communication between virtual machines and their host.
+++ /dev/null
-Fix ctypes producing wrong PEP 3118 type codes for integer types.
+++ /dev/null
-Fix ``fileinput.FileInput(files, inplace=True)`` when ``files`` contain
-``pathlib.Path`` objects.
+++ /dev/null
-The ``map()`` and ``as_completed()`` iterators in ``concurrent.futures``
-now avoid keeping a reference to yielded objects.
\ No newline at end of file
+++ /dev/null
-concurrent.futures.ProcessPoolExecutor.shutdown() now explicitly closes the
-call queue. Moreover, shutdown(wait=True) now also join the call queue
-thread, to prevent leaking a dangling thread.
+++ /dev/null
-``string.Template`` subclasses can optionally define ``braceidpattern`` if
-they want to specify different placeholder patterns inside and outside the
-braces. If None (the default) it falls back to ``idpattern``.
+++ /dev/null
-Add TLS 1.3 cipher suites and OP_NO_TLSv1_3.
+++ /dev/null
-expat: Update libexpat from 2.2.3 to 2.2.4. Fix copying of partial
-characters for UTF-8 input (libexpat bug 115):
-https://github.com/libexpat/libexpat/issues/115
+++ /dev/null
-Micro-optimize :func:`asyncio._get_running_loop` to become up to 10% faster.
+++ /dev/null
-Fix string concatenation bug in rare error path in the subprocess module
+++ /dev/null
-A new function ``argparse.ArgumentParser.parse_intermixed_args`` provides the
-ability to parse command lines where there user intermixes options and
-positional arguments.
+++ /dev/null
-SSLSocket.sendall() now uses memoryview to create slices of data. This fixes
-support for all bytes-like object. It is also more efficient and avoids
-costly copies.
+++ /dev/null
-The SSL module now raises SSLCertVerificationError when OpenSSL fails to
-verify the peer's certificate. The exception contains more information about
-the error.
+++ /dev/null
-ssl.SSLContext() now uses OpenSSL error information when a context cannot be
-instantiated.
+++ /dev/null
-Make return types of SSLContext.wrap_bio() and SSLContext.wrap_socket()
-customizable.
+++ /dev/null
-Improves SSL error handling to avoid losing error numbers.
+++ /dev/null
-Changed the implementation strategy for collections.namedtuple() to
-substantially reduce the use of exec() in favor of precomputed methods. As a
-result, the *verbose* parameter and *_source* attribute are no longer
-supported. The benefits include 1) having a smaller memory footprint for
-applications using multiple named tuples, 2) faster creation of the named
-tuple class (approx 4x to 6x depending on how it is measured), and 3) minor
-speed-ups for instance creation using __new__, _make, and _replace. (The
-primary patch contributor is Jelle Zijlstra with further improvements by
-INADA Naoki, Serhiy Storchaka, and Raymond Hettinger.)
+++ /dev/null
-socketserver.ThreadingMixIn now keeps a list of non-daemonic threads to wait
-until all these threads complete in server_close().
+++ /dev/null
-SSLContext.check_hostname now automatically sets SSLContext.verify_mode to
-ssl.CERT_REQUIRED instead of failing with a ValueError.
+++ /dev/null
-LoggerAdapter objects can now be nested.
+++ /dev/null
-socket.create_connection() now fixes manually a reference cycle: clear the
-variable storing the last exception on success.
+++ /dev/null
-The C accelerator module of ElementTree ignored exceptions raised when
-looking up TreeBuilder target methods in XMLParser().
+++ /dev/null
-Speed improvements to the ``typing`` module. Original PRs by Ivan
-Levkivskyi and Mitar.
+++ /dev/null
-typing.get_type_hints now finds the right globalns for classes and modules
-by default (when no ``globalns`` was specified by the caller).
+++ /dev/null
-``random.seed()`` now works with bytes in version=1
+++ /dev/null
-xml.etree: Fix a crash when a parser is part of a reference cycle.
+++ /dev/null
-.. original section: Library
-
-Update expat copy from 2.1.1 to 2.2.0 to get fixes of CVE-2016-0718 and
-CVE-2016-4472. See https://sourceforge.net/p/expat/bugs/537/ for more
-information.
+++ /dev/null
-.. original section: Library
-
-Fix urllib.parse.splithost() to correctly parse fragments. For example,
-``splithost('//127.0.0.1#@evil.com/')`` now correctly returns the
-``127.0.0.1`` host, instead of treating ``@evil.com`` as the host in an
-authentification (``login@host``).
+++ /dev/null
-.. original section: Library
-
-Upgrade expat copy from 2.2.0 to 2.2.1 to get fixes of multiple security
-vulnerabilities including: CVE-2017-9233 (External entity infinite loop
-DoS), CVE-2016-9063 (Integer overflow, re-fix), CVE-2016-0718 (Fix
-regression bugs from 2.2.0's fix to CVE-2016-0718) and CVE-2012-0876
-(Counter hash flooding with SipHash). Note: the CVE-2016-5300 (Use os-
-specific entropy sources like getrandom) doesn't impact Python, since Python
-already gets entropy from the OS to set the expat secret using
-``XML_SetHashSalt()``.
+++ /dev/null
-.. original section: Library
-
-Prevent environment variables injection in subprocess on Windows. Prevent
-passing other environment variables and command arguments.
+++ /dev/null
-Upgrade libexpat embedded copy from version 2.2.1 to 2.2.3 to get security
-fixes.
+++ /dev/null
-Add fuzz tests for float(str), int(str), unicode(str); for oss-fuzz.
+++ /dev/null
-SSLObject.version() now correctly returns None when handshake over BIO has
-not been performed yet.
+++ /dev/null
-Add the support.setswitchinterval() function to fix test_functools hanging
-on the Android armv7 qemu emulator.
+++ /dev/null
-Adds _testconsole module to test console input.
+++ /dev/null
-regrtest: fix the parser of command line arguments.
+++ /dev/null
-Fix test_posix for Android where 'id -G' is entirely wrong or missing the
-effective gid.
+++ /dev/null
-Various caches now are cleared before running every test file.
+++ /dev/null
-Now test.support.rmtree is able to remove unwritable or unreadable
-directories.
+++ /dev/null
-Fix the test_socket failures on Android - getservbyname(), getservbyport()
-and getaddrinfo() are broken on some Android API levels.
+++ /dev/null
-Fix the tests that bind() a unix socket and raise PermissionError on Android
-for a non-root user.
+++ /dev/null
-Disallow -j0 to be combined with -T/-l in regrtest command line arguments.
+++ /dev/null
-Use proper command line parsing in _testembed
+++ /dev/null
-Enhanced functions swap_attr() and swap_item() in the test.support module.
-They now work when delete replaced attribute or item inside the with
-statement. The old value of the attribute or item (or None if it doesn't
-exist) now will be assigned to the target of the "as" clause, if there is
-one.
+++ /dev/null
-test_thread: setUp() now uses support.threading_setup() and
-support.threading_cleanup() to wait until threads complete to avoid random
-side effects on following tests. Initial patch written by Grzegorz Grzywacz.
+++ /dev/null
-Add the `set_nomemory(start, stop)` and `remove_mem_hooks()` functions to
-the _testcapi module.
+++ /dev/null
-regrtest: Exclude tzdata from regrtest --all. When running the test suite
-using --use=all / -u all, exclude tzdata since it makes test_datetime too
-slow (15-20 min on some buildbots) which then times out on some buildbots.
-Fix also regrtest command line parser to allow passing -u extralargefile to
-run test_zipfile64.
+++ /dev/null
-Address ALPN callback changes for OpenSSL 1.1.0f. The latest version behaves
-like OpenSSL 1.0.2 and no longer aborts handshake.
+++ /dev/null
-Remove sha256.tbs-internet.com ssl test
+++ /dev/null
-Prefer PROTOCOL_TLS_CLIENT and PROTOCOL_TLS_SERVER protocols for SSLContext.
+++ /dev/null
-Silence traceback in test_ssl
+++ /dev/null
-test.support.HOST is now "localhost", a new HOSTv4 constant has been added
-for your ``127.0.0.1`` needs, similar to the existing HOSTv6 constant.
+++ /dev/null
-The zipfile module CLI now prints usage to stderr. Patch by Stephen J.
-Turnbull.
+++ /dev/null
-The pybench and pystone microbenchmark have been removed from Tools. Please
-use the new Python benchmark suite https://github.com/python/performance
-which is more reliable and includes a portable version of pybench working on
-Python 2 and Python 3.
+++ /dev/null
-Fix python-gdb.py didn't support new dict implementation.
+++ /dev/null
-python-gdb.py now supports also ``method-wrapper`` (``wrapperobject``)
-objects.
+++ /dev/null
-Argument Clinic now uses the converter `bool(accept={int})` rather than
-`int` for semantical booleans. This avoids repeating the default value for
-Python and C and will help in converting to `bool` in future.
+++ /dev/null
-Added the slice index converter in Argument Clinic.
+++ /dev/null
-gdb integration commands (py-bt, etc.) work on optimized shared builds now,
-too. PEP 523 introduced _PyEval_EvalFrameDefault which inlines
-PyEval_EvalFrameEx on non-debug shared builds. This broke the ability to
-use py-bt, py-up, and a few other Python-specific gdb integrations. The
-problem is fixed by only looking for _PyEval_EvalFrameDefault frames in
-python-gdb.py. Original patch by Bruno "Polaco" Penteado.
+++ /dev/null
-Windows ._pth file should allow import site
+++ /dev/null
-Renames Windows path file to ._pth
+++ /dev/null
-_PyIO_get_console_type fails for various paths
+++ /dev/null
-WindowsConsoleIO fileno() passes wrong flags to _open_osfhandle
+++ /dev/null
-WindowsConsoleIO readall() fails if first line starts with Ctrl+Z
+++ /dev/null
-Opening CON for write access fails
+++ /dev/null
-launcher.msi has different product codes between 32-bit and 64-bit
+++ /dev/null
-Improvements to help manuals on Windows.
+++ /dev/null
-Enables Unicode for ps1/ps2 and input() prompts. (Patch by Eryk Sun)
+++ /dev/null
-Adds signed catalog files for stdlib on Windows.
+++ /dev/null
-Fixes mishandled buffer reallocation in getpathp.c
+++ /dev/null
-Deprecate WindowsRegistryFinder and disable it by default
+++ /dev/null
-winreg does not truncate string correctly (Patch by Eryk Sun)
+++ /dev/null
-Removes readme.txt from the installer.
+++ /dev/null
-The build process on Windows no longer depends on Subversion, instead
-pulling external code from GitHub via a Python script. If Python 3.6 is not
-found on the system (via ``py -3.6``), NuGet is used to download a copy of
-32-bit Python.
+++ /dev/null
-Fix socket deprecation warnings in socketmodule.c. Patch by Segev Finer.
+++ /dev/null
-Adds list options (-0, -0p) to py.exe launcher. Contributed by Steve Barnes.
+++ /dev/null
-Allow requiring 64-bit interpreters from py.exe using -64 suffix. Contributed
-by Steve (Gadget) Barnes.
+++ /dev/null
-Add a missing xmlns to python.manifest so that it matches the schema.
+++ /dev/null
-Pre-build OpenSSL, Tcl and Tk and include the binaries in the build.
+++ /dev/null
-os.cpu_count() now returns the correct number of processors on Windows
-when the number of logical processors is greater than 64.
+++ /dev/null
-Change to building with MSVC v141 (included with Visual Studio 2017)
+++ /dev/null
-zlib is no longer bundled in the CPython source, instead it is downloaded on
-demand just like bz2, lzma, OpenSSL, Tcl/Tk, and SQLite.
+++ /dev/null
-Adds detection of Visual Studio 2017 to distutils on Windows.
+++ /dev/null
-Update Windows build to use OpenSSL 1.1.0f