cpython/Misc/NEWS.d/3.8.0b2.rst

934 lines
19 KiB
ReStructuredText

.. bpo: 37363
.. date: 2019-07-01-10-31-14
.. nonce: fSjatj
.. release date: 2019-07-04
.. section: Security
Adds audit events for the range of supported run commands (see
:ref:`using-on-general`).
..
.. bpo: 37463
.. date: 2019-07-01-08-46-14
.. nonce: 1CHwjE
.. section: Security
ssl.match_hostname() no longer accepts IPv4 addresses with additional text
after the address and only quad-dotted notation without trailing
whitespaces. Some inet_aton() implementations ignore whitespace and all data
after whitespace, e.g. '127.0.0.1 whatever'.
..
.. bpo: 37363
.. date: 2019-06-21-15-58-59
.. nonce: diouyl
.. section: Security
Adds audit events for :mod:`ensurepip`, :mod:`ftplib`, :mod:`glob`,
:mod:`imaplib`, :mod:`nntplib`, :mod:`pdb`, :mod:`poplib`, :mod:`shutil`,
:mod:`smtplib`, :mod:`sqlite3`, :mod:`subprocess`, :mod:`telnetlib`,
:mod:`tempfile` and :mod:`webbrowser`, as well as :func:`os.listdir`,
:func:`os.scandir` and :func:`breakpoint`.
..
.. bpo: 37364
.. date: 2019-06-21-14-42-53
.. nonce: IIRc2s
.. section: Security
:func:`io.open_code` is now used when reading :file:`.pth` files.
..
.. bpo: 34631
.. date: 2019-06-17-09-34-25
.. nonce: DBfM4j
.. section: Security
Updated OpenSSL to 1.1.1c in Windows installer
..
.. bpo: 37467
.. date: 2019-07-01-12-22-44
.. nonce: u-XyEu
.. section: Core and Builtins
Fix :func:`sys.excepthook` and :c:func:`PyErr_Display` if a filename is a
bytes string. For example, for a SyntaxError exception where the filename
attribute is a bytes string.
..
.. bpo: 37417
.. date: 2019-06-26-18-41-00
.. nonce: VsZeHL
.. section: Core and Builtins
:meth:`bytearray.extend` now correctly handles errors that arise during
iteration. Patch by Brandt Bucher.
..
.. bpo: 24214
.. date: 2019-06-22-12-45-20
.. nonce: hIiHeD
.. section: Core and Builtins
Improved support of the surrogatepass error handler in the UTF-8 and UTF-16
incremental decoders.
..
.. bpo: 35224
.. date: 2019-06-17-06-03-55
.. nonce: FHWPGv
.. section: Core and Builtins
Reverse evaluation order of key: value in dict comprehensions as proposed in
PEP 572. I.e. in ``{k: v for ...}``, ``k`` will be evaluated before ``v``.
..
.. bpo: 37316
.. date: 2019-06-17-03-53-16
.. nonce: LytDX_
.. section: Core and Builtins
Fix the :c:func:`PySys_Audit` call in :class:`mmap.mmap`.
..
.. bpo: 37269
.. date: 2019-06-14-06-32-33
.. nonce: SjVVAe
.. section: Core and Builtins
Fix a bug in the peephole optimizer that was not treating correctly constant
conditions with binary operators. Patch by Pablo Galindo.
..
.. bpo: 37213
.. date: 2019-06-11-11-15-19
.. nonce: UPii5K
.. section: Core and Builtins
Handle correctly negative line offsets in the peephole optimizer. Patch by
Pablo Galindo.
..
.. bpo: 37219
.. date: 2019-06-10-23-18-31
.. nonce: jPSufq
.. section: Core and Builtins
Remove errorneous optimization for empty set differences.
..
.. bpo: 36922
.. date: 2019-06-06-13-59-52
.. nonce: EMZ3TF
.. section: Core and Builtins
Slot functions optimize any callable with ``Py_TPFLAGS_METHOD_DESCRIPTOR``
instead of only instances of ``function``.
..
.. bpo: 36974
.. date: 2019-06-06-11-00-55
.. nonce: wdzzym
.. section: Core and Builtins
The slot ``tp_vectorcall_offset`` is inherited unconditionally to support
``super().__call__()`` when the base class uses vectorcall.
..
.. bpo: 37160
.. date: 2019-06-05-09-24-17
.. nonce: O3IAY3
.. section: Core and Builtins
:func:`threading.get_native_id` now also supports NetBSD.
..
.. bpo: 37077
.. date: 2019-05-28-11-47-44
.. nonce: S1h0Fc
.. section: Core and Builtins
Add :func:`threading.get_native_id` support for AIX. Patch by M. Felt
..
.. bpo: 37440
.. date: 2019-06-28-16-40-17
.. nonce: t3wX-N
.. section: Library
http.client now enables TLS 1.3 post-handshake authentication for default
context or if a cert_file is passed to HTTPSConnection.
..
.. bpo: 37437
.. date: 2019-06-27-20-33-50
.. nonce: du39_A
.. section: Library
Update vendorized expat version to 2.2.7.
..
.. bpo: 37428
.. date: 2019-06-27-13-27-02
.. nonce: _wcwUd
.. section: Library
SSLContext.post_handshake_auth = True no longer sets
SSL_VERIFY_POST_HANDSHAKE verify flag for client connections. Although the
option is documented as ignored for clients, OpenSSL implicitly enables cert
chain validation when the flag is set.
..
.. bpo: 37420
.. date: 2019-06-26-22-25-05
.. nonce: CxFJ09
.. section: Library
:func:`os.sched_setaffinity` now correctly handles errors that arise during
iteration over its ``mask`` argument. Patch by Brandt Bucher.
..
.. bpo: 37412
.. date: 2019-06-26-16-28-59
.. nonce: lx0VjC
.. section: Library
The :func:`os.getcwdb` function now uses the UTF-8 encoding on Windows,
rather than the ANSI code page: see :pep:`529` for the rationale. The
function is no longer deprecated on Windows.
..
.. bpo: 29412
.. date: 2019-06-25-19-27-25
.. nonce: n4Zqdh
.. section: Library
Fix IndexError in parsing a header value ending unexpectedly. Patch by
Abhilash Raj.
..
.. bpo: 36546
.. date: 2019-06-25-05-07-48
.. nonce: RUcxaK
.. section: Library
The *dist* argument for statistics.quantiles() is now positional only. The
current name doesn't reflect that the argument can be either a dataset or a
distribution. Marking the parameter as positional avoids confusion and
makes it possible to change the name later.
..
.. bpo: 37394
.. date: 2019-06-25-02-10-00
.. nonce: srZ1zx
.. section: Library
Fix a bug that was causing the :mod:`queue` module to fail if the
accelerator module was not available. Patch by Pablo Galindo.
..
.. bpo: 33972
.. date: 2019-06-15-14-39-50
.. nonce: XxnNPw
.. section: Library
Email with single part but content-type set to ``multipart/*`` doesn't raise
AttributeError anymore.
..
.. bpo: 37280
.. date: 2019-06-14-13-30-47
.. nonce: Fxur0F
.. section: Library
Use threadpool for reading from file for sendfile fallback mode.
..
.. bpo: 37279
.. date: 2019-06-14-13-25-56
.. nonce: OHlW6l
.. section: Library
Fix asyncio sendfile support when sendfile sends extra data in fallback
mode.
..
.. bpo: 19865
.. date: 2019-06-14-08-30-16
.. nonce: FRGH4I
.. section: Library
:func:`ctypes.create_unicode_buffer()` now also supports non-BMP characters
on platforms with 16-bit :c:type:`wchar_t` (for example, Windows and AIX).
..
.. bpo: 37210
.. date: 2019-06-12-16-10-50
.. nonce: r4yMg6
.. section: Library
Allow pure Python implementation of :mod:`pickle` to work even when the C
:mod:`_pickle` module is unavailable.
..
.. bpo: 35922
.. date: 2019-06-11-19-34-29
.. nonce: rxpzWr
.. section: Library
Fix :meth:`RobotFileParser.crawl_delay` and
:meth:`RobotFileParser.request_rate` to return ``None`` rather than raise
:exc:`AttributeError` when no relevant rule is defined in the robots.txt
file. Patch by Rémi Lapeyre.
..
.. bpo: 35766
.. date: 2019-06-11-16-41-40
.. nonce: v1Kj-T
.. section: Library
Change the format of feature_version to be a (major, minor) tuple.
..
.. bpo: 36607
.. date: 2019-06-11-13-52-04
.. nonce: 5_mJkQ
.. section: Library
Eliminate :exc:`RuntimeError` raised by :func:`asyncio.all_tasks()` if
internal tasks weak set is changed by another thread during iteration.
..
.. bpo: 18748
.. date: 2019-06-11-01-54-19
.. nonce: ADqCkq
.. section: Library
:class:`_pyio.IOBase` destructor now does nothing if getting the ``closed``
attribute fails to better mimick :class:`_io.IOBase` finalizer.
..
.. bpo: 36402
.. date: 2019-06-11-00-35-02
.. nonce: b0IJVp
.. section: Library
Fix a race condition at Python shutdown when waiting for threads. Wait until
the Python thread state of all non-daemon threads get deleted (join all
non-daemon threads), rather than just wait until non-daemon Python threads
complete.
..
.. bpo: 34886
.. date: 2019-06-08-16-03-19
.. nonce: Ov-pc9
.. section: Library
Fix an unintended ValueError from :func:`subprocess.run` when checking for
conflicting `input` and `stdin` or `capture_output` and `stdout` or `stderr`
args when they were explicitly provided but with `None` values within a
passed in `**kwargs` dict rather than as passed directly by name. Patch
contributed by Rémi Lapeyre.
..
.. bpo: 37173
.. date: 2019-06-08-11-33-48
.. nonce: 0e_8gS
.. section: Library
The exception message for ``inspect.getfile()`` now correctly reports the
passed class rather than the builtins module.
..
.. bpo: 37178
.. date: 2019-06-07-17-16-09
.. nonce: Day_oB
.. section: Library
Give math.perm() a one argument form that means the same as
math.factorial().
..
.. bpo: 37178
.. date: 2019-06-07-17-11-34
.. nonce: b1StSv
.. section: Library
For math.perm(n, k), let k default to n, giving the same result as
factorial.
..
.. bpo: 37163
.. date: 2019-06-07-08-18-05
.. nonce: 36JkUh
.. section: Library
Deprecated passing ``obj`` argument of :func:`dataclasses.replace` as
keyword argument.
..
.. bpo: 37165
.. date: 2019-06-05-11-48-19
.. nonce: V_rwfE
.. section: Library
Converted _collections._count_elements to use the Argument Clinic.
..
.. bpo: 34767
.. date: 2019-06-04-23-44-52
.. nonce: BpDShN
.. section: Library
Do not always create a :class:`collections.deque` in :class:`asyncio.Lock`.
..
.. bpo: 37158
.. date: 2019-06-04-22-25-38
.. nonce: JKm15S
.. section: Library
Speed-up statistics.fmean() by switching from a function to a generator.
..
.. bpo: 37150
.. date: 2019-06-04-14-44-41
.. nonce: TTzHxj
.. section: Library
`argparse._ActionsContainer.add_argument` now throws error, if someone
accidentally pass FileType class object instead of instance of FileType as
`type` argument
..
.. bpo: 35621
.. date: 2019-05-28-19-03-46
.. nonce: Abc1lf
.. section: Library
Support running asyncio subprocesses when execution event loop in a thread
on UNIX.
..
.. bpo: 36520
.. date: 2019-05-28-02-37-00
.. nonce: W4tday
.. section: Library
Lengthy email headers with UTF-8 characters are now properly encoded when
they are folded. Patch by Jeffrey Kintscher.
..
.. bpo: 30835
.. date: 2019-05-27-15-29-46
.. nonce: 3FoaWH
.. section: Library
Fixed a bug in email parsing where a message with invalid bytes in
content-transfer-encoding of a multipart message can cause an
AttributeError. Patch by Andrew Donnellan.
..
.. bpo: 35805
.. date: 2019-05-17-15-11-08
.. nonce: E4YwYz
.. section: Library
Add parser for Message-ID header and add it to default HeaderRegistry. This
should prevent folding of Message-ID using RFC 2048 encoded words.
..
.. bpo: 35070
.. date: 2019-05-09-18-50-55
.. nonce: 4vaqNL
.. section: Library
posix.getgrouplist() now works correctly when the user belongs to
NGROUPS_MAX supplemental groups. Patch by Jeffrey Kintscher.
..
.. bpo: 32627
.. date: 2019-02-03-19-13-08
.. nonce: b68f64
.. section: Library
Fix compile error when ``_uuid`` headers conflicting included.
..
.. bpo: 11122
.. date: 2018-11-12-19-08-50
.. nonce: Gj7BQn
.. section: Library
Distutils won't check for rpmbuild in specified paths only.
..
.. bpo: 4963
.. date: 2017-08-15-11-24-41
.. nonce: LRYres
.. section: Library
Fixed non-deterministic behavior related to mimetypes extension mapping and
module reinitialization.
..
.. bpo: 34903
.. date: 2019-06-17-09-36-46
.. nonce: r_wGRc
.. section: Documentation
Documented that in :meth:`datetime.datetime.strptime()`, the leading zero in
some two-digit formats is optional. Patch by Mike Gleen.
..
.. bpo: 37421
.. date: 2019-07-03-00-05-28
.. nonce: ORGRSG
.. section: Tests
test_distutils.test_build_ext() is now able to remove the temporary
directory on Windows: don't import the newly built C extension ("xx") in the
current process, but test it in a separated process.
..
.. bpo: 37421
.. date: 2019-07-02-23-29-06
.. nonce: WEfc5A
.. section: Tests
test_concurrent_futures now cleans up multiprocessing to remove immediately
temporary directories created by multiprocessing.util.get_temp_dir().
..
.. bpo: 37421
.. date: 2019-07-02-23-20-35
.. nonce: HCkKWz
.. section: Tests
test_winconsoleio doesn't leak a temporary file anymore: use
tempfile.TemporaryFile() to remove it when the test completes.
..
.. bpo: 37421
.. date: 2019-07-01-19-57-26
.. nonce: NFH1f0
.. section: Tests
multiprocessing tests now explicitly call ``_run_finalizers()`` to
immediately remove temporary directories created by tests.
..
.. bpo: 37199
.. date: 2019-06-29-23-56-28
.. nonce: FHDsLf
.. section: Tests
Fix test failures when IPv6 is unavailable or disabled.
..
.. bpo: 37335
.. date: 2019-06-28-16-37-52
.. nonce: o5S2hY
.. section: Tests
Remove no longer necessary code from c locale coercion tests
..
.. bpo: 37421
.. date: 2019-06-27-00-37-59
.. nonce: rVJb3x
.. section: Tests
Fix test_shutil to no longer leak temporary files.
..
.. bpo: 37411
.. date: 2019-06-26-15-28-45
.. nonce: 5lGNhM
.. section: Tests
Fix test_wsgiref.testEnviron() to no longer depend on the environment
variables (don't fail if "X" variable is set).
..
.. bpo: 37400
.. date: 2019-06-25-16-02-43
.. nonce: cx_EWv
.. section: Tests
Fix test_os.test_chown(): use os.getgroups() rather than grp.getgrall() to
get groups. Rename also the test to test_chown_gid().
..
.. bpo: 37359
.. date: 2019-06-24-10-47-07
.. nonce: CkdtyO
.. section: Tests
Add --cleanup option to python3 -m test to remove ``test_python_*``
directories of previous failed jobs. Add "make cleantest" to run ``python3
-m test --cleanup``.
..
.. bpo: 37362
.. date: 2019-06-21-15-47-33
.. nonce: D3xppx
.. section: Tests
test_gdb no longer fails if it gets an "unexpected" message on stderr: it
now ignores stderr. The purpose of test_gdb is to test that python-gdb.py
commands work as expected, not to test gdb.
..
.. bpo: 35998
.. date: 2019-06-14-17-05-49
.. nonce: yX82oD
.. section: Tests
Avoid TimeoutError in test_asyncio: test_start_tls_server_1()
..
.. bpo: 37278
.. date: 2019-06-14-12-21-47
.. nonce: z0HUOr
.. section: Tests
Fix test_asyncio ProactorLoopCtrlC: join the thread to prevent leaking a
running thread and leaking a reference.
..
.. bpo: 37261
.. date: 2019-06-13-12-19-56
.. nonce: NuKFVo
.. section: Tests
Fix :func:`test.support.catch_unraisable_exception`: its __exit__() method
now ignores unraisable exception raised when clearing its ``unraisable``
attribute.
..
.. bpo: 37169
.. date: 2019-06-07-12-23-15
.. nonce: yfXTFg
.. section: Tests
Rewrite ``_PyObject_IsFreed()`` unit tests.
..
.. bpo: 37153
.. date: 2019-06-04-18-30-39
.. nonce: 711INB
.. section: Tests
``test_venv.test_mutiprocessing()`` now explicitly calls
``pool.terminate()`` to wait until the pool completes.
..
.. bpo: 28009
.. date: 2019-04-11-07-59-43
.. nonce: s85urF
.. section: Tests
Modify the test_uuid logic to test when a program is available AND can be
used to obtain a MACADDR as basis for an UUID. Patch by M. Felt
..
.. bpo: 37189
.. date: 2019-06-17-09-40-59
.. nonce: j5ebdT
.. section: Build
Many ``PyRun_XXX()`` functions like :c:func:`PyRun_String` were no longer
exported in ``libpython38.dll`` by mistake. Export them again to fix the ABI
compatibiliy.
..
.. bpo: 10945
.. date: 2019-07-01-12-38-48
.. nonce: s0YBHG
.. section: Windows
Officially drop support for creating bdist_wininst installers on non-Windows
systems.
..
.. bpo: 37369
.. date: 2019-06-28-09-44-08
.. nonce: 1iVpxq
.. section: Windows
Fixes path for :data:`sys.executable` when running from the Microsoft Store.
..
.. bpo: 37351
.. date: 2019-06-20-12-50-32
.. nonce: asTnVW
.. section: Windows
Removes libpython38.a from standard Windows distribution.
..
.. bpo: 35360
.. date: 2019-06-18-09-05-08
.. nonce: tdqSmo
.. section: Windows
Update Windows builds to use SQLite 3.28.0.
..
.. bpo: 37267
.. date: 2019-06-13-04-15-51
.. nonce: Ygo5ef
.. section: Windows
On Windows, :func:`os.dup` no longer creates an inheritable fd when handling
a character file.
..
.. bpo: 36779
.. date: 2019-06-11-15-41-34
.. nonce: 0TMw6f
.. section: Windows
Ensure ``time.tzname`` is correct on Windows when the active code page is
set to CP_UTF7 or CP_UTF8.
..
.. bpo: 34602
.. date: 2019-07-02-01-06-47
.. nonce: 10d4wl
.. section: macOS
Avoid test suite failures on macOS by no longer calling resource.setrlimit
to increase the process stack size limit at runtime. The runtime change is
no longer needed since the interpreter is being built with a larger default
stack size.
..
.. bpo: 35360
.. date: 2019-06-18-08-58-30
.. nonce: -CWbfy
.. section: macOS
Update macOS installer to use SQLite 3.28.0.
..
.. bpo: 34631
.. date: 2019-06-18-00-30-40
.. nonce: vSifcv
.. section: macOS
Updated OpenSSL to 1.1.1c in macOS installer.
..
.. bpo: 37325
.. date: 2019-06-18-16-40-05
.. nonce: GssOf1
.. section: IDLE
Fix tab focus traversal order for help source and custom run dialogs.
..
.. bpo: 37321
.. date: 2019-06-17-16-35-30
.. nonce: zVTTGS
.. section: IDLE
Both subprocess connection error messages now refer to the 'Startup failure'
section of the IDLE doc.
..
.. bpo: 37177
.. date: 2019-06-07-00-17-41
.. nonce: voU6pQ
.. section: IDLE
Properly 'attach' search dialogs to their main window so that they behave
like other dialogs and do not get hidden behind their main window.
..
.. bpo: 37039
.. date: 2019-06-04-23-27-33
.. nonce: FN_fBf
.. section: IDLE
Adjust "Zoom Height" to individual screens by momemtarily maximizing the
window on first use with a particular screen. Changing screen settings may
invalidate the saved height. While a window is maximized, "Zoom Height" has
no effect.
..
.. bpo: 35763
.. date: 2019-06-04-20-36-24
.. nonce: 7XdoWz
.. section: IDLE
Make calltip reminder about '/' meaning positional-only less obtrusive by
only adding it when there is room on the first line.
..
.. bpo: 5680
.. date: 2019-06-03-00-39-29
.. nonce: VCQfOO
.. section: IDLE
Add 'Run... Customized' to the Run menu to run a module with customized
settings. Any 'command line arguments' entered are added to sys.argv. One
can suppress the normal Shell main module restart.
..
.. bpo: 36763
.. date: 2019-06-28-15-49-16
.. nonce: zrmgki
.. section: C API
Add :func:`PyConfig_SetWideStringList` function.
..
.. bpo: 28805
.. date: 2019-06-14-14-03-51
.. nonce: qZC0N_
.. section: C API
The :const:`METH_FASTCALL` calling convention has been documented.
..
.. bpo: 37221
.. date: 2019-06-12-11-45-36
.. nonce: RhP1E7
.. section: C API
``tp_print`` is put back at the end of the ``PyTypeObject`` structure to
restore support for old code (in particular generated by Cython) setting
``tp_print = 0``. Note that ``tp_print`` will be removed entirely in Python
3.9.
..
.. bpo: 37221
.. date: 2019-06-11-02-50-38
.. nonce: 4tClQT
.. section: C API
The new function :c:func:`PyCode_NewWithPosOnlyArgs` allows to create code
objects like :c:func:`PyCode_New`, but with an extra *posonlyargcount*
parameter for indicating the number of positonal-only arguments.
..
.. bpo: 37215
.. date: 2019-06-10-15-32-34
.. nonce: yzoNyU
.. section: C API
Fix dtrace issue introduce by bpo-36842
..
.. bpo: 37191
.. date: 2019-06-07-10-47-37
.. nonce: iGL1_K
.. section: C API
Python.h does not need compiler support for intermingled declarations (GCC's
``-Wdeclaration-after-statement``), which were added in 3.8.0 Beta 1. Note
that in Python 3.9, intermingled declarations will be needed again.
..
.. bpo: 37170
.. date: 2019-06-06-08-47-04
.. nonce: hO_fpM
.. section: C API
Fix the cast on error in :c:func:`PyLong_AsUnsignedLongLongMask()`.