.. bpo: 35907
.. date: 2019-05-21-23-20-18
.. nonce: NC_zNK
.. release date: 2019-06-18
.. 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: 36742
.. date: 2019-04-29-15-34-59
.. nonce: QCUY0i
.. section: Security

Fixes mishandling of pre-normalization characters in urlsplit().

..

.. bpo: 30458
.. date: 2019-04-10-08-53-30
.. nonce: 51E-DA
.. section: Security

Address CVE-2019-9740 by disallowing URL paths with embedded whitespace or
control characters through into the underlying http client request.  Such
potentially malicious header injection URLs now cause an
http.client.InvalidURL exception to be raised.

..

.. 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: 35755
.. date: 2019-01-17-10-03-48
.. nonce: GmllIs
.. section: Security

:func:`shutil.which` now uses ``os.confstr("CS_PATH")`` if available and if
the :envvar:`PATH` environment variable is not set. Remove also the current
directory from :data:`posixpath.defpath`. On Unix, :func:`shutil.which` and
the :mod:`subprocess` module no longer search the executable in the current
directory if the :envvar:`PATH` environment variable is not set.

..

.. bpo: 37269
.. date: 2019-06-14-06-32-33
.. nonce: SjVVAe
.. section: Core and Builtins

Fix a bug in the peephole optimizer that was not treating correctly constant
conditions with binary operators. Patch by Pablo Galindo.

..

.. bpo: 37219
.. date: 2019-06-11-01-37-34
.. nonce: jPSufq
.. section: Core and Builtins

Remove errorneous optimization for empty set differences.

..

.. 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: 36829
.. date: 2019-05-22-11-44-41
.. nonce: ZmpHR9
.. section: Core and Builtins

:c:func:`PyErr_WriteUnraisable` now displays the exception even if
displaying the traceback failed. Moreover, hold a strong reference to
:data:`sys.stderr` while using it. Document that an exception must be set
when calling :c:func:`PyErr_WriteUnraisable`.

..

.. 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: 27987
.. date: 2019-05-15-18-28-43
.. nonce: FaxuLy
.. section: Core and Builtins

``PyGC_Head`` structure is aligned to ``long double``.  This is needed to
ensure GC-ed objects are aligned properly.  Patch by Inada Naoki.

..

.. 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. (Reverted in 3.7.4 final by :issue:`37500`.)

..

.. 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: 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: 32849
.. date: 2019-04-16-11-56-12
.. nonce: aeSg-D
.. section: Core and Builtins

Fix Python Initialization code on FreeBSD to detect properly when stdin file
descriptor (fd 0) is invalid.

..

.. 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: 36504
.. date: 2019-04-02-04-10-32
.. nonce: k_V8Bm
.. section: Core and Builtins

Fix signed integer overflow in _ctypes.c's ``PyCArrayType_new()``.

..

.. bpo: 20844
.. date: 2019-03-29-18-47-50
.. nonce: ge-7SM
.. section: Core and Builtins

Fix running script with encoding cookie and LF line ending may fail on
Windows.

..

.. bpo: 24214
.. date: 2019-03-28-15-22-45
.. nonce: tZ6lYU
.. section: Core and Builtins

Fixed support of the surrogatepass error handler in the UTF-8 incremental
decoder.

..

.. bpo: 36459
.. date: 2019-03-27-22-35-16
.. nonce: UAvkKp
.. section: Core and Builtins

Fix a possible double ``PyMem_FREE()`` due to tokenizer.c's ``tok_nextc()``.

..

.. bpo: 36433
.. date: 2019-03-26-17-23-02
.. nonce: -8XzZf
.. section: Core and Builtins

Fixed TypeError message in classmethoddescr_call.

..

.. bpo: 36430
.. date: 2019-03-25-23-37-26
.. nonce: sd9xxQ
.. section: Core and Builtins

Fix a possible reference leak in :func:`itertools.count`.

..

.. bpo: 36440
.. date: 2019-03-25-13-45-19
.. nonce: gkvzhi
.. section: Core and Builtins

Include node names in ``ParserError`` messages, instead of numeric IDs.
Patch by A. Skrobov.

..

.. bpo: 36421
.. date: 2019-03-24-21-33-22
.. nonce: gJ2Pv9
.. section: Core and Builtins

Fix a possible double decref in _ctypes.c's ``PyCArrayType_new()``.

..

.. bpo: 36256
.. date: 2019-03-21-00-24-18
.. nonce: OZHa0t
.. section: Core and Builtins

Fix bug in parsermodule when parsing a state in a DFA that has two or more
arcs with labels of the same type. Patch by Pablo Galindo.

..

.. bpo: 36236
.. date: 2019-03-19-23-55-00
.. nonce: 5qN9qK
.. section: Core and Builtins

At Python initialization, the current directory is no longer prepended to
:data:`sys.path` if it has been removed.

..

.. bpo: 36262
.. date: 2019-03-11-15-37-33
.. nonce: v3N6Fz
.. section: Core and Builtins

Fix an unlikely memory leak on conversion from string to float in the
function ``_Py_dg_strtod()`` used by ``float(str)``, ``complex(str)``,
:func:`pickle.load`, :func:`marshal.load`, etc.

..

.. bpo: 36218
.. date: 2019-03-07-13-05-43
.. nonce: dZemNt
.. section: Core and Builtins

Fix a segfault occuring when sorting a list of heterogeneous values. Patch
contributed by Rémi Lapeyre and Elliot Gorokhovsky.

..

.. 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: 18372
.. date: 2018-12-08-03-40-43
.. nonce: DT1nR0
.. section: Core and Builtins

Add missing :c:func:`PyObject_GC_Track` calls in the :mod:`pickle` module.
Patch by Zackery Spytz.

..

.. bpo: 34408
.. date: 2018-08-14-22-35-19
.. nonce: aomWYW
.. section: Core and Builtins

Prevent a null pointer dereference and resource leakage in
``PyInterpreterState_New()``.

..

.. bpo: 37280
.. date: 2019-06-14-13-30-47
.. nonce: Fxur0F
.. section: Library

Use threadpool for reading from file for sendfile fallback mode.

..

.. bpo: 37279
.. date: 2019-06-14-13-25-56
.. nonce: OHlW6l
.. section: Library

Fix asyncio sendfile support when sendfile sends extra data in fallback
mode.

..

.. bpo: 19865
.. date: 2019-06-14-08-30-16
.. nonce: FRGH4I
.. section: Library

:func:`ctypes.create_unicode_buffer()` now also supports non-BMP characters
on platforms with 16-bit :c:type:`wchar_t` (for example, Windows and AIX).

..

.. bpo: 35922
.. date: 2019-06-11-19-34-29
.. nonce: rxpzWr
.. section: Library

Fix :meth:`RobotFileParser.crawl_delay` and
:meth:`RobotFileParser.request_rate` to return ``None`` rather than raise
:exc:`AttributeError` when no relevant rule is defined in the robots.txt
file.  Patch by Rémi Lapeyre.

..

.. bpo: 36607
.. date: 2019-06-11-13-52-04
.. nonce: 5_mJkQ
.. section: Library

Eliminate :exc:`RuntimeError` raised by :func:`asyncio.all_tasks()` if
internal tasks weak set is changed by another thread during iteration.

..

.. bpo: 36402
.. date: 2019-06-11-00-35-02
.. nonce: b0IJVp
.. section: Library

Fix a race condition at Python shutdown when waiting for threads. Wait until
the Python thread state of all non-daemon threads get deleted (join all
non-daemon threads), rather than just wait until non-daemon Python threads
complete.

..

.. bpo: 34886
.. date: 2019-06-08-16-03-19
.. nonce: Ov-pc9
.. section: Library

Fix an unintended ValueError from :func:`subprocess.run` when checking for
conflicting `input` and `stdin` or `capture_output` and `stdout` or `stderr`
args when they were explicitly provided but with `None` values within a
passed in `**kwargs` dict rather than as passed directly by name. Patch
contributed by Rémi Lapeyre.

..

.. bpo: 37173
.. date: 2019-06-08-11-33-48
.. nonce: 0e_8gS
.. section: Library

The exception message for ``inspect.getfile()`` now correctly reports the
passed class rather than the builtins 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: 36520
.. date: 2019-05-28-02-37-00
.. nonce: W4tday
.. section: Library

Lengthy email headers with UTF-8 characters are now properly encoded when
they are folded. Patch by Jeffrey Kintscher.

..

.. 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: 30835
.. date: 2019-05-27-15-29-46
.. nonce: 3FoaWH
.. section: Library

Fixed a bug in email parsing where a message with invalid bytes in
content-transfer-encoding of a multipart message can cause an
AttributeError. Patch by Andrew Donnellan.

..

.. 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: 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-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: 21315
.. date: 2019-05-19-10-48-46
.. nonce: PgXVqF
.. section: Library

Email headers containing RFC2047 encoded words are parsed despite the
missing whitespace, and a defect registered. Also missing trailing
whitespace after encoded words is now registered as a defect.

..

.. 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: 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: 35545
.. date: 2019-05-11-16-21-29
.. nonce: FcvJvP
.. section: Library

Fix asyncio discarding IPv6 scopes when ensuring hostname resolutions
internally

..

.. bpo: 35070
.. date: 2019-05-09-18-50-55
.. nonce: 4vaqNL
.. section: Library

posix.getgrouplist() now works correctly when the user belongs to
NGROUPS_MAX supplemental groups. Patch by Jeffrey Kintscher.

..

.. 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: 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: 36734
.. date: 2019-04-26-17-14-20
.. nonce: p2MaiN
.. section: Library

Fix compilation of ``faulthandler.c`` on HP-UX. Initialize ``stack_t
current_stack`` to zero using ``memset()``.

..

.. 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: 36650
.. date: 2019-04-19-15-29-55
.. nonce: _EVdrz
.. section: Library

The C version of functools.lru_cache() was treating calls with an empty
``**kwargs`` dictionary as being distinct from calls with no keywords at
all. This did not result in an incorrect answer, but it did trigger an
unexpected cache miss.

..

.. bpo: 28552
.. date: 2019-04-18-16-10-29
.. nonce: MW1TLt
.. section: Library

Fix :mod:`distutils.sysconfig` if :data:`sys.executable` is ``None`` or an
empty string: use :func:`os.getcwd` to initialize ``project_base``.  Fix
also the distutils build command: don't use :data:`sys.executable` if it is
``None`` or an empty string.

..

.. bpo: 35755
.. date: 2019-04-16-17-50-39
.. nonce: Fg4EXb
.. section: Library

:func:`shutil.which` and :func:`distutils.spawn.find_executable` now use
``os.confstr("CS_PATH")`` if available instead of :data:`os.defpath`, if the
``PATH`` environment variable is not set. Moreover, don't use
``os.confstr("CS_PATH")`` nor :data:`os.defpath` if the ``PATH`` environment
variable is set to an empty string.

..

.. bpo: 36613
.. date: 2019-04-12-13-52-15
.. nonce: hqT1qn
.. section: Library

Fix :mod:`asyncio` wait() not removing callback if exception

..

.. bpo: 36598
.. date: 2019-04-11-22-11-24
.. nonce: hfzDUl
.. section: Library

Fix ``isinstance`` check for Mock objects with spec when the code is
executed under tracing. Patch by Karthikeyan Singaravelan.

..

.. 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: 36522
.. date: 2019-04-03-20-46-47
.. nonce: g5x3By
.. section: Library

If *debuglevel* is set to >0 in :mod:`http.client`, print all values for
headers with multiple values for the same header name. Patch by Matt
Houglum.

..

.. bpo: 36492
.. date: 2019-03-31-10-21-54
.. nonce: f7vyUs
.. section: Library

Arbitrary keyword arguments (even with names "self" and "func") can now be
passed to some functions which should accept arbitrary keyword arguments and
pass them to other function (for example partialmethod(),
TestCase.addCleanup() and Profile.runcall()) if the required arguments are
passed as positional arguments.

..

.. bpo: 36434
.. date: 2019-03-26-14-20-59
.. nonce: PTdidw
.. section: Library

Errors during writing to a ZIP file no longer prevent to properly close it.

..

.. bpo: 34745
.. date: 2019-03-17-16-43-29
.. nonce: nOfm7_
.. section: Library

Fix :mod:`asyncio` ssl memory issues caused by circular references

..

.. bpo: 36321
.. date: 2019-03-16-13-40-59
.. nonce: s6crQx
.. section: Library

collections.namedtuple() misspelled the name of an attribute.  To be
consistent with typing.NamedTuple, the attribute name should have been
"_field_defaults" instead of "_fields_defaults".  For backwards
compatibility, both spellings are now created.  The misspelled version may
be removed in the future.

..

.. bpo: 36272
.. date: 2019-03-13-14-14-36
.. nonce: f3l2IG
.. section: Library

:mod:`logging` does not silently ignore RecursionError anymore. Patch
contributed by Rémi Lapeyre.

..

.. bpo: 36235
.. date: 2019-03-08-13-32-21
.. nonce: _M72wU
.. section: Library

Fix ``CFLAGS`` in ``customize_compiler()`` of ``distutils.sysconfig``: when
the ``CFLAGS`` environment variable is defined, don't override ``CFLAGS``
variable with the ``OPT`` variable anymore. Initial patch written by David
Malcolm.

..

.. bpo: 35125
.. date: 2019-02-15-17-18-50
.. nonce: h0xk0f
.. section: Library

Asyncio: Remove inner callback on outer cancellation in shield

..

.. bpo: 35802
.. date: 2019-01-21-13-56-55
.. nonce: 6633PE
.. section: Library

Clean up code which checked presence of ``os.stat`` / ``os.lstat`` /
``os.chmod`` which are always present.  Patch by Anthony Sottile.

..

.. bpo: 23078
.. date: 2019-01-18-23-10-10
.. nonce: l4dFoj
.. section: Library

Add support for :func:`classmethod` and :func:`staticmethod` to
:func:`unittest.mock.create_autospec`.  Initial patch by Felipe Ochoa.

..

.. 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: 35726
.. date: 2019-01-13-01-33-00
.. nonce: dasdas
.. section: Library

QueueHandler.prepare() now makes a copy of the record before modifying and
enqueueing it, to avoid affecting other handlers in the chain.

..

.. 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: 35082
.. date: 2018-10-27-11-54-12
.. nonce: HDj1nr
.. section: Library

Don't return deleted attributes when calling dir on a
:class:`unittest.mock.Mock`.

..

.. bpo: 34547
.. date: 2018-10-05-16-01-00
.. nonce: abbaa
.. section: Library

:class:`wsgiref.handlers.BaseHandler` now handles abrupt client connection
terminations gracefully. Patch by Petter Strandmark.

..

.. 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: 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: 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: 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: 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: 31292
.. date: 2017-08-30-20-27-00
.. nonce: dKIaZb
.. section: Library

Fix ``setup.py check --restructuredtext`` for files containing ``include``
directives.

..

.. 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: 34903
.. date: 2019-06-17-09-36-46
.. nonce: r_wGRc
.. section: Documentation

Documented that in :meth:`datetime.datetime.strptime()`, the leading zero in
some two-digit formats is optional. Patch by Mike Gleen.

..

.. 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: 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: 30840
.. date: 2019-04-14-19-46-21
.. nonce: R-JFzw
.. section: Documentation

Document relative imports

..

.. bpo: 36523
.. date: 2019-04-04-19-11-47
.. nonce: sG1Tr4
.. section: Documentation

Add docstring for io.IOBase.writelines().

..

.. bpo: 36425
.. date: 2019-03-27-22-46-00
.. nonce: kG9gx1
.. section: Documentation

New documentation translation: `Simplified Chinese
<https://docs.python.org/zh-cn/>`_.

..

.. bpo: 36157
.. date: 2019-03-08-15-39-47
.. nonce: nF1pP1
.. section: Documentation

Added Documention for  PyInterpreterState_Main().

..

.. bpo: 36138
.. date: 2019-03-02-00-40-57
.. nonce: yfjNzG
.. section: Documentation

Improve documentation about converting datetime.timedelta to scalars.

..

.. bpo: 22865
.. date: 2019-02-21-18-13-50
.. nonce: 6hg6J8
.. section: Documentation

Add detail to the documentation on the `pty.spawn` function.

..

.. bpo: 35581
.. date: 2018-12-25-12-56-57
.. nonce: aA7r6T
.. section: Documentation

@typing.type_check_only now allows type stubs to mark functions and classes
not available during runtime.

..

.. bpo: 35564
.. date: 2018-12-22-22-52-05
.. nonce: TuEU_D
.. section: Documentation

Explicitly set master_doc variable in conf.py for compliance with Sphinx 2.0

..

.. bpo: 10536
.. date: 2018-11-04-22-03-56
.. nonce: a0IsfE
.. section: Documentation

Enhance the gettext docs. Patch by Éric Araujo

..

.. bpo: 32995
.. date: 2018-10-07-03-04-57
.. nonce: TXN9ur
.. section: Documentation

Added the context variable in glossary.

..

.. bpo: 33832
.. date: 2018-06-15-15-57-37
.. nonce: xBFhKw
.. section: Documentation

Add glossary entry for 'magic method'.

..

.. 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: 35998
.. date: 2019-06-14-17-05-49
.. nonce: yX82oD
.. section: Tests

Avoid TimeoutError in test_asyncio: test_start_tls_server_1()

..

.. bpo: 37153
.. date: 2019-06-04-18-30-39
.. nonce: 711INB
.. section: Tests

``test_venv.test_mutiprocessing()`` now explicitly calls
``pool.terminate()`` to wait until the pool completes.

..

.. bpo: 37081
.. date: 2019-05-28-17-48-22
.. nonce: qxB-1l
.. section: Tests

Test with OpenSSL 1.1.1c

..

.. 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: 36719
.. date: 2019-04-26-09-02-49
.. nonce: ys2uqH
.. section: Tests

regrtest now always detects uncollectable objects. Previously, the check was
only enabled by ``--findleaks``. The check now also works with
``-jN/--multiprocess N``. ``--findleaks`` becomes a deprecated alias to
``--fail-env-changed``.

..

.. bpo: 36725
.. date: 2019-04-26-04-12-29
.. nonce: B8-ghi
.. section: Tests

When using mulitprocessing mode (-jN), regrtest now better reports errors if
a worker process fails, and it exits immediately on a worker thread failure
or when interrupted.

..

.. bpo: 36454
.. date: 2019-04-23-17-48-11
.. nonce: 0q4lQz
.. section: Tests

Change test_time.test_monotonic() to test only the lower bound of elapsed
time after a sleep command rather than the upper bound. This prevents
unnecessary test failures on slow buildbots. Patch by Victor Stinner.

..

.. bpo: 36629
.. date: 2019-04-15-11-57-39
.. nonce: ySnaL3
.. section: Tests

Fix ``test_imap4_host_default_value()`` of ``test_imaplib``: catch also
:data:`errno.ENETUNREACH` error.

..

.. bpo: 36611
.. date: 2019-04-12-12-44-42
.. nonce: UtorXL
.. section: Tests

Fix ``test_sys.test_getallocatedblocks()`` when :mod:`tracemalloc` is
enabled.

..

.. bpo: 36560
.. date: 2019-04-09-14-08-02
.. nonce: _ejeOr
.. section: Tests

Fix reference leak hunting in regrtest: compute also deltas (of reference
count, allocated memory blocks, file descriptor count) during warmup, to
ensure that everything is initialized before starting to hunt reference
leaks.

..

.. bpo: 36565
.. date: 2019-04-08-19-01-21
.. nonce: 2bxgtU
.. section: Tests

Fix reference hunting (``python3 -m test -R 3:3``) when Python has no
built-in abc module.

..

.. bpo: 36436
.. date: 2019-03-26-13-49-21
.. nonce: yAtN0V
.. section: Tests

Fix ``_testcapi.pymem_buffer_overflow()``: handle memory allocation failure.

..

.. bpo: 36605
.. date: 2019-04-11-18-50-58
.. nonce: gk5czf
.. section: Build

``make tags`` and ``make TAGS`` now also parse ``Modules/_io/*.c`` and
``Modules/_io/*.h``.

..

.. bpo: 36508
.. date: 2019-04-02-17-01-23
.. nonce: SN5Y6N
.. section: Build

``python-config --ldflags`` no longer includes flags of the
``LINKFORSHARED`` variable. The ``LINKFORSHARED`` variable must only be used
to build executables.

..

.. bpo: 34631
.. date: 2019-06-17-09-34-25
.. nonce: DBfM4j
.. section: Windows

Updated OpenSSL to 1.1.1c in Windows installer

..

.. bpo: 37267
.. date: 2019-06-13-04-15-51
.. nonce: Ygo5ef
.. section: Windows

On Windows, :func:`os.dup` no longer creates an inheritable fd when handling
a character file.

..

.. bpo: 36779
.. date: 2019-06-11-15-41-34
.. nonce: 0TMw6f
.. section: Windows

Ensure ``time.tzname`` is correct on Windows when the active code page is
set to CP_UTF7 or CP_UTF8.

..

.. 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: 36649
.. date: 2019-04-17-11-39-24
.. nonce: arbzIo
.. section: Windows

Remove trailing spaces for registry keys when installed via the Store.

..

.. bpo: 34144
.. date: 2019-04-10-04-35-31
.. nonce: _KzB5z
.. section: Windows

Fixed activate.bat to correctly update codepage when chcp.com returns dots
in output. Patch by Lorenz Mende.

..

.. bpo: 35941
.. date: 2019-03-28-03-51-16
.. nonce: UnlAEE
.. section: Windows

enum_certificates function of the ssl module now returns certificates from
all available certificate stores inside windows in a query instead of
returning only certificates from the system wide certificate store. This
includes certificates from these certificate stores: local machine, local
machine enterprise, local machine group policy, current user, current user
group policy, services, users. ssl.enum_crls() function is changed in the
same way to return all certificate revocation lists inside the windows
certificate revocation list stores.

..

.. bpo: 36441
.. date: 2019-03-26-11-46-15
.. nonce: lYjGF1
.. section: Windows

Fixes creating a venv when debug binaries are installed.

..

.. bpo: 36312
.. date: 2019-03-16-16-51-17
.. nonce: Niwm-T
.. section: Windows

Fixed decoders for the following code pages: 50220, 50221, 50222, 50225,
50227, 50229, 57002 through 57011, 65000 and 42.

..

.. bpo: 36010
.. date: 2019-03-16-10-24-58
.. nonce: dttWfp
.. section: Windows

Add the venv standard library module to the nuget distribution for Windows.

..

.. bpo: 34060
.. date: 2018-07-20-13-09-19
.. nonce: v-z87j
.. section: Windows

Report system load when running test suite on Windows. Patch by Ammar Askar.
Based on prior work by Jeremy Kloth.

..

.. bpo: 35360
.. date: 2019-06-18-08-58-30
.. nonce: -CWbfy
.. section: macOS

Update macOS installer to use SQLite 3.28.0.

..

.. bpo: 34631
.. date: 2019-06-18-00-30-40
.. nonce: vSifcv
.. section: macOS

Updated OpenSSL to 1.1.1c in macOS installer.

..

.. 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: 34602
.. date: 2019-04-29-10-54-14
.. nonce: Lrl2zU
.. section: macOS

Avoid failures setting macOS stack resource limit with resource.setrlimit.
This reverts an earlier fix for bpo-18075 which forced a non-default stack
size when building the interpreter executable on macOS.

..

.. bpo: 37321
.. date: 2019-06-17-16-35-30
.. nonce: zVTTGS
.. section: IDLE

Both subprocess connection error messages now refer to the 'Startup failure'
section of the IDLE doc.

..

.. bpo: 37177
.. date: 2019-06-07-00-17-41
.. nonce: voU6pQ
.. section: IDLE

Properly 'attach' search dialogs to their main window so that they behave
like other dialogs and do not get hidden behind their main window.

..

.. bpo: 37039
.. date: 2019-06-04-23-27-33
.. nonce: FN_fBf
.. section: IDLE

Adjust "Zoom Height" to individual screens by momemtarily maximizing the
window on first use with a particular screen.  Changing screen settings may
invalidate the saved height.  While a window is maximized, "Zoom Height" has
no effect.

..

.. bpo: 35763
.. date: 2019-06-04-20-36-24
.. nonce: 7XdoWz
.. section: IDLE

Make calltip reminder about '/' meaning positional-only less obtrusive by
only adding it when there is room on the first line.

..

.. bpo: 5680
.. date: 2019-06-03-00-39-29
.. nonce: VCQfOO
.. section: IDLE

Add 'Run... Customized' to the Run menu to run a module with customized
settings.  Any 'command line arguments' entered are added to sys.argv. One
can suppress the normal Shell main module restart.

..

.. 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: 36429
.. date: 2019-03-26-00-09-50
.. nonce: w-jL2e
.. section: IDLE

Fix starting IDLE with pyshell. Add idlelib.pyshell alias at top; remove
pyshell alias at bottom. Remove obsolete __name__=='__main__' command.

..

.. bpo: 36405
.. date: 2019-03-23-01-45-56
.. nonce: m7Wv1F
.. section: IDLE

Use dict unpacking in idlelib.

..

.. bpo: 36396
.. date: 2019-03-21-22-43-21
.. nonce: xSTX-I
.. section: IDLE

Remove fgBg param of idlelib.config.GetHighlight(). This param was only used
twice and changed the return type.

..

.. bpo: 23205
.. date: 2019-03-06-14-47-57
.. nonce: Vv0gfH
.. section: IDLE

For the grep module, add tests for findfiles, refactor findfiles to be a
module-level function, and refactor findfiles to use os.walk.

..

.. bpo: 23216
.. date: 2019-03-02-19-39-53
.. nonce: ZA7H8H
.. section: IDLE

Add docstrings to IDLE search modules.

..

.. bpo: 30348
.. date: 2018-06-27-21-18-41
.. nonce: WbaRJW
.. section: IDLE

Increase test coverage of idlelib.autocomplete by 30%.

..

.. 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: 14546
.. date: 2019-04-30-14-30-29
.. nonce: r38Y-6
.. section: Tools/Demos

Fix the argument handling in Tools/scripts/lll.py.

..

.. bpo: 32217
.. date: 2017-12-19-20-42-36
.. nonce: axXcjA
.. section: Tools/Demos

Fix freeze script on Windows.

..

.. bpo: 28805
.. date: 2019-06-14-14-03-51
.. nonce: qZC0N_
.. section: C API

The :const:`METH_FASTCALL` calling convention has been documented.

..

.. bpo: 37170
.. date: 2019-06-06-08-47-04
.. nonce: hO_fpM
.. section: C API

Fix the cast on error in :c:func:`PyLong_AsUnsignedLongLongMask()`.

..

.. bpo: 36389
.. date: 2019-04-11-12-20-35
.. nonce: P9QFoP
.. section: C API

Change the value of ``CLEANBYTE``, ``DEADDYTE`` and ``FORBIDDENBYTE``
internal constants used by debug hooks on Python memory allocators
(:c:func:`PyMem_SetupDebugHooks` function). Byte patterns ``0xCB``, ``0xDB``
and ``0xFB`` have been replaced with ``0xCD``, ``0xDD`` and ``0xFD`` to use
the same values than Windows CRT debug ``malloc()`` and ``free()``.
