Back to Cpython

3.9.0a3

Misc/NEWS.d/3.9.0a3.rst

3.15.0a819.7 KB
Original Source

.. bpo: 39427 .. date: 2020-01-22-22-28-04 .. nonce: LiO-Eo .. release date: 2020-01-24 .. section: Core and Builtins

Document all possibilities for the -X options in the command line help section. Patch by Pablo Galindo.

..

.. bpo: 39421 .. date: 2020-01-22-15-53-37 .. nonce: O3nG7u .. section: Core and Builtins

Fix possible crashes when operating with the functions in the :mod:heapq module and custom comparison operators.

..

.. bpo: 39386 .. date: 2020-01-20-21-40-57 .. nonce: ULqD8t .. section: Core and Builtins

Prevent double awaiting of async iterator.

..

.. bpo: 17005 .. date: 2020-01-17-00-00-58 .. nonce: nTSxsy .. section: Core and Builtins

Add :class:functools.TopologicalSorter to the :mod:functools module to offers functionality to perform topological sorting of graphs. Patch by Pablo Galindo, Tim Peters and Larry Hastings.

..

.. bpo: 39320 .. date: 2020-01-15-15-33-44 .. nonce: b4hnJW .. section: Core and Builtins

Replace four complex bytecodes for building sequences with three simpler ones.

The following four bytecodes have been removed:

  • BUILD_LIST_UNPACK
  • BUILD_TUPLE_UNPACK
  • BUILD_SET_UNPACK
  • BUILD_TUPLE_UNPACK_WITH_CALL

The following three bytecodes have been added:

  • LIST_TO_TUPLE
  • LIST_EXTEND
  • SET_UPDATE

..

.. bpo: 39336 .. date: 2020-01-15-01-39-29 .. nonce: nJ7W9I .. section: Core and Builtins

Import loaders which publish immutable module objects can now publish immutable packages in addition to individual modules.

..

.. bpo: 39322 .. date: 2020-01-13-15-18-13 .. nonce: aAs-1T .. section: Core and Builtins

Added a new function :func:gc.is_finalized to check if an object has been finalized by the garbage collector. Patch by Pablo Galindo.

..

.. bpo: 39048 .. date: 2020-01-13-14-45-22 .. nonce: iPsj81 .. section: Core and Builtins

Improve the displayed error message when incorrect types are passed to async with statements by looking up the :meth:__aenter__ special method before the :meth:__aexit__ special method when entering an asynchronous context manager. Patch by Géry Ogam.

..

.. bpo: 39235 .. date: 2020-01-09-10-01-18 .. nonce: RYwjoc .. section: Core and Builtins

Fix AST end location for lone generator expression in function call, e.g. f(i for i in a).

..

.. bpo: 39209 .. date: 2020-01-06-10-29-16 .. nonce: QHAONe .. section: Core and Builtins

Correctly handle multi-line tokens in interactive mode. Patch by Pablo Galindo.

..

.. bpo: 1635741 .. date: 2020-01-05-13-40-08 .. nonce: QRTJVC .. section: Core and Builtins

Port _json extension module to multiphase initialization (:pep:489).

..

.. bpo: 39216 .. date: 2020-01-05-06-55-52 .. nonce: 74jLh9 .. section: Core and Builtins

Fix constant folding optimization for positional only arguments - by Anthony Sottile.

..

.. bpo: 39215 .. date: 2020-01-04-17-25-34 .. nonce: xiqiIz .. section: Core and Builtins

Fix SystemError when nested function has annotation on positional-only argument - by Anthony Sottile.

..

.. bpo: 39200 .. date: 2020-01-04-01-14-32 .. nonce: 8Z9DYp .. section: Core and Builtins

Correct the error message when calling the :func:min or :func:max with no arguments. Patch by Donghee Na.

..

.. bpo: 39200 .. date: 2020-01-03-14-50-14 .. nonce: Ip2_iI .. section: Core and Builtins

Correct the error message when trying to construct :class:range objects with no arguments. Patch by Pablo Galindo.

..

.. bpo: 39166 .. date: 2020-01-02-22-22-03 .. nonce: Qt-UeD .. section: Core and Builtins

Fix incorrect line execution reporting in trace functions when tracing the last iteration of asynchronous for loops. Patch by Pablo Galindo.

..

.. bpo: 39114 .. date: 2019-12-31-18-25-45 .. nonce: WG9alt .. section: Core and Builtins

Fix incorrect line execution reporting in trace functions when tracing exception handlers with name binding. Patch by Pablo Galindo.

..

.. bpo: 39156 .. date: 2019-12-30-10-53-59 .. nonce: veT-CB .. section: Core and Builtins

Split the COMPARE_OP bytecode instruction into four distinct instructions.

  • COMPARE_OP for rich comparisons
  • IS_OP for 'is' and 'is not' tests
  • CONTAINS_OP for 'in' and 'is not' tests
  • JUMP_IF_NOT_EXC_MATCH for checking exceptions in 'try-except' statements.

This improves the clarity of the interpreter and should provide a modest speedup.

..

.. bpo: 38588 .. date: 2019-12-29-19-13-54 .. nonce: pgXnNS .. section: Core and Builtins

Fix possible crashes in dict and list when calling :c:func:PyObject_RichCompareBool.

..

.. bpo: 13601 .. date: 2019-12-17-22-32-11 .. nonce: vNP4LC .. section: Core and Builtins

By default, sys.stderr is line-buffered now, even if stderr is redirected to a file. You can still make sys.stderr unbuffered by passing the :option:-u command-line option or setting the :envvar:PYTHONUNBUFFERED environment variable.

(Contributed by Jendrik Seipp in bpo-13601.)

..

.. bpo: 38610 .. date: 2019-10-31-14-30-39 .. nonce: fHdVMS .. section: Core and Builtins

Fix possible crashes in several list methods by holding strong references to list elements when calling :c:func:PyObject_RichCompareBool.

..

.. bpo: 32021 .. date: 2019-03-11-13-30-40 .. nonce: dpbtkP .. section: Core and Builtins

Include brotli .br encoding in mimetypes encodings_map

..

.. bpo: 39430 .. date: 2020-01-24-11-05-21 .. nonce: I0UQzM .. section: Library

Fixed race condition in lazy imports in :mod:tarfile.

..

.. bpo: 39413 .. date: 2020-01-24-10-10-25 .. nonce: 7XYDM8 .. section: Library

The :func:os.unsetenv function is now also available on Windows.

..

.. bpo: 39390 .. date: 2020-01-23-21-34-29 .. nonce: D2tSXk .. section: Library

Fixed a regression with the ignore callback of :func:shutil.copytree. The argument types are now str and List[str] again.

..

.. bpo: 39395 .. date: 2020-01-23-03-05-41 .. nonce: 4dda42 .. section: Library

The :func:os.putenv and :func:os.unsetenv functions are now always available.

..

.. bpo: 39406 .. date: 2020-01-22-21-18-58 .. nonce: HMpe8x .. section: Library

If setenv() C function is available, :func:os.putenv is now implemented with setenv() instead of putenv(), so Python doesn't have to handle the environment variable memory.

..

.. bpo: 39396 .. date: 2020-01-21-09-00-42 .. nonce: 6UXQXE .. section: Library

Fix math.nextafter(-0.0, +0.0) on AIX 7.1.

..

.. bpo: 29435 .. date: 2020-01-20-18-48-00 .. nonce: qqJ2Ax .. section: Library

Allow :func:tarfile.is_tarfile to be used with file and file-like objects, like :func:zipfile.is_zipfile. Patch by William Woodruff.

..

.. bpo: 39377 .. date: 2020-01-20-13-00-35 .. nonce: QSFdaU .. section: Library

Removed encoding option from :func:json.loads. It has been deprecated since Python 3.1.

..

.. bpo: 39389 .. date: 2020-01-20-00-56-01 .. nonce: fEirIS .. section: Library

Write accurate compression level metadata in :mod:gzip archives, rather than always signaling maximum compression.

..

.. bpo: 39366 .. date: 2020-01-17-18-14-51 .. nonce: Cv3NQS .. section: Library

The previously deprecated xpath() and xgtitle() methods of :class:!nntplib.NNTP have been removed.

..

.. bpo: 39357 .. date: 2020-01-16-11-24-00 .. nonce: bCwx-h .. section: Library

Remove the buffering parameter of :class:bz2.BZ2File. Since Python 3.0, it was ignored and using it was emitting :exc:DeprecationWarning. Pass an open file object, to control how the file is opened. The compresslevel parameter becomes keyword-only.

..

.. bpo: 39353 .. date: 2020-01-16-10-21-48 .. nonce: ntp7Ql .. section: Library

Deprecate binhex4 and hexbin4 standards. Deprecate the :mod:binhex module and the following :mod:binascii functions: :func:~binascii.b2a_hqx, :func:~binascii.a2b_hqx, :func:~binascii.rlecode_hqx, :func:~binascii.rledecode_hqx, :func:~binascii.crc_hqx.

..

.. bpo: 39351 .. date: 2020-01-16-09-27-28 .. nonce: a-FQdv .. section: Library

Remove base64.encodestring() and base64.decodestring(), aliases deprecated since Python 3.1: use :func:base64.encodebytes and :func:base64.decodebytes instead.

..

.. bpo: 39350 .. date: 2020-01-16-09-15-40 .. nonce: ZQx0uY .. section: Library

Remove fractions.gcd() function, deprecated since Python 3.5 (:issue:22486): use :func:math.gcd instead.

..

.. bpo: 39329 .. date: 2020-01-14-22-16-07 .. nonce: 6OKGBn .. section: Library

:class:~smtplib.LMTP constructor now has an optional timeout parameter. Patch by Donghee Na.

..

.. bpo: 39313 .. date: 2020-01-12-18-17-00 .. nonce: DCTsnm .. section: Library

Add a new exec_function option (--exec-function in the CLI) to RefactoringTool for making exec a function. Patch by Batuhan Taskaya.

..

.. bpo: 39259 .. date: 2020-01-12-17-19-40 .. nonce: iax06r .. section: Library

:class:~ftplib.FTP_TLS and :class:~ftplib.FTP_TLS now raise a :class:ValueError if the given timeout for their constructor is zero to prevent the creation of a non-blocking socket. Patch by Donghee Na.

..

.. bpo: 39259 .. date: 2020-01-12-16-34-28 .. nonce: J_yBVq .. section: Library

:class:~smtplib.SMTP and :class:~smtplib.SMTP_SSL now raise a :class:ValueError if the given timeout for their constructor is zero to prevent the creation of a non-blocking socket. Patch by Donghee Na.

..

.. bpo: 39310 .. date: 2020-01-12-13-34-42 .. nonce: YMRdcj .. section: Library

Add :func:math.ulp: return the value of the least significant bit of a float.

..

.. bpo: 39297 .. date: 2020-01-11-01-15-37 .. nonce: y98Z6Q .. section: Library

Improved performance of importlib.metadata distribution discovery and resilients to inaccessible sys.path entries (importlib_metadata v1.4.0).

..

.. bpo: 39259 .. date: 2020-01-11-00-32-45 .. nonce: _S5VjC .. section: Library

:class:!NNTP and :class:!NNTP_SSL now raise a :class:ValueError if the given timeout for their constructor is zero to prevent the creation of a non-blocking socket. Patch by Donghee Na.

..

.. bpo: 38901 .. date: 2020-01-10-22-30-48 .. nonce: OdVIIb .. section: Library

When you specify prompt='.' or equivalently python -m venv --prompt . ... the basename of the current directory is used to set the created venv's prompt when it's activated.

..

.. bpo: 39288 .. date: 2020-01-10-16-52-09 .. nonce: IB-aQX .. section: Library

Add :func:math.nextafter: return the next floating-point value after x towards y.

..

.. bpo: 39259 .. date: 2020-01-09-10-58-58 .. nonce: RmDgCC .. section: Library

:class:~poplib.POP3 and :class:~poplib.POP3_SSL now raise a :class:ValueError if the given timeout for their constructor is zero to prevent the creation of a non-blocking socket. Patch by Donghee Na.

..

.. bpo: 39242 .. date: 2020-01-08-23-25-27 .. nonce: bnL65N .. section: Library

Updated the Gmane domain from news.gmane.org to news.gmane.io which is used for examples of :class:!NNTP news reader server and nntplib tests.

..

.. bpo: 35292 .. date: 2020-01-08-14-39-19 .. nonce: ihRT1z .. section: Library

Proxy the SimpleHTTPRequestHandler.guess_type to mimetypes.guess_type so the mimetypes.init is called lazily to avoid unnecessary costs when :mod:http.server module is imported.

..

.. bpo: 39239 .. date: 2020-01-07-01-02-44 .. nonce: r7vecs .. section: Library

The :meth:select.epoll.unregister method no longer ignores the :data:~errno.EBADF error.

..

.. bpo: 38907 .. date: 2020-01-06-02-14-38 .. nonce: F1RkCR .. section: Library

In http.server script, restore binding to IPv4 on Windows.

..

.. bpo: 39152 .. date: 2020-01-03-18-02-50 .. nonce: JgPjCC .. section: Library

Fix ttk.Scale.configure([name]) to return configuration tuple for name or all options. Giovanni Lombardo contributed part of the patch.

..

.. bpo: 39198 .. date: 2020-01-02-20-21-03 .. nonce: nzwGyG .. section: Library

If an exception were to be thrown in Logger.isEnabledFor (say, by asyncio timeouts or stopit) , the logging global lock may not be released appropriately, resulting in deadlock. This change wraps that block of code with try...finally to ensure the lock is released.

..

.. bpo: 39191 .. date: 2020-01-02-17-28-03 .. nonce: ur_scy .. section: Library

Perform a check for running loop before starting a new task in loop.run_until_complete() to fail fast; it prevents the side effect of new task spawning before exception raising.

..

.. bpo: 38871 .. date: 2020-01-01-18-44-52 .. nonce: 3EEOLg .. section: Library

Correctly parenthesize filter-based statements that contain lambda expressions in :mod:!lib2to3. Patch by Donghee Na.

..

.. bpo: 39142 .. date: 2019-12-31-19-27-23 .. nonce: oqU5iD .. section: Library

A change was made to logging.config.dictConfig to avoid converting instances of named tuples to ConvertingTuple. It's assumed that named tuples are too specialised to be treated like ordinary tuples; if a user of named tuples requires ConvertingTuple functionality, they will have to implement that themselves in their named tuple class.

..

.. bpo: 39158 .. date: 2019-12-29-15-44-38 .. nonce: cxVoOR .. section: Library

ast.literal_eval() now supports empty sets.

..

.. bpo: 39129 .. date: 2019-12-24-10-43-13 .. nonce: jVx5rW .. section: Library

Fix import path for asyncio.TimeoutError

..

.. bpo: 39057 .. date: 2019-12-15-21-47-54 .. nonce: FOxn-w .. section: Library

:func:urllib.request.proxy_bypass_environment now ignores leading dots and no longer ignores a trailing newline.

..

.. bpo: 39056 .. date: 2019-12-15-21-05-16 .. nonce: nEfUM9 .. section: Library

Fixed handling invalid warning category in the -W option. No longer import the re module if it is not needed.

..

.. bpo: 39055 .. date: 2019-12-15-19-23-23 .. nonce: FmN3un .. section: Library

:func:base64.b64decode with validate=True raises now a binascii.Error if the input ends with a single \n.

..

.. bpo: 21600 .. date: 2019-12-14-14-38-40 .. nonce: kC4Cgh .. section: Library

Fix :func:mock.patch.stopall to stop active patches that were created with :func:mock.patch.dict.

..

.. bpo: 39019 .. date: 2019-12-10-21-11-05 .. nonce: YIlgZ7 .. section: Library

Implement dummy __class_getitem__ for :class:tempfile.SpooledTemporaryFile.

..

.. bpo: 39019 .. date: 2019-12-10-21-03-34 .. nonce: i8RpMZ .. section: Library

Implement dummy __class_getitem__ for subprocess.Popen, subprocess.CompletedProcess

..

.. bpo: 38914 .. date: 2019-11-26-23-21-56 .. nonce: 8l-g-T .. section: Library

Adjusted the wording of the warning issued by distutils' check command when the author and maintainer fields are supplied but no corresponding e-mail field (author_email or maintainer_email) is found. The wording now reflects the fact that these fields are suggested, but not required. Patch by Juergen Gmach.

..

.. bpo: 38878 .. date: 2019-11-22-12-08-52 .. nonce: EJ0cFf .. section: Library

Fixed subclasshook of :class:os.PathLike to return a correct result upon inheritance. Patch by Bar Harel.

..

.. bpo: 38615 .. date: 2019-11-17-17-32-35 .. nonce: OVyaNX .. section: Library

:class:~imaplib.IMAP4 and :class:~imaplib.IMAP4_SSL now have an optional timeout parameter for their constructors. Also, the :meth:~imaplib.IMAP4.open method now has an optional timeout parameter with this change. The overridden methods of :class:~imaplib.IMAP4_SSL and :class:~imaplib.IMAP4_stream were applied to this change. Patch by Donghee Na.

..

.. bpo: 35182 .. date: 2019-10-31-19-23-25 .. nonce: hzeNl9 .. section: Library

Fixed :func:Popen.communicate subsequent call crash when the child process has already closed any piped standard stream, but still continues to be running. Patch by Andriy Maletsky.

..

.. bpo: 38630 .. date: 2019-10-29-12-21-10 .. nonce: Dv6Xrm .. section: Library

On Unix, :meth:subprocess.Popen.send_signal now polls the process status. Polling reduces the risk of sending a signal to the wrong process if the process completed, the :attr:subprocess.Popen.returncode attribute is still None, and the pid has been reassigned (recycled) to a new different process.

..

.. bpo: 38536 .. date: 2019-10-21-20-24-51 .. nonce: beZ0Sk .. section: Library

Removes trailing space in formatted currency with international=True and a locale with symbol following value. E.g. locale.currency(12.34, international=True) returned '12,34 EUR ' instead of '12,34 EUR'.

..

.. bpo: 38473 .. date: 2019-10-14-21-14-55 .. nonce: uXpVld .. section: Library

Use signature from inner mock for autospecced methods attached with :func:unittest.mock.attach_mock. Patch by Karthikeyan Singaravelan.

..

.. bpo: 38361 .. date: 2019-10-04-09-49-56 .. nonce: LM4u4T .. section: Library

Fixed an issue where ident could include a leading path separator when :func:syslog.openlog was called without arguments.

..

.. bpo: 38293 .. date: 2019-09-29-08-17-03 .. nonce: wls5s3 .. section: Library

Add :func:copy.copy and :func:copy.deepcopy support to :func:property objects.

..

.. bpo: 37958 .. date: 2019-08-27-03-57-25 .. nonce: lRORI3 .. section: Library

Added the pstats.Stats.get_profile_dict() method to return the profile data as a StatsProfile instance.

..

.. bpo: 28367 .. date: 2019-05-06-22-38-47 .. nonce: 2AKen5 .. section: Library

Termios magic constants for the following baud rates: - B500000 - B576000 - B921600 - B1000000 - B1152000 - B1500000 - B2000000 - B2500000 - B3000000 - B3500000 - B4000000 Patch by Andrey Smirnov

..

.. bpo: 39381 .. date: 2020-01-18-15-37-56 .. nonce: wTWe8d .. section: Documentation

Mention in docs that :func:asyncio.get_event_loop implicitly creates new event loop only if called from the main thread.

..

.. bpo: 38918 .. date: 2019-12-15-22-04-41 .. nonce: 8JnDTS .. section: Documentation

Add an entry for __module__ in the "function" & "method" sections of the :mod:inspect docs' :ref:inspect-types table.

..

.. bpo: 3530 .. date: 2019-11-17-11-53-10 .. nonce: 8zFUMc .. section: Documentation

In the :mod:ast module documentation, fix a misleading NodeTransformer example and add advice on when to use the fix_missing_locations function.

..

.. bpo: 39395 .. date: 2020-01-23-03-05-13 .. nonce: RoArIZ .. section: Build

On non-Windows platforms, the :c:func:setenv and :c:func:unsetenv functions are now required to build Python.

..

.. bpo: 39160 .. date: 2019-12-30-03-54-24 .. nonce: aBmj13 .. section: Build

Updated the documentation in ./configure --help to show default values, reference documentation where required and add additional explanation where needed.

..

.. bpo: 39144 .. date: 2019-12-27-22-18-26 .. nonce: dwHMlR .. section: Build

The ctags and etags build targets both include Modules/_ctypes and Python standard library source files.

..

.. bpo: 39050 .. date: 2020-01-22-22-28-06 .. nonce: zkn0FO .. section: IDLE

Make IDLE Settings dialog Help button work again.

..

.. bpo: 34118 .. date: 2019-12-30-16-44-07 .. nonce: FaNW0a .. section: IDLE

Tag memoryview, range, and tuple as classes, the same as list, etcetera, in the library manual built-in functions list.

..

.. bpo: 32989 .. date: 2018-03-03-12-56-26 .. nonce: FVhmhH .. section: IDLE

Add tests for editor newline_and_indent_event method. Remove dead code from pyparse find_good_parse_start method.

..

.. bpo: 39372 .. date: 2020-01-17-19-25-48 .. nonce: hGJMY6 .. section: C API

Clean header files of interfaces defined but with no implementation. The public API symbols being removed are: _PyBytes_InsertThousandsGroupingLocale, _PyBytes_InsertThousandsGrouping, _Py_InitializeFromArgs, _Py_InitializeFromWideArgs, _PyFloat_Repr, _PyFloat_Digits, _PyFloat_DigitsInit, PyFrame_ExtendStack, _PyAIterWrapper_Type, PyNullImporter_Type, PyCmpWrapper_Type, PySortWrapper_Type, PyNoArgsFunction.

..

.. bpo: 39164 .. date: 2019-12-30-10-43-52 .. nonce: WEV0uu .. section: C API

Add a private _PyErr_GetExcInfo() function to retrieve exception information of the specified Python thread state.