Python 3.9.0a3

-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEE4/8oOcBIslwITevpsmmV4xAlBWgFAl4rXBoACgkQsmmV4xAl
 BWid+xAAmRi6rMnpTrJG6V4herWLg4tQg4LaghxXPHtAfcZCgYkbA3kI4nq7SoKy
 7XnJRX6Uk3FhT2rzM2+sg+sPDMNz5ki+G6L0rYrmouZSy+y7/KDBTzh7u8nnAZD1
 t72Zl3LyWFgeg58MVld5LWoCt7+ywAfIAEbeYAFonH4yY1MqK8Q5+kbNtuMBar81
 S44i/UIjVD1GJTzxxDqWU4B0BmCGizenBiyssAwTbM556dzjR7tDqWhDfiXcMLgW
 7Wq5sj96GjNOrNTbtPikiu3sl97hHlJgZEel/vBq2RNArEspRa0F3uqNYyaRedHr
 F9XDlsXLdj+18w1tG1HejZiGquW9y55vexEtDp2e2FXl9bHm5n7D8PUX8rCuw6li
 lR2W+oB0i8/Jd1R8GymJ4RfHrh7jHoTCskcLp8BrBlFBU0d3DAoYFT9rA5GSj3dx
 MIQgA2KbDJEYU7i0/uLLqK6L37PD8NaAPhdVjUN1B2qJ47RrC3yc5tPHIuyiBMYu
 M2PW8LNhg/+ZIQjznSam3xiLDzEv/TeHA0YgfdIaXgdtybFSGIUWMxCGQjNtzrHS
 u4WjsQy9yFAtF+mgPKqXBI+coBtLUhvRfOGHwhnbjkao7i65ztZC2VX/e2CfquO/
 DDJZoiGS0wGbDJfeApNaT7/Kac2uGgvYfx1foGReK3fqRqLl8aU=
 =xsba
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCAAuFiEE4/8oOcBIslwITevpsmmV4xAlBWgFAl4sSAgQHGx1a2FzekBs
 YW5nYS5wbAAKCRCyaZXjECUFaGJkD/9ktOT+LKyW8+9nKRkVNHy4+PRGdKA/7O7y
 q8qieymxaJoq2sFKQmgBvDTEh/S6Z75BlsHiTucpDnFe+WVwLJ79g0w9ehbzWx8g
 XjNn1ONvsd/sDgUxZ3YiYy6uMbrCMPmcb0VPdlVW1l55uCDccNkh94Sa0lDEYnJo
 +Xr6kDd+dyrF6XswyfDSSYriUNHODfT4aezFbS/EAaD3uX+hqtEW+kl1C3unbN5H
 xxqe986NYGX5Yd7sIr9tqVBz4m0gQLDXX1i10pZFi+4pqog/ZV6XQbW+RSjr3SuU
 FktleKz5erwY2fEz9KHRjonpPDPwEnWOnnn+MNPDECuIVyHswkAidUS69DkzfUpf
 us1RrUoOmzi3cBxhrPCLVMnFFKpdxigiKWVa1CVNEhr7nhLLT3JPdfjXY/XEezW3
 i9xJkCaxJUw7xrt808O1MHhkKAC9VFk/s2YDpmhCcmwfF8IR2K4L0XpQRG4+dfwz
 WFPA8xQC2W+BHsHQoXW4XFZJQaCDmXZX2c0SOjl2fwZUyi2h3vvqJPfDxtjIRltN
 TqAZJuaZgJNhtvK9R2BIY6Xr72owczdM8z35Je44K6oiUgFYs4UN9U+6D4sdRkSc
 YBDgRmnGHTb07VWTWxyuzkXmUDiQ458KpdA9xDE47463v+NqkD9scR3EgX/e6OTR
 0+EgUU6dYg==
 =MyW2
 -----END PGP SIGNATURE-----

Merge tag 'v3.9.0a3'

Python 3.9.0a3
This commit is contained in:
Łukasz Langa 2020-01-25 14:52:06 +01:00
commit b07ead3411
89 changed files with 1024 additions and 275 deletions

View File

@ -20,10 +20,10 @@
#define PY_MINOR_VERSION 9
#define PY_MICRO_VERSION 0
#define PY_RELEASE_LEVEL PY_RELEASE_LEVEL_ALPHA
#define PY_RELEASE_SERIAL 2
#define PY_RELEASE_SERIAL 3
/* Version as a string */
#define PY_VERSION "3.9.0a2+"
#define PY_VERSION "3.9.0a3"
/*--end constants--*/
/* Version as a single 4-byte hex number, e.g. 0x010502B2 == 1.5.2b2.

View File

@ -1,5 +1,5 @@
# -*- coding: utf-8 -*-
# Autogenerated by Sphinx on Wed Dec 18 22:05:39 2019
# Autogenerated by Sphinx on Fri Jan 24 22:03:37 2020
topics = {'assert': 'The "assert" statement\n'
'**********************\n'
'\n'
@ -470,24 +470,25 @@ topics = {'assert': 'The "assert" statement\n'
'The following code:\n'
'\n'
' async for TARGET in ITER:\n'
' BLOCK\n'
' SUITE\n'
' else:\n'
' BLOCK2\n'
' SUITE2\n'
'\n'
'Is semantically equivalent to:\n'
'\n'
' iter = (ITER)\n'
' iter = type(iter).__aiter__(iter)\n'
' running = True\n'
'\n'
' while running:\n'
' try:\n'
' TARGET = await type(iter).__anext__(iter)\n'
' except StopAsyncIteration:\n'
' running = False\n'
' else:\n'
' BLOCK\n'
' SUITE\n'
' else:\n'
' BLOCK2\n'
' SUITE2\n'
'\n'
'See also "__aiter__()" and "__anext__()" for details.\n'
'\n'
@ -507,23 +508,27 @@ topics = {'assert': 'The "assert" statement\n'
'\n'
'The following code:\n'
'\n'
' async with EXPR as VAR:\n'
' BLOCK\n'
' async with EXPRESSION as TARGET:\n'
' SUITE\n'
'\n'
'Is semantically equivalent to:\n'
'is semantically equivalent to:\n'
'\n'
' mgr = (EXPR)\n'
' aexit = type(mgr).__aexit__\n'
' aenter = type(mgr).__aenter__(mgr)\n'
' manager = (EXPRESSION)\n'
' aenter = type(manager).__aenter__\n'
' aexit = type(manager).__aexit__\n'
' value = await aenter(manager)\n'
' hit_except = False\n'
'\n'
' VAR = await aenter\n'
' try:\n'
' BLOCK\n'
' TARGET = value\n'
' SUITE\n'
' except:\n'
' if not await aexit(mgr, *sys.exc_info()):\n'
' hit_except = True\n'
' if not await aexit(manager, *sys.exc_info()):\n'
' raise\n'
' else:\n'
' await aexit(mgr, None, None, None)\n'
' finally:\n'
' if not hit_except:\n'
' await aexit(manager, None, None, None)\n'
'\n'
'See also "__aenter__()" and "__aexit__()" for details.\n'
'\n'
@ -2519,11 +2524,13 @@ topics = {'assert': 'The "assert" statement\n'
'"with_item")\n'
' is evaluated to obtain a context manager.\n'
'\n'
'2. The context managers "__exit__()" is loaded for later use.\n'
'2. The context managers "__enter__()" is loaded for later use.\n'
'\n'
'3. The context managers "__enter__()" method is invoked.\n'
'3. The context managers "__exit__()" is loaded for later use.\n'
'\n'
'4. If a target was included in the "with" statement, the return\n'
'4. The context managers "__enter__()" method is invoked.\n'
'\n'
'5. If a target was included in the "with" statement, the return\n'
' value from "__enter__()" is assigned to it.\n'
'\n'
' Note: The "with" statement guarantees that if the '
@ -2536,9 +2543,9 @@ topics = {'assert': 'The "assert" statement\n'
'occurring\n'
' within the suite would be. See step 6 below.\n'
'\n'
'5. The suite is executed.\n'
'6. The suite is executed.\n'
'\n'
'6. The context managers "__exit__()" method is invoked. If an\n'
'7. The context managers "__exit__()" method is invoked. If an\n'
' exception caused the suite to be exited, its type, value, '
'and\n'
' traceback are passed as arguments to "__exit__()". Otherwise, '
@ -2560,18 +2567,42 @@ topics = {'assert': 'The "assert" statement\n'
'proceeds\n'
' at the normal location for the kind of exit that was taken.\n'
'\n'
'The following code:\n'
'\n'
' with EXPRESSION as TARGET:\n'
' SUITE\n'
'\n'
'is semantically equivalent to:\n'
'\n'
' manager = (EXPRESSION)\n'
' enter = type(manager).__enter__\n'
' exit = type(manager).__exit__\n'
' value = enter(manager)\n'
' hit_except = False\n'
'\n'
' try:\n'
' TARGET = value\n'
' SUITE\n'
' except:\n'
' hit_except = True\n'
' if not exit(manager, *sys.exc_info()):\n'
' raise\n'
' finally:\n'
' if not hit_except:\n'
' exit(manager, None, None, None)\n'
'\n'
'With more than one item, the context managers are processed as '
'if\n'
'multiple "with" statements were nested:\n'
'\n'
' with A() as a, B() as b:\n'
' suite\n'
' SUITE\n'
'\n'
'is equivalent to\n'
'is semantically equivalent to:\n'
'\n'
' with A() as a:\n'
' with B() as b:\n'
' suite\n'
' SUITE\n'
'\n'
'Changed in version 3.1: Support for multiple context '
'expressions.\n'
@ -2935,24 +2966,25 @@ topics = {'assert': 'The "assert" statement\n'
'The following code:\n'
'\n'
' async for TARGET in ITER:\n'
' BLOCK\n'
' SUITE\n'
' else:\n'
' BLOCK2\n'
' SUITE2\n'
'\n'
'Is semantically equivalent to:\n'
'\n'
' iter = (ITER)\n'
' iter = type(iter).__aiter__(iter)\n'
' running = True\n'
'\n'
' while running:\n'
' try:\n'
' TARGET = await type(iter).__anext__(iter)\n'
' except StopAsyncIteration:\n'
' running = False\n'
' else:\n'
' BLOCK\n'
' SUITE\n'
' else:\n'
' BLOCK2\n'
' SUITE2\n'
'\n'
'See also "__aiter__()" and "__anext__()" for details.\n'
'\n'
@ -2972,23 +3004,27 @@ topics = {'assert': 'The "assert" statement\n'
'\n'
'The following code:\n'
'\n'
' async with EXPR as VAR:\n'
' BLOCK\n'
' async with EXPRESSION as TARGET:\n'
' SUITE\n'
'\n'
'Is semantically equivalent to:\n'
'is semantically equivalent to:\n'
'\n'
' mgr = (EXPR)\n'
' aexit = type(mgr).__aexit__\n'
' aenter = type(mgr).__aenter__(mgr)\n'
' manager = (EXPRESSION)\n'
' aenter = type(manager).__aenter__\n'
' aexit = type(manager).__aexit__\n'
' value = await aenter(manager)\n'
' hit_except = False\n'
'\n'
' VAR = await aenter\n'
' try:\n'
' BLOCK\n'
' TARGET = value\n'
' SUITE\n'
' except:\n'
' if not await aexit(mgr, *sys.exc_info()):\n'
' hit_except = True\n'
' if not await aexit(manager, *sys.exc_info()):\n'
' raise\n'
' else:\n'
' await aexit(mgr, None, None, None)\n'
' finally:\n'
' if not hit_except:\n'
' await aexit(manager, None, None, None)\n'
'\n'
'See also "__aenter__()" and "__aexit__()" for details.\n'
'\n'
@ -6808,7 +6844,7 @@ topics = {'assert': 'The "assert" statement\n'
'object.__rfloordiv__(self, other)\n'
'object.__rmod__(self, other)\n'
'object.__rdivmod__(self, other)\n'
'object.__rpow__(self, other)\n'
'object.__rpow__(self, other[, modulo])\n'
'object.__rlshift__(self, other)\n'
'object.__rrshift__(self, other)\n'
'object.__rand__(self, other)\n'
@ -9483,7 +9519,7 @@ topics = {'assert': 'The "assert" statement\n'
'object.__rfloordiv__(self, other)\n'
'object.__rmod__(self, other)\n'
'object.__rdivmod__(self, other)\n'
'object.__rpow__(self, other)\n'
'object.__rpow__(self, other[, modulo])\n'
'object.__rlshift__(self, other)\n'
'object.__rrshift__(self, other)\n'
'object.__rand__(self, other)\n'
@ -9874,9 +9910,8 @@ topics = {'assert': 'The "assert" statement\n'
'best\n'
' performances, but only used at the first encoding '
'error. Enable the\n'
' development mode ("-X" "dev" option), or use a debug '
'build, to\n'
' check *errors*.\n'
' Python Development Mode, or use a debug build to check '
'*errors*.\n'
'\n'
' Changed in version 3.1: Support for keyword arguments '
'added.\n'
@ -12401,6 +12436,8 @@ topics = {'assert': 'The "assert" statement\n'
'dictionary. This\n'
' is a shortcut for "reversed(d.keys())".\n'
'\n'
' New in version 3.8.\n'
'\n'
' setdefault(key[, default])\n'
'\n'
' If *key* is in the dictionary, return its value. If '
@ -13606,11 +13643,13 @@ topics = {'assert': 'The "assert" statement\n'
'1. The context expression (the expression given in the "with_item")\n'
' is evaluated to obtain a context manager.\n'
'\n'
'2. The context managers "__exit__()" is loaded for later use.\n'
'2. The context managers "__enter__()" is loaded for later use.\n'
'\n'
'3. The context managers "__enter__()" method is invoked.\n'
'3. The context managers "__exit__()" is loaded for later use.\n'
'\n'
'4. If a target was included in the "with" statement, the return\n'
'4. The context managers "__enter__()" method is invoked.\n'
'\n'
'5. If a target was included in the "with" statement, the return\n'
' value from "__enter__()" is assigned to it.\n'
'\n'
' Note: The "with" statement guarantees that if the "__enter__()"\n'
@ -13620,9 +13659,9 @@ topics = {'assert': 'The "assert" statement\n'
' target list, it will be treated the same as an error occurring\n'
' within the suite would be. See step 6 below.\n'
'\n'
'5. The suite is executed.\n'
'6. The suite is executed.\n'
'\n'
'6. The context managers "__exit__()" method is invoked. If an\n'
'7. The context managers "__exit__()" method is invoked. If an\n'
' exception caused the suite to be exited, its type, value, and\n'
' traceback are passed as arguments to "__exit__()". Otherwise, '
'three\n'
@ -13642,17 +13681,41 @@ topics = {'assert': 'The "assert" statement\n'
'proceeds\n'
' at the normal location for the kind of exit that was taken.\n'
'\n'
'The following code:\n'
'\n'
' with EXPRESSION as TARGET:\n'
' SUITE\n'
'\n'
'is semantically equivalent to:\n'
'\n'
' manager = (EXPRESSION)\n'
' enter = type(manager).__enter__\n'
' exit = type(manager).__exit__\n'
' value = enter(manager)\n'
' hit_except = False\n'
'\n'
' try:\n'
' TARGET = value\n'
' SUITE\n'
' except:\n'
' hit_except = True\n'
' if not exit(manager, *sys.exc_info()):\n'
' raise\n'
' finally:\n'
' if not hit_except:\n'
' exit(manager, None, None, None)\n'
'\n'
'With more than one item, the context managers are processed as if\n'
'multiple "with" statements were nested:\n'
'\n'
' with A() as a, B() as b:\n'
' suite\n'
' SUITE\n'
'\n'
'is equivalent to\n'
'is semantically equivalent to:\n'
'\n'
' with A() as a:\n'
' with B() as b:\n'
' suite\n'
' SUITE\n'
'\n'
'Changed in version 3.1: Support for multiple context expressions.\n'
'\n'

906
Misc/NEWS.d/3.9.0a3.rst Normal file
View File

@ -0,0 +1,906 @@
.. bpo: 39427
.. date: 2020-01-22-22-28-04
.. nonce: LiO-Eo
.. release date: 2020-01-24
.. section: Core and Builtins
Document all possibilities for the ``-X`` options in the command line help
section. Patch by Pablo Galindo.
..
.. bpo: 39421
.. date: 2020-01-22-15-53-37
.. nonce: O3nG7u
.. section: Core and Builtins
Fix possible crashes when operating with the functions in the :mod:`heapq`
module and custom comparison operators.
..
.. bpo: 39386
.. date: 2020-01-20-21-40-57
.. nonce: ULqD8t
.. section: Core and Builtins
Prevent double awaiting of async iterator.
..
.. bpo: 17005
.. date: 2020-01-17-00-00-58
.. nonce: nTSxsy
.. section: Core and Builtins
Add :class:`functools.TopologicalSorter` to the :mod:`functools` module to
offers functionality to perform topological sorting of graphs. Patch by
Pablo Galindo, Tim Peters and Larry Hastings.
..
.. bpo: 39320
.. date: 2020-01-15-15-33-44
.. nonce: b4hnJW
.. section: Core and Builtins
Replace four complex bytecodes for building sequences with three simpler
ones.
The following four bytecodes have been removed:
* BUILD_LIST_UNPACK
* BUILD_TUPLE_UNPACK
* BUILD_SET_UNPACK
* BUILD_TUPLE_UNPACK_WITH_CALL
The following three bytecodes have been added:
* LIST_TO_TUPLE
* LIST_EXTEND
* SET_UPDATE
..
.. bpo: 39336
.. date: 2020-01-15-01-39-29
.. nonce: nJ7W9I
.. section: Core and Builtins
Import loaders which publish immutable module objects can now publish
immutable packages in addition to individual modules.
..
.. bpo: 39322
.. date: 2020-01-13-15-18-13
.. nonce: aAs-1T
.. section: Core and Builtins
Added a new function :func:`gc.is_finalized` to check if an object has been
finalized by the garbage collector. Patch by Pablo Galindo.
..
.. bpo: 39048
.. date: 2020-01-13-14-45-22
.. nonce: iPsj81
.. section: Core and Builtins
Improve the displayed error message when incorrect types are passed to
``async with`` statements by looking up the :meth:`__aenter__` special
method before the :meth:`__aexit__` special method when entering an
asynchronous context manager. Patch by Géry Ogam.
..
.. bpo: 39235
.. date: 2020-01-09-10-01-18
.. nonce: RYwjoc
.. section: Core and Builtins
Fix AST end location for lone generator expression in function call, e.g.
f(i for i in a).
..
.. bpo: 39209
.. date: 2020-01-06-10-29-16
.. nonce: QHAONe
.. section: Core and Builtins
Correctly handle multi-line tokens in interactive mode. Patch by Pablo
Galindo.
..
.. bpo: 1635741
.. date: 2020-01-05-13-40-08
.. nonce: QRTJVC
.. section: Core and Builtins
Port _json extension module to multiphase initialization (:pep:`489`).
..
.. bpo: 39216
.. date: 2020-01-05-06-55-52
.. nonce: 74jLh9
.. section: Core and Builtins
Fix constant folding optimization for positional only arguments - by Anthony
Sottile.
..
.. bpo: 39215
.. date: 2020-01-04-17-25-34
.. nonce: xiqiIz
.. section: Core and Builtins
Fix ``SystemError`` when nested function has annotation on positional-only
argument - by Anthony Sottile.
..
.. bpo: 39200
.. date: 2020-01-04-01-14-32
.. nonce: 8Z9DYp
.. section: Core and Builtins
Correct the error message when calling the :func:`min` or :func:`max` with
no arguments. Patch by Dong-hee Na.
..
.. bpo: 39200
.. date: 2020-01-03-14-50-14
.. nonce: Ip2_iI
.. section: Core and Builtins
Correct the error message when trying to construct :class:`range` objects
with no arguments. Patch by Pablo Galindo.
..
.. bpo: 39166
.. date: 2020-01-02-22-22-03
.. nonce: Qt-UeD
.. section: Core and Builtins
Fix incorrect line execution reporting in trace functions when tracing the
last iteration of asynchronous for loops. Patch by Pablo Galindo.
..
.. bpo: 39114
.. date: 2019-12-31-18-25-45
.. nonce: WG9alt
.. section: Core and Builtins
Fix incorrent line execution reporting in trace functions when tracing
exception handlers with name binding. Patch by Pablo Galindo.
..
.. bpo: 39156
.. date: 2019-12-30-10-53-59
.. nonce: veT-CB
.. section: Core and Builtins
Split the COMPARE_OP bytecode instruction into four distinct instructions.
* COMPARE_OP for rich comparisons
* IS_OP for 'is' and 'is not' tests
* CONTAINS_OP for 'in' and 'is not' tests
* JUMP_IF_NOT_EXC_MATCH for checking exceptions in 'try-except' statements.
This improves the clarity of the interpreter and should provide a modest
speedup.
..
.. bpo: 38588
.. date: 2019-12-29-19-13-54
.. nonce: pgXnNS
.. section: Core and Builtins
Fix possible crashes in dict and list when calling
:c:func:`PyObject_RichCompareBool`.
..
.. bpo: 13601
.. date: 2019-12-17-22-32-11
.. nonce: vNP4LC
.. section: Core and Builtins
By default, ``sys.stderr`` is line-buffered now, even if ``stderr`` is
redirected to a file. You can still make ``sys.stderr`` unbuffered by
passing the :option:`-u` command-line option or setting the
:envvar:`PYTHONUNBUFFERED` environment variable.
(Contributed by Jendrik Seipp in bpo-13601.)
..
.. bpo: 38610
.. date: 2019-10-31-14-30-39
.. nonce: fHdVMS
.. section: Core and Builtins
Fix possible crashes in several list methods by holding strong references to
list elements when calling :c:func:`PyObject_RichCompareBool`.
..
.. bpo: 32021
.. date: 2019-03-11-13-30-40
.. nonce: dpbtkP
.. section: Core and Builtins
Include brotli .br encoding in mimetypes encodings_map
..
.. bpo: 39430
.. date: 2020-01-24-11-05-21
.. nonce: I0UQzM
.. section: Library
Fixed race condition in lazy imports in :mod:`tarfile`.
..
.. bpo: 39413
.. date: 2020-01-24-10-10-25
.. nonce: 7XYDM8
.. section: Library
The :func:`os.unsetenv` function is now also available on Windows.
..
.. bpo: 39390
.. date: 2020-01-23-21-34-29
.. nonce: D2tSXk
.. section: Library
Fixed a regression with the `ignore` callback of :func:`shutil.copytree`.
The argument types are now str and List[str] again.
..
.. bpo: 39395
.. date: 2020-01-23-03-05-41
.. nonce: 4dda42
.. section: Library
The :func:`os.putenv` and :func:`os.unsetenv` functions are now always
available.
..
.. bpo: 39406
.. date: 2020-01-22-21-18-58
.. nonce: HMpe8x
.. section: Library
If ``setenv()`` C function is available, :func:`os.putenv` is now
implemented with ``setenv()`` instead of ``putenv()``, so Python doesn't
have to handle the environment variable memory.
..
.. bpo: 39396
.. date: 2020-01-21-09-00-42
.. nonce: 6UXQXE
.. section: Library
Fix ``math.nextafter(-0.0, +0.0)`` on AIX 7.1.
..
.. bpo: 29435
.. date: 2020-01-20-18-48-00
.. nonce: qqJ2Ax
.. section: Library
Allow :func:`tarfile.is_tarfile` to be used with file and file-like objects,
like :func:`zipfile.is_zipfile`. Patch by William Woodruff.
..
.. bpo: 39377
.. date: 2020-01-20-13-00-35
.. nonce: QSFdaU
.. section: Library
Removed ``encoding`` option from :func:`json.loads`. It has been deprecated
since Python 3.1.
..
.. bpo: 39389
.. date: 2020-01-20-00-56-01
.. nonce: fEirIS
.. section: Library
Write accurate compression level metadata in :mod:`gzip` archives, rather
than always signaling maximum compression.
..
.. bpo: 39366
.. date: 2020-01-17-18-14-51
.. nonce: Cv3NQS
.. section: Library
The previously deprecated ``xpath()`` and ``xgtitle()`` methods of
:class:`nntplib.NNTP` have been removed.
..
.. bpo: 39357
.. date: 2020-01-16-11-24-00
.. nonce: bCwx-h
.. section: Library
Remove the *buffering* parameter of :class:`bz2.BZ2File`. Since Python 3.0,
it was ignored and using it was emitting :exc:`DeprecationWarning`. Pass an
open file object, to control how the file is opened. The *compresslevel*
parameter becomes keyword-only.
..
.. bpo: 39353
.. date: 2020-01-16-10-21-48
.. nonce: ntp7Ql
.. section: Library
Deprecate binhex4 and hexbin4 standards. Deprecate the :mod:`binhex` module
and the following :mod:`binascii` functions: :func:`~binascii.b2a_hqx`,
:func:`~binascii.a2b_hqx`, :func:`~binascii.rlecode_hqx`,
:func:`~binascii.rledecode_hqx`, :func:`~binascii.crc_hqx`.
..
.. bpo: 39351
.. date: 2020-01-16-09-27-28
.. nonce: a-FQdv
.. section: Library
Remove ``base64.encodestring()`` and ``base64.decodestring()``, aliases
deprecated since Python 3.1: use :func:`base64.encodebytes` and
:func:`base64.decodebytes` instead.
..
.. bpo: 39350
.. date: 2020-01-16-09-15-40
.. nonce: ZQx0uY
.. section: Library
Remove ``fractions.gcd()`` function, deprecated since Python 3.5
(:issue:`22486`): use :func:`math.gcd` instead.
..
.. bpo: 39329
.. date: 2020-01-14-22-16-07
.. nonce: 6OKGBn
.. section: Library
:class:`~smtplib.LMTP` constructor now has an optional *timeout* parameter.
Patch by Dong-hee Na.
..
.. bpo: 39313
.. date: 2020-01-12-18-17-00
.. nonce: DCTsnm
.. section: Library
Add a new ``exec_function`` option (*--exec-function* in the CLI) to
``RefactoringTool`` for making ``exec`` a function. Patch by Batuhan
Taskaya.
..
.. bpo: 39259
.. date: 2020-01-12-17-19-40
.. nonce: iax06r
.. section: Library
:class:`~ftplib.FTP_TLS` and :class:`~ftplib.FTP_TLS` now raise a
:class:`ValueError` if the given timeout for their constructor is zero to
prevent the creation of a non-blocking socket. Patch by Dong-hee Na.
..
.. bpo: 39259
.. date: 2020-01-12-16-34-28
.. nonce: J_yBVq
.. section: Library
:class:`~smtplib.SMTP` and :class:`~smtplib.SMTP_SSL` now raise a
:class:`ValueError` if the given timeout for their constructor is zero to
prevent the creation of a non-blocking socket. Patch by Dong-hee Na.
..
.. bpo: 39310
.. date: 2020-01-12-13-34-42
.. nonce: YMRdcj
.. section: Library
Add :func:`math.ulp`: return the value of the least significant bit of a
float.
..
.. bpo: 39297
.. date: 2020-01-11-01-15-37
.. nonce: y98Z6Q
.. section: Library
Improved performance of importlib.metadata distribution discovery and
resilients to inaccessible sys.path entries (importlib_metadata v1.4.0).
..
.. bpo: 39259
.. date: 2020-01-11-00-32-45
.. nonce: _S5VjC
.. section: Library
:class:`~nntplib.NNTP` and :class:`~nntplib.NNTP_SSL` now raise a
:class:`ValueError` if the given timeout for their constructor is zero to
prevent the creation of a non-blocking socket. Patch by Dong-hee Na.
..
.. bpo: 38901
.. date: 2020-01-10-22-30-48
.. nonce: OdVIIb
.. section: Library
When you specify prompt='.' or equivalently python -m venv --prompt . ...
the basename of the current directory is used to set the created venv's
prompt when it's activated.
..
.. bpo: 39288
.. date: 2020-01-10-16-52-09
.. nonce: IB-aQX
.. section: Library
Add :func:`math.nextafter`: return the next floating-point value after *x*
towards *y*.
..
.. bpo: 39259
.. date: 2020-01-09-10-58-58
.. nonce: RmDgCC
.. section: Library
:class:`~poplib.POP3` and :class:`~poplib.POP3_SSL` now raise a
:class:`ValueError` if the given timeout for their constructor is zero to
prevent the creation of a non-blocking socket. Patch by Dong-hee Na.
..
.. bpo: 39242
.. date: 2020-01-08-23-25-27
.. nonce: bnL65N
.. section: Library
Updated the Gmane domain from news.gmane.org to news.gmane.io which is used
for examples of :class:`~nntplib.NNTP` news reader server and nntplib tests.
..
.. bpo: 35292
.. date: 2020-01-08-14-39-19
.. nonce: ihRT1z
.. section: Library
Proxy the `SimpleHTTPRequestHandler.guess_type` to `mimetypes.guess_type` so
the `mimetypes.init` is called lazily to avoid unnecessary costs when
:mod:`http.server` module is imported.
..
.. bpo: 39239
.. date: 2020-01-07-01-02-44
.. nonce: r7vecs
.. section: Library
The :meth:`select.epoll.unregister` method no longer ignores the
:data:`~errno.EBADF` error.
..
.. bpo: 38907
.. date: 2020-01-06-02-14-38
.. nonce: F1RkCR
.. section: Library
In http.server script, restore binding to IPv4 on Windows.
..
.. bpo: 39152
.. date: 2020-01-03-18-02-50
.. nonce: JgPjCC
.. section: Library
Fix ttk.Scale.configure([name]) to return configuration tuple for name or
all options. Giovanni Lombardo contributed part of the patch.
..
.. bpo: 39198
.. date: 2020-01-02-20-21-03
.. nonce: nzwGyG
.. section: Library
If an exception were to be thrown in `Logger.isEnabledFor` (say, by asyncio
timeouts or stopit) , the `logging` global lock may not be released
appropriately, resulting in deadlock. This change wraps that block of code
with `try...finally` to ensure the lock is released.
..
.. bpo: 39191
.. date: 2020-01-02-17-28-03
.. nonce: ur_scy
.. section: Library
Perform a check for running loop before starting a new task in
``loop.run_until_complete()`` to fail fast; it prevents the side effect of
new task spawning before exception raising.
..
.. bpo: 38871
.. date: 2020-01-01-18-44-52
.. nonce: 3EEOLg
.. section: Library
Correctly parenthesize filter-based statements that contain lambda
expressions in mod:`lib2to3`. Patch by Dong-hee Na.
..
.. bpo: 39142
.. date: 2019-12-31-19-27-23
.. nonce: oqU5iD
.. section: Library
A change was made to logging.config.dictConfig to avoid converting instances
of named tuples to ConvertingTuple. It's assumed that named tuples are too
specialised to be treated like ordinary tuples; if a user of named tuples
requires ConvertingTuple functionality, they will have to implement that
themselves in their named tuple class.
..
.. bpo: 39158
.. date: 2019-12-29-15-44-38
.. nonce: cxVoOR
.. section: Library
ast.literal_eval() now supports empty sets.
..
.. bpo: 39129
.. date: 2019-12-24-10-43-13
.. nonce: jVx5rW
.. section: Library
Fix import path for ``asyncio.TimeoutError``
..
.. bpo: 39057
.. date: 2019-12-15-21-47-54
.. nonce: FOxn-w
.. section: Library
:func:`urllib.request.proxy_bypass_environment` now ignores leading dots and
no longer ignores a trailing newline.
..
.. bpo: 39056
.. date: 2019-12-15-21-05-16
.. nonce: nEfUM9
.. section: Library
Fixed handling invalid warning category in the -W option. No longer import
the re module if it is not needed.
..
.. bpo: 39055
.. date: 2019-12-15-19-23-23
.. nonce: FmN3un
.. section: Library
:func:`base64.b64decode` with ``validate=True`` raises now a binascii.Error
if the input ends with a single ``\n``.
..
.. bpo: 21600
.. date: 2019-12-14-14-38-40
.. nonce: kC4Cgh
.. section: Library
Fix :func:`mock.patch.stopall` to stop active patches that were created with
:func:`mock.patch.dict`.
..
.. bpo: 39019
.. date: 2019-12-10-21-11-05
.. nonce: YIlgZ7
.. section: Library
Implement dummy ``__class_getitem__`` for
:class:`tempfile.SpooledTemporaryFile`.
..
.. bpo: 39019
.. date: 2019-12-10-21-03-34
.. nonce: i8RpMZ
.. section: Library
Implement dummy ``__class_getitem__`` for ``subprocess.Popen``,
``subprocess.CompletedProcess``
..
.. bpo: 38914
.. date: 2019-11-26-23-21-56
.. nonce: 8l-g-T
.. section: Library
Adjusted the wording of the warning issued by distutils' ``check`` command
when the ``author`` and ``maintainer`` fields are supplied but no
corresponding e-mail field (``author_email`` or ``maintainer_email``) is
found. The wording now reflects the fact that these fields are suggested,
but not required. Patch by Juergen Gmach.
..
.. bpo: 38878
.. date: 2019-11-22-12-08-52
.. nonce: EJ0cFf
.. section: Library
Fixed __subclasshook__ of :class:`os.PathLike` to return a correct result
upon inheritence. Patch by Bar Harel.
..
.. bpo: 38615
.. date: 2019-11-17-17-32-35
.. nonce: OVyaNX
.. section: Library
:class:`~imaplib.IMAP4` and :class:`~imaplib.IMAP4_SSL` now have an optional
*timeout* parameter for their constructors. Also, the
:meth:`~imaplib.IMAP4.open` method now has an optional *timeout* parameter
with this change. The overridden methods of :class:`~imaplib.IMAP4_SSL` and
:class:`~imaplib.IMAP4_stream` were applied to this change. Patch by
Dong-hee Na.
..
.. bpo: 35182
.. date: 2019-10-31-19-23-25
.. nonce: hzeNl9
.. section: Library
Fixed :func:`Popen.communicate` subsequent call crash when the child process
has already closed any piped standard stream, but still continues to be
running. Patch by Andriy Maletsky.
..
.. bpo: 38630
.. date: 2019-10-29-12-21-10
.. nonce: Dv6Xrm
.. section: Library
On Unix, :meth:`subprocess.Popen.send_signal` now polls the process status.
Polling reduces the risk of sending a signal to the wrong process if the
process completed, the :attr:`subprocess.Popen.returncode` attribute is
still ``None``, and the pid has been reassigned (recycled) to a new
different process.
..
.. bpo: 38536
.. date: 2019-10-21-20-24-51
.. nonce: beZ0Sk
.. section: Library
Removes trailing space in formatted currency with `international=True` and a
locale with symbol following value. E.g. `locale.currency(12.34,
international=True)` returned `'12,34 EUR '` instead of `'12,34 EUR'`.
..
.. bpo: 38473
.. date: 2019-10-14-21-14-55
.. nonce: uXpVld
.. section: Library
Use signature from inner mock for autospecced methods attached with
:func:`unittest.mock.attach_mock`. Patch by Karthikeyan Singaravelan.
..
.. bpo: 38361
.. date: 2019-10-04-09-49-56
.. nonce: LM4u4T
.. section: Library
Fixed an issue where ``ident`` could include a leading path separator when
:func:`syslog.openlog` was called without arguments.
..
.. bpo: 38293
.. date: 2019-09-29-08-17-03
.. nonce: wls5s3
.. section: Library
Add :func:`copy.copy` and :func:`copy.deepcopy` support to :func:`property`
objects.
..
.. bpo: 37958
.. date: 2019-08-27-03-57-25
.. nonce: lRORI3
.. section: Library
Added the pstats.Stats.get_profile_dict() method to return the profile data
as a StatsProfile instance.
..
.. bpo: 28367
.. date: 2019-05-06-22-38-47
.. nonce: 2AKen5
.. section: Library
Termios magic constants for the following baud rates: - B500000 -
B576000 - B921600 - B1000000 - B1152000 - B1500000 - B2000000 -
B2500000 - B3000000 - B3500000 - B4000000 Patch by Andrey Smirnov
..
.. bpo: 39381
.. date: 2020-01-18-15-37-56
.. nonce: wTWe8d
.. section: Documentation
Mention in docs that :func:`asyncio.get_event_loop` implicitly creates new
event loop only if called from the main thread.
..
.. bpo: 38918
.. date: 2019-12-15-22-04-41
.. nonce: 8JnDTS
.. section: Documentation
Add an entry for ``__module__`` in the "function" & "method" sections of the
`inspect docs types and members table
<https://docs.python.org/3/library/inspect.html#types-and-members>`_
..
.. bpo: 3530
.. date: 2019-11-17-11-53-10
.. nonce: 8zFUMc
.. section: Documentation
In the :mod:`ast` module documentation, fix a misleading ``NodeTransformer``
example and add advice on when to use the ``fix_missing_locations``
function.
..
.. bpo: 39395
.. date: 2020-01-23-03-05-13
.. nonce: RoArIZ
.. section: Build
On non-Windows platforms, the :c:func:`setenv` and :c:func:`unsetenv`
functions are now required to build Python.
..
.. bpo: 39160
.. date: 2019-12-30-03-54-24
.. nonce: aBmj13
.. section: Build
Updated the documentation in `./configure --help` to show default values,
reference documentation where required and add additional explanation where
needed.
..
.. bpo: 39144
.. date: 2019-12-27-22-18-26
.. nonce: dwHMlR
.. section: Build
The ctags and etags build targets both include Modules/_ctypes and Python
standard library source files.
..
.. bpo: 39050
.. date: 2020-01-22-22-28-06
.. nonce: zkn0FO
.. section: IDLE
Make IDLE Settings dialog Help button work again.
..
.. bpo: 34118
.. date: 2019-12-30-16-44-07
.. nonce: FaNW0a
.. section: IDLE
Tag memoryview, range, and tuple as classes, the same as list, etcetera, in
the library manual built-in functions list.
..
.. bpo: 32989
.. date: 2018-03-03-12-56-26
.. nonce: FVhmhH
.. section: IDLE
Add tests for editor newline_and_indent_event method. Remove dead code from
pyparse find_good_parse_start method.
..
.. bpo: 39372
.. date: 2020-01-17-19-25-48
.. nonce: hGJMY6
.. section: C API
Clean header files of interfaces defined but with no implementation. The
public API symbols being removed are:
``_PyBytes_InsertThousandsGroupingLocale``,
``_PyBytes_InsertThousandsGrouping``, ``_Py_InitializeFromArgs``,
``_Py_InitializeFromWideArgs``, ``_PyFloat_Repr``, ``_PyFloat_Digits``,
``_PyFloat_DigitsInit``, ``PyFrame_ExtendStack``, ``_PyAIterWrapper_Type``,
``PyNullImporter_Type``, ``PyCmpWrapper_Type``, ``PySortWrapper_Type``,
``PyNoArgsFunction``.
..
.. bpo: 39164
.. date: 2019-12-30-10-43-52
.. nonce: WEV0uu
.. section: C API
Add a private ``_PyErr_GetExcInfo()`` function to retrieve exception
information of the specified Python thread state.

View File

@ -1 +0,0 @@
The ctags and etags build targets both include Modules/_ctypes and Python standard library source files.

View File

@ -1 +0,0 @@
Updated the documentation in `./configure --help` to show default values, reference documentation where required and add additional explanation where needed.

View File

@ -1,2 +0,0 @@
On non-Windows platforms, the :c:func:`setenv` and :c:func:`unsetenv` functions
are now required to build Python.

View File

@ -1 +0,0 @@
Add a private ``_PyErr_GetExcInfo()`` function to retrieve exception information of the specified Python thread state.

View File

@ -1,8 +0,0 @@
Clean header files of interfaces defined but with no implementation. The
public API symbols being removed are:
``_PyBytes_InsertThousandsGroupingLocale``,
``_PyBytes_InsertThousandsGrouping``, ``_Py_InitializeFromArgs``,
``_Py_InitializeFromWideArgs``, ``_PyFloat_Repr``, ``_PyFloat_Digits``,
``_PyFloat_DigitsInit``, ``PyFrame_ExtendStack``, ``_PyAIterWrapper_Type``,
``PyNullImporter_Type``, ``PyCmpWrapper_Type``, ``PySortWrapper_Type``,
``PyNoArgsFunction``.

View File

@ -1 +0,0 @@
Include brotli .br encoding in mimetypes encodings_map

View File

@ -1,2 +0,0 @@
Fix possible crashes in several list methods by holding strong references to
list elements when calling :c:func:`PyObject_RichCompareBool`.

View File

@ -1,6 +0,0 @@
By default, ``sys.stderr`` is line-buffered now, even if ``stderr`` is
redirected to a file. You can still make ``sys.stderr`` unbuffered by
passing the :option:`-u` command-line option or setting the
:envvar:`PYTHONUNBUFFERED` environment variable.
(Contributed by Jendrik Seipp in bpo-13601.)

View File

@ -1,2 +0,0 @@
Fix possible crashes in dict and list when calling
:c:func:`PyObject_RichCompareBool`.

View File

@ -1,9 +0,0 @@
Split the COMPARE_OP bytecode instruction into four distinct instructions.
* COMPARE_OP for rich comparisons
* IS_OP for 'is' and 'is not' tests
* CONTAINS_OP for 'in' and 'is not' tests
* JUMP_IF_NOT_EXC_MATCH for checking exceptions in 'try-except' statements.
This improves the clarity of the interpreter and should provide a modest
speedup.

View File

@ -1,2 +0,0 @@
Fix incorrent line execution reporting in trace functions when tracing
exception handlers with name binding. Patch by Pablo Galindo.

View File

@ -1,2 +0,0 @@
Fix incorrect line execution reporting in trace functions when tracing the
last iteration of asynchronous for loops. Patch by Pablo Galindo.

View File

@ -1,2 +0,0 @@
Correct the error message when trying to construct :class:`range` objects
with no arguments. Patch by Pablo Galindo.

View File

@ -1,2 +0,0 @@
Correct the error message when calling the :func:`min` or :func:`max` with
no arguments. Patch by Dong-hee Na.

View File

@ -1,2 +0,0 @@
Fix ``SystemError`` when nested function has annotation on positional-only
argument - by Anthony Sottile.

View File

@ -1,2 +0,0 @@
Fix constant folding optimization for positional only arguments - by Anthony
Sottile.

View File

@ -1 +0,0 @@
Port _json extension module to multiphase initialization (:pep:`489`).

View File

@ -1,2 +0,0 @@
Correctly handle multi-line tokens in interactive mode. Patch by Pablo
Galindo.

View File

@ -1,2 +0,0 @@
Fix AST end location for lone generator expression in function call, e.g.
f(i for i in a).

View File

@ -1,4 +0,0 @@
Improve the displayed error message when incorrect types are passed to ``async
with`` statements by looking up the :meth:`__aenter__` special method before
the :meth:`__aexit__` special method when entering an asynchronous context
manager. Patch by Géry Ogam.

View File

@ -1,2 +0,0 @@
Added a new function :func:`gc.is_finalized` to check if an object has been
finalized by the garbage collector. Patch by Pablo Galindo.

View File

@ -1 +0,0 @@
Import loaders which publish immutable module objects can now publish immutable packages in addition to individual modules.

View File

@ -1,15 +0,0 @@
Replace four complex bytecodes for building sequences with three simpler ones.
The following four bytecodes have been removed:
* BUILD_LIST_UNPACK
* BUILD_TUPLE_UNPACK
* BUILD_SET_UNPACK
* BUILD_TUPLE_UNPACK_WITH_CALL
The following three bytecodes have been added:
* LIST_TO_TUPLE
* LIST_EXTEND
* SET_UPDATE

View File

@ -1,3 +0,0 @@
Add :class:`functools.TopologicalSorter` to the :mod:`functools` module to
offers functionality to perform topological sorting of graphs. Patch by
Pablo Galindo, Tim Peters and Larry Hastings.

View File

@ -1 +0,0 @@
Prevent double awaiting of async iterator.

View File

@ -1,2 +0,0 @@
Fix possible crashes when operating with the functions in the :mod:`heapq`
module and custom comparison operators.

View File

@ -1,2 +0,0 @@
Document all possibilities for the ``-X`` options in the command line help
section. Patch by Pablo Galindo.

View File

@ -1,2 +0,0 @@
In the :mod:`ast` module documentation, fix a misleading ``NodeTransformer`` example and add
advice on when to use the ``fix_missing_locations`` function.

View File

@ -1,3 +0,0 @@
Add an entry for ``__module__`` in the "function" & "method" sections of the
`inspect docs types and members table
<https://docs.python.org/3/library/inspect.html#types-and-members>`_

View File

@ -1,2 +0,0 @@
Mention in docs that :func:`asyncio.get_event_loop` implicitly creates new
event loop only if called from the main thread.

View File

@ -1,2 +0,0 @@
Add tests for editor newline_and_indent_event method.
Remove dead code from pyparse find_good_parse_start method.

View File

@ -1,2 +0,0 @@
Tag memoryview, range, and tuple as classes, the same as list, etcetera, in
the library manual built-in functions list.

View File

@ -1 +0,0 @@
Make IDLE Settings dialog Help button work again.

View File

@ -1,13 +0,0 @@
Termios magic constants for the following baud rates:
- B500000
- B576000
- B921600
- B1000000
- B1152000
- B1500000
- B2000000
- B2500000
- B3000000
- B3500000
- B4000000
Patch by Andrey Smirnov

View File

@ -1,2 +0,0 @@
Added the pstats.Stats.get_profile_dict() method to return the profile
data as a StatsProfile instance.

View File

@ -1 +0,0 @@
Add :func:`copy.copy` and :func:`copy.deepcopy` support to :func:`property` objects.

View File

@ -1 +0,0 @@
Fixed an issue where ``ident`` could include a leading path separator when :func:`syslog.openlog` was called without arguments.

View File

@ -1,2 +0,0 @@
Use signature from inner mock for autospecced methods attached with
:func:`unittest.mock.attach_mock`. Patch by Karthikeyan Singaravelan.

View File

@ -1,2 +0,0 @@
Removes trailing space in formatted currency with `international=True` and a locale with symbol following value.
E.g. `locale.currency(12.34, international=True)` returned `'12,34 EUR '` instead of `'12,34 EUR'`.

View File

@ -1,5 +0,0 @@
On Unix, :meth:`subprocess.Popen.send_signal` now polls the process status.
Polling reduces the risk of sending a signal to the wrong process if the
process completed, the :attr:`subprocess.Popen.returncode` attribute is still
``None``, and the pid has been reassigned (recycled) to a new different
process.

View File

@ -1,3 +0,0 @@
Fixed :func:`Popen.communicate` subsequent call crash when the child process
has already closed any piped standard stream, but still continues to be
running. Patch by Andriy Maletsky.

View File

@ -1,5 +0,0 @@
:class:`~imaplib.IMAP4` and :class:`~imaplib.IMAP4_SSL` now have an
optional *timeout* parameter for their constructors.
Also, the :meth:`~imaplib.IMAP4.open` method now has an optional *timeout* parameter
with this change. The overridden methods of :class:`~imaplib.IMAP4_SSL` and
:class:`~imaplib.IMAP4_stream` were applied to this change. Patch by Dong-hee Na.

View File

@ -1,2 +0,0 @@
Fixed __subclasshook__ of :class:`os.PathLike` to return a correct result
upon inheritence. Patch by Bar Harel.

View File

@ -1,5 +0,0 @@
Adjusted the wording of the warning issued by distutils' ``check`` command when
the ``author`` and ``maintainer`` fields are supplied but no corresponding
e-mail field (``author_email`` or ``maintainer_email``) is found. The wording
now reflects the fact that these fields are suggested, but not required. Patch
by Juergen Gmach.

View File

@ -1,2 +0,0 @@
Implement dummy ``__class_getitem__`` for ``subprocess.Popen``,
``subprocess.CompletedProcess``

View File

@ -1 +0,0 @@
Implement dummy ``__class_getitem__`` for :class:`tempfile.SpooledTemporaryFile`.

View File

@ -1,2 +0,0 @@
Fix :func:`mock.patch.stopall` to stop active patches that were created with
:func:`mock.patch.dict`.

View File

@ -1,2 +0,0 @@
:func:`base64.b64decode` with ``validate=True`` raises now a binascii.Error
if the input ends with a single ``\n``.

View File

@ -1,2 +0,0 @@
Fixed handling invalid warning category in the -W option. No longer import
the re module if it is not needed.

View File

@ -1,2 +0,0 @@
:func:`urllib.request.proxy_bypass_environment` now ignores leading dots and
no longer ignores a trailing newline.

View File

@ -1 +0,0 @@
Fix import path for ``asyncio.TimeoutError``

View File

@ -1 +0,0 @@
ast.literal_eval() now supports empty sets.

View File

@ -1,5 +0,0 @@
A change was made to logging.config.dictConfig to avoid converting instances
of named tuples to ConvertingTuple. It's assumed that named tuples are too
specialised to be treated like ordinary tuples; if a user of named tuples
requires ConvertingTuple functionality, they will have to implement that
themselves in their named tuple class.

View File

@ -1,2 +0,0 @@
Correctly parenthesize filter-based statements that contain lambda
expressions in mod:`lib2to3`. Patch by Dong-hee Na.

View File

@ -1,3 +0,0 @@
Perform a check for running loop before starting a new task in
``loop.run_until_complete()`` to fail fast; it prevents the side effect of
new task spawning before exception raising.

View File

@ -1 +0,0 @@
If an exception were to be thrown in `Logger.isEnabledFor` (say, by asyncio timeouts or stopit) , the `logging` global lock may not be released appropriately, resulting in deadlock. This change wraps that block of code with `try...finally` to ensure the lock is released.

View File

@ -1,2 +0,0 @@
Fix ttk.Scale.configure([name]) to return configuration tuple for name
or all options. Giovanni Lombardo contributed part of the patch.

View File

@ -1 +0,0 @@
In http.server script, restore binding to IPv4 on Windows.

View File

@ -1,2 +0,0 @@
The :meth:`select.epoll.unregister` method no longer ignores the
:data:`~errno.EBADF` error.

View File

@ -1 +0,0 @@
Proxy the `SimpleHTTPRequestHandler.guess_type` to `mimetypes.guess_type` so the `mimetypes.init` is called lazily to avoid unnecessary costs when :mod:`http.server` module is imported.

View File

@ -1,3 +0,0 @@
Updated the Gmane domain from news.gmane.org to news.gmane.io
which is used for examples of :class:`~nntplib.NNTP` news reader server and
nntplib tests.

View File

@ -1,3 +0,0 @@
:class:`~poplib.POP3` and :class:`~poplib.POP3_SSL` now raise a
:class:`ValueError` if the given timeout for their constructor is zero to
prevent the creation of a non-blocking socket. Patch by Dong-hee Na.

View File

@ -1,2 +0,0 @@
Add :func:`math.nextafter`: return the next floating-point value after *x*
towards *y*.

View File

@ -1,3 +0,0 @@
When you specify prompt='.' or equivalently python -m venv --prompt . ...
the basename of the current directory is used to set the created venv's
prompt when it's activated.

View File

@ -1,3 +0,0 @@
:class:`~nntplib.NNTP` and :class:`~nntplib.NNTP_SSL` now raise a
:class:`ValueError` if the given timeout for their constructor is zero to
prevent the creation of a non-blocking socket. Patch by Dong-hee Na.

View File

@ -1 +0,0 @@
Improved performance of importlib.metadata distribution discovery and resilients to inaccessible sys.path entries (importlib_metadata v1.4.0).

View File

@ -1 +0,0 @@
Add :func:`math.ulp`: return the value of the least significant bit of a float.

View File

@ -1,3 +0,0 @@
:class:`~smtplib.SMTP` and :class:`~smtplib.SMTP_SSL` now raise a
:class:`ValueError` if the given timeout for their constructor is zero to
prevent the creation of a non-blocking socket. Patch by Dong-hee Na.

View File

@ -1,3 +0,0 @@
:class:`~ftplib.FTP_TLS` and :class:`~ftplib.FTP_TLS` now raise a
:class:`ValueError` if the given timeout for their constructor is zero to
prevent the creation of a non-blocking socket. Patch by Dong-hee Na.

View File

@ -1,2 +0,0 @@
Add a new ``exec_function`` option (*--exec-function* in the CLI) to
``RefactoringTool`` for making ``exec`` a function. Patch by Batuhan Taskaya.

View File

@ -1,2 +0,0 @@
:class:`~smtplib.LMTP` constructor now has an optional *timeout* parameter.
Patch by Dong-hee Na.

View File

@ -1,2 +0,0 @@
Remove ``fractions.gcd()`` function, deprecated since Python 3.5
(:issue:`22486`): use :func:`math.gcd` instead.

View File

@ -1,3 +0,0 @@
Remove ``base64.encodestring()`` and ``base64.decodestring()``, aliases
deprecated since Python 3.1: use :func:`base64.encodebytes` and
:func:`base64.decodebytes` instead.

View File

@ -1,4 +0,0 @@
Deprecate binhex4 and hexbin4 standards. Deprecate the :mod:`binhex` module and
the following :mod:`binascii` functions: :func:`~binascii.b2a_hqx`,
:func:`~binascii.a2b_hqx`, :func:`~binascii.rlecode_hqx`,
:func:`~binascii.rledecode_hqx`, :func:`~binascii.crc_hqx`.

View File

@ -1,4 +0,0 @@
Remove the *buffering* parameter of :class:`bz2.BZ2File`. Since Python 3.0, it
was ignored and using it was emitting :exc:`DeprecationWarning`. Pass an open
file object, to control how the file is opened. The *compresslevel* parameter
becomes keyword-only.

View File

@ -1,2 +0,0 @@
The previously deprecated ``xpath()`` and ``xgtitle()`` methods of
:class:`nntplib.NNTP` have been removed.

View File

@ -1,2 +0,0 @@
Write accurate compression level metadata in :mod:`gzip` archives, rather
than always signaling maximum compression.

View File

@ -1,2 +0,0 @@
Removed ``encoding`` option from :func:`json.loads`. It has been deprecated
since Python 3.1.

View File

@ -1,2 +0,0 @@
Allow :func:`tarfile.is_tarfile` to be used with file and file-like
objects, like :func:`zipfile.is_zipfile`. Patch by William Woodruff.

View File

@ -1 +0,0 @@
Fix ``math.nextafter(-0.0, +0.0)`` on AIX 7.1.

View File

@ -1,3 +0,0 @@
If ``setenv()`` C function is available, :func:`os.putenv` is now
implemented with ``setenv()`` instead of ``putenv()``, so Python doesn't
have to handle the environment variable memory.

View File

@ -1,2 +0,0 @@
The :func:`os.putenv` and :func:`os.unsetenv` functions are now always
available.

View File

@ -1,2 +0,0 @@
Fixed a regression with the `ignore` callback of :func:`shutil.copytree`.
The argument types are now str and List[str] again.

View File

@ -1 +0,0 @@
The :func:`os.unsetenv` function is now also available on Windows.

View File

@ -1 +0,0 @@
Fixed race condition in lazy imports in :mod:`tarfile`.

View File

@ -1,4 +1,4 @@
This is Python version 3.9.0 alpha 2
This is Python version 3.9.0 alpha 3
====================================
.. image:: https://travis-ci.org/python/cpython.svg?branch=master