2053 lines
44 KiB
ReStructuredText
2053 lines
44 KiB
ReStructuredText
.. bpo: 35907
|
|
.. date: 2019-05-21-23-20-18
|
|
.. nonce: NC_zNK
|
|
.. release date: 2019-06-04
|
|
.. section: Security
|
|
|
|
CVE-2019-9948: Avoid file reading by disallowing ``local-file://`` and
|
|
``local_file://`` URL schemes in ``URLopener().open()`` and
|
|
``URLopener().retrieve()`` of :mod:`urllib.request`.
|
|
|
|
..
|
|
|
|
.. bpo: 33529
|
|
.. date: 2019-02-24-18-48-16
|
|
.. nonce: wpNNBD
|
|
.. section: Security
|
|
|
|
Prevent fold function used in email header encoding from entering infinite
|
|
loop when there are too many non-ASCII characters in a header.
|
|
|
|
..
|
|
|
|
.. bpo: 33164
|
|
.. date: 2018-03-30-12-26-47
|
|
.. nonce: aO29Cx
|
|
.. section: Security
|
|
|
|
Updated blake2 implementation which uses secure memset implementation
|
|
provided by platform.
|
|
|
|
..
|
|
|
|
.. bpo: 35814
|
|
.. date: 2019-06-03-00-51-02
|
|
.. nonce: Cf7sGY
|
|
.. section: Core and Builtins
|
|
|
|
Allow unpacking in the right hand side of annotated assignments. In
|
|
particular, ``t: Tuple[int, ...] = x, y, *z`` is now allowed.
|
|
|
|
..
|
|
|
|
.. bpo: 37126
|
|
.. date: 2019-06-01-20-03-13
|
|
.. nonce: tP6lL4
|
|
.. section: Core and Builtins
|
|
|
|
All structseq objects are now tracked by the garbage collector. Patch by
|
|
Pablo Galindo.
|
|
|
|
..
|
|
|
|
.. bpo: 37122
|
|
.. date: 2019-06-01-16-53-41
|
|
.. nonce: dZ3-NY
|
|
.. section: Core and Builtins
|
|
|
|
Make the *co_argcount* attribute of code objects represent the total number
|
|
of positional arguments (including positional-only arguments). The value of
|
|
*co_posonlyargcount* can be used to distinguish which arguments are
|
|
positional only, and the difference (*co_argcount* - *co_posonlyargcount*)
|
|
is the number of positional-or-keyword arguments. Patch by Pablo Galindo.
|
|
|
|
..
|
|
|
|
.. bpo: 20092
|
|
.. date: 2019-05-31-11-55-49
|
|
.. nonce: KIMjBW
|
|
.. section: Core and Builtins
|
|
|
|
Constructors of :class:`int`, :class:`float` and :class:`complex` will now
|
|
use the :meth:`~object.__index__` special method, if available and the
|
|
corresponding method :meth:`~object.__int__`, :meth:`~object.__float__` or
|
|
:meth:`~object.__complex__` is not available.
|
|
|
|
..
|
|
|
|
.. bpo: 37087
|
|
.. date: 2019-05-30-17-33-55
|
|
.. nonce: vElenE
|
|
.. section: Core and Builtins
|
|
|
|
Add native thread ID (TID) support to OpenBSD.
|
|
|
|
..
|
|
|
|
.. bpo: 26219
|
|
.. date: 2019-05-29-22-03-09
|
|
.. nonce: Ovf1Qs
|
|
.. section: Core and Builtins
|
|
|
|
Implemented per opcode cache mechanism and ``LOAD_GLOBAL`` instruction use
|
|
it. ``LOAD_GLOBAL`` is now about 40% faster. Contributed by Yury Selivanov,
|
|
and Inada Naoki.
|
|
|
|
..
|
|
|
|
.. bpo: 37072
|
|
.. date: 2019-05-28-18-18-55
|
|
.. nonce: 1Hewl3
|
|
.. section: Core and Builtins
|
|
|
|
Fix crash in PyAST_FromNodeObject() when flags is NULL.
|
|
|
|
..
|
|
|
|
.. bpo: 37029
|
|
.. date: 2019-05-28-17-02-46
|
|
.. nonce: MxpgfJ
|
|
.. section: Core and Builtins
|
|
|
|
Freeing a great many small objects could take time quadratic in the number
|
|
of arenas, due to using linear search to keep ``obmalloc.c``'s list of
|
|
usable arenas sorted by order of number of free memory pools. This is
|
|
accomplished without search now, leaving the worst-case time linear in the
|
|
number of arenas. For programs where this quite visibly matters (typically
|
|
with more than 100 thousand small objects alive simultaneously), this can
|
|
greatly reduce the time needed to release their memory.
|
|
|
|
..
|
|
|
|
.. bpo: 26423
|
|
.. date: 2019-05-27-18-00-19
|
|
.. nonce: RgUOE8
|
|
.. section: Core and Builtins
|
|
|
|
Fix possible overflow in ``wrap_lenfunc()`` when ``sizeof(long) <
|
|
sizeof(Py_ssize_t)`` (e.g., 64-bit Windows).
|
|
|
|
..
|
|
|
|
.. bpo: 37050
|
|
.. date: 2019-05-27-14-46-24
|
|
.. nonce: 7MyZGg
|
|
.. section: Core and Builtins
|
|
|
|
Improve the AST for "debug" f-strings, which use '=' to print out the source
|
|
of the expression being evaluated. Delete expr_text from the FormattedValue
|
|
node, and instead use a Constant string node (possibly merged with adjacent
|
|
constant expressions inside the f-string).
|
|
|
|
..
|
|
|
|
.. bpo: 22385
|
|
.. date: 2019-05-25-17-18-26
|
|
.. nonce: VeVvhJ
|
|
.. section: Core and Builtins
|
|
|
|
The `bytes.hex`, `bytearray.hex`, and `memoryview.hex` methods as well as
|
|
the `binascii.hexlify` and `b2a_hex` functions now have the ability to
|
|
include an optional separator between hex bytes. This functionality was
|
|
inspired by MicroPython's hexlify implementation.
|
|
|
|
..
|
|
|
|
.. bpo: 26836
|
|
.. date: 2019-05-25-08-18-01
|
|
.. nonce: rplYWW
|
|
.. section: Core and Builtins
|
|
|
|
Add :func:`os.memfd_create`.
|
|
|
|
..
|
|
|
|
.. bpo: 37032
|
|
.. date: 2019-05-24-12-38-40
|
|
.. nonce: T8rSH8
|
|
.. section: Core and Builtins
|
|
|
|
Added new ``replace()`` method to the code type (:class:`types.CodeType`).
|
|
|
|
..
|
|
|
|
.. bpo: 37007
|
|
.. date: 2019-05-23-04-19-13
|
|
.. nonce: d1SOtF
|
|
.. section: Core and Builtins
|
|
|
|
Implement :func:`socket.if_nameindex()`, :func:`socket.if_nametoindex()`,
|
|
and :func:`socket.if_indextoname()` on Windows.
|
|
|
|
..
|
|
|
|
.. bpo: 36829
|
|
.. date: 2019-05-22-23-01-29
|
|
.. nonce: MfOcUg
|
|
.. section: Core and Builtins
|
|
|
|
:c:func:`PyErr_WriteUnraisable` now creates a traceback object if there is
|
|
no current traceback. Moreover, call :c:func:`PyErr_NormalizeException` and
|
|
:c:func:`PyException_SetTraceback` to normalize the exception value. Ignore
|
|
any error.
|
|
|
|
..
|
|
|
|
.. bpo: 36878
|
|
.. date: 2019-05-22-11-16-16
|
|
.. nonce: QwLa3P
|
|
.. section: Core and Builtins
|
|
|
|
Only accept text after `# type: ignore` if the first character is ASCII.
|
|
This is to disallow things like `# type: ignoreé`.
|
|
|
|
..
|
|
|
|
.. bpo: 36878
|
|
.. date: 2019-05-21-16-21-22
|
|
.. nonce: EFRHZ3
|
|
.. section: Core and Builtins
|
|
|
|
Store text appearing after a `# type: ignore` comment in the AST. For
|
|
example a type ignore like `# type: ignore[E1000]` will have the string
|
|
`"[E1000]"` stored in its AST node.
|
|
|
|
..
|
|
|
|
.. bpo: 2180
|
|
.. date: 2019-05-17-18-34-30
|
|
.. nonce: aBqHeW
|
|
.. section: Core and Builtins
|
|
|
|
Treat line continuation at EOF as a ``SyntaxError`` by Anthony Sottile.
|
|
|
|
..
|
|
|
|
.. bpo: 36907
|
|
.. date: 2019-05-17-12-28-24
|
|
.. nonce: rk7kgp
|
|
.. section: Core and Builtins
|
|
|
|
Fix a crash when calling a C function with a keyword dict (``f(**kwargs)``)
|
|
and changing the dict ``kwargs`` while that function is running.
|
|
|
|
..
|
|
|
|
.. bpo: 36946
|
|
.. date: 2019-05-16-23-53-45
|
|
.. nonce: qjxr0Y
|
|
.. section: Core and Builtins
|
|
|
|
Fix possible signed integer overflow when handling slices.
|
|
|
|
..
|
|
|
|
.. bpo: 36826
|
|
.. date: 2019-05-15-14-01-09
|
|
.. nonce: GLrO3W
|
|
.. section: Core and Builtins
|
|
|
|
Add NamedExpression kind support to ast_unparse.c
|
|
|
|
..
|
|
|
|
.. bpo: 1875
|
|
.. date: 2019-05-15-01-29-29
|
|
.. nonce: 9oxXFX
|
|
.. section: Core and Builtins
|
|
|
|
A :exc:`SyntaxError` is now raised if a code blocks that will be optimized
|
|
away (e.g. if conditions that are always false) contains syntax errors.
|
|
Patch by Pablo Galindo.
|
|
|
|
..
|
|
|
|
.. bpo: 36027
|
|
.. date: 2019-05-12-18-46-50
|
|
.. nonce: Q4YatQ
|
|
.. section: Core and Builtins
|
|
|
|
Allow computation of modular inverses via three-argument ``pow``: the second
|
|
argument is now permitted to be negative in the case where the first and
|
|
third arguments are relatively prime.
|
|
|
|
..
|
|
|
|
.. bpo: 36861
|
|
.. date: 2019-05-08-20-42-40
|
|
.. nonce: 72mvZM
|
|
.. section: Core and Builtins
|
|
|
|
Update the Unicode database to version 12.1.0.
|
|
|
|
..
|
|
|
|
.. bpo: 28866
|
|
.. date: 2019-05-08-16-36-51
|
|
.. nonce: qCv_bj
|
|
.. section: Core and Builtins
|
|
|
|
Avoid caching attributes of classes which type defines mro() to avoid a hard
|
|
cache invalidation problem.
|
|
|
|
..
|
|
|
|
.. bpo: 36851
|
|
.. date: 2019-05-08-11-42-06
|
|
.. nonce: J7DiCW
|
|
.. section: Core and Builtins
|
|
|
|
The ``FrameType`` stack is now correctly cleaned up if the execution ends
|
|
with a return and the stack is not empty.
|
|
|
|
..
|
|
|
|
.. bpo: 34616
|
|
.. date: 2019-05-07-17-12-37
|
|
.. nonce: 0Y0_9r
|
|
.. section: Core and Builtins
|
|
|
|
The ``compile()`` builtin functions now support the
|
|
``ast.PyCF_ALLOW_TOP_LEVEL_AWAIT`` flag, which allow to compile sources
|
|
that contains top-level ``await``, ``async with`` or ``async for``. This is
|
|
useful to evaluate async-code from with an already async functions; for
|
|
example in a custom REPL.
|
|
|
|
..
|
|
|
|
.. bpo: 36842
|
|
.. date: 2019-05-07-16-50-12
|
|
.. nonce: NYww_N
|
|
.. section: Core and Builtins
|
|
|
|
Implement PEP 578, adding sys.audit, io.open_code and related APIs.
|
|
|
|
..
|
|
|
|
.. bpo: 27639
|
|
.. date: 2019-05-07-15-49-17
|
|
.. nonce: b1Ah87
|
|
.. section: Core and Builtins
|
|
|
|
Correct return type for UserList slicing operations. Patch by Michael
|
|
Blahay, Erick Cervantes, and vaultah
|
|
|
|
..
|
|
|
|
.. bpo: 36737
|
|
.. date: 2019-05-07-12-18-11
|
|
.. nonce: XAo6LY
|
|
.. section: Core and Builtins
|
|
|
|
Move PyRuntimeState.warnings into per-interpreter state (via "module
|
|
state").
|
|
|
|
..
|
|
|
|
.. bpo: 36793
|
|
.. date: 2019-05-04-16-15-33
|
|
.. nonce: Izog4Z
|
|
.. section: Core and Builtins
|
|
|
|
Removed ``__str__`` implementations from builtin types :class:`bool`,
|
|
:class:`int`, :class:`float`, :class:`complex` and few classes from the
|
|
standard library. They now inherit ``__str__()`` from :class:`object`.
|
|
|
|
..
|
|
|
|
.. bpo: 36774
|
|
.. date: 2019-05-02-11-48-08
|
|
.. nonce: ZqbJ1J
|
|
.. section: Core and Builtins
|
|
|
|
Add a ``=`` feature f-strings for debugging. This can precede ``!s``,
|
|
``!r``, or ``!a``. It produces the text of the expression, followed by an
|
|
equal sign, followed by the repr of the value of the expression. So
|
|
``f'{3*9+15=}'`` would be equal to the string ``'3*9+15=42'``. If ``=`` is
|
|
specified, the default conversion is set to ``!r``, unless a format spec is
|
|
given, in which case the formatting behavior is unchanged, and __format__
|
|
will be used.
|
|
|
|
..
|
|
|
|
.. bpo: 24048
|
|
.. date: 2019-04-29-03-27-22
|
|
.. nonce: vXxUDQ
|
|
.. section: Core and Builtins
|
|
|
|
Save the live exception during import.c's ``remove_module()``.
|
|
|
|
..
|
|
|
|
.. bpo: 27987
|
|
.. date: 2019-04-16-11-52-21
|
|
.. nonce: n2_DcQ
|
|
.. section: Core and Builtins
|
|
|
|
pymalloc returns memory blocks aligned by 16 bytes, instead of 8 bytes, on
|
|
64-bit platforms to conform x86-64 ABI. Recent compilers assume this
|
|
alignment more often. Patch by Inada Naoki.
|
|
|
|
..
|
|
|
|
.. bpo: 36601
|
|
.. date: 2019-04-13-16-14-16
|
|
.. nonce: mIgS7t
|
|
.. section: Core and Builtins
|
|
|
|
A long-since-meaningless check for ``getpid() == main_pid`` was removed from
|
|
Python's internal C signal handler.
|
|
|
|
..
|
|
|
|
.. bpo: 36594
|
|
.. date: 2019-04-10-18-12-11
|
|
.. nonce: fbnJAc
|
|
.. section: Core and Builtins
|
|
|
|
Fix incorrect use of ``%p`` in format strings. Patch by Zackery Spytz.
|
|
|
|
..
|
|
|
|
.. bpo: 36045
|
|
.. date: 2019-02-24-12-44-46
|
|
.. nonce: RO20OV
|
|
.. section: Core and Builtins
|
|
|
|
builtins.help() now prefixes `async` for async functions
|
|
|
|
..
|
|
|
|
.. bpo: 36084
|
|
.. date: 2019-02-22-23-03-20
|
|
.. nonce: 86Eh4X
|
|
.. section: Core and Builtins
|
|
|
|
Add native thread ID (TID) to threading.Thread objects (supported platforms:
|
|
Windows, FreeBSD, Linux, macOS)
|
|
|
|
..
|
|
|
|
.. bpo: 36035
|
|
.. date: 2019-02-22-14-30-19
|
|
.. nonce: -6dy1y
|
|
.. section: Core and Builtins
|
|
|
|
Added fix for broken symlinks in combination with pathlib
|
|
|
|
..
|
|
|
|
.. bpo: 35983
|
|
.. date: 2019-02-13-16-47-19
|
|
.. nonce: bNxsXv
|
|
.. section: Core and Builtins
|
|
|
|
Added new trashcan macros to deal with a double deallocation that could
|
|
occur when the `tp_dealloc` of a subclass calls the `tp_dealloc` of a base
|
|
class and that base class uses the trashcan mechanism. Patch by Jeroen
|
|
Demeyer.
|
|
|
|
..
|
|
|
|
.. bpo: 20602
|
|
.. date: 2018-07-04-16-57-59
|
|
.. nonce: sDLElw
|
|
.. section: Core and Builtins
|
|
|
|
Do not clear :data:`sys.flags` and :data:`sys.float_info` during shutdown.
|
|
Patch by Zackery Spytz.
|
|
|
|
..
|
|
|
|
.. bpo: 26826
|
|
.. date: 2018-05-30-23-43-03
|
|
.. nonce: NkRzjb
|
|
.. section: Core and Builtins
|
|
|
|
Expose :func:`copy_file_range` as a low level API in the :mod:`os` module.
|
|
|
|
..
|
|
|
|
.. bpo: 32388
|
|
.. date: 2017-12-21-20-37-40
|
|
.. nonce: 6w-i5t
|
|
.. section: Core and Builtins
|
|
|
|
Remove cross-version binary compatibility requirement in tp_flags.
|
|
|
|
..
|
|
|
|
.. bpo: 31862
|
|
.. date: 2017-10-24-17-26-58
|
|
.. nonce: 5Gea8L
|
|
.. section: Core and Builtins
|
|
|
|
Port binascii to PEP 489 multiphase initialization. Patch by Marcel Plch.
|
|
|
|
..
|
|
|
|
.. bpo: 37128
|
|
.. date: 2019-06-01-22-54-03
|
|
.. nonce: oGXBWN
|
|
.. section: Library
|
|
|
|
Added :func:`math.perm`.
|
|
|
|
..
|
|
|
|
.. bpo: 37120
|
|
.. date: 2019-06-01-09-03-32
|
|
.. nonce: FOKQLU
|
|
.. section: Library
|
|
|
|
Add SSLContext.num_tickets to control the number of TLSv1.3 session tickets.
|
|
|
|
..
|
|
|
|
.. bpo: 12202
|
|
.. date: 2019-05-31-15-53-34
|
|
.. nonce: nobzc9
|
|
.. section: Library
|
|
|
|
Fix the error handling in :meth:`msilib.SummaryInformation.GetProperty`.
|
|
Patch by Zackery Spytz.
|
|
|
|
..
|
|
|
|
.. bpo: 26835
|
|
.. date: 2019-05-31-11-33-11
|
|
.. nonce: xGbUX0
|
|
.. section: Library
|
|
|
|
The fcntl module now contains file sealing constants for sealing of memfds.
|
|
|
|
..
|
|
|
|
.. bpo: 29262
|
|
.. date: 2019-05-30-21-25-14
|
|
.. nonce: LdIzun
|
|
.. section: Library
|
|
|
|
Add ``get_origin()`` and ``get_args()`` introspection helpers to ``typing``
|
|
module.
|
|
|
|
..
|
|
|
|
.. bpo: 12639
|
|
.. date: 2019-05-30-16-16-47
|
|
.. nonce: TQFOR4
|
|
.. section: Library
|
|
|
|
:meth:`msilib.Directory.start_component()` no longer fails if *keyfile* is
|
|
not ``None``.
|
|
|
|
..
|
|
|
|
.. bpo: 36999
|
|
.. date: 2019-05-30-13-30-46
|
|
.. nonce: EjY_L2
|
|
.. section: Library
|
|
|
|
Add the ``asyncio.Task.get_coro()`` method to publicly expose the tasks's
|
|
coroutine object.
|
|
|
|
..
|
|
|
|
.. bpo: 35246
|
|
.. date: 2019-05-28-23-17-35
|
|
.. nonce: oXT21d
|
|
.. section: Library
|
|
|
|
Make :func:`asyncio.create_subprocess_exec` accept path-like arguments.
|
|
|
|
..
|
|
|
|
.. bpo: 35279
|
|
.. date: 2019-05-28-19-14-29
|
|
.. nonce: PX7yl9
|
|
.. section: Library
|
|
|
|
Change default *max_workers* of ``ThreadPoolExecutor`` from ``cpu_count() *
|
|
5`` to ``min(32, cpu_count() + 4))``. Previous value was unreasonably large
|
|
on many cores machines.
|
|
|
|
..
|
|
|
|
.. bpo: 37076
|
|
.. date: 2019-05-28-12-17-10
|
|
.. nonce: Bk2xOs
|
|
.. section: Library
|
|
|
|
:func:`_thread.start_new_thread` now logs uncaught exception raised by the
|
|
function using :func:`sys.unraisablehook`, rather than
|
|
:func:`sys.excepthook`, so the hook gets access to the function which raised
|
|
the exception.
|
|
|
|
..
|
|
|
|
.. bpo: 33725
|
|
.. date: 2019-05-28-01-17-42
|
|
.. nonce: fFZoDG
|
|
.. section: Library
|
|
|
|
On macOS, the :mod:`multiprocessing` module now uses *spawn* start method by
|
|
default.
|
|
|
|
..
|
|
|
|
.. bpo: 37054
|
|
.. date: 2019-05-28-01-06-44
|
|
.. nonce: sLULGQ
|
|
.. section: Library
|
|
|
|
Fix destructor :class:`_pyio.BytesIO` and :class:`_pyio.TextIOWrapper`:
|
|
initialize their ``_buffer`` attribute as soon as possible (in the class
|
|
body), because it's used by ``__del__()`` which calls ``close()``.
|
|
|
|
..
|
|
|
|
.. bpo: 37058
|
|
.. date: 2019-05-26-19-05-24
|
|
.. nonce: jmRu_g
|
|
.. section: Library
|
|
|
|
PEP 544: Add ``Protocol`` and ``@runtime_checkable`` to the ``typing``
|
|
module.
|
|
|
|
..
|
|
|
|
.. bpo: 36933
|
|
.. date: 2019-05-26-10-16-55
|
|
.. nonce: 4w3eP9
|
|
.. section: Library
|
|
|
|
The functions ``sys.set_coroutine_wrapper`` and
|
|
``sys.get_coroutine_wrapper`` that were deprecated and marked for removal in
|
|
3.8 have been removed.
|
|
|
|
..
|
|
|
|
.. bpo: 37047
|
|
.. date: 2019-05-26-01-20-06
|
|
.. nonce: K9epi8
|
|
.. section: Library
|
|
|
|
Handle late binding and attribute access in :class:`unittest.mock.AsyncMock`
|
|
setup for autospeccing. Document newly implemented async methods in
|
|
:class:`unittest.mock.MagicMock`.
|
|
|
|
..
|
|
|
|
.. bpo: 37049
|
|
.. date: 2019-05-25-19-48-42
|
|
.. nonce: an2LXJ
|
|
.. section: Library
|
|
|
|
PEP 589: Add ``TypedDict`` to the ``typing`` module.
|
|
|
|
..
|
|
|
|
.. bpo: 37046
|
|
.. date: 2019-05-25-19-12-53
|
|
.. nonce: iuhQQj
|
|
.. section: Library
|
|
|
|
PEP 586: Add ``Literal`` to the ``typing`` module.
|
|
|
|
..
|
|
|
|
.. bpo: 37045
|
|
.. date: 2019-05-25-18-36-50
|
|
.. nonce: suHdVJ
|
|
.. section: Library
|
|
|
|
PEP 591: Add ``Final`` qualifier and ``@final`` decorator to the ``typing``
|
|
module.
|
|
|
|
..
|
|
|
|
.. bpo: 37035
|
|
.. date: 2019-05-24-18-16-07
|
|
.. nonce: HFbJVT
|
|
.. section: Library
|
|
|
|
Don't log OSError based exceptions if a fatal error has occurred in asyncio
|
|
transport. Peer can generate almost any OSError, user cannot avoid these
|
|
exceptions by fixing own code. Errors are still propagated to user code,
|
|
it's just logging them is pointless and pollute asyncio logs.
|
|
|
|
..
|
|
|
|
.. bpo: 37001
|
|
.. date: 2019-05-23-21-10-57
|
|
.. nonce: DoLvTK
|
|
.. section: Library
|
|
|
|
:func:`symtable.symtable` now accepts the same input types for source code
|
|
as the built-in :func:`compile` function. Patch by Dino Viehland.
|
|
|
|
..
|
|
|
|
.. bpo: 37028
|
|
.. date: 2019-05-23-18-57-34
|
|
.. nonce: Vse6Pj
|
|
.. section: Library
|
|
|
|
Implement asyncio REPL
|
|
|
|
..
|
|
|
|
.. bpo: 37027
|
|
.. date: 2019-05-23-18-46-56
|
|
.. nonce: iH4eut
|
|
.. section: Library
|
|
|
|
Return safe to use proxy socket object from
|
|
transport.get_extra_info('socket')
|
|
|
|
..
|
|
|
|
.. bpo: 32528
|
|
.. date: 2019-05-23-17-37-22
|
|
.. nonce: sGnkcl
|
|
.. section: Library
|
|
|
|
Make asyncio.CancelledError a BaseException.
|
|
|
|
This will address the common mistake many asyncio users make: an "except
|
|
Exception" clause breaking Tasks cancellation.
|
|
|
|
In addition to this change, we stop inheriting asyncio.TimeoutError and
|
|
asyncio.InvalidStateError from their concurrent.futures.* counterparts.
|
|
There's no point for these exceptions to share the inheritance chain.
|
|
|
|
..
|
|
|
|
.. bpo: 1230540
|
|
.. date: 2019-05-23-01-48-39
|
|
.. nonce: oKTNEQ
|
|
.. section: Library
|
|
|
|
Add a new :func:`threading.excepthook` function which handles uncaught
|
|
:meth:`threading.Thread.run` exception. It can be overridden to control how
|
|
uncaught :meth:`threading.Thread.run` exceptions are handled.
|
|
|
|
..
|
|
|
|
.. bpo: 36996
|
|
.. date: 2019-05-22-22-55-18
|
|
.. nonce: XQx08d
|
|
.. section: Library
|
|
|
|
Handle :func:`unittest.mock.patch` used as a decorator on async functions.
|
|
|
|
..
|
|
|
|
.. bpo: 37008
|
|
.. date: 2019-05-22-15-26-08
|
|
.. nonce: WPbv31
|
|
.. section: Library
|
|
|
|
Add support for calling :func:`next` with the mock resulting from
|
|
:func:`unittest.mock.mock_open`
|
|
|
|
..
|
|
|
|
.. bpo: 27737
|
|
.. date: 2019-05-22-02-25-31
|
|
.. nonce: 7bgKpa
|
|
.. section: Library
|
|
|
|
Allow whitespace only header encoding in ``email.header`` - by Batuhan
|
|
Taskaya
|
|
|
|
..
|
|
|
|
.. bpo: 36969
|
|
.. date: 2019-05-21-12-31-21
|
|
.. nonce: u7cxu7
|
|
.. section: Library
|
|
|
|
PDB command `args` now display positional only arguments. Patch contributed
|
|
by Rémi Lapeyre.
|
|
|
|
..
|
|
|
|
.. bpo: 36969
|
|
.. date: 2019-05-20-23-31-20
|
|
.. nonce: JkZORP
|
|
.. section: Library
|
|
|
|
PDB command `args` now display keyword only arguments. Patch contributed by
|
|
Rémi Lapeyre.
|
|
|
|
..
|
|
|
|
.. bpo: 36983
|
|
.. date: 2019-05-20-20-41-30
|
|
.. nonce: hz-fLr
|
|
.. section: Library
|
|
|
|
Add missing names to ``typing.__all__``: ``ChainMap``, ``ForwardRef``,
|
|
``OrderedDict`` - by Anthony Sottile.
|
|
|
|
..
|
|
|
|
.. bpo: 36972
|
|
.. date: 2019-05-20-17-08-26
|
|
.. nonce: 3l3SGc
|
|
.. section: Library
|
|
|
|
Add SupportsIndex protocol to the typing module to allow type checking to
|
|
detect classes that can be passed to `hex()`, `oct()` and `bin()`.
|
|
|
|
..
|
|
|
|
.. bpo: 32972
|
|
.. date: 2019-05-20-14-47-55
|
|
.. nonce: LoeUNh
|
|
.. section: Library
|
|
|
|
Implement ``unittest.AsyncTestCase`` to help testing asyncio-based code.
|
|
|
|
..
|
|
|
|
.. bpo: 36952
|
|
.. date: 2019-05-20-11-01-28
|
|
.. nonce: MgZi7-
|
|
.. section: Library
|
|
|
|
:func:`fileinput.input` and :class:`fileinput.FileInput` **bufsize**
|
|
argument has been removed (was deprecated and ignored since Python 3.6), and
|
|
as a result the **mode** and **openhook** arguments have been made
|
|
keyword-only.
|
|
|
|
..
|
|
|
|
.. bpo: 36952
|
|
.. date: 2019-05-20-08-54-41
|
|
.. nonce: I_glok
|
|
.. section: Library
|
|
|
|
Starting with Python 3.3, importing ABCs from :mod:`collections` is
|
|
deprecated, and import should be done from :mod:`collections.abc`. Still
|
|
being able to import from :mod:`collections` was marked for removal in 3.8,
|
|
but has been delayed to 3.9; documentation and ``DeprecationWarning``
|
|
clarified.
|
|
|
|
..
|
|
|
|
.. bpo: 36949
|
|
.. date: 2019-05-19-06-54-26
|
|
.. nonce: jBlG9F
|
|
.. section: Library
|
|
|
|
Implement __repr__ for WeakSet objects.
|
|
|
|
..
|
|
|
|
.. bpo: 36948
|
|
.. date: 2019-05-17-21-42-58
|
|
.. nonce: vnUDvk
|
|
.. section: Library
|
|
|
|
Fix :exc:`NameError` in :meth:`urllib.request.URLopener.retrieve`. Patch by
|
|
Karthikeyan Singaravelan.
|
|
|
|
..
|
|
|
|
.. bpo: 33524
|
|
.. date: 2019-05-17-11-44-21
|
|
.. nonce: 8y_xUU
|
|
.. section: Library
|
|
|
|
Fix the folding of email header when the max_line_length is 0 or None and
|
|
the header contains non-ascii characters. Contributed by Licht Takeuchi
|
|
(@Licht-T).
|
|
|
|
..
|
|
|
|
.. bpo: 24564
|
|
.. date: 2019-05-16-23-40-36
|
|
.. nonce: lIwV_7
|
|
.. section: Library
|
|
|
|
:func:`shutil.copystat` now ignores :const:`errno.EINVAL` on
|
|
:func:`os.setxattr` which may occur when copying files on filesystems
|
|
without extended attributes support.
|
|
|
|
Original patch by Giampaolo Rodola, updated by Ying Wang.
|
|
|
|
..
|
|
|
|
.. bpo: 36888
|
|
.. date: 2019-05-16-18-02-08
|
|
.. nonce: -H2Dkm
|
|
.. section: Library
|
|
|
|
Python child processes can now access the status of their parent process
|
|
using multiprocessing.process.parent_process
|
|
|
|
..
|
|
|
|
.. bpo: 36921
|
|
.. date: 2019-05-15-21-35-23
|
|
.. nonce: kA1306
|
|
.. section: Library
|
|
|
|
Deprecate ``@coroutine`` for sake of ``async def``.
|
|
|
|
..
|
|
|
|
.. bpo: 25652
|
|
.. date: 2019-05-14-21-39-52
|
|
.. nonce: xLw42k
|
|
.. section: Library
|
|
|
|
Fix bug in ``__rmod__`` of ``UserString`` - by Batuhan Taskaya.
|
|
|
|
..
|
|
|
|
.. bpo: 36916
|
|
.. date: 2019-05-14-15-39-34
|
|
.. nonce: _GPsTt
|
|
.. section: Library
|
|
|
|
Remove a message about an unhandled exception in a task when writer.write()
|
|
is used without await and writer.drain() fails with an exception.
|
|
|
|
..
|
|
|
|
.. bpo: 36889
|
|
.. date: 2019-05-14-12-25-44
|
|
.. nonce: MChPqP
|
|
.. section: Library
|
|
|
|
Introduce :class:`asyncio.Stream` class that merges
|
|
:class:`asyncio.StreamReader` and :class:`asyncio.StreamWriter`
|
|
functionality. :class:`asyncio.Stream` can work in readonly, writeonly and
|
|
readwrite modes. Provide :func:`asyncio.connect`,
|
|
:func:`asyncio.connect_unix`, :func:`asyncio.connect_read_pipe` and
|
|
:func:`asyncio.connect_write_pipe` factories to open :class:`asyncio.Stream`
|
|
connections. Provide :class:`asyncio.StreamServer` and
|
|
:class:`UnixStreamServer` to serve servers with asyncio.Stream API. Modify
|
|
:func:`asyncio.create_subprocess_shell` and
|
|
:func:`asyncio.create_subprocess_exec` to use :class:`asyncio.Stream`
|
|
instead of deprecated :class:`StreamReader` and :class:`StreamWriter`.
|
|
Deprecate :class:`asyncio.StreamReader` and :class:`asyncio.StreamWriter`.
|
|
Deprecate usage of private classes, e.g. :class:`asyncio.FlowControlMixing`
|
|
and :class:`asyncio.StreamReaderProtocol` outside of asyncio package.
|
|
|
|
..
|
|
|
|
.. bpo: 36845
|
|
.. date: 2019-05-14-07-57-02
|
|
.. nonce: _GtFFf
|
|
.. section: Library
|
|
|
|
Added validation of integer prefixes to the construction of IP networks and
|
|
interfaces in the ipaddress module.
|
|
|
|
..
|
|
|
|
.. bpo: 23378
|
|
.. date: 2019-05-14-05-38-22
|
|
.. nonce: R25teI
|
|
.. section: Library
|
|
|
|
Add an extend action to argparser.
|
|
|
|
..
|
|
|
|
.. bpo: 36867
|
|
.. date: 2019-05-13-13-02-43
|
|
.. nonce: Qh-6mX
|
|
.. section: Library
|
|
|
|
Fix a bug making a SharedMemoryManager instance and its parent process use
|
|
two separate resource_tracker processes.
|
|
|
|
..
|
|
|
|
.. bpo: 23896
|
|
.. date: 2019-05-13-05-49-15
|
|
.. nonce: 8TtUKo
|
|
.. section: Library
|
|
|
|
Adds a grammar to lib2to3.pygram that contains exec as a function not as
|
|
statement.
|
|
|
|
..
|
|
|
|
.. bpo: 36895
|
|
.. date: 2019-05-12-14-49-13
|
|
.. nonce: ZZuuY7
|
|
.. section: Library
|
|
|
|
The function ``time.clock()`` was deprecated in 3.3 in favor of
|
|
``time.perf_counter()`` and marked for removal in 3.8, it has removed.
|
|
|
|
..
|
|
|
|
.. bpo: 35545
|
|
.. date: 2019-05-11-16-21-29
|
|
.. nonce: FcvJvP
|
|
.. section: Library
|
|
|
|
Fix asyncio discarding IPv6 scopes when ensuring hostname resolutions
|
|
internally
|
|
|
|
..
|
|
|
|
.. bpo: 36887
|
|
.. date: 2019-05-11-14-50-59
|
|
.. nonce: XD3f22
|
|
.. section: Library
|
|
|
|
Add new function :func:`math.isqrt` to compute integer square roots.
|
|
|
|
..
|
|
|
|
.. bpo: 34632
|
|
.. date: 2019-05-11-02-30-45
|
|
.. nonce: 8MXa7T
|
|
.. section: Library
|
|
|
|
Introduce the ``importlib.metadata`` module with (provisional) support for
|
|
reading metadata from third-party packages.
|
|
|
|
..
|
|
|
|
.. bpo: 36878
|
|
.. date: 2019-05-10-22-00-06
|
|
.. nonce: iigeqk
|
|
.. section: Library
|
|
|
|
When using `type_comments=True` in `ast.parse`, treat `# type: ignore`
|
|
followed by a non-alphanumeric character and then arbitrary text as a type
|
|
ignore, instead of requiring nothing but whitespace or another comment. This
|
|
is to permit formations such as `# type: ignore[E1000]`.
|
|
|
|
..
|
|
|
|
.. bpo: 36778
|
|
.. date: 2019-05-10-01-06-36
|
|
.. nonce: GRqeiS
|
|
.. section: Library
|
|
|
|
``cp65001`` encoding (Windows code page 65001) becomes an alias to ``utf_8``
|
|
encoding.
|
|
|
|
..
|
|
|
|
.. bpo: 36867
|
|
.. date: 2019-05-09-18-12-55
|
|
.. nonce: FuwVTi
|
|
.. section: Library
|
|
|
|
The multiprocessing.resource_tracker replaces the
|
|
multiprocessing.semaphore_tracker module. Other than semaphores,
|
|
resource_tracker also tracks shared_memory segments.
|
|
|
|
..
|
|
|
|
.. bpo: 30262
|
|
.. date: 2019-05-09-12-38-40
|
|
.. nonce: Tu74ak
|
|
.. section: Library
|
|
|
|
The ``Cache`` and ``Statement`` objects of the :mod:`sqlite3` module are not
|
|
exposed to the user. Patch by Aviv Palivoda.
|
|
|
|
..
|
|
|
|
.. bpo: 24538
|
|
.. date: 2019-05-09-08-35-18
|
|
.. nonce: WK8Y-k
|
|
.. section: Library
|
|
|
|
In `shutil.copystat()`, first copy extended file attributes and then file
|
|
permissions, since extended attributes can only be set on the destination
|
|
while it is still writeable.
|
|
|
|
..
|
|
|
|
.. bpo: 36829
|
|
.. date: 2019-05-08-12-51-37
|
|
.. nonce: 8enFMA
|
|
.. section: Library
|
|
|
|
Add new :func:`sys.unraisablehook` function which can be overridden to
|
|
control how "unraisable exceptions" are handled. It is called when an
|
|
exception has occurred but there is no way for Python to handle it. For
|
|
example, when a destructor raises an exception or during garbage collection
|
|
(:func:`gc.collect`).
|
|
|
|
..
|
|
|
|
.. bpo: 36832
|
|
.. date: 2019-05-07-15-00-45
|
|
.. nonce: TExgqb
|
|
.. section: Library
|
|
|
|
Introducing ``zipfile.Path``, a pathlib-compatible wrapper for traversing
|
|
zip files.
|
|
|
|
..
|
|
|
|
.. bpo: 36814
|
|
.. date: 2019-05-06-23-13-26
|
|
.. nonce: dSeMz_
|
|
.. section: Library
|
|
|
|
Fix an issue where os.posix_spawnp() would incorrectly raise a TypeError
|
|
when file_actions is None.
|
|
|
|
..
|
|
|
|
.. bpo: 33110
|
|
.. date: 2019-05-06-22-34-47
|
|
.. nonce: rSJSCh
|
|
.. section: Library
|
|
|
|
Handle exceptions raised by functions added by concurrent.futures
|
|
add_done_callback correctly when the Future has already completed.
|
|
|
|
..
|
|
|
|
.. bpo: 26903
|
|
.. date: 2019-05-06-19-17-04
|
|
.. nonce: 4payXb
|
|
.. section: Library
|
|
|
|
Limit `max_workers` in `ProcessPoolExecutor` to 61 to work around a
|
|
WaitForMultipleObjects limitation.
|
|
|
|
..
|
|
|
|
.. bpo: 36813
|
|
.. date: 2019-05-06-18-28-38
|
|
.. nonce: NXD0KZ
|
|
.. section: Library
|
|
|
|
Fix :class:`~logging.handlers.QueueListener` to call ``queue.task_done()``
|
|
upon stopping. Patch by Bar Harel.
|
|
|
|
..
|
|
|
|
.. bpo: 36806
|
|
.. date: 2019-05-05-16-14-38
|
|
.. nonce: rAzF-x
|
|
.. section: Library
|
|
|
|
Forbid creation of asyncio stream objects like StreamReader, StreamWriter,
|
|
Process, and their protocols outside of asyncio package.
|
|
|
|
..
|
|
|
|
.. bpo: 36802
|
|
.. date: 2019-05-05-10-12-23
|
|
.. nonce: HYMc8P
|
|
.. section: Library
|
|
|
|
Provide both sync and async calls for StreamWriter.write() and
|
|
StreamWriter.close()
|
|
|
|
..
|
|
|
|
.. bpo: 36801
|
|
.. date: 2019-05-05-09-45-44
|
|
.. nonce: XrlFFs
|
|
.. section: Library
|
|
|
|
Properly handle SSL connection closing in asyncio StreamWriter.drain() call.
|
|
|
|
..
|
|
|
|
.. bpo: 36785
|
|
.. date: 2019-05-03-20-47-55
|
|
.. nonce: PQLnPq
|
|
.. section: Library
|
|
|
|
Implement PEP 574 (pickle protocol 5 with out-of-band buffers).
|
|
|
|
..
|
|
|
|
.. bpo: 36772
|
|
.. date: 2019-05-01-20-41-53
|
|
.. nonce: fV2K0F
|
|
.. section: Library
|
|
|
|
functools.lru_cache() can now be used as a straight decorator in addition to
|
|
its existing usage as a function that returns a decorator.
|
|
|
|
..
|
|
|
|
.. bpo: 6584
|
|
.. date: 2019-04-30-04-34-53
|
|
.. nonce: Hzp9-P
|
|
.. section: Library
|
|
|
|
Add a :exc:`~gzip.BadGzipFile` exception to the :mod:`gzip` module.
|
|
|
|
..
|
|
|
|
.. bpo: 36748
|
|
.. date: 2019-04-29-15-18-13
|
|
.. nonce: YBKWps
|
|
.. section: Library
|
|
|
|
Optimized write buffering in C implementation of ``TextIOWrapper``. Writing
|
|
ASCII string to ``TextIOWrapper`` with ascii, latin1, or utf-8 encoding is
|
|
about 20% faster. Patch by Inada Naoki.
|
|
|
|
..
|
|
|
|
.. bpo: 8138
|
|
.. date: 2019-04-27-02-54-23
|
|
.. nonce: osBRGI
|
|
.. section: Library
|
|
|
|
Don't mark ``wsgiref.simple_server.SimpleServer`` as multi-threaded since
|
|
``wsgiref.simple_server.WSGIServer`` is single-threaded.
|
|
|
|
..
|
|
|
|
.. bpo: 22640
|
|
.. date: 2019-04-26-22-13-26
|
|
.. nonce: p3rheW
|
|
.. section: Library
|
|
|
|
:func:`py_compile.compile` now supports silent mode. Patch by Joannah
|
|
Nanjekye
|
|
|
|
..
|
|
|
|
.. bpo: 29183
|
|
.. date: 2019-04-22-22-55-29
|
|
.. nonce: MILvsk
|
|
.. section: Library
|
|
|
|
Fix double exceptions in :class:`wsgiref.handlers.BaseHandler` by calling
|
|
its :meth:`~wsgiref.handlers.BaseHandler.close` method only when no
|
|
exception is raised.
|
|
|
|
..
|
|
|
|
.. bpo: 36548
|
|
.. date: 2019-04-07-14-30-10
|
|
.. nonce: CJQiYw
|
|
.. section: Library
|
|
|
|
Improved the repr of regular expression flags.
|
|
|
|
..
|
|
|
|
.. bpo: 36542
|
|
.. date: 2019-04-06-12-36-09
|
|
.. nonce: Q0qyYV
|
|
.. section: Library
|
|
|
|
The signature of Python functions can now be overridden by specifying the
|
|
``__text_signature__`` attribute.
|
|
|
|
..
|
|
|
|
.. bpo: 36533
|
|
.. date: 2019-04-06-00-55-09
|
|
.. nonce: kzMyRH
|
|
.. section: Library
|
|
|
|
Reinitialize logging.Handler locks in forked child processes instead of
|
|
attempting to acquire them all in the parent before forking only to be
|
|
released in the child process. The acquire/release pattern was leading to
|
|
deadlocks in code that has implemented any form of chained logging handlers
|
|
that depend upon one another as the lock acquision order cannot be
|
|
guaranteed.
|
|
|
|
..
|
|
|
|
.. bpo: 35252
|
|
.. date: 2019-04-02-19-23-12
|
|
.. nonce: VooTVv
|
|
.. section: Library
|
|
|
|
Throw a TypeError instead of an AssertionError when using an invalid type
|
|
annotation with singledispatch.
|
|
|
|
..
|
|
|
|
.. bpo: 35900
|
|
.. date: 2019-03-27-15-09-00
|
|
.. nonce: fh56UU
|
|
.. section: Library
|
|
|
|
Allow reduction methods to return a 6-item tuple where the 6th item
|
|
specifies a custom state-setting method that's called instead of the regular
|
|
``__setstate__`` method.
|
|
|
|
..
|
|
|
|
.. bpo: 35900
|
|
.. date: 2019-03-22-22-40-00
|
|
.. nonce: oiee0o
|
|
.. section: Library
|
|
|
|
enable custom reduction callback registration for functions and classes in
|
|
_pickle.c, using the new Pickler's attribute ``reducer_override``
|
|
|
|
..
|
|
|
|
.. bpo: 36368
|
|
.. date: 2019-03-21-16-00-00
|
|
.. nonce: zsRT1
|
|
.. section: Library
|
|
|
|
Fix a bug crashing SharedMemoryManager instances in interactive sessions
|
|
after a ctrl-c (KeyboardInterrupt) was sent
|
|
|
|
..
|
|
|
|
.. bpo: 31904
|
|
.. date: 2019-03-18-14-25-36
|
|
.. nonce: ds3d67
|
|
.. section: Library
|
|
|
|
Fix mmap fail for VxWorks
|
|
|
|
..
|
|
|
|
.. bpo: 27497
|
|
.. date: 2019-03-13-10-57-41
|
|
.. nonce: JDmIe_
|
|
.. section: Library
|
|
|
|
:meth:`csv.DictWriter.writeheader` now returns the return value of the
|
|
underlying :meth:`csv.Writer.writerow` method. Patch contributed by Ashish
|
|
Nitin Patil.
|
|
|
|
..
|
|
|
|
.. bpo: 36239
|
|
.. date: 2019-03-09-23-51-27
|
|
.. nonce: BHJ3Ln
|
|
.. section: Library
|
|
|
|
Parsing .mo files now ignores comments starting and ending with #-#-#-#-#.
|
|
|
|
..
|
|
|
|
.. bpo: 26707
|
|
.. date: 2019-03-04-01-28-33
|
|
.. nonce: QY4kRZ
|
|
.. section: Library
|
|
|
|
Enable plistlib to read and write binary plist files that were created as a
|
|
KeyedArchive file. Specifically, this allows the plistlib to process 0x80
|
|
tokens as UID objects.
|
|
|
|
..
|
|
|
|
.. bpo: 31904
|
|
.. date: 2019-03-01-17-59-39
|
|
.. nonce: 38djdk
|
|
.. section: Library
|
|
|
|
Add posix module support for VxWorks.
|
|
|
|
..
|
|
|
|
.. bpo: 35125
|
|
.. date: 2019-02-15-17-18-50
|
|
.. nonce: h0xk0f
|
|
.. section: Library
|
|
|
|
Asyncio: Remove inner callback on outer cancellation in shield
|
|
|
|
..
|
|
|
|
.. bpo: 35721
|
|
.. date: 2019-01-18-16-23-00
|
|
.. nonce: d8djAJ
|
|
.. section: Library
|
|
|
|
Fix :meth:`asyncio.SelectorEventLoop.subprocess_exec()` leaks file
|
|
descriptors if ``Popen`` fails and called with ``stdin=subprocess.PIPE``.
|
|
Patch by Niklas Fiekas.
|
|
|
|
..
|
|
|
|
.. bpo: 31855
|
|
.. date: 2019-01-11-17-09-15
|
|
.. nonce: PlhfsX
|
|
.. section: Library
|
|
|
|
:func:`unittest.mock.mock_open` results now respects the argument of
|
|
read([size]). Patch contributed by Rémi Lapeyre.
|
|
|
|
..
|
|
|
|
.. bpo: 35431
|
|
.. date: 2019-01-02-19-48-23
|
|
.. nonce: FhG6QA
|
|
.. section: Library
|
|
|
|
Implement :func:`math.comb` that returns binomial coefficient, that computes
|
|
the number of ways to choose k items from n items without repetition and
|
|
without order. Patch by Yash Aggarwal and Keller Fuchs.
|
|
|
|
..
|
|
|
|
.. bpo: 26660
|
|
.. date: 2018-11-04-16-39-46
|
|
.. nonce: RdXz8a
|
|
.. section: Library
|
|
|
|
Fixed permission errors in :class:`~tempfile.TemporaryDirectory` clean up.
|
|
Previously ``TemporaryDirectory.cleanup()`` failed when non-writeable or
|
|
non-searchable files or directories were created inside a temporary
|
|
directory.
|
|
|
|
..
|
|
|
|
.. bpo: 34271
|
|
.. date: 2018-10-21-17-39-32
|
|
.. nonce: P15VLM
|
|
.. section: Library
|
|
|
|
Add debugging helpers to ssl module. It's now possible to dump key material
|
|
and to trace TLS protocol. The default and stdlib contexts also support
|
|
SSLKEYLOGFILE env var.
|
|
|
|
..
|
|
|
|
.. bpo: 26467
|
|
.. date: 2018-09-13-20-33-24
|
|
.. nonce: cahAk3
|
|
.. section: Library
|
|
|
|
Added AsyncMock to support using unittest to mock asyncio coroutines. Patch
|
|
by Lisa Roach.
|
|
|
|
..
|
|
|
|
.. bpo: 33569
|
|
.. date: 2018-08-28-03-00-12
|
|
.. nonce: 45YlGG
|
|
.. section: Library
|
|
|
|
dataclasses.InitVar: Exposes the type used to create the init var.
|
|
|
|
..
|
|
|
|
.. bpo: 34424
|
|
.. date: 2018-08-18-14-47-00
|
|
.. nonce: wAlRuS
|
|
.. section: Library
|
|
|
|
Fix serialization of messages containing encoded strings when the
|
|
policy.linesep is set to a multi-character string. Patch by Jens Troeger.
|
|
|
|
..
|
|
|
|
.. bpo: 34303
|
|
.. date: 2018-08-03-09-47-20
|
|
.. nonce: tOE2HP
|
|
.. section: Library
|
|
|
|
Performance of :func:`functools.reduce` is slightly improved. Patch by
|
|
Sergey Fedoseev.
|
|
|
|
..
|
|
|
|
.. bpo: 33361
|
|
.. date: 2018-07-13-20-17-17
|
|
.. nonce: dx2NVn
|
|
.. section: Library
|
|
|
|
Fix a bug in :class:`codecs.StreamRecoder` where seeking might leave old
|
|
data in a buffer and break subsequent read calls. Patch by Ammar Askar.
|
|
|
|
..
|
|
|
|
.. bpo: 22454
|
|
.. date: 2018-06-10-17-48-07
|
|
.. nonce: qeiy_X
|
|
.. section: Library
|
|
|
|
The :mod:`shlex` module now exposes :func:`shlex.join`, the inverse of
|
|
:func:`shlex.split`. Patch by Bo Bayles.
|
|
|
|
..
|
|
|
|
.. bpo: 31922
|
|
.. date: 2018-05-30-01-05-50
|
|
.. nonce: fobsXJ
|
|
.. section: Library
|
|
|
|
:meth:`asyncio.AbstractEventLoop.create_datagram_endpoint`: Do not connect
|
|
UDP socket when broadcast is allowed. This allows to receive replies after a
|
|
UDP broadcast.
|
|
|
|
..
|
|
|
|
.. bpo: 24882
|
|
.. date: 2018-04-04-14-54-30
|
|
.. nonce: urybpa
|
|
.. section: Library
|
|
|
|
Change ThreadPoolExecutor to use existing idle threads before spinning up
|
|
new ones.
|
|
|
|
..
|
|
|
|
.. bpo: 31961
|
|
.. date: 2018-03-27-13-28-16
|
|
.. nonce: GjLoYu
|
|
.. section: Library
|
|
|
|
Added support for bytes and path-like objects in :func:`subprocess.Popen` on
|
|
Windows. The *args* parameter now accepts a :term:`path-like object` if
|
|
*shell* is ``False`` and a sequence containing bytes and path-like objects.
|
|
The *executable* parameter now accepts a bytes and :term:`path-like object`.
|
|
The *cwd* parameter now accepts a bytes object. Based on patch by Anders
|
|
Lorentsen.
|
|
|
|
..
|
|
|
|
.. bpo: 33123
|
|
.. date: 2018-03-22-19-13-19
|
|
.. nonce: _Y5ooE
|
|
.. section: Library
|
|
|
|
:class:`pathlib.Path.unlink` now accepts a *missing_ok* parameter to avoid a
|
|
:exc:`FileNotFoundError` from being raised. Patch by Robert Buchholz.
|
|
|
|
..
|
|
|
|
.. bpo: 32941
|
|
.. date: 2018-03-20-20-57-00
|
|
.. nonce: 9FU0gL
|
|
.. section: Library
|
|
|
|
Allow :class:`mmap.mmap` objects to access the madvise() system call
|
|
(through :meth:`mmap.mmap.madvise`).
|
|
|
|
..
|
|
|
|
.. bpo: 22102
|
|
.. date: 2018-03-08-16-15-00
|
|
.. nonce: th33uD
|
|
.. section: Library
|
|
|
|
Added support for ZIP files with disks set to 0. Such files are commonly
|
|
created by builtin tools on Windows when use ZIP64 extension. Patch by
|
|
Francisco Facioni.
|
|
|
|
..
|
|
|
|
.. bpo: 32515
|
|
.. date: 2018-01-07-21-04-50
|
|
.. nonce: D8_Wcb
|
|
.. section: Library
|
|
|
|
trace.py can now run modules via python3 -m trace -t --module module_name
|
|
|
|
..
|
|
|
|
.. bpo: 32299
|
|
.. date: 2017-12-13-17-49-56
|
|
.. nonce: eqAPWs
|
|
.. section: Library
|
|
|
|
Changed :func:`unittest.mock.patch.dict` to return the patched dictionary
|
|
when used as context manager. Patch by Vadim Tsander.
|
|
|
|
..
|
|
|
|
.. bpo: 27141
|
|
.. date: 2017-10-24-00-42-14
|
|
.. nonce: zbAgSs
|
|
.. section: Library
|
|
|
|
Added a ``__copy__()`` to ``collections.UserList`` and
|
|
``collections.UserDict`` in order to correctly implement shallow copying of
|
|
the objects. Patch by Bar Harel.
|
|
|
|
..
|
|
|
|
.. bpo: 31829
|
|
.. date: 2017-10-21-12-07-56
|
|
.. nonce: 6IhP-O
|
|
.. section: Library
|
|
|
|
``\r``, ``\0`` and ``\x1a`` (end-of-file on Windows) are now escaped in
|
|
protocol 0 pickles of Unicode strings. This allows to load them without loss
|
|
from files open in text mode in Python 2.
|
|
|
|
..
|
|
|
|
.. bpo: 23395
|
|
.. date: 2016-07-27-11-06-43
|
|
.. nonce: MuCEX9
|
|
.. section: Library
|
|
|
|
``_thread.interrupt_main()`` now avoids setting the Python error status if
|
|
the ``SIGINT`` signal is ignored or not handled by Python.
|
|
|
|
..
|
|
|
|
.. bpo: 36896
|
|
.. date: 2019-05-31-10-46-36
|
|
.. nonce: wkXTW9
|
|
.. section: Documentation
|
|
|
|
Clarify that some types have unstable constructor signature between Python
|
|
versions.
|
|
|
|
..
|
|
|
|
.. bpo: 36686
|
|
.. date: 2019-05-27-17-28-58
|
|
.. nonce: Zot4sx
|
|
.. section: Documentation
|
|
|
|
Improve documentation of the stdin, stdout, and stderr arguments of of the
|
|
``asyncio.subprocess_exec`` function to specficy which values are supported.
|
|
Also mention that decoding as text is not supported.
|
|
|
|
Add a few tests to verify that the various values passed to the std*
|
|
arguments actually work.
|
|
|
|
..
|
|
|
|
.. bpo: 36984
|
|
.. date: 2019-05-20-22-21-17
|
|
.. nonce: IjZlmS
|
|
.. section: Documentation
|
|
|
|
Improve version added references in ``typing`` module - by Anthony Sottile.
|
|
|
|
..
|
|
|
|
.. bpo: 36868
|
|
.. date: 2019-05-11-17-42-15
|
|
.. nonce: yioL0R
|
|
.. section: Documentation
|
|
|
|
What's new now mentions SSLContext.hostname_checks_common_name instead of
|
|
SSLContext.host_flags.
|
|
|
|
..
|
|
|
|
.. bpo: 35924
|
|
.. date: 2019-05-08-13-17-44
|
|
.. nonce: lqbNpW
|
|
.. section: Documentation
|
|
|
|
Add a note to the ``curses.addstr()`` documentation to warn that multiline
|
|
strings can cause segfaults because of an ncurses bug.
|
|
|
|
..
|
|
|
|
.. bpo: 36783
|
|
.. date: 2019-05-07-02-30-51
|
|
.. nonce: gpC8E2
|
|
.. section: Documentation
|
|
|
|
Added C API Documentation for Time_FromTimeAndFold and
|
|
PyDateTime_FromDateAndTimeAndFold as per PEP 495. Patch by Edison Abahurire.
|
|
|
|
..
|
|
|
|
.. bpo: 36797
|
|
.. date: 2019-05-05-07-58-50
|
|
.. nonce: W1X4On
|
|
.. section: Documentation
|
|
|
|
More of the legacy distutils documentation has been either pruned, or else
|
|
more clearly marked as being retained solely until the setuptools
|
|
documentation covers it independently.
|
|
|
|
..
|
|
|
|
.. bpo: 22865
|
|
.. date: 2019-02-21-18-13-50
|
|
.. nonce: 6hg6J8
|
|
.. section: Documentation
|
|
|
|
Add detail to the documentation on the `pty.spawn` function.
|
|
|
|
..
|
|
|
|
.. bpo: 35397
|
|
.. date: 2019-01-09-17-56-35
|
|
.. nonce: ZMreIz
|
|
.. section: Documentation
|
|
|
|
Remove deprecation and document urllib.parse.unwrap(). Patch contributed by
|
|
Rémi Lapeyre.
|
|
|
|
..
|
|
|
|
.. bpo: 32995
|
|
.. date: 2018-10-07-03-04-57
|
|
.. nonce: TXN9ur
|
|
.. section: Documentation
|
|
|
|
Added the context variable in glossary.
|
|
|
|
..
|
|
|
|
.. bpo: 33519
|
|
.. date: 2018-05-17-21-02-00
|
|
.. nonce: Q7s2FB
|
|
.. section: Documentation
|
|
|
|
Clarify that `copy()` is not part of the `MutableSequence` ABC.
|
|
|
|
..
|
|
|
|
.. bpo: 33482
|
|
.. date: 2018-05-13-10-36-37
|
|
.. nonce: jalAaQ
|
|
.. section: Documentation
|
|
|
|
Make `codecs.StreamRecoder.writelines` take a list of bytes.
|
|
|
|
..
|
|
|
|
.. bpo: 25735
|
|
.. date: 2018-04-08-19-09-22
|
|
.. nonce: idVQBD
|
|
.. section: Documentation
|
|
|
|
Added documentation for func factorial to indicate that returns integer
|
|
values
|
|
|
|
..
|
|
|
|
.. bpo: 20285
|
|
.. date: 2017-12-08-20-30-37
|
|
.. nonce: cfnp0J
|
|
.. section: Documentation
|
|
|
|
Expand object.__doc__ (docstring) to make it clearer. Modify pydoc.py so
|
|
that help(object) lists object methods (for other classes, help omits
|
|
methods of the object base class.)
|
|
|
|
..
|
|
|
|
.. bpo: 37069
|
|
.. date: 2019-06-03-02-30-36
|
|
.. nonce: rVtdLk
|
|
.. section: Tests
|
|
|
|
Modify test_coroutines, test_cprofile, test_generators, test_raise, test_ssl
|
|
and test_yield_from to use :func:`test.support.catch_unraisable_exception`
|
|
rather than :func:`test.support.captured_stderr`.
|
|
|
|
..
|
|
|
|
.. bpo: 37098
|
|
.. date: 2019-05-30-10-57-39
|
|
.. nonce: SfXt1M
|
|
.. section: Tests
|
|
|
|
Fix test_memfd_create on older Linux Kernels.
|
|
|
|
..
|
|
|
|
.. bpo: 37081
|
|
.. date: 2019-05-28-17-48-22
|
|
.. nonce: qxB-1l
|
|
.. section: Tests
|
|
|
|
Test with OpenSSL 1.1.1c
|
|
|
|
..
|
|
|
|
.. bpo: 36829
|
|
.. date: 2019-05-22-12-57-15
|
|
.. nonce: e9mRWC
|
|
.. section: Tests
|
|
|
|
Add :func:`test.support.catch_unraisable_exception`: context manager
|
|
catching unraisable exception using :func:`sys.unraisablehook`.
|
|
|
|
..
|
|
|
|
.. bpo: 36915
|
|
.. date: 2019-05-14-14-12-24
|
|
.. nonce: 58b7pH
|
|
.. section: Tests
|
|
|
|
The main regrtest process now always removes all temporary directories of
|
|
worker processes even if they crash or if they are killed on
|
|
KeyboardInterrupt (CTRL+c).
|
|
|
|
..
|
|
|
|
.. bpo: 36719
|
|
.. date: 2019-05-10-01-50-30
|
|
.. nonce: O84ZWv
|
|
.. section: Tests
|
|
|
|
"python3 -m test -jN ..." now continues the execution of next tests when a
|
|
worker process crash (CHILD_ERROR state). Previously, the test suite stopped
|
|
immediately. Use --failfast to stop at the first error.
|
|
|
|
..
|
|
|
|
.. bpo: 36816
|
|
.. date: 2019-05-08-15-55-46
|
|
.. nonce: WBKRGZ
|
|
.. section: Tests
|
|
|
|
Update Lib/test/selfsigned_pythontestdotnet.pem to match
|
|
self-signed.pythontest.net's new TLS certificate.
|
|
|
|
..
|
|
|
|
.. bpo: 35925
|
|
.. date: 2019-05-06-18-29-54
|
|
.. nonce: gwQPuC
|
|
.. section: Tests
|
|
|
|
Skip httplib and nntplib networking tests when they would otherwise fail due
|
|
to a modern OS or distro with a default OpenSSL policy of rejecting
|
|
connections to servers with weak certificates.
|
|
|
|
..
|
|
|
|
.. bpo: 36782
|
|
.. date: 2019-05-04-21-25-19
|
|
.. nonce: h3oPIb
|
|
.. section: Tests
|
|
|
|
Add tests for several C API functions in the :mod:`datetime` module. Patch
|
|
by Edison Abahurire.
|
|
|
|
..
|
|
|
|
.. bpo: 36342
|
|
.. date: 2019-03-23-13-58-49
|
|
.. nonce: q6Quiq
|
|
.. section: Tests
|
|
|
|
Fix test_multiprocessing in test_venv if platform lacks functioning
|
|
sem_open.
|
|
|
|
..
|
|
|
|
.. bpo: 36721
|
|
.. date: 2019-05-22-16-19-18
|
|
.. nonce: 9aRwfZ
|
|
.. section: Build
|
|
|
|
To embed Python into an application, a new ``--embed`` option must be passed
|
|
to ``python3-config --libs --embed`` to get ``-lpython3.8`` (link the
|
|
application to libpython). To support both 3.8 and older, try
|
|
``python3-config --libs --embed`` first and fallback to ``python3-config
|
|
--libs`` (without ``--embed``) if the previous command fails.
|
|
|
|
Add a pkg-config ``python-3.8-embed`` module to embed Python into an
|
|
application: ``pkg-config python-3.8-embed --libs`` includes
|
|
``-lpython3.8``. To support both 3.8 and older, try ``pkg-config
|
|
python-X.Y-embed --libs`` first and fallback to ``pkg-config python-X.Y
|
|
--libs`` (without ``--embed``) if the previous command fails (replace
|
|
``X.Y`` with the Python version).
|
|
|
|
On the other hand, ``pkg-config python3.8 --libs`` no longer contains
|
|
``-lpython3.8``. C extensions must not be linked to libpython (except on
|
|
Android, case handled by the script); this change is backward incompatible
|
|
on purpose.
|
|
|
|
..
|
|
|
|
.. bpo: 36786
|
|
.. date: 2019-05-03-21-08-06
|
|
.. nonce: gOLFbD
|
|
.. section: Build
|
|
|
|
"make install" now runs compileall in parallel.
|
|
|
|
..
|
|
|
|
.. bpo: 36965
|
|
.. date: 2019-05-20-20-26-36
|
|
.. nonce: KsfI-N
|
|
.. section: Windows
|
|
|
|
include of STATUS_CONTROL_C_EXIT without depending on MSC compiler
|
|
|
|
..
|
|
|
|
.. bpo: 35926
|
|
.. date: 2019-03-01-16-43-45
|
|
.. nonce: mLszHo
|
|
.. section: Windows
|
|
|
|
Update to OpenSSL 1.1.1b for Windows.
|
|
|
|
..
|
|
|
|
.. bpo: 29883
|
|
.. date: 2018-09-15-11-36-55
|
|
.. nonce: HErerE
|
|
.. section: Windows
|
|
|
|
Add Windows support for UDP transports for the Proactor Event Loop. Patch by
|
|
Adam Meily.
|
|
|
|
..
|
|
|
|
.. bpo: 33407
|
|
.. date: 2018-08-28-17-23-49
|
|
.. nonce: ARG0W_
|
|
.. section: Windows
|
|
|
|
The :c:macro:`Py_DEPRECATED()` macro has been implemented for MSVC.
|
|
|
|
..
|
|
|
|
.. bpo: 36231
|
|
.. date: 2019-06-03-05-49-49
|
|
.. nonce: RfmW_p
|
|
.. section: macOS
|
|
|
|
Support building Python on macOS without /usr/include installed. As of macOS
|
|
10.14, system header files are only available within an SDK provided by
|
|
either the Command Line Tools or the Xcode app.
|
|
|
|
..
|
|
|
|
.. bpo: 35610
|
|
.. date: 2019-06-02-14-10-52
|
|
.. nonce: 0w_v6Y
|
|
.. section: IDLE
|
|
|
|
Replace now redundant .context_use_ps1 with .prompt_last_line. This finishes
|
|
change started in bpo-31858.
|
|
|
|
..
|
|
|
|
.. bpo: 37038
|
|
.. date: 2019-05-24-18-57-57
|
|
.. nonce: AJ3RwQ
|
|
.. section: IDLE
|
|
|
|
Make idlelib.run runnable; add test clause.
|
|
|
|
..
|
|
|
|
.. bpo: 36958
|
|
.. date: 2019-05-19-22-02-22
|
|
.. nonce: DZUC6G
|
|
.. section: IDLE
|
|
|
|
Print any argument other than None or int passed to SystemExit or
|
|
sys.exit().
|
|
|
|
..
|
|
|
|
.. bpo: 13102
|
|
.. date: 2019-05-05-16-27-53
|
|
.. nonce: AGNWYJ
|
|
.. section: IDLE
|
|
|
|
When saving a file, call os.fsync() so bits are flushed to e.g. USB drive.
|
|
|
|
..
|
|
|
|
.. bpo: 32411
|
|
.. date: 2017-12-25-18-48-50
|
|
.. nonce: vNwDhe
|
|
.. section: IDLE
|
|
|
|
In browser.py, remove extraneous sorting by line number since dictionary was
|
|
created in line number order.
|
|
|
|
..
|
|
|
|
.. bpo: 37053
|
|
.. date: 2019-05-26-16-47-06
|
|
.. nonce: -EYRuz
|
|
.. section: Tools/Demos
|
|
|
|
Handle strings like u"bar" correctly in Tools/parser/unparse.py. Patch by
|
|
Chih-Hsuan Yen.
|
|
|
|
..
|
|
|
|
.. bpo: 36763
|
|
.. date: 2019-05-27-12-25-25
|
|
.. nonce: bHCA9j
|
|
.. section: C API
|
|
|
|
Implement the :pep:`587` "Python Initialization Configuration".
|
|
|
|
..
|
|
|
|
.. bpo: 36379
|
|
.. date: 2019-05-24-07-11-08
|
|
.. nonce: 8zgoKe
|
|
.. section: C API
|
|
|
|
Fix crashes when attempting to use the *modulo* parameter when ``__ipow__``
|
|
is implemented in C.
|
|
|
|
..
|
|
|
|
.. bpo: 37107
|
|
.. date: 2019-05-22-17-33-52
|
|
.. nonce: 8BVPR-
|
|
.. section: C API
|
|
|
|
Update :c:func:`PyObject_CallMethodObjArgs` and
|
|
``_PyObject_CallMethodIdObjArgs`` to use ``_PyObject_GetMethod`` to avoid
|
|
creating a bound method object in many cases. Patch by Michael J. Sullivan.
|
|
|
|
..
|
|
|
|
.. bpo: 36974
|
|
.. date: 2019-05-22-15-24-08
|
|
.. nonce: TkySRe
|
|
.. section: C API
|
|
|
|
Implement :pep:`590`: Vectorcall: a fast calling protocol for CPython. This
|
|
is a new protocol to optimize calls of custom callable objects.
|
|
|
|
..
|
|
|
|
.. bpo: 36763
|
|
.. date: 2019-05-17-19-23-24
|
|
.. nonce: TswmDy
|
|
.. section: C API
|
|
|
|
``Py_Main()`` now returns the exitcode rather than calling
|
|
``Py_Exit(exitcode)`` when calling ``PyErr_Print()`` if the current
|
|
exception type is ``SystemExit``.
|
|
|
|
..
|
|
|
|
.. bpo: 36922
|
|
.. date: 2019-05-15-10-46-55
|
|
.. nonce: J3EFK_
|
|
.. section: C API
|
|
|
|
Add new type flag ``Py_TPFLAGS_METHOD_DESCRIPTOR`` for objects behaving like
|
|
unbound methods. These are objects supporting the optimization given by the
|
|
``LOAD_METHOD``/``CALL_METHOD`` opcodes. See PEP 590.
|
|
|
|
..
|
|
|
|
.. bpo: 36728
|
|
.. date: 2019-05-11-03-56-23
|
|
.. nonce: FR-dMP
|
|
.. section: C API
|
|
|
|
The :c:func:`PyEval_ReInitThreads` function has been removed from the C API.
|
|
It should not be called explicitly: use :c:func:`PyOS_AfterFork_Child`
|
|
instead.
|