Back to Cpython

3.7.0b1

Misc/NEWS.d/3.7.0b1.rst

3.15.0a818.0 KB
Original Source

.. 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. (removed before 3.7.0rc1)

..

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

Removed in Python 3.7.0b2. 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. Note that the _xxsubinterpreters module has been removed in 3.7.0rc1.

..

.. 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.timezone.UTC singleton.