# -*- coding: utf-8 -*-
-# Autogenerated by Sphinx on Mon Mar 23 17:18:04 2020
+# Autogenerated by Sphinx on Mon Apr 27 22:35:16 2020
topics = {'assert': 'The "assert" statement\n'
'**********************\n'
'\n'
' value is false. A counter-intuitive implication is that '
'not-a-number\n'
' values are not equal to themselves. For example, if "x =\n'
- ' float(\'NaN\')", "3 < x", "x < 3", "x == x", "x != x" are '
- 'all false.\n'
- ' This behavior is compliant with IEEE 754.\n'
+ ' float(\'NaN\')", "3 < x", "x < 3" and "x == x" are all '
+ 'false, while "x\n'
+ ' != x" is true. This behavior is compliant with IEEE 754.\n'
'\n'
'* "None" and "NotImplemented" are singletons. **PEP 8** '
'advises\n'
'\n'
'When a description of an arithmetic operator below uses the '
'phrase\n'
- '“the numeric arguments are converted to a common type,” this '
+ '“the numeric arguments are converted to a common type”, this '
'means\n'
'that the operator implementation for built-in types works as '
'follows:\n'
'\n'
' Changed in version 3.7: "object.__format__(x, \'\')" is '
'now\n'
- ' equivalent to "str(x)" rather than "format(str(self), '
+ ' equivalent to "str(x)" rather than "format(str(x), '
'\'\')".\n'
'\n'
'object.__lt__(self, other)\n'
'convention.\n'
'\n'
'"__*__"\n'
- ' System-defined names. These names are defined by the '
- 'interpreter\n'
- ' and its implementation (including the standard library). '
- 'Current\n'
- ' system names are discussed in the Special method names '
- 'section and\n'
- ' elsewhere. More will likely be defined in future versions '
- 'of\n'
- ' Python. *Any* use of "__*__" names, in any context, that '
- 'does not\n'
- ' follow explicitly documented use, is subject to breakage '
- 'without\n'
- ' warning.\n'
+ ' System-defined names, informally known as “dunder” names. '
+ 'These\n'
+ ' names are defined by the interpreter and its '
+ 'implementation\n'
+ ' (including the standard library). Current system names are\n'
+ ' discussed in the Special method names section and '
+ 'elsewhere. More\n'
+ ' will likely be defined in future versions of Python. *Any* '
+ 'use of\n'
+ ' "__*__" names, in any context, that does not follow '
+ 'explicitly\n'
+ ' documented use, is subject to breakage without warning.\n'
'\n'
'"__*"\n'
' Class-private names. Names in this category, when used '
'convention.\n'
'\n'
'"__*__"\n'
- ' System-defined names. These names are defined by the '
- 'interpreter\n'
- ' and its implementation (including the standard library). '
- 'Current\n'
- ' system names are discussed in the Special method names '
- 'section and\n'
- ' elsewhere. More will likely be defined in future versions '
- 'of\n'
- ' Python. *Any* use of "__*__" names, in any context, that '
- 'does not\n'
- ' follow explicitly documented use, is subject to breakage '
- 'without\n'
- ' warning.\n'
+ ' System-defined names, informally known as “dunder” names. '
+ 'These\n'
+ ' names are defined by the interpreter and its '
+ 'implementation\n'
+ ' (including the standard library). Current system names '
+ 'are\n'
+ ' discussed in the Special method names section and '
+ 'elsewhere. More\n'
+ ' will likely be defined in future versions of Python. '
+ '*Any* use of\n'
+ ' "__*__" names, in any context, that does not follow '
+ 'explicitly\n'
+ ' documented use, is subject to breakage without warning.\n'
'\n'
'"__*"\n'
' Class-private names. Names in this category, when used '
'program is represented by objects or by relations between '
'objects. (In\n'
'a sense, and in conformance to Von Neumann’s model of a “stored\n'
- 'program computer,” code is also represented by objects.)\n'
+ 'program computer”, code is also represented by objects.)\n'
'\n'
'Every object has an identity, a type and a value. An object’s\n'
'*identity* never changes once it has been created; you may think '
'\n'
' Changed in version 3.7: "object.__format__(x, \'\')" is '
'now\n'
- ' equivalent to "str(x)" rather than "format(str(self), '
+ ' equivalent to "str(x)" rather than "format(str(x), '
'\'\')".\n'
'\n'
'object.__lt__(self, other)\n'
'*start* and\n'
' *end* are interpreted as in slice notation.\n'
'\n'
+ 'str.removeprefix(prefix, /)\n'
+ '\n'
+ ' If the string starts with the *prefix* string, return\n'
+ ' "string[len(prefix):]". Otherwise, return a copy of the '
+ 'original\n'
+ ' string:\n'
+ '\n'
+ " >>> 'TestHook'.removeprefix('Test')\n"
+ " 'Hook'\n"
+ " >>> 'BaseTestCase'.removeprefix('Test')\n"
+ " 'BaseTestCase'\n"
+ '\n'
+ ' New in version 3.9.\n'
+ '\n'
+ 'str.removesuffix(suffix, /)\n'
+ '\n'
+ ' If the string ends with the *suffix* string and that '
+ '*suffix* is\n'
+ ' not empty, return "string[:-len(suffix)]". Otherwise, '
+ 'return a copy\n'
+ ' of the original string:\n'
+ '\n'
+ " >>> 'MiscTests'.removesuffix('Tests')\n"
+ " 'Misc'\n"
+ " >>> 'TmpDirMixin'.removesuffix('Tests')\n"
+ " 'TmpDirMixin'\n"
+ '\n'
+ ' New in version 3.9.\n'
+ '\n'
'str.encode(encoding="utf-8", errors="strict")\n'
'\n'
' Return an encoded version of the string as a bytes '
" >>> 'www.example.com'.lstrip('cmowz.')\n"
" 'example.com'\n"
'\n'
+ ' See "str.removeprefix()" for a method that will remove '
+ 'a single\n'
+ ' prefix string rather than all of a set of characters. '
+ 'For example:\n'
+ '\n'
+ " >>> 'Arthur: three!'.lstrip('Arthur: ')\n"
+ " 'ee!'\n"
+ " >>> 'Arthur: three!'.removeprefix('Arthur: ')\n"
+ " 'three!'\n"
+ '\n'
'static str.maketrans(x[, y[, z]])\n'
'\n'
' This static method returns a translation table usable '
" >>> 'mississippi'.rstrip('ipz')\n"
" 'mississ'\n"
'\n'
+ ' See "str.removesuffix()" for a method that will remove '
+ 'a single\n'
+ ' suffix string rather than all of a set of characters. '
+ 'For example:\n'
+ '\n'
+ " >>> 'Monty Python'.rstrip(' Python')\n"
+ " 'M'\n"
+ " >>> 'Monty Python'.removesuffix(' Python')\n"
+ " 'Monty'\n"
+ '\n'
'str.split(sep=None, maxsplit=-1)\n'
'\n'
' Return a list of the words in the string, using *sep* '
' then they can be used interchangeably to index the same\n'
' dictionary entry.\n'
'\n'
+ ' Dictionaries preserve insertion order, meaning that keys will '
+ 'be\n'
+ ' produced in the same order they were added sequentially over '
+ 'the\n'
+ ' dictionary. Replacing an existing key does not change the '
+ 'order,\n'
+ ' however removing a key and re-inserting it will add it to '
+ 'the\n'
+ ' end instead of keeping its old place.\n'
+ '\n'
' Dictionaries are mutable; they can be created by the "{...}"\n'
' notation (see section Dictionary displays).\n'
'\n'
'"collections"\n'
' module.\n'
'\n'
+ ' Changed in version 3.7: Dictionaries did not preserve '
+ 'insertion\n'
+ ' order in versions of Python before 3.6. In CPython 3.6,\n'
+ ' insertion order was preserved, but it was considered an\n'
+ ' implementation detail at that time rather than a language\n'
+ ' guarantee.\n'
+ '\n'
'Callable types\n'
' These are the types to which the function call operation (see\n'
' section Calls) can be applied:\n'
--- /dev/null
+.. bpo: 40121
+.. date: 2020-03-30-23-16-25
+.. nonce: p2LIio
+.. release date: 2020-04-27
+.. section: Security
+
+Fixes audit events raised on creating a new socket.
+
+..
+
+.. bpo: 39073
+.. date: 2020-03-15-01-28-36
+.. nonce: 6Szd3i
+.. section: Security
+
+Disallow CR or LF in email.headerregistry.Address arguments to guard against
+header injection attacks.
+
+..
+
+.. bpo: 39503
+.. date: 2020-01-30-16-15-29
+.. nonce: B299Yq
+.. section: Security
+
+CVE-2020-8492: The :class:`~urllib.request.AbstractBasicAuthHandler` class
+of the :mod:`urllib.request` module uses an inefficient regular expression
+which can be exploited by an attacker to cause a denial of service. Fix the
+regex to prevent the catastrophic backtracking. Vulnerability reported by
+Ben Caller and Matt Schwager.
+
+..
+
+.. bpo: 40313
+.. date: 2020-04-20-23-58-35
+.. nonce: USVRW8
+.. section: Core and Builtins
+
+Improve the performance of bytes.hex().
+
+..
+
+.. bpo: 40334
+.. date: 2020-04-20-14-06-19
+.. nonce: CTLGEp
+.. section: Core and Builtins
+
+Switch to a new parser, based on PEG. For more details see PEP 617. To
+temporarily switch back to the old parser, use ``-X oldparser`` or
+``PYTHONOLDPARSER=1``. In Python 3.10 we will remove the old parser
+completely, including the ``parser`` module (already deprecated) and
+anything that depends on it.
+
+..
+
+.. bpo: 40267
+.. date: 2020-04-14-18-54-50
+.. nonce: Q2N6Bw
+.. section: Core and Builtins
+
+Fix the tokenizer to display the correct error message, when there is a
+SyntaxError on the last input character and no newline follows. It used to
+be `unexpected EOF while parsing`, while it should be `invalid syntax`.
+
+..
+
+.. bpo: 39522
+.. date: 2020-04-14-18-47-00
+.. nonce: uVeIV_
+.. section: Core and Builtins
+
+Correctly unparse explicit ``u`` prefix for strings when postponed
+evaluation for annotations activated. Patch by Batuhan Taskaya.
+
+..
+
+.. bpo: 40246
+.. date: 2020-04-11-17-52-03
+.. nonce: vXPze5
+.. section: Core and Builtins
+
+Report a specialized error message, `invalid string prefix`, when the
+tokenizer encounters a string with an invalid prefix.
+
+..
+
+.. bpo: 40082
+.. date: 2020-04-08-22-33-24
+.. nonce: WI3-lu
+.. section: Core and Builtins
+
+Fix the signal handler: it now always uses the main interpreter, rather than
+trying to get the current Python thread state.
+
+..
+
+.. bpo: 37388
+.. date: 2020-04-07-15-44-29
+.. nonce: stlxBq
+.. section: Core and Builtins
+
+str.encode() and str.decode() no longer check the encoding and errors in
+development mode or in debug mode during Python finalization. The codecs
+machinery can no longer work on very late calls to str.encode() and
+str.decode().
+
+..
+
+.. bpo: 40077
+.. date: 2020-04-04-12-43-19
+.. nonce: m15TTX
+.. section: Core and Builtins
+
+Fix possible refleaks in :mod:`_json`, memo of PyScannerObject should be
+traversed.
+
+..
+
+.. bpo: 37207
+.. date: 2020-04-02-00-25-19
+.. nonce: ZTPmKJ
+.. section: Core and Builtins
+
+Speed up calls to ``dict()`` by using the :pep:`590` ``vectorcall`` calling
+convention.
+
+..
+
+.. bpo: 40141
+.. date: 2020-04-01-21-50-37
+.. nonce: 8fCRVj
+.. section: Core and Builtins
+
+Add column and line information to ``ast.keyword`` nodes. Patch by Pablo
+Galindo.
+
+..
+
+.. bpo: 1635741
+.. date: 2020-04-01-00-08-18
+.. nonce: bhGWam
+.. section: Core and Builtins
+
+Port :mod:`resource` to multiphase initialization (:pep:`489`).
+
+..
+
+.. bpo: 1635741
+.. date: 2020-03-31-22-15-04
+.. nonce: 8Ir1a0
+.. section: Core and Builtins
+
+Port :mod:`math` to multiphase initialization (:pep:`489`).
+
+..
+
+.. bpo: 1635741
+.. date: 2020-03-31-21-12-27
+.. nonce: S2nkF3
+.. section: Core and Builtins
+
+Port _uuid module to multiphase initialization (:pep:`489`).
+
+..
+
+.. bpo: 40077
+.. date: 2020-03-27-01-11-08
+.. nonce: wT002V
+.. section: Core and Builtins
+
+Convert json module to use :c:func:`PyType_FromSpec`.
+
+..
+
+.. bpo: 40067
+.. date: 2020-03-25-20-34-01
+.. nonce: 0bFda2
+.. section: Core and Builtins
+
+Improve the error message for multiple star expressions in an assignment.
+Patch by Furkan Onder
+
+..
+
+.. bpo: 1635741
+.. date: 2020-03-24-22-26-26
+.. nonce: AB38ot
+.. section: Core and Builtins
+
+Port _functools module to multiphase initialization (PEP 489). Patch by
+Paulo Henrique Silva.
+
+..
+
+.. bpo: 1635741
+.. date: 2020-03-24-22-17-12
+.. nonce: jWaMRV
+.. section: Core and Builtins
+
+Port operator module to multiphase initialization (PEP 489). Patch by Paulo
+Henrique Silva.
+
+..
+
+.. bpo: 20526
+.. date: 2020-03-23-18-08-34
+.. nonce: NHNZIv
+.. section: Core and Builtins
+
+Fix :c:func:`PyThreadState_Clear()`. ``PyThreadState.frame`` is a borrowed
+reference, not a strong reference: ``PyThreadState_Clear()`` must not call
+``Py_CLEAR(tstate->frame)``.
+
+..
+
+.. bpo: 1635741
+.. date: 2020-03-22-01-01-41
+.. nonce: gR7Igp
+.. section: Core and Builtins
+
+Port time module to multiphase initialization (:pep:`489`). Patch by Paulo
+Henrique Silva.
+
+..
+
+.. bpo: 1635741
+.. date: 2020-03-20-13-42-35
+.. nonce: bhIu5M
+.. section: Core and Builtins
+
+Port _weakref extension module to multiphase initialization (:pep:`489`).
+
+..
+
+.. bpo: 40020
+.. date: 2020-03-19-21-53-41
+.. nonce: n-26G7
+.. section: Core and Builtins
+
+Fix a leak and subsequent crash in parsetok.c caused by realloc misuse on a
+rare codepath.
+
+..
+
+.. bpo: 39939
+.. date: 2020-03-11-19-17-36
+.. nonce: NwCnAM
+.. section: Core and Builtins
+
+Added str.removeprefix and str.removesuffix methods and corresponding bytes,
+bytearray, and collections.UserString methods to remove affixes from a
+string if present. See :pep:`616` for a full description. Patch by Dennis
+Sweeney.
+
+..
+
+.. bpo: 39481
+.. date: 2020-01-28-17-19-18
+.. nonce: rqSeGl
+.. section: Core and Builtins
+
+Implement PEP 585. This supports list[int], tuple[str, ...] etc.
+
+..
+
+.. bpo: 32894
+.. date: 2019-12-01-21-36-49
+.. nonce: 5g_UQr
+.. section: Core and Builtins
+
+Support unparsing of infinity numbers in postponed annotations. Patch by
+Batuhan Taşkaya.
+
+..
+
+.. bpo: 37207
+.. date: 2019-06-09-10-54-31
+.. nonce: bLjgLS
+.. section: Core and Builtins
+
+Speed up calls to ``list()`` by using the :pep:`590` ``vectorcall`` calling
+convention. Patch by Mark Shannon.
+
+..
+
+.. bpo: 40398
+.. date: 2020-04-26-22-25-36
+.. nonce: OdXnR3
+.. section: Library
+
+:func:`typing.get_args` now always returns an empty tuple for special
+generic aliases.
+
+..
+
+.. bpo: 40396
+.. date: 2020-04-26-19-07-40
+.. nonce: Fn-is1
+.. section: Library
+
+Functions :func:`typing.get_origin`, :func:`typing.get_args` and
+:func:`typing.get_type_hints` support now generic aliases like
+``list[int]``.
+
+..
+
+.. bpo: 38061
+.. date: 2020-04-24-01-55-00
+.. nonce: XmULB3
+.. section: Library
+
+Optimize the :mod:`subprocess` module on FreeBSD using ``closefrom()``. A
+single ``close(fd)`` syscall is cheap, but when ``sysconf(_SC_OPEN_MAX)`` is
+high, the loop calling ``close(fd)`` on each file descriptor can take
+several milliseconds.
+
+The workaround on FreeBSD to improve performance was to load and mount the
+fdescfs kernel module, but this is not enabled by default.
+
+Initial patch by Ed Maste (emaste), Conrad Meyer (cem), Kyle Evans (kevans)
+and Kubilay Kocak (koobs):
+https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=242274
+
+..
+
+.. bpo: 38061
+.. date: 2020-04-24-01-27-08
+.. nonce: cdlkMz
+.. section: Library
+
+On FreeBSD, ``os.closerange(fd_low, fd_high)`` now calls
+``closefrom(fd_low)`` if *fd_high* is greater than or equal to
+``sysconf(_SC_OPEN_MAX)``.
+
+Initial patch by Ed Maste (emaste), Conrad Meyer (cem), Kyle Evans (kevans)
+and Kubilay Kocak (koobs):
+https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=242274
+
+..
+
+.. bpo: 40360
+.. date: 2020-04-22-20-55-17
+.. nonce: Er8sv-
+.. section: Library
+
+The :mod:`lib2to3` module is pending deprecation due to :pep:`617`.
+
+..
+
+.. bpo: 40138
+.. date: 2020-04-22-00-05-10
+.. nonce: i_oGqa
+.. section: Library
+
+Fix the Windows implementation of :func:`os.waitpid` for exit code larger
+than ``INT_MAX >> 8``. The exit status is now interpreted as an unsigned
+number.
+
+..
+
+.. bpo: 39942
+.. date: 2020-04-20-20-16-02
+.. nonce: NvGnTc
+.. section: Library
+
+Set "__main__" as the default module name when "__name__" is missing in
+:class:`typing.TypeVar`. Patch by Weipeng Hong.
+
+..
+
+.. bpo: 40275
+.. date: 2020-04-20-19-06-55
+.. nonce: 9UcN2g
+.. section: Library
+
+The :mod:`logging` package is now imported lazily in :mod:`unittest` only
+when the :meth:`~unittest.TestCase.assertLogs` assertion is used.
+
+..
+
+.. bpo: 40275
+.. date: 2020-04-20-18-50-25
+.. nonce: Ofk6J8
+.. section: Library
+
+The :mod:`asyncio` package is now imported lazily in :mod:`unittest` only
+when the :class:`~unittest.IsolatedAsyncioTestCase` class is used.
+
+..
+
+.. bpo: 40330
+.. date: 2020-04-19-17-31-29
+.. nonce: DGjoIS
+.. section: Library
+
+In :meth:`ShareableList.__setitem__`, check the size of a new string item
+after encoding it to utf-8, not before.
+
+..
+
+.. bpo: 40148
+.. date: 2020-04-19-14-16-43
+.. nonce: pDZR6V
+.. section: Library
+
+Added :meth:`pathlib.Path.with_stem()` to create a new Path with the stem
+replaced.
+
+..
+
+.. bpo: 40325
+.. date: 2020-04-18-19-40-00
+.. nonce: KWSvix
+.. section: Library
+
+Deprecated support for set objects in random.sample().
+
+..
+
+.. bpo: 40257
+.. date: 2020-04-18-10-52-15
+.. nonce: lv4WTq
+.. section: Library
+
+Improved help for the :mod:`typing` module. Docstrings are now shown for all
+special forms and special generic aliases (like ``Union`` and ``List``).
+Using ``help()`` with generic alias like ``List[int]`` will show the help
+for the correspondent concrete type (``list`` in this case).
+
+..
+
+.. bpo: 40257
+.. date: 2020-04-15-19-34-11
+.. nonce: ux8FUr
+.. section: Library
+
+func:`inspect.getdoc` no longer returns docstring inherited from the type of
+the object or from parent class if it is a class if it is not defined in the
+object itself. In :mod:`pydoc` the documentation string is now shown not
+only for class, function, method etc, but for any object that has its own
+``__doc__`` attribute.
+
+..
+
+.. bpo: 40287
+.. date: 2020-04-15-17-21-48
+.. nonce: -mkEJH
+.. section: Library
+
+Fixed ``SpooledTemporaryFile.seek()`` to return the position.
+
+..
+
+.. bpo: 40290
+.. date: 2020-04-15-16-43-48
+.. nonce: eqCMGJ
+.. section: Library
+
+Added zscore() to statistics.NormalDist().
+
+..
+
+.. bpo: 40282
+.. date: 2020-04-15-10-23-52
+.. nonce: rIYJmu
+.. section: Library
+
+Allow ``random.getrandbits(0)`` to succeed and to return 0.
+
+..
+
+.. bpo: 40286
+.. date: 2020-04-15-00-39-25
+.. nonce: ai80FA
+.. section: Library
+
+Add :func:`random.randbytes` function and :meth:`random.Random.randbytes`
+method to generate random bytes.
+
+..
+
+.. bpo: 40277
+.. date: 2020-04-14-21-53-18
+.. nonce: NknSaf
+.. section: Library
+
+:func:`collections.namedtuple` now provides a human-readable repr for its
+field accessors.
+
+..
+
+.. bpo: 40270
+.. date: 2020-04-14-16-18-49
+.. nonce: XVJzeG
+.. section: Library
+
+The included copy of sqlite3 on Windows is now compiled with the json
+extension. This allows the use of functions such as ``json_object``.
+
+..
+
+.. bpo: 29255
+.. date: 2020-04-14-11-31-07
+.. nonce: 4EcyIN
+.. section: Library
+
+Wait in `KqueueSelector.select` when no fds are registered
+
+..
+
+.. bpo: 40260
+.. date: 2020-04-12-21-18-56
+.. nonce: F6VWaE
+.. section: Library
+
+Ensure :mod:`modulefinder` uses :func:`io.open_code` and respects coding
+comments.
+
+..
+
+.. bpo: 40234
+.. date: 2020-04-10-16-13-47
+.. nonce: tar4d_
+.. section: Library
+
+Allow again to spawn daemon threads in subinterpreters (revert change which
+denied them).
+
+..
+
+.. bpo: 39207
+.. date: 2020-04-10-01-24-58
+.. nonce: 2dE5Ox
+.. section: Library
+
+Workers in :class:`~concurrent.futures.ProcessPoolExecutor` are now spawned
+on demand, only when there are no available idle workers to reuse. This
+optimizes startup overhead and reduces the amount of lost CPU time to idle
+workers. Patch by Kyle Stanley.
+
+..
+
+.. bpo: 40091
+.. date: 2020-04-07-23-26-25
+.. nonce: 5M9AW5
+.. section: Library
+
+Fix a hang at fork in the logging module: the new private _at_fork_reinit()
+method is now used to reinitialize locks at fork in the child process.
+
+..
+
+.. bpo: 40149
+.. date: 2020-04-07-18-06-38
+.. nonce: mMU2iu
+.. section: Library
+
+Implement traverse and clear slots in _abc._abc_data type.
+
+..
+
+.. bpo: 40208
+.. date: 2020-04-06-20-09-33
+.. nonce: 3rO_q7
+.. section: Library
+
+Remove deprecated :meth:`symtable.SymbolTable.has_exec`.
+
+..
+
+.. bpo: 40196
+.. date: 2020-04-06-11-05-13
+.. nonce: Jqowse
+.. section: Library
+
+Fix a bug in the :mod:`symtable` module that was causing incorrectly report
+global variables as local. Patch by Pablo Galindo.
+
+..
+
+.. bpo: 40190
+.. date: 2020-04-05-02-58-17
+.. nonce: HF3OWo
+.. section: Library
+
+Add support for ``_SC_AIX_REALMEM`` to :func:`posix.sysconf`.
+
+..
+
+.. bpo: 40182
+.. date: 2020-04-04-23-44-09
+.. nonce: Bf_kFN
+.. section: Library
+
+Removed the ``_field_types`` attribute of the :class:`typing.NamedTuple`
+class.
+
+..
+
+.. bpo: 36517
+.. date: 2020-04-04-17-49-39
+.. nonce: Ilj1IJ
+.. section: Library
+
+Multiple inheritance with :class:`typing.NamedTuple` now raises an error
+instead of silently ignoring other types.
+
+..
+
+.. bpo: 40126
+.. date: 2020-04-04-00-47-40
+.. nonce: Y-bTNP
+.. section: Library
+
+Fixed reverting multiple patches in unittest.mock. Patcher's ``__exit__()``
+is now never called if its ``__enter__()`` is failed. Returning true from
+``__exit__()`` silences now the exception.
+
+..
+
+.. bpo: 40094
+.. date: 2020-04-02-01-13-28
+.. nonce: AeZ34K
+.. section: Library
+
+CGIHTTPRequestHandler of http.server now logs the CGI script exit code,
+rather than the CGI script exit status of os.waitpid(). For example, if the
+script is killed by signal 11, it now logs: "CGI script exit code -11."
+
+..
+
+.. bpo: 40108
+.. date: 2020-03-31-01-11-20
+.. nonce: EGDVQ_
+.. section: Library
+
+Improve the error message when triying to import a module using :mod:`runpy`
+and incorrently use the ".py" extension at the end of the module name. Patch
+by Pablo Galindo.
+
+..
+
+.. bpo: 40094
+.. date: 2020-03-28-18-25-49
+.. nonce: v-wQIU
+.. section: Library
+
+Add :func:`os.waitstatus_to_exitcode` function: convert a wait status to an
+exit code.
+
+..
+
+.. bpo: 40089
+.. date: 2020-03-27-17-22-34
+.. nonce: -lFsD0
+.. section: Library
+
+Fix threading._after_fork(): if fork was not called by a thread spawned by
+threading.Thread, threading._after_fork() now creates a _MainThread instance
+for _main_thread, instead of a _DummyThread instance.
+
+..
+
+.. bpo: 40089
+.. date: 2020-03-27-16-54-29
+.. nonce: VTq_8s
+.. section: Library
+
+Add a private ``_at_fork_reinit()`` method to :class:`_thread.Lock`,
+:class:`_thread.RLock`, :class:`threading.RLock` and
+:class:`threading.Condition` classes: reinitialize the lock at fork in the
+child process, reset the lock to the unlocked state. Rename also the private
+``_reset_internal_locks()`` method of :class:`threading.Event` to
+``_at_fork_reinit()``.
+
+..
+
+.. bpo: 25780
+.. date: 2020-03-27-08-57-46
+.. nonce: kIjVge
+.. section: Library
+
+Expose :data:`~socket.CAN_RAW_JOIN_FILTERS` in the :mod:`socket` module.
+
+..
+
+.. bpo: 39503
+.. date: 2020-03-25-16-02-16
+.. nonce: YmMbYn
+.. section: Library
+
+:class:`~urllib.request.AbstractBasicAuthHandler` of :mod:`urllib.request`
+now parses all WWW-Authenticate HTTP headers and accepts multiple challenges
+per header: use the realm of the first Basic challenge.
+
+..
+
+.. bpo: 39812
+.. date: 2020-03-25-00-35-48
+.. nonce: rIKnms
+.. section: Library
+
+Removed daemon threads from :mod:`concurrent.futures` by adding an internal
+`threading._register_atexit()`, which calls registered functions prior to
+joining all non-daemon threads. This allows for compatibility with
+subinterpreters, which don't support daemon threads.
+
+..
+
+.. bpo: 40050
+.. date: 2020-03-24-16-17-20
+.. nonce: 6GrOlz
+.. section: Library
+
+Fix ``importlib._bootstrap_external``: avoid creating a new ``winreg``
+builtin module if it's already available in :data:`sys.modules`, and remove
+redundant imports.
+
+..
+
+.. bpo: 40014
+.. date: 2020-03-23-17-52-00
+.. nonce: Ya70VG
+.. section: Library
+
+Fix ``os.getgrouplist()``: if ``getgrouplist()`` function fails because the
+group list is too small, retry with a larger group list. On failure, the
+glibc implementation of ``getgrouplist()`` sets ``ngroups`` to the total
+number of groups. For other implementations, double the group list size.
+
+..
+
+.. bpo: 40017
+.. date: 2020-03-21-00-46-18
+.. nonce: HFpHZS
+.. section: Library
+
+Add :data:`time.CLOCK_TAI` constant if the operating system support it.
+
+..
+
+.. bpo: 40016
+.. date: 2020-03-19-19-40-27
+.. nonce: JWtxqJ
+.. section: Library
+
+In re docstring, clarify the relationship between inline and argument
+compile flags.
+
+..
+
+.. bpo: 39953
+.. date: 2020-03-19-16-33-03
+.. nonce: yy5lC_
+.. section: Library
+
+Update internal table of OpenSSL error codes in the ``ssl`` module.
+
+..
+
+.. bpo: 36144
+.. date: 2020-03-18-14-51-41
+.. nonce: lQm_RK
+.. section: Library
+
+Added :pep:`584` operators to :class:`weakref.WeakValueDictionary`.
+
+..
+
+.. bpo: 36144
+.. date: 2020-03-18-14-02-58
+.. nonce: ooyn6Z
+.. section: Library
+
+Added :pep:`584` operators to :class:`weakref.WeakKeyDictionary`.
+
+..
+
+.. bpo: 38891
+.. date: 2020-03-15-08-06-05
+.. nonce: 56Yokh
+.. section: Library
+
+Fix linear runtime behaviour of the `__getitem__` and `__setitem__` methods
+in :class:`multiprocessing.shared_memory.ShareableList`. This avoids
+quadratic performance when iterating a `ShareableList`. Patch by Thomas
+Krennwallner.
+
+..
+
+.. bpo: 39682
+.. date: 2020-03-08-11-00-01
+.. nonce: AxXZNz
+.. section: Library
+
+Remove undocumented support for *closing* a `pathlib.Path` object via its
+context manager. The context manager magic methods remain, but they are now
+a no-op, making `Path` objects immutable.
+
+..
+
+.. bpo: 36144
+.. date: 2020-03-07-11-26-08
+.. nonce: FG9jqy
+.. section: Library
+
+Added :pep:`584` operators (``|`` and ``|=``) to
+:class:`collections.ChainMap`.
+
+..
+
+.. bpo: 39011
+.. date: 2020-02-12-01-48-51
+.. nonce: hGve_t
+.. section: Library
+
+Normalization of line endings in ElementTree attributes was removed, as line
+endings which were replaced by entity numbers should be preserved in
+original form.
+
+..
+
+.. bpo: 38410
+.. date: 2019-10-09-08-14-25
+.. nonce: _YyoMV
+.. section: Library
+
+Properly handle :func:`sys.audit` failures in
+:func:`sys.set_asyncgen_hooks`.
+
+..
+
+.. bpo: 36541
+.. date: 2019-06-18-19-38-27
+.. nonce: XI8mi1
+.. section: Library
+
+lib2to3 now recognizes named assignment expressions (the walrus operator,
+``:=``)
+
+..
+
+.. bpo: 35967
+.. date: 2019-04-14-14-11-07
+.. nonce: KUMT9E
+.. section: Library
+
+In platform, delay the invocation of 'uname -p' until the processor
+attribute is requested.
+
+..
+
+.. bpo: 35113
+.. date: 2018-11-03-16-18-20
+.. nonce: vwvWKG
+.. section: Library
+
+:meth:`inspect.getsource` now returns correct source code for inner class
+with same name as module level class. Decorators are also returned as part
+of source of the class. Patch by Karthikeyan Singaravelan.
+
+..
+
+.. bpo: 33262
+.. date: 2018-04-17-13-23-29
+.. nonce: vHC7YQ
+.. section: Library
+
+Deprecate passing None as an argument for :func:`shlex.split()`'s ``s``
+parameter. Patch by Zackery Spytz.
+
+..
+
+.. bpo: 31758
+.. date: 2017-10-14-21-02-40
+.. nonce: 563ZZb
+.. section: Library
+
+Prevent crashes when using an uninitialized ``_elementtree.XMLParser``
+object. Patch by Oren Milman.
+
+..
+
+.. bpo: 27635
+.. date: 2020-04-01-00-27-03
+.. nonce: VwxUty
+.. section: Documentation
+
+The pickle documentation incorrectly claimed that ``__new__`` isn't called
+by default when unpickling.
+
+..
+
+.. bpo: 39879
+.. date: 2020-03-16-18-12-02
+.. nonce: CnQ7Cv
+.. section: Documentation
+
+Updated :ref:`datamodel` docs to include :func:`dict` insertion order
+preservation. Patch by Furkan Onder and Samy Lahfa.
+
+..
+
+.. bpo: 38387
+.. date: 2019-10-06-23-44-15
+.. nonce: fZoq0S
+.. section: Documentation
+
+Document :c:macro:`PyDoc_STRVAR` macro in the C-API reference.
+
+..
+
+.. bpo: 13743
+.. date: 2019-09-25-23-20-55
+.. nonce: 5ToLDy
+.. section: Documentation
+
+Some methods within xml.dom.minidom.Element class are now better documented.
+
+..
+
+.. bpo: 31904
+.. date: 2020-04-09-16-29-18
+.. nonce: ej348T
+.. section: Tests
+
+Set expected default encoding in test_c_locale_coercion.py for VxWorks RTOS.
+
+..
+
+.. bpo: 40162
+.. date: 2020-04-03-02-40-16
+.. nonce: v3pQW_
+.. section: Tests
+
+Update Travis CI configuration to OpenSSL 1.1.1f.
+
+..
+
+.. bpo: 40146
+.. date: 2020-04-02-02-14-37
+.. nonce: J-Yo9G
+.. section: Tests
+
+Update OpenSSL to 1.1.1f in Azure Pipelines.
+
+..
+
+.. bpo: 40094
+.. date: 2020-03-31-18-57-52
+.. nonce: m3fTJe
+.. section: Tests
+
+Add :func:`test.support.wait_process` function.
+
+..
+
+.. bpo: 40003
+.. date: 2020-03-31-16-07-15
+.. nonce: SOruLY
+.. section: Tests
+
+``test.bisect_cmd`` now copies Python command line options like ``-O`` or
+``-W``. Moreover, emit a warning if ``test.bisect_cmd`` is used with
+``-w``/``--verbose2`` option.
+
+..
+
+.. bpo: 39380
+.. date: 2020-03-22-20-00-04
+.. nonce: ZXlRQU
+.. section: Tests
+
+Add the encoding in :class:`ftplib.FTP` and :class:`ftplib.FTP_TLS` to the
+constructor as keyword-only and change the default from ``latin-1`` to
+``utf-8`` to follow :rfc:`2640`.
+
+..
+
+.. bpo: 39793
+.. date: 2020-02-29-12-58-17
+.. nonce: Og2SUN
+.. section: Tests
+
+Use the same domain when testing ``make_msgid``. Patch by Batuhan Taskaya.
+
+..
+
+.. bpo: 1812
+.. date: 2019-11-25-21-46-47
+.. nonce: sAbTbY
+.. section: Tests
+
+Fix newline handling in doctest.testfile when loading from a package whose
+loader has a get_data method. Patch by Peter Donis.
+
+..
+
+.. bpo: 38360
+.. date: 2020-04-22-02-33-54
+.. nonce: 74C68u
+.. section: Build
+
+Support single-argument form of macOS -isysroot flag.
+
+..
+
+.. bpo: 40158
+.. date: 2020-04-03-17-54-33
+.. nonce: MWUTs4
+.. section: Build
+
+Fix CPython MSBuild Properties in NuGet Package (build/native/python.props)
+
+..
+
+.. bpo: 38527
+.. date: 2020-03-28-10-43-09
+.. nonce: fqCRgD
+.. section: Build
+
+Fix configure check on Solaris for "float word ordering": sometimes, the
+correct "grep" command was not being used. Patch by Arnon Yaari.
+
+..
+
+.. bpo: 40164
+.. date: 2020-04-04-13-13-44
+.. nonce: SPrSn5
+.. section: Windows
+
+Updates Windows to OpenSSL 1.1.1f
+
+..
+
+.. bpo: 8901
+.. date: 2020-01-24-09-15-41
+.. nonce: hVnhGO
+.. section: Windows
+
+Ignore the Windows registry when the ``-E`` option is used.
+
+..
+
+.. bpo: 38329
+.. date: 2020-04-22-03-39-22
+.. nonce: H0a8JV
+.. section: macOS
+
+python.org macOS installers now update the Current version symlink of
+/Library/Frameworks/Python.framework/Versions for 3.9 installs. Previously,
+Current was only updated for Python 2.x installs. This should make it easier
+to embed Python 3 into other macOS applications.
+
+..
+
+.. bpo: 40164
+.. date: 2020-04-21-19-46-35
+.. nonce: 6HA6IC
+.. section: macOS
+
+Update macOS installer builds to use OpenSSL 1.1.1g.
+
+..
+
+.. bpo: 38439
+.. date: 2019-12-05-14-20-53
+.. nonce: j_L2PI
+.. section: IDLE
+
+Add a 256×256 pixel IDLE icon to support more modern environments. Created
+by Andrew Clover. Delete the unused macOS idle.icns icon file.
+
+..
+
+.. bpo: 38689
+.. date: 2019-11-14-12-59-19
+.. nonce: Lgfxva
+.. section: IDLE
+
+IDLE will no longer freeze when inspect.signature fails when fetching a
+calltip.
+
+..
+
+.. bpo: 40385
+.. date: 2020-04-24-21-08-19
+.. nonce: nWIQdq
+.. section: Tools/Demos
+
+Removed the checkpyc.py tool. Please see compileall without force mode as a
+potential alternative.
+
+..
+
+.. bpo: 40179
+.. date: 2020-04-04-19-35-22
+.. nonce: u9FH10
+.. section: Tools/Demos
+
+Fixed translation of ``#elif`` in Argument Clinic.
+
+..
+
+.. bpo: 40094
+.. date: 2020-04-02-01-22-21
+.. nonce: 1XQQF6
+.. section: Tools/Demos
+
+Fix ``which.py`` script exit code: it now uses
+:func:`os.waitstatus_to_exitcode` to convert :func:`os.system` exit status
+into an exit code.
+
+..
+
+.. bpo: 40241
+.. date: 2020-04-13-02-56-24
+.. nonce: _FOf7E
+.. section: C API
+
+Move the :c:type:`PyGC_Head` structure to the internal C API.
+
+..
+
+.. bpo: 40170
+.. date: 2020-04-11-06-12-44
+.. nonce: cmM9oK
+.. section: C API
+
+Convert :c:func:`PyObject_IS_GC` macro to a function to hide implementation
+details.
+
+..
+
+.. bpo: 40241
+.. date: 2020-04-10-19-43-04
+.. nonce: Xm3w-1
+.. section: C API
+
+Add the functions :c:func:`PyObject_GC_IsTracked` and
+:c:func:`PyObject_GC_IsFinalized` to the public API to allow to query if
+Python objects are being currently tracked or have been already finalized by
+the garbage collector respectively. Patch by Pablo Galindo.
+
+..
+
+.. bpo: 40170
+.. date: 2020-04-05-00-37-34
+.. nonce: Seuh3D
+.. section: C API
+
+The :c:func:`PyObject_NEW` macro becomes an alias to the
+:c:func:`PyObject_New` macro, and the :c:func:`PyObject_NEW_VAR` macro
+becomes an alias to the :c:func:`PyObject_NewVar` macro, to hide
+implementation details. They no longer access directly the
+:c:member:`PyTypeObject.tp_basicsize` member.
+
+..
+
+.. bpo: 40170
+.. date: 2020-04-05-00-21-38
+.. nonce: Tx0vy6
+.. section: C API
+
+:c:func:`PyType_HasFeature` now always calls :c:func:`PyType_GetFlags` to
+hide implementation details. Previously, it accessed directly the
+:c:member:`PyTypeObject.tp_flags` member when the limited C API was not
+used.
+
+..
+
+.. bpo: 40170
+.. date: 2020-04-05-00-10-45
+.. nonce: 6nFYbY
+.. section: C API
+
+Convert the :c:func:`PyObject_GET_WEAKREFS_LISTPTR` macro to a function to
+hide implementation details: the macro accessed directly to the
+:c:member:`PyTypeObject.tp_weaklistoffset` member.
+
+..
+
+.. bpo: 40170
+.. date: 2020-04-05-00-02-13
+.. nonce: IFsGZ-
+.. section: C API
+
+Convert :c:func:`PyObject_CheckBuffer` macro to a function to hide
+implementation details: the macro accessed directly the
+:c:member:`PyTypeObject.tp_as_buffer` member.
+
+..
+
+.. bpo: 40170
+.. date: 2020-04-04-23-51-59
+.. nonce: uXQ701
+.. section: C API
+
+Always declare :c:func:`PyIndex_Check` as an opaque function to hide
+implementation details: remove ``PyIndex_Check()`` macro. The macro accessed
+directly the :c:member:`PyTypeObject.tp_as_number` member.
+
+..
+
+.. bpo: 39947
+.. date: 2020-03-25-19-44-55
+.. nonce: 2OxvPt
+.. section: C API
+
+Add :c:func:`PyThreadState_GetID` function: get the unique identifier of a
+Python thread state.