.. bpo: 34812
.. date: 2018-11-23-15-00-23
.. nonce: 84VQnb
.. release date: 2018-12-11
.. section: Security

The :option:`-I` command line option (run Python in isolated mode) is now
also copied by the :mod:`multiprocessing` and :mod:`distutils` modules when
spawning child processes. Previously, only :option:`-E` and :option:`-s`
options (enabled by :option:`-I`) were copied.

..

.. bpo: 34791
.. date: 2018-09-24-18-49-25
.. nonce: 78GmIG
.. section: Security

The xml.sax and xml.dom.domreg no longer use environment variables to
override parser implementations when sys.flags.ignore_environment is set by
-E or -I arguments.

..

.. bpo: 35444
.. date: 2018-12-09-13-09-39
.. nonce: 9kYn4V
.. section: Core and Builtins

Fixed error handling in pickling methods when fail to look up builtin
"getattr".

..

.. bpo: 35436
.. date: 2018-12-07-02-38-01
.. nonce: 0VW7p9
.. section: Core and Builtins

Fix various issues with memory allocation error handling.  Patch by Zackery
Spytz.

..

.. bpo: 35357
.. date: 2018-12-03-21-20-24
.. nonce: rhhoiC
.. section: Core and Builtins

Internal attributes' names of unittest.mock._Call and
unittest.mock.MagicProxy (name, parent & from_kall) are now prefixed with
_mock_ in order to prevent clashes with widely used object attributes. Fixed
minor typo in test function name.

..

.. bpo: 35372
.. date: 2018-12-01-19-20-53
.. nonce: RwVJjZ
.. section: Core and Builtins

Fixed the code page decoder for input longer than 2 GiB containing
undecodable bytes.

..

.. bpo: 35336
.. date: 2018-11-29-23-59-52
.. nonce: 8LOz4F
.. section: Core and Builtins

Fix PYTHONCOERCECLOCALE=1 environment variable: only coerce the C locale if
the LC_CTYPE locale is "C".

..

.. bpo: 33954
.. date: 2018-11-20-22-33-38
.. nonce: RzSngM
.. section: Core and Builtins

For :meth:`str.format`, :meth:`float.__format__` and
:meth:`complex.__format__` methods for non-ASCII decimal point when using
the "n" formatter.

..

.. bpo: 35269
.. date: 2018-11-17-10-18-29
.. nonce: gjm1LO
.. section: Core and Builtins

Fix a possible segfault involving a newly-created coroutine.  Patch by
Zackery Spytz.

..

.. bpo: 35214
.. date: 2018-11-13-00-40-35
.. nonce: OQBjph
.. section: Core and Builtins

Fixed an out of bounds memory access when parsing a truncated unicode escape
sequence at the end of a string such as ``'\N'``.  It would read one byte
beyond the end of the memory allocation.

..

.. bpo: 35214
.. date: 2018-11-12-11-38-06
.. nonce: PCHKbX
.. section: Core and Builtins

The interpreter and extension modules have had annotations added so that
they work properly under clang's Memory Sanitizer.  A new configure flag
--with-memory-sanitizer has been added to make test builds of this nature
easier to perform.

..

.. bpo: 35193
.. date: 2018-11-08-15-00-58
.. nonce: HzPS6R
.. section: Core and Builtins

Fix an off by one error in the bytecode peephole optimizer where it could
read bytes beyond the end of bounds of an array when removing unreachable
code. This bug was present in every release of Python 3.6 and 3.7 until now.

..

.. bpo: 29341
.. date: 2018-10-25-20-53-32
.. nonce: jH-AMF
.. section: Core and Builtins

Clarify in the docstrings of :mod:`os` methods that path-like objects are
also accepted as input parameters.

..

.. bpo: 35050
.. date: 2018-10-23-15-03-53
.. nonce: 49wraS
.. section: Core and Builtins

:mod:`socket`: Fix off-by-one bug in length check for ``AF_ALG`` name and
type.

..

.. bpo: 34974
.. date: 2018-10-13-22-24-19
.. nonce: 7LgTc2
.. section: Core and Builtins

:class:`bytes` and :class:`bytearray` constructors no longer convert
unexpected exceptions (e.g. :exc:`MemoryError` and :exc:`KeyboardInterrupt`)
to :exc:`TypeError`.

..

.. bpo: 34973
.. date: 2018-10-13-16-42-03
.. nonce: B5M-3g
.. section: Core and Builtins

Fixed crash in :func:`bytes` when the :class:`list` argument is mutated
while it is iterated.

..

.. bpo: 34824
.. date: 2018-09-27-11-10-02
.. nonce: VLlCaU
.. section: Core and Builtins

Fix a possible null pointer dereference in Modules/_ssl.c. Patch by Zackery
Spytz.

..

.. bpo: 1621
.. date: 2018-09-11-15-19-37
.. nonce: 7o19yG
.. section: Core and Builtins

Do not assume signed integer overflow behavior (C undefined behavior) when
performing set hash table resizing.

..

.. bpo: 35052
.. date: 2018-12-10-09-48-27
.. nonce: xE1ymg
.. section: Library

Fix xml.dom.minidom cloneNode() on a document with an entity: pass the
correct arguments to the user data handler of an entity.

..

.. bpo: 35330
.. date: 2018-12-06-00-43-13
.. nonce: abB4BN
.. section: Library

When a :class:`Mock` instance was used to wrap an object, if `side_effect`
is used in one of the mocks of it methods, don't call the original
implementation and return the result of using the side effect the same way
that it is done with return_value.

..

.. bpo: 34172
.. date: 2018-12-06-00-29-28
.. nonce: l7CIYt
.. section: Library

Revert the fix for this issue previously released in 3.7.1 pending further
investigation: Fix a reference issue inside multiprocessing.Pool that caused
the pool to remain alive if it was deleted without being closed or
terminated explicitly.

..

.. bpo: 10496
.. date: 2018-12-05-13-37-39
.. nonce: VH-1Lp
.. section: Library

:func:`posixpath.expanduser` now returns the input *path* unchanged if the
``HOME`` environment variable is not set and the current user has no home
directory (if the current user identifier doesn't exist in the password
database). This change fix the :mod:`site` module if the current user
doesn't exist in the password database (if the user has no home directory).

..

.. bpo: 35310
.. date: 2018-12-03-19-45-00
.. nonce: 9k28gR
.. section: Library

Fix a bug in :func:`select.select` where, in some cases, the file descriptor
sequences were returned unmodified after a signal interruption, even though
the file descriptors might not be ready yet.  :func:`select.select` will now
always return empty lists if a timeout has occurred.  Patch by Oran Avraham.

..

.. bpo: 35380
.. date: 2018-12-03-14-41-11
.. nonce: SdRF9l
.. section: Library

Enable TCP_NODELAY on Windows for proactor asyncio event loop.

..

.. bpo: 35341
.. date: 2018-12-02-13-50-52
.. nonce: 32E8T_
.. section: Library

Add generic version of ``collections.OrderedDict`` to the ``typing`` module.
Patch by Ismo Toijala.

..

.. bpo: 35371
.. date: 2018-12-01-13-44-12
.. nonce: fTAwlX
.. section: Library

Fixed possible crash in ``os.utime()`` on Windows when pass incorrect
arguments.

..

.. bpo: 27903
.. date: 2018-11-29-12-14-04
.. nonce: ia8xgT
.. section: Library

Fix ``ResourceWarning`` in :func:`platform.dist` on SuSE and Caldera
OpenLinux. Patch by Ville Skyttä.

..

.. bpo: 35308
.. date: 2018-11-24-10-33-42
.. nonce: 9--2iy
.. section: Library

Fix regression in ``webbrowser`` where default browsers may be preferred
over browsers in the ``BROWSER`` environment variable.

..

.. bpo: 28604
.. date: 2018-11-20-13-34-01
.. nonce: iiih5h
.. section: Library

:func:`locale.localeconv` now sets temporarily the ``LC_CTYPE`` locale to
the ``LC_MONETARY`` locale if the two locales are different and monetary
strings are non-ASCII. This temporary change affects other threads.

..

.. bpo: 35277
.. date: 2018-11-19-07-22-04
.. nonce: dsD-2E
.. section: Library

Update ensurepip to install pip 18.1 and setuptools 40.6.2.

..

.. bpo: 35226
.. date: 2018-11-15-07-14-32
.. nonce: wJPEEe
.. section: Library

Recursively check arguments when testing for equality of
:class:`unittest.mock.call` objects and add note that tracking of parameters
used to create ancestors of mocks in ``mock_calls`` is not possible.

..

.. bpo: 29564
.. date: 2018-11-12-17-40-04
.. nonce: SFNBT5
.. section: Library

The warnings module now suggests to enable tracemalloc if the source is
specified, the tracemalloc module is available, but tracemalloc is not
tracing memory allocations.

..

.. bpo: 35189
.. date: 2018-11-09-13-35-36
.. nonce: gog-sl
.. section: Library

Modify the following fnctl function to retry if interrupted by a signal
(EINTR): flock, lockf, fnctl

..

.. bpo: 35062
.. date: 2018-10-29-23-09-24
.. nonce: dQS1ng
.. section: Library

Fix incorrect parsing of :class:`_io.IncrementalNewlineDecoder`'s
*translate* argument.

..

.. bpo: 35079
.. date: 2018-10-26-22-53-16
.. nonce: Tm5jvF
.. section: Library

Improve difflib.SequenceManager.get_matching_blocks doc by adding
'non-overlapping' and changing '!=' to '<'.

..

.. bpo: 35017
.. date: 2018-10-26-00-11-21
.. nonce: 6Ez4Cv
.. section: Library

:meth:`socketserver.BaseServer.serve_forever` now exits immediately if it's
:meth:`~socketserver.BaseServer.shutdown` method is called while it is
polling for new events.

..

.. bpo: 31047
.. date: 2018-10-25-09-37-03
.. nonce: kBbX8r
.. section: Library

Fix ``ntpath.abspath`` regression where it didn't remove a trailing
separator on Windows. Patch by Tim Graham.

..

.. bpo: 34794
.. date: 2018-10-21-14-53-19
.. nonce: yt3R4-
.. section: Library

Fixed a leak in Tkinter when pass the Python wrapper around Tcl_Obj back to
Tcl/Tk.

..

.. bpo: 35008
.. date: 2018-10-17-11-54-04
.. nonce: dotef_
.. section: Library

Fixed references leaks when call the ``__setstate__()`` method of
:class:`xml.etree.ElementTree.Element` in the C implementation for already
initialized element.

..

.. bpo: 23420
.. date: 2018-10-17-11-00-00
.. nonce: Lq74Uu
.. section: Library

Verify the value for the parameter '-s' of the cProfile CLI. Patch by Robert
Kuska

..

.. bpo: 33947
.. date: 2018-10-17-02-15-23
.. nonce: SRuq3T
.. section: Library

dataclasses now handle recursive reprs without raising RecursionError.

..

.. bpo: 16965
.. date: 2018-10-12-20-30-42
.. nonce: xo5LAr
.. section: Library

The :term:`2to3` :2to3fixer:`execfile` fixer now opens the file with mode
``'rb'``.  Patch by Zackery Spytz.

..

.. bpo: 34966
.. date: 2018-10-12-18-57-52
.. nonce: WZeBHO
.. section: Library

:mod:`pydoc` now supports aliases not only to methods defined in the end
class, but also to inherited methods.  The docstring is not duplicated for
aliases.

..

.. bpo: 34941
.. date: 2018-10-09-14-42-16
.. nonce: 1Q5QKv
.. section: Library

Methods ``find()``, ``findtext()`` and ``findall()`` of the ``Element``
class in the :mod:`xml.etree.ElementTree` module are now able to find
children which are instances of ``Element`` subclasses.

..

.. bpo: 34936
.. date: 2018-10-08-21-05-11
.. nonce: 3tRqdq
.. section: Library

Fix ``TclError`` in ``tkinter.Spinbox.selection_element()``. Patch by
Juliette Monsel.

..

.. bpo: 34866
.. date: 2018-10-03-11-07-28
.. nonce: ML6KpJ
.. section: Library

Adding ``max_num_fields`` to ``cgi.FieldStorage`` to make DOS attacks harder
by limiting the number of ``MiniFieldStorage`` objects created by
``FieldStorage``.

..

.. bpo: 34022
.. date: 2018-09-27-13-14-15
.. nonce: E2cl0r
.. section: Library

The :envvar:`SOURCE_DATE_EPOCH` environment variable no longer overrides the
value of the *invalidation_mode* argument to :func:`py_compile.compile`, and
determines its default value instead.

..

.. bpo: 34738
.. date: 2018-09-19-16-51-04
.. nonce: Pr3-iG
.. section: Library

ZIP files created by :mod:`distutils` will now include entries for
directories.

..

.. bpo: 31177
.. date: 2018-09-14-10-38-18
.. nonce: Sv91TN
.. section: Library

Fix bug that prevented using :meth:`reset_mock
<unittest.mock.Mock.reset_mock>` on mock instances with deleted attributes

..

.. bpo: 34536
.. date: 2018-09-11-15-49-09
.. nonce: 3IPIH5
.. section: Library

`Enum._missing_`:  raise `ValueError` if None returned and `TypeError` if
non-member is returned.

..

.. bpo: 34604
.. date: 2018-09-07-10-16-34
.. nonce: xL7-kG
.. section: Library

Fix possible mojibake in the error message of `pwd.getpwnam` and
`grp.getgrnam` using string representation because of invisible characters
or trailing whitespaces. Patch by William Grzybowski.

..

.. bpo: 34574
.. date: 2018-09-04-09-32-54
.. nonce: X4RwYI
.. section: Library

OrderedDict iterators are not exhausted during pickling anymore. Patch by
Sergey Fedoseev.

..

.. bpo: 34052
.. date: 2018-07-24-16-37-40
.. nonce: VbbFAE
.. section: Library

:meth:`sqlite3.Connection.create_aggregate`,
:meth:`sqlite3.Connection.create_function`,
:meth:`sqlite3.Connection.set_authorizer`,
:meth:`sqlite3.Connection.set_progress_handler` methods raises TypeError
when unhashable objects are passed as callable. These methods now don't pass
such objects to SQLite API. Previous behavior could lead to segfaults. Patch
by Sergey Fedoseev.

..

.. bpo: 29877
.. date: 2017-12-16-11-40-52
.. nonce: SfWhmz
.. section: Library

compileall: import ProcessPoolExecutor only when needed, preventing hangs on
low resource platforms

..

.. bpo: 22005
.. date: 2017-10-12-22-39-55
.. nonce: lGP-sc
.. section: Library

Implemented unpickling instances of :class:`~datetime.datetime`,
:class:`~datetime.date` and :class:`~datetime.time` pickled by Python 2.
``encoding='latin1'`` should be used for successful decoding.

..

.. bpo: 35089
.. date: 2018-10-28-16-51-31
.. nonce: _stCpS
.. section: Documentation

Remove mention of ``typing.io`` and ``typing.re``. Their types should be
imported from ``typing`` directly.

..

.. bpo: 35038
.. date: 2018-10-25-17-45-09
.. nonce: 2eVOYS
.. section: Documentation

Fix the documentation about an unexisting `f_restricted` attribute in the
frame object. Patch by Stéphane Wirtel

..

.. bpo: 35044
.. date: 2018-10-22-14-09-58
.. nonce: qjvNtI
.. section: Documentation

Fix the documentation with the role ``exc`` for the appropriated exception.
Patch by Stéphane Wirtel

..

.. bpo: 35035
.. date: 2018-10-21-02-20-36
.. nonce: 4zBObK
.. section: Documentation

Rename documentation for :mod:`email.utils` to ``email.utils.rst``.

..

.. bpo: 34967
.. date: 2018-10-13-07-39-57
.. nonce: E40tFP
.. section: Documentation

Use app.add_object_type() instead of the deprecated Sphinx function
app.description_unit()

..

.. bpo: 11233
.. date: 2018-10-03-20-39-25
.. nonce: BX6Gen
.. section: Documentation

Create availability directive for documentation.  Original patch by Georg
Brandl.

..

.. bpo: 33594
.. date: 2018-05-21-14-36-12
.. nonce: -HRcyX
.. section: Documentation

Document ``getargspec``, ``from_function`` and ``from_builtin`` as
deprecated in their respective docstring, and include version since
deprecation in DeprecationWarning message.

..

.. bpo: 32613
.. date: 2018-02-05-15-05-53
.. nonce: TDjgM1
.. section: Documentation

Update the faq/windows.html to use the py command from PEP 397 instead of
python.

..

.. bpo: 33725
.. date: 2018-12-09-01-27-29
.. nonce: TaGayj
.. section: Tests

test_multiprocessing_fork may crash on recent versions of macOS.  Until the
issue is resolved, skip the test on macOS.

..

.. bpo: 35352
.. date: 2018-11-30-17-18-56
.. nonce: 8bD7GC
.. section: Tests

Modify test_asyncio to use the certificate set from the test directory.

..

.. bpo: 35317
.. date: 2018-11-26-16-54-21
.. nonce: jByGP2
.. section: Tests

Fix ``mktime()`` overflow error in ``test_email``: run
``test_localtime_daylight_true_dst_true()`` and
``test_localtime_daylight_false_dst_true()`` with a specific timezone.

..

.. bpo: 21263
.. date: 2018-11-04-20-17-09
.. nonce: T3qo9r
.. section: Tests

After several reports that test_gdb does not work properly on macOS and
since gdb is not shipped by default anymore, test_gdb is now skipped on
macOS when LLVM Clang has been used to compile Python. Patch by Lysandros
Nikolaou

..

.. bpo: 34279
.. date: 2018-10-27-13-41-55
.. nonce: v0Xqxe
.. section: Tests

regrtest issue a warning when no tests have been executed in a particular
test file. Also, a new final result state is issued if no test have been
executed across all test files. Patch by Pablo Galindo.

..

.. bpo: 35296
.. date: 2018-12-04-17-10-17
.. nonce: 2ktH40
.. section: Build

The Windows installer (MSI) now also install internal header files
(``Include/internal/`` subdirectory).

..

.. bpo: 35351
.. date: 2018-12-04-15-33-28
.. nonce: ZhhBfT
.. section: Build

When building Python with clang and LTO, LTO flags are no longer passed into
CFLAGS to build third-party C extensions through distutils.

..

.. bpo: 35139
.. date: 2018-11-01-15-01-23
.. nonce: XZTttb
.. section: Build

Fix a compiler error when statically linking `pyexpat` in `Modules/Setup`.

..

.. bpo: 35011
.. date: 2018-10-17-17-38-57
.. nonce: GgoPIC
.. section: Build

Restores the use of pyexpatns.h to isolate our embedded copy of the expat C
library so that its symbols do not conflict at link or dynamic loading time
with an embedding application or other extension modules with their own
version of libexpat.

..

.. bpo: 28015
.. date: 2018-10-16-12-22-36
.. nonce: ylSgFh
.. section: Build

Have --with-lto works correctly with clang.

..

.. bpo: 33015
.. date: 2018-08-24-09-48-25
.. nonce: s21y74
.. section: Build

Fix an undefined behaviour in the pthread implementation of
:c:func:`PyThread_start_new_thread`: add a function wrapper to always return
``NULL``.

..

.. bpo: 35401
.. date: 2018-12-10-15-01-13
.. nonce: 9L1onG
.. section: Windows

Updates Windows build to OpenSSL 1.1.0j

..

.. bpo: 34977
.. date: 2018-12-07-10-00-38
.. nonce: agQJbD
.. section: Windows

venv on Windows will now use a python.exe redirector rather than copying the
actual binaries from the base environment.

..

.. bpo: 34977
.. date: 2018-10-30-13-39-17
.. nonce: 0l7_QV
.. section: Windows

Adds support for building a Windows App Store package

..

.. bpo: 35067
.. date: 2018-10-25-11-29-22
.. nonce: RHWi7W
.. section: Windows

Remove _distutils_findvs module and use vswhere.exe instead.

..

.. bpo: 34532
.. date: 2018-09-03-01-23-52
.. nonce: N1HEbE
.. section: Windows

Fixes exit code of list version arguments for py.exe.

..

.. bpo: 32890
.. date: 2018-03-08-20-02-38
.. nonce: 3jzFzY
.. section: Windows

Fix usage of GetLastError() instead of errno in os.execve() and
os.truncate().

..

.. bpo: 35402
.. date: 2018-12-10-02-44-48
.. nonce: xzn8qJ
.. section: macOS

Update macOS installer to use Tcl/Tk 8.6.9.1.  [NOTE: This change was
reverted for the released python.org 3.7.2 macOS installers due to
regressions found in Tk 8.6.9.1.  For now, the installers provide
Tcl/Tk 8.6.8.]

..

.. bpo: 35401
.. date: 2018-12-09-13-56-49
.. nonce: n8B7X1
.. section: macOS

Update macOS installer to use OpenSSL 1.1.0j.

..

.. bpo: 35025
.. date: 2018-10-18-23-54-55
.. nonce: X4LFJg
.. section: macOS

Properly guard the use of the ``CLOCK_GETTIME`` et al. macros in
``timemodule`` on macOS.

..

.. bpo: 24658
.. date: 2018-10-17-14-36-08
.. nonce: Naddgx
.. section: macOS

On macOS, fix reading from and writing into a file with a size larger than 2
GiB.

..

.. bpo: 35213
.. date: 2018-11-12-00-20-01
.. nonce: cqNgzT
.. section: IDLE

Where appropriate, use 'macOS' in idlelib.

..

.. bpo: 34864
.. date: 2018-11-11-17-13-50
.. nonce: cw0PvO
.. section: IDLE

On macOS, warn if the system preference "Prefer tabs when opening documents"
is set to "Always".

..

.. bpo: 34864
.. date: 2018-11-10-21-27-25
.. nonce: Ci-G2q
.. section: IDLE

Document two IDLE on MacOS issues. The System Preferences Dock "prefer tabs
always" setting disables some IDLE features.  Menus are a bit different than
as described for Windows and Linux.

..

.. bpo: 35202
.. date: 2018-11-10-09-10-54
.. nonce: TeJJrt
.. section: IDLE

Remove unused imports from lib/idlelib

..

.. bpo: 33000
.. date: 2018-11-06-23-10-54
.. nonce: pQasCt
.. section: IDLE

Document that IDLE's shell has no line limit. A program that runs
indefinitely can overfill memory.

..

.. bpo: 23220
.. date: 2018-11-05-23-23-00
.. nonce: H3SAWE
.. section: IDLE

Explain how IDLE's Shell displays output.

..

.. bpo: 35099
.. date: 2018-11-05-20-43-08
.. nonce: SVOZXC
.. section: IDLE

Improve the doc about IDLE running user code.   The section is renamed from
"IDLE -- console differences" is renamed "Running user code". It mostly
covers the implications of using custom sys.stdxxx objects.

..

.. bpo: 35097
.. date: 2018-10-28-20-17-14
.. nonce: 07tm66
.. section: IDLE

Add IDLE doc subsection explaining editor windows. Topics include opening,
title and status bar, .py* extension, and running.

..

.. bpo: 35093
.. date: 2018-10-28-15-53-51
.. nonce: cH-tli
.. section: IDLE

Document the IDLE document viewer in the IDLE doc. Add a paragraph in "Help
and preferences", "Help sources" subsection.

..

.. bpo: 35088
.. date: 2018-10-28-00-54-32
.. nonce: r1lJZd
.. section: IDLE

Update idlelib.help.copy_string docstring. We now use git and backporting
instead of hg and forward merging.

..

.. bpo: 35087
.. date: 2018-10-28-00-08-42
.. nonce: G7gx2-
.. section: IDLE

Update idlelib help files for the current doc build. The main change is the
elimination of chapter-section numbers.

..

.. bpo: 34989
.. date: 2018-10-15-13-22-28
.. nonce: hU4fra
.. section: Tools/Demos

python-gdb.py now handles errors on computing the line number of a Python
frame.

..

.. bpo: 35322
.. date: 2018-11-28-03-20-36
.. nonce: Qcqsag
.. section: C API

Fix memory leak in :c:func:`PyUnicode_EncodeLocale` and
:c:func:`PyUnicode_EncodeFSDefault` on error handling.

..

.. bpo: 35296
.. date: 2018-11-22-18-34-23
.. nonce: nxrIQt
.. section: C API

``make install`` now also installs the internal API:
``Include/internal/*.h`` header files.

..

.. bpo: 34725
.. date: 2018-10-13-16-30-54
.. nonce: j52rIS
.. section: C API

Adds _Py_SetProgramFullPath so embedders may override sys.executable