.. 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.