Misc/NEWS.d/3.10.0a2.rst
.. bpo: 42103 .. date: 2020-10-23-19-19-30 .. nonce: cILT66 .. release date: 2020-11-03 .. section: Security
Prevented potential DoS attack via CPU and RAM exhaustion when processing malformed Apple Property List files in binary format.
..
.. bpo: 42051 .. date: 2020-10-19-10-56-27 .. nonce: EU_B7u .. section: Security
The :mod:plistlib module no longer accepts entity declarations in XML
plist files to avoid XML vulnerabilities. This should not affect users as
entity declarations are not used in regular plist files.
..
.. bpo: 42236 .. date: 2020-11-01-21-21-38 .. nonce: MPx-NK .. section: Core and Builtins
If the nl_langinfo(CODESET) function returns an empty string, Python now
uses UTF-8 as the filesystem encoding. Patch by Victor Stinner.
..
.. bpo: 42218 .. date: 2020-10-31-17-50-23 .. nonce: Dp_Z3v .. section: Core and Builtins
Fixed a bug in the PEG parser that was causing crashes in debug mode. Now errors are checked in left-recursive rules to avoid cases where such errors do not get handled in time and appear as long-distance crashes in other places.
..
.. bpo: 42214 .. date: 2020-10-30-22-16-30 .. nonce: lXskM_ .. section: Core and Builtins
Fixed a possible crash in the PEG parser when checking for the '!=' token in
the barry_as_flufl rule. Patch by Pablo Galindo.
..
.. bpo: 42206 .. date: 2020-10-30-13-11-01 .. nonce: xxssR8 .. section: Core and Builtins
Propagate and raise the errors caused by :c:func:PyAST_Validate in the
parser.
..
.. bpo: 41796 .. date: 2020-10-29-12-49-08 .. nonce: tkGdHq .. section: Core and Builtins
The :mod:ast module internal state is now per interpreter. Patch by Victor
Stinner.
..
.. bpo: 42143 .. date: 2020-10-27-21-34-05 .. nonce: N6KXUO .. section: Core and Builtins
Fix handling of errors during creation of PyFunctionObject, which
resulted in operations on uninitialized memory. Patch by Yonatan
Goldschmidt.
..
.. bpo: 41659 .. date: 2020-10-27-18-32-49 .. nonce: d4a-8o .. section: Core and Builtins
Fix a bug in the parser, where a curly brace following a primary didn't
fail immediately. This led to invalid expressions like a {b} to throw a
:exc:SyntaxError with a wrong offset, or invalid expressions ending with a
curly brace like a { to not fail immediately in the REPL.
..
.. bpo: 42150 .. date: 2020-10-25-21-14-18 .. nonce: b70u_T .. section: Core and Builtins
Fix possible buffer overflow in the new parser when checking for continuation lines. Patch by Pablo Galindo.
..
.. bpo: 42123 .. date: 2020-10-23-02-43-24 .. nonce: 64gJWC .. section: Core and Builtins
Run the parser two times. On the first run, disable all the rules that only generate better error messages to gain performance. If there's a parse failure, run the parser a second time with those enabled.
..
.. bpo: 42093 .. date: 2020-10-20-04-24-07 .. nonce: ooZZNh .. section: Core and Builtins
The LOAD_ATTR instruction now uses new "per opcode cache" mechanism and
it is about 36% faster now. Patch by Pablo Galindo and Yury Selivanov.
..
.. bpo: 42030 .. date: 2020-10-15-21-55-32 .. nonce: PmU2CA .. section: Core and Builtins
Support for the legacy AIX-specific shared library loading support has been removed. All versions of AIX since 4.3 have supported and defaulted to using the common Unix mechanism instead.
..
.. bpo: 41984 .. date: 2020-10-14-16-19-43 .. nonce: SEtKMr .. section: Core and Builtins
The garbage collector now tracks all user-defined classes. Patch by Brandt Bucher.
..
.. bpo: 41993 .. date: 2020-10-10-13-53-52 .. nonce: YMzixQ .. section: Core and Builtins
Fixed potential issues with removing not completely initialized module from
sys.modules when import fails.
..
.. bpo: 41979 .. date: 2020-10-09-10-55-50 .. nonce: ImXIk2 .. section: Core and Builtins
Star-unpacking is now allowed for with item's targets in the PEG parser.
..
.. bpo: 41974 .. date: 2020-10-08-09-58-19 .. nonce: 8B-q8O .. section: Core and Builtins
Removed special methods __int__, __float__, __floordiv__,
__mod__, __divmod__, __rfloordiv__, __rmod__ and
__rdivmod__ of the :class:complex class. They always raised a
:exc:TypeError.
..
.. bpo: 41902 .. date: 2020-10-02-13-32-05 .. nonce: ZKTxzW .. section: Core and Builtins
Micro optimization when compute :c:member:~PySequenceMethods.sq_item and
:c:member:~PyMappingMethods.mp_subscript of :class:range. Patch by
Donghee Na.
..
.. bpo: 41894 .. date: 2020-10-02-11-35-33 .. nonce: ffmtOt .. section: Core and Builtins
When loading a native module and a load failure occurs, prevent a possible UnicodeDecodeError when not running in a UTF-8 locale by decoding the load error message using the current locale's encoding.
..
.. bpo: 41902 .. date: 2020-10-01-22-44-23 .. nonce: iLoMVF .. section: Core and Builtins
Micro optimization for range.index if step is 1. Patch by Donghee Na.
..
.. bpo: 41435 .. date: 2020-08-07-13-42-48 .. nonce: qPWjJA .. section: Library
Add sys._current_exceptions() function to retrieve a dictionary mapping
each thread's identifier to the topmost exception currently active in that
thread at the time the function is called.
..
.. bpo: 38605 .. date: 2020-05-27-16-08-16 .. nonce: rcs2uK .. section: Core and Builtins
Enable from __future__ import annotations (:pep:563) by default. The
values found in :attr:~object.__annotations__ dicts are now strings, for
example {"x": "int"} instead of {"x": int}.
..
.. bpo: 35455 .. date: 2020-11-02-14-10-48 .. nonce: Q1xTIo .. section: Library
On Solaris, :func:~time.thread_time is now implemented with
gethrvtime() because clock_gettime(CLOCK_THREAD_CPUTIME_ID) is not
always available. Patch by Jakub Kulik.
..
.. bpo: 42233 .. date: 2020-11-02-01-31-15 .. nonce: YxRj-h .. section: Library
The :func:repr of :mod:typing types containing :ref:Generic Alias Types <types-genericalias> previously did not show the parameterized types in the
GenericAlias. They have now been changed to do so.
..
.. bpo: 29566 .. date: 2020-10-31-13-28-36 .. nonce: 6aDbty .. section: Library
binhex.binhex() consistently writes macOS 9 line endings.
..
.. bpo: 26789 .. date: 2020-10-31-01-16-49 .. nonce: 9BdNAt .. section: Library
The :class:logging.FileHandler class now keeps a reference to the builtin
:func:open function to be able to open or reopen the file during Python
finalization. Fix errors like: NameError: name 'open' is not defined.
Patch by Victor Stinner.
..
.. bpo: 42157 .. date: 2020-10-26-23-29-16 .. nonce: 4wuwTe .. section: Library
Removed the unicodedata.ucnhash_CAPI attribute which was an internal
PyCapsule object. The related private _PyUnicode_Name_CAPI structure was
moved to the internal C API. Patch by Victor Stinner.
..
.. bpo: 42157 .. date: 2020-10-26-19-08-07 .. nonce: Bdpa04 .. section: Library
Convert the :mod:unicodedata extension module to the multiphase
initialization API (:pep:489) and convert the unicodedata.UCD static
type to a heap type. Patch by Mohamed Koubaa and Victor Stinner.
..
.. bpo: 42146 .. date: 2020-10-25-19-25-02 .. nonce: 6A8uvS .. section: Library
Fix memory leak in :func:subprocess.Popen in case an uid (gid) specified
in user (group, extra_groups) overflows uid_t (gid_t).
..
.. bpo: 42103 .. date: 2020-10-23-19-20-14 .. nonce: C5obK2 .. section: Library
:exc:~plistlib.InvalidFileException and :exc:RecursionError are now the
only errors caused by loading malformed binary Plist file (previously
ValueError and TypeError could be raised in some specific cases).
..
.. bpo: 41490 .. date: 2020-10-23-08-54-47 .. nonce: -Yk6OD .. section: Library
In importlib.resources, .path method is more aggressive about
releasing handles to zipfile objects early, enabling use-cases like certifi
to leave the context open but delete the underlying zip file.
..
.. bpo: 41052 .. date: 2020-10-21-23-45-02 .. nonce: 3N7J2J .. section: Library
Pickling heap types implemented in C with protocols 0 and 1 raises now an error instead of producing incorrect data.
..
.. bpo: 42089 .. date: 2020-10-19-16-53-19 .. nonce: R1dthW .. section: Library
In importlib.metadata.PackageNotFoundError, make reference to the
package metadata being missing to improve the user experience.
..
.. bpo: 41491 .. date: 2020-10-19-14-02-09 .. nonce: d1BUWH .. section: Library
plistlib: fix parsing XML plists with hexadecimal integer values
..
.. bpo: 42065 .. date: 2020-10-17-23-17-18 .. nonce: 85BsRA .. section: Library
Fix an incorrectly formatted error from :meth:!_codecs.charmap_decode when
called with a mapped value outside the range of valid Unicode code points.
PR by Max Bernstein.
..
.. bpo: 41966 .. date: 2020-10-17-07-52-53 .. nonce: gwEQRZ .. section: Library
Fix pickling pure Python :class:datetime.time subclasses. Patch by Dean
Inwood.
..
.. bpo: 19270 .. date: 2020-10-16-22-48-01 .. nonce: jd_gkA .. section: Library
:meth:sched.scheduler.cancel will now cancel the correct event, if two
events with same priority are scheduled for the same time. Patch by Bar
Harel.
..
.. bpo: 28660 .. date: 2020-10-16-16-08-04 .. nonce: eX9pvD .. section: Library
:func:textwrap.wrap now attempts to break long words after hyphens when
break_long_words=True and break_on_hyphens=True.
..
.. bpo: 35823 .. date: 2020-10-16-07-45-35 .. nonce: SNQo56 .. section: Library
Use vfork() instead of fork() for :func:subprocess.Popen on Linux
to improve performance in cases where it is deemed safe.
..
.. bpo: 42043 .. date: 2020-10-15-17-20-37 .. nonce: OS0p_v .. section: Library
Add support for zipfile.Path inheritance. zipfile.Path.is_file() now
returns False for non-existent names. zipfile.Path objects now expose a
.filename attribute and rely on that to resolve .name and
.parent when the Path object is at the root of the zipfile.
..
.. bpo: 42021 .. date: 2020-10-12-21-21-24 .. nonce: 8yv_8- .. section: Library
Fix possible ref leaks in :mod:sqlite3 module init.
..
.. bpo: 39101 .. date: 2020-10-11-21-43-03 .. nonce: -I49Pm .. section: Library
Fixed tests using IsolatedAsyncioTestCase from hanging on BaseExceptions.
..
.. bpo: 41976 .. date: 2020-10-08-18-22-28 .. nonce: Svm0wb .. section: Library
Fixed a bug that was causing :func:ctypes.util.find_library to return
None when triying to locate a library in an environment when gcc>=9 is
available and ldconfig is not. Patch by Pablo Galindo
..
.. bpo: 41943 .. date: 2020-10-07-18-36-03 .. nonce: Pt55fT .. section: Library
Fix bug where TestCase.assertLogs doesn't correctly filter messages by level.
..
.. bpo: 41923 .. date: 2020-10-03-23-14-50 .. nonce: Buonw9 .. section: Library
Implement :pep:613, introducing :data:typing.TypeAlias annotation.
..
.. bpo: 41905 .. date: 2020-10-01-21-11-03 .. nonce: _JpjR4 .. section: Library
A new function in abc: update_abstractmethods to re-calculate an abstract class's abstract status. In addition, dataclass has been changed to call this function.
..
.. bpo: 23706 .. date: 2020-09-30-11-05-11 .. nonce: dHTGjF .. section: Library
Added newline parameter to pathlib.Path.write_text().
..
.. bpo: 41876 .. date: 2020-09-29-16-23-54 .. nonce: QicdDU .. section: Library
Tkinter font class repr uses font name
..
.. bpo: 41831 .. date: 2020-09-22-11-07-50 .. nonce: k-Eop_ .. section: Library
str() for the type attribute of the tkinter.Event object always
returns now the numeric code returned by Tk instead of the name of the event
type.
..
.. bpo: 39337 .. date: 2020-09-13-02-02-18 .. nonce: L3NXTt .. section: Library
:func:encodings.normalize_encoding now ignores non-ASCII characters.
..
.. bpo: 41747 .. date: 2020-09-08-23-41-29 .. nonce: M6wLKv .. section: Library
Ensure all methods that generated from :func:dataclasses.dataclass objects
now have the proper __qualname__ attribute referring to the class they
belong to. Patch by Batuhan Taskaya.
..
.. bpo: 30681 .. date: 2020-09-04-17-33-04 .. nonce: LR4fnY .. section: Library
Handle exceptions caused by unparsable date headers when using email "default" policy. Patch by Tim Bell, Georges Toth
..
.. bpo: 41586 .. date: 2020-08-19-08-32-13 .. nonce: IYjmjK .. section: Library
Add F_SETPIPE_SZ and F_GETPIPE_SZ to fcntl module. Allow setting pipesize on subprocess.Popen.
..
.. bpo: 41229 .. date: 2020-07-19-20-10-41 .. nonce: p8rJa2 .. section: Library
Add contextlib.aclosing for deterministic cleanup of async generators
which is analogous to contextlib.closing for non-async generators. Patch
by Joongi Kim and John Belmonte.
..
.. bpo: 16396 .. date: 2020-07-08-09-45-00 .. nonce: z8o8Pn .. section: Library
Allow ctypes.wintypes to be imported on non-Windows systems.
..
.. bpo: 4356 .. date: 2020-05-31-10-48-47 .. nonce: P8kXqp .. section: Library
Add a key function to the bisect module.
..
.. bpo: 40592 .. date: 2020-05-14-16-01-34 .. nonce: Cmk855 .. section: Library
:func:shutil.which now ignores empty entries in :envvar:PATHEXT instead
of treating them as a match.
..
.. bpo: 40492 .. date: 2020-05-04-12-16-00 .. nonce: ONk9Na .. section: Library
Fix --outfile for :mod:!cProfile / :mod:!profile not writing the
output file in the original directory when the program being profiled
changes the working directory. PR by Anthony Sottile.
..
.. bpo: 34204 .. date: 2020-04-21-17-18-33 .. nonce: 9wXTtY .. section: Library
The :mod:shelve module now uses :const:pickle.DEFAULT_PROTOCOL by default
instead of :mod:pickle protocol 3.
..
.. bpo: 27321 .. date: 2020-01-19-18-40-26 .. nonce: 8e6SpM .. section: Library
Fixed KeyError exception when flattening an email to a string attempts to replace a non-existent Content-Transfer-Encoding header.
..
.. bpo: 38976 .. date: 2019-12-05-05-22-49 .. nonce: 5MG7Uu .. section: Library
The :mod:http.cookiejar module now supports the parsing of cookies in
CURL-style cookiejar files through MozillaCookieJar on all platforms.
Previously, such cookie entries would be silently ignored when loading a
cookiejar with such entries.
Additionally, the HTTP Only attribute is persisted in the object, and will be correctly written to file if the MozillaCookieJar object is subsequently dumped.
..
.. bpo: 42061 .. date: 2020-10-28-21-39-45 .. nonce: _x-0sg .. section: Documentation
Document format functionality for IP addresses.
..
.. bpo: 41910 .. date: 2020-10-21-14-40-54 .. nonce: CzBMit .. section: Documentation
Document the default implementation of object.__eq__.
..
.. bpo: 42010 .. date: 2020-10-21-02-21-14 .. nonce: 76vJ0u .. section: Documentation
Clarify that subscription expressions are also valid for certain
:term:classes <class> and :term:types <type> in the standard library,
and for user-defined classes and types if the classmethod
:meth:__class_getitem__ is provided.
..
.. bpo: 41805 .. date: 2020-10-10-01-36-37 .. nonce: l-CGv5 .. section: Documentation
Documented :ref:generic alias type <types-genericalias> and
:data:types.GenericAlias. Also added an entry in glossary for
:term:generic types <generic type>.
..
.. bpo: 39693 .. date: 2020-02-24-09-02-05 .. nonce: QXw0Fm .. section: Documentation
Fix tarfile's extractfile documentation
..
.. bpo: 39416 .. date: 2020-01-22-05-14-53 .. nonce: uYjhEm .. section: Documentation
Document some restrictions on the default string representations of numeric classes.
..
.. bpo: 41739 .. date: 2020-10-12-00-11-47 .. nonce: wSCc4K .. section: Tests
Fix test_logging.test_race_between_set_target_and_flush(): the test now waits until all threads complete to avoid leaking running threads.
..
.. bpo: 41970 .. date: 2020-10-08-14-00-17 .. nonce: aZ8QFf .. section: Tests
Avoid a test failure in test_lib2to3 if the module has already imported
at the time the test executes. Patch by Pablo Galindo.
..
.. bpo: 41944 .. date: 2020-10-05-17-43-46 .. nonce: rf1dYb .. section: Tests
Tests for CJK codecs no longer call eval() on content received via HTTP.
..
.. bpo: 41306 .. date: 2020-08-03-13-44-37 .. nonce: VDoWXI .. section: Tests
Fixed a failure in test_tk.test_widgets.ScaleTest happening when
executing the test with Tk 8.6.10.
..
.. bpo: 38980 .. date: 2020-10-21-18-31-54 .. nonce: xz7BNd .. section: Build
Add -fno-semantic-interposition to both the compile and link line when
building with --enable-optimizations. Patch by Victor Stinner and Pablo
Galindo.
..
.. bpo: 38439 .. date: 2020-10-20-13-19-42 .. nonce: eMLi-t .. section: Windows
Updates the icons for IDLE in the Windows Store package.
..
.. bpo: 38252 .. date: 2020-10-18-18-43-45 .. nonce: 7Nlepg .. section: Windows
Use 8-byte step to detect ASCII sequence in 64-bit Windows build.
..
.. bpo: 39107 .. date: 2020-09-24-23-09-40 .. nonce: GbUZvD .. section: Windows
Update Tcl and Tk to 8.6.10 in Windows installer.
..
.. bpo: 41557 .. date: 2020-08-26-09-35-06 .. nonce: vt00cQ .. section: Windows
Update Windows installer to use SQLite 3.33.0.
..
.. bpo: 38324 .. date: 2020-05-30-02-46-43 .. nonce: 476M-5 .. section: Windows
Avoid Unicode errors when accessing certain locale data on Windows.
..
.. bpo: 41471 .. date: 2020-10-19-12-25-19 .. nonce: gwA7un .. section: macOS
Ignore invalid prefix lengths in system proxy excludes.
..
.. bpo: 33987 .. date: 2020-10-24-21-27-37 .. nonce: fIh9JL .. section: IDLE
Mostly finish using ttk widgets, mainly for editor, settings, and searches. Some patches by Mark Roseman.
..
.. bpo: 40511 .. date: 2020-06-16-12-16-13 .. nonce: XkihpM .. section: IDLE
Typing opening and closing parentheses inside the parentheses of a function call will no longer cause unnecessary "flashing" off and on of an existing open call-tip, e.g. when typed in a string literal.
..
.. bpo: 38439 .. date: 2020-04-22-09-37-40 .. nonce: ieXL-c .. section: IDLE
Add a 256×256 pixel IDLE icon to the Windows .ico file. Created by Andrew Clover. Remove the low-color gif variations from the .ico file.
..
.. bpo: 42157 .. date: 2020-10-16-10-47-17 .. nonce: e3BcPM .. section: C API
The private _PyUnicode_Name_CAPI structure of the PyCapsule API
unicodedata.ucnhash_CAPI has been moved to the internal C API. Patch by
Victor Stinner.
..
.. bpo: 42015 .. date: 2020-10-12-20-13-58 .. nonce: X4H2_V .. section: C API
Fix potential crash in deallocating method objects when dynamically
allocated :c:type:PyMethodDef's lifetime is managed through the self argument
of a :c:type:PyCFunction.
..
.. bpo: 40423 .. date: 2020-10-11-19-17-44 .. nonce: GsmgEj .. section: C API
The :mod:subprocess module and os.closerange will now use the
close_range(low, high, flags) syscall when it is available for more
efficient closing of ranges of descriptors.
..
.. bpo: 41845 .. date: 2020-10-11-05-05-53 .. nonce: ZFvuQM .. section: C API
:c:func:PyObject_GenericGetDict is available again in the limited API when
targeting 3.10 or later.
..
.. bpo: 40422 .. date: 2020-10-10-14-05-24 .. nonce: sh8IDY .. section: C API
Add _Py_closerange function to provide performant closing of a range of
file descriptors.
..
.. bpo: 41986 .. date: 2020-10-09-22-50-46 .. nonce: JUPE59 .. section: C API
:c:data:!Py_FileSystemDefaultEncodeErrors and :c:data:!Py_UTF8Mode are
available again in limited API.
..
.. bpo: 41756 .. date: 2020-09-28-14-31-07 .. nonce: ZZ5wJG .. section: C API
Add PyIter_Send function to allow sending value into
generator/coroutine/iterator without raising StopIteration exception to
signal return.
..
.. bpo: 41784 .. date: 2020-09-14-10-17-00 .. nonce: Yl4gI2 .. section: C API
Added PyUnicode_AsUTF8AndSize to the limited C API.