cpython/Misc/NEWS.d/3.8.0a3.rst
2019-07-31 01:35:30 -04:00

873 lines
17 KiB
ReStructuredText
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

.. bpo: 36216
.. date: 2019-03-06-09-38-40
.. nonce: 6q1m4a
.. release date: 2019-03-25
.. section: Security
Changes urlsplit() to raise ValueError when the URL contains characters that
decompose under IDNA encoding (NFKC-normalization) into characters that
affect how the URL is parsed.
..
.. bpo: 35121
.. date: 2018-10-31-15-39-17
.. nonce: EgHv9k
.. section: Security
Don't send cookies of domain A without Domain attribute to domain B when
domain A is a suffix match of domain B while using a cookiejar with
:class:`http.cookiejar.DefaultCookiePolicy` policy. Patch by Karthikeyan
Singaravelan.
..
.. bpo: 36421
.. date: 2019-03-24-21-33-22
.. nonce: gJ2Pv9
.. section: Core and Builtins
Fix a possible double decref in _ctypes.c's ``PyCArrayType_new()``.
..
.. bpo: 36412
.. date: 2019-03-23-19-51-09
.. nonce: C7acGn
.. section: Core and Builtins
Fix a possible crash when creating a new dictionary.
..
.. bpo: 36398
.. date: 2019-03-21-22-19-38
.. nonce: B_jXGe
.. section: Core and Builtins
Fix a possible crash in ``structseq_repr()``.
..
.. bpo: 36256
.. date: 2019-03-21-00-24-18
.. nonce: OZHa0t
.. section: Core and Builtins
Fix bug in parsermodule when parsing a state in a DFA that has two or more
arcs with labels of the same type. Patch by Pablo Galindo.
..
.. bpo: 36365
.. date: 2019-03-19-15-58-23
.. nonce: jHaErz
.. section: Core and Builtins
repr(structseq) is no longer limited to 512 bytes.
..
.. bpo: 36374
.. date: 2019-03-19-15-46-42
.. nonce: EWKMZE
.. section: Core and Builtins
Fix a possible null pointer dereference in ``merge_consts_recursive()``.
Patch by Zackery Spytz.
..
.. bpo: 36236
.. date: 2019-03-19-03-08-26
.. nonce: 5qN9qK
.. section: Core and Builtins
At Python initialization, the current directory is no longer prepended to
:data:`sys.path` if it has been removed.
..
.. bpo: 36352
.. date: 2019-03-19-02-36-40
.. nonce: qj2trz
.. section: Core and Builtins
Python initialization now fails with an error, rather than silently
truncating paths, if a path is too long.
..
.. bpo: 36301
.. date: 2019-03-19-00-54-31
.. nonce: xvOCJb
.. section: Core and Builtins
Python initialization now fails if decoding ``pybuilddir.txt`` configuration
file fails at startup.
..
.. bpo: 36333
.. date: 2019-03-18-10-56-53
.. nonce: 4dqemZ
.. section: Core and Builtins
Fix leak in _PyRuntimeState_Fini. Contributed by Stéphane Wirtel.
..
.. bpo: 36332
.. date: 2019-03-18-09-27-54
.. nonce: yEC-Vz
.. section: Core and Builtins
The builtin :func:`compile` can now handle AST objects that contain
assignment expressions. Patch by Pablo Galindo.
..
.. bpo: 36282
.. date: 2019-03-13-22-47-28
.. nonce: zs7RKP
.. section: Core and Builtins
Improved error message for too much positional arguments in some builtin
functions.
..
.. bpo: 30040
.. date: 2019-03-11-22-30-56
.. nonce: W9z8X7
.. section: Core and Builtins
New empty dict uses fewer memory for now. It used more memory than empty
dict created by ``dict.clear()``. And empty dict creation and deletion is
about 2x faster. Patch by Inada Naoki.
..
.. bpo: 36262
.. date: 2019-03-11-15-37-33
.. nonce: v3N6Fz
.. section: Core and Builtins
Fix an unlikely memory leak on conversion from string to float in the
function ``_Py_dg_strtod()`` used by ``float(str)``, ``complex(str)``,
:func:`pickle.load`, :func:`marshal.load`, etc.
..
.. bpo: 36252
.. date: 2019-03-09-15-47-05
.. nonce: sCQFKq
.. section: Core and Builtins
Update Unicode databases to version 12.0.0.
..
.. bpo: 36218
.. date: 2019-03-07-13-05-43
.. nonce: dZemNt
.. section: Core and Builtins
Fix a segfault occurring when sorting a list of heterogeneous values. Patch
contributed by Rémi Lapeyre and Elliot Gorokhovsky.
..
.. bpo: 36188
.. date: 2019-03-04-18-05-31
.. nonce: EuUZNz
.. section: Core and Builtins
Cleaned up left-over vestiges of Python 2 unbound method handling in method
objects and documentation. Patch by Martijn Pieters
..
.. bpo: 36124
.. date: 2019-03-01-13-48-01
.. nonce: Blzxq1
.. section: Core and Builtins
Add a new interpreter-specific dict and expose it in the C-API via
PyInterpreterState_GetDict(). This parallels PyThreadState_GetDict().
However, extension modules should continue using PyModule_GetState() for
their own internal per-interpreter state.
..
.. bpo: 35975
.. date: 2019-02-27-16-49-08
.. nonce: IescLY
.. section: Core and Builtins
Add a ``feature_version`` flag to ``ast.parse()`` (documented) and
``compile()`` (hidden) that allows tweaking the parser to support older
versions of the grammar. In particular, if ``feature_version`` is 5 or 6,
the hacks for the ``async`` and ``await`` keyword from PEP 492 are
reinstated. (For 7 or higher, these are unconditionally treated as keywords,
but they are still special tokens rather than ``NAME`` tokens that the
parser driver recognizes.)
..
.. bpo: 31904
.. date: 2019-02-26-17-34-49
.. nonce: R4KSj6
.. section: Core and Builtins
Use UTF-8 as the system encoding on VxWorks.
..
.. bpo: 36048
.. date: 2019-02-20-08-51-04
.. nonce: I3LJt9
.. section: Core and Builtins
The :meth:`~object.__index__` special method will be used instead of
:meth:`~object.__int__` for implicit conversion of Python numbers to C
integers. Using the ``__int__()`` method in implicit conversions has been
deprecated.
..
.. bpo: 35808
.. date: 2019-02-11-00-50-03
.. nonce: M12CMH
.. section: Core and Builtins
Retire pgen and use a modified version of pgen2 to generate the parser.
Patch by Pablo Galindo.
..
.. bpo: 36401
.. date: 2019-03-23-10-25-07
.. nonce: hYpVBS
.. section: Library
The class documentation created by pydoc now has a separate section for
readonly properties.
..
.. bpo: 36320
.. date: 2019-03-18-01-08-14
.. nonce: -06b9_
.. section: Library
The typing.NamedTuple() class has deprecated the _field_types attribute in
favor of the __annotations__ attribute which carried the same information.
Also, both attributes were converted from OrderedDict to a regular dict.
..
.. bpo: 34745
.. date: 2019-03-17-16-43-29
.. nonce: nOfm7_
.. section: Library
Fix :mod:`asyncio` ssl memory issues caused by circular references
..
.. bpo: 36324
.. date: 2019-03-17-01-17-45
.. nonce: dvNrRe
.. section: Library
Add method to statistics.NormalDist for computing the inverse cumulative
normal distribution.
..
.. bpo: 36321
.. date: 2019-03-16-13-40-59
.. nonce: s6crQx
.. section: Library
collections.namedtuple() misspelled the name of an attribute. To be
consistent with typing.NamedTuple, the attribute name should have been
"_field_defaults" instead of "_fields_defaults". For backwards
compatibility, both spellings are now created. The misspelled version may
be removed in the future.
..
.. bpo: 36297
.. date: 2019-03-15-21-41-22
.. nonce: Gz9ZfU
.. section: Library
"unicode_internal" codec is removed. It was deprecated since Python 3.3.
Patch by Inada Naoki.
..
.. bpo: 36298
.. date: 2019-03-15-13-54-07
.. nonce: amEVK2
.. section: Library
Raise ModuleNotFoundError in pyclbr when a module can't be found. Thanks to
'mental' for the bug report.
..
.. bpo: 36268
.. date: 2019-03-14-16-25-17
.. nonce: MDXLw6
.. section: Library
Switch the default format used for writing tars with mod:`tarfile` to the
modern POSIX.1-2001 pax standard, from the vendor-specific GNU. Contributed
by C.A.M. Gerlach.
..
.. bpo: 36285
.. date: 2019-03-14-01-09-59
.. nonce: G-usj8
.. section: Library
Fix integer overflows in the array module. Patch by Stephan Hohe.
..
.. bpo: 31904
.. date: 2019-03-13-14-55-02
.. nonce: 834kfY
.. section: Library
Add _signal module support for VxWorks.
..
.. bpo: 36272
.. date: 2019-03-13-14-14-36
.. nonce: f3l2IG
.. section: Library
:mod:`logging` does not silently ignore RecursionError anymore. Patch
contributed by Rémi Lapeyre.
..
.. bpo: 36280
.. date: 2019-03-12-21-02-55
.. nonce: mOd3iH
.. section: Library
Add a kind field to ast.Constant. It is 'u' if the literal has a 'u' prefix
(i.e. a Python 2 style unicode literal), else None.
..
.. bpo: 35931
.. date: 2019-03-11-22-06-36
.. nonce: Qp_Tbe
.. section: Library
The :mod:`pdb` ``debug`` command now gracefully handles all exceptions.
..
.. bpo: 36251
.. date: 2019-03-09-18-01-24
.. nonce: zOp9l0
.. section: Library
Fix format strings used for stderrprinter and re.Match reprs. Patch by
Stephan Hohe.
..
.. bpo: 36235
.. date: 2019-03-08-13-32-21
.. nonce: _M72wU
.. section: Library
Fix ``CFLAGS`` in ``customize_compiler()`` of ``distutils.sysconfig``: when
the ``CFLAGS`` environment variable is defined, don't override ``CFLAGS``
variable with the ``OPT`` variable anymore. Initial patch written by David
Malcolm.
..
.. bpo: 35807
.. date: 2019-03-06-13-21-33
.. nonce: W7mmu3
.. section: Library
Update ensurepip to install pip 19.0.3 and setuptools 40.8.0.
..
.. bpo: 36139
.. date: 2019-03-06-13-07-29
.. nonce: 6kedum
.. section: Library
Release GIL when closing :class:`~mmap.mmap` objects.
..
.. bpo: 36179
.. date: 2019-03-04-10-42-46
.. nonce: jEyuI-
.. section: Library
Fix two unlikely reference leaks in _hashopenssl. The leaks only occur in
out-of-memory cases.
..
.. bpo: 36169
.. date: 2019-03-03-11-37-09
.. nonce: 8nWJy7
.. section: Library
Add overlap() method to statistics.NormalDist. Computes the overlapping
coefficient for two normal distributions.
..
.. bpo: 36103
.. date: 2019-03-01-16-10-01
.. nonce: n6VgXL
.. section: Library
Default buffer size used by ``shutil.copyfileobj()`` is changed from 16 KiB
to 64 KiB on non-Windows platform to reduce system call overhead.
Contributed by Inada Naoki.
..
.. bpo: 36130
.. date: 2019-02-26-22-41-38
.. nonce: _BnZOo
.. section: Library
Fix ``pdb`` with ``skip=...`` when stepping into a frame without a
``__name__`` global. Patch by Anthony Sottile.
..
.. bpo: 35652
.. date: 2019-02-26-11-34-44
.. nonce: 6KRJu_
.. section: Library
shutil.copytree(copy_function=...) erroneously pass DirEntry instead of a
path string.
..
.. bpo: 35178
.. date: 2019-02-25-23-04-00
.. nonce: NA_rXa
.. section: Library
Ensure custom :func:`warnings.formatwarning` function can receive `line` as
positional argument. Based on patch by Tashrif Billah.
..
.. bpo: 36106
.. date: 2019-02-25-13-21-43
.. nonce: VuhEiQ
.. section: Library
Resolve potential name clash with libm's sinpi(). Patch by Dmitrii
Pasechnik.
..
.. bpo: 36091
.. date: 2019-02-23-06-49-06
.. nonce: 26o4Lc
.. section: Library
Clean up reference to async generator in Lib/types. Patch by Henry Chen.
..
.. bpo: 36043
.. date: 2019-02-19-19-53-46
.. nonce: l867v0
.. section: Library
:class:`FileCookieJar` supports :term:`path-like object`. Contributed by
Stéphane Wirtel
..
.. bpo: 35899
.. date: 2019-02-16-07-11-02
.. nonce: cjfn5a
.. section: Library
Enum has been fixed to correctly handle empty strings and strings with
non-Latin characters (ie. 'α', 'א') without crashing. Original patch
contributed by Maxwell. Assisted by Stéphane Wirtel.
..
.. bpo: 21269
.. date: 2019-02-10-16-49-16
.. nonce: Fqi7VH
.. section: Library
Add ``args`` and ``kwargs`` properties to mock call objects. Contributed by
Kumar Akshay.
..
.. bpo: 30670
.. date: 2019-02-06-12-07-46
.. nonce: yffB3F
.. section: Library
`pprint.pp` has been added to pretty-print objects with dictionary keys
being sorted with their insertion order by default. Parameter *sort_dicts*
has been added to `pprint.pprint`, `pprint.pformat` and
`pprint.PrettyPrinter`. Contributed by Rémi Lapeyre.
..
.. bpo: 35843
.. date: 2019-01-28-10-19-40
.. nonce: 7rXGQE
.. section: Library
Implement ``__getitem__`` for ``_NamespacePath``. Patch by Anthony Sottile.
..
.. bpo: 35802
.. date: 2019-01-21-13-56-55
.. nonce: 6633PE
.. section: Library
Clean up code which checked presence of ``os.stat`` / ``os.lstat`` /
``os.chmod`` which are always present. Patch by Anthony Sottile.
..
.. bpo: 35715
.. date: 2019-01-11-08-47-58
.. nonce: Wi3gl0
.. section: Library
Librates the return value of a ProcessPoolExecutor _process_worker after
it's no longer needed to free memory
..
.. bpo: 35493
.. date: 2019-01-09-23-43-08
.. nonce: kEcRGE
.. section: Library
Use :func:`multiprocessing.connection.wait` instead of polling each 0.2
seconds for worker updates in :class:`multiprocessing.Pool`. Patch by Pablo
Galindo.
..
.. bpo: 35661
.. date: 2019-01-05-16-16-20
.. nonce: H_UOXc
.. section: Library
Store the venv prompt in pyvenv.cfg.
..
.. bpo: 35121
.. date: 2018-12-30-14-35-19
.. nonce: oWmiGU
.. section: Library
Don't set cookie for a request when the request path is a prefix match of
the cookie's path attribute but doesn't end with "/". Patch by Karthikeyan
Singaravelan.
..
.. bpo: 21478
.. date: 2018-12-21-09-54-30
.. nonce: 5gsXtc
.. section: Library
Calls to a child function created with :func:`unittest.mock.create_autospec`
should propagate to the parent. Patch by Karthikeyan Singaravelan.
..
.. bpo: 35198
.. date: 2018-11-09-12-45-28
.. nonce: EJ8keW
.. section: Library
Fix C++ extension compilation on AIX
..
.. bpo: 36329
.. date: 2019-03-17-20-01-41
.. nonce: L5dJPD
.. section: Documentation
Declare the path of the Python binary for the usage of
``Tools/scripts/serve.py`` when executing ``make -C Doc/ serve``.
Contributed by Stéphane Wirtel
..
.. bpo: 36138
.. date: 2019-03-02-00-40-57
.. nonce: yfjNzG
.. section: Documentation
Improve documentation about converting datetime.timedelta to scalars.
..
.. bpo: 21314
.. date: 2018-11-21-23-01-37
.. nonce: PG33VT
.. section: Documentation
A new entry was added to the Core Language Section of the Programming FAQ,
which explaines the usage of slash(/) in the signature of a function. Patch
by Lysandros Nikolaou
..
.. bpo: 36234
.. date: 2019-03-08-12-53-37
.. nonce: NRVK6W
.. section: Tests
test_posix.PosixUidGidTests: add tests for invalid uid/gid type (str).
Initial patch written by David Malcolm.
..
.. bpo: 29571
.. date: 2019-02-28-18-33-29
.. nonce: r6b9fr
.. section: Tests
Fix ``test_re.test_locale_flag()``: use ``locale.getpreferredencoding()``
rather than ``locale.getlocale()`` to get the locale encoding. With some
locales, ``locale.getlocale()`` returns the wrong encoding.
..
.. bpo: 36123
.. date: 2019-02-26-12-51-35
.. nonce: QRhhRS
.. section: Tests
Fix race condition in test_socket.
..
.. bpo: 36356
.. date: 2019-03-18-23-49-15
.. nonce: WNrwYI
.. section: Build
Fix leaks that led to build failure when configured with address sanitizer.
..
.. bpo: 36146
.. date: 2019-03-01-17-49-22
.. nonce: VeoyG7
.. section: Build
Add ``TEST_EXTENSIONS`` constant to ``setup.py`` to allow to not build test
extensions like ``_testcapi``.
..
.. bpo: 36146
.. date: 2019-02-28-18-09-01
.. nonce: IwPJVT
.. section: Build
Fix setup.py on macOS: only add ``/usr/include/ffi`` to include directories
of _ctypes, not for all extensions.
..
.. bpo: 31904
.. date: 2019-02-21-14-48-31
.. nonce: J82jY2
.. section: Build
Enable build system to cross-build for VxWorks RTOS.
..
.. bpo: 36312
.. date: 2019-03-16-16-51-17
.. nonce: Niwm-T
.. section: Windows
Fixed decoders for the following code pages: 50220, 50221, 50222, 50225,
50227, 50229, 57002 through 57011, 65000 and 42.
..
.. bpo: 36264
.. date: 2019-03-11-09-33-47
.. nonce: rTzWce
.. section: Windows
Don't honor POSIX ``HOME`` in ``os.path.expanduser`` on windows. Patch by
Anthony Sottile.
..
.. bpo: 24643
.. date: 2019-02-24-07-52-39
.. nonce: PofyiS
.. section: Windows
Fix name collisions due to ``#define timezone _timezone`` in PC/pyconfig.h.
..
.. bpo: 36405
.. date: 2019-03-23-01-45-56
.. nonce: m7Wv1F
.. section: IDLE
Use dict unpacking in idlelib.
..
.. bpo: 36396
.. date: 2019-03-21-22-43-21
.. nonce: xSTX-I
.. section: IDLE
Remove fgBg param of idlelib.config.GetHighlight(). This param was only used
twice and changed the return type.
..
.. bpo: 36176
.. date: 2019-03-10-00-07-46
.. nonce: jk_vv6
.. section: IDLE
Fix IDLE autocomplete & calltip popup colors. Prevent conflicts with Linux
dark themes (and slightly darken calltip background).
..
.. bpo: 23205
.. date: 2019-03-06-14-47-57
.. nonce: Vv0gfH
.. section: IDLE
For the grep module, add tests for findfiles, refactor findfiles to be a
module-level function, and refactor findfiles to use os.walk.
..
.. bpo: 23216
.. date: 2019-03-02-19-39-53
.. nonce: ZA7H8H
.. section: IDLE
Add docstrings to IDLE search modules.
..
.. bpo: 36152
.. date: 2019-02-28-18-52-40
.. nonce: 9pkHIU
.. section: IDLE
Remove colorizer.ColorDelegator.close_when_done and the corresponding
argument of .close(). In IDLE, both have always been None or False since
2007.
..
.. bpo: 32129
.. date: 2019-02-25-11-40-14
.. nonce: 4qVCzD
.. section: IDLE
Avoid blurry IDLE application icon on macOS with Tk 8.6. Patch by Kevin
Walzer.
..
.. bpo: 36096
.. date: 2019-02-23-17-53-53
.. nonce: mN5Ly3
.. section: IDLE
Refactor class variables to instance variables in colorizer.
..
.. bpo: 30348
.. date: 2018-06-27-21-18-41
.. nonce: WbaRJW
.. section: IDLE
Increase test coverage of idlelib.autocomplete by 30%. Patch by Louie
Lu
..
.. bpo: 35132
.. date: 2019-03-04-02-09-09
.. nonce: 1R_pnL
.. section: Tools/Demos
Fix py-list and py-bt commands of python-gdb.py on gdb7.
..
.. bpo: 32217
.. date: 2017-12-19-20-42-36
.. nonce: axXcjA
.. section: Tools/Demos
Fix freeze script on Windows.
..
.. bpo: 36381
.. date: 2019-03-20-22-02-40
.. nonce: xlzDJ2
.. section: C API
Raise ``DeprecationWarning`` when '#' formats are used for building or
parsing values without ``PY_SSIZE_T_CLEAN``.
..
.. bpo: 36142
.. date: 2019-03-01-03-23-48
.. nonce: 7F6wJd
.. section: C API
The whole coreconfig.h header is now excluded from Py_LIMITED_API. Move
functions definitions into a new internal pycore_coreconfig.h header.