.. 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: 36817
.. 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.IsolatedAsyncioTestCase`` 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 acquisition 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 specify 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: 36807
.. 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.
