.. bpo: 38722
.. date: 2019-11-18-16-17-56
.. nonce: x3mECW
.. release date: 2019-11-19
.. section: Security

:mod:`runpy` now uses :meth:`io.open_code` to open code files. Patch by
Jason Killen.

..

.. bpo: 38622
.. date: 2019-11-14-16-13-23
.. nonce: 3DYkfb
.. section: Security

Add additional audit events for the :mod:`ctypes` module.

..

.. bpo: 38418
.. date: 2019-10-08-19-29-55
.. nonce: QL7s0-
.. section: Security

Fixes audit event for :func:`os.system` to be named ``os.system``.

..

.. bpo: 38243
.. date: 2019-09-25-13-21-09
.. nonce: 1pfz24
.. section: Security

Escape the server title of :class:`xmlrpc.server.DocXMLRPCServer` when
rendering the document page as HTML. (Contributed by Dong-hee Na in
:issue:`38243`.)

..

.. bpo: 38174
.. date: 2019-09-23-21-02-46
.. nonce: MeWuJd
.. section: Security

Update vendorized expat library version to 2.2.8, which resolves
CVE-2019-15903.

..

.. bpo: 37764
.. date: 2019-08-27-01-13-05
.. nonce: qv67PQ
.. section: Security

Fixes email._header_value_parser.get_unstructured going into an infinite
loop for a specific case in which the email header does not have trailing
whitespace, and the case in which it contains an invalid encoded word. Patch
by Ashwin Ramaswami.

..

.. bpo: 37461
.. date: 2019-07-16-08-11-00
.. nonce: 1Ahz7O
.. section: Security

Fix an infinite loop when parsing specially crafted email headers. Patch by
Abhilash Raj.

..

.. bpo: 37363
.. date: 2019-07-01-10-31-14
.. nonce: fSjatj
.. section: Security

Adds audit events for the range of supported run commands (see
:ref:`using-on-general`).

..

.. bpo: 37463
.. date: 2019-07-01-08-46-14
.. nonce: 1CHwjE
.. section: Security

ssl.match_hostname() no longer accepts IPv4 addresses with additional text
after the address and only quad-dotted notation without trailing
whitespaces. Some inet_aton() implementations ignore whitespace and all data
after whitespace, e.g. '127.0.0.1 whatever'.

..

.. bpo: 37363
.. date: 2019-06-21-15-58-59
.. nonce: diouyl
.. section: Security

Adds audit events for :mod:`ensurepip`, :mod:`ftplib`, :mod:`glob`,
:mod:`imaplib`, :mod:`nntplib`, :mod:`pdb`, :mod:`poplib`, :mod:`shutil`,
:mod:`smtplib`, :mod:`sqlite3`, :mod:`subprocess`, :mod:`telnetlib`,
:mod:`tempfile` and :mod:`webbrowser`, as well as :func:`os.listdir`,
:func:`os.scandir` and :func:`breakpoint`.

..

.. bpo: 37364
.. date: 2019-06-21-14-42-53
.. nonce: IIRc2s
.. section: Security

:func:`io.open_code` is now used when reading :file:`.pth` files.

..

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

Updated OpenSSL to 1.1.1c in Windows installer

..

.. bpo: 34155
.. date: 2019-05-04-13-33-37
.. nonce: MJll68
.. section: Security

Fix parsing of invalid email addresses with more than one ``@`` (e.g.
a@b@c.com.) to not return the part before 2nd ``@`` as valid email address.
Patch by maxking & jpic.

..

.. bpo: 38631
.. date: 2019-11-18-17-10-20
.. nonce: tRHaAk
.. section: Core and Builtins

Replace ``Py_FatalError()`` call with a regular :exc:`RuntimeError`
exception in :meth:`float.__getformat__`.

..

.. bpo: 38639
.. date: 2019-10-30-11-31-47
.. nonce: 9-vKtO
.. section: Core and Builtins

Optimized :func:`math.floor()`, :func:`math.ceil()` and :func:`math.trunc()`
for floats.

..

.. bpo: 38640
.. date: 2019-10-30-11-25-25
.. nonce: 4sAFh5
.. section: Core and Builtins

Fixed a bug in the compiler that was causing to raise in the presence of
break statements and continue statements inside always false while loops.
Patch by Pablo Galindo.

..

.. bpo: 38613
.. date: 2019-10-29-15-44-24
.. nonce: V_R3NC
.. section: Core and Builtins

Optimized some set operations (e.g. ``|``, ``^``, and ``-``) of
``dict_keys``. ``d.keys() | other`` was slower than ``set(d) | other`` but
they are almost same performance for now.

..

.. bpo: 28029
.. date: 2019-10-29-09-38-54
.. nonce: AmRMEF
.. section: Core and Builtins

``"".replace("", s, n)`` now returns ``s`` instead of an empty string for
all non-zero ``n``.  There are similar changes for :class:`bytes` and
:class:`bytearray` objects.

..

.. bpo: 38535
.. date: 2019-10-20-12-43-48
.. nonce: ESMkVN
.. section: Core and Builtins

Fixed line numbers and column offsets for AST nodes for calls without
arguments in decorators.

..

.. bpo: 38525
.. date: 2019-10-20-00-36-18
.. nonce: Vty1cA
.. section: Core and Builtins

Fix a segmentation fault when using reverse iterators of empty ``dict``
objects. Patch by Dong-hee Na and Inada Naoki.

..

.. bpo: 38465
.. date: 2019-10-19-12-44-13
.. nonce: V1L8c4
.. section: Core and Builtins

:class:`bytearray`, :class:`~array.array` and :class:`~mmap.mmap` objects
allow now to export more than 2**31 buffers at a time.

..

.. bpo: 38469
.. date: 2019-10-13-23-41-38
.. nonce: 9kmuQj
.. section: Core and Builtins

Fixed a bug where the scope of named expressions was not being resolved
correctly in the presence of the *global* keyword. Patch by Pablo Galindo.

..

.. bpo: 38437
.. date: 2019-10-10-20-42-09
.. nonce: z_0mZp
.. section: Core and Builtins

Activate the ``GC_DEBUG`` macro for debug builds of the interpreter (when
``Py_DEBUG`` is set). Patch by Pablo Galindo.

..

.. bpo: 38379
.. date: 2019-10-10-01-41-02
.. nonce: _q4dhn
.. section: Core and Builtins

When the garbage collector makes a collection in which some objects
resurrect (they are reachable from outside the isolated cycles after the
finalizers have been executed), do not block the collection of all objects
that are still unreachable. Patch by Pablo Galindo and Tim Peters.

..

.. bpo: 38379
.. date: 2019-10-09-16-50-52
.. nonce: oz5qZx
.. section: Core and Builtins

When cyclic garbage collection (gc) runs finalizers that resurrect
unreachable objects, the current gc run ends, without collecting any cyclic
trash.  However, the statistics reported by ``collect()`` and
``get_stats()`` claimed that all cyclic trash found was collected, and that
the resurrected objects were collected.   Changed the stats to report that
none were collected.

..

.. bpo: 38392
.. date: 2019-10-07-22-51-39
.. nonce: KaXXps
.. section: Core and Builtins

In debug mode, :c:func:`PyObject_GC_Track` now calls ``tp_traverse()`` of
the object type to ensure that the object is valid: test that objects
visited by ``tp_traverse()`` are valid.

..

.. bpo: 38210
.. date: 2019-10-06-15-01-57
.. nonce: Xgc6F_
.. section: Core and Builtins

Remove unecessary intersection and update set operation in dictview with
empty set. (Contributed by Dong-hee Na in :issue:`38210`.)

..

.. bpo: 38402
.. date: 2019-10-05-19-36-16
.. nonce: EZuzgK
.. section: Core and Builtins

Check the error from the system's underlying ``crypt`` or ``crypt_r``.

..

.. bpo: 37474
.. date: 2019-10-01-12-46-30
.. nonce: cB3se1
.. section: Core and Builtins

On FreeBSD, Python no longer calls ``fedisableexcept()`` at startup to
control the floating point control mode. The call became useless since
FreeBSD 6: it became the default mode.

..

.. bpo: 38006
.. date: 2019-09-30-09-33-21
.. nonce: UYlJum
.. section: Core and Builtins

Fix a bug due to the interaction of weakrefs and the cyclic garbage
collector. We must clear any weakrefs in garbage in order to prevent their
callbacks from executing and causing a crash.

..

.. bpo: 38317
.. date: 2019-09-30-00-56-21
.. nonce: pmqlIQ
.. section: Core and Builtins

Fix warnings options priority: ``PyConfig.warnoptions`` has the highest
priority, as stated in the :pep:`587`.

..

.. bpo: 38310
.. date: 2019-09-28-22-54-25
.. nonce: YDTbEo
.. section: Core and Builtins

Predict ``BUILD_MAP_UNPACK_WITH_CALL`` -> ``CALL_FUNCTION_EX`` opcode pairs
in the main interpreter loop. Patch by Brandt Bucher.

..

.. bpo: 36871
.. date: 2019-09-24-18-45-46
.. nonce: p47knk
.. section: Core and Builtins

Improve error handling for the assert_has_calls and assert_has_awaits
methods of mocks. Fixed a bug where any errors encountered while binding the
expected calls to the mock's spec were silently swallowed, leading to
misleading error output.

..

.. bpo: 11410
.. date: 2019-09-24-05-32-27
.. nonce: vS182p
.. section: Core and Builtins

Better control over symbol visibility is provided through use of the
visibility attributes available in gcc >= 4.0, provided in a uniform way
across POSIX and Windows. The POSIX build files have been updated to compile
with -fvisibility=hidden, minimising exported symbols.

..

.. bpo: 38219
.. date: 2019-09-22-13-56-18
.. nonce: rFl7JD
.. section: Core and Builtins

Optimized the :class:`dict` constructor and the :meth:`~dict.update` method
for the case when the argument is a dict.

..

.. bpo: 38236
.. date: 2019-09-20-19-06-23
.. nonce: eQ0Tmj
.. section: Core and Builtins

Python now dumps path configuration if it fails to import the Python codecs
of the filesystem and stdio encodings.

..

.. bpo: 38013
.. date: 2019-09-12-19-50-01
.. nonce: I7btD0
.. section: Core and Builtins

Allow to call ``async_generator_athrow().throw(...)`` even for non-started
async generator helper. It fixes annoying warning at the end of
:func:`asyncio.run` call.

..

.. bpo: 38124
.. date: 2019-09-12-00-14-01
.. nonce: n6E0H7
.. section: Core and Builtins

Fix an off-by-one error in PyState_AddModule that could cause out-of-bounds
memory access.

..

.. bpo: 38116
.. date: 2019-09-11-14-49-42
.. nonce: KDwmwt
.. section: Core and Builtins

The select module is now PEP-384 compliant and no longer has static state

..

.. bpo: 38113
.. date: 2019-09-11-14-10-02
.. nonce: yZXC3P
.. section: Core and Builtins

ast module updated to PEP-384 and all statics removed

..

.. bpo: 38076
.. date: 2019-09-09-16-36-37
.. nonce: C5dVBl
.. section: Core and Builtins

The struct module is now PEP-384 compatible

..

.. bpo: 38075
.. date: 2019-09-09-15-59-50
.. nonce: N8OZKF
.. section: Core and Builtins

The random module is now PEP-384 compatible

..

.. bpo: 38074
.. date: 2019-09-09-15-40-57
.. nonce: MsVbeI
.. section: Core and Builtins

zlib module made PEP-384 compatible

..

.. bpo: 38073
.. date: 2019-09-09-15-17-58
.. nonce: ZoKYOU
.. section: Core and Builtins

Make pwd extension module PEP-384 compatible

..

.. bpo: 38072
.. date: 2019-09-09-15-00-42
.. nonce: Y1xpDO
.. section: Core and Builtins

grp module made PEP-384 compatible

..

.. bpo: 38069
.. date: 2019-09-09-14-46-05
.. nonce: cn8XLv
.. section: Core and Builtins

Make _posixsubprocess PEP-384 compatible

..

.. bpo: 38071
.. date: 2019-09-09-14-44-17
.. nonce: bLwkBJ
.. section: Core and Builtins

Make termios extension module PEP-384 compatible

..

.. bpo: 38005
.. date: 2019-09-02-20-00-31
.. nonce: e7VsTA
.. section: Core and Builtins

Fixed comparing and creating of InterpreterID and ChannelID.

..

.. bpo: 36946
.. date: 2019-09-02-16-17-42
.. nonce: _lAuSR
.. section: Core and Builtins

Fix possible signed integer overflow when handling slices. Patch by
hongweipeng.

..

.. bpo: 37994
.. date: 2019-08-31-11-13-25
.. nonce: Rj6S4j
.. section: Core and Builtins

Fixed silencing arbitrary errors if an attribute lookup fails in several
sites. Only AttributeError should be silenced.

..

.. bpo: 8425
.. date: 2019-08-29-01-55-38
.. nonce: FTq4A8
.. section: Core and Builtins

Optimize set difference_update for the case when the other set is much
larger than the base set.  (Suggested by Evgeny Kapun with code contributed
by Michele Orrù).

..

.. bpo: 37966
.. date: 2019-08-27-21-21-36
.. nonce: 5OBLez
.. section: Core and Builtins

The implementation of :func:`~unicodedata.is_normalized` has been greatly
sped up on strings that aren't normalized, by implementing the full
normalization-quick-check algorithm from the Unicode standard.

..

.. bpo: 37947
.. date: 2019-08-26-04-09-57
.. nonce: mzAQtB
.. section: Core and Builtins

Adjust correctly the recursion level in the symtable generation for named
expressions. Patch by Pablo Galindo.

..

.. bpo: 37812
.. date: 2019-08-23-22-46-25
.. nonce: vsWZwS
.. section: Core and Builtins

The ``CHECK_SMALL_INT`` macro used inside :file:`Object/longobject.c` has
been replaced with an explicit ``return`` at each call site.

..

.. bpo: 37751
.. date: 2019-08-20-04-36-37
.. nonce: CSFzUd
.. section: Core and Builtins

Fix :func:`codecs.lookup` to normalize the encoding name the same way than
:func:`encodings.normalize_encoding`, except that :func:`codecs.lookup` also
converts the name to lower case.

..

.. bpo: 37830
.. date: 2019-08-17-18-41-59
.. nonce: fNfMbz
.. section: Core and Builtins

Fixed compilation of :keyword:`break` and :keyword:`continue` in the
:keyword:`finally` block when the corresponding :keyword:`try` block
contains :keyword:`return` with a non-constant value.

..

.. bpo: 20490
.. date: 2019-08-15-12-48-36
.. nonce: -hXeEn
.. section: Core and Builtins

Improve import error message for partially initialized module on circular
``from`` imports - by Anthony Sottile.

..

.. bpo: 37840
.. date: 2019-08-13-18-05-20
.. nonce: elLCci
.. section: Core and Builtins

Fix handling of negative indices in :c:member:`~PySequenceMethods.sq_item`
of :class:`bytearray`. Patch by Sergey Fedoseev.

..

.. bpo: 37802
.. date: 2019-08-09-18-28-57
.. nonce: pKxcAW
.. section: Core and Builtins

Slightly improve performance of :c:func:`PyLong_FromUnsignedLong`,
:c:func:`PyLong_FromUnsignedLongLong` and :c:func:`PyLong_FromSize_t`. Patch
by Sergey Fedoseev.

..

.. bpo: 37409
.. date: 2019-08-06-23-39-05
.. nonce: 1qwzn2
.. section: Core and Builtins

Ensure explicit relative imports from interactive sessions and scripts
(having no parent package) always raise ImportError, rather than treating
the current module as the package. Patch by Ben Lewis.

..

.. bpo: 32912
.. date: 2019-08-06-14-03-59
.. nonce: UDwSMJ
.. section: Core and Builtins

Reverted :issue:`32912`: emitting :exc:`SyntaxWarning` instead of
:exc:`DeprecationWarning` for invalid escape sequences in string and bytes
literals.

..

.. bpo: 37757
.. date: 2019-08-05-14-22-59
.. nonce: lRv5HX
.. section: Core and Builtins

:pep:`572`: As described in the PEP, assignment expressions now raise
:exc:`SyntaxError` when their interaction with comprehension scoping results
in an ambiguous target scope.

The ``TargetScopeError`` subclass originally proposed by the PEP has been
removed in favour of just raising regular syntax errors for the disallowed
cases.

..

.. bpo: 36279
.. date: 2019-08-04-12-24-18
.. nonce: 8Zy7jZ
.. section: Core and Builtins

Fix potential use of uninitialized memory in :func:`os.wait3`.

..

.. bpo: 36311
.. date: 2019-08-02-15-01-33
.. nonce: uY5vt-
.. section: Core and Builtins

Decoding bytes objects larger than 2GiB is faster and no longer fails when a
multibyte characters spans a chunk boundary.

..

.. bpo: 34880
.. date: 2019-08-01-10-45-51
.. nonce: u_x_CG
.. section: Core and Builtins

The :keyword:`assert` statement now works properly if the
:exc:`AssertionError` exception is being shadowed. Patch by Zackery Spytz.

..

.. bpo: 37340
.. date: 2019-07-25-11-06-57
.. nonce: 5ktLEg
.. section: Core and Builtins

Removed object cache (``free_list``) for bound method objects.  Temporary
bound method objects are less used than before thanks to the ``LOAD_METHOD``
opcode and the ``_PyObject_VectorcallMethod`` C API.

..

.. bpo: 37648
.. date: 2019-07-22-11-05-05
.. nonce: 6TY2L-
.. section: Core and Builtins

Fixed minor inconsistency in :meth:`list.__contains__`,
:meth:`tuple.__contains__` and a few other places. The collection's item is
now always at the left and the needle is on the right of ``==``.

..

.. bpo: 37444
.. date: 2019-07-20-22-34-42
.. nonce: UOd3Xs
.. section: Core and Builtins

Update differing exception between :meth:`builtins.__import__` and
:meth:`importlib.__import__`.

..

.. bpo: 37619
.. date: 2019-07-18-11-50-49
.. nonce: X6Lulo
.. section: Core and Builtins

When adding a wrapper descriptor from one class to a different class (for
example, setting ``__add__ = str.__add__`` on an ``int`` subclass), an
exception is correctly raised when the operator is called.

..

.. bpo: 37593
.. date: 2019-07-14-23-57-27
.. nonce: yHSTwH
.. section: Core and Builtins

Swap the positions of the *posonlyargs* and *args* parameters in the
constructor of :class:`ast.parameters` nodes.

..

.. bpo: 37543
.. date: 2019-07-10-20-33-53
.. nonce: EvI19D
.. section: Core and Builtins

Optimized pymalloc for non PGO build.

..

.. bpo: 37537
.. date: 2019-07-10-09-56-47
.. nonce: OkB0wd
.. section: Core and Builtins

Compute allocated pymalloc blocks inside _Py_GetAllocatedBlocks().  This
slows down _Py_GetAllocatedBlocks() but gives a small speedup to
_PyObject_Malloc() and _PyObject_Free().

..

.. bpo: 37467
.. date: 2019-07-01-12-22-44
.. nonce: u-XyEu
.. section: Core and Builtins

Fix :func:`sys.excepthook` and :c:func:`PyErr_Display` if a filename is a
bytes string. For example, for a SyntaxError exception where the filename
attribute is a bytes string.

..

.. bpo: 37433
.. date: 2019-06-27-15-01-14
.. nonce: amNGqr
.. section: Core and Builtins

Fix ``SyntaxError`` indicator printing too many spaces for multi-line
strings - by Anthony Sottile.

..

.. bpo: 37417
.. date: 2019-06-26-18-41-00
.. nonce: VsZeHL
.. section: Core and Builtins

:meth:`bytearray.extend` now correctly handles errors that arise during
iteration. Patch by Brandt Bucher.

..

.. bpo: 37414
.. date: 2019-06-26-17-27-26
.. nonce: o6Lnbc
.. section: Core and Builtins

The undocumented ``sys.callstats()`` function has been removed. Since Python
3.7, it was deprecated and always returned ``None``. It required a special
build option ``CALL_PROFILE`` which was already removed in Python 3.7.

..

.. bpo: 37392
.. date: 2019-06-25-01-45-06
.. nonce: J3JhIx
.. section: Core and Builtins

Remove ``sys.getcheckinterval()`` and ``sys.setcheckinterval()`` functions.
They were deprecated since Python 3.2. Use :func:`sys.getswitchinterval` and
:func:`sys.setswitchinterval` instead. Remove also ``check_interval`` field
of the ``PyInterpreterState`` structure.

..

.. bpo: 37388
.. date: 2019-06-24-21-53-52
.. nonce: 0XTZmW
.. section: Core and Builtins

In development mode and in debug build, *encoding* and *errors* arguments
are now checked on string encoding and decoding operations. Examples:
:func:`open`, :meth:`str.encode` and :meth:`bytes.decode`.

By default, for best performances, the *errors* argument is only checked at
the first encoding/decoding error, and the *encoding* argument is sometimes
ignored for empty strings.

..

.. bpo: 37348
.. date: 2019-06-23-00-26-30
.. nonce: pp8P-x
.. section: Core and Builtins

Optimized decoding short ASCII string with UTF-8 and ascii codecs.
``b"foo".decode()`` is about 15% faster.  Patch by Inada Naoki.

..

.. bpo: 24214
.. date: 2019-06-22-12-45-20
.. nonce: hIiHeD
.. section: Core and Builtins

Improved support of the surrogatepass error handler in the UTF-8 and UTF-16
incremental decoders.

..

.. bpo: 37330
.. date: 2019-06-18-17-53-06
.. nonce: wAvHmz
.. section: Core and Builtins

:func:`open`, :func:`io.open`, :func:`codecs.open` and
:class:`fileinput.FileInput` no longer accept ``'U'`` ("universal newline")
in the file mode. This flag was deprecated since Python 3.3.

..

.. bpo: 35224
.. date: 2019-06-17-06-03-55
.. nonce: FHWPGv
.. section: Core and Builtins

Reverse evaluation order of key: value in dict comprehensions as proposed in
PEP 572. I.e. in ``{k: v for ...}``, ``k`` will be evaluated before ``v``.

..

.. bpo: 37316
.. date: 2019-06-17-03-53-16
.. nonce: LytDX_
.. section: Core and Builtins

Fix the :c:func:`PySys_Audit` call in :class:`mmap.mmap`.

..

.. bpo: 37300
.. date: 2019-06-16-02-38-25
.. nonce: WJkgKV
.. section: Core and Builtins

Remove an unnecssary Py_XINCREF in classobject.c.

..

.. 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: 20443
.. date: 2019-06-13-12-55-38
.. nonce: bQWAxg
.. section: Core and Builtins

Python now gets the absolute path of the script filename specified on the
command line (ex: "python3 script.py"): the __file__ attribute of the
__main__ module and sys.path[0] become an absolute path, rather than a
relative path.

..

.. bpo: 37257
.. date: 2019-06-13-02-27-12
.. nonce: IMxDvT
.. section: Core and Builtins

Python's small object allocator (``obmalloc.c``) now allows (no more than)
one empty arena to remain available for immediate reuse, without returning
it to the OS.  This prevents thrashing in simple loops where an arena could
be created and destroyed anew on each iteration.

..

.. bpo: 37231
.. date: 2019-06-12-14-39-16
.. nonce: LF41Es
.. section: Core and Builtins

The dispatching of type slots to special methods (for example calling
``__mul__`` when doing ``x * y``) has been made faster.

..

.. bpo: 36974
.. date: 2019-06-11-12-59-38
.. nonce: bVYmSA
.. section: Core and Builtins

Implemented separate vectorcall functions for every calling convention of
builtin functions and methods. This improves performance for calls.

..

.. bpo: 37213
.. date: 2019-06-11-11-15-19
.. nonce: UPii5K
.. section: Core and Builtins

Handle correctly negative line offsets in the peephole optimizer. Patch by
Pablo Galindo.

..

.. bpo: 37219
.. date: 2019-06-10-23-18-31
.. nonce: jPSufq
.. section: Core and Builtins

Remove erroneous optimization for empty set differences.

..

.. bpo: 15913
.. date: 2019-06-06-20-52-38
.. nonce: 5Sg5cv
.. section: Core and Builtins

Implement :c:func:`PyBuffer_SizeFromFormat()` function (previously
documented but not implemented): call :func:`struct.calcsize`. Patch by
Joannah Nanjekye.

..

.. bpo: 36922
.. date: 2019-06-06-13-59-52
.. nonce: EMZ3TF
.. section: Core and Builtins

Slot functions optimize any callable with ``Py_TPFLAGS_METHOD_DESCRIPTOR``
instead of only instances of ``function``.

..

.. bpo: 36974
.. date: 2019-06-06-11-00-55
.. nonce: wdzzym
.. section: Core and Builtins

The slot ``tp_vectorcall_offset`` is inherited unconditionally to support
``super().__call__()`` when the base class uses vectorcall.

..

.. bpo: 37160
.. date: 2019-06-05-09-24-17
.. nonce: O3IAY3
.. section: Core and Builtins

:func:`threading.get_native_id` now also supports NetBSD.

..

.. bpo: 37077
.. date: 2019-05-28-11-47-44
.. nonce: S1h0Fc
.. section: Core and Builtins

Add :func:`threading.get_native_id` support for AIX. Patch by M. Felt

..

.. bpo: 36781
.. date: 2019-05-06-09-59-31
.. nonce: uocWt6
.. section: Core and Builtins

:func:`sum` has been optimized for boolean values.

..

.. bpo: 34556
.. date: 2019-05-05-18-09-40
.. nonce: o9kfpu
.. section: Core and Builtins

Add ``--upgrade-deps`` to venv module. Patch by Cooper Ry Lees

..

.. bpo: 20523
.. date: 2019-02-15-20-42-36
.. nonce: rRLrvr
.. section: Core and Builtins

``pdb.Pdb`` supports ~/.pdbrc in Windows 7. Patch by Tim Hopper and Dan
Lidral-Porter.

..

.. bpo: 35551
.. date: 2019-01-18-16-16-27
.. nonce: oF5pbO
.. section: Core and Builtins

Updated encodings: - Removed the "tis260" encoding, which was an alias for
the nonexistent "tactis" codec. - Added "mac_centeuro" as an alias for the
mac_latin2 encoding.

..

.. bpo: 19072
.. date: 2018-07-23-13-09-54
.. nonce: Gc59GS
.. section: Core and Builtins

The :class:`classmethod` decorator can now wrap other descriptors such as
property objects.  Adapted from a patch written by Graham Dumpleton.

..

.. bpo: 27575
.. date: 2018-06-14-13-55-45
.. nonce: mMYgzv
.. section: Core and Builtins

Improve speed of dictview intersection by directly using set intersection
logic. Patch by David Su.

..

.. bpo: 30773
.. date: 2018-06-07-01-01-20
.. nonce: C31rVE
.. section: Core and Builtins

Prohibit parallel running of aclose() / asend() / athrow(). Fix ag_running
to reflect the actual running status of the AG.

..

.. bpo: 36589
.. date: 2019-11-16-22-56-51
.. nonce: 0Io76D
.. section: Library

The :func:`curses.update_lines_cols` function now returns ``None`` instead
of ``1`` on success.

..

.. bpo: 38807
.. date: 2019-11-15-09-30-29
.. nonce: PsmRog
.. section: Library

Update :exc:`TypeError` messages for :meth:`os.path.join` to include
:class:`os.PathLike` objects as acceptable input types.

..

.. bpo: 38724
.. date: 2019-11-14-14-13-29
.. nonce: T5ySfR
.. section: Library

Add a repr for ``subprocess.Popen`` objects. Patch by Andrey Doroschenko.

..

.. bpo: 38786
.. date: 2019-11-13-16-49-03
.. nonce: gNOwKh
.. section: Library

pydoc now recognizes and parses HTTPS URLs. Patch by python273.

..

.. bpo: 38785
.. date: 2019-11-13-16-17-43
.. nonce: NEOEfk
.. section: Library

Prevent asyncio from crashing if parent ``__init__`` is not called from a
constructor of object derived from ``asyncio.Future``.

..

.. bpo: 38723
.. date: 2019-11-12-15-46-28
.. nonce: gcdMFn
.. section: Library

:mod:`pdb` now uses :meth:`io.open_code` to trigger auditing events.

..

.. bpo: 27805
.. date: 2019-11-11-21-43-06
.. nonce: D3zl1_
.. section: Library

Allow opening pipes and other non-seekable files in append mode with
:func:`open`.

..

.. bpo: 38438
.. date: 2019-11-11-06-14-25
.. nonce: vSVeHN
.. section: Library

Simplify the :mod:`argparse` usage message for ``nargs="*"``.

..

.. bpo: 38761
.. date: 2019-11-10-13-40-33
.. nonce: P1UUIZ
.. section: Library

WeakSet is now registered as a collections.abc.MutableSet.

..

.. bpo: 38716
.. date: 2019-11-06-15-58-07
.. nonce: R3uMLT
.. section: Library

logging: change RotatingHandler namer and rotator to class-level attributes.
This stops __init__ from setting them to None in the case where a subclass
defines them with eponymous methods.

..

.. bpo: 38713
.. date: 2019-11-05-21-22-22
.. nonce: bmhquU
.. section: Library

Add :data:`os.P_PIDFD` constant, which may be passed to :func:`os.waitid` to
wait on a Linux process file descriptor.

..

.. bpo: 38692
.. date: 2019-11-05-19-15-57
.. nonce: 2DCDA-
.. section: Library

Add :class:`asyncio.PidfdChildWatcher`, a Linux-specific child watcher
implementation that polls process file descriptors.

..

.. bpo: 38692
.. date: 2019-11-05-07-18-24
.. nonce: UpatA7
.. section: Library

Expose the Linux ``pidfd_open`` syscall as :func:`os.pidfd_open`.

..

.. bpo: 38602
.. date: 2019-10-27-22-29-45
.. nonce: 7jvYFA
.. section: Library

Added constants :data:`~fcntl.F_OFD_GETLK`, :data:`~fcntl.F_OFD_SETLK` and
:data:`~fcntl.F_OFD_SETLKW` to the :mod:`fcntl` module. Patch by Dong-hee
Na.

..

.. bpo: 38334
.. date: 2019-10-27-00-08-49
.. nonce: pfLLmc
.. section: Library

Fixed seeking backward on an encrypted :class:`zipfile.ZipExtFile`.

..

.. bpo: 38312
.. date: 2019-10-26-14-42-20
.. nonce: e_FVWh
.. section: Library

Add :func:`curses.get_escdelay`, :func:`curses.set_escdelay`,
:func:`curses.get_tabsize`, and :func:`curses.set_tabsize` functions - by
Anthony Sottile.

..

.. bpo: 38586
.. date: 2019-10-24-17-26-39
.. nonce: cyq5nr
.. section: Library

Now :func:`~logging.config.fileConfig` correcty sets the .name of handlers
loaded.

..

.. bpo: 38565
.. date: 2019-10-24-08-10-30
.. nonce: SWSUst
.. section: Library

Add new cache_parameters() method for functools.lru_cache() to better
support pickling.

..

.. bpo: 34679
.. date: 2019-10-23-16-25-12
.. nonce: Bnw8o3
.. section: Library

asynci.ProactorEventLoop.close() now only calls signal.set_wakeup_fd() in
the main thread.

..

.. bpo: 31202
.. date: 2019-10-20-12-04-48
.. nonce: NfdIus
.. section: Library

The case the result of :func:`pathlib.WindowsPath.glob` matches now the case
of the pattern for literal parts.

..

.. bpo: 36321
.. date: 2019-10-19-21-41-20
.. nonce: CFlxfy
.. section: Library

Remove misspelled attribute.  The 3.8 changelog noted that this would be
removed in 3.9.

..

.. bpo: 38521
.. date: 2019-10-18-13-57-31
.. nonce: U-7aaM
.. section: Library

Fixed erroneous equality comparison in statistics.NormalDist().

..

.. bpo: 38493
.. date: 2019-10-16-19-56-51
.. nonce: 86ExWB
.. section: Library

Added :data:`~os.CLD_KILLED` and :data:`~os.CLD_STOPPED` for
:attr:`si_code`. Patch by Dong-hee Na.

..

.. bpo: 38478
.. date: 2019-10-15-11-37-57
.. nonce: A87OPO
.. section: Library

Fixed a bug in :meth:`inspect.signature.bind` that was causing it to fail
when handling a keyword argument with same name as positional-only
parameter. Patch by Pablo Galindo.

..

.. bpo: 33604
.. date: 2019-10-15-09-47-40
.. nonce: J12cWT
.. section: Library

Fixed `hmac.new` and `hmac.HMAC` to raise TypeError instead of ValueError
when the digestmod parameter, now required in 3.8, is omitted.  Also
clarified the hmac module documentation and docstrings.

..

.. bpo: 38378
.. date: 2019-10-13-11-00-03
.. nonce: yYNpSm
.. section: Library

Parameters *out* and *in* of :func:`os.sendfile` was renamed to *out_fd* and
*in_fd*.

..

.. bpo: 38417
.. date: 2019-10-12-00-13-47
.. nonce: W7x_aS
.. section: Library

Added support for setting the umask in the child process to the subprocess
module on POSIX systems.

..

.. bpo: 38449
.. date: 2019-10-11-18-49-00
.. nonce: 9TWMlz
.. section: Library

Revert GH-15522, which introduces a regression in
:meth:`mimetypes.guess_type` due to improper handling of filenames as urls.

..

.. bpo: 38431
.. date: 2019-10-10-16-53-00
.. nonce: d5wzNp
.. section: Library

Fix ``__repr__`` method for :class:`dataclasses.InitVar` to support typing
objects, patch by Samuel Colvin.

..

.. bpo: 38109
.. date: 2019-10-10-00-25-28
.. nonce: 9w-IGF
.. section: Library

Add missing :data:`stat.S_IFDOOR`, :data:`stat.S_IFPORT`,
:data:`stat.S_IFWHT`, :func:`stat.S_ISDOOR`, :func:`stat.S_ISPORT`, and
:func:`stat.S_ISWHT` values to the Python implementation of :mod:`stat`.

..

.. bpo: 38422
.. date: 2019-10-09-18-16-51
.. nonce: aiM5bq
.. section: Library

Clarify docstrings of pathlib suffix(es)

..

.. bpo: 38405
.. date: 2019-10-08-11-18-40
.. nonce: 0-7e7s
.. section: Library

Nested subclasses of :class:`typing.NamedTuple` are now pickleable.

..

.. bpo: 38332
.. date: 2019-10-05-02-07-52
.. nonce: hwrPN7
.. section: Library

Prevent :exc:`KeyError` thrown by :func:`_encoded_words.decode` when given
an encoded-word with invalid content-type encoding from propagating all the
way to :func:`email.message.get`.

..

.. bpo: 38371
.. date: 2019-10-04-18-39-59
.. nonce: S6Klvm
.. section: Library

Deprecated the ``split()`` method in :class:`_tkinter.TkappType` in favour
of the ``splitlist()`` method which has more consistent and predicable
behavior.

..

.. bpo: 38341
.. date: 2019-10-01-21-06-18
.. nonce: uqwgU_
.. section: Library

Add :exc:`smtplib.SMTPNotSupportedError` to the :mod:`smtplib` exported
names.

..

.. bpo: 38319
.. date: 2019-09-30-22-06-33
.. nonce: 5QjiDa
.. section: Library

sendfile() used in socket and shutil modules was raising OverflowError for
files >= 2GiB on 32-bit architectures.  (patch by Giampaolo Rodola)

..

.. bpo: 38242
.. date: 2019-09-30-00-15-27
.. nonce: uPIyAc
.. section: Library

Revert the new asyncio Streams API

..

.. bpo: 13153
.. date: 2019-09-29-22-47-37
.. nonce: 0mO9qR
.. section: Library

OS native encoding is now used for converting between Python strings and Tcl
objects.  This allows to display, copy and paste to clipboard emoji and
other non-BMP characters.  Converting strings from Tcl to Python and back
now never fails (except MemoryError).

..

.. bpo: 38019
.. date: 2019-09-29-13-50-24
.. nonce: 6MoOE3
.. section: Library

Correctly handle pause/resume reading of closed asyncio unix pipe.

..

.. bpo: 38163
.. date: 2019-09-28-20-16-40
.. nonce: x51-vK
.. section: Library

Child mocks will now detect their type as either synchronous or
asynchronous, asynchronous child mocks will be AsyncMocks and synchronous
child mocks will be either MagicMock or Mock (depending on their parent
type).

..

.. bpo: 38161
.. date: 2019-09-27-16-31-28
.. nonce: zehai1
.. section: Library

Removes _AwaitEvent from AsyncMock.

..

.. bpo: 38216
.. date: 2019-09-27-15-24-45
.. nonce: -7yvZR
.. section: Library

Allow the rare code that wants to send invalid http requests from the
`http.client` library a way to do so.  The fixes for bpo-30458 led to
breakage for some projects that were relying on this ability to test their
own behavior in the face of bad requests.

..

.. bpo: 28286
.. date: 2019-09-26-12-16-30
.. nonce: LdSsrN
.. section: Library

Deprecate opening :class:`~gzip.GzipFile` for writing implicitly.  Always
specify the *mode* argument for writing.

..

.. bpo: 38108
.. date: 2019-09-25-21-37-02
.. nonce: Jr9HU6
.. section: Library

Any synchronous magic methods on an AsyncMock now return a MagicMock. Any
asynchronous magic methods on a MagicMock now return an AsyncMock.

..

.. bpo: 38265
.. date: 2019-09-25-05-16-19
.. nonce: X6-gsT
.. section: Library

Update the *length* parameter of :func:`os.pread` to accept
:c:type:`Py_ssize_t` instead of :c:type:`int`.

..

.. bpo: 38112
.. date: 2019-09-24-10-55-01
.. nonce: 2EinX9
.. section: Library

:mod:`compileall` has a higher default recursion limit and new command-line
arguments for path manipulation, symlinks handling, and multiple
optimization levels.

..

.. bpo: 38248
.. date: 2019-09-22-13-05-36
.. nonce: Yo3N_1
.. section: Library

asyncio: Fix inconsistent immediate Task cancellation

..

.. bpo: 38237
.. date: 2019-09-20-14-27-17
.. nonce: xRUZbx
.. section: Library

The arguments for the builtin pow function are more descriptive. They can
now also be passed in as keywords.

..

.. bpo: 34002
.. date: 2019-09-19-19-58-33
.. nonce: KBnaVX
.. section: Library

Improve efficiency in parts of email package by changing while-pop to a for
loop, using isdisjoint instead of set intersections.

..

.. bpo: 38191
.. date: 2019-09-17-12-28-27
.. nonce: 1TU0HV
.. section: Library

Constructors of :class:`~typing.NamedTuple` and :class:`~typing.TypedDict`
types now accept arbitrary keyword argument names, including "cls", "self",
"typename", "_typename", "fields" and "_fields".

..

.. bpo: 38155
.. date: 2019-09-16-21-47-48
.. nonce: d92lRc
.. section: Library

Add ``__all__`` to  :mod:`datetime`. Patch by Tahia Khan.

..

.. bpo: 38185
.. date: 2019-09-16-19-12-57
.. nonce: zYWppY
.. section: Library

Fixed case-insensitive string comparison in :class:`sqlite3.Row` indexing.

..

.. bpo: 38136
.. date: 2019-09-16-09-54-42
.. nonce: MdI-Zb
.. section: Library

Changes AsyncMock call count and await count to be two different counters.
Now await count only counts when a coroutine has been awaited, not when it
has been called, and vice-versa. Update the documentation around this.

..

.. bpo: 37828
.. date: 2019-09-15-21-31-18
.. nonce: gLLDX7
.. section: Library

Fix default mock name in :meth:`unittest.mock.Mock.assert_called`
exceptions. Patch by Abraham Toriz Cruz.

..

.. bpo: 38175
.. date: 2019-09-15-10-30-33
.. nonce: 61XlUv
.. section: Library

Fix a memory leak in comparison of :class:`sqlite3.Row` objects.

..

.. bpo: 33936
.. date: 2019-09-14-10-34-00
.. nonce: 8wCI_n
.. section: Library

_hashlib no longer calls obsolete OpenSSL initialization function with
OpenSSL 1.1.0+.

..

.. bpo: 34706
.. date: 2019-09-13-14-54-33
.. nonce: HWVpOY
.. section: Library

Preserve subclassing in inspect.Signature.from_callable.

..

.. bpo: 38153
.. date: 2019-09-13-12-18-51
.. nonce: nHAbuJ
.. section: Library

Names of hashing algorithms frome OpenSSL are now normalized to follow
Python's naming conventions. For example OpenSSL uses sha3-512 instead of
sha3_512 or blake2b512 instead of blake2b.

..

.. bpo: 38115
.. date: 2019-09-13-09-24-58
.. nonce: BOO-Y1
.. section: Library

Fix a bug in dis.findlinestarts() where it would return invalid bytecode
offsets. Document that a code object's co_lnotab can contain invalid
bytecode offsets.

..

.. bpo: 38148
.. date: 2019-09-13-08-55-43
.. nonce: Lnww6D
.. section: Library

Add slots to :mod:`asyncio` transport classes, which can reduce memory
usage.

..

.. bpo: 38142
.. date: 2019-09-12-18-41-35
.. nonce: 1I0Ch0
.. section: Library

The _hashlib OpenSSL wrapper extension module is now PEP-384 compliant.

..

.. bpo: 9216
.. date: 2019-09-12-14-54-45
.. nonce: W7QMpC
.. section: Library

hashlib constructors now support usedforsecurity flag to signal that a
hashing algorithm is not used in a security context.

..

.. bpo: 36991
.. date: 2019-09-12-14-52-38
.. nonce: 1OcSm8
.. section: Library

Fixes a potential incorrect AttributeError exception escaping
ZipFile.extract() in some unsupported input error situations.

..

.. bpo: 38134
.. date: 2019-09-12-13-18-55
.. nonce: gXJTbP
.. section: Library

Remove obsolete copy of PBKDF2_HMAC_fast. All supported OpenSSL versions
contain a fast implementation.

..

.. bpo: 38132
.. date: 2019-09-12-12-47-35
.. nonce: KSFx1F
.. section: Library

The OpenSSL hashlib wrapper uses a simpler implementation. Several Macros
and pointless caches are gone. The hash name now comes from OpenSSL's EVP.
The algorithm name stays the same, except it is now always lower case.

..

.. bpo: 38008
.. date: 2019-09-12-10-47-34
.. nonce: sH74Iy
.. section: Library

Fix parent class check in protocols to correctly identify the module that
provides a builtin protocol, instead of assuming they all come from the
:mod:`collections.abc` module

..

.. bpo: 34037
.. date: 2019-09-11-21-38-41
.. nonce: LIAS_3
.. section: Library

For :mod:`asyncio`, add a new coroutine
:meth:`loop.shutdown_default_executor`. The new coroutine provides an API to
schedule an executor shutdown that waits on the threadpool to finish
closing. Also, :func:`asyncio.run` has been updated to utilize the new
coroutine. Patch by Kyle Stanley.

..

.. bpo: 37405
.. date: 2019-09-11-20-27-41
.. nonce: MG5xiY
.. section: Library

Fixed regression bug for socket.getsockname() for non-CAN_ISOTP AF_CAN
address family sockets by returning a 1-tuple instead of string.

..

.. bpo: 38121
.. date: 2019-09-11-16-54-57
.. nonce: SrSDzB
.. section: Library

Update parameter names on functions in importlib.metadata matching the
changes in the 0.22 release of importlib_metadata.

..

.. bpo: 38110
.. date: 2019-09-11-14-49-20
.. nonce: A19Y-q
.. section: Library

The os.closewalk() implementation now uses the libc fdwalk() API on
platforms where it is available.

..

.. bpo: 38093
.. date: 2019-09-11-14-45-30
.. nonce: yQ6k7y
.. section: Library

Fixes AsyncMock so it doesn't crash when used with AsyncContextManagers or
AsyncIterators.

..

.. bpo: 37488
.. date: 2019-09-11-11-44-16
.. nonce: S8CJUL
.. section: Library

Add warning to :meth:`datetime.utctimetuple`,  :meth:`datetime.utcnow` and
:meth:`datetime.utcfromtimestamp` .

..

.. bpo: 35640
.. date: 2019-09-10-15-52-55
.. nonce: X0lp5f
.. section: Library

Allow passing a :term:`path-like object` as ``directory`` argument to the
:class:`http.server.SimpleHTTPRequestHandler` class. Patch by Géry Ogam.

..

.. bpo: 38086
.. date: 2019-09-10-11-42-59
.. nonce: w5TlG-
.. section: Library

Update importlib.metadata with changes from `importlib_metadata 0.21
<https://gitlab.com/python-devs/importlib_metadata/blob/0.21/importlib_metadata/docs/changelog.rst>`_.

..

.. bpo: 37251
.. date: 2019-09-10-10-59-50
.. nonce: 8zn2o3
.. section: Library

Remove `__code__` check in AsyncMock that incorrectly evaluated function
specs as async objects but failed to evaluate classes with `__await__` but
no `__code__` attribute defined as async objects.

..

.. bpo: 38037
.. date: 2019-09-09-18-39-23
.. nonce: B0UgFU
.. section: Library

Fix reference counters in the :mod:`signal` module.

..

.. bpo: 38066
.. date: 2019-09-09-14-39-47
.. nonce: l9mWv-
.. section: Library

Hide internal asyncio.Stream methods: feed_eof(), feed_data(),
set_exception() and set_transport().

..

.. bpo: 38059
.. date: 2019-09-08-11-36-50
.. nonce: 8SA6co
.. section: Library

inspect.py now uses sys.exit() instead of exit()

..

.. bpo: 38049
.. date: 2019-09-07-12-32-50
.. nonce: xKP4tf
.. section: Library

Added command-line interface for the :mod:`ast` module.

..

.. bpo: 37953
.. date: 2019-09-06-17-40-34
.. nonce: db5FQq
.. section: Library

In :mod:`typing`, improved the ``__hash__`` and ``__eq__`` methods for
:class:`ForwardReferences`.

..

.. bpo: 38026
.. date: 2019-09-04-20-34-14
.. nonce: 0LLRX-
.. section: Library

Fixed :func:`inspect.getattr_static` used ``isinstance`` while it should
avoid dynamic lookup.

..

.. bpo: 35923
.. date: 2019-09-03-01-41-35
.. nonce: lYpKbY
.. section: Library

Update :class:`importlib.machinery.BuiltinImporter` to use
``loader._ORIGIN`` instead of a hardcoded value. Patch by Dong-hee Na.

..

.. bpo: 38010
.. date: 2019-09-02-14-30-39
.. nonce: JOnz9Z
.. section: Library

In ``importlib.metadata`` sync with ``importlib_metadata`` 0.20, clarifying
behavior of ``files()`` and fixing issue where only one requirement was
returned for ``requires()`` on ``dist-info`` packages.

..

.. bpo: 38006
.. date: 2019-09-02-13-37-27
.. nonce: Y7vA0Q
.. section: Library

weakref.WeakValueDictionary defines a local remove() function used as
callback for weak references. This function was created with a closure.
Modify the implementation to avoid the closure.

..

.. bpo: 37995
.. date: 2019-08-31-13-36-09
.. nonce: rS8HzT
.. section: Library

Added the *indent* option to :func:`ast.dump` which allows it to produce a
multiline indented output.

..

.. bpo: 34410
.. date: 2019-08-31-01-52-59
.. nonce: 7KbWZQ
.. section: Library

Fixed a crash in the :func:`tee` iterator when re-enter it. RuntimeError is
now raised in this case.

..

.. bpo: 37140
.. date: 2019-08-30-11-21-10
.. nonce: cFAX-a
.. section: Library

Fix a ctypes regression of Python 3.8. When a ctypes.Structure is passed by
copy to a function, ctypes internals created a temporary object which had
the side effect of calling the structure finalizer (__del__) twice. The
Python semantics requires a finalizer to be called exactly once. Fix ctypes
internals to no longer call the finalizer twice.

..

.. bpo: 37587
.. date: 2019-08-29-18-48-48
.. nonce: N7TGTC
.. section: Library

``_json.scanstring`` is now up to 3x faster when there are many backslash
escaped characters in the JSON string.

..

.. bpo: 37834
.. date: 2019-08-29-16-41-36
.. nonce: FThnsh
.. section: Library

Prevent shutil.rmtree exception when built on non-Windows system without fd
system call support, like older versions of macOS.

..

.. bpo: 10978
.. date: 2019-08-29-01-19-13
.. nonce: J6FQYY
.. section: Library

Semaphores and BoundedSemaphores can now release more than one waiting
thread at a time.

..

.. bpo: 37972
.. date: 2019-08-28-21-40-12
.. nonce: kP-n4L
.. section: Library

Subscripts to the `unittest.mock.call` objects now receive the same chaining
mechanism as any other custom attributes, so that the following usage no
longer raises a `TypeError`:

call().foo().__getitem__('bar')

Patch by blhsing

..

.. bpo: 37965
.. date: 2019-08-28-14-04-18
.. nonce: 7xGE-C
.. section: Library

Fix C compiler warning caused by distutils.ccompiler.CCompiler.has_function.

..

.. bpo: 37964
.. date: 2019-08-27-21-19-28
.. nonce: SxdnsF
.. section: Library

Add ``F_GETPATH`` command to :mod:`fcntl`.

..

.. bpo: 37960
.. date: 2019-08-27-10-52-13
.. nonce: CTY7Lw
.. section: Library

``repr()`` of buffered and text streams now silences only expected
exceptions when get the value of "name" and "mode" attributes.

..

.. bpo: 37961
.. date: 2019-08-27-10-30-44
.. nonce: 4nm0zZ
.. section: Library

Add a ``total_nframe`` field to the traces collected by the tracemalloc
module. This field indicates the original number of frames before it was
truncated.

..

.. bpo: 37951
.. date: 2019-08-27-10-03-48
.. nonce: MfRQgL
.. section: Library

Most features of the subprocess module now work again in subinterpreters.
Only *preexec_fn* is restricted in subinterpreters.

..

.. bpo: 36205
.. date: 2019-08-27-03-53-26
.. nonce: AfkGRl
.. section: Library

Fix the rusage implementation of time.process_time() to correctly report the
sum of the system and user CPU time.

..

.. bpo: 37950
.. date: 2019-08-26-10-45-51
.. nonce: -K1IKT
.. section: Library

Fix :func:`ast.dump` when call with incompletely initialized node.

..

.. bpo: 34679
.. date: 2019-08-25-18-07-48
.. nonce: HECzL7
.. section: Library

Restores instantiation of Windows IOCP event loops from the non-main thread.

..

.. bpo: 36917
.. date: 2019-08-25-14-56-42
.. nonce: GBxdw2
.. section: Library

Add default implementation of the :meth:`ast.NodeVisitor.visit_Constant`
method which emits a deprecation warning and calls corresponding methody
``visit_Num()``, ``visit_Str()``, etc.

..

.. bpo: 37798
.. date: 2019-08-24-16-54-49
.. nonce: 7mRQCk
.. section: Library

Update test_statistics.py to verify that the statistics module works well
for both C and Python implementations. Patch by Dong-hee Na

..

.. bpo: 26589
.. date: 2019-08-23-00-55-19
.. nonce: M1xyxG
.. section: Library

Added a new status code to the http module: 451
UNAVAILABLE_FOR_LEGAL_REASONS

..

.. bpo: 37915
.. date: 2019-08-22-16-13-27
.. nonce: xyoZI5
.. section: Library

Fix a segmentation fault that appeared when comparing instances of
``datetime.timezone`` and ``datetime.tzinfo`` objects. Patch by Pablo
Galindo.

..

.. bpo: 32554
.. date: 2019-08-22-01-49-05
.. nonce: 4xiXyM
.. section: Library

Deprecate having random.seed() call hash on arbitrary types.

..

.. bpo: 9938
.. date: 2019-08-21-16-38-56
.. nonce: t3G7N9
.. section: Library

Add optional keyword argument ``exit_on_error`` for :class:`ArgumentParser`.

..

.. bpo: 37851
.. date: 2019-08-21-13-43-04
.. nonce: mIIfD_
.. section: Library

The :mod:`faulthandler` module no longer allocates its alternative stack at
Python startup. Now the stack is only allocated at the first faulthandler
usage.

..

.. bpo: 32793
.. date: 2019-08-20-05-17-32
.. nonce: cgpXl6
.. section: Library

Fix a duplicated debug message when :meth:`smtplib.SMTP.connect` is called.

..

.. bpo: 37885
.. date: 2019-08-19-10-31-41
.. nonce: 4Nc9sp
.. section: Library

venv: Don't generate unset variable warning on deactivate.

..

.. bpo: 37868
.. date: 2019-08-17-22-33-54
.. nonce: hp64fi
.. section: Library

Fix dataclasses.is_dataclass when given an instance that never raises
AttributeError in __getattr__.  That is, an object that returns something
for __dataclass_fields__ even if it's not a dataclass.

..

.. bpo: 37811
.. date: 2019-08-14-21-41-07
.. nonce: d1xYj7
.. section: Library

Fix ``socket`` module's ``socket.connect(address)`` function being unable to
establish connection in case of interrupted system call. The problem was
observed on all OSes which ``poll(2)`` system call can take only
non-negative integers and -1 as a timeout value.

..

.. bpo: 37863
.. date: 2019-08-14-20-46-39
.. nonce: CkXqgX
.. section: Library

Optimizations for Fraction.__hash__ suggested by Tim Peters.

..

.. bpo: 21131
.. date: 2019-08-14-15-34-23
.. nonce: 0MMQRi
.. section: Library

Fix ``faulthandler.register(chain=True)`` stack. faulthandler now allocates
a dedicated stack of ``SIGSTKSZ*2`` bytes, instead of just ``SIGSTKSZ``
bytes. Calling the previous signal handler in faulthandler signal handler
uses more than ``SIGSTKSZ`` bytes of stack memory on some platforms.

..

.. bpo: 37798
.. date: 2019-08-14-13-51-24
.. nonce: AmXrik
.. section: Library

Add C fastpath for statistics.NormalDist.inv_cdf() Patch by Dong-hee Na

..

.. bpo: 37804
.. date: 2019-08-12-23-07-47
.. nonce: Ene6L-
.. section: Library

Remove the deprecated method `threading.Thread.isAlive()`. Patch by Dong-hee
Na.

..

.. bpo: 37819
.. date: 2019-08-11-10-34-19
.. nonce: LVJls-
.. section: Library

Add Fraction.as_integer_ratio() to match the corresponding methods in bool,
int, float, and decimal.

..

.. bpo: 14465
.. date: 2019-08-10-18-50-04
.. nonce: qZGC4g
.. section: Library

Add an xml.etree.ElementTree.indent() function for pretty-printing XML
trees. Contributed by Stefan Behnel.

..

.. bpo: 37810
.. date: 2019-08-10-12-33-27
.. nonce: d4zbvB
.. section: Library

Fix :mod:`difflib` ``?`` hint in diff output when dealing with tabs.  Patch
by Anthony Sottile.

..

.. bpo: 37772
.. date: 2019-08-07-23-48-09
.. nonce: hLCvdn
.. section: Library

In ``zipfile.Path``, when adding implicit dirs, ensure that ancestral
directories are added and that duplicates are excluded.

..

.. bpo: 18578
.. date: 2019-08-07-19-34-07
.. nonce: xfvdb_
.. section: Library

Renamed and documented `test.bytecode_helper` as
`test.support.bytecode_helper`. Patch by Joannah Nanjekye.

..

.. bpo: 37785
.. date: 2019-08-07-14-49-22
.. nonce: y7OlT8
.. section: Library

Fix xgettext warnings in :mod:`argparse`.

..

.. bpo: 34488
.. date: 2019-08-06-21-30-58
.. nonce: OqxVo8
.. section: Library

:meth:`writelines` method of :class:`io.BytesIO` is now slightly faster when
many small lines are passed. Patch by Sergey Fedoseev.

..

.. bpo: 37449
.. date: 2019-08-04-17-22-33
.. nonce: ycbL2z
.. section: Library

`ensurepip` now uses `importlib.resources.read_binary()` to read data
instead of `pkgutil.get_data()`. Patch by Joannah Nanjekye.

..

.. bpo: 28292
.. date: 2019-08-04-11-47-58
.. nonce: vkihH5
.. section: Library

Mark calendar.py helper functions as being private.  The follows PEP 8
guidance to maintain the style conventions in the module and it addresses a
known case of user confusion.

..

.. bpo: 18049
.. date: 2019-08-02-16-44-42
.. nonce: OA4qBL
.. section: Library

Add definition of THREAD_STACK_SIZE for AIX in Python/thread_pthread.h The
default thread stacksize caused crashes with the default recursion limit
Patch by M Felt

..

.. bpo: 37742
.. date: 2019-08-02-14-01-25
.. nonce: f4Xn9S
.. section: Library

The logging.getLogger() API now returns the root logger when passed the name
'root', whereas previously it returned a non-root logger named 'root'. This
could affect cases where user code explicitly wants a non-root logger named
'root', or instantiates a logger using logging.getLogger(__name__) in some
top-level module called 'root.py'.

..

.. bpo: 37738
.. date: 2019-08-01-17-11-16
.. nonce: A3WWcT
.. section: Library

Fix the implementation of curses ``addch(str, color_pair)``: pass the color
pair to ``setcchar()``, instead of always passing 0 as the color pair.

..

.. bpo: 37723
.. date: 2019-07-31-16-49-01
.. nonce: zq6tw8
.. section: Library

Fix performance regression on regular expression parsing with huge character
sets. Patch by Yann Vaginay.

..

.. bpo: 35943
.. date: 2019-07-31-15-52-51
.. nonce: -KswoB
.. section: Library

The function :c:func:`PyImport_GetModule` now ensures any module it returns
is fully initialized. Patch by Joannah Nanjekye.

..

.. bpo: 32178
.. date: 2019-07-30-22-41-05
.. nonce: X-IFLe
.. section: Library

Fix IndexError in :mod:`email` package when trying to parse invalid address
fields starting with ``:``.

..

.. bpo: 37268
.. date: 2019-07-30-01-27-29
.. nonce: QDmA44
.. section: Library

The :mod:`parser` module is deprecated and will be removed in future
versions of Python.

..

.. bpo: 11953
.. date: 2019-07-29-21-39-45
.. nonce: 4Hpwf9
.. section: Library

Completing WSA* error codes in :mod:`socket`.

..

.. bpo: 37685
.. date: 2019-07-28-22-25-25
.. nonce: _3bN9f
.. section: Library

Fixed comparisons of :class:`datetime.timedelta` and
:class:`datetime.timezone`.

..

.. bpo: 37697
.. date: 2019-07-28-17-44-21
.. nonce: 7UV5d0
.. section: Library

Syncronize ``importlib.metadata`` with `importlib_metadata 0.19
<https://gitlab.com/python-devs/importlib_metadata/-/milestones/20>`_,
improving handling of EGG-INFO files and fixing a crash when entry point
names contained colons.

..

.. bpo: 37695
.. date: 2019-07-27-20-21-03
.. nonce: QANdvg
.. section: Library

Correct :func:`curses.unget_wch` error message.  Patch by Anthony Sottile.

..

.. bpo: 37689
.. date: 2019-07-27-18-00-43
.. nonce: glEmZi
.. section: Library

Add :meth:`is_relative_to` in :class:`PurePath` to determine whether or not
one path is relative to another.

..

.. bpo: 29553
.. date: 2019-07-27-10-14-45
.. nonce: TVeIDe
.. section: Library

Fixed :meth:`argparse.ArgumentParser.format_usage` for mutually exclusive
groups. Patch by Andrew Nester.

..

.. bpo: 37691
.. date: 2019-07-26-22-30-01
.. nonce: 1Li3rx
.. section: Library

Let math.dist() accept coordinates as sequences (or iterables) rather than
just tuples.

..

.. bpo: 37685
.. date: 2019-07-26-00-12-29
.. nonce: TqckMZ
.. section: Library

Fixed ``__eq__``, ``__lt__`` etc implementations in some classes. They now
return :data:`NotImplemented` for unsupported type of the other operand.
This allows the other operand to play role (for example the equality
comparison with :data:`~unittest.mock.ANY` will return ``True``).

..

.. bpo: 37354
.. date: 2019-07-25-10-28-40
.. nonce: RT3_3H
.. section: Library

Make Activate.ps1 Powershell script static to allow for signing it.

..

.. bpo: 37664
.. date: 2019-07-24-18-27-44
.. nonce: o-GYZC
.. section: Library

Update wheels bundled with ensurepip (pip 19.2.3 and setuptools 41.2.0)

..

.. bpo: 37663
.. date: 2019-07-24-14-38-53
.. nonce: h4-9-1
.. section: Library

Bring consistency to venv shell activation scripts by always using
__VENV_PROMPT__.

..

.. bpo: 37642
.. date: 2019-07-21-20-59-31
.. nonce: L61Bvy
.. section: Library

Allowed the pure Python implementation of :class:`datetime.timezone` to
represent sub-minute offsets close to minimum and maximum boundaries,
specifically in the ranges (23:59, 24:00) and (-23:59, 24:00). Patch by
Ngalim Siregar

..

.. bpo: 36161
.. date: 2019-07-20-01-17-43
.. nonce: Fzf-f9
.. section: Library

In :mod:`posix`, use ``ttyname_r`` instead of ``ttyname`` for thread safety.

..

.. bpo: 36324
.. date: 2019-07-19-22-44-41
.. nonce: 1VjywS
.. section: Library

Make internal attributes for statistics.NormalDist() private.

..

.. bpo: 37555
.. date: 2019-07-19-20-13-48
.. nonce: S5am28
.. section: Library

Fix `NonCallableMock._call_matcher` returning tuple instead of `_Call`
object when `self._spec_signature` exists. Patch by Elizabeth Uselton

..

.. bpo: 29446
.. date: 2019-07-19-16-06-48
.. nonce: iXGuoi
.. section: Library

Make `from tkinter import *` import only the expected objects.

..

.. bpo: 16970
.. date: 2019-07-19-01-46-56
.. nonce: GEASf5
.. section: Library

Adding a value error when an invalid value in passed to nargs Patch by
Robert Leenders

..

.. bpo: 34443
.. date: 2019-07-17-11-10-08
.. nonce: OFnGqz
.. section: Library

Exceptions from :mod:`enum` now use the ``__qualname`` of the enum class in
the exception message instead of the ``__name__``.

..

.. bpo: 37491
.. date: 2019-07-17-06-54-43
.. nonce: op0aMs
.. section: Library

Fix ``IndexError`` when parsing email headers with unexpectedly ending
bare-quoted string value. Patch by Abhilash Raj.

..

.. bpo: 37587
.. date: 2019-07-13-16-02-48
.. nonce: fd-1aF
.. section: Library

Make json.loads faster for long strings. (Patch by Marco Paolini)

..

.. bpo: 18378
.. date: 2019-07-13-13-40-12
.. nonce: NHcojp
.. section: Library

Recognize "UTF-8" as a valid value for LC_CTYPE in locale._parse_localename.

..

.. bpo: 37579
.. date: 2019-07-13-10-59-43
.. nonce: B1Tq9i
.. section: Library

Return :exc:`NotImplemented` in Python implementation of ``__eq__`` for
:class:`~datetime.timedelta` and :class:`~datetime.time` when the other
object being compared is not of the same type to match C implementation.
Patch by Karthikeyan Singaravelan.

..

.. bpo: 21478
.. date: 2019-07-10-23-07-11
.. nonce: cCw9rF
.. section: Library

Record calls to parent when autospecced object is attached to a mock using
:func:`unittest.mock.attach_mock`. Patch by Karthikeyan Singaravelan.

..

.. bpo: 37531
.. date: 2019-07-09-19-38-26
.. nonce: GX7s8S
.. section: Library

"python3 -m test -jN --timeout=TIMEOUT" now kills a worker process if it
runs longer than *TIMEOUT* seconds.

..

.. bpo: 37482
.. date: 2019-07-09-11-20-21
.. nonce: auzvev
.. section: Library

Fix serialization of display name in originator or destination address
fields with both encoded words and special chars.

..

.. bpo: 36993
.. date: 2019-07-09-05-44-39
.. nonce: 4javqu
.. section: Library

Improve error reporting for corrupt zip files with bad zip64 extra data.
Patch by Daniel Hillier.

..

.. bpo: 37502
.. date: 2019-07-08-03-15-04
.. nonce: qZGC4g
.. section: Library

pickle.loads() no longer raises TypeError when the buffers argument is set
to None

..

.. bpo: 37520
.. date: 2019-07-07-21-09-08
.. nonce: Gg0KD6
.. section: Library

Correct behavior for zipfile.Path.parent when the path object identifies a
subdirectory.

..

.. bpo: 18374
.. date: 2019-07-05-21-46-45
.. nonce: qgE0H3
.. section: Library

Fix the ``.col_offset`` attribute of nested :class:`ast.BinOp` instances
which had a too large value in some situations.

..

.. bpo: 37424
.. date: 2019-07-04-13-00-20
.. nonce: 0i1MR-
.. section: Library

Fixes a possible hang when using a timeout on `subprocess.run()` while
capturing output.  If the child process spawned its own children or
otherwise connected its stdout or stderr handles with another process, we
could hang after the timeout was reached and our child was killed when
attempting to read final output from the pipes.

..

.. bpo: 37421
.. date: 2019-07-03-12-47-52
.. nonce: gR5hC8
.. section: Library

Fix :func:`multiprocessing.util.get_temp_dir` finalizer: clear also the
'tempdir' configuration of the current process, so next call to
``get_temp_dir()`` will create a new temporary directory, rather than
reusing the removed temporary directory.

..

.. bpo: 37481
.. date: 2019-07-02-13-08-30
.. nonce: hd5k09
.. section: Library

The distutils ``bdist_wininst`` command is deprecated in Python 3.8, use
``bdist_wheel`` (wheel packages) instead.

..

.. bpo: 37479
.. date: 2019-07-02-12-43-57
.. nonce: O53a5S
.. section: Library

When `Enum.__str__` is overridden in a derived class, the override will be
used by `Enum.__format__` regardless of whether mixin classes are present.

..

.. bpo: 37440
.. date: 2019-06-28-16-40-17
.. nonce: t3wX-N
.. section: Library

http.client now enables TLS 1.3 post-handshake authentication for default
context or if a cert_file is passed to HTTPSConnection.

..

.. bpo: 37437
.. date: 2019-06-27-20-33-50
.. nonce: du39_A
.. section: Library

Update vendorized expat version to 2.2.7.

..

.. bpo: 37428
.. date: 2019-06-27-13-27-02
.. nonce: _wcwUd
.. section: Library

SSLContext.post_handshake_auth = True no longer sets
SSL_VERIFY_POST_HANDSHAKE verify flag for client connections. Although the
option is documented as ignored for clients, OpenSSL implicitly enables cert
chain validation when the flag is set.

..

.. bpo: 37420
.. date: 2019-06-26-22-25-05
.. nonce: CxFJ09
.. section: Library

:func:`os.sched_setaffinity` now correctly handles errors that arise during
iteration over its ``mask`` argument. Patch by Brandt Bucher.

..

.. bpo: 37412
.. date: 2019-06-26-16-28-59
.. nonce: lx0VjC
.. section: Library

The :func:`os.getcwdb` function now uses the UTF-8 encoding on Windows,
rather than the ANSI code page: see :pep:`529` for the rationale. The
function is no longer deprecated on Windows.

..

.. bpo: 37406
.. date: 2019-06-26-03-00-06
.. nonce: uovkpq
.. section: Library

The sqlite3 module now raises TypeError, rather than ValueError, if
operation argument type is not str: execute(), executemany() and calling a
connection.

..

.. bpo: 29412
.. date: 2019-06-25-19-27-25
.. nonce: n4Zqdh
.. section: Library

Fix IndexError in parsing a header value ending unexpectedly. Patch by
Abhilash Raj.

..

.. bpo: 36546
.. date: 2019-06-25-05-07-48
.. nonce: RUcxaK
.. section: Library

The *dist* argument for statistics.quantiles() is now positional only. The
current name doesn't reflect that the argument can be either a dataset or a
distribution.  Marking the parameter as positional avoids confusion and
makes it possible to change the name later.

..

.. bpo: 37394
.. date: 2019-06-25-02-10-00
.. nonce: srZ1zx
.. section: Library

Fix a bug that was causing the :mod:`queue` module to fail if the
accelerator module was not available. Patch by Pablo Galindo.

..

.. bpo: 37376
.. date: 2019-06-24-11-26-34
.. nonce: SwSUQ4
.. section: Library

:mod:`pprint` now has support for :class:`types.SimpleNamespace`. Patch by
Carl Bordum Hansen.

..

.. bpo: 26967
.. date: 2019-06-23-12-46-10
.. nonce: xEuem1
.. section: Library

An :class:`~argparse.ArgumentParser` with ``allow_abbrev=False`` no longer
disables grouping of short flags, such as ``-vv``, but only disables
abbreviation of long flags as documented. Patch by Zac Hatfield-Dodds.

..

.. bpo: 37212
.. date: 2019-06-22-22-00-35
.. nonce: Zhv-tq
.. section: Library

:func:`unittest.mock.call` now preserves the order of keyword arguments in
repr output. Patch by Karthikeyan Singaravelan.

..

.. bpo: 37372
.. date: 2019-06-22-12-30-00
.. nonce: kIKqZ6
.. section: Library

Fix error unpickling datetime.time objects from Python 2 with seconds>=24.
Patch by Justin Blanchard.

..

.. bpo: 37345
.. date: 2019-06-22-08-51-44
.. nonce: o8XABX
.. section: Library

Add formal support for UDPLITE sockets. Support was present before, but it
is now easier to detect support with ``hasattr(socket, 'IPPROTO_UDPLITE')``
and there are constants defined for each of the values needed:
:py:obj:`socket.IPPROTO_UDPLITE`, :py:obj:`UDPLITE_SEND_CSCOV`, and
:py:obj:`UDPLITE_RECV_CSCOV`. Patch by Gabe Appleton.

..

.. bpo: 37358
.. date: 2019-06-21-14-54-02
.. nonce: RsASpn
.. section: Library

Optimized ``functools.partial`` by using vectorcall.

..

.. bpo: 37347
.. date: 2019-06-20-14-23-48
.. nonce: Gf9yYI
.. section: Library

:meth:`sqlite3.Connection.create_aggregate`,
:meth:`sqlite3.Connection.create_function`,
:meth:`sqlite3.Connection.set_authorizer`,
:meth:`sqlite3.Connection.set_progress_handler`
:meth:`sqlite3.Connection.set_trace_callback` methods lead to segfaults if
some of these methods are called twice with an equal object but not the
same. Now callbacks are stored more carefully. Patch by Aleksandr Balezin.

..

.. bpo: 37163
.. date: 2019-06-19-10-35-53
.. nonce: 9pPg2F
.. section: Library

The *obj* argument of :func:`dataclasses.replace` is positional-only now.

..

.. bpo: 37085
.. date: 2019-06-18-16-29-31
.. nonce: GeYaD6
.. section: Library

Add the optional Linux SocketCAN Broadcast Manager constants, used as flags
to configure the BCM behaviour, in the socket module.  Patch by Karl Ding.

..

.. bpo: 37328
.. date: 2019-06-18-15-31-33
.. nonce: 2PW1-l
.. section: Library

``HTMLParser.unescape`` is removed.  It was undocumented and deprecated
since Python 3.4.

..

.. bpo: 37305
.. date: 2019-06-18-13-59-55
.. nonce: fGzWlP
.. section: Library

Add .webmanifest -> application/manifest+json to list of recognized file
types and content type headers

..

.. bpo: 37320
.. date: 2019-06-17-22-10-37
.. nonce: ffieYa
.. section: Library

``aifc.openfp()`` alias to ``aifc.open()``, ``sunau.openfp()`` alias to
``sunau.open()``, and ``wave.openfp()`` alias to ``wave.open()`` have been
removed. They were deprecated since Python 3.7.

..

.. bpo: 37315
.. date: 2019-06-17-11-59-52
.. nonce: o1xFC0
.. section: Library

Deprecated accepting floats with integral value (like ``5.0``) in
:func:`math.factorial`.

..

.. bpo: 37312
.. date: 2019-06-17-10-03-52
.. nonce: qKvBfF
.. section: Library

``_dummy_thread`` and ``dummy_threading`` modules have been removed. These
modules were deprecated since Python 3.7 which requires threading support.

..

.. bpo: 33972
.. date: 2019-06-15-14-39-50
.. nonce: XxnNPw
.. section: Library

Email with single part but content-type set to ``multipart/*`` doesn't raise
AttributeError anymore.

..

.. 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: 37266
.. date: 2019-06-13-11-59-52
.. nonce: goLjef
.. section: Library

In a subinterpreter, spawning a daemon thread now raises an exception.
Daemon threads were never supported in subinterpreters. Previously, the
subinterpreter finalization crashed with a Pyton fatal error if a daemon
thread was still running.

..

.. bpo: 37210
.. date: 2019-06-12-16-10-50
.. nonce: r4yMg6
.. section: Library

Allow pure Python implementation of :mod:`pickle` to work even when the C
:mod:`_pickle` module is unavailable.

..

.. bpo: 21872
.. date: 2019-06-12-08-56-22
.. nonce: V9QGGN
.. section: Library

Fix :mod:`lzma`: module decompresses data incompletely. When decompressing a
FORMAT_ALONE format file, and it doesn't have the end marker, sometimes the
last one to dozens bytes can't be output. Patch by Ma Lin.

..

.. 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: 35766
.. date: 2019-06-11-16-41-40
.. nonce: v1Kj-T
.. section: Library

Change the format of feature_version to be a (major, minor) tuple.

..

.. 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: 18748
.. date: 2019-06-11-01-54-19
.. nonce: ADqCkq
.. section: Library

:class:`_pyio.IOBase` destructor now does nothing if getting the ``closed``
attribute fails to better mimick :class:`_io.IOBase` finalizer.

..

.. 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: 37206
.. date: 2019-06-09-22-25-03
.. nonce: 2WBg4q
.. section: Library

Default values which cannot be represented as Python objects no longer
improperly represented as ``None`` in function signatures.

..

.. bpo: 37111
.. date: 2019-06-09-17-22-33
.. nonce: 2I0z2k
.. section: Library

Added ``encoding`` and ``errors`` keyword parameters to
``logging.basicConfig``.

..

.. bpo: 12144
.. date: 2019-06-08-23-26-58
.. nonce: Z7mz-q
.. section: Library

Ensure cookies with ``expires`` attribute are handled in
:meth:`CookieJar.make_cookies`.

..

.. 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: 37178
.. date: 2019-06-07-17-16-09
.. nonce: Day_oB
.. section: Library

Give math.perm() a one argument form that means the same as
math.factorial().

..

.. bpo: 37178
.. date: 2019-06-07-17-11-34
.. nonce: b1StSv
.. section: Library

For math.perm(n, k), let k default to n, giving the same result as
factorial.

..

.. bpo: 37165
.. date: 2019-06-05-11-48-19
.. nonce: V_rwfE
.. section: Library

Converted _collections._count_elements to use the Argument Clinic.

..

.. bpo: 34767
.. date: 2019-06-04-23-44-52
.. nonce: BpDShN
.. section: Library

Do not always create a :class:`collections.deque` in :class:`asyncio.Lock`.

..

.. bpo: 37158
.. date: 2019-06-04-22-25-38
.. nonce: JKm15S
.. section: Library

Speed-up statistics.fmean() by switching from a function to a generator.

..

.. bpo: 34282
.. date: 2019-06-04-15-39-14
.. nonce: aAK54n
.. section: Library

Remove ``Enum._convert`` method, deprecated in 3.8.

..

.. bpo: 37150
.. date: 2019-06-04-14-44-41
.. nonce: TTzHxj
.. section: Library

`argparse._ActionsContainer.add_argument` now throws error, if someone
accidentally pass FileType class object instead of instance of FileType as
`type` argument

..

.. bpo: 28724
.. date: 2019-05-30-15-51-42
.. nonce: 34TrS8
.. section: Library

The socket module now has the :func:`socket.send_fds` and
:func:`socket.recv.fds` methods. Contributed by Joannah Nanjekye, Shinya
Okano and Victor Stinner.

..

.. bpo: 35621
.. date: 2019-05-28-19-03-46
.. nonce: Abc1lf
.. section: Library

Support running asyncio subprocesses when execution event loop in a thread
on UNIX.

..

.. 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: 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: 31163
.. date: 2019-05-26-16-34-53
.. nonce: 21A802
.. section: Library

pathlib.Path instance's rename and replace methods now return the new Path
instance.

..

.. bpo: 25068
.. date: 2019-05-22-04-52-35
.. nonce: vR_rC-
.. section: Library

:class:`urllib.request.ProxyHandler` now lowercases the keys of the passed
dictionary.

..

.. bpo: 26185
.. date: 2019-05-20-14-17-29
.. nonce: pQW4mI
.. section: Library

Fix :func:`repr` on empty :class:`ZipInfo` object. Patch by Mickaël
Schoentgen.

..

.. 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: 31904
.. date: 2019-05-17-16-50-02
.. nonce: 4a5ggm
.. section: Library

Port test_datetime to VxWorks: skip zoneinfo tests on VxWorks

..

.. bpo: 35805
.. date: 2019-05-17-15-11-08
.. nonce: E4YwYz
.. section: Library

Add parser for Message-ID header and add it to default HeaderRegistry. This
should prevent folding of Message-ID using RFC 2048 encoded words.

..

.. bpo: 36871
.. date: 2019-05-12-12-58-37
.. nonce: 6xiEHZ
.. section: Library

Ensure method signature is used instead of constructor signature of a class
while asserting mock object against method calls. Patch by Karthikeyan
Singaravelan.

..

.. 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: 31783
.. date: 2019-05-07-19-25-55
.. nonce: lgLo69
.. section: Library

Fix race condition in ThreadPoolExecutor when worker threads are created
during interpreter shutdown.

..

.. bpo: 36582
.. date: 2019-05-07-17-42-36
.. nonce: L_dxR6
.. section: Library

Fix ``UserString.encode()`` to correctly return ``bytes`` rather than a
``UserString`` instance.

..

.. bpo: 32424
.. date: 2019-04-28-10-34-19
.. nonce: eqNPhM
.. section: Library

Deprecate xml.etree.ElementTree.Element.copy() in favor of copy.copy().

Patch by Gordon P. Hemsley

..

.. bpo: 36564
.. date: 2019-04-08-13-00-13
.. nonce: _n67m_
.. section: Library

Fix infinite loop in email header folding logic that would be triggered when
an email policy's max_line_length is not long enough to include the required
markup and any values in the message. Patch by Paul Ganssle

..

.. bpo: 36543
.. date: 2019-04-06-20-08-12
.. nonce: RPjmUz
.. section: Library

Removed methods Element.getchildren(), Element.getiterator() and
ElementTree.getiterator() and the xml.etree.cElementTree module.

..

.. bpo: 36409
.. date: 2019-03-23-16-42-46
.. nonce: ZYVKao
.. section: Library

Remove the old plistlib API deprecated in Python 3.4

..

.. bpo: 36302
.. date: 2019-03-21-19-23-46
.. nonce: Yc591g
.. section: Library

distutils sorts source file lists so that Extension .so files build more
reproducibly by default

..

.. bpo: 36250
.. date: 2019-03-09-16-04-12
.. nonce: tSK4N1
.. section: Library

Ignore ``ValueError`` from ``signal`` with ``interaction`` in non-main
thread.

..

.. bpo: 36046
.. date: 2019-02-19-17-32-45
.. nonce: fX9OPj
.. section: Library

Added ``user``, ``group`` and ``extra_groups`` parameters to the
subprocess.Popen constructor. Patch by Patrick McLean.

..

.. bpo: 32627
.. date: 2019-02-03-19-13-08
.. nonce: b68f64
.. section: Library

Fix compile error when ``_uuid`` headers conflicting included.

..

.. bpo: 35800
.. date: 2019-01-25-17-12-17
.. nonce: MCGJdQ
.. section: Library

Deprecate ``smtpd.MailmanProxy`` ready for future removal.

..

.. bpo: 35168
.. date: 2019-01-22-09-23-20
.. nonce: UGv2yW
.. section: Library

:attr:`shlex.shlex.punctuation_chars` is now a read-only property.

..

.. bpo: 8538
.. date: 2019-01-09-16-18-52
.. nonce: PfVZia
.. section: Library

Add support for boolean actions like ``--foo`` and ``--no-foo`` to argparse.
Patch contributed by Rémi Lapeyre.

..

.. bpo: 20504
.. date: 2018-11-21-18-05-50
.. nonce: kG0ub5
.. section: Library

Fixes a bug in :mod:`cgi` module when a multipart/form-data request has no
`Content-Length` header.

..

.. bpo: 25988
.. date: 2018-11-19-10-23-58
.. nonce: 6o7gGK
.. section: Library

The abstract base classes in :mod:`collections.abc` no longer are exposed in
the regular :mod:`collections` module.

..

.. bpo: 11122
.. date: 2018-11-12-19-08-50
.. nonce: Gj7BQn
.. section: Library

Distutils won't check for rpmbuild in specified paths only.

..

.. bpo: 34775
.. date: 2018-09-23-03-18-52
.. nonce: vHeuHk
.. section: Library

Division handling of PurePath now returns NotImplemented instead of raising
a TypeError when passed something other than an instance of str or PurePath.
Patch by Roger Aiudi.

..

.. bpo: 34749
.. date: 2018-09-21-13-23-29
.. nonce: B0k819
.. section: Library

:func:`binascii.a2b_base64` is now up to 2 times faster. Patch by Sergey
Fedoseev.

..

.. bpo: 34519
.. date: 2018-08-27-15-44-50
.. nonce: cPlH1h
.. section: Library

Add additional aliases for HP Roman 8. Patch by Michael Osipov.

..

.. bpo: 28009
.. date: 2018-08-04-12-26-11
.. nonce: 4JcHZb
.. section: Library

Fix uuid.getnode() on platforms with '.' as MAC Addr delimiter as well fix
for MAC Addr format that omits a leading 0 in MAC Addr values. Currently,
AIX is the only know platform with these settings. Patch by Michael Felt.

..

.. bpo: 30618
.. date: 2018-07-14-13-48-56
.. nonce: T5AUF6
.. section: Library

Add :meth:`~pathlib.Path.readlink`. Patch by Girts Folkmanis.

..

.. bpo: 32498
.. date: 2018-06-17-21-02-25
.. nonce: La3TZz
.. section: Library

Made :func:`urllib.parse.unquote()` accept bytes in addition to strings.
Patch by Stein Karlsen.

..

.. bpo: 33348
.. date: 2018-04-24-13-18-48
.. nonce: XaJDei
.. section: Library

lib2to3 now recognizes expressions after ``*`` and `**` like in ``f(*[] or
[])``.

..

.. bpo: 32689
.. date: 2018-02-13-17-58-30
.. nonce: a-3SnH
.. section: Library

Update :func:`shutil.move` function to allow for Path objects to be used as
source argument. Patch by Emily Morehouse and Maxwell "5.13b" McKinnon.

..

.. bpo: 32820
.. date: 2018-02-13-12-25-43
.. nonce: 0stF0u
.. section: Library

Added __format__ to IPv4 and IPv6 classes.  Always outputs a fully zero-
padded string. Supports b/x/n modifiers (bin/hex/native format).  Native
format for IPv4 is bin, native format for IPv6 is hex. Also supports '#' and
'_' modifiers.

..

.. bpo: 27657
.. date: 2017-12-26-14-32-23
.. nonce: 6BhyVK
.. section: Library

Fix urllib.parse.urlparse() with numeric paths. A string like "path:80" is
no longer parsed as a path but as a scheme ("path") and a path ("80").

..

.. bpo: 4963
.. date: 2017-08-15-11-24-41
.. nonce: LRYres
.. section: Library

Fixed non-deterministic behavior related to mimetypes extension mapping and
module reinitialization.

..

.. bpo: 21767
.. date: 2019-11-17-11-54-57
.. nonce: Qq3Dos
.. section: Documentation

Explicitly mention abc support in functools.singledispatch

..

.. bpo: 38816
.. date: 2019-11-15-11-39-13
.. nonce: vUaSVL
.. section: Documentation

Provides more details about the interaction between :c:func:`fork` and
CPython's runtime, focusing just on the C-API.  This includes cautions about
where :c:func:`fork` should and shouldn't be called.

..

.. bpo: 38351
.. date: 2019-11-15-09-22-28
.. nonce: xwhlse
.. section: Documentation

Modernize :mod:`email` examples from %-formatting to f-strings.

..

.. bpo: 38778
.. date: 2019-11-12-15-31-09
.. nonce: PHhTlv
.. section: Documentation

Document the fact that :exc:`RuntimeError` is raised if :meth:`os.fork` is
called in a subinterpreter.

..

.. bpo: 38592
.. date: 2019-10-26-13-19-07
.. nonce: Y96BYO
.. section: Documentation

Add Brazilian Portuguese to the language switcher at Python Documentation
website.

..

.. bpo: 38294
.. date: 2019-09-27-23-37-41
.. nonce: go_jFf
.. section: Documentation

Add list of no-longer-escaped chars to re.escape documentation

..

.. bpo: 38053
.. date: 2019-09-07-19-09-01
.. nonce: lttibE
.. section: Documentation

Modernized the plistlib documentation

..

.. bpo: 26868
.. date: 2019-09-07-15-55-46
.. nonce: Raw0Gd
.. section: Documentation

Fix example usage of :c:func:`PyModule_AddObject` to properly handle errors.

..

.. bpo: 36797
.. date: 2019-09-05-14-47-51
.. nonce: KN9Ga5
.. section: Documentation

Fix a dead link in the distutils API Reference.

..

.. bpo: 37977
.. date: 2019-08-29-14-38-01
.. nonce: pML-UI
.. section: Documentation

Warn more strongly and clearly about pickle insecurity

..

.. bpo: 37979
.. date: 2019-08-29-10-40-05
.. nonce: TAUx_E
.. section: Documentation

Added a link to dateutil.parser.isoparse in the datetime.fromisoformat
documentation. Patch by Paul Ganssle

..

.. bpo: 12707
.. date: 2019-08-27-01-14-59
.. nonce: Yj3_7_
.. section: Documentation

Deprecate info(), geturl(), getcode() methods in favor of the headers, url,
and status properties, respectively, for HTTPResponse and addinfourl. Also
deprecate the code attribute of addinfourl in favor of the status attribute.
Patch by Ashwin Ramaswami

..

.. bpo: 37937
.. date: 2019-08-24-12-59-06
.. nonce: F7fHbt
.. section: Documentation

Mention ``frame.f_trace`` in :func:`sys.settrace` docs.

..

.. bpo: 37878
.. date: 2019-08-16-20-01-10
.. nonce: MvA6rZ
.. section: Documentation

Make :c:func:`PyThreadState_DeleteCurrent` Internal.

..

.. bpo: 37759
.. date: 2019-08-04-19-20-58
.. nonce: EHRF4i
.. section: Documentation

Beginning edits to Whatsnew 3.8

..

.. bpo: 37726
.. date: 2019-07-31-11-40-06
.. nonce: h-3o9a
.. section: Documentation

Stop recommending getopt in the tutorial for command line argument parsing
and promote argparse.

..

.. bpo: 32910
.. date: 2019-07-25-10-30-32
.. nonce: caLLAe
.. section: Documentation

Remove implementation-specific behaviour of how venv's Deactivate works.

..

.. bpo: 37256
.. date: 2019-07-16-14-48-12
.. nonce: qJTrBb
.. section: Documentation

Fix wording of arguments for :class:`Request` in :mod:`urllib.request`

..

.. bpo: 37284
.. date: 2019-07-13-12-58-20
.. nonce: rP8WpB
.. section: Documentation

Add a brief note to indicate that any new ``sys.implementation`` required
attributes must go through the PEP process.

..

.. bpo: 30088
.. date: 2019-07-13-12-43-01
.. nonce: CIcBjy
.. section: Documentation

Documented that :class:`mailbox.Maildir` constructor doesn't attempt to
verify the maildir folder layout correctness. Patch by Sviatoslav Sydorenko.

..

.. bpo: 37521
.. date: 2019-07-12-15-09-56
.. nonce: 7tiFR-
.. section: Documentation

Fix `importlib` examples to insert any newly created modules via
importlib.util.module_from_spec() immediately into sys.modules instead of
after calling loader.exec_module().

Thanks to Benjamin Mintz for finding the bug.

..

.. bpo: 37456
.. date: 2019-07-06-17-51-36
.. nonce: lgAQHn
.. section: Documentation

Slash ('/') is now part of syntax.

..

.. bpo: 37487
.. date: 2019-07-06-17-19-26
.. nonce: QagfZ5
.. section: Documentation

Fix PyList_GetItem index description to include 0.

..

.. bpo: 37149
.. date: 2019-07-06-02-19-02
.. nonce: NumHn3
.. section: Documentation

Replace the dead link to the Tkinter 8.5 reference by John Shipman, New
Mexico Tech, with a link to the archive.org copy.

..

.. bpo: 37478
.. date: 2019-07-06-00-57-27
.. nonce: B0ioLw
.. section: Documentation

Added possible exceptions to the description of os.chdir().

..

.. 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: 36260
.. date: 2019-06-04-09-29-00
.. nonce: WrGuc-
.. section: Documentation

Add decompression pitfalls to zipfile module documentation.

..

.. bpo: 37004
.. date: 2019-05-22-04-30-07
.. nonce: BRgxrt
.. section: Documentation

In the documentation for difflib, a note was added explicitly warning that
the results of SequenceMatcher's ratio method may depend on the order of the
input strings.

..

.. bpo: 36960
.. date: 2019-05-18-16-25-44
.. nonce: xEKHXj
.. section: Documentation

Restructured the :mod:`datetime` docs in the interest of making them more
user-friendly and improving readability. Patch by Brad Solomon.

..

.. bpo: 36487
.. date: 2019-04-02-19-23-00
.. nonce: Jg6-MG
.. section: Documentation

Make C-API docs clear about what the "main" interpreter is.

..

.. bpo: 23460
.. date: 2019-02-14-07-12-48
.. nonce: Iqiqtm
.. section: Documentation

The documentation for decimal string formatting using the `:g` specifier has
been updated to reflect the correct exponential notation cutoff point.
Original patch contributed by Tuomas Suutari.

..

.. bpo: 35803
.. date: 2019-01-21-14-30-59
.. nonce: yae6Lq
.. section: Documentation

Document and test that ``tempfile`` functions may accept a :term:`path-like
object` for the ``dir`` argument.  Patch by Anthony Sottile.

..

.. bpo: 33944
.. date: 2018-10-26-18-10-29
.. nonce: V1YeOA
.. section: Documentation

Added a note about the intended use of code in .pth files.

..

.. bpo: 34293
.. date: 2018-07-31-15-38-26
.. nonce: yHupAL
.. section: Documentation

Fix the Doc/Makefile regarding PAPER environment variable and PDF builds

..

.. bpo: 25237
.. date: 2018-06-02-12-55-23
.. nonce: m8-JMu
.. section: Documentation

Add documentation for tkinter modules

..

.. bpo: 38614
.. date: 2019-10-30-15-12-32
.. nonce: M6UnLB
.. section: Tests

Fix test_communicate() of test_asyncio.test_subprocess: use
``support.LONG_TIMEOUT`` (5 minutes), instead of just 1 minute.

..

.. bpo: 38614
.. date: 2019-10-28-15-56-02
.. nonce: aDdDYE
.. section: Tests

Add timeout constants to :mod:`test.support`:
:data:`~test.support.LOOPBACK_TIMEOUT`,
:data:`~test.support.INTERNET_TIMEOUT`, :data:`~test.support.SHORT_TIMEOUT`
and :data:`~test.support.LONG_TIMEOUT`.

..

.. bpo: 38502
.. date: 2019-10-17-00-49-38
.. nonce: vUEic7
.. section: Tests

test.regrtest now uses process groups in the multiprocessing mode (-jN
command line option) if process groups are available: if :func:`os.setsid`
and :func:`os.killpg` functions are available.

..

.. bpo: 35998
.. date: 2019-10-16-01-36-15
.. nonce: G305Bf
.. section: Tests

Fix a race condition in test_asyncio.test_start_tls_server_1(). Previously,
there was a race condition between the test main() function which replaces
the protocol and the test ServerProto protocol which sends ANSWER once it
gets HELLO. Now, only the test main() function is responsible to send data,
ServerProto no longer sends data.

..

.. bpo: 38470
.. date: 2019-10-14-22-46-35
.. nonce: NHtzpy
.. section: Tests

Fix ``test_compileall.test_compile_dir_maxlevels()`` on Windows without long
path support: only create 3 subdirectories instead of between 20 and 100
subdirectories.

..

.. bpo: 37531
.. date: 2019-10-08-16-42-05
.. nonce: 7v-_Ca
.. section: Tests

On timeout, regrtest no longer attempts to call ``popen.communicate()``
again: it can hang until all child processes using stdout and stderr pipes
completes. Kill the worker process and ignores its output. Change also the
faulthandler timeout of the main process from 1 minute to 5 minutes, for
Python slowest buildbots.

..

.. bpo: 38239
.. date: 2019-09-26-15-48-36
.. nonce: MfoVzY
.. section: Tests

Fix test_gdb for Link Time Optimization (LTO) builds.

..

.. bpo: 38275
.. date: 2019-09-25-14-40-57
.. nonce: -kdveI
.. section: Tests

test_ssl now handles disabled TLS/SSL versions better. OpenSSL's crypto
policy and run-time settings are recognized and tests for disabled versions
are skipped. Tests also accept more TLS minimum_versions for platforms that
override OpenSSL's default with strict settings.

..

.. bpo: 38271
.. date: 2019-09-25-13-11-29
.. nonce: iHXNIg
.. section: Tests

The private keys for test_ssl were encrypted with 3DES in traditional PKCS#5
format. 3DES and the digest algorithm of PKCS#5 are blocked by some strict
crypto policies. Use PKCS#8 format with AES256 encryption instead.

..

.. bpo: 38270
.. date: 2019-09-25-12-18-31
.. nonce: _x-9uH
.. section: Tests

test.support now has a helper function to check for availibility of a hash
digest function. Several tests are refactored avoid MD5 and use SHA256
instead. Other tests are marked to use MD5 and skipped when MD5 is disabled.

..

.. bpo: 37123
.. date: 2019-09-24-12-30-55
.. nonce: IoutBn
.. section: Tests

Multiprocessing test test_mymanager() now also expects -SIGTERM, not only
exitcode 0. BaseManager._finalize_manager() sends SIGTERM to the manager
process if it takes longer than 1 second to stop, which happens on slow
buildbots.

..

.. bpo: 38212
.. date: 2019-09-24-12-24-05
.. nonce: IWbhWz
.. section: Tests

Multiprocessing tests: increase test_queue_feeder_donot_stop_onexc() timeout
from 1 to 60 seconds.

..

.. bpo: 38117
.. date: 2019-09-11-17-22-32
.. nonce: X7LgGY
.. section: Tests

Test with OpenSSL 1.1.1d

..

.. bpo: 38018
.. date: 2019-09-03-19-33-10
.. nonce: zTrMu7
.. section: Tests

Increase code coverage for multiprocessing.shared_memory.

..

.. bpo: 37805
.. date: 2019-08-25-19-51-46
.. nonce: Kl1sti
.. section: Tests

Add tests for json.dump(..., skipkeys=True). Patch by Dong-hee Na.

..

.. bpo: 37531
.. date: 2019-08-20-19-24-19
.. nonce: wRoXfU
.. section: Tests

Enhance regrtest multiprocess timeout: write a message when killing a worker
process, catch popen.kill() and popen.wait() exceptions, put a timeout on
the second call to popen.communicate().

..

.. bpo: 37876
.. date: 2019-08-16-16-15-14
.. nonce: m3k1w3
.. section: Tests

Add tests for ROT-13 codec.

..

.. bpo: 36833
.. date: 2019-07-18-14-52-58
.. nonce: Zoe9ek
.. section: Tests

Added tests for PyDateTime_xxx_GET_xxx() macros of the C API of the
:mod:`datetime` module. Patch by Joannah Nanjekye.

..

.. bpo: 37558
.. date: 2019-07-11-10-33-56
.. nonce: SKHRsL
.. section: Tests

Fix test_shared_memory_cleaned_after_process_termination name handling

..

.. bpo: 37526
.. date: 2019-07-09-12-33-18
.. nonce: vmm5y7
.. section: Tests

Add :func:`test.support.catch_threading_exception`: context manager catching
:class:`threading.Thread` exception using :func:`threading.excepthook`.

..

.. bpo: 37421
.. date: 2019-07-08-10-11-36
.. nonce: OY77go
.. section: Tests

test_concurrent_futures now explicitly stops the ForkServer instance if it's
running.

..

.. bpo: 37421
.. date: 2019-07-05-14-47-55
.. nonce: n8o2to
.. section: Tests

multiprocessing tests now stop the ForkServer instance if it's running:
close the "alive" file descriptor to ask the server to stop and then remove
its UNIX address.

..

.. bpo: 37421
.. date: 2019-07-03-00-05-28
.. nonce: ORGRSG
.. section: Tests

test_distutils.test_build_ext() is now able to remove the temporary
directory on Windows: don't import the newly built C extension ("xx") in the
current process, but test it in a separated process.

..

.. bpo: 37421
.. date: 2019-07-02-23-29-06
.. nonce: WEfc5A
.. section: Tests

test_concurrent_futures now cleans up multiprocessing to remove immediately
temporary directories created by multiprocessing.util.get_temp_dir().

..

.. bpo: 37421
.. date: 2019-07-02-23-20-35
.. nonce: HCkKWz
.. section: Tests

test_winconsoleio doesn't leak a temporary file anymore: use
tempfile.TemporaryFile() to remove it when the test completes.

..

.. bpo: 37421
.. date: 2019-07-01-19-57-26
.. nonce: NFH1f0
.. section: Tests

multiprocessing tests now explicitly call ``_run_finalizers()`` to
immediately remove temporary directories created by tests.

..

.. bpo: 37421
.. date: 2019-07-01-19-56-17
.. nonce: bOe350
.. section: Tests

urllib.request tests now call :func:`~urllib.request.urlcleanup` to remove
temporary files created by ``urlretrieve()`` tests and to clear the
``_opener`` global variable set by ``urlopen()`` and functions calling
indirectly ``urlopen()``.

..

.. bpo: 37472
.. date: 2019-07-01-17-19-47
.. nonce: WzkEAx
.. section: Tests

Remove ``Lib/test/outstanding_bugs.py``.

..

.. bpo: 37199
.. date: 2019-06-29-23-56-28
.. nonce: FHDsLf
.. section: Tests

Fix test failures when IPv6 is unavailable or disabled.

..

.. bpo: 19696
.. date: 2019-06-29-16-02-21
.. nonce: 05ijhN
.. section: Tests

Replace deprecated method "random.choose" with "random.choice" in
"test_pkg_import.py".

..

.. bpo: 37335
.. date: 2019-06-28-16-37-52
.. nonce: o5S2hY
.. section: Tests

Remove no longer necessary code from c locale coercion tests

..

.. bpo: 37421
.. date: 2019-06-27-00-37-59
.. nonce: rVJb3x
.. section: Tests

Fix test_shutil to no longer leak temporary files.

..

.. bpo: 37411
.. date: 2019-06-26-15-28-45
.. nonce: 5lGNhM
.. section: Tests

Fix test_wsgiref.testEnviron() to no longer depend on the environment
variables (don't fail if "X" variable is set).

..

.. bpo: 37400
.. date: 2019-06-25-16-02-43
.. nonce: cx_EWv
.. section: Tests

Fix test_os.test_chown(): use os.getgroups() rather than grp.getgrall() to
get groups. Rename also the test to test_chown_gid().

..

.. bpo: 37359
.. date: 2019-06-24-10-47-07
.. nonce: CkdtyO
.. section: Tests

Add --cleanup option to python3 -m test to remove ``test_python_*``
directories of previous failed jobs. Add "make cleantest" to run ``python3
-m test --cleanup``.

..

.. bpo: 37362
.. date: 2019-06-21-15-47-33
.. nonce: D3xppx
.. section: Tests

test_gdb no longer fails if it gets an "unexpected" message on stderr: it
now ignores stderr. The purpose of test_gdb is to test that python-gdb.py
commands work as expected, not to test gdb.

..

.. bpo: 35998
.. date: 2019-06-14-17-05-49
.. nonce: yX82oD
.. section: Tests

Avoid TimeoutError in test_asyncio: test_start_tls_server_1()

..

.. bpo: 37278
.. date: 2019-06-14-12-21-47
.. nonce: z0HUOr
.. section: Tests

Fix test_asyncio ProactorLoopCtrlC: join the thread to prevent leaking a
running thread and leaking a reference.

..

.. bpo: 37261
.. date: 2019-06-13-12-19-56
.. nonce: NuKFVo
.. section: Tests

Fix :func:`test.support.catch_unraisable_exception`: its __exit__() method
now ignores unraisable exception raised when clearing its ``unraisable``
attribute.

..

.. bpo: 37069
.. date: 2019-06-13-00-46-25
.. nonce: wdktFo
.. section: Tests

regrtest now uses :func:`sys.unraisablehook` to mark a test as "environment
altered" (ENV_CHANGED) if it emits an "unraisable exception". Moreover,
regrtest logs a warning in this case.

Use ``python3 -m test --fail-env-changed`` to catch unraisable exceptions in
tests.

..

.. bpo: 37252
.. date: 2019-06-12-14-30-29
.. nonce: 4o-uLs
.. section: Tests

Fix assertions in ``test_close`` and ``test_events_mask_overflow`` devpoll
tests.

..

.. bpo: 37169
.. date: 2019-06-07-12-23-15
.. nonce: yfXTFg
.. section: Tests

Rewrite ``_PyObject_IsFreed()`` unit tests.

..

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

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

..

.. bpo: 34001
.. date: 2019-06-03-20-47-10
.. nonce: KvYx9z
.. section: Tests

Make test_ssl pass with LibreSSL. LibreSSL handles minimum and maximum TLS
version differently than OpenSSL.

..

.. bpo: 36919
.. date: 2019-05-28-15-41-34
.. nonce: -vGt_m
.. section: Tests

Make ``test_source_encoding.test_issue2301`` implementation independent. The
test will work now for both CPython and IronPython.

..

.. bpo: 30202
.. date: 2019-04-15-19-05-35
.. nonce: Wt7INj
.. section: Tests

Update ``test.test_importlib.test_abc`` to test ``find_spec()``.

..

.. bpo: 28009
.. date: 2019-04-11-07-59-43
.. nonce: s85urF
.. section: Tests

Modify the test_uuid logic to test when a program is available AND can be
used to obtain a MACADDR as basis for an UUID. Patch by M. Felt

..

.. bpo: 34596
.. date: 2018-09-07-01-18-27
.. nonce: r2-EGd
.. section: Tests

Fallback to a default reason when :func:`unittest.skip` is uncalled. Patch
by Naitree Zhu.

..

.. bpo: 38809
.. date: 2019-11-15-09-25-44
.. nonce: 9jwta6
.. section: Build

On Windows, build scripts will now recognize and use python.exe from an
active virtual env.

..

.. bpo: 38684
.. date: 2019-11-04-14-30-37
.. nonce: aed593
.. section: Build

Fix _hashlib build when Blake2 is disabled, but OpenSSL supports it.

..

.. bpo: 38468
.. date: 2019-10-13-16-18-24
.. nonce: buCO84
.. section: Build

Misc/python-config.in now uses `getvar()` for all still existing
`sysconfig.get_config_var()` calls. Patch by Joannah Nanjekye.

..

.. bpo: 37415
.. date: 2019-10-11-15-32-58
.. nonce: D9RXrq
.. section: Build

Fix stdatomic.h header check for ICC compiler: the ICC implementation lacks
atomic_uintptr_t type which is needed by Python.

..

.. bpo: 38301
.. date: 2019-09-28-02-37-11
.. nonce: 123456
.. section: Build

In Solaris family, we must be sure to use ``-D_REENTRANT``. Patch by Jesús
Cea Avión.

..

.. bpo: 36002
.. date: 2019-09-13-14-12-36
.. nonce: Bcl4oe
.. section: Build

Locate ``llvm-profdata`` and ``llvm-ar`` binaries using ``AC_PATH_TOOL``
rather than ``AC_PATH_TARGET_TOOL``.

..

.. bpo: 37936
.. date: 2019-09-10-00-54-48
.. nonce: E7XEwu
.. section: Build

The :file:`.gitignore` file systematically keeps "rooted", with a
non-trailing slash, all the rules that are meant to apply to files in a
specific place in the repo.  Previously, when the intended file to ignore
happened to be at the root of the repo, we'd most often accidentally also
ignore files and directories with the same name anywhere in the tree.

..

.. bpo: 37760
.. date: 2019-08-24-17-39-09
.. nonce: f3jXuH
.. section: Build

The :file:`Tools/unicode/makeunicodedata.py` script, which is used for
converting information from the Unicode Character Database into generated
code and data used by the methods of :class:`str` and by the
:mod:`unicodedata` module, now handles each character's data as a
``dataclass`` with named attributes, rather than a length-18 list of
different fields.

..

.. bpo: 37936
.. date: 2019-08-24-00-29-40
.. nonce: QrORqA
.. section: Build

The :file:`.gitignore` file no longer applies to any files that are in fact
tracked in the Git repository.  Patch by Greg Price.

..

.. bpo: 37725
.. date: 2019-07-30-16-26-11
.. nonce: MkG1TT
.. section: Build

Change "clean" makefile target to also clean the program guided optimization
(PGO) data.  Previously you would have to use "make clean" and "make
profile-removal", or "make clobber".

..

.. bpo: 37707
.. date: 2019-07-29-11-36-16
.. nonce: Sm-dGk
.. section: Build

Mark some individual tests to skip when --pgo is used.  The tests marked
increase the PGO task time significantly and likely don't help improve
optimization of the final executable.

..

.. bpo: 36044
.. date: 2019-07-11-01-28-24
.. nonce: gIgfiJ
.. section: Build

Reduce the number of unit tests run for the PGO generation task.  This
speeds up the task by a factor of about 15x.  Running the full unit test
suite is slow.  This change may result in a slightly less optimized build
since not as many code branches will be executed.  If you are willing to
wait for the much slower build, the old behavior can be restored using
'./configure [..] PROFILE_TASK="-m test --pgo-extended"'.  We make no
guarantees as to which PGO task set produces a faster build.  Users who care
should run their own relevant benchmarks as results can depend on the
environment, workload, and compiler tool chain.

..

.. bpo: 37468
.. date: 2019-07-01-14-39-40
.. nonce: trbQ-_
.. section: Build

``make install`` no longer installs ``wininst-*.exe`` files used by
distutils bdist_wininst: bdist_wininst only works on Windows.

..

.. bpo: 37189
.. date: 2019-06-17-09-40-59
.. nonce: j5ebdT
.. section: Build

Many ``PyRun_XXX()`` functions like :c:func:`PyRun_String` were no longer
exported in ``libpython38.dll`` by mistake. Export them again to fix the ABI
compatibility.

..

.. bpo: 25361
.. date: 2019-03-19-22-07-37
.. nonce: XO9Bfr
.. section: Build

Enables use of SSE2 instructions in Windows 32-bit build.

..

.. bpo: 36210
.. date: 2019-03-06-18-55-10
.. nonce: fup9H2
.. section: Build

Update optional extension module detection for AIX. ossaudiodev and spwd are
not applicable for AIX, and are no longer reported as missing. 3rd-party
packaging of ncurses (with ASIS support) conflicts with officially supported
AIX curses library, so configure AIX to use libcurses.a. However, skip
trying to build _curses_panel.

patch by M Felt

..

.. bpo: 38589
.. date: 2019-10-28-10-48-16
.. nonce: V69Q1a
.. section: Windows

Fixes HTML Help shortcut when Windows is not installed to C drive

..

.. bpo: 38453
.. date: 2019-10-28-10-32-43
.. nonce: NwwatW
.. section: Windows

Ensure ntpath.realpath() correctly resolves relative paths.

..

.. bpo: 38519
.. date: 2019-10-28-05-01-29
.. nonce: dCkY66
.. section: Windows

Restores the internal C headers that were missing from the nuget.org and
Microsoft Store packages.

..

.. bpo: 38492
.. date: 2019-10-16-09-49-09
.. nonce: Te1LxC
.. section: Windows

Remove ``pythonw.exe`` dependency on the Microsoft C++ runtime.

..

.. bpo: 38344
.. date: 2019-10-05-05-50-58
.. nonce: scr2LO
.. section: Windows

Fix error message in activate.bat

..

.. bpo: 38359
.. date: 2019-10-03-08-04-14
.. nonce: wzwsl_
.. section: Windows

Ensures ``pyw.exe`` launcher reads correct registry key.

..

.. bpo: 38355
.. date: 2019-10-02-15-38-49
.. nonce: n3AWX6
.. section: Windows

Fixes ``ntpath.realpath`` failing on ``sys.executable``.

..

.. bpo: 38117
.. date: 2019-09-16-14-07-11
.. nonce: hJVf0C
.. section: Windows

Update bundled OpenSSL to 1.1.1d

..

.. bpo: 38092
.. date: 2019-09-13-14-11-42
.. nonce: x31ehI
.. section: Windows

Reduce overhead when using multiprocessing in a Windows virtual environment.

..

.. bpo: 38133
.. date: 2019-09-12-12-05-55
.. nonce: yFeRGS
.. section: Windows

Allow py.exe launcher to locate installations from the Microsoft Store and
improve display of active virtual environments.

..

.. bpo: 38114
.. date: 2019-09-11-15-24-04
.. nonce: cc0E5E
.. section: Windows

The ``pip.ini`` is no longer included in the Nuget package.

..

.. bpo: 32592
.. date: 2019-09-11-14-51-56
.. nonce: jvQMD9
.. section: Windows

Set Windows 8 as the minimum required version for API support

..

.. bpo: 36634
.. date: 2019-09-11-14-42-04
.. nonce: 8Un8ih
.. section: Windows

:func:`os.cpu_count` now returns active processors rather than maximum
processors.

..

.. bpo: 36634
.. date: 2019-09-11-12-34-31
.. nonce: xLaGgb
.. section: Windows

venv activate.bat now works when the existing variables contain double quote
characters.

..

.. bpo: 38081
.. date: 2019-09-11-10-22-01
.. nonce: 8JhzjD
.. section: Windows

Prevent error calling :func:`os.path.realpath` on ``'NUL'``.

..

.. bpo: 38087
.. date: 2019-09-10-14-21-40
.. nonce: --eIib
.. section: Windows

Fix case sensitivity in test_pathlib and test_ntpath.

..

.. bpo: 38088
.. date: 2019-09-10-14-17-25
.. nonce: FOvWSM
.. section: Windows

Fixes distutils not finding vcruntime140.dll with only the v142 toolset
installed.

..

.. bpo: 37283
.. date: 2019-09-09-12-22-23
.. nonce: 8NvOkU
.. section: Windows

Ensure command-line and unattend.xml setting override previously detected
states in Windows installer.

..

.. bpo: 38030
.. date: 2019-09-04-14-01-08
.. nonce: _USdtk
.. section: Windows

Fixes :func:`os.stat` failing for block devices on Windows

..

.. bpo: 38020
.. date: 2019-09-03-11-47-37
.. nonce: xFZ2j0
.. section: Windows

Fixes potential crash when calling :func:`os.readlink` (or indirectly
through :func:`~os.path.realpath`) on a file that is not a supported link.

..

.. bpo: 37705
.. date: 2019-08-30-15-15-22
.. nonce: 2o4NWW
.. section: Windows

Improve the implementation of ``winerror_to_errno()``.

..

.. bpo: 37549
.. date: 2019-08-22-09-04-44
.. nonce: TpKI3M
.. section: Windows

:func:`os.dup` no longer fails for standard streams on Windows 7.

..

.. bpo: 1311
.. date: 2019-08-21-12-58-18
.. nonce: BoW1wU
.. section: Windows

The ``nul`` file on Windows now returns True from :func:`~os.path.exists`
and a valid result from :func:`os.stat` with ``S_IFCHR`` set.

..

.. bpo: 9949
.. date: 2019-08-14-13-40-15
.. nonce: zW45Ks
.. section: Windows

Enable support for following symlinks in :func:`os.realpath`.

..

.. bpo: 37834
.. date: 2019-08-12-12-00-24
.. nonce: VB2QVj
.. section: Windows

Treat all name surrogate reparse points on Windows in :func:`os.lstat` and
other reparse points as regular files in :func:`os.stat`.

..

.. bpo: 36266
.. date: 2019-08-08-18-05-27
.. nonce: x4eZU3
.. section: Windows

Add the module name in the formatted error message when DLL load fail
happens during module import in ``_PyImport_FindSharedFuncptrWindows()``.
Patch by Srinivas Nyayapati.

..

.. bpo: 25172
.. date: 2019-08-06-18-09-18
.. nonce: Akreij
.. section: Windows

Trying to import the :mod:`crypt` module on Windows will result in an
:exc:`ImportError` with a message explaining that the module isn't supported
on Windows. On other platforms, if the underlying ``_crypt`` module is not
available, the ImportError will include a message explaining the problem.

..

.. bpo: 37778
.. date: 2019-08-06-13-54-12
.. nonce: AY1XhH
.. section: Windows

Fixes the icons used for file associations to the Microsoft Store package.

..

.. bpo: 37734
.. date: 2019-08-06-09-35-12
.. nonce: EoJ9Nh
.. section: Windows

Fix use of registry values to launch Python from Microsoft Store app.

..

.. bpo: 37702
.. date: 2019-07-29-16-49-31
.. nonce: Lj2f5e
.. section: Windows

Fix memory leak on Windows in creating an SSLContext object or running
urllib.request.urlopen('https://...').

..

.. bpo: 37672
.. date: 2019-07-24-14-36-28
.. nonce: uKEVHN
.. section: Windows

Switch Windows Store package's pip to use bundled :file:`pip.ini` instead of
:envvar:`PIP_USER` variable.

..

.. bpo: 10945
.. date: 2019-07-01-12-38-48
.. nonce: s0YBHG
.. section: Windows

Officially drop support for creating bdist_wininst installers on non-Windows
systems.

..

.. bpo: 37445
.. date: 2019-06-28-18-10-29
.. nonce: LsdYO6
.. section: Windows

Include the ``FORMAT_MESSAGE_IGNORE_INSERTS`` flag in ``FormatMessageW()``
calls.

..

.. bpo: 37369
.. date: 2019-06-28-09-44-08
.. nonce: 1iVpxq
.. section: Windows

Fixes path for :data:`sys.executable` when running from the Microsoft Store.

..

.. bpo: 37380
.. date: 2019-06-25-04-15-22
.. nonce: tPxjuz
.. section: Windows

Don't collect unfinished processes with ``subprocess._active`` on Windows to
cleanup later. Patch by Ruslan Kuprieiev.

..

.. bpo: 37351
.. date: 2019-06-20-12-50-32
.. nonce: asTnVW
.. section: Windows

Removes libpython38.a from standard Windows distribution.

..

.. bpo: 35360
.. date: 2019-06-18-09-05-08
.. nonce: tdqSmo
.. section: Windows

Update Windows builds to use SQLite 3.28.0.

..

.. 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: 32587
.. date: 2019-05-10-15-25-44
.. nonce: -0g2O3
.. section: Windows

Make :data:`winreg.REG_MULTI_SZ` support zero-length strings.

..

.. bpo: 28269
.. date: 2019-05-05-05-23-34
.. nonce: -MOHI7
.. section: Windows

Replace use of :c:func:`strcasecmp` for the system function
:c:func:`_stricmp`. Patch by Minmin Gong.

..

.. bpo: 36590
.. date: 2019-04-10-21-13-26
.. nonce: ZTaKcu
.. section: Windows

Add native Bluetooth RFCOMM support to socket module.

..

.. bpo: 38117
.. date: 2019-09-15-21-29-13
.. nonce: ZLsoAZ
.. section: macOS

Updated OpenSSL to 1.1.1d in macOS installer.

..

.. bpo: 38089
.. date: 2019-09-10-14-24-35
.. nonce: eedgyD
.. section: macOS

Move Azure Pipelines to latest VM versions and make macOS tests optional

..

.. bpo: 18049
.. date: 2019-07-13-15-58-18
.. nonce: MklhQQ
.. section: macOS

Increase the default stack size of threads from 5MB to 16MB on macOS, to
match the stack size of the main thread. This avoids crashes on deep
recursion in threads.

..

.. bpo: 34602
.. date: 2019-07-02-01-06-47
.. nonce: 10d4wl
.. section: macOS

Avoid test suite failures on macOS by no longer calling resource.setrlimit
to increase the process stack size limit at runtime.  The runtime change is
no longer needed since the interpreter is being built with a larger default
stack size.

..

.. 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: 26353
.. date: 2019-11-09-23-55-59
.. nonce: duYZiF
.. section: IDLE

Stop adding newline when saving an IDLE shell window.

..

.. bpo: 4630
.. date: 2019-10-28-04-48-03
.. nonce: upgjiV
.. section: IDLE

Add an option to toggle IDLE's cursor blink for shell, editor, and output
windows.  See Settings, General, Window Preferences, Cursor Blink. Patch by
Zachary Spytz.

..

.. bpo: 38598
.. date: 2019-10-26-18-16-24
.. nonce: 6kH9FY
.. section: IDLE

Do not try to compile IDLE shell or output windows

..

.. bpo: 36698
.. date: 2019-10-04-18-03-09
.. nonce: BKcmom
.. section: IDLE

IDLE no longer fails when write non-encodable characters to stderr.  It now
escapes them with a backslash, as the regular Python interpreter. Added the
``errors`` field to the standard streams.

..

.. bpo: 35379
.. date: 2019-09-17-01-28-56
.. nonce: yAECDr
.. section: IDLE

When exiting IDLE, catch any AttributeError.  One happens when
EditorWindow.close is called twice.  Printing a traceback, when IDLE is run
from a terminal, is useless and annoying.

..

.. bpo: 38183
.. date: 2019-09-16-15-04-29
.. nonce: eudCN1
.. section: IDLE

To avoid problems, test_idle ignores the user config directory. It no longer
tries to create or access .idlerc or any files within. Users must run IDLE
to discover problems with saving settings.

..

.. bpo: 38077
.. date: 2019-09-09-22-08-36
.. nonce: Mzpfe2
.. section: IDLE

IDLE no longer adds 'argv' to the user namespace when initializing it.  This
bug only affected 3.7.4 and 3.8.0b2 to 3.8.0b4.

..

.. bpo: 38041
.. date: 2019-09-05-23-12-13
.. nonce: nxmGGK
.. section: IDLE

Shell restart lines now fill the window width, always start with '=', and
avoid wrapping unnecessarily. The line will still wrap if the included file
name is long relative to the width.

..

.. bpo: 35771
.. date: 2019-09-01-10-22-55
.. nonce: tdbmbP
.. section: IDLE

To avoid occasional spurious test_idle failures on slower machines, increase
the ``hover_delay`` in test_tooltip.

..

.. bpo: 37824
.. date: 2019-08-26-00-41-53
.. nonce: YY5jAI
.. section: IDLE

Properly handle user input warnings in IDLE shell. Cease turning
SyntaxWarnings into SyntaxErrors.

..

.. bpo: 37929
.. date: 2019-08-24-22-00-33
.. nonce: jb7523
.. section: IDLE

IDLE Settings dialog now closes properly when there is no shell window.

..

.. bpo: 37902
.. date: 2019-08-21-16-02-49
.. nonce: _R_adE
.. section: IDLE

Add mousewheel scrolling for IDLE module, path, and stack browsers. Patch by
George Zhang.

..

.. bpo: 37849
.. date: 2019-08-14-09-43-15
.. nonce: -bcYF3
.. section: IDLE

Fixed completions list appearing too high or low when shown above the
current line.

..

.. bpo: 36419
.. date: 2019-08-04-17-10-01
.. nonce: TJZqOc
.. section: IDLE

Refactor IDLE autocomplete and improve testing.

..

.. bpo: 37748
.. date: 2019-08-04-15-27-50
.. nonce: 0vf6pg
.. section: IDLE

Reorder the Run menu.  Put the most common choice, Run Module, at the top.

..

.. bpo: 37692
.. date: 2019-07-27-15-14-20
.. nonce: TRHGjD
.. section: IDLE

Improve highlight config sample with example shell interaction and better
labels for shell elements.

..

.. bpo: 37628
.. date: 2019-07-26-17-51-13
.. nonce: kX4AUF
.. section: IDLE

Settings dialog no longer expands with font size.

..

.. bpo: 37627
.. date: 2019-07-20-23-33-53
.. nonce: dQhUNB
.. section: IDLE

Initialize the Customize Run dialog with the command line arguments most
recently entered before.  The user can optionally edit before submitting
them.

..

.. bpo: 33610
.. date: 2019-07-18-10-11-36
.. nonce: xYqMLg
.. section: IDLE

Fix code context not showing the correct context when first toggled on.

..

.. bpo: 37530
.. date: 2019-07-11-00-05-31
.. nonce: AuyCyD
.. section: IDLE

Optimize code context to reduce unneeded background activity. Font and
highlight changes now occur along with text changes instead of after a
random delay.

..

.. bpo: 27452
.. date: 2019-07-03-22-47-44
.. nonce: nePPLi
.. section: IDLE

Cleanup ``config.py`` by inlining ``RemoveFile`` and simplifying the
handling of ``file`` in ``CreateConfigHandlers``.

..

.. bpo: 37325
.. date: 2019-06-18-16-40-05
.. nonce: GssOf1
.. section: IDLE

Fix tab focus traversal order for help source and custom run dialogs.

..

.. 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: 17535
.. date: 2019-06-13-01-07-20
.. nonce: K8i2St
.. section: IDLE

Add optional line numbers for IDLE editor windows.  Windows open without
line numbers unless set otherwise in the General tab of the configuration
dialog.

..

.. bpo: 26806
.. date: 2019-06-10-22-48-50
.. nonce: Zltkum
.. section: IDLE

To compensate for stack frames added by IDLE and avoid possible problems
with low recursion limits, add 30 to limits in the user code execution
process.  Subtract 30 when reporting recursion limits to make this addition
mostly transparent.

..

.. 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 momentarily 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: 36390
.. date: 2019-03-21-08-35-00
.. nonce: OdDCGk
.. section: IDLE

Gather Format menu functions into format.py.  Combine paragraph.py,
rstrip.py, and format methods from editor.py.

..

.. bpo: 38118
.. date: 2019-10-08-15-07-52
.. nonce: pIZD6H
.. section: Tools/Demos

Update Valgrind suppression file to ignore a false alarm in
:c:func:`PyUnicode_Decode` when using GCC builtin strcmp().

..

.. bpo: 38347
.. date: 2019-10-02-09-48-42
.. nonce: 2Tq5D1
.. section: Tools/Demos

pathfix.py: Assume all files that end on '.py' are Python scripts when
working recursively.

..

.. bpo: 37803
.. date: 2019-09-12-16-15-55
.. nonce: chEizy
.. section: Tools/Demos

pdb's ``--help`` and ``--version`` long options now work.

..

.. bpo: 37942
.. date: 2019-08-24-12-11-30
.. nonce: 7H8N9a
.. section: Tools/Demos

Improve ArgumentClinic converter for floats.

..

.. bpo: 37704
.. date: 2019-07-29-13-59-19
.. nonce: xxGUz_
.. section: Tools/Demos

Remove ``Tools/scripts/h2py.py``: use cffi to access a C API in Python.

..

.. bpo: 37675
.. date: 2019-07-24-16-20-54
.. nonce: 951Cvf
.. section: Tools/Demos

2to3 now works when run from a zipped standard library.

..

.. bpo: 37034
.. date: 2019-05-27-16-13-08
.. nonce: zbTgy8
.. section: Tools/Demos

Argument Clinic now uses the argument name on errors with keyword-only
argument instead of their position. Patch contributed by Rémi Lapeyre.

..

.. bpo: 37064
.. date: 2019-05-27-15-26-12
.. nonce: k_SPW2
.. section: Tools/Demos

Add option -k to pathscript.py script: preserve shebang flags. Add option -a
to pathscript.py script: add flags.

..

.. bpo: 37633
.. date: 2019-11-04-21-10-47
.. nonce: oOGVdo
.. section: C API

Re-export some function compatibility wrappers for macros in ``pythonrun.h``.

..

.. bpo: 38644
.. date: 2019-11-04-17-59-46
.. nonce: euO_RR
.. section: C API

Provide :c:func:`Py_EnterRecursiveCall` and :c:func:`Py_LeaveRecursiveCall`
as regular functions for the limited API. Previously, there were defined as
macros, but these macros didn't work with the limited API which cannot
access ``PyThreadState.recursion_depth`` field. Remove
``_Py_CheckRecursionLimit`` from the stable ABI.

..

.. bpo: 38650
.. date: 2019-10-30-22-03-03
.. nonce: 0pi8zt
.. section: C API

The global variable :c:data:`PyStructSequence_UnnamedField` is now a
constant and refers to a constant string.

..

.. bpo: 38540
.. date: 2019-10-21-09-24-03
.. nonce: 314N_T
.. section: C API

Fixed possible leak in :c:func:`PyArg_Parse` and similar functions for
format units ``"es#"`` and ``"et#"`` when the macro
:c:macro:`PY_SSIZE_T_CLEAN` is not defined.

..

.. bpo: 38395
.. date: 2019-10-08-01-23-24
.. nonce: MJ6Ey9
.. section: C API

Fix a crash in :class:`weakref.proxy` objects due to incorrect lifetime
management when calling some associated methods that may delete the last
reference to object being referenced by the proxy. Patch by Pablo Galindo.

..

.. bpo: 36389
.. date: 2019-10-07-17-15-09
.. nonce: hFX_jD
.. section: C API

The ``_PyObject_CheckConsistency()`` function is now also available in
release mode. For example, it can be used to debug a crash in the
``visit_decref()`` function of the GC.

..

.. bpo: 38266
.. date: 2019-10-03-12-53-53
.. nonce: 0FIC1q
.. section: C API

Revert the removal of PyThreadState_DeleteCurrent() with documentation.

..

.. bpo: 38303
.. date: 2019-09-30-16-53-30
.. nonce: YoIs0M
.. section: C API

Update audioop extension module to use the stable ABI (PEP-384). Patch by
Tyler Kieft.

..

.. bpo: 38234
.. date: 2019-09-24-17-09-48
.. nonce: d0bhEA
.. section: C API

:c:func:`Py_SetPath` now sets :data:`sys.executable` to the program full
path (:c:func:`Py_GetProgramFullPath`) rather than to the program name
(:c:func:`Py_GetProgramName`).

..

.. bpo: 38234
.. date: 2019-09-20-17-22-41
.. nonce: ZbquVK
.. section: C API

Python ignored arguments passed to :c:func:`Py_SetPath`,
:c:func:`Py_SetPythonHome` and :c:func:`Py_SetProgramName`: fix Python
initialization to use specified arguments.

..

.. bpo: 38205
.. date: 2019-09-19-18-26-29
.. nonce: Db1OJL
.. section: C API

The :c:func:`Py_UNREACHABLE` macro now calls :c:func:`Py_FatalError`.

..

.. bpo: 38140
.. date: 2019-09-13-01-24-47
.. nonce: y59qaO
.. section: C API

Make dict and weakref offsets opaque for C heap types by passing the offsets
through PyMemberDef

..

.. bpo: 15088
.. date: 2019-09-05-14-17-21
.. nonce: plt8Em
.. section: C API

The C function ``PyGen_NeedsFinalizing`` has been removed. It was not
documented, tested or used anywhere within CPython after the implementation
of :pep:`442`. Patch by Joannah Nanjekye. (Patch by Joannah Nanjekye)

..

.. bpo: 36763
.. date: 2019-08-23-18-45-11
.. nonce: q3Kh8Z
.. section: C API

Options added by ``PySys_AddXOption()`` are now handled the same way than
``PyConfig.xoptions`` and command line ``-X`` options.

..

.. bpo: 37926
.. date: 2019-08-23-11-35-55
.. nonce: hnI5IQ
.. section: C API

Fix a crash in ``PySys_SetArgvEx(0, NULL, 0)``.

..

.. bpo: 37879
.. date: 2019-08-17-13-50-21
.. nonce: CZeUem
.. section: C API

Fix subtype_dealloc to suppress the type decref when the base type is a C
heap type

..

.. bpo: 37645
.. date: 2019-07-21-21-08-47
.. nonce: 4DcUaI
.. section: C API

Add :c:func:`_PyObject_FunctionStr` to get a user-friendly string
representation of a function-like object. Patch by Jeroen Demeyer.

..

.. bpo: 29548
.. date: 2019-07-17-09-50-50
.. nonce: 5wIptQ
.. section: C API

The functions ``PyEval_CallObject``, ``PyEval_CallFunction``,
``PyEval_CallMethod`` and ``PyEval_CallObjectWithKeywords`` are deprecated.
Use :c:func:`PyObject_Call` and its variants instead.

..

.. bpo: 37151
.. date: 2019-07-16-11-02-00
.. nonce: YKfuNA
.. section: C API

``PyCFunction_Call`` is now a deprecated alias of :c:func:`PyObject_Call`.

..

.. bpo: 37540
.. date: 2019-07-10-12-27-28
.. nonce: E8Z773
.. section: C API

The vectorcall protocol now requires that the caller passes only strings as
keyword names.

..

.. bpo: 37207
.. date: 2019-07-07-10-37-07
.. nonce: SlVNky
.. section: C API

The vectorcall protocol is now enabled for ``type`` objects: set
``tp_vectorcall`` to a vectorcall function to be used instead of ``tp_new``
and ``tp_init`` when calling the class itself.

..

.. bpo: 21120
.. date: 2019-07-06-23-56-47
.. nonce: lXHqlT
.. section: C API

Exclude Python-ast.h, ast.h and asdl.h from the limited API.

..

.. bpo: 37483
.. date: 2019-07-02-15-42-37
.. nonce: vftT4f
.. section: C API

Add new function ``_PyObject_CallOneArg`` for calling an object with one
positional argument.

..

.. bpo: 36763
.. date: 2019-06-28-15-49-16
.. nonce: zrmgki
.. section: C API

Add :func:`PyConfig_SetWideStringList` function.

..

.. bpo: 37337
.. date: 2019-06-19-12-06-31
.. nonce: gXIGyU
.. section: C API

Add fast functions for calling methods:
:c:func:`_PyObject_VectorcallMethod`, :c:func:`_PyObject_CallMethodNoArgs`
and :c:func:`_PyObject_CallMethodOneArg`.

..

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

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

..

.. bpo: 37221
.. date: 2019-06-11-02-50-38
.. nonce: 4tClQT
.. section: C API

The new function :c:func:`PyCode_NewWithPosOnlyArgs` allows to create code
objects like :c:func:`PyCode_New`, but with an extra *posonlyargcount*
parameter for indicating the number of positonal-only arguments.

..

.. bpo: 37215
.. date: 2019-06-10-15-32-34
.. nonce: yzoNyU
.. section: C API

Fix dtrace issue introduce by bpo-36842

..

.. bpo: 37194
.. date: 2019-06-07-14-03-52
.. nonce: uck7MD
.. section: C API

Add a new public :c:func:`PyObject_CallNoArgs` function to the C API: call a
callable Python object without any arguments. It is the most efficient way
to call a callback without any argument. On x86-64, for example,
``PyObject_CallFunctionObjArgs(func, NULL)`` allocates 960 bytes on the
stack per call, whereas ``PyObject_CallNoArgs(func)`` only allocates 624
bytes per call.

..

.. 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: 35381
.. date: 2019-01-18-17-05-26
.. nonce: 9CbeW3
.. section: C API

Convert posixmodule.c statically allocated types ``DirEntryType`` and
``ScandirIteratorType`` to heap-allocated types.

..

.. bpo: 34331
.. date: 2018-08-04-00-59-44
.. nonce: iaUkmU
.. section: C API

Use singular/plural noun in error message when instantiating an abstract
class with non-overriden abstract method(s).
