diff options
Diffstat (limited to 'Misc/NEWS.d/3.7.0b1.rst')
-rw-r--r-- | Misc/NEWS.d/3.7.0b1.rst | 888 |
1 files changed, 888 insertions, 0 deletions
diff --git a/Misc/NEWS.d/3.7.0b1.rst b/Misc/NEWS.d/3.7.0b1.rst new file mode 100644 index 0000000..4f7bfee --- /dev/null +++ b/Misc/NEWS.d/3.7.0b1.rst @@ -0,0 +1,888 @@ +.. bpo: 32703 +.. date: 2018-01-29-01-15-17 +.. nonce: mwrF4- +.. release date: 2018-01-30 +.. section: Core and Builtins + +Fix coroutine's ResourceWarning when there's an active error set when it's +being finalized. + +.. + +.. bpo: 32650 +.. date: 2018-01-28-23-01-39 +.. nonce: Bbi7ek +.. section: Core and Builtins + +Pdb and other debuggers dependent on bdb.py will correctly step over (next +command) native coroutines. Patch by Pablo Galindo. + +.. + +.. bpo: 28685 +.. date: 2018-01-28-15-09-33 +.. nonce: cHThLM +.. section: Core and Builtins + +Optimize list.sort() and sorted() by using type specialized comparisons when +possible. + +.. + +.. bpo: 32685 +.. date: 2018-01-28-12-25-06 +.. nonce: nGctze +.. section: Core and Builtins + +Improve suggestion when the Python 2 form of print statement is either +present on the same line as the header of a compound statement or else +terminated by a semi-colon instead of a newline. Patch by Nitish Chandra. + +.. + +.. bpo: 32697 +.. date: 2018-01-28-09-52-12 +.. nonce: RHlu6k +.. section: Core and Builtins + +Python now explicitly preserves the definition order of keyword-only +parameters. It's always preserved their order, but this behavior was never +guaranteed before; this behavior is now guaranteed and tested. + +.. + +.. bpo: 32690 +.. date: 2018-01-28-09-26-07 +.. nonce: 8i9g5P +.. section: Core and Builtins + +The locals() dictionary now displays in the lexical order that variables +were defined. Previously, the order was reversed. + +.. + +.. bpo: 32677 +.. date: 2018-01-26-20-11-09 +.. nonce: xTGfCq +.. section: Core and Builtins + +Add ``.isascii()`` method to ``str``, ``bytes`` and ``bytearray``. It can be +used to test that string contains only ASCII characters. + +.. + +.. bpo: 32670 +.. date: 2018-01-25-17-03-46 +.. nonce: YsqJUC +.. section: Core and Builtins + +Enforce :pep:`479` for all code. + +This means that manually raising a StopIteration exception from a generator +is prohibited for all code, regardless of whether 'from __future__ import +generator_stop' was used or not. + +.. + +.. bpo: 32591 +.. date: 2018-01-20-00-50-33 +.. nonce: 666kl6 +.. section: Core and Builtins + +Added built-in support for tracking the origin of coroutine objects; see +sys.set_coroutine_origin_tracking_depth and CoroutineType.cr_origin. This +replaces the asyncio debug mode's use of coroutine wrapping for native +coroutine objects. + +.. + +.. bpo: 31368 +.. date: 2018-01-19-01-54-22 +.. nonce: kzKqUR +.. section: Core and Builtins + +Expose preadv and pwritev system calls in the os module. Patch by Pablo +Galindo + +.. + +.. bpo: 32544 +.. date: 2018-01-16-18-51-58 +.. nonce: ga-cFE +.. section: Core and Builtins + +``hasattr(obj, name)`` and ``getattr(obj, name, default)`` are about 4 times +faster than before when ``name`` is not found and ``obj`` doesn't override +``__getattr__`` or ``__getattribute__``. + +.. + +.. bpo: 26163 +.. date: 2018-01-14-20-32-47 +.. nonce: xv9Iuv +.. section: Core and Builtins + +Improved frozenset() hash to create more distinct hash values when faced +with datasets containing many similar values. + +.. + +.. bpo: 32550 +.. date: 2018-01-14-12-42-17 +.. nonce: k0EK-4 +.. section: Core and Builtins + +Remove the STORE_ANNOTATION bytecode. + +.. + +.. bpo: 20104 +.. date: 2018-01-06-01-14-53 +.. nonce: 9DkKb8 +.. section: Core and Builtins + +Expose posix_spawn as a low level API in the os module. + +.. + +.. bpo: 24340 +.. date: 2018-01-01-21-59-31 +.. nonce: hmKBvg +.. section: Core and Builtins + +Fixed estimation of the code stack size. + +.. + +.. bpo: 32436 +.. date: 2017-12-28-00-20-42 +.. nonce: H159Jv +.. section: Core and Builtins + +Implement :pep:`567` Context Variables. + +.. + +.. bpo: 18533 +.. date: 2017-12-13-16-46-23 +.. nonce: Dlk8d7 +.. section: Core and Builtins + +``repr()`` on a dict containing its own ``values()`` or ``items()`` no +longer raises ``RecursionError``; OrderedDict similarly. Instead, use +``...``, as for other recursive structures. Patch by Ben North. + +.. + +.. bpo: 20891 +.. date: 2017-12-04-18-34-11 +.. nonce: C2TsfR +.. section: Core and Builtins + +Py_Initialize() now creates the GIL. The GIL is no longer created "on +demand" to fix a race condition when PyGILState_Ensure() is called in a non- +Python thread. + +.. + +.. bpo: 32028 +.. date: 2017-12-03-22-29-13 +.. nonce: KC2w4Q +.. section: Core and Builtins + +Leading whitespace is now correctly ignored when generating suggestions for +converting Py2 print statements to Py3 builtin print function calls. Patch +by Sanyam Khurana. + +.. + +.. bpo: 31356 +.. date: 2017-11-02-00-34-42 +.. nonce: 54Lb8U +.. section: Core and Builtins + +Add a new contextmanager to the gc module that temporarily disables the GC +and restores the previous state. The implementation is done in C to assure +atomicity and speed. + +.. + +.. bpo: 31179 +.. date: 2017-08-10-17-32-48 +.. nonce: XcgLYI +.. section: Core and Builtins + +Make dict.copy() up to 5.5 times faster. + +.. + +.. bpo: 31113 +.. date: 2017-08-07-16-46-56 +.. nonce: XgNEFg +.. section: Core and Builtins + +Get rid of recursion in the compiler for normal control flow. + +.. + +.. bpo: 25988 +.. date: 2018-01-28-23-48-45 +.. nonce: I9uBct +.. section: Library + +Deprecate exposing the contents of collections.abc in the regular +collections module. + +.. + +.. bpo: 31429 +.. date: 2018-01-28-22-40-05 +.. nonce: qNt8rQ +.. section: Library + +The default cipher suite selection of the ssl module now uses a blacklist +approach rather than a hard-coded whitelist. Python no longer re-enables +ciphers that have been blocked by OpenSSL security update. Default cipher +suite selection can be configured on compile time. + +.. + +.. bpo: 30306 +.. date: 2018-01-28-14-10-51 +.. nonce: TmKMXi +.. section: Library + +contextlib.contextmanager now releases the arguments passed to the +underlying generator as soon as the context manager is entered. Previously +it would keep them alive for as long as the context manager was alive, even +when not being used as a function decorator. Patch by Martin Teichmann. + +.. + +.. bpo: 21417 +.. date: 2018-01-28-07-55-10 +.. nonce: JFnV99 +.. section: Library + +Added support for setting the compression level for zipfile.ZipFile. + +.. + +.. bpo: 32251 +.. date: 2018-01-28-01-21-47 +.. nonce: fOA5qB +.. section: Library + +Implement asyncio.BufferedProtocol (provisional API). + +.. + +.. bpo: 32513 +.. date: 2018-01-27-11-20-16 +.. nonce: ak-iD2 +.. section: Library + +In dataclasses, allow easier overriding of dunder methods without specifying +decorator parameters. + +.. + +.. bpo: 32660 +.. date: 2018-01-26-01-26-00 +.. nonce: tVJIWV +.. section: Library + +:mod:`termios` makes available ``FIONREAD``, ``FIONCLEX``, ``FIOCLEX``, +``FIOASYNC`` and ``FIONBIO`` also under Solaris/derivatives. + +.. + +.. bpo: 27931 +.. date: 2018-01-25-21-04-11 +.. nonce: e4r52t +.. section: Library + +Fix email address header parsing error when the username is an empty quoted +string. Patch by Xiang Zhang. + +.. + +.. bpo: 32659 +.. date: 2018-01-25-03-46-00 +.. nonce: VHYoON +.. section: Library + +Under Solaris and derivatives, :class:`os.stat_result` provides a st_fstype +attribute. + +.. + +.. bpo: 32662 +.. date: 2018-01-25-01-45-30 +.. nonce: oabhd8 +.. section: Library + +Implement Server.start_serving(), Server.serve_forever(), and +Server.is_serving() methods. Add 'start_serving' keyword parameter to +loop.create_server() and loop.create_unix_server(). + +.. + +.. bpo: 32391 +.. date: 2018-01-24-15-20-12 +.. nonce: 0f8MY9 +.. section: Library + +Implement :meth:`asyncio.StreamWriter.wait_closed` and +:meth:`asyncio.StreamWriter.is_closing` methods + +.. + +.. bpo: 32643 +.. date: 2018-01-24-00-32-58 +.. nonce: VWipsW +.. section: Library + +Make Task._step, Task._wakeup and Future._schedule_callbacks methods +private. + +.. + +.. bpo: 32630 +.. date: 2018-01-23-01-57-36 +.. nonce: 6KRHBs +.. section: Library + +Refactor decimal module to use contextvars to store decimal context. + +.. + +.. bpo: 32622 +.. date: 2018-01-22-18-18-44 +.. nonce: A1D6FP +.. section: Library + +Add :meth:`asyncio.AbstractEventLoop.sendfile` method. + +.. + +.. bpo: 32304 +.. date: 2018-01-21-16-33-53 +.. nonce: TItrNv +.. section: Library + +distutils' upload command no longer corrupts tar files ending with a CR +byte, and no longer tries to convert CR to CRLF in any of the upload text +fields. + +.. + +.. bpo: 32502 +.. date: 2018-01-20-17-15-34 +.. nonce: OXJfn7 +.. section: Library + +uuid.uuid1 no longer raises an exception if a 64-bit hardware address is +encountered. + +.. + +.. bpo: 32596 +.. date: 2018-01-19-19-57-45 +.. nonce: 4aVIie +.. section: Library + +``concurrent.futures`` imports ``ThreadPoolExecutor`` and +``ProcessPoolExecutor`` lazily (using :pep:`562`). It makes ``import +asyncio`` about 15% faster because asyncio uses only ``ThreadPoolExecutor`` +by default. + +.. + +.. bpo: 31801 +.. date: 2018-01-18-13-47-40 +.. nonce: 3UGH1h +.. section: Library + +Add ``_ignore_`` to ``Enum`` so temporary variables can be used during class +construction without being turned into members. + +.. + +.. bpo: 32576 +.. date: 2018-01-17-13-04-16 +.. nonce: iDL09t +.. section: Library + +Use queue.SimpleQueue() in places where it can be invoked from a weakref +callback. + +.. + +.. bpo: 32574 +.. date: 2018-01-16-20-37-28 +.. nonce: ru8eZ9 +.. section: Library + +Fix memory leak in asyncio.Queue, when the queue has limited size and it is +full, the cancelation of queue.put() can cause a memory leak. Patch by: José +Melero. + +.. + +.. bpo: 32521 +.. date: 2018-01-15-12-53-13 +.. nonce: IxX4Ba +.. section: Library + +The nis module is now compatible with new libnsl and headers location. + +.. + +.. bpo: 32467 +.. date: 2018-01-11-00-33-42 +.. nonce: YVEOv6 +.. section: Library + +collections.abc.ValuesView now inherits from collections.abc.Collection. + +.. + +.. bpo: 32473 +.. date: 2018-01-10-20-37-59 +.. nonce: mP_yJG +.. section: Library + +Improve ABCMeta._dump_registry() output readability + +.. + +.. bpo: 32102 +.. date: 2018-01-10-18-04-21 +.. nonce: 9-CZgD +.. section: Library + +New argument ``capture_output`` for subprocess.run + +.. + +.. bpo: 32521 +.. date: 2018-01-08-18-02-33 +.. nonce: Kh-KoN +.. section: Library + +glibc has removed Sun RPC. Use replacement libtirpc headers and library in +nis module. + +.. + +.. bpo: 32493 +.. date: 2018-01-08-15-53-37 +.. nonce: vTXxGN +.. section: Library + +UUID module fixes build for FreeBSD/OpenBSD + +.. + +.. bpo: 32503 +.. date: 2018-01-07-09-22-26 +.. nonce: ViMxpD +.. section: Library + +Pickling with protocol 4 no longer creates too small frames. + +.. + +.. bpo: 29237 +.. date: 2018-01-04-14-45-33 +.. nonce: zenYA6 +.. section: Library + +Create enum for pstats sorting options + +.. + +.. bpo: 32454 +.. date: 2017-12-30-10-38-05 +.. nonce: wsZnl- +.. section: Library + +Add close(fd) function to the socket module. + +.. + +.. bpo: 25942 +.. date: 2017-12-27-20-15-51 +.. nonce: Giyr8v +.. section: Library + +The subprocess module is now more graceful when handling a Ctrl-C +KeyboardInterrupt during subprocess.call, subprocess.run, or a Popen context +manager. It now waits a short amount of time for the child (presumed to +have also gotten the SIGINT) to exit, before continuing the +KeyboardInterrupt exception handling. This still includes a SIGKILL in the +call() and run() APIs, but at least the child had a chance first. + +.. + +.. bpo: 32433 +.. date: 2017-12-27-20-09-27 +.. nonce: vmxsVI +.. section: Library + +The hmac module now has hmac.digest(), which provides an optimized HMAC +digest. + +.. + +.. bpo: 28134 +.. date: 2017-12-24-20-01-09 +.. nonce: HJ8Beb +.. section: Library + +Sockets now auto-detect family, type and protocol from file descriptor by +default. + +.. + +.. bpo: 32404 +.. date: 2017-12-23-14-54-05 +.. nonce: yJqtlJ +.. section: Library + +Fix bug where :meth:`datetime.datetime.fromtimestamp` did not call __new__ +in :class:`datetime.datetime` subclasses. + +.. + +.. bpo: 32403 +.. date: 2017-12-23-14-51-46 +.. nonce: CVFapH +.. section: Library + +Improved speed of :class:`datetime.date` and :class:`datetime.datetime` +alternate constructors. + +.. + +.. bpo: 32228 +.. date: 2017-12-22-16-47-41 +.. nonce: waPx3q +.. section: Library + +Ensure that ``truncate()`` preserves the file position (as reported by +``tell()``) after writes longer than the buffer size. + +.. + +.. bpo: 32410 +.. date: 2017-12-22-16-05-01 +.. nonce: 8JzhvH +.. section: Library + +Implement ``loop.sock_sendfile`` for asyncio event loop. + +.. + +.. bpo: 22908 +.. date: 2017-12-21-22-00-11 +.. nonce: cVm89I +.. section: Library + +Added seek and tell to the ZipExtFile class. This only works if the file +object used to open the zipfile is seekable. + +.. + +.. bpo: 32373 +.. date: 2017-12-19-09-23-46 +.. nonce: 8qAkoW +.. section: Library + +Add socket.getblocking() method. + +.. + +.. bpo: 32248 +.. date: 2017-12-15-15-34-12 +.. nonce: zmO8G2 +.. section: Library + +Add :mod:`importlib.resources` and :class:`importlib.abc.ResourceReader` as +the unified API for reading resources contained within packages. Loaders +wishing to support resource reading must implement the +:meth:`get_resource_reader()` method. File-based and zipimport-based +loaders both implement these APIs. :class:`importlib.abc.ResourceLoader` is +deprecated in favor of these new APIs. + +.. + +.. bpo: 32320 +.. date: 2017-12-14-01-36-25 +.. nonce: jwOZlr +.. section: Library + +collections.namedtuple() now supports default values. + +.. + +.. bpo: 29302 +.. date: 2017-12-11-15-14-55 +.. nonce: Nczj9l +.. section: Library + +Add contextlib.AsyncExitStack. Patch by Alexander Mohr and Ilya Kulakov. + +.. + +.. bpo: 31961 +.. date: 2017-11-08-03-38-20 +.. nonce: x5Sv0R +.. section: Library + +The *args* argument of subprocess.Popen can now be a :term:`path-like +object`. If *args* is given as a sequence, it's first element can now be a +:term:`path-like object` as well. + +.. + +.. bpo: 31900 +.. date: 2017-10-30-15-55-32 +.. nonce: -S9xc4 +.. section: Library + +The :func:`locale.localeconv` function now sets temporarily the ``LC_CTYPE`` +locale to the ``LC_NUMERIC`` locale to decode ``decimal_point`` and +``thousands_sep`` byte strings if they are non-ASCII or longer than 1 byte, +and the ``LC_NUMERIC`` locale is different than the ``LC_CTYPE`` locale. +This temporary change affects other threads. + +Same change for the :meth:`str.format` method when formatting a number +(:class:`int`, :class:`float`, :class:`float` and subclasses) with the ``n`` +type (ex: ``'{:n}'.format(1234)``). + +.. + +.. bpo: 31853 +.. date: 2017-10-23-22-55-51 +.. nonce: h5fjrP +.. section: Library + +Use super().method instead of socket.method in SSLSocket. They were there +most likely for legacy reasons. + +.. + +.. bpo: 31399 +.. date: 2017-09-08-14-05-33 +.. nonce: FtBrrt +.. section: Library + +The ssl module now uses OpenSSL's X509_VERIFY_PARAM_set1_host() and +X509_VERIFY_PARAM_set1_ip() API to verify hostname and IP addresses. Subject +common name fallback can be disabled with +SSLContext.hostname_checks_common_name. + +.. + +.. bpo: 14976 +.. date: 2017-09-07-19-12-47 +.. nonce: dx0Zxb +.. section: Library + +Add a queue.SimpleQueue class, an unbounded FIFO queue with a reentrant C +implementation of put(). + +.. + +.. bpo: 32724 +.. date: 2018-01-30-09-00-19 +.. nonce: qPIaM- +.. section: Documentation + +Add references to some commands in the documentation of Pdb. Patch by +Stéphane Wirtel + +.. + +.. bpo: 32649 +.. date: 2018-01-27-23-36-31 +.. nonce: o7qOjF +.. section: Documentation + +Complete the C API documentation, profiling and tracing part with the newly +added per-opcode events. + +.. + +.. bpo: 17799 +.. date: 2018-01-22-21-13-46 +.. nonce: rdZ-Vk +.. section: Documentation + +Explain real behaviour of sys.settrace and sys.setprofile and their C-API +counterparts regarding which type of events are received in each function. +Patch by Pablo Galindo Salgado. + +.. + +.. bpo: 32721 +.. date: 2018-01-29-21-30-44 +.. nonce: 2Bebm1 +.. section: Tests + +Fix test_hashlib to not fail if the _md5 module is not built. + +.. + +.. bpo: 28414 +.. date: 2018-01-28-21-19-13 +.. nonce: a6Onzt +.. section: Tests + +Add test cases for IDNA 2003 and 2008 host names. IDNA 2003 +internationalized host names are working since bpo-31399 has landed. IDNA +2008 are still broken. + +.. + +.. bpo: 32604 +.. date: 2018-01-26-21-29-09 +.. nonce: 7iazNx +.. section: Tests + +Add a new "_xxsubinterpreters" extension module that exposes the existing +subinterpreter C-API and a new cross-interpreter data sharing mechanism. The +module is primarily intended for more thorough testing of the existing +subinterpreter support. + +.. + +.. bpo: 32602 +.. date: 2018-01-19-20-47-11 +.. nonce: dz41pq +.. section: Tests + +Add test certs and test for ECDSA cert and EC/RSA dual mode. + +.. + +.. bpo: 32549 +.. date: 2018-01-14-11-40-22 +.. nonce: fLwbVA +.. section: Tests + +On Travis CI, Python now Compiles and uses a local copy of OpenSSL 1.1.0g +for testing. + +.. + +.. bpo: 32635 +.. date: 2018-01-23-15-33-40 +.. nonce: qHwIZy +.. section: Build + +Fix segfault of the crypt module when libxcrypt is provided instead of +libcrypt at the system. + +.. + +.. bpo: 32598 +.. date: 2018-01-19-14-50-19 +.. nonce: hP7bMV +.. section: Build + +Use autoconf to detect OpenSSL libs, headers and supported features. The +ax_check_openssl M4 macro uses pkg-config to locate OpenSSL and falls back +to manual search. + +.. + +.. bpo: 32593 +.. date: 2018-01-18-11-10-52 +.. nonce: XIrf3v +.. section: Build + +Drop support of FreeBSD 9 and older. + +.. + +.. bpo: 29708 +.. date: 2018-01-16-08-32-49 +.. nonce: YCaHEx +.. section: Build + +If the :envvar:`SOURCE_DATE_EPOCH` environment variable is set, +:mod:`py_compile` will always create hash-based ``.pyc`` files. + +.. + +.. bpo: 32588 +.. date: 2018-01-18-14-56-45 +.. nonce: vHww6F +.. section: Windows + +Create standalone _distutils_findvs module and add missing _queue module to +installer. + +.. + +.. bpo: 29911 +.. date: 2018-01-07-12-33-21 +.. nonce: ewSJKb +.. section: Windows + +Ensure separate Modify and Uninstall buttons are displayed. + +.. + +.. bpo: 32507 +.. date: 2018-01-07-12-32-49 +.. nonce: vB4gxk +.. section: Windows + +Use app-local UCRT install rather than the proper update for old versions of +Windows. + +.. + +.. bpo: 32726 +.. date: 2018-01-30-07-13-10 +.. nonce: tcARLK +.. section: macOS + +Provide an additional, more modern macOS installer variant that supports +macOS 10.9+ systems in 64-bit mode only. Upgrade the supplied third-party +libraries to OpenSSL 1.1.0g and to SQLite 3.22.0. The 10.9+ installer now +links with and supplies its own copy of Tcl/Tk 8.6. + +.. + +.. bpo: 28440 +.. date: 2018-01-30-04-40-12 +.. nonce: W_BUWU +.. section: macOS + +No longer add /Library/Python/3.x/site-packages to sys.path for macOS +framework builds to avoid future conflicts. + +.. + +.. bpo: 32681 +.. date: 2018-01-26-17-29-29 +.. nonce: N1ruWa +.. section: C API + +Fix uninitialized variable 'res' in the C implementation of os.dup2. Patch +by Stéphane Wirtel + +.. + +.. bpo: 10381 +.. date: 2017-12-28-15-22-05 +.. nonce: a1E6aF +.. section: C API + +Add C API access to the ``datetime.timezone`` constructor and +``datetime.timzone.UTC`` singleton. |