diff --git a/Doc/whatsnew/3.8.rst b/Doc/whatsnew/3.8.rst index da97a728509..f060f4b3f7c 100644 --- a/Doc/whatsnew/3.8.rst +++ b/Doc/whatsnew/3.8.rst @@ -341,6 +341,15 @@ asyncio ------- On Windows, the default event loop is now :class:`~asyncio.ProactorEventLoop`. +(Contributed by Victor Stinner in :issue:`34687`.) + +:class:`~asyncio.ProactorEventLoop` now also supports UDP. +(Contributed by Adam Meily and Andrew Svetlov in :issue:`29883`.) + +:class:`~asyncio.ProactorEventLoop` can now be interrupted by +:exc:`KeyboardInterrupt` ("CTRL+C"). +(Contributed by Vladimir Matveev in :issue:`23057`.) + builtins -------- @@ -672,6 +681,7 @@ how "unraisable exceptions" are handled. It is called when an exception has occurred but there is no way for Python to handle it. For example, when a destructor raises an exception or during garbage collection (:func:`gc.collect`). +(Contributed by Victor Stinner in :issue:`36829`.) tarfile @@ -740,7 +750,7 @@ unicodedata unittest -------- -* XXX Added :class:`AsyncMock` to support an asynchronous version of :class:`Mock`. +* Added :class:`AsyncMock` to support an asynchronous version of :class:`Mock`. Appropriate new assert functions for testing have been added as well. (Contributed by Lisa Roach in :issue:`26467`). @@ -801,6 +811,8 @@ Optimizations are not set; * the *executable* path contains a directory. + (Contributed by Joannah Nanjekye and Victor Stinner in :issue:`35537`.) + * :func:`shutil.copyfile`, :func:`shutil.copy`, :func:`shutil.copy2`, :func:`shutil.copytree` and :func:`shutil.move` use platform-specific "fast-copy" syscalls on Linux and macOS in order to copy the file @@ -1006,10 +1018,12 @@ The following features and APIs have been removed from Python 3.8: * The function :func:`platform.popen` has been removed, it was deprecated since Python 3.3: use :func:`os.popen` instead. + (Contributed by Victor Stinner in :issue:`35345`.) * The function :func:`time.clock` has been removed, it was deprecated since Python 3.3: use :func:`time.perf_counter` or :func:`time.process_time` instead, depending on your requirements, to have a well defined behavior. + (Contributed by Matthias Bussonnier in :issue:`36895`.) * The ``pyvenv`` script has been removed in favor of ``python3.8 -m venv`` to help eliminate confusion as to what Python interpreter the ``pyvenv`` @@ -1100,12 +1114,14 @@ Changes in the Python API Emulation, Popen constructor using :func:`os.posix_spawn` no longer raise an exception on errors like missing program, but the child process fails with a non-zero :attr:`~Popen.returncode`. + (Contributed by Joannah Nanjekye and Victor Stinner in :issue:`35537`.) * The :meth:`imap.IMAP4.logout` method no longer ignores silently arbitrary exceptions. * The function :func:`platform.popen` has been removed, it was deprecated since Python 3.3: use :func:`os.popen` instead. + (Contributed by Victor Stinner in :issue:`35345`.) * The :func:`statistics.mode` function no longer raises an exception when given multimodal data. Instead, it returns the first mode @@ -1232,6 +1248,7 @@ Changes in the C API ``RTLD_LOCAL``, it was already not possible to load C extensions which were not linked to ``libpython``, like C extensions of the standard library built by the ``*shared*`` section of ``Modules/Setup``. + (Contributed by Victor Stinner in :issue:`21536`.) * Use of ``#`` variants of formats in parsing or building value (e.g. :c:func:`PyArg_ParseTuple`, :c:func:`Py_BuildValue`, :c:func:`PyObject_CallFunction`,