Misc/NEWS.d/3.9.0b1.rst
.. bpo: 40501 .. date: 2020-05-06-00-41-11 .. nonce: 61wv .. release date: 2020-05-19 .. section: Security
:mod:uuid no longer uses :mod:ctypes to load :file:libuuid or
:file:rpcrt4.dll at runtime.
..
.. bpo: 40663 .. date: 2020-05-17-20-38-12 .. nonce: u2aiZf .. section: Core and Builtins
Correctly generate annotations where parentheses are omitted but required
(e.g: Type[(str, int, *other))].
..
.. bpo: 40596 .. date: 2020-05-11-20-53-52 .. nonce: dwOH_X .. section: Core and Builtins
Fixed :meth:str.isidentifier for non-canonicalized strings containing
non-BMP characters on Windows.
..
.. bpo: 40593 .. date: 2020-05-11-13-50-52 .. nonce: yuOXj3 .. section: Core and Builtins
Improved syntax errors for invalid characters in source code.
..
.. bpo: 40585 .. date: 2020-05-11-00-19-42 .. nonce: yusknY .. section: Core and Builtins
Fixed a bug when using :func:codeop.compile_command that was causing
exceptions to be swallowed with the new parser. Patch by Pablo Galindo
..
.. bpo: 40566 .. date: 2020-05-09-01-39-16 .. nonce: wlcjW_ .. section: Core and Builtins
Apply :pep:573 to :mod:abc.
..
.. bpo: 40502 .. date: 2020-05-08-03-25-26 .. nonce: e-VCyL .. section: Core and Builtins
Initialize n->n_col_offset. (Patch by Joannah Nanjekye)
..
.. bpo: 40527 .. date: 2020-05-06-14-52-35 .. nonce: gTNKuy .. section: Core and Builtins
Fix command line argument parsing: no longer write errors multiple times into stderr.
..
.. bpo: 1635741 .. date: 2020-05-05-21-11-35 .. nonce: ggwD3C .. section: Core and Builtins
Port :mod:errno to multiphase initialization (:pep:489).
..
.. bpo: 40523 .. date: 2020-05-05-20-36-15 .. nonce: hKZVTB .. section: Core and Builtins
Add pass-throughs for :func:hash and :func:reversed to
:class:weakref.proxy objects. Patch by Pablo Galindo.
..
.. bpo: 1635741 .. date: 2020-05-05-03-36-27 .. nonce: ARv1YV .. section: Core and Builtins
Port :mod:syslog to multiphase initialization (:pep:489).
..
.. bpo: 40246 .. date: 2020-05-03-23-28-11 .. nonce: c1D7x8 .. section: Core and Builtins
Reporting a specialised error message for invalid string prefixes, which was
introduced in :issue:40246, is being reverted due to backwards
compatibility concerns for strings that immediately follow a reserved
keyword without whitespace between them. Constructs like bg="#d00" if clear else"#fca" were failing to parse, which is not an acceptable breakage on
such short notice.
..
.. bpo: 40417 .. date: 2020-05-01-19-04-52 .. nonce: Sti2lJ .. section: Core and Builtins
Fix imp module deprecation warning when PyImport_ReloadModule is called. Patch by Robert Rouhani.
..
.. bpo: 40408 .. date: 2020-05-01-15-36-14 .. nonce: XzQI59 .. section: Core and Builtins
Fixed support of nested type variables in GenericAlias (e.g.
list[list[T]]).
..
.. bpo: 1635741 .. date: 2020-04-30-01-44-42 .. nonce: GKtjqr .. section: Core and Builtins
Port _stat module to multiphase initialization (:pep:489).
..
.. bpo: 29587 .. date: 2020-04-30-00-50-25 .. nonce: oEwSq .. section: Core and Builtins
Enable implicit exception chaining when calling :meth:generator.throw.
..
.. bpo: 40328 .. date: 2020-04-19-22-23-32 .. nonce: gWJ53f .. section: Core and Builtins
Add tools for generating mappings headers for CJKCodecs.
..
.. bpo: 40228 .. date: 2020-04-08-17-02-35 .. nonce: bRaaJ- .. section: Core and Builtins
Setting frame.f_lineno is now robust w.r.t. changes in the source-to-bytecode compiler
..
.. bpo: 38880 .. date: 2019-11-22-14-34-47 .. nonce: evcCPa .. section: Core and Builtins
Added the ability to list interpreters associated with channel ends in the internal subinterpreters module.
..
.. bpo: 37986 .. date: 2019-11-20-09-50-58 .. nonce: o0lmA7 .. section: Core and Builtins
Improve performance of :c:func:PyLong_FromDouble for values that fit into
:c:expr:long.
..
.. bpo: 40662 .. date: 2020-05-18-12-56-45 .. nonce: dfornR .. section: Library
Fixed :func:ast.get_source_segment for ast nodes that have incomplete
location information. Patch by Irit Katriel.
..
.. bpo: 40665 .. date: 2020-05-17-21-56-38 .. nonce: msB7u5 .. section: Library
Convert :mod:bisect to use Argument Clinic.
..
.. bpo: 40536 .. date: 2020-05-17-14-00-12 .. nonce: FCpoRA .. section: Library
Added the :func:~zoneinfo.available_timezones function to the
:mod:zoneinfo module. Patch by Paul Ganssle.
..
.. bpo: 40645 .. date: 2020-05-16-19-34-38 .. nonce: 7ibMt- .. section: Library
The :class:hmac.HMAC exposes internal implementation details. The
attributes digest_cons, inner, and outer are deprecated and will
be removed in the future.
..
.. bpo: 40645 .. date: 2020-05-16-17-05-02 .. nonce: wYSkjT .. section: Library
The internal module _hashlib wraps and exposes OpenSSL's HMAC API. The
new code will be used in Python 3.10 after the internal implementation
details of the pure Python HMAC module are no longer part of the public API.
..
.. bpo: 40637 .. date: 2020-05-15-21-57-10 .. nonce: lb3Bnp .. section: Library
Builtin hash modules can now be disabled or selectively enabled with
configure --with-builtin-hashlib-hashes=sha3,blake1 or
--without-builtin-hashlib-hashes.
..
.. bpo: 37630 .. date: 2020-05-15-19-53-18 .. nonce: O5kgAw .. section: Library
The :mod:hashlib module can now use SHA3 hashes and SHAKE XOF from OpenSSL
when available.
..
.. bpo: 40479 .. date: 2020-05-15-17-38-21 .. nonce: yamSCh .. section: Library
The :mod:hashlib now compiles with OpenSSL 3.0.0-alpha2.
..
.. bpo: 40257 .. date: 2020-05-13-23-10-25 .. nonce: aR4TGp .. section: Library
Revert changes to :func:inspect.getdoc.
..
.. bpo: 40607 .. date: 2020-05-13-15-32-13 .. nonce: uSPFCi .. section: Library
When cancelling a task due to timeout, :meth:asyncio.wait_for will now
propagate the exception if an error happens during cancellation. Patch by
Roman Skurikhin.
..
.. bpo: 40612 .. date: 2020-05-13-10-23-29 .. nonce: gOIreM .. section: Library
Fix edge cases in SyntaxError formatting. If the offset is <= 0, no caret is printed. If the offset is > line length, the caret is printed pointing just after the last character.
..
.. bpo: 40597 .. date: 2020-05-11-19-17-23 .. nonce: 4SGfgm .. section: Library
If text content lines are longer than policy.max_line_length, always use a content-encoding to make sure they are wrapped.
..
.. bpo: 40571 .. date: 2020-05-09-15-38-25 .. nonce: kOXZGC .. section: Library
Added functools.cache() as a simpler, more discoverable way to access the unbounded cache variant of lru_cache(maxsize=None).
..
.. bpo: 40503 .. date: 2020-05-08-15-48-39 .. nonce: elZyxc .. section: Library
:pep:615, the :mod:zoneinfo module. Adds support for the IANA time zone
database.
..
.. bpo: 40397 .. date: 2020-05-07-21-22-04 .. nonce: PVWFAn .. section: Library
Removed attributes __args__ and __parameters__ from special generic
aliases like typing.List (not subscripted).
..
.. bpo: 40549 .. date: 2020-05-07-20-11-51 .. nonce: 6FiRSV .. section: Library
Convert posixmodule.c ("posix" or "nt" module) to the multiphase initialization (PEP 489).
..
.. bpo: 31033 .. date: 2020-05-07-06-41-20 .. nonce: waCj3n .. section: Library
Add a msg argument to :meth:Future.cancel and :meth:Task.cancel.
..
.. bpo: 40541 .. date: 2020-05-06-15-36-47 .. nonce: LlYghL .. section: Library
Added an optional counts parameter to random.sample().
..
.. bpo: 40515 .. date: 2020-05-06-13-51-19 .. nonce: TUCvYB .. section: Library
The :mod:ssl and :mod:hashlib modules now actively check that OpenSSL is
build with thread support. Python 3.7.0 made thread support mandatory and no
longer works safely with a no-thread builds.
..
.. bpo: 31033 .. date: 2020-05-06-02-33-00 .. nonce: aX12pw .. section: Library
When a :class:asyncio.Task is cancelled, the exception traceback now
chains all the way back to where the task was first interrupted.
..
.. bpo: 40504 .. date: 2020-05-05-17-12-47 .. nonce: EX6wPn .. section: Library
:func:functools.lru_cache objects can now be the targets of weakrefs.
..
.. bpo: 40559 .. date: 2020-05-05-08-12-51 .. nonce: 112wwa .. section: Library
Fix possible memory leak in the C implementation of :class:asyncio.Task.
..
.. bpo: 40480 .. date: 2020-05-04-21-21-43 .. nonce: mjldWa .. section: Library
fnmatch.fnmatch() could take exponential time in the presence of
multiple * pattern characters. This was repaired by generating more
elaborate regular expressions to avoid futile backtracking.
..
.. bpo: 40495 .. date: 2020-05-04-11-20-49 .. nonce: TyTc2O .. section: Library
:mod:compileall is now able to use hardlinks to prevent duplicates in a
case when .pyc files for different optimization levels have the same
content.
..
.. bpo: 40457 .. date: 2020-05-02-17-17-37 .. nonce: EXReI1 .. section: Library
The ssl module now support OpenSSL builds without TLS 1.0 and 1.1 methods.
..
.. bpo: 40355 .. date: 2020-05-02-14-24-48 .. nonce: xTujaB .. section: Library
Improve error reporting in :func:ast.literal_eval in the presence of
malformed :class:ast.Dict nodes instead of silently ignoring any
non-conforming elements. Patch by Curtis Bucher.
..
.. bpo: 40465 .. date: 2020-05-02-12-00-28 .. nonce: qfCjOD .. section: Library
Deprecated the optional random argument to random.shuffle().
..
.. bpo: 40459 .. date: 2020-05-02-04-29-31 .. nonce: fSAYVD .. section: Library
:func:platform.win32_ver now produces correct ptype strings instead of
empty strings.
..
.. bpo: 39435 .. date: 2020-05-01-23-24-25 .. nonce: mgb6ib .. section: Library
The first argument of :func:pickle.loads is now positional-only.
..
.. bpo: 39305 .. date: 2020-05-01-00-22-58 .. nonce: Cuwu_H .. section: Library
Update :mod:!nntplib to merge :class:!nntplib.NNTP and
:class:!nntplib._NNTPBase. Patch by Donghee Na.
..
.. bpo: 32494 .. date: 2020-04-30-22-25-08 .. nonce: 1xaU5l .. section: Library
Update :mod:dbm.gnu to use gdbm_count if possible when calling
:func:len. Patch by Donghee Na.
..
.. bpo: 40453 .. date: 2020-04-30-22-04-58 .. nonce: ggz7sl .. section: Library
Add isolated=True keyword-only parameter to
_xxsubinterpreters.create(). An isolated subinterpreter cannot spawn
threads, spawn a child process or call os.fork().
..
.. bpo: 40286 .. date: 2020-04-29-18-02-16 .. nonce: txbQNx .. section: Library
Remove _random.Random.randbytes(): the C implementation of
randbytes(). Implement the method in Python to ease subclassing:
randbytes() now directly reuses getrandbits().
..
.. bpo: 40394 .. date: 2020-04-28-18-59-48 .. nonce: Yi5uuM .. section: Library
Added default arguments to
:meth:difflib.SequenceMatcher.find_longest_match.
..
.. bpo: 39995 .. date: 2020-04-28-18-25-27 .. nonce: WmA3Gk .. section: Library
Fix a race condition in concurrent.futures._ThreadWakeup: access to _ThreadWakeup is now protected with the shutdown lock.
..
.. bpo: 30966 .. date: 2020-04-27-20-27-39 .. nonce: Xmtlqu .. section: Library
Process.shutdown(wait=True) of :mod:concurrent.futures now closes
explicitly the result queue.
..
.. bpo: 30966 .. date: 2020-04-27-17-19-09 .. nonce: _5lDx- .. section: Library
Add a new :meth:~multiprocessing.SimpleQueue.close method to the
:class:~multiprocessing.SimpleQueue class to explicitly close the queue.
..
.. bpo: 39966 .. date: 2020-04-27-14-48-43 .. nonce: N5yXUe .. section: Library
Revert bpo-25597. :class:unittest.mock.MagicMock with wraps' set uses
default return values for magic methods.
..
.. bpo: 39791 .. date: 2020-04-27-00-51-40 .. nonce: wv8Dxn .. section: Library
Added files() function to importlib.resources with support for
subdirectories in package data, matching backport in importlib_resources
1.5.
..
.. bpo: 40375 .. date: 2020-04-25-23-14-11 .. nonce: 5GuK2A .. section: Library
:meth:imaplib.IMAP4.unselect is added. Patch by Donghee Na.
..
.. bpo: 40389 .. date: 2020-04-25-20-00-58 .. nonce: FPA6f0 .. section: Library
repr() now returns typing.Optional[T] when called for
typing.Union of two types, one of which is NoneType.
..
.. bpo: 40291 .. date: 2020-04-14-22-31-27 .. nonce: _O8hXn .. section: Library
Add support for CAN_J1939 sockets (available on Linux 5.4+)
..
.. bpo: 40273 .. date: 2020-04-14-09-54-35 .. nonce: IN73Ks .. section: Library
:class:types.MappingProxyType is now reversible.
..
.. bpo: 39075 .. date: 2020-04-07-23-44-06 .. nonce: hgck3j .. section: Library
The repr for :class:types.SimpleNamespace is now insertion ordered rather
than alphabetical.
..
.. bpo: 40192 .. date: 2020-04-05-04-16-14 .. nonce: nk8uRJ .. section: Library
On AIX, :func:~time.thread_time is now implemented with
thread_cputime() which has nanosecond resolution, rather than
clock_gettime(CLOCK_THREAD_CPUTIME_ID) which has a resolution of 10 milliseconds.
Patch by Batuhan Taskaya.
..
.. bpo: 40025 .. date: 2020-03-21-05-26-38 .. nonce: DTLtyq .. section: Library
Raise TypeError when generate_next_value is defined after members. Patch by Ethan Onstott.
..
.. bpo: 39058 .. date: 2019-12-15-19-17-10 .. nonce: 7ci-vd .. section: Library
In the argparse module, the repr for Namespace() and other argument holders now displayed in the order attributes were added. Formerly, it displayed in alphabetical order even though argument order is preserved the user visible parts of the module.
..
.. bpo: 24416 .. date: 2019-09-01-15-17-49 .. nonce: G8Ww1U .. section: Library
The isocalendar() methods of :class:datetime.date and
:class:datetime.datetime now return a :term:named tuple instead of a
:class:tuple.
..
.. bpo: 34790 .. date: 2020-05-08-20-18-55 .. nonce: t6kW_1 .. section: Documentation
Add version of removal for explicit passing of coros to asyncio.wait()'s
documentation
..
.. bpo: 40561 .. date: 2020-05-08-08-39-40 .. nonce: ZMB_2i .. section: Documentation
Provide docstrings for webbrowser open functions.
..
.. bpo: 40499 .. date: 2020-05-04-14-20-02 .. nonce: tjLSo8 .. section: Documentation
Mention that :func:asyncio.wait requires a non-empty set of awaitables.
..
.. bpo: 39705 .. date: 2020-03-14-18-37-06 .. nonce: nQVqig .. section: Documentation
Tutorial example for sorted() in the Loop Techniques section is given a better explanation. Also a new example is included to explain sorted()'s basic behavior.
..
.. bpo: 39435 .. date: 2020-01-24-05-42-57 .. nonce: EFcdFU .. section: Documentation
Fix an incorrect signature for :func:pickle.loads in the docs
..
.. bpo: 40055 .. date: 2020-05-15-01-21-44 .. nonce: Xp4aP9 .. section: Tests
distutils.tests now saves/restores warnings filters to leave them unchanged. Importing tests imports docutils which imports pkg_resources which adds a warnings filter.
..
.. bpo: 40436 .. date: 2020-04-29-16-08-24 .. nonce: gDMnYl .. section: Tests
test_gdb and test.pythoninfo now check gdb command exit code.
..
.. bpo: 40653 .. date: 2020-05-17-03-33-00 .. nonce: WI8UGn .. section: Build
Move _dirnameW out of HAVE_SYMLINK to fix a potential compiling issue.
..
.. bpo: 40514 .. date: 2020-05-05-15-39-11 .. nonce: bZZmuS .. section: Build
Add --with-experimental-isolated-subinterpreters build option to
configure: better isolate subinterpreters, experimental build mode.
..
.. bpo: 40650 .. date: 2020-05-17-00-08-13 .. nonce: 4euMtU .. section: Windows
Include winsock2.h in pytime.c for timeval.
..
.. bpo: 40458 .. date: 2020-05-01-20-57-57 .. nonce: Eb0ueI .. section: Windows
Increase reserved stack space to prevent overflow crash on Windows.
..
.. bpo: 39148 .. date: 2020-03-23-19-07-55 .. nonce: W1YJEb .. section: Windows
Add IPv6 support to :mod:asyncio datagram endpoints in ProactorEventLoop.
Change the raised exception for unknown address families to ValueError as
it's not coming from Windows API.
..
.. bpo: 34956 .. date: 2020-05-18-02-43-11 .. nonce: 35IcGF .. section: macOS
When building Python on macOS from source, _tkinter now links with
non-system Tcl and Tk frameworks if they are installed in
/Library/Frameworks, as had been the case on older releases
of macOS. If a macOS SDK is explicitly configured, by using
--enable-universalsdk= or -isysroot, only the SDK itself is
searched. The default behavior can still be overridden with
--with-tcltk-includes and --with-tcltk-libs.
..
.. bpo: 35569 .. date: 2020-04-15-00-02-47 .. nonce: 02_1MV .. section: macOS
Expose RFC 3542 IPv6 socket options.
..
.. bpo: 40479 .. date: 2020-05-15-17-48-25 .. nonce: B1gBl- .. section: Tools/Demos
Update multissltest helper to test with latest OpenSSL 1.0.2, 1.1.0, 1.1.1, and 3.0.0-alpha.
..
.. bpo: 40431 .. date: 2020-04-29-01-32-17 .. nonce: B_aEZ0 .. section: Tools/Demos
Fix a syntax typo in turtledemo that now raises a SyntaxError.
..
.. bpo: 40163 .. date: 2020-04-03-08-32-31 .. nonce: lX8K4B .. section: Tools/Demos
Fix multissltest tool. OpenSSL has changed download URL for old releases. The multissltest tool now tries to download from current and old download URLs.
..
.. bpo: 39465 .. date: 2020-05-14-00-36-19 .. nonce: 3a5g-X .. section: C API
Remove the _PyUnicode_ClearStaticStrings() function from the C API.
..
.. bpo: 38787 .. date: 2020-05-10-16-39-08 .. nonce: XzQ59O .. section: C API
Add PyCFunction_CheckExact() macro for exact type checks now that we allow subtypes of PyCFunction, as well as PyCMethod_CheckExact() and PyCMethod_Check() for the new PyCMethod subtype.
..
.. bpo: 40545 .. date: 2020-05-07-11-41-13 .. nonce: 51DzF1 .. section: C API
Declare _PyErr_GetTopmostException() with PyAPI_FUNC() to properly
export the function in the C API. The function remains private (_Py)
prefix.
..
.. bpo: 40412 .. date: 2020-05-01-17-28-04 .. nonce: dE0D8N .. section: C API
Nullify inittab_copy during finalization, preventing future interpreter initializations in an embedded situation from crashing. Patch by Gregory Szorc.
..
.. bpo: 40429 .. date: 2020-04-29-01-39-41 .. nonce: VQfvta .. section: C API
The :c:func:PyThreadState_GetFrame function now returns a strong reference
to the frame.
..
.. bpo: 40428 .. date: 2020-04-28-23-17-27 .. nonce: rmtpru .. section: C API
Remove the following functions from the C API. Call :c:func:PyGC_Collect
explicitly to free all free lists.
PyAsyncGen_ClearFreeLists()PyContext_ClearFreeList()PyDict_ClearFreeList()PyFloat_ClearFreeList()PyFrame_ClearFreeList()PyList_ClearFreeList()PySet_ClearFreeList()PyTuple_ClearFreeList()..
.. bpo: 40421 .. date: 2020-04-28-19-29-36 .. nonce: 3uIIaB .. section: C API
New :c:func:PyFrame_GetBack function: get the frame next outer frame.
..
.. bpo: 40421 .. date: 2020-04-28-15-47-58 .. nonce: ZIzOV0 .. section: C API
New :c:func:PyFrame_GetCode function: return a borrowed reference to the
frame code.
..
.. bpo: 40217 .. date: 2020-04-27-14-00-38 .. nonce: sgn6c8 .. section: C API
Ensure that instances of types created with
:c:func:PyType_FromSpecWithBases will visit its class object when
traversing references in the garbage collector (implemented as an extension
of the provided :c:member:~PyTypeObject.tp_traverse). Patch by Pablo
Galindo.
..
.. bpo: 38787 .. date: 2020-01-22-12-38-59 .. nonce: HUH6hd .. section: C API
Module C state is now accessible from C-defined heap type methods
(:pep:573). Patch by Marcel Plch and Petr Viktorin.