Misc/NEWS.d/3.7.0b1.rst
.. 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.