.. bpo: 36052
.. date: 2019-02-20-17-57-31
.. nonce: l8lJSi
.. release date: 2019-02-25
.. section: Core and Builtins

Raise a :exc:`SyntaxError` when assigning a value to `__debug__` with the
Assignment Operator. Contributed by Stéphane Wirtel and Pablo Galindo.

..

.. bpo: 36012
.. date: 2019-02-19-10-47-51
.. nonce: xq7C9E
.. section: Core and Builtins

Doubled the speed of class variable writes.  When a non-dunder attribute was
updated, there was an unnecessary call to update slots.

..

.. bpo: 35942
.. date: 2019-02-18-09-30-55
.. nonce: oLhL2v
.. section: Core and Builtins

The error message emitted when returning invalid types from ``__fspath__``
in interfaces that allow passing :class:`~os.PathLike` objects has been
improved and now it does explain the origin of the error.

..

.. bpo: 36016
.. date: 2019-02-17-20-23-54
.. nonce: 5Hns-f
.. section: Core and Builtins

``gc.get_objects`` can now receive an optional parameter indicating a
generation to get objects from. Patch by Pablo Galindo.

..

.. bpo: 1054041
.. date: 2019-02-16-00-42-32
.. nonce: BL-WLd
.. section: Core and Builtins

When the main interpreter exits due to an uncaught KeyboardInterrupt, the
process now exits in the appropriate manner for its parent process to detect
that a SIGINT or ^C terminated the process.  This allows shells and batch
scripts to understand that the user has asked them to stop.

..

.. bpo: 35992
.. date: 2019-02-14-12-01-44
.. nonce: nG9e2L
.. section: Core and Builtins

Fix ``__class_getitem__()`` not being called on a class with a custom
non-subscriptable metaclass.

..

.. bpo: 35993
.. date: 2019-02-14-09-17-54
.. nonce: Bvm3fP
.. section: Core and Builtins

Fix a crash on fork when using subinterpreters. Contributed by Stéphane
Wirtel

..

.. bpo: 35991
.. date: 2019-02-14-00-00-30
.. nonce: xlbfSk
.. section: Core and Builtins

Fix a potential double free in Modules/_randommodule.c.

..

.. bpo: 35961
.. date: 2019-02-12-20-16-34
.. nonce: 7f7Sne
.. section: Core and Builtins

Fix a crash in slice_richcompare(): use strong references rather than stolen
references for the two temporary internal tuples.

..

.. bpo: 35911
.. date: 2019-02-06-17-50-59
.. nonce: oiWE8
.. section: Core and Builtins

Enable the creation of cell objects by adding a ``cell.__new__`` method, and
expose the type ``cell`` in ``Lib/types.py`` under the name CellType. Patch
by Pierre Glaser.

..

.. bpo: 12822
.. date: 2019-02-05-12-48-23
.. nonce: 0x2NDx
.. section: Core and Builtins

Use monotonic clock for ``pthread_cond_timedwait`` when
``pthread_condattr_setclock`` and ``CLOCK_MONOTONIC`` are available.

..

.. bpo: 15248
.. date: 2019-02-04-21-10-17
.. nonce: 2sXSZZ
.. section: Core and Builtins

The compiler emits now syntax warnings in the case when a comma is likely
missed before tuple or list.

..

.. bpo: 35886
.. date: 2019-02-01-18-12-14
.. nonce: 0Z-C0V
.. section: Core and Builtins

The implementation of PyInterpreterState has been moved into the internal
header files (guarded by Py_BUILD_CORE).

..

.. bpo: 31506
.. date: 2019-01-22-02-06-39
.. nonce: eJ5FpV
.. section: Core and Builtins

Clarify the errors reported when ``object.__new__`` and ``object.__init__``
receive more than one argument. Contributed by Sanyam Khurana.

..

.. bpo: 35724
.. date: 2019-01-11-14-46-08
.. nonce: Wv79MG
.. section: Core and Builtins

Signal-handling is now guaranteed to happen relative to the main
interpreter.

..

.. bpo: 33608
.. date: 2018-09-15-12-13-46
.. nonce: avmvVP
.. section: Core and Builtins

We added a new internal _Py_AddPendingCall() that operates relative to the
provided interpreter.  This allows us to use the existing implementation to
ask another interpreter to do work that cannot be done in the current
interpreter, like decref an object the other interpreter owns.  The existing
Py_AddPendingCall() only operates relative to the main interpreter.

..

.. bpo: 33989
.. date: 2018-08-08-20-52-55
.. nonce: TkLBui
.. section: Core and Builtins

Fix a possible crash in :meth:`list.sort` when sorting objects with
``ob_type->tp_richcompare == NULL``.  Patch by Zackery Spytz.

..

.. bpo: 35512
.. date: 2019-02-24-00-04-10
.. nonce: eWDjCJ
.. section: Library

:func:`unittest.mock.patch.dict` used as a decorator with string target
resolves the target during function call instead of during decorator
construction. Patch by Karthikeyan Singaravelan.

..

.. bpo: 36018
.. date: 2019-02-21-15-47-00
.. nonce: qt7QUe
.. section: Library

Add statistics.NormalDist, a tool for creating and manipulating normal
distributions of random variable.  Features a composite class that treats
the mean and standard deviation of measurement data as single entity.

..

.. bpo: 35904
.. date: 2019-02-16-00-55-52
.. nonce: V88MCD
.. section: Library

Added statistics.fmean() as a faster, floating point variant of the existing
mean() function.

..

.. bpo: 35918
.. date: 2019-02-11-16-23-10
.. nonce: oGDlpT
.. section: Library

Removed broken ``has_key`` method from
multiprocessing.managers.SyncManager.dict. Contributed by Rémi Lapeyre.

..

.. bpo: 18283
.. date: 2019-02-11-09-24-08
.. nonce: BT3Jhc
.. section: Library

Add support for bytes to :func:`shutil.which`.

..

.. bpo: 35960
.. date: 2019-02-10-20-57-12
.. nonce: bh-6Ja
.. section: Library

Fix :func:`dataclasses.field` throwing away empty mapping objects passed as
metadata.

..

.. bpo: 35500
.. date: 2019-02-10-00-00-13
.. nonce: 1HOMmo
.. section: Library

Write expected and actual call parameters on separate lines in
:meth:`unittest.mock.Mock.assert_called_with` assertion errors.  Contributed
by Susan Su.

..

.. bpo: 35931
.. date: 2019-02-07-16-22-50
.. nonce: _63i7B
.. section: Library

The :mod:`pdb` ``debug`` command now gracefully handles syntax errors.

..

.. bpo: 24209
.. date: 2019-02-06-01-40-55
.. nonce: awtwPD
.. section: Library

In http.server script, rely on getaddrinfo to bind to preferred address
based on the bind parameter. Now default bind or binding to a name may bind
to IPv6 or dual-stack, depending on the environment.

..

.. bpo: 35321
.. date: 2019-02-02-01-53-36
.. nonce: 1Y4DU4
.. section: Library

Set ``__spec__.origin`` of  ``_frozen_importlib`` to frozen so that it
matches the behavior of ``_frozen_importlib_external``.  Patch by Nina
Zakharenko.

..

.. bpo: 35378
.. date: 2019-01-21-02-15-20
.. nonce: 4oF03i
.. section: Library

Fix a reference issue inside :class:`multiprocessing.Pool` that caused the
pool to remain alive if it was deleted without being closed or terminated
explicitly. A new strong reference is added to the pool iterators to link
the lifetime of the pool to the lifetime of its iterators so the pool does
not get destroyed if a pool iterator is still alive.

..

.. bpo: 34294
.. date: 2019-01-14-11-53-10
.. nonce: 3JFdg2
.. section: Library

re module, fix wrong capturing groups in rare cases. :func:`re.search`,
:func:`re.findall`, :func:`re.sub` and other functions that scan through
string looking for a match, should reset capturing groups between two match
attempts. Patch by Ma Lin.

..

.. bpo: 35615
.. date: 2018-12-30-20-00-05
.. nonce: Uz1SVh
.. section: Library

:mod:`weakref`: Fix a RuntimeError when copying a WeakKeyDictionary or a
WeakValueDictionary, due to some keys or values disappearing while
iterating.

..

.. bpo: 35606
.. date: 2018-12-29-21-59-03
.. nonce: NjGjou
.. section: Library

Implement :func:`math.prod` as analogous function to :func:`sum` that
returns the product of a 'start' value (default: 1) times an iterable of
numbers. Patch by Pablo Galindo.

..

.. bpo: 32417
.. date: 2018-12-04-13-35-36
.. nonce: _Y9SKM
.. section: Library

Performing arithmetic between :class:`datetime.datetime` subclasses and
:class:`datetime.timedelta` now returns an object of the same type as the
:class:`datetime.datetime` subclass. As a result,
:meth:`datetime.datetime.astimezone` and alternate constructors like
:meth:`datetime.datetime.now` and :meth:`datetime.fromtimestamp` called with
a ``tz`` argument now *also* retain their subclass.

..

.. bpo: 35153
.. date: 2018-11-03-12-38-03
.. nonce: 009pdF
.. section: Library

Add *headers* optional keyword-only parameter to
:class:`xmlrpc.client.ServerProxy`, :class:`xmlrpc.client.Transport` and
:class:`xmlrpc.client.SafeTransport`.  Patch by Cédric Krier.

..

.. bpo: 34572
.. date: 2018-09-05-03-02-32
.. nonce: ayisd2
.. section: Library

Fix C implementation of pickle.loads to use importlib's locking mechanisms,
and thereby avoid using partially loaded modules. Patch by Tim Burgess.

..

.. bpo: 36083
.. date: 2019-02-24-12-40-13
.. nonce: JX7zbv
.. section: Documentation

Fix formatting of --check-hash-based-pycs options in the manpage Synopsis.

..

.. bpo: 36007
.. date: 2019-02-15-15-33-41
.. nonce: OTFrza
.. section: Documentation

Bump minimum sphinx version to 1.8.  Patch by Anthony Sottile.

..

.. bpo: 22062
.. date: 2018-07-28-12-41-01
.. nonce: TaN2hn
.. section: Documentation

Update documentation and docstrings for pathlib. Original patch by Mike
Short.

..

.. bpo: 27313
.. date: 2019-02-24-01-58-38
.. nonce: Sj9veH
.. section: Tests

Avoid test_ttk_guionly ComboboxTest failure with macOS Cocoa Tk.

..

.. bpo: 36019
.. date: 2019-02-21-14-23-51
.. nonce: zS_OUi
.. section: Tests

Add test.support.TEST_HTTP_URL and replace references of
http://www.example.com by this new constant. Contributed by Stéphane Wirtel.

..

.. bpo: 36037
.. date: 2019-02-19-15-21-14
.. nonce: 75wG9_
.. section: Tests

Fix test_ssl for strict OpenSSL configuration like RHEL8 strict crypto
policy. Use older TLS version for minimum TLS version of the server SSL
context if needed, to test TLS version older than default minimum TLS
version.

..

.. bpo: 35798
.. date: 2019-02-16-15-19-31
.. nonce: JF16MP
.. section: Tests

Added :func:`test.support.check_syntax_warning`.

..

.. bpo: 35505
.. date: 2019-02-12-01-33-08
.. nonce: N9ba_K
.. section: Tests

Make test_imap4_host_default_value independent on whether the local IMAP
server is running.

..

.. bpo: 35917
.. date: 2019-02-06-18-06-16
.. nonce: -Clv1L
.. section: Tests

multiprocessing: provide unit tests for SyncManager and SharedMemoryManager
classes + all the shareable types which are supposed to be supported by
them.  (patch by Giampaolo Rodola)

..

.. bpo: 35704
.. date: 2019-01-10-09-14-58
.. nonce: FLglYo
.. section: Tests

Skip ``test_shutil.test_unpack_archive_xztar`` to prevent a MemoryError on
32-bit AIX when MAXDATA setting is less than 0x20000000.

Patch by Michael Felt (aixtools)

..

.. bpo: 34720
.. date: 2018-12-26-12-31-16
.. nonce: T268vz
.. section: Tests

Assert m_state != NULL to mimic GC traversal functions that do not correctly
handle module creation when the module state has not been created.

..

.. bpo: 35976
.. date: 2019-02-11-20-07-43
.. nonce: toap7O
.. section: Windows

Added ARM build support to Windows build files in PCBuild.

..

.. bpo: 35692
.. date: 2019-02-02-16-23-57
.. nonce: cIiiE9
.. section: Windows

``pathlib`` no longer raises when checking file and directory existence on
drives that are not ready

..

.. bpo: 35872
.. date: 2019-02-02-15-57-19
.. nonce: Bba2n7
.. section: Windows

Uses the base Python executable when invoking venv in a virtual environment

..

.. bpo: 35873
.. date: 2019-02-02-15-56-50
.. nonce: UW-qS9
.. section: Windows

Prevents venv paths being inherited by child processes

..

.. bpo: 35299
.. date: 2019-02-02-14-47-12
.. nonce: 1rgEzd
.. section: Windows

Fix sysconfig detection of the source directory and distutils handling of
pyconfig.h during PGO profiling

..

.. bpo: 24310
.. date: 2019-02-23-22-31-20
.. nonce: j_vJQl
.. section: IDLE

IDLE -- Document settings dialog font tab sample.

..

.. bpo: 35833
.. date: 2019-02-08-22-14-24
.. nonce: XKFRvF
.. section: IDLE

Revise IDLE doc for control codes sent to Shell. Add a code example block.

..

.. bpo: 35689
.. date: 2019-01-08-17-51-44
.. nonce: LlaqR8
.. section: IDLE

Add docstrings and unittests for colorizer.py.
