# -*- coding: utf-8 -*-
-# Autogenerated by Sphinx on Wed May 29 01:18:52 2019
+# Autogenerated by Sphinx on Tue Jun 4 19:40:37 2019
topics = {'assert': 'The "assert" statement\n'
'**********************\n'
'\n'
'a variable or attribute annotation and an optional assignment\n'
'statement:\n'
'\n'
- ' annotated_assignment_stmt ::= augtarget ":" expression ["=" '
- 'expression]\n'
+ ' annotated_assignment_stmt ::= augtarget ":" expression\n'
+ ' ["=" (starred_expression | '
+ 'yield_expression)]\n'
'\n'
'The difference from normal Assignment statements is that only '
'single\n'
- 'target and only single right hand side value is allowed.\n'
+ 'target is allowed.\n'
'\n'
'For simple names as assignment targets, if in class or module '
'scope,\n'
'standard\n'
' syntax for type annotations that can be used in static '
'analysis\n'
- ' tools and IDEs.\n',
+ ' tools and IDEs.\n'
+ '\n'
+ 'Changed in version 3.8: Now annotated assignments allow same\n'
+ 'expressions in the right hand side as the regular '
+ 'assignments.\n'
+ 'Previously, some expressions (like un-parenthesized tuple '
+ 'expressions)\n'
+ 'caused a syntax error.\n',
'async': 'Coroutines\n'
'**********\n'
'\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 ==\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'
+ 'define "__iter__()", "x in y" is "True" if some value "z", '
+ 'for which\n'
+ 'the expression "x is z or x == z" is true, is produced while '
+ 'iterating\n'
+ 'over "y". If an exception is raised during the iteration, it '
+ 'is as if\n'
+ '"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'
- 'negative integer index *i* such that "x == y[i]", and all '
- 'lower\n'
- 'integer indices do not raise "IndexError" exception. (If any '
- 'other\n'
+ 'negative integer index *i* such that "x is y[i] or x == '
+ 'y[i]", and no\n'
+ 'lower integer index raises the "IndexError" exception. (If '
+ 'any other\n'
'exception is raised, it is as if "in" raised that '
'exception).\n'
'\n'
'Meaning '
'|\n'
' '
- '|===========|============================================================|\n'
+ '+===========+============================================================+\n'
' | "\'<\'" | Forces the field to be left-aligned '
'within the available |\n'
' | | space (this is the default for most '
'Meaning '
'|\n'
' '
- '|===========|============================================================|\n'
+ '+===========+============================================================+\n'
' | "\'+\'" | indicates that a sign should be used for '
'both positive as |\n'
' | | well as negative '
'Meaning '
'|\n'
' '
- '|===========|============================================================|\n'
+ '+===========+============================================================+\n'
' | "\'s\'" | String format. This is the default type '
'for strings and |\n'
' | | may be '
'Meaning '
'|\n'
' '
- '|===========|============================================================|\n'
+ '+===========+============================================================+\n'
' | "\'b\'" | Binary format. Outputs the number in '
'base 2. |\n'
' '
'Meaning '
'|\n'
' '
- '|===========|============================================================|\n'
+ '+===========+============================================================+\n'
' | "\'e\'" | Exponent notation. Prints the number in '
'scientific |\n'
' | | notation using the letter ‘e’ to indicate '
'"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 ==\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'
+ 'define "__iter__()", "x in y" is "True" if some value "z", for which\n'
+ 'the expression "x is z or x == z" is true, is produced while '
+ 'iterating\n'
+ 'over "y". If an exception is raised during the iteration, it is as if\n'
+ '"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'
- 'negative integer index *i* such that "x == y[i]", and all lower\n'
- 'integer indices do not raise "IndexError" exception. (If any other\n'
+ 'negative integer index *i* such that "x is y[i] or x == y[i]", and no\n'
+ 'lower integer index raises the "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 truth value of\n'
'numeric\n'
' object is an integer type. Must return an integer.\n'
'\n'
- ' Note: In order to have a coherent integer type class, '
- 'when\n'
- ' "__index__()" is defined "__int__()" should also be '
- 'defined, and\n'
- ' both should return the same value.\n'
+ ' If "__int__()", "__float__()" and "__complex__()" are '
+ 'not defined\n'
+ ' then corresponding built-in functions "int()", "float()" '
+ 'and\n'
+ ' "complex()" fall back to "__index__()".\n'
'\n'
'object.__round__(self[, ndigits])\n'
'object.__trunc__(self)\n'
'+-------------------------------------------------+---------------------------------------+\n'
'| Operator | '
'Description |\n'
- '|=================================================|=======================================|\n'
+ '+=================================================+=======================================+\n'
'| "lambda" | '
'Lambda expression |\n'
'+-------------------------------------------------+---------------------------------------+\n'
' in:\n'
'\n'
' class Philosopher:\n'
- ' def __init_subclass__(cls, default_name, '
+ ' def __init_subclass__(cls, /, default_name, '
'**kwargs):\n'
' super().__init_subclass__(**kwargs)\n'
' cls.default_name = default_name\n'
'numeric\n'
' object is an integer type. Must return an integer.\n'
'\n'
- ' Note: In order to have a coherent integer type class, '
- 'when\n'
- ' "__index__()" is defined "__int__()" should also be '
- 'defined, and\n'
- ' both should return the same value.\n'
+ ' If "__int__()", "__float__()" and "__complex__()" are not '
+ 'defined\n'
+ ' then corresponding built-in functions "int()", "float()" '
+ 'and\n'
+ ' "complex()" fall back to "__index__()".\n'
'\n'
'object.__round__(self[, ndigits])\n'
'object.__trunc__(self)\n'
' | Representation | '
'Description |\n'
' '
- '|=========================|===============================|\n'
+ '+=========================+===============================+\n'
' | "\\n" | Line '
'Feed |\n'
' '
'+-------------------+-----------------------------------+---------+\n'
'| Escape Sequence | Meaning | Notes '
'|\n'
- '|===================|===================================|=========|\n'
+ '+===================+===================================+=========+\n'
'| "\\newline" | Backslash and newline ignored '
'| |\n'
'+-------------------+-----------------------------------+---------+\n'
'+-------------------+-----------------------------------+---------+\n'
'| Escape Sequence | Meaning | Notes '
'|\n'
- '|===================|===================================|=========|\n'
+ '+===================+===================================+=========+\n'
'| "\\N{name}" | Character named *name* in the | '
'(4) |\n'
'| | Unicode database | '
' | Attribute | Meaning '
'| |\n'
' '
- '|===========================|=================================|=============|\n'
+ '+===========================+=================================+=============+\n'
' | "__doc__" | The function’s documentation '
'| Writable |\n'
' | | string, or "None" if '
'\n'
' Special read-only attributes: "co_name" gives the function '
'name;\n'
- ' "co_argcount" is the number of positional arguments '
- '(including\n'
- ' arguments with default values); "co_nlocals" is the number '
- 'of\n'
- ' local variables used by the function (including arguments);\n'
- ' "co_varnames" is a tuple containing the names of the local\n'
- ' variables (starting with the argument names); "co_cellvars" '
- 'is a\n'
- ' tuple containing the names of local variables that are\n'
- ' referenced by nested functions; "co_freevars" is a tuple\n'
- ' containing the names of free variables; "co_code" is a '
- 'string\n'
- ' representing the sequence of bytecode instructions; '
- '"co_consts"\n'
- ' is a tuple containing the literals used by the bytecode;\n'
- ' "co_names" is a tuple containing the names used by the '
- 'bytecode;\n'
- ' "co_filename" is the filename from which the code was '
- 'compiled;\n'
- ' "co_firstlineno" is the first line number of the function;\n'
- ' "co_lnotab" is a string encoding the mapping from bytecode\n'
- ' offsets to line numbers (for details see the source code of '
+ ' "co_argcount" is the total number of positional arguments\n'
+ ' (including positional-only arguments and arguments with '
+ 'default\n'
+ ' values); "co_posonlyargcount" is the number of '
+ 'positional-only\n'
+ ' arguments (including arguments with default values);\n'
+ ' "co_kwonlyargcount" is the number of keyword-only arguments\n'
+ ' (including arguments with default values); "co_nlocals" is '
+ 'the\n'
+ ' number of local variables used by the function (including\n'
+ ' arguments); "co_varnames" is a tuple containing the names of '
+ 'the\n'
+ ' local variables (starting with the argument names);\n'
+ ' "co_cellvars" is a tuple containing the names of local '
+ 'variables\n'
+ ' that are referenced by nested functions; "co_freevars" is a\n'
+ ' tuple containing the names of free variables; "co_code" is a\n'
+ ' string representing the sequence of bytecode instructions;\n'
+ ' "co_consts" is a tuple containing the literals used by the\n'
+ ' bytecode; "co_names" is a tuple containing the names used by '
'the\n'
- ' interpreter); "co_stacksize" is the required stack size\n'
- ' (including local variables); "co_flags" is an integer '
- 'encoding a\n'
- ' number of flags for the interpreter.\n'
+ ' bytecode; "co_filename" is the filename from which the code '
+ 'was\n'
+ ' compiled; "co_firstlineno" is the first line number of the\n'
+ ' function; "co_lnotab" is a string encoding the mapping from\n'
+ ' bytecode offsets to line numbers (for details see the source\n'
+ ' code of the interpreter); "co_stacksize" is the required '
+ 'stack\n'
+ ' size (including local variables); "co_flags" is an integer\n'
+ ' encoding a number of flags for the interpreter.\n'
'\n'
' The following flag bits are defined for "co_flags": bit '
'"0x04"\n'
'+----------------------------+----------------------------------+------------+\n'
'| Operation | Result '
'| Notes |\n'
- '|============================|==================================|============|\n'
+ '+============================+==================================+============+\n'
'| "x in s" | "True" if an item of *s* is '
'| (1) |\n'
'| | equal to *x*, else "False" '
'+--------------------------------+----------------------------------+-----------------------+\n'
'| Operation | '
'Result | Notes |\n'
- '|================================|==================================|=======================|\n'
+ '+================================+==================================+=======================+\n'
'| "s[i] = x" | item *i* of *s* is replaced '
'by | |\n'
'| | '
'| Operation | '
'Result | Notes '
'|\n'
- '|================================|==================================|=======================|\n'
+ '+================================+==================================+=======================+\n'
'| "s[i] = x" | item *i* of *s* is '
'replaced by | |\n'
'| | '
--- /dev/null
+.. bpo: 35907
+.. date: 2019-05-21-23-20-18
+.. nonce: NC_zNK
+.. release date: 2019-06-04
+.. section: Security
+
+CVE-2019-9948: Avoid file reading by disallowing ``local-file://`` and
+``local_file://`` URL schemes in ``URLopener().open()`` and
+``URLopener().retrieve()`` of :mod:`urllib.request`.
+
+..
+
+.. bpo: 33529
+.. date: 2019-02-24-18-48-16
+.. nonce: wpNNBD
+.. section: Security
+
+Prevent fold function used in email header encoding from entering infinite
+loop when there are too many non-ASCII characters in a header.
+
+..
+
+.. bpo: 33164
+.. date: 2018-03-30-12-26-47
+.. nonce: aO29Cx
+.. section: Security
+
+Updated blake2 implementation which uses secure memset implementation
+provided by platform.
+
+..
+
+.. bpo: 35814
+.. date: 2019-06-03-00-51-02
+.. nonce: Cf7sGY
+.. section: Core and Builtins
+
+Allow unpacking in the right hand side of annotated assignments. In
+particular, ``t: Tuple[int, ...] = x, y, *z`` is now allowed.
+
+..
+
+.. bpo: 37126
+.. date: 2019-06-01-20-03-13
+.. nonce: tP6lL4
+.. section: Core and Builtins
+
+All structseq objects are now tracked by the garbage collector. Patch by
+Pablo Galindo.
+
+..
+
+.. bpo: 37122
+.. date: 2019-06-01-16-53-41
+.. nonce: dZ3-NY
+.. section: Core and Builtins
+
+Make the *co_argcount* attribute of code objects represent the total number
+of positional arguments (including positional-only arguments). The value of
+*co_posonlyargcount* can be used to distinguish which arguments are
+positional only, and the difference (*co_argcount* - *co_posonlyargcount*)
+is the number of positional-or-keyword arguments. Patch by Pablo Galindo.
+
+..
+
+.. bpo: 20092
+.. date: 2019-05-31-11-55-49
+.. nonce: KIMjBW
+.. section: Core and Builtins
+
+Constructors of :class:`int`, :class:`float` and :class:`complex` will now
+use the :meth:`~object.__index__` special method, if available and the
+corresponding method :meth:`~object.__int__`, :meth:`~object.__float__` or
+:meth:`~object.__complex__` is not available.
+
+..
+
+.. bpo: 37087
+.. date: 2019-05-30-17-33-55
+.. nonce: vElenE
+.. section: Core and Builtins
+
+Add native thread ID (TID) support to OpenBSD.
+
+..
+
+.. bpo: 26219
+.. date: 2019-05-29-22-03-09
+.. nonce: Ovf1Qs
+.. section: Core and Builtins
+
+Implemented per opcode cache mechanism and ``LOAD_GLOBAL`` instruction use
+it. ``LOAD_GLOBAL`` is now about 40% faster. Contributed by Yury Selivanov,
+and Inada Naoki.
+
+..
+
+.. bpo: 37072
+.. date: 2019-05-28-18-18-55
+.. nonce: 1Hewl3
+.. section: Core and Builtins
+
+Fix crash in PyAST_FromNodeObject() when flags is NULL.
+
+..
+
+.. bpo: 37029
+.. date: 2019-05-28-17-02-46
+.. nonce: MxpgfJ
+.. section: Core and Builtins
+
+Freeing a great many small objects could take time quadratic in the number
+of arenas, due to using linear search to keep ``obmalloc.c``'s list of
+usable arenas sorted by order of number of free memory pools. This is
+accomplished without search now, leaving the worst-case time linear in the
+number of arenas. For programs where this quite visibly matters (typically
+with more than 100 thousand small objects alive simultaneously), this can
+greatly reduce the time needed to release their memory.
+
+..
+
+.. bpo: 26423
+.. date: 2019-05-27-18-00-19
+.. nonce: RgUOE8
+.. section: Core and Builtins
+
+Fix possible overflow in ``wrap_lenfunc()`` when ``sizeof(long) <
+sizeof(Py_ssize_t)`` (e.g., 64-bit Windows).
+
+..
+
+.. bpo: 37050
+.. date: 2019-05-27-14-46-24
+.. nonce: 7MyZGg
+.. section: Core and Builtins
+
+Improve the AST for "debug" f-strings, which use '=' to print out the source
+of the expression being evaluated. Delete expr_text from the FormattedValue
+node, and instead use a Constant string node (possibly merged with adjacent
+constant expressions inside the f-string).
+
+..
+
+.. bpo: 22385
+.. date: 2019-05-25-17-18-26
+.. nonce: VeVvhJ
+.. section: Core and Builtins
+
+The `bytes.hex`, `bytearray.hex`, and `memoryview.hex` methods as well as
+the `binascii.hexlify` and `b2a_hex` functions now have the ability to
+include an optional separator between hex bytes. This functionality was
+inspired by MicroPython's hexlify implementation.
+
+..
+
+.. bpo: 26836
+.. date: 2019-05-25-08-18-01
+.. nonce: rplYWW
+.. section: Core and Builtins
+
+Add :func:`os.memfd_create`.
+
+..
+
+.. bpo: 37032
+.. date: 2019-05-24-12-38-40
+.. nonce: T8rSH8
+.. section: Core and Builtins
+
+Added new ``replace()`` method to the code type (:class:`types.CodeType`).
+
+..
+
+.. bpo: 37007
+.. date: 2019-05-23-04-19-13
+.. nonce: d1SOtF
+.. section: Core and Builtins
+
+Implement :func:`socket.if_nameindex()`, :func:`socket.if_nametoindex()`,
+and :func:`socket.if_indextoname()` on Windows.
+
+..
+
+.. bpo: 36829
+.. date: 2019-05-22-23-01-29
+.. nonce: MfOcUg
+.. section: Core and Builtins
+
+:c:func:`PyErr_WriteUnraisable` now creates a traceback object if there is
+no current traceback. Moreover, call :c:func:`PyErr_NormalizeException` and
+:c:func:`PyException_SetTraceback` to normalize the exception value. Ignore
+any error.
+
+..
+
+.. bpo: 36878
+.. date: 2019-05-22-11-16-16
+.. nonce: QwLa3P
+.. section: Core and Builtins
+
+Only accept text after `# type: ignore` if the first character is ASCII.
+This is to disallow things like `# type: ignoreé`.
+
+..
+
+.. bpo: 36878
+.. date: 2019-05-21-16-21-22
+.. nonce: EFRHZ3
+.. section: Core and Builtins
+
+Store text appearing after a `# type: ignore` comment in the AST. For
+example a type ignore like `# type: ignore[E1000]` will have the string
+`"[E1000]"` stored in its AST node.
+
+..
+
+.. bpo: 2180
+.. date: 2019-05-17-18-34-30
+.. nonce: aBqHeW
+.. section: Core and Builtins
+
+Treat line continuation at EOF as a ``SyntaxError`` by Anthony Sottile.
+
+..
+
+.. bpo: 36907
+.. date: 2019-05-17-12-28-24
+.. nonce: rk7kgp
+.. section: Core and Builtins
+
+Fix a crash when calling a C function with a keyword dict (``f(**kwargs)``)
+and changing the dict ``kwargs`` while that function is running.
+
+..
+
+.. bpo: 36946
+.. date: 2019-05-16-23-53-45
+.. nonce: qjxr0Y
+.. section: Core and Builtins
+
+Fix possible signed integer overflow when handling slices.
+
+..
+
+.. bpo: 36826
+.. date: 2019-05-15-14-01-09
+.. nonce: GLrO3W
+.. section: Core and Builtins
+
+Add NamedExpression kind support to ast_unparse.c
+
+..
+
+.. bpo: 1875
+.. date: 2019-05-15-01-29-29
+.. nonce: 9oxXFX
+.. section: Core and Builtins
+
+A :exc:`SyntaxError` is now raised if a code blocks that will be optimized
+away (e.g. if conditions that are always false) contains syntax errors.
+Patch by Pablo Galindo.
+
+..
+
+.. bpo: 36027
+.. date: 2019-05-12-18-46-50
+.. nonce: Q4YatQ
+.. section: Core and Builtins
+
+Allow computation of modular inverses via three-argument ``pow``: the second
+argument is now permitted to be negative in the case where the first and
+third arguments are relatively prime.
+
+..
+
+.. bpo: 36861
+.. date: 2019-05-08-20-42-40
+.. nonce: 72mvZM
+.. section: Core and Builtins
+
+Update the Unicode database to version 12.1.0.
+
+..
+
+.. bpo: 28866
+.. date: 2019-05-08-16-36-51
+.. nonce: qCv_bj
+.. section: Core and Builtins
+
+Avoid caching attributes of classes which type defines mro() to avoid a hard
+cache invalidation problem.
+
+..
+
+.. bpo: 36851
+.. date: 2019-05-08-11-42-06
+.. nonce: J7DiCW
+.. section: Core and Builtins
+
+The ``FrameType`` stack is now correctly cleaned up if the execution ends
+with a return and the stack is not empty.
+
+..
+
+.. bpo: 34616
+.. date: 2019-05-07-17-12-37
+.. nonce: 0Y0_9r
+.. section: Core and Builtins
+
+The ``compile()`` builtin functions now support the
+``ast.PyCF_ALLOW_TOP_LEVEL_AWAIT`` flag, which allow to compile sources
+that contains top-level ``await``, ``async with`` or ``async for``. This is
+useful to evaluate async-code from with an already async functions; for
+example in a custom REPL.
+
+..
+
+.. bpo: 36842
+.. date: 2019-05-07-16-50-12
+.. nonce: NYww_N
+.. section: Core and Builtins
+
+Implement PEP 578, adding sys.audit, io.open_code and related APIs.
+
+..
+
+.. bpo: 27639
+.. date: 2019-05-07-15-49-17
+.. nonce: b1Ah87
+.. section: Core and Builtins
+
+Correct return type for UserList slicing operations. Patch by Michael
+Blahay, Erick Cervantes, and vaultah
+
+..
+
+.. bpo: 36737
+.. date: 2019-05-07-12-18-11
+.. nonce: XAo6LY
+.. section: Core and Builtins
+
+Move PyRuntimeState.warnings into per-interpreter state (via "module
+state").
+
+..
+
+.. bpo: 36793
+.. date: 2019-05-04-16-15-33
+.. nonce: Izog4Z
+.. section: Core and Builtins
+
+Removed ``__str__`` implementations from builtin types :class:`bool`,
+:class:`int`, :class:`float`, :class:`complex` and few classes from the
+standard library. They now inherit ``__str__()`` from :class:`object`.
+
+..
+
+.. bpo: 36774
+.. date: 2019-05-02-11-48-08
+.. nonce: ZqbJ1J
+.. section: Core and Builtins
+
+Add a ``=`` feature f-strings for debugging. This can precede ``!s``,
+``!r``, or ``!a``. It produces the text of the expression, followed by an
+equal sign, followed by the repr of the value of the expression. So
+``f'{3*9+15=}'`` would be equal to the string ``'3*9+15=42'``. If ``=`` is
+specified, the default conversion is set to ``!r``, unless a format spec is
+given, in which case the formatting behavior is unchanged, and __format__
+will be used.
+
+..
+
+.. bpo: 24048
+.. date: 2019-04-29-03-27-22
+.. nonce: vXxUDQ
+.. section: Core and Builtins
+
+Save the live exception during import.c's ``remove_module()``.
+
+..
+
+.. bpo: 27987
+.. date: 2019-04-16-11-52-21
+.. nonce: n2_DcQ
+.. section: Core and Builtins
+
+pymalloc returns memory blocks aligned by 16 bytes, instead of 8 bytes, on
+64-bit platforms to conform x86-64 ABI. Recent compilers assume this
+alignment more often. Patch by Inada Naoki.
+
+..
+
+.. bpo: 36601
+.. date: 2019-04-13-16-14-16
+.. nonce: mIgS7t
+.. section: Core and Builtins
+
+A long-since-meaningless check for ``getpid() == main_pid`` was removed from
+Python's internal C signal handler.
+
+..
+
+.. bpo: 36594
+.. date: 2019-04-10-18-12-11
+.. nonce: fbnJAc
+.. section: Core and Builtins
+
+Fix incorrect use of ``%p`` in format strings. Patch by Zackery Spytz.
+
+..
+
+.. bpo: 36045
+.. date: 2019-02-24-12-44-46
+.. nonce: RO20OV
+.. section: Core and Builtins
+
+builtins.help() now prefixes `async` for async functions
+
+..
+
+.. bpo: 36084
+.. date: 2019-02-22-23-03-20
+.. nonce: 86Eh4X
+.. section: Core and Builtins
+
+Add native thread ID (TID) to threading.Thread objects (supported platforms:
+Windows, FreeBSD, Linux, macOS)
+
+..
+
+.. bpo: 36035
+.. date: 2019-02-22-14-30-19
+.. nonce: -6dy1y
+.. section: Core and Builtins
+
+Added fix for broken symlinks in combination with pathlib
+
+..
+
+.. bpo: 35983
+.. date: 2019-02-13-16-47-19
+.. nonce: bNxsXv
+.. section: Core and Builtins
+
+Added new trashcan macros to deal with a double deallocation that could
+occur when the `tp_dealloc` of a subclass calls the `tp_dealloc` of a base
+class and that base class uses the trashcan mechanism. Patch by Jeroen
+Demeyer.
+
+..
+
+.. bpo: 20602
+.. date: 2018-07-04-16-57-59
+.. nonce: sDLElw
+.. section: Core and Builtins
+
+Do not clear :data:`sys.flags` and :data:`sys.float_info` during shutdown.
+Patch by Zackery Spytz.
+
+..
+
+.. bpo: 26826
+.. date: 2018-05-30-23-43-03
+.. nonce: NkRzjb
+.. section: Core and Builtins
+
+Expose :func:`copy_file_range` as a low level API in the :mod:`os` module.
+
+..
+
+.. bpo: 32388
+.. date: 2017-12-21-20-37-40
+.. nonce: 6w-i5t
+.. section: Core and Builtins
+
+Remove cross-version binary compatibility requirement in tp_flags.
+
+..
+
+.. bpo: 31862
+.. date: 2017-10-24-17-26-58
+.. nonce: 5Gea8L
+.. section: Core and Builtins
+
+Port binascii to PEP 489 multiphase initialization. Patch by Marcel Plch.
+
+..
+
+.. bpo: 37128
+.. date: 2019-06-01-22-54-03
+.. nonce: oGXBWN
+.. section: Library
+
+Added :func:`math.perm`.
+
+..
+
+.. bpo: 37120
+.. date: 2019-06-01-09-03-32
+.. nonce: FOKQLU
+.. section: Library
+
+Add SSLContext.num_tickets to control the number of TLSv1.3 session tickets.
+
+..
+
+.. bpo: 12202
+.. date: 2019-05-31-15-53-34
+.. nonce: nobzc9
+.. section: Library
+
+Fix the error handling in :meth:`msilib.SummaryInformation.GetProperty`.
+Patch by Zackery Spytz.
+
+..
+
+.. bpo: 26835
+.. date: 2019-05-31-11-33-11
+.. nonce: xGbUX0
+.. section: Library
+
+The fcntl module now contains file sealing constants for sealing of memfds.
+
+..
+
+.. bpo: 29262
+.. date: 2019-05-30-21-25-14
+.. nonce: LdIzun
+.. section: Library
+
+Add ``get_origin()`` and ``get_args()`` introspection helpers to ``typing``
+module.
+
+..
+
+.. bpo: 12639
+.. date: 2019-05-30-16-16-47
+.. nonce: TQFOR4
+.. section: Library
+
+:meth:`msilib.Directory.start_component()` no longer fails if *keyfile* is
+not ``None``.
+
+..
+
+.. bpo: 36999
+.. date: 2019-05-30-13-30-46
+.. nonce: EjY_L2
+.. section: Library
+
+Add the ``asyncio.Task.get_coro()`` method to publicly expose the tasks's
+coroutine object.
+
+..
+
+.. bpo: 35246
+.. date: 2019-05-28-23-17-35
+.. nonce: oXT21d
+.. section: Library
+
+Make :func:`asyncio.create_subprocess_exec` accept path-like arguments.
+
+..
+
+.. bpo: 35279
+.. date: 2019-05-28-19-14-29
+.. nonce: PX7yl9
+.. section: Library
+
+Change default *max_workers* of ``ThreadPoolExecutor`` from ``cpu_count() *
+5`` to ``min(32, cpu_count() + 4))``. Previous value was unreasonably large
+on many cores machines.
+
+..
+
+.. bpo: 37076
+.. date: 2019-05-28-12-17-10
+.. nonce: Bk2xOs
+.. section: Library
+
+:func:`_thread.start_new_thread` now logs uncaught exception raised by the
+function using :func:`sys.unraisablehook`, rather than
+:func:`sys.excepthook`, so the hook gets access to the function which raised
+the exception.
+
+..
+
+.. bpo: 33725
+.. date: 2019-05-28-01-17-42
+.. nonce: fFZoDG
+.. section: Library
+
+On macOS, the :mod:`multiprocessing` module now uses *spawn* start method by
+default.
+
+..
+
+.. bpo: 37054
+.. date: 2019-05-28-01-06-44
+.. nonce: sLULGQ
+.. section: Library
+
+Fix destructor :class:`_pyio.BytesIO` and :class:`_pyio.TextIOWrapper`:
+initialize their ``_buffer`` attribute as soon as possible (in the class
+body), because it's used by ``__del__()`` which calls ``close()``.
+
+..
+
+.. bpo: 37058
+.. date: 2019-05-26-19-05-24
+.. nonce: jmRu_g
+.. section: Library
+
+PEP 544: Add ``Protocol`` and ``@runtime_checkable`` to the ``typing``
+module.
+
+..
+
+.. bpo: 36933
+.. date: 2019-05-26-10-16-55
+.. nonce: 4w3eP9
+.. section: Library
+
+The functions ``sys.set_coroutine_wrapper`` and
+``sys.get_coroutine_wrapper`` that were deprecated and marked for removal in
+3.8 have been removed.
+
+..
+
+.. bpo: 37047
+.. date: 2019-05-26-01-20-06
+.. nonce: K9epi8
+.. section: Library
+
+Handle late binding and attribute access in :class:`unittest.mock.AsyncMock`
+setup for autospeccing. Document newly implemented async methods in
+:class:`unittest.mock.MagicMock`.
+
+..
+
+.. bpo: 37049
+.. date: 2019-05-25-19-48-42
+.. nonce: an2LXJ
+.. section: Library
+
+PEP 589: Add ``TypedDict`` to the ``typing`` module.
+
+..
+
+.. bpo: 37046
+.. date: 2019-05-25-19-12-53
+.. nonce: iuhQQj
+.. section: Library
+
+PEP 586: Add ``Literal`` to the ``typing`` module.
+
+..
+
+.. bpo: 37045
+.. date: 2019-05-25-18-36-50
+.. nonce: suHdVJ
+.. section: Library
+
+PEP 591: Add ``Final`` qualifier and ``@final`` decorator to the ``typing``
+module.
+
+..
+
+.. bpo: 37035
+.. date: 2019-05-24-18-16-07
+.. nonce: HFbJVT
+.. section: Library
+
+Don't log OSError based exceptions if a fatal error has occurred in asyncio
+transport. Peer can generate almost any OSError, user cannot avoid these
+exceptions by fixing own code. Errors are still propagated to user code,
+it's just logging them is pointless and pollute asyncio logs.
+
+..
+
+.. bpo: 37001
+.. date: 2019-05-23-21-10-57
+.. nonce: DoLvTK
+.. section: Library
+
+:func:`symtable.symtable` now accepts the same input types for source code
+as the built-in :func:`compile` function. Patch by Dino Viehland.
+
+..
+
+.. bpo: 37028
+.. date: 2019-05-23-18-57-34
+.. nonce: Vse6Pj
+.. section: Library
+
+Implement asyncio REPL
+
+..
+
+.. bpo: 37027
+.. date: 2019-05-23-18-46-56
+.. nonce: iH4eut
+.. section: Library
+
+Return safe to use proxy socket object from
+transport.get_extra_info('socket')
+
+..
+
+.. bpo: 32528
+.. date: 2019-05-23-17-37-22
+.. nonce: sGnkcl
+.. section: Library
+
+Make asyncio.CancelledError a BaseException.
+
+This will address the common mistake many asyncio users make: an "except
+Exception" clause breaking Tasks cancellation.
+
+In addition to this change, we stop inheriting asyncio.TimeoutError and
+asyncio.InvalidStateError from their concurrent.futures.* counterparts.
+There's no point for these exceptions to share the inheritance chain.
+
+..
+
+.. bpo: 1230540
+.. date: 2019-05-23-01-48-39
+.. nonce: oKTNEQ
+.. section: Library
+
+Add a new :func:`threading.excepthook` function which handles uncaught
+:meth:`threading.Thread.run` exception. It can be overridden to control how
+uncaught :meth:`threading.Thread.run` exceptions are handled.
+
+..
+
+.. bpo: 36996
+.. date: 2019-05-22-22-55-18
+.. nonce: XQx08d
+.. section: Library
+
+Handle :func:`unittest.mock.patch` used as a decorator on async functions.
+
+..
+
+.. bpo: 37008
+.. date: 2019-05-22-15-26-08
+.. nonce: WPbv31
+.. section: Library
+
+Add support for calling :func:`next` with the mock resulting from
+:func:`unittest.mock.mock_open`
+
+..
+
+.. bpo: 27737
+.. date: 2019-05-22-02-25-31
+.. nonce: 7bgKpa
+.. section: Library
+
+Allow whitespace only header encoding in ``email.header`` - by Batuhan
+Taskaya
+
+..
+
+.. bpo: 36969
+.. date: 2019-05-21-12-31-21
+.. nonce: u7cxu7
+.. section: Library
+
+PDB command `args` now display positional only arguments. Patch contributed
+by Rémi Lapeyre.
+
+..
+
+.. bpo: 36969
+.. date: 2019-05-20-23-31-20
+.. nonce: JkZORP
+.. section: Library
+
+PDB command `args` now display keyword only arguments. Patch contributed by
+Rémi Lapeyre.
+
+..
+
+.. bpo: 36983
+.. date: 2019-05-20-20-41-30
+.. nonce: hz-fLr
+.. section: Library
+
+Add missing names to ``typing.__all__``: ``ChainMap``, ``ForwardRef``,
+``OrderedDict`` - by Anthony Sottile.
+
+..
+
+.. bpo: 36972
+.. date: 2019-05-20-17-08-26
+.. nonce: 3l3SGc
+.. section: Library
+
+Add SupportsIndex protocol to the typing module to allow type checking to
+detect classes that can be passed to `hex()`, `oct()` and `bin()`.
+
+..
+
+.. bpo: 32972
+.. date: 2019-05-20-14-47-55
+.. nonce: LoeUNh
+.. section: Library
+
+Implement ``unittest.AsyncTestCase`` to help testing asyncio-based code.
+
+..
+
+.. bpo: 36952
+.. date: 2019-05-20-11-01-28
+.. nonce: MgZi7-
+.. section: Library
+
+:func:`fileinput.input` and :class:`fileinput.FileInput` **bufsize**
+argument has been removed (was deprecated and ignored since Python 3.6), and
+as a result the **mode** and **openhook** arguments have been made
+keyword-only.
+
+..
+
+.. bpo: 36952
+.. date: 2019-05-20-08-54-41
+.. nonce: I_glok
+.. section: Library
+
+Starting with Python 3.3, importing ABCs from :mod:`collections` is
+deprecated, and import should be done from :mod:`collections.abc`. Still
+being able to import from :mod:`collections` was marked for removal in 3.8,
+but has been delayed to 3.9; documentation and ``DeprecationWarning``
+clarified.
+
+..
+
+.. bpo: 36949
+.. date: 2019-05-19-06-54-26
+.. nonce: jBlG9F
+.. section: Library
+
+Implement __repr__ for WeakSet objects.
+
+..
+
+.. bpo: 36948
+.. date: 2019-05-17-21-42-58
+.. nonce: vnUDvk
+.. section: Library
+
+Fix :exc:`NameError` in :meth:`urllib.request.URLopener.retrieve`. Patch by
+Karthikeyan Singaravelan.
+
+..
+
+.. bpo: 33524
+.. date: 2019-05-17-11-44-21
+.. nonce: 8y_xUU
+.. section: Library
+
+Fix the folding of email header when the max_line_length is 0 or None and
+the header contains non-ascii characters. Contributed by Licht Takeuchi
+(@Licht-T).
+
+..
+
+.. bpo: 24564
+.. date: 2019-05-16-23-40-36
+.. nonce: lIwV_7
+.. section: Library
+
+:func:`shutil.copystat` now ignores :const:`errno.EINVAL` on
+:func:`os.setxattr` which may occur when copying files on filesystems
+without extended attributes support.
+
+Original patch by Giampaolo Rodola, updated by Ying Wang.
+
+..
+
+.. bpo: 36888
+.. date: 2019-05-16-18-02-08
+.. nonce: -H2Dkm
+.. section: Library
+
+Python child processes can now access the status of their parent process
+using multiprocessing.process.parent_process
+
+..
+
+.. bpo: 36921
+.. date: 2019-05-15-21-35-23
+.. nonce: kA1306
+.. section: Library
+
+Deprecate ``@coroutine`` for sake of ``async def``.
+
+..
+
+.. bpo: 25652
+.. date: 2019-05-14-21-39-52
+.. nonce: xLw42k
+.. section: Library
+
+Fix bug in ``__rmod__`` of ``UserString`` - by Batuhan Taskaya.
+
+..
+
+.. bpo: 36916
+.. date: 2019-05-14-15-39-34
+.. nonce: _GPsTt
+.. section: Library
+
+Remove a message about an unhandled exception in a task when writer.write()
+is used without await and writer.drain() fails with an exception.
+
+..
+
+.. bpo: 36889
+.. date: 2019-05-14-12-25-44
+.. nonce: MChPqP
+.. section: Library
+
+Introduce :class:`asyncio.Stream` class that merges
+:class:`asyncio.StreamReader` and :class:`asyncio.StreamWriter`
+functionality. :class:`asyncio.Stream` can work in readonly, writeonly and
+readwrite modes. Provide :func:`asyncio.connect`,
+:func:`asyncio.connect_unix`, :func:`asyncio.connect_read_pipe` and
+:func:`asyncio.connect_write_pipe` factories to open :class:`asyncio.Stream`
+connections. Provide :class:`asyncio.StreamServer` and
+:class:`UnixStreamServer` to serve servers with asyncio.Stream API. Modify
+:func:`asyncio.create_subprocess_shell` and
+:func:`asyncio.create_subprocess_exec` to use :class:`asyncio.Stream`
+instead of deprecated :class:`StreamReader` and :class:`StreamWriter`.
+Deprecate :class:`asyncio.StreamReader` and :class:`asyncio.StreamWriter`.
+Deprecate usage of private classes, e.g. :class:`asyncio.FlowControlMixing`
+and :class:`asyncio.StreamReaderProtocol` outside of asyncio package.
+
+..
+
+.. bpo: 36845
+.. date: 2019-05-14-07-57-02
+.. nonce: _GtFFf
+.. section: Library
+
+Added validation of integer prefixes to the construction of IP networks and
+interfaces in the ipaddress module.
+
+..
+
+.. bpo: 23378
+.. date: 2019-05-14-05-38-22
+.. nonce: R25teI
+.. section: Library
+
+Add an extend action to argparser.
+
+..
+
+.. bpo: 36867
+.. date: 2019-05-13-13-02-43
+.. nonce: Qh-6mX
+.. section: Library
+
+Fix a bug making a SharedMemoryManager instance and its parent process use
+two separate resource_tracker processes.
+
+..
+
+.. bpo: 23896
+.. date: 2019-05-13-05-49-15
+.. nonce: 8TtUKo
+.. section: Library
+
+Adds a grammar to lib2to3.pygram that contains exec as a function not as
+statement.
+
+..
+
+.. bpo: 36895
+.. date: 2019-05-12-14-49-13
+.. nonce: ZZuuY7
+.. section: Library
+
+The function ``time.clock()`` was deprecated in 3.3 in favor of
+``time.perf_counter()`` and marked for removal in 3.8, it has removed.
+
+..
+
+.. bpo: 35545
+.. date: 2019-05-11-16-21-29
+.. nonce: FcvJvP
+.. section: Library
+
+Fix asyncio discarding IPv6 scopes when ensuring hostname resolutions
+internally
+
+..
+
+.. bpo: 36887
+.. date: 2019-05-11-14-50-59
+.. nonce: XD3f22
+.. section: Library
+
+Add new function :func:`math.isqrt` to compute integer square roots.
+
+..
+
+.. bpo: 34632
+.. date: 2019-05-11-02-30-45
+.. nonce: 8MXa7T
+.. section: Library
+
+Introduce the ``importlib.metadata`` module with (provisional) support for
+reading metadata from third-party packages.
+
+..
+
+.. bpo: 36878
+.. date: 2019-05-10-22-00-06
+.. nonce: iigeqk
+.. section: Library
+
+When using `type_comments=True` in `ast.parse`, treat `# type: ignore`
+followed by a non-alphanumeric character and then arbitrary text as a type
+ignore, instead of requiring nothing but whitespace or another comment. This
+is to permit formations such as `# type: ignore[E1000]`.
+
+..
+
+.. bpo: 36778
+.. date: 2019-05-10-01-06-36
+.. nonce: GRqeiS
+.. section: Library
+
+``cp65001`` encoding (Windows code page 65001) becomes an alias to ``utf_8``
+encoding.
+
+..
+
+.. bpo: 36867
+.. date: 2019-05-09-18-12-55
+.. nonce: FuwVTi
+.. section: Library
+
+The multiprocessing.resource_tracker replaces the
+multiprocessing.semaphore_tracker module. Other than semaphores,
+resource_tracker also tracks shared_memory segments.
+
+..
+
+.. bpo: 30262
+.. date: 2019-05-09-12-38-40
+.. nonce: Tu74ak
+.. section: Library
+
+The ``Cache`` and ``Statement`` objects of the :mod:`sqlite3` module are not
+exposed to the user. Patch by Aviv Palivoda.
+
+..
+
+.. bpo: 24538
+.. date: 2019-05-09-08-35-18
+.. nonce: WK8Y-k
+.. section: Library
+
+In `shutil.copystat()`, first copy extended file attributes and then file
+permissions, since extended attributes can only be set on the destination
+while it is still writeable.
+
+..
+
+.. bpo: 36829
+.. date: 2019-05-08-12-51-37
+.. nonce: 8enFMA
+.. section: Library
+
+Add new :func:`sys.unraisablehook` function which can be overridden to
+control how "unraisable exceptions" are handled. It is called when an
+exception has occurred but there is no way for Python to handle it. For
+example, when a destructor raises an exception or during garbage collection
+(:func:`gc.collect`).
+
+..
+
+.. bpo: 36832
+.. date: 2019-05-07-15-00-45
+.. nonce: TExgqb
+.. section: Library
+
+Introducing ``zipfile.Path``, a pathlib-compatible wrapper for traversing
+zip files.
+
+..
+
+.. bpo: 36814
+.. date: 2019-05-06-23-13-26
+.. nonce: dSeMz_
+.. section: Library
+
+Fix an issue where os.posix_spawnp() would incorrectly raise a TypeError
+when file_actions is None.
+
+..
+
+.. bpo: 33110
+.. date: 2019-05-06-22-34-47
+.. nonce: rSJSCh
+.. section: Library
+
+Handle exceptions raised by functions added by concurrent.futures
+add_done_callback correctly when the Future has already completed.
+
+..
+
+.. bpo: 26903
+.. date: 2019-05-06-19-17-04
+.. nonce: 4payXb
+.. section: Library
+
+Limit `max_workers` in `ProcessPoolExecutor` to 61 to work around a
+WaitForMultipleObjects limitation.
+
+..
+
+.. bpo: 36813
+.. date: 2019-05-06-18-28-38
+.. nonce: NXD0KZ
+.. section: Library
+
+Fix :class:`~logging.handlers.QueueListener` to call ``queue.task_done()``
+upon stopping. Patch by Bar Harel.
+
+..
+
+.. bpo: 36806
+.. date: 2019-05-05-16-14-38
+.. nonce: rAzF-x
+.. section: Library
+
+Forbid creation of asyncio stream objects like StreamReader, StreamWriter,
+Process, and their protocols outside of asyncio package.
+
+..
+
+.. bpo: 36802
+.. date: 2019-05-05-10-12-23
+.. nonce: HYMc8P
+.. section: Library
+
+Provide both sync and async calls for StreamWriter.write() and
+StreamWriter.close()
+
+..
+
+.. bpo: 36801
+.. date: 2019-05-05-09-45-44
+.. nonce: XrlFFs
+.. section: Library
+
+Properly handle SSL connection closing in asyncio StreamWriter.drain() call.
+
+..
+
+.. bpo: 36785
+.. date: 2019-05-03-20-47-55
+.. nonce: PQLnPq
+.. section: Library
+
+Implement PEP 574 (pickle protocol 5 with out-of-band buffers).
+
+..
+
+.. bpo: 36772
+.. date: 2019-05-01-20-41-53
+.. nonce: fV2K0F
+.. section: Library
+
+functools.lru_cache() can now be used as a straight decorator in addition to
+its existing usage as a function that returns a decorator.
+
+..
+
+.. bpo: 6584
+.. date: 2019-04-30-04-34-53
+.. nonce: Hzp9-P
+.. section: Library
+
+Add a :exc:`~gzip.BadGzipFile` exception to the :mod:`gzip` module.
+
+..
+
+.. bpo: 36748
+.. date: 2019-04-29-15-18-13
+.. nonce: YBKWps
+.. section: Library
+
+Optimized write buffering in C implementation of ``TextIOWrapper``. Writing
+ASCII string to ``TextIOWrapper`` with ascii, latin1, or utf-8 encoding is
+about 20% faster. Patch by Inada Naoki.
+
+..
+
+.. bpo: 8138
+.. date: 2019-04-27-02-54-23
+.. nonce: osBRGI
+.. section: Library
+
+Don't mark ``wsgiref.simple_server.SimpleServer`` as multi-threaded since
+``wsgiref.simple_server.WSGIServer`` is single-threaded.
+
+..
+
+.. bpo: 22640
+.. date: 2019-04-26-22-13-26
+.. nonce: p3rheW
+.. section: Library
+
+:func:`py_compile.compile` now supports silent mode. Patch by Joannah
+Nanjekye
+
+..
+
+.. bpo: 29183
+.. date: 2019-04-22-22-55-29
+.. nonce: MILvsk
+.. section: Library
+
+Fix double exceptions in :class:`wsgiref.handlers.BaseHandler` by calling
+its :meth:`~wsgiref.handlers.BaseHandler.close` method only when no
+exception is raised.
+
+..
+
+.. bpo: 36548
+.. date: 2019-04-07-14-30-10
+.. nonce: CJQiYw
+.. section: Library
+
+Improved the repr of regular expression flags.
+
+..
+
+.. bpo: 36542
+.. date: 2019-04-06-12-36-09
+.. nonce: Q0qyYV
+.. section: Library
+
+The signature of Python functions can now be overridden by specifying the
+``__text_signature__`` attribute.
+
+..
+
+.. bpo: 36533
+.. date: 2019-04-06-00-55-09
+.. nonce: kzMyRH
+.. section: Library
+
+Reinitialize logging.Handler locks in forked child processes instead of
+attempting to acquire them all in the parent before forking only to be
+released in the child process. The acquire/release pattern was leading to
+deadlocks in code that has implemented any form of chained logging handlers
+that depend upon one another as the lock acquision order cannot be
+guaranteed.
+
+..
+
+.. bpo: 35252
+.. date: 2019-04-02-19-23-12
+.. nonce: VooTVv
+.. section: Library
+
+Throw a TypeError instead of an AssertionError when using an invalid type
+annotation with singledispatch.
+
+..
+
+.. bpo: 35900
+.. date: 2019-03-27-15-09-00
+.. nonce: fh56UU
+.. section: Library
+
+Allow reduction methods to return a 6-item tuple where the 6th item
+specifies a custom state-setting method that's called instead of the regular
+``__setstate__`` method.
+
+..
+
+.. bpo: 35900
+.. date: 2019-03-22-22-40-00
+.. nonce: oiee0o
+.. section: Library
+
+enable custom reduction callback registration for functions and classes in
+_pickle.c, using the new Pickler's attribute ``reducer_override``
+
+..
+
+.. bpo: 36368
+.. date: 2019-03-21-16-00-00
+.. nonce: zsRT1
+.. section: Library
+
+Fix a bug crashing SharedMemoryManager instances in interactive sessions
+after a ctrl-c (KeyboardInterrupt) was sent
+
+..
+
+.. bpo: 31904
+.. date: 2019-03-18-14-25-36
+.. nonce: ds3d67
+.. section: Library
+
+Fix mmap fail for VxWorks
+
+..
+
+.. bpo: 27497
+.. date: 2019-03-13-10-57-41
+.. nonce: JDmIe_
+.. section: Library
+
+:meth:`csv.DictWriter.writeheader` now returns the return value of the
+underlying :meth:`csv.Writer.writerow` method. Patch contributed by Ashish
+Nitin Patil.
+
+..
+
+.. bpo: 36239
+.. date: 2019-03-09-23-51-27
+.. nonce: BHJ3Ln
+.. section: Library
+
+Parsing .mo files now ignores comments starting and ending with #-#-#-#-#.
+
+..
+
+.. bpo: 26707
+.. date: 2019-03-04-01-28-33
+.. nonce: QY4kRZ
+.. section: Library
+
+Enable plistlib to read and write binary plist files that were created as a
+KeyedArchive file. Specifically, this allows the plistlib to process 0x80
+tokens as UID objects.
+
+..
+
+.. bpo: 31904
+.. date: 2019-03-01-17-59-39
+.. nonce: 38djdk
+.. section: Library
+
+Add posix module support for VxWorks.
+
+..
+
+.. bpo: 35125
+.. date: 2019-02-15-17-18-50
+.. nonce: h0xk0f
+.. section: Library
+
+Asyncio: Remove inner callback on outer cancellation in shield
+
+..
+
+.. bpo: 35721
+.. date: 2019-01-18-16-23-00
+.. nonce: d8djAJ
+.. section: Library
+
+Fix :meth:`asyncio.SelectorEventLoop.subprocess_exec()` leaks file
+descriptors if ``Popen`` fails and called with ``stdin=subprocess.PIPE``.
+Patch by Niklas Fiekas.
+
+..
+
+.. bpo: 31855
+.. date: 2019-01-11-17-09-15
+.. nonce: PlhfsX
+.. section: Library
+
+:func:`unittest.mock.mock_open` results now respects the argument of
+read([size]). Patch contributed by Rémi Lapeyre.
+
+..
+
+.. bpo: 35431
+.. date: 2019-01-02-19-48-23
+.. nonce: FhG6QA
+.. section: Library
+
+Implement :func:`math.comb` that returns binomial coefficient, that computes
+the number of ways to choose k items from n items without repetition and
+without order. Patch by Yash Aggarwal and Keller Fuchs.
+
+..
+
+.. bpo: 26660
+.. date: 2018-11-04-16-39-46
+.. nonce: RdXz8a
+.. section: Library
+
+Fixed permission errors in :class:`~tempfile.TemporaryDirectory` clean up.
+Previously ``TemporaryDirectory.cleanup()`` failed when non-writeable or
+non-searchable files or directories were created inside a temporary
+directory.
+
+..
+
+.. bpo: 34271
+.. date: 2018-10-21-17-39-32
+.. nonce: P15VLM
+.. section: Library
+
+Add debugging helpers to ssl module. It's now possible to dump key material
+and to trace TLS protocol. The default and stdlib contexts also support
+SSLKEYLOGFILE env var.
+
+..
+
+.. bpo: 26467
+.. date: 2018-09-13-20-33-24
+.. nonce: cahAk3
+.. section: Library
+
+Added AsyncMock to support using unittest to mock asyncio coroutines. Patch
+by Lisa Roach.
+
+..
+
+.. bpo: 33569
+.. date: 2018-08-28-03-00-12
+.. nonce: 45YlGG
+.. section: Library
+
+dataclasses.InitVar: Exposes the type used to create the init var.
+
+..
+
+.. bpo: 34424
+.. date: 2018-08-18-14-47-00
+.. nonce: wAlRuS
+.. section: Library
+
+Fix serialization of messages containing encoded strings when the
+policy.linesep is set to a multi-character string. Patch by Jens Troeger.
+
+..
+
+.. bpo: 34303
+.. date: 2018-08-03-09-47-20
+.. nonce: tOE2HP
+.. section: Library
+
+Performance of :func:`functools.reduce` is slightly improved. Patch by
+Sergey Fedoseev.
+
+..
+
+.. bpo: 33361
+.. date: 2018-07-13-20-17-17
+.. nonce: dx2NVn
+.. section: Library
+
+Fix a bug in :class:`codecs.StreamRecoder` where seeking might leave old
+data in a buffer and break subsequent read calls. Patch by Ammar Askar.
+
+..
+
+.. bpo: 22454
+.. date: 2018-06-10-17-48-07
+.. nonce: qeiy_X
+.. section: Library
+
+The :mod:`shlex` module now exposes :func:`shlex.join`, the inverse of
+:func:`shlex.split`. Patch by Bo Bayles.
+
+..
+
+.. bpo: 31922
+.. date: 2018-05-30-01-05-50
+.. nonce: fobsXJ
+.. section: Library
+
+:meth:`asyncio.AbstractEventLoop.create_datagram_endpoint`: Do not connect
+UDP socket when broadcast is allowed. This allows to receive replies after a
+UDP broadcast.
+
+..
+
+.. bpo: 24882
+.. date: 2018-04-04-14-54-30
+.. nonce: urybpa
+.. section: Library
+
+Change ThreadPoolExecutor to use existing idle threads before spinning up
+new ones.
+
+..
+
+.. bpo: 31961
+.. date: 2018-03-27-13-28-16
+.. nonce: GjLoYu
+.. section: Library
+
+Added support for bytes and path-like objects in :func:`subprocess.Popen` on
+Windows. The *args* parameter now accepts a :term:`path-like object` if
+*shell* is ``False`` and a sequence containing bytes and path-like objects.
+The *executable* parameter now accepts a bytes and :term:`path-like object`.
+The *cwd* parameter now accepts a bytes object. Based on patch by Anders
+Lorentsen.
+
+..
+
+.. bpo: 33123
+.. date: 2018-03-22-19-13-19
+.. nonce: _Y5ooE
+.. section: Library
+
+:class:`pathlib.Path.unlink` now accepts a *missing_ok* parameter to avoid a
+:exc:`FileNotFoundError` from being raised. Patch by Robert Buchholz.
+
+..
+
+.. bpo: 32941
+.. date: 2018-03-20-20-57-00
+.. nonce: 9FU0gL
+.. section: Library
+
+Allow :class:`mmap.mmap` objects to access the madvise() system call
+(through :meth:`mmap.mmap.madvise`).
+
+..
+
+.. bpo: 22102
+.. date: 2018-03-08-16-15-00
+.. nonce: th33uD
+.. section: Library
+
+Added support for ZIP files with disks set to 0. Such files are commonly
+created by builtin tools on Windows when use ZIP64 extension. Patch by
+Francisco Facioni.
+
+..
+
+.. bpo: 32515
+.. date: 2018-01-07-21-04-50
+.. nonce: D8_Wcb
+.. section: Library
+
+trace.py can now run modules via python3 -m trace -t --module module_name
+
+..
+
+.. bpo: 32299
+.. date: 2017-12-13-17-49-56
+.. nonce: eqAPWs
+.. section: Library
+
+Changed :func:`unittest.mock.patch.dict` to return the patched dictionary
+when used as context manager. Patch by Vadim Tsander.
+
+..
+
+.. bpo: 27141
+.. date: 2017-10-24-00-42-14
+.. nonce: zbAgSs
+.. section: Library
+
+Added a ``__copy__()`` to ``collections.UserList`` and
+``collections.UserDict`` in order to correctly implement shallow copying of
+the objects. Patch by Bar Harel.
+
+..
+
+.. bpo: 31829
+.. date: 2017-10-21-12-07-56
+.. nonce: 6IhP-O
+.. section: Library
+
+``\r``, ``\0`` and ``\x1a`` (end-of-file on Windows) are now escaped in
+protocol 0 pickles of Unicode strings. This allows to load them without loss
+from files open in text mode in Python 2.
+
+..
+
+.. bpo: 23395
+.. date: 2016-07-27-11-06-43
+.. nonce: MuCEX9
+.. section: Library
+
+``_thread.interrupt_main()`` now avoids setting the Python error status if
+the ``SIGINT`` signal is ignored or not handled by Python.
+
+..
+
+.. bpo: 36896
+.. date: 2019-05-31-10-46-36
+.. nonce: wkXTW9
+.. section: Documentation
+
+Clarify that some types have unstable constructor signature between Python
+versions.
+
+..
+
+.. bpo: 36686
+.. date: 2019-05-27-17-28-58
+.. nonce: Zot4sx
+.. section: Documentation
+
+Improve documentation of the stdin, stdout, and stderr arguments of of the
+``asyncio.subprocess_exec`` function to specficy which values are supported.
+Also mention that decoding as text is not supported.
+
+Add a few tests to verify that the various values passed to the std*
+arguments actually work.
+
+..
+
+.. bpo: 36984
+.. date: 2019-05-20-22-21-17
+.. nonce: IjZlmS
+.. section: Documentation
+
+Improve version added references in ``typing`` module - by Anthony Sottile.
+
+..
+
+.. bpo: 36868
+.. date: 2019-05-11-17-42-15
+.. nonce: yioL0R
+.. section: Documentation
+
+What's new now mentions SSLContext.hostname_checks_common_name instead of
+SSLContext.host_flags.
+
+..
+
+.. bpo: 35924
+.. date: 2019-05-08-13-17-44
+.. nonce: lqbNpW
+.. section: Documentation
+
+Add a note to the ``curses.addstr()`` documentation to warn that multiline
+strings can cause segfaults because of an ncurses bug.
+
+..
+
+.. bpo: 36783
+.. date: 2019-05-07-02-30-51
+.. nonce: gpC8E2
+.. section: Documentation
+
+Added C API Documentation for Time_FromTimeAndFold and
+PyDateTime_FromDateAndTimeAndFold as per PEP 495. Patch by Edison Abahurire.
+
+..
+
+.. bpo: 36797
+.. date: 2019-05-05-07-58-50
+.. nonce: W1X4On
+.. section: Documentation
+
+More of the legacy distutils documentation has been either pruned, or else
+more clearly marked as being retained solely until the setuptools
+documentation covers it independently.
+
+..
+
+.. bpo: 22865
+.. date: 2019-02-21-18-13-50
+.. nonce: 6hg6J8
+.. section: Documentation
+
+Add detail to the documentation on the `pty.spawn` function.
+
+..
+
+.. bpo: 35397
+.. date: 2019-01-09-17-56-35
+.. nonce: ZMreIz
+.. section: Documentation
+
+Remove deprecation and document urllib.parse.unwrap(). Patch contributed by
+Rémi Lapeyre.
+
+..
+
+.. bpo: 32995
+.. date: 2018-10-07-03-04-57
+.. nonce: TXN9ur
+.. section: Documentation
+
+Added the context variable in glossary.
+
+..
+
+.. bpo: 33519
+.. date: 2018-05-17-21-02-00
+.. nonce: Q7s2FB
+.. section: Documentation
+
+Clarify that `copy()` is not part of the `MutableSequence` ABC.
+
+..
+
+.. bpo: 33482
+.. date: 2018-05-13-10-36-37
+.. nonce: jalAaQ
+.. section: Documentation
+
+Make `codecs.StreamRecoder.writelines` take a list of bytes.
+
+..
+
+.. bpo: 25735
+.. date: 2018-04-08-19-09-22
+.. nonce: idVQBD
+.. section: Documentation
+
+Added documentation for func factorial to indicate that returns integer
+values
+
+..
+
+.. bpo: 20285
+.. date: 2017-12-08-20-30-37
+.. nonce: cfnp0J
+.. section: Documentation
+
+Expand object.__doc__ (docstring) to make it clearer. Modify pydoc.py so
+that help(object) lists object methods (for other classes, help omits
+methods of the object base class.)
+
+..
+
+.. bpo: 37069
+.. date: 2019-06-03-02-30-36
+.. nonce: rVtdLk
+.. section: Tests
+
+Modify test_coroutines, test_cprofile, test_generators, test_raise, test_ssl
+and test_yield_from to use :func:`test.support.catch_unraisable_exception`
+rather than :func:`test.support.captured_stderr`.
+
+..
+
+.. bpo: 37098
+.. date: 2019-05-30-10-57-39
+.. nonce: SfXt1M
+.. section: Tests
+
+Fix test_memfd_create on older Linux Kernels.
+
+..
+
+.. bpo: 37081
+.. date: 2019-05-28-17-48-22
+.. nonce: qxB-1l
+.. section: Tests
+
+Test with OpenSSL 1.1.1c
+
+..
+
+.. bpo: 36829
+.. date: 2019-05-22-12-57-15
+.. nonce: e9mRWC
+.. section: Tests
+
+Add :func:`test.support.catch_unraisable_exception`: context manager
+catching unraisable exception using :func:`sys.unraisablehook`.
+
+..
+
+.. bpo: 36915
+.. date: 2019-05-14-14-12-24
+.. nonce: 58b7pH
+.. section: Tests
+
+The main regrtest process now always removes all temporary directories of
+worker processes even if they crash or if they are killed on
+KeyboardInterrupt (CTRL+c).
+
+..
+
+.. bpo: 36719
+.. date: 2019-05-10-01-50-30
+.. nonce: O84ZWv
+.. section: Tests
+
+"python3 -m test -jN ..." now continues the execution of next tests when a
+worker process crash (CHILD_ERROR state). Previously, the test suite stopped
+immediately. Use --failfast to stop at the first error.
+
+..
+
+.. bpo: 36816
+.. date: 2019-05-08-15-55-46
+.. nonce: WBKRGZ
+.. section: Tests
+
+Update Lib/test/selfsigned_pythontestdotnet.pem to match
+self-signed.pythontest.net's new TLS certificate.
+
+..
+
+.. bpo: 35925
+.. date: 2019-05-06-18-29-54
+.. nonce: gwQPuC
+.. section: Tests
+
+Skip httplib and nntplib networking tests when they would otherwise fail due
+to a modern OS or distro with a default OpenSSL policy of rejecting
+connections to servers with weak certificates.
+
+..
+
+.. bpo: 36782
+.. date: 2019-05-04-21-25-19
+.. nonce: h3oPIb
+.. section: Tests
+
+Add tests for several C API functions in the :mod:`datetime` module. Patch
+by Edison Abahurire.
+
+..
+
+.. bpo: 36342
+.. date: 2019-03-23-13-58-49
+.. nonce: q6Quiq
+.. section: Tests
+
+Fix test_multiprocessing in test_venv if platform lacks functioning
+sem_open.
+
+..
+
+.. bpo: 36721
+.. date: 2019-05-22-16-19-18
+.. nonce: 9aRwfZ
+.. section: Build
+
+To embed Python into an application, a new ``--embed`` option must be passed
+to ``python3-config --libs --embed`` to get ``-lpython3.8`` (link the
+application to libpython). To support both 3.8 and older, try
+``python3-config --libs --embed`` first and fallback to ``python3-config
+--libs`` (without ``--embed``) if the previous command fails.
+
+Add a pkg-config ``python-3.8-embed`` module to embed Python into an
+application: ``pkg-config python-3.8-embed --libs`` includes
+``-lpython3.8``. To support both 3.8 and older, try ``pkg-config
+python-X.Y-embed --libs`` first and fallback to ``pkg-config python-X.Y
+--libs`` (without ``--embed``) if the previous command fails (replace
+``X.Y`` with the Python version).
+
+On the other hand, ``pkg-config python3.8 --libs`` no longer contains
+``-lpython3.8``. C extensions must not be linked to libpython (except on
+Android, case handled by the script); this change is backward incompatible
+on purpose.
+
+..
+
+.. bpo: 36786
+.. date: 2019-05-03-21-08-06
+.. nonce: gOLFbD
+.. section: Build
+
+"make install" now runs compileall in parallel.
+
+..
+
+.. bpo: 36965
+.. date: 2019-05-20-20-26-36
+.. nonce: KsfI-N
+.. section: Windows
+
+include of STATUS_CONTROL_C_EXIT without depending on MSC compiler
+
+..
+
+.. bpo: 35926
+.. date: 2019-03-01-16-43-45
+.. nonce: mLszHo
+.. section: Windows
+
+Update to OpenSSL 1.1.1b for Windows.
+
+..
+
+.. bpo: 29883
+.. date: 2018-09-15-11-36-55
+.. nonce: HErerE
+.. section: Windows
+
+Add Windows support for UDP transports for the Proactor Event Loop. Patch by
+Adam Meily.
+
+..
+
+.. bpo: 33407
+.. date: 2018-08-28-17-23-49
+.. nonce: ARG0W_
+.. section: Windows
+
+The :c:macro:`Py_DEPRECATED()` macro has been implemented for MSVC.
+
+..
+
+.. bpo: 36231
+.. date: 2019-06-03-05-49-49
+.. nonce: RfmW_p
+.. section: macOS
+
+Support building Python on macOS without /usr/include installed. As of macOS
+10.14, system header files are only available within an SDK provided by
+either the Command Line Tools or the Xcode app.
+
+..
+
+.. bpo: 35610
+.. date: 2019-06-02-14-10-52
+.. nonce: 0w_v6Y
+.. section: IDLE
+
+Replace now redundant .context_use_ps1 with .prompt_last_line. This finishes
+change started in bpo-31858.
+
+..
+
+.. bpo: 37038
+.. date: 2019-05-24-18-57-57
+.. nonce: AJ3RwQ
+.. section: IDLE
+
+Make idlelib.run runnable; add test clause.
+
+..
+
+.. bpo: 36958
+.. date: 2019-05-19-22-02-22
+.. nonce: DZUC6G
+.. section: IDLE
+
+Print any argument other than None or int passed to SystemExit or
+sys.exit().
+
+..
+
+.. bpo: 13102
+.. date: 2019-05-05-16-27-53
+.. nonce: AGNWYJ
+.. section: IDLE
+
+When saving a file, call os.fsync() so bits are flushed to e.g. USB drive.
+
+..
+
+.. bpo: 32411
+.. date: 2017-12-25-18-48-50
+.. nonce: vNwDhe
+.. section: IDLE
+
+In browser.py, remove extraneous sorting by line number since dictionary was
+created in line number order.
+
+..
+
+.. bpo: 37053
+.. date: 2019-05-26-16-47-06
+.. nonce: -EYRuz
+.. section: Tools/Demos
+
+Handle strings like u"bar" correctly in Tools/parser/unparse.py. Patch by
+Chih-Hsuan Yen.
+
+..
+
+.. bpo: 36763
+.. date: 2019-05-27-12-25-25
+.. nonce: bHCA9j
+.. section: C API
+
+Implement the :pep:`587` "Python Initialization Configuration".
+
+..
+
+.. bpo: 36379
+.. date: 2019-05-24-07-11-08
+.. nonce: 8zgoKe
+.. section: C API
+
+Fix crashes when attempting to use the *modulo* parameter when ``__ipow__``
+is implemented in C.
+
+..
+
+.. bpo: 37107
+.. date: 2019-05-22-17-33-52
+.. nonce: 8BVPR-
+.. section: C API
+
+Update :c:func:`PyObject_CallMethodObjArgs` and
+``_PyObject_CallMethodIdObjArgs`` to use ``_PyObject_GetMethod`` to avoid
+creating a bound method object in many cases. Patch by Michael J. Sullivan.
+
+..
+
+.. bpo: 36974
+.. date: 2019-05-22-15-24-08
+.. nonce: TkySRe
+.. section: C API
+
+Implement :pep:`590`: Vectorcall: a fast calling protocol for CPython. This
+is a new protocol to optimize calls of custom callable objects.
+
+..
+
+.. bpo: 36763
+.. date: 2019-05-17-19-23-24
+.. nonce: TswmDy
+.. section: C API
+
+``Py_Main()`` now returns the exitcode rather than calling
+``Py_Exit(exitcode)`` when calling ``PyErr_Print()`` if the current
+exception type is ``SystemExit``.
+
+..
+
+.. bpo: 36922
+.. date: 2019-05-15-10-46-55
+.. nonce: J3EFK_
+.. section: C API
+
+Add new type flag ``Py_TPFLAGS_METHOD_DESCRIPTOR`` for objects behaving like
+unbound methods. These are objects supporting the optimization given by the
+``LOAD_METHOD``/``CALL_METHOD`` opcodes. See PEP 590.
+
+..
+
+.. bpo: 36728
+.. date: 2019-05-11-03-56-23
+.. nonce: FR-dMP
+.. section: C API
+
+The :c:func:`PyEval_ReInitThreads` function has been removed from the C API.
+It should not be called explicitly: use :c:func:`PyOS_AfterFork_Child`
+instead.