Python-checkins
Threads by month
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2005 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2004 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2003 -----
- December
- November
- October
- September
- August
February 2020
- 1 participants
- 315 discussions
To: python-checkins(a)python.org
Subject: Python 3.9.0a4
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
https://github.com/python/cpython/commit/6e02691f300c9918ac5806dafa1f2ecef4…
d733
commit: 6e02691f300c9918ac5806dafa1f2ecef451d733
branch: master
author: =C5=81ukasz Langa <lukasz(a)langa.pl>
committer: =C5=81ukasz Langa <lukasz(a)langa.pl>
date: 2020-02-25T22:06:39+01:00
summary:
Python 3.9.0a4
files:
A Misc/NEWS.d/3.9.0a4.rst
D Misc/NEWS.d/next/Build/2020-01-29-19-17-02.bpo-39489.HKPzv-.rst
D Misc/NEWS.d/next/C API/2020-01-07-13-46-40.bpo-39245.G7wog6.rst
D Misc/NEWS.d/next/C API/2020-01-17-11-37-05.bpo-38076.cxfw2x.rst
D Misc/NEWS.d/next/C API/2020-01-31-16-35-21.bpo-39511.nv9yEn.rst
D Misc/NEWS.d/next/C API/2020-02-05-12-00-18.bpo-39542.RJCUKR.rst
D Misc/NEWS.d/next/C API/2020-02-05-12-40-51.bpo-39542.si-_Zq.rst
D Misc/NEWS.d/next/C API/2020-02-05-13-14-20.bpo-39542.5mleGX.rst
D Misc/NEWS.d/next/C API/2020-02-07-00-23-44.bpo-39573.nRD1q7.rst
D Misc/NEWS.d/next/C API/2020-02-07-03-39-03.bpo-39573.Oa8cL1.rst
D Misc/NEWS.d/next/C API/2020-02-07-09-35-43.bpo-39500.xRAEgX.rst
D Misc/NEWS.d/next/C API/2020-02-07-10-41-53.bpo-39573.EG9VDI.rst
D Misc/NEWS.d/next/C API/2020-02-12-21-24-02.bpo-35081.at7BjN.rst
D Misc/NEWS.d/next/C API/2020-02-12-21-38-49.bpo-35081.5tj1yC.rst
D Misc/NEWS.d/next/Core and Builtins/2018-02-16-10-44-24.bpo-32856.UjR8SD.rst
D Misc/NEWS.d/next/Core and Builtins/2019-03-02-23-03-34.bpo-36144.LRl4LS.rst
D Misc/NEWS.d/next/Core and Builtins/2019-06-09-10-54-31.bpo-37207.bLjgLR.rst
D Misc/NEWS.d/next/Core and Builtins/2019-12-03-16-41-22.bpo-38960.kvoFM0.rst
D Misc/NEWS.d/next/Core and Builtins/2019-12-30-15-56-07.bpo-36051.imaVlq.rst
D Misc/NEWS.d/next/Core and Builtins/2020-01-05-13-36-08.bpo-39219.uHtKd4.rst
D Misc/NEWS.d/next/Core and Builtins/2020-01-15-15-50-22.bpo-39320.oWARyk.rst
D Misc/NEWS.d/next/Core and Builtins/2020-01-16-12-00-04.bpo-1635741.fuqoBG.r=
st
D Misc/NEWS.d/next/Core and Builtins/2020-01-18-11-06-28.bpo-1635741.OKROOt.r=
st
D Misc/NEWS.d/next/Core and Builtins/2020-01-19-11-06-30.bpo-1635741.0mjsfm.r=
st
D Misc/NEWS.d/next/Core and Builtins/2020-01-24-01-07-04.bpo-39434.S5ehj9.rst
D Misc/NEWS.d/next/Core and Builtins/2020-01-25-23-51-17.bpo-39453.xCOkYk.rst
D Misc/NEWS.d/next/Core and Builtins/2020-01-30-01-14-42.bpo-39492.eTuy0F.rst
D Misc/NEWS.d/next/Core and Builtins/2020-01-30-14-36-31.bpo-39502.IJu0rl.rst
D Misc/NEWS.d/next/Core and Builtins/2020-02-04-10-27-41.bpo-39510.PMIh-f.rst
D Misc/NEWS.d/next/Core and Builtins/2020-02-06-09-00-35.bpo-1635741.oaxe1j.r=
st
D Misc/NEWS.d/next/Core and Builtins/2020-02-07-12-57-40.bpo-1635741.ySW6gq.r=
st
D Misc/NEWS.d/next/Core and Builtins/2020-02-07-15-18-35.bpo-39579.itNmC0.rst
D Misc/NEWS.d/next/Core and Builtins/2020-02-11-23-59-07.bpo-39606.a72Sxc.rst
D Misc/NEWS.d/next/Core and Builtins/2020-02-13-01-30-22.bpo-39573.uTFj1m.rst
D Misc/NEWS.d/next/Core and Builtins/2020-02-13-07-35-00.bpo-39619.inb_master=
_chroot.rst
D Misc/NEWS.d/next/Core and Builtins/2020-02-14-10-08-53.bpo-39573.BIIX2M.rst
D Misc/NEWS.d/next/Core and Builtins/2020-02-18-01-40-13.bpo-39382.OLSJu9.rst
D Misc/NEWS.d/next/Documentation/2018-09-28-18-13-08.bpo-9056.-sFOwU.rst
D Misc/NEWS.d/next/Documentation/2020-01-17-13-59-21.bpo-39369.Bx5yE3.rst
D Misc/NEWS.d/next/Documentation/2020-01-27-18-18-42.bpo-39392.oiqcLO.rst
D Misc/NEWS.d/next/Documentation/2020-01-27-22-24-51.bpo-39153.Pjl8jV.rst
D Misc/NEWS.d/next/Documentation/2020-02-18-07-42-20.bpo-39654.MoT1jI.rst
D Misc/NEWS.d/next/Documentation/2020-02-18-18-37-07.bpo-39572.CCtzy1.rst
D Misc/NEWS.d/next/Documentation/2020-02-19-11-13-47.bpo-17422.g7_9zz.rst
D Misc/NEWS.d/next/IDLE/2019-11-13-23-51-39.bpo-38792.xhTC5a.rst
D Misc/NEWS.d/next/IDLE/2020-01-25-02-26-45.bpo-39388.x4TQNh.rst
D Misc/NEWS.d/next/IDLE/2020-01-27-16-44-29.bpo-30780.nR80qu.rst
D Misc/NEWS.d/next/IDLE/2020-02-10-17-09-48.bpo-39600.X6NsyM.rst
D Misc/NEWS.d/next/IDLE/2020-02-17-21-09-03.bpo-39663.wexcsH.rst
D Misc/NEWS.d/next/Library/2017-12-04-10-14-23.bpo-32173.e0C5dF.rst
D Misc/NEWS.d/next/Library/2019-01-12-20-39-34.bpo-35727.FWrbHn.rst
D Misc/NEWS.d/next/Library/2019-03-18-16-17-59.bpo-36350.udRSWE.rst
D Misc/NEWS.d/next/Library/2019-09-12-12-11-05.bpo-25597.mPMzVx.rst
D Misc/NEWS.d/next/Library/2019-12-09-17-24-29.bpo-34793.D82Dyu.rst
D Misc/NEWS.d/next/Library/2020-01-15-23-13-03.bpo-39274.lpc0-n.rst
D Misc/NEWS.d/next/Library/2020-01-19-04-12-34.bpo-39349.7CV-LC.rst
D Misc/NEWS.d/next/Library/2020-01-20-10-06-19.bpo-18819.H4qsoS.rst
D Misc/NEWS.d/next/Library/2020-01-23-16-08-58.bpo-39432.Cee6mi.rst
D Misc/NEWS.d/next/Library/2020-01-24-13-24-35.bpo-39082.qKgrq_.rst
D Misc/NEWS.d/next/Library/2020-01-25-13-41-27.bpo-38932.1pu_8I.rst
D Misc/NEWS.d/next/Library/2020-01-29-14-58-27.bpo-39485.Zy3ot6.rst
D Misc/NEWS.d/next/Library/2020-01-29-22-47-12.bpo-39491.tdl17b.rst
D Misc/NEWS.d/next/Library/2020-01-30-01-13-19.bpo-39493.CbFRi7.rst
D Misc/NEWS.d/next/Library/2020-01-30-09-07-16.bpo-39353.wTl9hc.rst
D Misc/NEWS.d/next/Library/2020-02-02-10-08-25.bpo-12915.d6r50-.rst
D Misc/NEWS.d/next/Library/2020-02-02-14-46-34.bpo-39450.48R274.rst
D Misc/NEWS.d/next/Library/2020-02-03-15-12-51.bpo-39546._Kj0Pn.rst
D Misc/NEWS.d/next/Library/2020-02-05-11-24-16.bpo-38149.GWsjHE.rst
D Misc/NEWS.d/next/Library/2020-02-05-18-29-14.bpo-39559.L8i5YB.rst
D Misc/NEWS.d/next/Library/2020-02-06-10-23-32.bpo-39567.VpFBxt.rst
D Misc/NEWS.d/next/Library/2020-02-06-13-34-52.bpo-39350.wRwup1.rst
D Misc/NEWS.d/next/Library/2020-02-07-23-14-14.bpo-39595.DHwddE.rst
D Misc/NEWS.d/next/Library/2020-02-08-13-37-00.bpo-39586.nfTPxX.rst
D Misc/NEWS.d/next/Library/2020-02-09-05-51-05.bpo-39590.rf98GU.rst
D Misc/NEWS.d/next/Library/2020-02-12-10-04-39.bpo-21016.bFXPH7.rst
D Misc/NEWS.d/next/Library/2020-02-12-12-01-26.bpo-39474.RZMEUH.rst
D Misc/NEWS.d/next/Library/2020-02-13-18-14-15.bpo-39627.Q0scyQ.rst
D Misc/NEWS.d/next/Library/2020-02-16-18-49-16.bpo-39104.cI5MJY.rst
D Misc/NEWS.d/next/Library/2020-02-18-12-31-24.bpo-39674.S_zqVM.rst
D Misc/NEWS.d/next/Library/2020-02-18-12-37-16.bpo-39479.j3UcCq.rst
D Misc/NEWS.d/next/Library/2020-02-21-02-42-41.bpo-35950.9G3-wl.rst
D Misc/NEWS.d/next/Library/2020-02-21-13-58-40.bpo-39681.zN8hf0.rst
D Misc/NEWS.d/next/Library/2020-02-22-12-49-04.bpo-39648.Y-9N7F.rst
D Misc/NEWS.d/next/Library/2020-02-23-21-27-10.bpo-39649.qiubSp.rst
D Misc/NEWS.d/next/Library/2020-02-24-03-45-28.bpo-30566.qROxty.rst
D Misc/NEWS.d/next/Security/2020-01-07-00-42-08.bpo-39184.fe7NgK.rst
D Misc/NEWS.d/next/Security/2020-01-28-20-54-09.bpo-39401.he7h_A.rst
D Misc/NEWS.d/next/Security/2020-02-07-23-54-18.bpo-39184.v-ue-v.rst
D Misc/NEWS.d/next/Tests/2020-01-30-15-04-54.bpo-39502.chbpII.rst
D Misc/NEWS.d/next/Tests/2020-02-11-00-38-32.bpo-38325.HgmfoE.rst
D Misc/NEWS.d/next/Windows/2020-01-02-01-11-53.bpo-39185.T4herN.rst
D Misc/NEWS.d/next/Windows/2020-01-11-22-53-55.bpo-38883.X7FRaN.rst
D Misc/NEWS.d/next/Windows/2020-01-20-23-42-53.bpo-39393.gWlJDG.rst
D Misc/NEWS.d/next/Windows/2020-01-24-03-15-05.bpo-39439.sFxGfR.rst
D Misc/NEWS.d/next/Windows/2020-02-04-19-50-53.bpo-39553._EnweA.rst
M Include/patchlevel.h
M Lib/pydoc_data/topics.py
M README.rst
diff --git a/Include/patchlevel.h b/Include/patchlevel.h
index a62e175d96651..5a1de0a8962ff 100644
--- a/Include/patchlevel.h
+++ b/Include/patchlevel.h
@@ -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 3
+#define PY_RELEASE_SERIAL 4
=20
/* Version as a string */
-#define PY_VERSION "3.9.0a3+"
+#define PY_VERSION "3.9.0a4"
/*--end constants--*/
=20
/* Version as a single 4-byte hex number, e.g. 0x010502B2 =3D=3D 1.5.2b2.
diff --git a/Lib/pydoc_data/topics.py b/Lib/pydoc_data/topics.py
index fd91446587239..c6ba945425a77 100644
--- a/Lib/pydoc_data/topics.py
+++ b/Lib/pydoc_data/topics.py
@@ -1,5 +1,5 @@
# -*- coding: utf-8 -*-
-# Autogenerated by Sphinx on Fri Jan 24 22:03:37 2020
+# Autogenerated by Sphinx on Tue Feb 25 13:20:31 2020
topics =3D {'assert': 'The "assert" statement\n'
'**********************\n'
'\n'
@@ -5291,9 +5291,12 @@
'Changed in version 3.6: Added the "\'_\'" option (see als=
o '
'**PEP 515**).\n'
'\n'
- '*width* is a decimal integer defining the minimum field '
- 'width. If not\n'
- 'specified, then the field width will be determined by the=
'
+ '*width* is a decimal integer defining the minimum total '
+ 'field width,\n'
+ 'including any prefixes, separators, and other formatting '
+ 'characters.\n'
+ 'If not specified, then the field width will be determined=
'
+ 'by the\n'
'content.\n'
'\n'
'When no explicit alignment is given, preceding the *width=
* '
@@ -9005,11 +9008,17 @@
'bases,\n'
'**kwds)" (where the additional keyword arguments, if any, '
'come from\n'
- 'the class definition).\n'
+ 'the class definition). The "__prepare__" method should be '
+ 'implemented\n'
+ 'as a "classmethod()". The namespace returned by '
+ '"__prepare__" is\n'
+ 'passed in to "__new__", but when the final class object is=
'
+ 'created the\n'
+ 'namespace is copied into a new "dict".\n'
'\n'
'If the metaclass has no "__prepare__" attribute, then the '
'class\n'
- 'namespace is initialised as an empty ordered mapping.\n'
+ 'namespace is initialised as an empty "dict()".\n'
'\n'
'See also:\n'
'\n'
diff --git a/Misc/NEWS.d/3.9.0a4.rst b/Misc/NEWS.d/3.9.0a4.rst
new file mode 100644
index 0000000000000..e91135deb6654
--- /dev/null
+++ b/Misc/NEWS.d/3.9.0a4.rst
@@ -0,0 +1,949 @@
+.. bpo: 39184
+.. date: 2020-02-07-23-54-18
+.. nonce: v-ue-v
+.. release date: 2020-02-25
+.. section: Security
+
+Add audit events to functions in `fcntl`, `msvcrt`, `os`, `resource`,
+`shutil`, `signal` and `syslog`.
+
+..
+
+.. bpo: 39401
+.. date: 2020-01-28-20-54-09
+.. nonce: he7h_A
+.. section: Security
+
+Avoid unsafe DLL load at startup on Windows 7 and earlier.
+
+..
+
+.. bpo: 39184
+.. date: 2020-01-07-00-42-08
+.. nonce: fe7NgK
+.. section: Security
+
+Add audit events to command execution functions in os and pty modules.
+
+..
+
+.. bpo: 39382
+.. date: 2020-02-18-01-40-13
+.. nonce: OLSJu9
+.. section: Core and Builtins
+
+Fix a use-after-free in the single inheritance path of ``issubclass()``,
+when the ``__bases__`` of an object has a single reference, and so does its
+first item. Patch by Yonatan Goldschmidt.
+
+..
+
+.. bpo: 39573
+.. date: 2020-02-14-10-08-53
+.. nonce: BIIX2M
+.. section: Core and Builtins
+
+Update clinic tool to use :c:func:`Py_IS_TYPE`. Patch by Dong-hee Na.
+
+..
+
+.. bpo: 39619
+.. date: 2020-02-13-07-35-00
+.. nonce: inb_master_chroot
+.. section: Core and Builtins
+
+Enable use of :func:`os.chroot` on HP-UX systems.
+
+..
+
+.. bpo: 39573
+.. date: 2020-02-13-01-30-22
+.. nonce: uTFj1m
+.. section: Core and Builtins
+
+Add :c:func:`Py_IS_TYPE` static inline function to check whether the object
+*o* type is *type*.
+
+..
+
+.. bpo: 39606
+.. date: 2020-02-11-23-59-07
+.. nonce: a72Sxc
+.. section: Core and Builtins
+
+Fix regression caused by fix for bpo-39386, that prevented calling
+``aclose`` on an async generator that had already been closed or exhausted.
+
+..
+
+.. bpo: 39579
+.. date: 2020-02-07-15-18-35
+.. nonce: itNmC0
+.. section: Core and Builtins
+
+Change the ending column offset of `Attribute` nodes constructed in
+`ast_for_dotted_name` to point at the end of the current node and not at the
+end of the last `NAME` node.
+
+..
+
+.. bpo: 1635741
+.. date: 2020-02-07-12-57-40
+.. nonce: ySW6gq
+.. section: Core and Builtins
+
+Port _crypt extension module to multiphase initialization (:pep:`489`).
+
+..
+
+.. bpo: 1635741
+.. date: 2020-02-06-09-00-35
+.. nonce: oaxe1j
+.. section: Core and Builtins
+
+Port _contextvars extension module to multiphase initialization
+(:pep:`489`).
+
+..
+
+.. bpo: 39510
+.. date: 2020-02-04-10-27-41
+.. nonce: PMIh-f
+.. section: Core and Builtins
+
+Fix segfault in ``readinto()`` method on closed BufferedReader.
+
+..
+
+.. bpo: 39502
+.. date: 2020-01-30-14-36-31
+.. nonce: IJu0rl
+.. section: Core and Builtins
+
+Fix :func:`time.localtime` on 64-bit AIX to support years before 1902 and
+after 2038. Patch by M Felt.
+
+..
+
+.. bpo: 39492
+.. date: 2020-01-30-01-14-42
+.. nonce: eTuy0F
+.. section: Core and Builtins
+
+Fix a reference cycle in the C Pickler that was preventing the garbage
+collection of deleted, pickled objects.
+
+..
+
+.. bpo: 39453
+.. date: 2020-01-25-23-51-17
+.. nonce: xCOkYk
+.. section: Core and Builtins
+
+Fixed a possible crash in :meth:`list.__contains__` when a list is changed
+during comparing items. Patch by Dong-hee Na.
+
+..
+
+.. bpo: 39434
+.. date: 2020-01-24-01-07-04
+.. nonce: S5ehj9
+.. section: Core and Builtins
+
+:term:`floor division` of float operation now has a better performance. Also
+the message of :exc:`ZeroDivisionError` for this operation is updated. Patch
+by Dong-hee Na.
+
+..
+
+.. bpo: 1635741
+.. date: 2020-01-19-11-06-30
+.. nonce: 0mjsfm
+.. section: Core and Builtins
+
+Port _codecs extension module to multiphase initialization (:pep:`489`).
+
+..
+
+.. bpo: 1635741
+.. date: 2020-01-18-11-06-28
+.. nonce: OKROOt
+.. section: Core and Builtins
+
+Port _bz2 extension module to multiphase initialization (:pep:`489`).
+
+..
+
+.. bpo: 1635741
+.. date: 2020-01-16-12-00-04
+.. nonce: fuqoBG
+.. section: Core and Builtins
+
+Port _abc extension module to multiphase initialization (:pep:`489`).
+
+..
+
+.. bpo: 39320
+.. date: 2020-01-15-15-50-22
+.. nonce: oWARyk
+.. section: Core and Builtins
+
+Replace two complex bytecodes for building dicts with two simpler ones. The
+new bytecodes ``DICT_MERGE`` and ``DICT_UPDATE`` have been added The old
+bytecodes ``BUILD_MAP_UNPACK`` and ``BUILD_MAP_UNPACK_WITH_CALL`` have been
+removed.
+
+..
+
+.. bpo: 39219
+.. date: 2020-01-05-13-36-08
+.. nonce: uHtKd4
+.. section: Core and Builtins
+
+Syntax errors raised in the tokenizer now always set correct "text" and
+"offset" attributes.
+
+..
+
+.. bpo: 36051
+.. date: 2019-12-30-15-56-07
+.. nonce: imaVlq
+.. section: Core and Builtins
+
+Drop the GIL during large ``bytes.join`` operations. Patch by Bruce Merry.
+
+..
+
+.. bpo: 38960
+.. date: 2019-12-03-16-41-22
+.. nonce: kvoFM0
+.. section: Core and Builtins
+
+Fix DTrace build issues on FreeBSD. Patch by David Carlier.
+
+..
+
+.. bpo: 37207
+.. date: 2019-06-09-10-54-31
+.. nonce: bLjgLR
+.. section: Core and Builtins
+
+Speed up calls to ``range()`` by about 30%, by using the PEP 590
+``vectorcall`` calling convention. Patch by Mark Shannon.
+
+..
+
+.. bpo: 36144
+.. date: 2019-03-02-23-03-34
+.. nonce: LRl4LS
+.. section: Core and Builtins
+
+:class:`dict` (and :class:`collections.UserDict`) objects now support PEP
+584's merge (``|``) and update (``|=3D``) operators. Patch by Brandt Bucher.
+
+..
+
+.. bpo: 32856
+.. date: 2018-02-16-10-44-24
+.. nonce: UjR8SD
+.. section: Core and Builtins
+
+Optimized the idiom for assignment a temporary variable in comprehensions.
+Now ``for y in [expr]`` in comprehensions is as fast as a simple assignment
+``y =3D expr``.
+
+..
+
+.. bpo: 30566
+.. date: 2020-02-24-03-45-28
+.. nonce: qROxty
+.. section: Library
+
+Fix :exc:`IndexError` when trying to decode an invalid string with punycode
+codec.
+
+..
+
+.. bpo: 39649
+.. date: 2020-02-23-21-27-10
+.. nonce: qiubSp
+.. section: Library
+
+Remove obsolete check for `__args__` in bdb.Bdb.format_stack_entry.
+
+..
+
+.. bpo: 39648
+.. date: 2020-02-22-12-49-04
+.. nonce: Y-9N7F
+.. section: Library
+
+Expanded :func:`math.gcd` and :func:`math.lcm` to handle multiple arguments.
+
+..
+
+.. bpo: 39681
+.. date: 2020-02-21-13-58-40
+.. nonce: zN8hf0
+.. section: Library
+
+Fix a regression where the C pickle module wouldn't allow unpickling from a
+file-like object that doesn't expose a readinto() method.
+
+..
+
+.. bpo: 35950
+.. date: 2020-02-21-02-42-41
+.. nonce: 9G3-wl
+.. section: Library
+
+Raise :exc:`io.UnsupportedOperation` in :meth:`io.BufferedReader.truncate`
+when it is called on a read-only :class:`io.BufferedReader` instance.
+
+..
+
+.. bpo: 39479
+.. date: 2020-02-18-12-37-16
+.. nonce: j3UcCq
+.. section: Library
+
+Add :func:`math.lcm` function: least common multiple.
+
+..
+
+.. bpo: 39674
+.. date: 2020-02-18-12-31-24
+.. nonce: S_zqVM
+.. section: Library
+
+Revert "Do not expose abstract collection classes in the collections module"
+change (bpo-25988). Aliases to ABC like collections.Mapping are kept in
+Python 3.9 to ease transition from Python 2.7, but will be removed in Python
+3.10.
+
+..
+
+.. bpo: 39104
+.. date: 2020-02-16-18-49-16
+.. nonce: cI5MJY
+.. section: Library
+
+Fix hanging ProcessPoolExcutor on ``shutdown(wait=3DFalse)`` when a task has
+failed pickling.
+
+..
+
+.. bpo: 39627
+.. date: 2020-02-13-18-14-15
+.. nonce: Q0scyQ
+.. section: Library
+
+Fixed TypedDict totality check for inherited keys.
+
+..
+
+.. bpo: 39474
+.. date: 2020-02-12-12-01-26
+.. nonce: RZMEUH
+.. section: Library
+
+Fixed starting position of AST for expressions like ``(a)(b)``, ``(a)[b]``
+and ``(a).b``.
+
+..
+
+.. bpo: 21016
+.. date: 2020-02-12-10-04-39
+.. nonce: bFXPH7
+.. section: Library
+
+The :mod:`pydoc` and :mod:`trace` modules now use the :mod:`sysconfig`
+module to get the path to the Python standard library, to support uncommon
+installation path like ``/usr/lib64/python3.9/`` on Fedora. Patch by Jan
+Mat=C4=9Bjek.
+
+..
+
+.. bpo: 39590
+.. date: 2020-02-09-05-51-05
+.. nonce: rf98GU
+.. section: Library
+
+Collections.deque now holds strong references during deque.__contains__ and
+deque.count, fixing crashes.
+
+..
+
+.. bpo: 39586
+.. date: 2020-02-08-13-37-00
+.. nonce: nfTPxX
+.. section: Library
+
+The distutils ``bdist_msi`` command is deprecated in Python 3.9, use
+``bdist_wheel`` (wheel packages) instead.
+
+..
+
+.. bpo: 39595
+.. date: 2020-02-07-23-14-14
+.. nonce: DHwddE
+.. section: Library
+
+Improved performance of zipfile.Path for files with a large number of
+entries. Also improved performance and fixed minor issue as published with
+`importlib_metadata 1.5
+<https://importlib-metadata.readthedocs.io/en/latest/changelog%20(links).htm=
l#v1-5-0>`_.
+
+..
+
+.. bpo: 39350
+.. date: 2020-02-06-13-34-52
+.. nonce: wRwup1
+.. section: Library
+
+Fix regression in :class:`fractions.Fraction` if the numerator and/or the
+denominator is an :class:`int` subclass. The :func:`math.gcd` function is
+now used to normalize the *numerator* and *denominator*. :func:`math.gcd`
+always return a :class:`int` type. Previously, the GCD type depended on
+*numerator* and *denominator*.
+
+..
+
+.. bpo: 39567
+.. date: 2020-02-06-10-23-32
+.. nonce: VpFBxt
+.. section: Library
+
+Added audit for :func:`os.walk`, :func:`os.fwalk`, :meth:`pathlib.Path.glob`
+and :meth:`pathlib.Path.rglob`.
+
+..
+
+.. bpo: 39559
+.. date: 2020-02-05-18-29-14
+.. nonce: L8i5YB
+.. section: Library
+
+Remove unused, undocumented argument ``getters`` from :func:`uuid.getnode`
+
+..
+
+.. bpo: 38149
+.. date: 2020-02-05-11-24-16
+.. nonce: GWsjHE
+.. section: Library
+
+:func:`sys.audit` is now called only once per call of :func:`glob.glob` and
+:func:`glob.iglob`.
+
+..
+
+.. bpo: 39546
+.. date: 2020-02-03-15-12-51
+.. nonce: _Kj0Pn
+.. section: Library
+
+Fix a regression in :class:`~argparse.ArgumentParser` where
+``allow_abbrev=3DFalse`` was ignored for long options that used a prefix
+character other than "-".
+
+..
+
+.. bpo: 39450
+.. date: 2020-02-02-14-46-34
+.. nonce: 48R274
+.. section: Library
+
+Striped whitespace from docstring before returning it from
+:func:`unittest.case.shortDescription`.
+
+..
+
+.. bpo: 12915
+.. date: 2020-02-02-10-08-25
+.. nonce: d6r50-
+.. section: Library
+
+A new function ``resolve_name`` has been added to the ``pkgutil`` module.
+This resolves a string of the form ``'a.b.c.d'`` or ``'a.b:c.d'`` to an
+object. In the example, ``a.b`` is a package/module and ``c.d`` is an object
+within that package/module reached via recursive attribute access.
+
+..
+
+.. bpo: 39353
+.. date: 2020-01-30-09-07-16
+.. nonce: wTl9hc
+.. section: Library
+
+The :func:`binascii.crc_hqx` function is no longer deprecated.
+
+..
+
+.. bpo: 39493
+.. date: 2020-01-30-01-13-19
+.. nonce: CbFRi7
+.. section: Library
+
+Mark ``typing.IO.closed`` as a property
+
+..
+
+.. bpo: 39491
+.. date: 2020-01-29-22-47-12
+.. nonce: tdl17b
+.. section: Library
+
+Add :data:`typing.Annotated` and ``include_extras`` parameter to
+:func:`typing.get_type_hints` as part of :pep:`593`. Patch by Till
+Varoquaux, documentation by Till Varoquaux and Konstantin Kashin.
+
+..
+
+.. bpo: 39485
+.. date: 2020-01-29-14-58-27
+.. nonce: Zy3ot6
+.. section: Library
+
+Fix a bug in :func:`unittest.mock.create_autospec` that would complain about
+the wrong number of arguments for custom descriptors defined in an extension
+module returning functions.
+
+..
+
+.. bpo: 38932
+.. date: 2020-01-25-13-41-27
+.. nonce: 1pu_8I
+.. section: Library
+
+Mock fully resets child objects on reset_mock(). Patch by Vegard Stikbakke
+
+..
+
+.. bpo: 39082
+.. date: 2020-01-24-13-24-35
+.. nonce: qKgrq_
+.. section: Library
+
+Allow AsyncMock to correctly patch static/class methods
+
+..
+
+.. bpo: 39432
+.. date: 2020-01-23-16-08-58
+.. nonce: Cee6mi
+.. section: Library
+
+Implement PEP-489 algorithm for non-ascii "PyInit\_..." symbol names in
+distutils to make it export the correct init symbol also on Windows.
+
+..
+
+.. bpo: 18819
+.. date: 2020-01-20-10-06-19
+.. nonce: H4qsoS
+.. section: Library
+
+Omit ``devmajor`` and ``devminor`` fields for non-device files in
+:mod:`tarfile` archives, enabling bit-for-bit compatibility with GNU
+``tar(1)``.
+
+..
+
+.. bpo: 39349
+.. date: 2020-01-19-04-12-34
+.. nonce: 7CV-LC
+.. section: Library
+
+Added a new *cancel_futures* parameter to
+:meth:`concurrent.futures.Executor.shutdown` that cancels all pending
+futures which have not started running, instead of waiting for them to
+complete before shutting down the executor.
+
+..
+
+.. bpo: 39274
+.. date: 2020-01-15-23-13-03
+.. nonce: lpc0-n
+.. section: Library
+
+``bool(fraction.Fraction)`` now returns a boolean even if (numerator !=3D 0)
+does not return a boolean (ex: numpy number).
+
+..
+
+.. bpo: 34793
+.. date: 2019-12-09-17-24-29
+.. nonce: D82Dyu
+.. section: Library
+
+Remove support for ``with (await asyncio.lock):`` and ``with (yield from
+asyncio.lock):``. The same is correct for ``asyncio.Condition`` and
+``asyncio.Semaphore``.
+
+..
+
+.. bpo: 25597
+.. date: 2019-09-12-12-11-05
+.. nonce: mPMzVx
+.. section: Library
+
+Ensure, if ``wraps`` is supplied to :class:`unittest.mock.MagicMock`, it is
+used to calculate return values for the magic methods instead of using the
+default return values. Patch by Karthikeyan Singaravelan.
+
+..
+
+.. bpo: 36350
+.. date: 2019-03-18-16-17-59
+.. nonce: udRSWE
+.. section: Library
+
+`inspect.Signature.parameters` and `inspect.BoundArguments.arguments` are
+now dicts instead of OrderedDicts. Patch contributed by R=C3=A9mi Lapeyre.
+
+..
+
+.. bpo: 35727
+.. date: 2019-01-12-20-39-34
+.. nonce: FWrbHn
+.. section: Library
+
+Fix sys.exit() and sys.exit(None) exit code propagation when used in
+multiprocessing.Process.
+
+..
+
+.. bpo: 32173
+.. date: 2017-12-04-10-14-23
+.. nonce: e0C5dF
+.. section: Library
+
+* Add `lazycache` function to `__all__`.
+* Use `dict.clear` to clear the cache.
+* Refactoring `getline` function and `checkcache` function.
+
+..
+
+.. bpo: 17422
+.. date: 2020-02-19-11-13-47
+.. nonce: g7_9zz
+.. section: Documentation
+
+The language reference now specifies restrictions on class namespaces.
+Adapted from a patch by Ethan Furman.
+
+..
+
+.. bpo: 39572
+.. date: 2020-02-18-18-37-07
+.. nonce: CCtzy1
+.. section: Documentation
+
+Updated documentation of ``total`` flag of TypeDict.
+
+..
+
+.. bpo: 39654
+.. date: 2020-02-18-07-42-20
+.. nonce: MoT1jI
+.. section: Documentation
+
+In pyclbr doc, update 'class' to 'module' where appropriate and add
+readmodule comment. Patch by Hakan =C3=87elik.
+
+..
+
+.. bpo: 39153
+.. date: 2020-01-27-22-24-51
+.. nonce: Pjl8jV
+.. section: Documentation
+
+Clarify refcounting semantics for the following functions: -
+PyObject_SetItem - PyMapping_SetItemString - PyDict_SetItem -
+PyDict_SetItemString
+
+..
+
+.. bpo: 39392
+.. date: 2020-01-27-18-18-42
+.. nonce: oiqcLO
+.. section: Documentation
+
+Explain that when filling with turtle, overlap regions may be left unfilled.
+
+..
+
+.. bpo: 39369
+.. date: 2020-01-17-13-59-21
+.. nonce: Bx5yE3
+.. section: Documentation
+
+Update mmap readline method description. The fact that the readline method
+does update the file position should not be ignored since this might give
+the impression for the programmer that it doesn't update it.
+
+..
+
+.. bpo: 9056
+.. date: 2018-09-28-18-13-08
+.. nonce: -sFOwU
+.. section: Documentation
+
+Include subsection in TOC for PDF version of docs.
+
+..
+
+.. bpo: 38325
+.. date: 2020-02-11-00-38-32
+.. nonce: HgmfoE
+.. section: Tests
+
+Skip tests on non-BMP characters of test_winconsoleio.
+
+..
+
+.. bpo: 39502
+.. date: 2020-01-30-15-04-54
+.. nonce: chbpII
+.. section: Tests
+
+Skip test_zipfile.test_add_file_after_2107() if :func:`time.localtime` fails
+with :exc:`OverflowError`. It is the case on AIX 6.1 for example.
+
+..
+
+.. bpo: 39489
+.. date: 2020-01-29-19-17-02
+.. nonce: HKPzv-
+.. section: Build
+
+Remove ``COUNT_ALLOCS`` special build.
+
+..
+
+.. bpo: 39553
+.. date: 2020-02-04-19-50-53
+.. nonce: _EnweA
+.. section: Windows
+
+Delete unused code related to SxS manifests.
+
+..
+
+.. bpo: 39439
+.. date: 2020-01-24-03-15-05
+.. nonce: sFxGfR
+.. section: Windows
+
+Honor the Python path when a virtualenv is active on Windows.
+
+..
+
+.. bpo: 39393
+.. date: 2020-01-20-23-42-53
+.. nonce: gWlJDG
+.. section: Windows
+
+Improve the error message when attempting to load a DLL with unresolved
+dependencies.
+
+..
+
+.. bpo: 38883
+.. date: 2020-01-11-22-53-55
+.. nonce: X7FRaN
+.. section: Windows
+
+:meth:`~pathlib.Path.home()` and :meth:`~pathlib.Path.expanduser()` on
+Windows now prefer :envvar:`USERPROFILE` and no longer use :envvar:`HOME`,
+which is not normally set for regular user accounts. This makes them again
+behave like :func:`os.path.expanduser`, which was changed to ignore
+:envvar:`HOME` in 3.8, see :issue:`36264`.
+
+..
+
+.. bpo: 39185
+.. date: 2020-01-02-01-11-53
+.. nonce: T4herN
+.. section: Windows
+
+The build.bat script has additional options for very-quiet output (-q) and
+very-verbose output (-vv)
+
+..
+
+.. bpo: 39663
+.. date: 2020-02-17-21-09-03
+.. nonce: wexcsH
+.. section: IDLE
+
+Add tests for pyparse find_good_parse_start().
+
+..
+
+.. bpo: 39600
+.. date: 2020-02-10-17-09-48
+.. nonce: X6NsyM
+.. section: IDLE
+
+In the font configuration window, remove duplicated font names.
+
+..
+
+.. bpo: 30780
+.. date: 2020-01-27-16-44-29
+.. nonce: nR80qu
+.. section: IDLE
+
+Add remaining configdialog tests for buttons and highlights and keys tabs.
+
+..
+
+.. bpo: 39388
+.. date: 2020-01-25-02-26-45
+.. nonce: x4TQNh
+.. section: IDLE
+
+IDLE Settings Cancel button now cancels pending changes
+
+..
+
+.. bpo: 38792
+.. date: 2019-11-13-23-51-39
+.. nonce: xhTC5a
+.. section: IDLE
+
+Close an IDLE shell calltip if a :exc:`KeyboardInterrupt` or shell restart
+occurs. Patch by Zackery Spytz.
+
+..
+
+.. bpo: 35081
+.. date: 2020-02-12-21-38-49
+.. nonce: 5tj1yC
+.. section: C API
+
+Move the ``bytes_methods.h`` header file to the internal C API as
+``pycore_bytes_methods.h``: it only contains private symbols (prefixed by
+``_Py``), except of the ``PyDoc_STRVAR_shared()`` macro.
+
+..
+
+.. bpo: 35081
+.. date: 2020-02-12-21-24-02
+.. nonce: at7BjN
+.. section: C API
+
+Move the ``dtoa.h`` header file to the internal C API as ``pycore_dtoa.h``:
+it only contains private functions (prefixed by ``_Py``). The :mod:`math`
+and :mod:`cmath` modules must now be compiled with the ``Py_BUILD_CORE``
+macro defined.
+
+..
+
+.. bpo: 39573
+.. date: 2020-02-07-10-41-53
+.. nonce: EG9VDI
+.. section: C API
+
+Add :c:func:`Py_SET_SIZE` function to set the size of an object.
+
+..
+
+.. bpo: 39500
+.. date: 2020-02-07-09-35-43
+.. nonce: xRAEgX
+.. section: C API
+
+:c:func:`PyUnicode_IsIdentifier` does not call :c:func:`Py_FatalError`
+anymore if the string is not ready.
+
+..
+
+.. bpo: 39573
+.. date: 2020-02-07-03-39-03
+.. nonce: Oa8cL1
+.. section: C API
+
+Add :c:func:`Py_SET_TYPE` function to set the type of an object.
+
+..
+
+.. bpo: 39573
+.. date: 2020-02-07-00-23-44
+.. nonce: nRD1q7
+.. section: C API
+
+Add a :c:func:`Py_SET_REFCNT` function to set the reference counter of an
+object.
+
+..
+
+.. bpo: 39542
+.. date: 2020-02-05-13-14-20
+.. nonce: 5mleGX
+.. section: C API
+
+Convert :c:func:`PyType_HasFeature`, :c:func:`PyType_Check` and
+:c:func:`PyType_CheckExact` macros to static inline functions.
+
+..
+
+.. bpo: 39542
+.. date: 2020-02-05-12-40-51
+.. nonce: si-_Zq
+.. section: C API
+
+In the limited C API, ``PyObject_INIT()`` and ``PyObject_INIT_VAR()`` are
+now defined as aliases to :c:func:`PyObject_Init` and
+:c:func:`PyObject_InitVar` to make their implementation opaque. It avoids to
+leak implementation details in the limited C API. Exclude the following
+functions from the limited C API: ``_Py_NewReference()``,
+``_Py_ForgetReference()``, ``_PyTraceMalloc_NewReference()`` and
+``_Py_GetRefTotal()``.
+
+..
+
+.. bpo: 39542
+.. date: 2020-02-05-12-00-18
+.. nonce: RJCUKR
+.. section: C API
+
+Exclude trashcan mechanism from the limited C API: it requires access to
+PyTypeObject and PyThreadState structure fields, whereas these structures
+are opaque in the limited C API.
+
+..
+
+.. bpo: 39511
+.. date: 2020-01-31-16-35-21
+.. nonce: nv9yEn
+.. section: C API
+
+The :c:func:`PyThreadState_Clear` function now calls the
+:c:member:`PyThreadState.on_delete` callback. Previously, that happened in
+:c:func:`PyThreadState_Delete`.
+
+..
+
+.. bpo: 38076
+.. date: 2020-01-17-11-37-05
+.. nonce: cxfw2x
+.. section: C API
+
+Fix to clear the interpreter state only after clearing module globals to
+guarantee module state access from C Extensions during runtime destruction
+
+..
+
+.. bpo: 39245
+.. date: 2020-01-07-13-46-40
+.. nonce: G7wog6
+.. section: C API
+
+The Vectorcall API (PEP 590) was made public, adding the functions
+``PyObject_Vectorcall``, ``PyObject_VectorcallMethod``,
+``PyVectorcall_Function``, ``PyObject_CallOneArg``,
+``PyObject_CallMethodNoArgs``, ``PyObject_CallMethodOneArg``,
+``PyObject_FastCallDict``, and the flag ``Py_TPFLAGS_HAVE_VECTORCALL``.
diff --git a/Misc/NEWS.d/next/Build/2020-01-29-19-17-02.bpo-39489.HKPzv-.rst =
b/Misc/NEWS.d/next/Build/2020-01-29-19-17-02.bpo-39489.HKPzv-.rst
deleted file mode 100644
index 652a4356e227f..0000000000000
--- a/Misc/NEWS.d/next/Build/2020-01-29-19-17-02.bpo-39489.HKPzv-.rst
+++ /dev/null
@@ -1 +0,0 @@
-Remove ``COUNT_ALLOCS`` special build.
diff --git a/Misc/NEWS.d/next/C API/2020-01-07-13-46-40.bpo-39245.G7wog6.rst =
b/Misc/NEWS.d/next/C API/2020-01-07-13-46-40.bpo-39245.G7wog6.rst
deleted file mode 100644
index e5836b5255d3d..0000000000000
--- a/Misc/NEWS.d/next/C API/2020-01-07-13-46-40.bpo-39245.G7wog6.rst=09
+++ /dev/null
@@ -1,5 +0,0 @@
-The Vectorcall API (PEP 590) was made public, adding the functions
-``PyObject_Vectorcall``, ``PyObject_VectorcallMethod``,
-``PyVectorcall_Function``, ``PyObject_CallOneArg``,
-``PyObject_CallMethodNoArgs``, ``PyObject_CallMethodOneArg``,
-``PyObject_FastCallDict``, and the flag ``Py_TPFLAGS_HAVE_VECTORCALL``.
diff --git a/Misc/NEWS.d/next/C API/2020-01-17-11-37-05.bpo-38076.cxfw2x.rst =
b/Misc/NEWS.d/next/C API/2020-01-17-11-37-05.bpo-38076.cxfw2x.rst
deleted file mode 100644
index d9f6dc31efd8d..0000000000000
--- a/Misc/NEWS.d/next/C API/2020-01-17-11-37-05.bpo-38076.cxfw2x.rst=09
+++ /dev/null
@@ -1,2 +0,0 @@
-Fix to clear the interpreter state only after clearing module globals to
-guarantee module state access from C Extensions during runtime destruction
diff --git a/Misc/NEWS.d/next/C API/2020-01-31-16-35-21.bpo-39511.nv9yEn.rst =
b/Misc/NEWS.d/next/C API/2020-01-31-16-35-21.bpo-39511.nv9yEn.rst
deleted file mode 100644
index 14a04875a8894..0000000000000
--- a/Misc/NEWS.d/next/C API/2020-01-31-16-35-21.bpo-39511.nv9yEn.rst=09
+++ /dev/null
@@ -1,3 +0,0 @@
-The :c:func:`PyThreadState_Clear` function now calls the
-:c:member:`PyThreadState.on_delete` callback. Previously, that happened in
-:c:func:`PyThreadState_Delete`.
diff --git a/Misc/NEWS.d/next/C API/2020-02-05-12-00-18.bpo-39542.RJCUKR.rst =
b/Misc/NEWS.d/next/C API/2020-02-05-12-00-18.bpo-39542.RJCUKR.rst
deleted file mode 100644
index 5829d6e97480e..0000000000000
--- a/Misc/NEWS.d/next/C API/2020-02-05-12-00-18.bpo-39542.RJCUKR.rst=09
+++ /dev/null
@@ -1,3 +0,0 @@
-Exclude trashcan mechanism from the limited C API: it requires access to
-PyTypeObject and PyThreadState structure fields, whereas these structures
-are opaque in the limited C API.
diff --git a/Misc/NEWS.d/next/C API/2020-02-05-12-40-51.bpo-39542.si-_Zq.rst =
b/Misc/NEWS.d/next/C API/2020-02-05-12-40-51.bpo-39542.si-_Zq.rst
deleted file mode 100644
index 7473577b0a943..0000000000000
--- a/Misc/NEWS.d/next/C API/2020-02-05-12-40-51.bpo-39542.si-_Zq.rst=09
+++ /dev/null
@@ -1,7 +0,0 @@
-In the limited C API, ``PyObject_INIT()`` and ``PyObject_INIT_VAR()`` are
-now defined as aliases to :c:func:`PyObject_Init` and
-:c:func:`PyObject_InitVar` to make their implementation opaque. It avoids to
-leak implementation details in the limited C API. Exclude the following
-functions from the limited C API: ``_Py_NewReference()``,
-``_Py_ForgetReference()``, ``_PyTraceMalloc_NewReference()`` and
-``_Py_GetRefTotal()``.
diff --git a/Misc/NEWS.d/next/C API/2020-02-05-13-14-20.bpo-39542.5mleGX.rst =
b/Misc/NEWS.d/next/C API/2020-02-05-13-14-20.bpo-39542.5mleGX.rst
deleted file mode 100644
index 46fb1d257e8e9..0000000000000
--- a/Misc/NEWS.d/next/C API/2020-02-05-13-14-20.bpo-39542.5mleGX.rst=09
+++ /dev/null
@@ -1,2 +0,0 @@
-Convert :c:func:`PyType_HasFeature`, :c:func:`PyType_Check` and
-:c:func:`PyType_CheckExact` macros to static inline functions.
diff --git a/Misc/NEWS.d/next/C API/2020-02-07-00-23-44.bpo-39573.nRD1q7.rst =
b/Misc/NEWS.d/next/C API/2020-02-07-00-23-44.bpo-39573.nRD1q7.rst
deleted file mode 100644
index 310933a6d4076..0000000000000
--- a/Misc/NEWS.d/next/C API/2020-02-07-00-23-44.bpo-39573.nRD1q7.rst=09
+++ /dev/null
@@ -1,2 +0,0 @@
-Add a :c:func:`Py_SET_REFCNT` function to set the reference counter of an
-object.
diff --git a/Misc/NEWS.d/next/C API/2020-02-07-03-39-03.bpo-39573.Oa8cL1.rst =
b/Misc/NEWS.d/next/C API/2020-02-07-03-39-03.bpo-39573.Oa8cL1.rst
deleted file mode 100644
index 22d3d693ac0c9..0000000000000
--- a/Misc/NEWS.d/next/C API/2020-02-07-03-39-03.bpo-39573.Oa8cL1.rst=09
+++ /dev/null
@@ -1 +0,0 @@
-Add :c:func:`Py_SET_TYPE` function to set the type of an object.
diff --git a/Misc/NEWS.d/next/C API/2020-02-07-09-35-43.bpo-39500.xRAEgX.rst =
b/Misc/NEWS.d/next/C API/2020-02-07-09-35-43.bpo-39500.xRAEgX.rst
deleted file mode 100644
index 2ca359f0ec11a..0000000000000
--- a/Misc/NEWS.d/next/C API/2020-02-07-09-35-43.bpo-39500.xRAEgX.rst=09
+++ /dev/null
@@ -1,2 +0,0 @@
-:c:func:`PyUnicode_IsIdentifier` does not call :c:func:`Py_FatalError`
-anymore if the string is not ready.
diff --git a/Misc/NEWS.d/next/C API/2020-02-07-10-41-53.bpo-39573.EG9VDI.rst =
b/Misc/NEWS.d/next/C API/2020-02-07-10-41-53.bpo-39573.EG9VDI.rst
deleted file mode 100644
index d84cddc57636b..0000000000000
--- a/Misc/NEWS.d/next/C API/2020-02-07-10-41-53.bpo-39573.EG9VDI.rst=09
+++ /dev/null
@@ -1 +0,0 @@
-Add :c:func:`Py_SET_SIZE` function to set the size of an object.
diff --git a/Misc/NEWS.d/next/C API/2020-02-12-21-24-02.bpo-35081.at7BjN.rst =
b/Misc/NEWS.d/next/C API/2020-02-12-21-24-02.bpo-35081.at7BjN.rst
deleted file mode 100644
index 94e6ae7e42cc8..0000000000000
--- a/Misc/NEWS.d/next/C API/2020-02-12-21-24-02.bpo-35081.at7BjN.rst=09
+++ /dev/null
@@ -1,5 +0,0 @@
-Move the ``dtoa.h`` header file to the internal C API as ``pycore_dtoa.h``:
-it only contains private functions (prefixed by ``_Py``). The :mod:`math` and
-:mod:`cmath` modules must now be compiled with the ``Py_BUILD_CORE`` macro
-defined.
-
diff --git a/Misc/NEWS.d/next/C API/2020-02-12-21-38-49.bpo-35081.5tj1yC.rst =
b/Misc/NEWS.d/next/C API/2020-02-12-21-38-49.bpo-35081.5tj1yC.rst
deleted file mode 100644
index 6be33200d9e2b..0000000000000
--- a/Misc/NEWS.d/next/C API/2020-02-12-21-38-49.bpo-35081.5tj1yC.rst=09
+++ /dev/null
@@ -1,3 +0,0 @@
-Move the ``bytes_methods.h`` header file to the internal C API as
-``pycore_bytes_methods.h``: it only contains private symbols (prefixed by
-``_Py``), except of the ``PyDoc_STRVAR_shared()`` macro.
diff --git a/Misc/NEWS.d/next/Core and Builtins/2018-02-16-10-44-24.bpo-32856=
.UjR8SD.rst b/Misc/NEWS.d/next/Core and Builtins/2018-02-16-10-44-24.bpo-3285=
6.UjR8SD.rst
deleted file mode 100644
index c1cd68f672712..0000000000000
--- a/Misc/NEWS.d/next/Core and Builtins/2018-02-16-10-44-24.bpo-32856.UjR8SD=
.rst=09
+++ /dev/null
@@ -1,3 +0,0 @@
-Optimized the idiom for assignment a temporary variable in comprehensions.
-Now ``for y in [expr]`` in comprehensions is as fast as a simple assignment
-``y =3D expr``.
diff --git a/Misc/NEWS.d/next/Core and Builtins/2019-03-02-23-03-34.bpo-36144=
.LRl4LS.rst b/Misc/NEWS.d/next/Core and Builtins/2019-03-02-23-03-34.bpo-3614=
4.LRl4LS.rst
deleted file mode 100644
index 7d6d076ea7d4d..0000000000000
--- a/Misc/NEWS.d/next/Core and Builtins/2019-03-02-23-03-34.bpo-36144.LRl4LS=
.rst=09
+++ /dev/null
@@ -1,2 +0,0 @@
-:class:`dict` (and :class:`collections.UserDict`) objects now support PEP 58=
4's merge (``|``) and update (``|=3D``) operators.
-Patch by Brandt Bucher.
diff --git a/Misc/NEWS.d/next/Core and Builtins/2019-06-09-10-54-31.bpo-37207=
.bLjgLR.rst b/Misc/NEWS.d/next/Core and Builtins/2019-06-09-10-54-31.bpo-3720=
7.bLjgLR.rst
deleted file mode 100644
index c20d48a493c34..0000000000000
--- a/Misc/NEWS.d/next/Core and Builtins/2019-06-09-10-54-31.bpo-37207.bLjgLR=
.rst=09
+++ /dev/null
@@ -1,2 +0,0 @@
-Speed up calls to ``range()`` by about 30%, by using the
-PEP 590 ``vectorcall`` calling convention. Patch by Mark Shannon.
diff --git a/Misc/NEWS.d/next/Core and Builtins/2019-12-03-16-41-22.bpo-38960=
.kvoFM0.rst b/Misc/NEWS.d/next/Core and Builtins/2019-12-03-16-41-22.bpo-3896=
0.kvoFM0.rst
deleted file mode 100644
index 50d4b6c286843..0000000000000
--- a/Misc/NEWS.d/next/Core and Builtins/2019-12-03-16-41-22.bpo-38960.kvoFM0=
.rst=09
+++ /dev/null
@@ -1 +0,0 @@
-Fix DTrace build issues on FreeBSD. Patch by David Carlier.
diff --git a/Misc/NEWS.d/next/Core and Builtins/2019-12-30-15-56-07.bpo-36051=
.imaVlq.rst b/Misc/NEWS.d/next/Core and Builtins/2019-12-30-15-56-07.bpo-3605=
1.imaVlq.rst
deleted file mode 100644
index f9d449216ebed..0000000000000
--- a/Misc/NEWS.d/next/Core and Builtins/2019-12-30-15-56-07.bpo-36051.imaVlq=
.rst=09
+++ /dev/null
@@ -1 +0,0 @@
-Drop the GIL during large ``bytes.join`` operations. Patch by Bruce Merry.
diff --git a/Misc/NEWS.d/next/Core and Builtins/2020-01-05-13-36-08.bpo-39219=
.uHtKd4.rst b/Misc/NEWS.d/next/Core and Builtins/2020-01-05-13-36-08.bpo-3921=
9.uHtKd4.rst
deleted file mode 100644
index dac8360df712c..0000000000000
--- a/Misc/NEWS.d/next/Core and Builtins/2020-01-05-13-36-08.bpo-39219.uHtKd4=
.rst=09
+++ /dev/null
@@ -1,2 +0,0 @@
-Syntax errors raised in the tokenizer now always set correct "text" and
-"offset" attributes.
diff --git a/Misc/NEWS.d/next/Core and Builtins/2020-01-15-15-50-22.bpo-39320=
.oWARyk.rst b/Misc/NEWS.d/next/Core and Builtins/2020-01-15-15-50-22.bpo-3932=
0.oWARyk.rst
deleted file mode 100644
index 9508574f6c0f4..0000000000000
--- a/Misc/NEWS.d/next/Core and Builtins/2020-01-15-15-50-22.bpo-39320.oWARyk=
.rst=09
+++ /dev/null
@@ -1,4 +0,0 @@
-
-Replace two complex bytecodes for building dicts with two simpler ones.
-The new bytecodes ``DICT_MERGE`` and ``DICT_UPDATE`` have been added
-The old bytecodes ``BUILD_MAP_UNPACK`` and ``BUILD_MAP_UNPACK_WITH_CALL`` ha=
ve been removed.
diff --git a/Misc/NEWS.d/next/Core and Builtins/2020-01-16-12-00-04.bpo-16357=
41.fuqoBG.rst b/Misc/NEWS.d/next/Core and Builtins/2020-01-16-12-00-04.bpo-16=
35741.fuqoBG.rst
deleted file mode 100644
index 4dd37a65b0e99..0000000000000
--- a/Misc/NEWS.d/next/Core and Builtins/2020-01-16-12-00-04.bpo-1635741.fuqo=
BG.rst=09
+++ /dev/null
@@ -1 +0,0 @@
-Port _abc extension module to multiphase initialization (:pep:`489`).
diff --git a/Misc/NEWS.d/next/Core and Builtins/2020-01-18-11-06-28.bpo-16357=
41.OKROOt.rst b/Misc/NEWS.d/next/Core and Builtins/2020-01-18-11-06-28.bpo-16=
35741.OKROOt.rst
deleted file mode 100644
index d3f12a747963a..0000000000000
--- a/Misc/NEWS.d/next/Core and Builtins/2020-01-18-11-06-28.bpo-1635741.OKRO=
Ot.rst=09
+++ /dev/null
@@ -1 +0,0 @@
-Port _bz2 extension module to multiphase initialization (:pep:`489`).
\ No newline at end of file
diff --git a/Misc/NEWS.d/next/Core and Builtins/2020-01-19-11-06-30.bpo-16357=
41.0mjsfm.rst b/Misc/NEWS.d/next/Core and Builtins/2020-01-19-11-06-30.bpo-16=
35741.0mjsfm.rst
deleted file mode 100644
index 10fc23bcfa117..0000000000000
--- a/Misc/NEWS.d/next/Core and Builtins/2020-01-19-11-06-30.bpo-1635741.0mjs=
fm.rst=09
+++ /dev/null
@@ -1 +0,0 @@
-Port _codecs extension module to multiphase initialization (:pep:`489`).
\ No newline at end of file
diff --git a/Misc/NEWS.d/next/Core and Builtins/2020-01-24-01-07-04.bpo-39434=
.S5ehj9.rst b/Misc/NEWS.d/next/Core and Builtins/2020-01-24-01-07-04.bpo-3943=
4.S5ehj9.rst
deleted file mode 100644
index e5a413323ac43..0000000000000
--- a/Misc/NEWS.d/next/Core and Builtins/2020-01-24-01-07-04.bpo-39434.S5ehj9=
.rst=09
+++ /dev/null
@@ -1,3 +0,0 @@
-:term:`floor division` of float operation now has a better performance. Also
-the message of :exc:`ZeroDivisionError` for this operation is updated.
-Patch by Dong-hee Na.
diff --git a/Misc/NEWS.d/next/Core and Builtins/2020-01-25-23-51-17.bpo-39453=
.xCOkYk.rst b/Misc/NEWS.d/next/Core and Builtins/2020-01-25-23-51-17.bpo-3945=
3.xCOkYk.rst
deleted file mode 100644
index 8c2e49f9474c4..0000000000000
--- a/Misc/NEWS.d/next/Core and Builtins/2020-01-25-23-51-17.bpo-39453.xCOkYk=
.rst=09
+++ /dev/null
@@ -1,2 +0,0 @@
-Fixed a possible crash in :meth:`list.__contains__` when a list is changed
-during comparing items. Patch by Dong-hee Na.
diff --git a/Misc/NEWS.d/next/Core and Builtins/2020-01-30-01-14-42.bpo-39492=
.eTuy0F.rst b/Misc/NEWS.d/next/Core and Builtins/2020-01-30-01-14-42.bpo-3949=
2.eTuy0F.rst
deleted file mode 100644
index 6e8b715c46365..0000000000000
--- a/Misc/NEWS.d/next/Core and Builtins/2020-01-30-01-14-42.bpo-39492.eTuy0F=
.rst=09
+++ /dev/null
@@ -1 +0,0 @@
-Fix a reference cycle in the C Pickler that was preventing the garbage colle=
ction of deleted, pickled objects.
\ No newline at end of file
diff --git a/Misc/NEWS.d/next/Core and Builtins/2020-01-30-14-36-31.bpo-39502=
.IJu0rl.rst b/Misc/NEWS.d/next/Core and Builtins/2020-01-30-14-36-31.bpo-3950=
2.IJu0rl.rst
deleted file mode 100644
index 93b3639c80c5b..0000000000000
--- a/Misc/NEWS.d/next/Core and Builtins/2020-01-30-14-36-31.bpo-39502.IJu0rl=
.rst=09
+++ /dev/null
@@ -1,2 +0,0 @@
-Fix :func:`time.localtime` on 64-bit AIX to support years before 1902 and a=
fter 2038.
-Patch by M Felt.
diff --git a/Misc/NEWS.d/next/Core and Builtins/2020-02-04-10-27-41.bpo-39510=
.PMIh-f.rst b/Misc/NEWS.d/next/Core and Builtins/2020-02-04-10-27-41.bpo-3951=
0.PMIh-f.rst
deleted file mode 100644
index 9a38e4ab76228..0000000000000
--- a/Misc/NEWS.d/next/Core and Builtins/2020-02-04-10-27-41.bpo-39510.PMIh-f=
.rst=09
+++ /dev/null
@@ -1 +0,0 @@
-Fix segfault in ``readinto()`` method on closed BufferedReader.
diff --git a/Misc/NEWS.d/next/Core and Builtins/2020-02-06-09-00-35.bpo-16357=
41.oaxe1j.rst b/Misc/NEWS.d/next/Core and Builtins/2020-02-06-09-00-35.bpo-16=
35741.oaxe1j.rst
deleted file mode 100644
index 49336f02a3e40..0000000000000
--- a/Misc/NEWS.d/next/Core and Builtins/2020-02-06-09-00-35.bpo-1635741.oaxe=
1j.rst=09
+++ /dev/null
@@ -1 +0,0 @@
-Port _contextvars extension module to multiphase initialization (:pep:`489`).
\ No newline at end of file
diff --git a/Misc/NEWS.d/next/Core and Builtins/2020-02-07-12-57-40.bpo-16357=
41.ySW6gq.rst b/Misc/NEWS.d/next/Core and Builtins/2020-02-07-12-57-40.bpo-16=
35741.ySW6gq.rst
deleted file mode 100644
index 6b35bdc474fbe..0000000000000
--- a/Misc/NEWS.d/next/Core and Builtins/2020-02-07-12-57-40.bpo-1635741.ySW6=
gq.rst=09
+++ /dev/null
@@ -1 +0,0 @@
-Port _crypt extension module to multiphase initialization (:pep:`489`).
\ No newline at end of file
diff --git a/Misc/NEWS.d/next/Core and Builtins/2020-02-07-15-18-35.bpo-39579=
.itNmC0.rst b/Misc/NEWS.d/next/Core and Builtins/2020-02-07-15-18-35.bpo-3957=
9.itNmC0.rst
deleted file mode 100644
index 36d5c425670c2..0000000000000
--- a/Misc/NEWS.d/next/Core and Builtins/2020-02-07-15-18-35.bpo-39579.itNmC0=
.rst=09
+++ /dev/null
@@ -1 +0,0 @@
-Change the ending column offset of `Attribute` nodes constructed in `ast_for=
_dotted_name` to point at the end of the current node and not at the end of t=
he last `NAME` node.
\ No newline at end of file
diff --git a/Misc/NEWS.d/next/Core and Builtins/2020-02-11-23-59-07.bpo-39606=
.a72Sxc.rst b/Misc/NEWS.d/next/Core and Builtins/2020-02-11-23-59-07.bpo-3960=
6.a72Sxc.rst
deleted file mode 100644
index b7cbe4e91f59c..0000000000000
--- a/Misc/NEWS.d/next/Core and Builtins/2020-02-11-23-59-07.bpo-39606.a72Sxc=
.rst=09
+++ /dev/null
@@ -1,2 +0,0 @@
-Fix regression caused by fix for bpo-39386, that prevented calling
-``aclose`` on an async generator that had already been closed or exhausted.
diff --git a/Misc/NEWS.d/next/Core and Builtins/2020-02-13-01-30-22.bpo-39573=
.uTFj1m.rst b/Misc/NEWS.d/next/Core and Builtins/2020-02-13-01-30-22.bpo-3957=
3.uTFj1m.rst
deleted file mode 100644
index 56e7e1ba3242c..0000000000000
--- a/Misc/NEWS.d/next/Core and Builtins/2020-02-13-01-30-22.bpo-39573.uTFj1m=
.rst=09
+++ /dev/null
@@ -1,2 +0,0 @@
-Add :c:func:`Py_IS_TYPE` static inline function to check
-whether the object *o* type is *type*.
diff --git a/Misc/NEWS.d/next/Core and Builtins/2020-02-13-07-35-00.bpo-39619=
.inb_master_chroot.rst b/Misc/NEWS.d/next/Core and Builtins/2020-02-13-07-35-=
00.bpo-39619.inb_master_chroot.rst
deleted file mode 100644
index 18f32f7e804bd..0000000000000
--- a/Misc/NEWS.d/next/Core and Builtins/2020-02-13-07-35-00.bpo-39619.inb_ma=
ster_chroot.rst=09
+++ /dev/null
@@ -1 +0,0 @@
-Enable use of :func:`os.chroot` on HP-UX systems.
diff --git a/Misc/NEWS.d/next/Core and Builtins/2020-02-14-10-08-53.bpo-39573=
.BIIX2M.rst b/Misc/NEWS.d/next/Core and Builtins/2020-02-14-10-08-53.bpo-3957=
3.BIIX2M.rst
deleted file mode 100644
index 23396d3bd2b73..0000000000000
--- a/Misc/NEWS.d/next/Core and Builtins/2020-02-14-10-08-53.bpo-39573.BIIX2M=
.rst=09
+++ /dev/null
@@ -1 +0,0 @@
-Update clinic tool to use :c:func:`Py_IS_TYPE`. Patch by Dong-hee Na.
diff --git a/Misc/NEWS.d/next/Core and Builtins/2020-02-18-01-40-13.bpo-39382=
.OLSJu9.rst b/Misc/NEWS.d/next/Core and Builtins/2020-02-18-01-40-13.bpo-3938=
2.OLSJu9.rst
deleted file mode 100644
index 605f4c8e5dfd1..0000000000000
--- a/Misc/NEWS.d/next/Core and Builtins/2020-02-18-01-40-13.bpo-39382.OLSJu9=
.rst=09
+++ /dev/null
@@ -1,3 +0,0 @@
-Fix a use-after-free in the single inheritance path of ``issubclass()``, when
-the ``__bases__`` of an object has a single reference, and so does its first=
item.
-Patch by Yonatan Goldschmidt.
diff --git a/Misc/NEWS.d/next/Documentation/2018-09-28-18-13-08.bpo-9056.-sFO=
wU.rst b/Misc/NEWS.d/next/Documentation/2018-09-28-18-13-08.bpo-9056.-sFOwU.r=
st
deleted file mode 100644
index 98e1c286e8613..0000000000000
--- a/Misc/NEWS.d/next/Documentation/2018-09-28-18-13-08.bpo-9056.-sFOwU.rst
+++ /dev/null
@@ -1 +0,0 @@
-Include subsection in TOC for PDF version of docs.
diff --git a/Misc/NEWS.d/next/Documentation/2020-01-17-13-59-21.bpo-39369.Bx5=
yE3.rst b/Misc/NEWS.d/next/Documentation/2020-01-17-13-59-21.bpo-39369.Bx5yE3=
.rst
deleted file mode 100644
index 7f41735b9d3e3..0000000000000
--- a/Misc/NEWS.d/next/Documentation/2020-01-17-13-59-21.bpo-39369.Bx5yE3.rst
+++ /dev/null
@@ -1 +0,0 @@
-Update mmap readline method description. The fact that the readline method d=
oes update the file position should not be ignored since this might give the =
impression for the programmer that it doesn't update it.
\ No newline at end of file
diff --git a/Misc/NEWS.d/next/Documentation/2020-01-27-18-18-42.bpo-39392.oiq=
cLO.rst b/Misc/NEWS.d/next/Documentation/2020-01-27-18-18-42.bpo-39392.oiqcLO=
.rst
deleted file mode 100644
index 715874981f735..0000000000000
--- a/Misc/NEWS.d/next/Documentation/2020-01-27-18-18-42.bpo-39392.oiqcLO.rst
+++ /dev/null
@@ -1 +0,0 @@
-Explain that when filling with turtle, overlap regions may be left unfilled.
diff --git a/Misc/NEWS.d/next/Documentation/2020-01-27-22-24-51.bpo-39153.Pjl=
8jV.rst b/Misc/NEWS.d/next/Documentation/2020-01-27-22-24-51.bpo-39153.Pjl8jV=
.rst
deleted file mode 100644
index 95be00b4b777f..0000000000000
--- a/Misc/NEWS.d/next/Documentation/2020-01-27-22-24-51.bpo-39153.Pjl8jV.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-Clarify refcounting semantics for the following functions:
-- PyObject_SetItem
-- PyMapping_SetItemString
-- PyDict_SetItem
-- PyDict_SetItemString
\ No newline at end of file
diff --git a/Misc/NEWS.d/next/Documentation/2020-02-18-07-42-20.bpo-39654.MoT=
1jI.rst b/Misc/NEWS.d/next/Documentation/2020-02-18-07-42-20.bpo-39654.MoT1jI=
.rst
deleted file mode 100644
index cff201d812476..0000000000000
--- a/Misc/NEWS.d/next/Documentation/2020-02-18-07-42-20.bpo-39654.MoT1jI.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-In pyclbr doc, update 'class' to 'module' where appropriate and add readmodu=
le comment.
-Patch by Hakan =C3=87elik.
diff --git a/Misc/NEWS.d/next/Documentation/2020-02-18-18-37-07.bpo-39572.CCt=
zy1.rst b/Misc/NEWS.d/next/Documentation/2020-02-18-18-37-07.bpo-39572.CCtzy1=
.rst
deleted file mode 100644
index d47bb455e71d1..0000000000000
--- a/Misc/NEWS.d/next/Documentation/2020-02-18-18-37-07.bpo-39572.CCtzy1.rst
+++ /dev/null
@@ -1 +0,0 @@
-Updated documentation of ``total`` flag of TypeDict.
diff --git a/Misc/NEWS.d/next/Documentation/2020-02-19-11-13-47.bpo-17422.g7_=
9zz.rst b/Misc/NEWS.d/next/Documentation/2020-02-19-11-13-47.bpo-17422.g7_9zz=
.rst
deleted file mode 100644
index f071d286176ae..0000000000000
--- a/Misc/NEWS.d/next/Documentation/2020-02-19-11-13-47.bpo-17422.g7_9zz.rst
+++ /dev/null
@@ -1 +0,0 @@
-The language reference now specifies restrictions on class namespaces. Adap=
ted from a patch by Ethan Furman.
diff --git a/Misc/NEWS.d/next/IDLE/2019-11-13-23-51-39.bpo-38792.xhTC5a.rst b=
/Misc/NEWS.d/next/IDLE/2019-11-13-23-51-39.bpo-38792.xhTC5a.rst
deleted file mode 100644
index 9aa2f0ffddfaf..0000000000000
--- a/Misc/NEWS.d/next/IDLE/2019-11-13-23-51-39.bpo-38792.xhTC5a.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Close an IDLE shell calltip if a :exc:`KeyboardInterrupt`
-or shell restart occurs. Patch by Zackery Spytz.
diff --git a/Misc/NEWS.d/next/IDLE/2020-01-25-02-26-45.bpo-39388.x4TQNh.rst b=
/Misc/NEWS.d/next/IDLE/2020-01-25-02-26-45.bpo-39388.x4TQNh.rst
deleted file mode 100644
index 42bbfb168c19d..0000000000000
--- a/Misc/NEWS.d/next/IDLE/2020-01-25-02-26-45.bpo-39388.x4TQNh.rst
+++ /dev/null
@@ -1 +0,0 @@
-IDLE Settings Cancel button now cancels pending changes
diff --git a/Misc/NEWS.d/next/IDLE/2020-01-27-16-44-29.bpo-30780.nR80qu.rst b=
/Misc/NEWS.d/next/IDLE/2020-01-27-16-44-29.bpo-30780.nR80qu.rst
deleted file mode 100644
index 2f65a00a5af3b..0000000000000
--- a/Misc/NEWS.d/next/IDLE/2020-01-27-16-44-29.bpo-30780.nR80qu.rst
+++ /dev/null
@@ -1 +0,0 @@
-Add remaining configdialog tests for buttons and highlights and keys tabs.
diff --git a/Misc/NEWS.d/next/IDLE/2020-02-10-17-09-48.bpo-39600.X6NsyM.rst b=
/Misc/NEWS.d/next/IDLE/2020-02-10-17-09-48.bpo-39600.X6NsyM.rst
deleted file mode 100644
index 102aa75f5813e..0000000000000
--- a/Misc/NEWS.d/next/IDLE/2020-02-10-17-09-48.bpo-39600.X6NsyM.rst
+++ /dev/null
@@ -1 +0,0 @@
-In the font configuration window, remove duplicated font names.
diff --git a/Misc/NEWS.d/next/IDLE/2020-02-17-21-09-03.bpo-39663.wexcsH.rst b=
/Misc/NEWS.d/next/IDLE/2020-02-17-21-09-03.bpo-39663.wexcsH.rst
deleted file mode 100644
index 19e16329ce0a0..0000000000000
--- a/Misc/NEWS.d/next/IDLE/2020-02-17-21-09-03.bpo-39663.wexcsH.rst
+++ /dev/null
@@ -1 +0,0 @@
-Add tests for pyparse find_good_parse_start().
diff --git a/Misc/NEWS.d/next/Library/2017-12-04-10-14-23.bpo-32173.e0C5dF.rs=
t b/Misc/NEWS.d/next/Library/2017-12-04-10-14-23.bpo-32173.e0C5dF.rst
deleted file mode 100644
index fc8f36fb02194..0000000000000
--- a/Misc/NEWS.d/next/Library/2017-12-04-10-14-23.bpo-32173.e0C5dF.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-* Add `lazycache` function to `__all__`.
-* Use `dict.clear` to clear the cache.
-* Refactoring `getline` function and `checkcache` function.
diff --git a/Misc/NEWS.d/next/Library/2019-01-12-20-39-34.bpo-35727.FWrbHn.rs=
t b/Misc/NEWS.d/next/Library/2019-01-12-20-39-34.bpo-35727.FWrbHn.rst
deleted file mode 100644
index 9f3fa40e51bf3..0000000000000
--- a/Misc/NEWS.d/next/Library/2019-01-12-20-39-34.bpo-35727.FWrbHn.rst
+++ /dev/null
@@ -1 +0,0 @@
-Fix sys.exit() and sys.exit(None) exit code propagation when used in multipr=
ocessing.Process.
\ No newline at end of file
diff --git a/Misc/NEWS.d/next/Library/2019-03-18-16-17-59.bpo-36350.udRSWE.rs=
t b/Misc/NEWS.d/next/Library/2019-03-18-16-17-59.bpo-36350.udRSWE.rst
deleted file mode 100644
index 43363fce1652c..0000000000000
--- a/Misc/NEWS.d/next/Library/2019-03-18-16-17-59.bpo-36350.udRSWE.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-`inspect.Signature.parameters` and `inspect.BoundArguments.arguments` are
-now dicts instead of OrderedDicts. Patch contributed by R=C3=A9mi Lapeyre.
diff --git a/Misc/NEWS.d/next/Library/2019-09-12-12-11-05.bpo-25597.mPMzVx.rs=
t b/Misc/NEWS.d/next/Library/2019-09-12-12-11-05.bpo-25597.mPMzVx.rst
deleted file mode 100644
index 5ad8c6d90fa03..0000000000000
--- a/Misc/NEWS.d/next/Library/2019-09-12-12-11-05.bpo-25597.mPMzVx.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-Ensure, if ``wraps`` is supplied to :class:`unittest.mock.MagicMock`, it is =
used
-to calculate return values for the magic methods instead of using the default
-return values. Patch by Karthikeyan Singaravelan.
diff --git a/Misc/NEWS.d/next/Library/2019-12-09-17-24-29.bpo-34793.D82Dyu.rs=
t b/Misc/NEWS.d/next/Library/2019-12-09-17-24-29.bpo-34793.D82Dyu.rst
deleted file mode 100644
index 2089285ecdb7f..0000000000000
--- a/Misc/NEWS.d/next/Library/2019-12-09-17-24-29.bpo-34793.D82Dyu.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-Remove support for ``with (await asyncio.lock):`` and ``with (yield from
-asyncio.lock):``. The same is correct for ``asyncio.Condition`` and
-``asyncio.Semaphore``.
diff --git a/Misc/NEWS.d/next/Library/2020-01-15-23-13-03.bpo-39274.lpc0-n.rs=
t b/Misc/NEWS.d/next/Library/2020-01-15-23-13-03.bpo-39274.lpc0-n.rst
deleted file mode 100644
index 4c398682b98ab..0000000000000
--- a/Misc/NEWS.d/next/Library/2020-01-15-23-13-03.bpo-39274.lpc0-n.rst
+++ /dev/null
@@ -1 +0,0 @@
-``bool(fraction.Fraction)`` now returns a boolean even if (numerator !=3D 0)=
does not return a boolean (ex: numpy number).
diff --git a/Misc/NEWS.d/next/Library/2020-01-19-04-12-34.bpo-39349.7CV-LC.rs=
t b/Misc/NEWS.d/next/Library/2020-01-19-04-12-34.bpo-39349.7CV-LC.rst
deleted file mode 100644
index cc52700f67031..0000000000000
--- a/Misc/NEWS.d/next/Library/2020-01-19-04-12-34.bpo-39349.7CV-LC.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-Added a new *cancel_futures* parameter to
-:meth:`concurrent.futures.Executor.shutdown` that cancels all pending futures
-which have not started running, instead of waiting for them to complete befo=
re
-shutting down the executor.
\ No newline at end of file
diff --git a/Misc/NEWS.d/next/Library/2020-01-20-10-06-19.bpo-18819.H4qsoS.rs=
t b/Misc/NEWS.d/next/Library/2020-01-20-10-06-19.bpo-18819.H4qsoS.rst
deleted file mode 100644
index e9f111ad62e28..0000000000000
--- a/Misc/NEWS.d/next/Library/2020-01-20-10-06-19.bpo-18819.H4qsoS.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-Omit ``devmajor`` and ``devminor`` fields for non-device files in
-:mod:`tarfile` archives, enabling bit-for-bit compatibility with GNU
-``tar(1)``.
diff --git a/Misc/NEWS.d/next/Library/2020-01-23-16-08-58.bpo-39432.Cee6mi.rs=
t b/Misc/NEWS.d/next/Library/2020-01-23-16-08-58.bpo-39432.Cee6mi.rst
deleted file mode 100644
index 21c4ba8620755..0000000000000
--- a/Misc/NEWS.d/next/Library/2020-01-23-16-08-58.bpo-39432.Cee6mi.rst
+++ /dev/null
@@ -1 +0,0 @@
-Implement PEP-489 algorithm for non-ascii "PyInit\_..." symbol names in dist=
utils to make it export the correct init symbol also on Windows.
diff --git a/Misc/NEWS.d/next/Library/2020-01-24-13-24-35.bpo-39082.qKgrq_.rs=
t b/Misc/NEWS.d/next/Library/2020-01-24-13-24-35.bpo-39082.qKgrq_.rst
deleted file mode 100644
index 52c4ee1b33bda..0000000000000
--- a/Misc/NEWS.d/next/Library/2020-01-24-13-24-35.bpo-39082.qKgrq_.rst
+++ /dev/null
@@ -1 +0,0 @@
-Allow AsyncMock to correctly patch static/class methods
diff --git a/Misc/NEWS.d/next/Library/2020-01-25-13-41-27.bpo-38932.1pu_8I.rs=
t b/Misc/NEWS.d/next/Library/2020-01-25-13-41-27.bpo-38932.1pu_8I.rst
deleted file mode 100644
index d9ce8e816bc0a..0000000000000
--- a/Misc/NEWS.d/next/Library/2020-01-25-13-41-27.bpo-38932.1pu_8I.rst
+++ /dev/null
@@ -1 +0,0 @@
-Mock fully resets child objects on reset_mock(). Patch by Vegard Stikbakke
diff --git a/Misc/NEWS.d/next/Library/2020-01-29-14-58-27.bpo-39485.Zy3ot6.rs=
t b/Misc/NEWS.d/next/Library/2020-01-29-14-58-27.bpo-39485.Zy3ot6.rst
deleted file mode 100644
index f62c31fc686ad..0000000000000
--- a/Misc/NEWS.d/next/Library/2020-01-29-14-58-27.bpo-39485.Zy3ot6.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-Fix a bug in :func:`unittest.mock.create_autospec` that would complain about
-the wrong number of arguments for custom descriptors defined in an extension
-module returning functions.
diff --git a/Misc/NEWS.d/next/Library/2020-01-29-22-47-12.bpo-39491.tdl17b.rs=
t b/Misc/NEWS.d/next/Library/2020-01-29-22-47-12.bpo-39491.tdl17b.rst
deleted file mode 100644
index 1dd36454dc243..0000000000000
--- a/Misc/NEWS.d/next/Library/2020-01-29-22-47-12.bpo-39491.tdl17b.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-Add :data:`typing.Annotated` and ``include_extras`` parameter to
-:func:`typing.get_type_hints` as part of :pep:`593`. Patch by Till
-Varoquaux, documentation by Till Varoquaux and Konstantin Kashin.
diff --git a/Misc/NEWS.d/next/Library/2020-01-30-01-13-19.bpo-39493.CbFRi7.rs=
t b/Misc/NEWS.d/next/Library/2020-01-30-01-13-19.bpo-39493.CbFRi7.rst
deleted file mode 100644
index b676629a4414a..0000000000000
--- a/Misc/NEWS.d/next/Library/2020-01-30-01-13-19.bpo-39493.CbFRi7.rst
+++ /dev/null
@@ -1 +0,0 @@
-Mark ``typing.IO.closed`` as a property
\ No newline at end of file
diff --git a/Misc/NEWS.d/next/Library/2020-01-30-09-07-16.bpo-39353.wTl9hc.rs=
t b/Misc/NEWS.d/next/Library/2020-01-30-09-07-16.bpo-39353.wTl9hc.rst
deleted file mode 100644
index b6db7c5c58842..0000000000000
--- a/Misc/NEWS.d/next/Library/2020-01-30-09-07-16.bpo-39353.wTl9hc.rst
+++ /dev/null
@@ -1 +0,0 @@
-The :func:`binascii.crc_hqx` function is no longer deprecated.
diff --git a/Misc/NEWS.d/next/Library/2020-02-02-10-08-25.bpo-12915.d6r50-.rs=
t b/Misc/NEWS.d/next/Library/2020-02-02-10-08-25.bpo-12915.d6r50-.rst
deleted file mode 100644
index 90ee0bcac7915..0000000000000
--- a/Misc/NEWS.d/next/Library/2020-02-02-10-08-25.bpo-12915.d6r50-.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-A new function ``resolve_name`` has been added to the ``pkgutil`` module.
-This resolves a string of the form ``'a.b.c.d'`` or ``'a.b:c.d'`` to an
-object. In the example, ``a.b`` is a package/module and ``c.d`` is an object
-within that package/module reached via recursive attribute access.
diff --git a/Misc/NEWS.d/next/Library/2020-02-02-14-46-34.bpo-39450.48R274.rs=
t b/Misc/NEWS.d/next/Library/2020-02-02-14-46-34.bpo-39450.48R274.rst
deleted file mode 100644
index 55fed519a2d80..0000000000000
--- a/Misc/NEWS.d/next/Library/2020-02-02-14-46-34.bpo-39450.48R274.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Striped whitespace from docstring before returning it from
-:func:`unittest.case.shortDescription`.
diff --git a/Misc/NEWS.d/next/Library/2020-02-03-15-12-51.bpo-39546._Kj0Pn.rs=
t b/Misc/NEWS.d/next/Library/2020-02-03-15-12-51.bpo-39546._Kj0Pn.rst
deleted file mode 100644
index 8f035e79963e0..0000000000000
--- a/Misc/NEWS.d/next/Library/2020-02-03-15-12-51.bpo-39546._Kj0Pn.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-Fix a regression in :class:`~argparse.ArgumentParser` where
-``allow_abbrev=3DFalse`` was ignored for long options that used a prefix
-character other than "-".
diff --git a/Misc/NEWS.d/next/Library/2020-02-05-11-24-16.bpo-38149.GWsjHE.rs=
t b/Misc/NEWS.d/next/Library/2020-02-05-11-24-16.bpo-38149.GWsjHE.rst
deleted file mode 100644
index b4ec60b2abad1..0000000000000
--- a/Misc/NEWS.d/next/Library/2020-02-05-11-24-16.bpo-38149.GWsjHE.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-:func:`sys.audit` is now called only once per call of :func:`glob.glob` and
-:func:`glob.iglob`.
diff --git a/Misc/NEWS.d/next/Library/2020-02-05-18-29-14.bpo-39559.L8i5YB.rs=
t b/Misc/NEWS.d/next/Library/2020-02-05-18-29-14.bpo-39559.L8i5YB.rst
deleted file mode 100644
index 881f26bdb7bac..0000000000000
--- a/Misc/NEWS.d/next/Library/2020-02-05-18-29-14.bpo-39559.L8i5YB.rst
+++ /dev/null
@@ -1 +0,0 @@
-Remove unused, undocumented argument ``getters`` from :func:`uuid.getnode`
\ No newline at end of file
diff --git a/Misc/NEWS.d/next/Library/2020-02-06-10-23-32.bpo-39567.VpFBxt.rs=
t b/Misc/NEWS.d/next/Library/2020-02-06-10-23-32.bpo-39567.VpFBxt.rst
deleted file mode 100644
index 3c4700f455b5e..0000000000000
--- a/Misc/NEWS.d/next/Library/2020-02-06-10-23-32.bpo-39567.VpFBxt.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Added audit for :func:`os.walk`, :func:`os.fwalk`, :meth:`pathlib.Path.glob`
-and :meth:`pathlib.Path.rglob`.
diff --git a/Misc/NEWS.d/next/Library/2020-02-06-13-34-52.bpo-39350.wRwup1.rs=
t b/Misc/NEWS.d/next/Library/2020-02-06-13-34-52.bpo-39350.wRwup1.rst
deleted file mode 100644
index 1a09358082ef6..0000000000000
--- a/Misc/NEWS.d/next/Library/2020-02-06-13-34-52.bpo-39350.wRwup1.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-Fix regression in :class:`fractions.Fraction` if the numerator and/or the
-denominator is an :class:`int` subclass. The :func:`math.gcd` function is now
-used to normalize the *numerator* and *denominator*. :func:`math.gcd` always
-return a :class:`int` type. Previously, the GCD type depended on *numerator*
-and *denominator*.
diff --git a/Misc/NEWS.d/next/Library/2020-02-07-23-14-14.bpo-39595.DHwddE.rs=
t b/Misc/NEWS.d/next/Library/2020-02-07-23-14-14.bpo-39595.DHwddE.rst
deleted file mode 100644
index 3a461389af7d1..0000000000000
--- a/Misc/NEWS.d/next/Library/2020-02-07-23-14-14.bpo-39595.DHwddE.rst
+++ /dev/null
@@ -1 +0,0 @@
-Improved performance of zipfile.Path for files with a large number of entrie=
s. Also improved performance and fixed minor issue as published with `importl=
ib_metadata 1.5 <https://importlib-metadata.readthedocs.io/en/latest/changelo=
g%20(links).html#v1-5-0>`_.
diff --git a/Misc/NEWS.d/next/Library/2020-02-08-13-37-00.bpo-39586.nfTPxX.rs=
t b/Misc/NEWS.d/next/Library/2020-02-08-13-37-00.bpo-39586.nfTPxX.rst
deleted file mode 100644
index 5189f131afd98..0000000000000
--- a/Misc/NEWS.d/next/Library/2020-02-08-13-37-00.bpo-39586.nfTPxX.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-The distutils ``bdist_msi`` command is deprecated in Python 3.9, use
-``bdist_wheel`` (wheel packages) instead.
\ No newline at end of file
diff --git a/Misc/NEWS.d/next/Library/2020-02-09-05-51-05.bpo-39590.rf98GU.rs=
t b/Misc/NEWS.d/next/Library/2020-02-09-05-51-05.bpo-39590.rf98GU.rst
deleted file mode 100644
index 68625028fb7af..0000000000000
--- a/Misc/NEWS.d/next/Library/2020-02-09-05-51-05.bpo-39590.rf98GU.rst
+++ /dev/null
@@ -1 +0,0 @@
-Collections.deque now holds strong references during deque.__contains__ and =
deque.count, fixing crashes.
\ No newline at end of file
diff --git a/Misc/NEWS.d/next/Library/2020-02-12-10-04-39.bpo-21016.bFXPH7.rs=
t b/Misc/NEWS.d/next/Library/2020-02-12-10-04-39.bpo-21016.bFXPH7.rst
deleted file mode 100644
index fb91bb3825555..0000000000000
--- a/Misc/NEWS.d/next/Library/2020-02-12-10-04-39.bpo-21016.bFXPH7.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-The :mod:`pydoc` and :mod:`trace` modules now use the :mod:`sysconfig`
-module to get the path to the Python standard library, to support uncommon
-installation path like ``/usr/lib64/python3.9/`` on Fedora.
-Patch by Jan Mat=C4=9Bjek.
diff --git a/Misc/NEWS.d/next/Library/2020-02-12-12-01-26.bpo-39474.RZMEUH.rs=
t b/Misc/NEWS.d/next/Library/2020-02-12-12-01-26.bpo-39474.RZMEUH.rst
deleted file mode 100644
index e990f84a9dbf2..0000000000000
--- a/Misc/NEWS.d/next/Library/2020-02-12-12-01-26.bpo-39474.RZMEUH.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Fixed starting position of AST for expressions like ``(a)(b)``, ``(a)[b]``
-and ``(a).b``.
diff --git a/Misc/NEWS.d/next/Library/2020-02-13-18-14-15.bpo-39627.Q0scyQ.rs=
t b/Misc/NEWS.d/next/Library/2020-02-13-18-14-15.bpo-39627.Q0scyQ.rst
deleted file mode 100644
index 4806aa67d9535..0000000000000
--- a/Misc/NEWS.d/next/Library/2020-02-13-18-14-15.bpo-39627.Q0scyQ.rst
+++ /dev/null
@@ -1 +0,0 @@
-Fixed TypedDict totality check for inherited keys.
\ No newline at end of file
diff --git a/Misc/NEWS.d/next/Library/2020-02-16-18-49-16.bpo-39104.cI5MJY.rs=
t b/Misc/NEWS.d/next/Library/2020-02-16-18-49-16.bpo-39104.cI5MJY.rst
deleted file mode 100644
index 52779bf098232..0000000000000
--- a/Misc/NEWS.d/next/Library/2020-02-16-18-49-16.bpo-39104.cI5MJY.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Fix hanging ProcessPoolExcutor on ``shutdown(wait=3DFalse)`` when a task has
-failed pickling.
diff --git a/Misc/NEWS.d/next/Library/2020-02-18-12-31-24.bpo-39674.S_zqVM.rs=
t b/Misc/NEWS.d/next/Library/2020-02-18-12-31-24.bpo-39674.S_zqVM.rst
deleted file mode 100644
index 1d0e906242ae1..0000000000000
--- a/Misc/NEWS.d/next/Library/2020-02-18-12-31-24.bpo-39674.S_zqVM.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-Revert "Do not expose abstract collection classes in the collections module"
-change (bpo-25988). Aliases to ABC like collections.Mapping are kept in
-Python 3.9 to ease transition from Python 2.7, but will be removed in Python
-3.10.
diff --git a/Misc/NEWS.d/next/Library/2020-02-18-12-37-16.bpo-39479.j3UcCq.rs=
t b/Misc/NEWS.d/next/Library/2020-02-18-12-37-16.bpo-39479.j3UcCq.rst
deleted file mode 100644
index 6f16623a8f5cd..0000000000000
--- a/Misc/NEWS.d/next/Library/2020-02-18-12-37-16.bpo-39479.j3UcCq.rst
+++ /dev/null
@@ -1 +0,0 @@
-Add :func:`math.lcm` function: least common multiple.
diff --git a/Misc/NEWS.d/next/Library/2020-02-21-02-42-41.bpo-35950.9G3-wl.rs=
t b/Misc/NEWS.d/next/Library/2020-02-21-02-42-41.bpo-35950.9G3-wl.rst
deleted file mode 100644
index 92e3b2399238e..0000000000000
--- a/Misc/NEWS.d/next/Library/2020-02-21-02-42-41.bpo-35950.9G3-wl.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Raise :exc:`io.UnsupportedOperation` in :meth:`io.BufferedReader.truncate`
-when it is called on a read-only :class:`io.BufferedReader` instance.
diff --git a/Misc/NEWS.d/next/Library/2020-02-21-13-58-40.bpo-39681.zN8hf0.rs=
t b/Misc/NEWS.d/next/Library/2020-02-21-13-58-40.bpo-39681.zN8hf0.rst
deleted file mode 100644
index c10e2fd7a4b6d..0000000000000
--- a/Misc/NEWS.d/next/Library/2020-02-21-13-58-40.bpo-39681.zN8hf0.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Fix a regression where the C pickle module wouldn't allow unpickling from a
-file-like object that doesn't expose a readinto() method.
diff --git a/Misc/NEWS.d/next/Library/2020-02-22-12-49-04.bpo-39648.Y-9N7F.rs=
t b/Misc/NEWS.d/next/Library/2020-02-22-12-49-04.bpo-39648.Y-9N7F.rst
deleted file mode 100644
index f205911ad9bfd..0000000000000
--- a/Misc/NEWS.d/next/Library/2020-02-22-12-49-04.bpo-39648.Y-9N7F.rst
+++ /dev/null
@@ -1 +0,0 @@
-Expanded :func:`math.gcd` and :func:`math.lcm` to handle multiple arguments.
diff --git a/Misc/NEWS.d/next/Library/2020-02-23-21-27-10.bpo-39649.qiubSp.rs=
t b/Misc/NEWS.d/next/Library/2020-02-23-21-27-10.bpo-39649.qiubSp.rst
deleted file mode 100644
index 5a88f79f05f0e..0000000000000
--- a/Misc/NEWS.d/next/Library/2020-02-23-21-27-10.bpo-39649.qiubSp.rst
+++ /dev/null
@@ -1 +0,0 @@
-Remove obsolete check for `__args__` in bdb.Bdb.format_stack_entry.
diff --git a/Misc/NEWS.d/next/Library/2020-02-24-03-45-28.bpo-30566.qROxty.rs=
t b/Misc/NEWS.d/next/Library/2020-02-24-03-45-28.bpo-30566.qROxty.rst
deleted file mode 100644
index c780633030090..0000000000000
--- a/Misc/NEWS.d/next/Library/2020-02-24-03-45-28.bpo-30566.qROxty.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Fix :exc:`IndexError` when trying to decode an invalid string with punycode
-codec.
diff --git a/Misc/NEWS.d/next/Security/2020-01-07-00-42-08.bpo-39184.fe7NgK.r=
st b/Misc/NEWS.d/next/Security/2020-01-07-00-42-08.bpo-39184.fe7NgK.rst
deleted file mode 100644
index 1ab5d4d70eec5..0000000000000
--- a/Misc/NEWS.d/next/Security/2020-01-07-00-42-08.bpo-39184.fe7NgK.rst
+++ /dev/null
@@ -1 +0,0 @@
-Add audit events to command execution functions in os and pty modules.
\ No newline at end of file
diff --git a/Misc/NEWS.d/next/Security/2020-01-28-20-54-09.bpo-39401.he7h_A.r=
st b/Misc/NEWS.d/next/Security/2020-01-28-20-54-09.bpo-39401.he7h_A.rst
deleted file mode 100644
index 78274acfcb743..0000000000000
--- a/Misc/NEWS.d/next/Security/2020-01-28-20-54-09.bpo-39401.he7h_A.rst
+++ /dev/null
@@ -1 +0,0 @@
-Avoid unsafe DLL load at startup on Windows 7 and earlier.
diff --git a/Misc/NEWS.d/next/Security/2020-02-07-23-54-18.bpo-39184.v-ue-v.r=
st b/Misc/NEWS.d/next/Security/2020-02-07-23-54-18.bpo-39184.v-ue-v.rst
deleted file mode 100644
index cf25c24d58788..0000000000000
--- a/Misc/NEWS.d/next/Security/2020-02-07-23-54-18.bpo-39184.v-ue-v.rst
+++ /dev/null
@@ -1 +0,0 @@
-Add audit events to functions in `fcntl`, `msvcrt`, `os`, `resource`, `shuti=
l`, `signal` and `syslog`.
\ No newline at end of file
diff --git a/Misc/NEWS.d/next/Tests/2020-01-30-15-04-54.bpo-39502.chbpII.rst =
b/Misc/NEWS.d/next/Tests/2020-01-30-15-04-54.bpo-39502.chbpII.rst
deleted file mode 100644
index 0a13746e34759..0000000000000
--- a/Misc/NEWS.d/next/Tests/2020-01-30-15-04-54.bpo-39502.chbpII.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Skip test_zipfile.test_add_file_after_2107() if :func:`time.localtime` fails
-with :exc:`OverflowError`. It is the case on AIX 6.1 for example.
diff --git a/Misc/NEWS.d/next/Tests/2020-02-11-00-38-32.bpo-38325.HgmfoE.rst =
b/Misc/NEWS.d/next/Tests/2020-02-11-00-38-32.bpo-38325.HgmfoE.rst
deleted file mode 100644
index 7503379915260..0000000000000
--- a/Misc/NEWS.d/next/Tests/2020-02-11-00-38-32.bpo-38325.HgmfoE.rst
+++ /dev/null
@@ -1 +0,0 @@
-Skip tests on non-BMP characters of test_winconsoleio.
diff --git a/Misc/NEWS.d/next/Windows/2020-01-02-01-11-53.bpo-39185.T4herN.rs=
t b/Misc/NEWS.d/next/Windows/2020-01-02-01-11-53.bpo-39185.T4herN.rst
deleted file mode 100644
index 3b84bd5217264..0000000000000
--- a/Misc/NEWS.d/next/Windows/2020-01-02-01-11-53.bpo-39185.T4herN.rst
+++ /dev/null
@@ -1 +0,0 @@
-The build.bat script has additional options for very-quiet output (-q) and v=
ery-verbose output (-vv)
\ No newline at end of file
diff --git a/Misc/NEWS.d/next/Windows/2020-01-11-22-53-55.bpo-38883.X7FRaN.rs=
t b/Misc/NEWS.d/next/Windows/2020-01-11-22-53-55.bpo-38883.X7FRaN.rst
deleted file mode 100644
index c552e850a3684..0000000000000
--- a/Misc/NEWS.d/next/Windows/2020-01-11-22-53-55.bpo-38883.X7FRaN.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-:meth:`~pathlib.Path.home()` and :meth:`~pathlib.Path.expanduser()` on Windo=
ws
-now prefer :envvar:`USERPROFILE` and no longer use :envvar:`HOME`, which is =
not
-normally set for regular user accounts. This makes them again behave like
-:func:`os.path.expanduser`, which was changed to ignore :envvar:`HOME` in 3.=
8,
-see :issue:`36264`.
diff --git a/Misc/NEWS.d/next/Windows/2020-01-20-23-42-53.bpo-39393.gWlJDG.rs=
t b/Misc/NEWS.d/next/Windows/2020-01-20-23-42-53.bpo-39393.gWlJDG.rst
deleted file mode 100644
index 025b7e96a6e74..0000000000000
--- a/Misc/NEWS.d/next/Windows/2020-01-20-23-42-53.bpo-39393.gWlJDG.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Improve the error message when attempting to load a DLL with unresolved
-dependencies.
diff --git a/Misc/NEWS.d/next/Windows/2020-01-24-03-15-05.bpo-39439.sFxGfR.rs=
t b/Misc/NEWS.d/next/Windows/2020-01-24-03-15-05.bpo-39439.sFxGfR.rst
deleted file mode 100644
index d677c4c3e02d5..0000000000000
--- a/Misc/NEWS.d/next/Windows/2020-01-24-03-15-05.bpo-39439.sFxGfR.rst
+++ /dev/null
@@ -1 +0,0 @@
-Honor the Python path when a virtualenv is active on Windows.
\ No newline at end of file
diff --git a/Misc/NEWS.d/next/Windows/2020-02-04-19-50-53.bpo-39553._EnweA.rs=
t b/Misc/NEWS.d/next/Windows/2020-02-04-19-50-53.bpo-39553._EnweA.rst
deleted file mode 100644
index bf6496fa561db..0000000000000
--- a/Misc/NEWS.d/next/Windows/2020-02-04-19-50-53.bpo-39553._EnweA.rst
+++ /dev/null
@@ -1 +0,0 @@
-Delete unused code related to SxS manifests.
diff --git a/README.rst b/README.rst
index 5971d4aefcba1..1dc45593afa1d 100644
--- a/README.rst
+++ b/README.rst
@@ -1,4 +1,4 @@
-This is Python version 3.9.0 alpha 3
+This is Python version 3.9.0 alpha 4
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
=20
.. image:: https://travis-ci.org/python/cpython.svg?branch=3Dmaster
1
0
bpo-38403: Update nuspec file for deprecated field and git repository (GH-18657)
by Miss Islington (bot) 25 Feb '20
by Miss Islington (bot) 25 Feb '20
25 Feb '20
https://github.com/python/cpython/commit/1bbb81b251bcc8b05e0cd33cd36aef5548…
commit: 1bbb81b251bcc8b05e0cd33cd36aef55481b13db
branch: 3.8
author: Miss Islington (bot) <31488909+miss-islington(a)users.noreply.github.com>
committer: GitHub <noreply(a)github.com>
date: 2020-02-25T12:24:48-08:00
summary:
bpo-38403: Update nuspec file for deprecated field and git repository (GH-18657)
(cherry picked from commit d6448919702142123d937a54f20a81aeaf8d2acc)
Co-authored-by: Steve Dower <steve.dower(a)python.org>
files:
A Misc/NEWS.d/next/Windows/2020-02-25-18-43-34.bpo-34803.S3VcS0.rst
A PC/icons/logo.svg
A PC/icons/logox128.png
M PC/layout/support/nuspec.py
diff --git a/Misc/NEWS.d/next/Windows/2020-02-25-18-43-34.bpo-34803.S3VcS0.rst b/Misc/NEWS.d/next/Windows/2020-02-25-18-43-34.bpo-34803.S3VcS0.rst
new file mode 100644
index 0000000000000..144ffd50af0e9
--- /dev/null
+++ b/Misc/NEWS.d/next/Windows/2020-02-25-18-43-34.bpo-34803.S3VcS0.rst
@@ -0,0 +1,2 @@
+Package for nuget.org now includes repository reference and bundled icon
+image.
diff --git a/PC/icons/logo.svg b/PC/icons/logo.svg
new file mode 100644
index 0000000000000..6f521503a3832
--- /dev/null
+++ b/PC/icons/logo.svg
@@ -0,0 +1 @@
+<svg width="238" height="237" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" overflow="hidden"><defs><clipPath id="clip0"><path d="M706-314 944-314 944-77 706-77Z" fill-rule="evenodd" clip-rule="evenodd"/></clipPath></defs><g clip-path="url(#clip0)" transform="translate(-706 314)"><path d="M792.441-295.763C786.496-295.763 781.697-290.979 781.697-285.062 781.697-279.166 786.496-274.382 792.441-274.382 798.365-274.382 803.184-279.166 803.184-285.062 803.184-290.979 798.365-295.763 792.441-295.763ZM823.472-312.998C833.277-313.043 843.484-312.329 853.336-310.724 868.899-308.185 882-296.728 882-281.516L882-228.072C882-212.398 869.282-199.557 853.336-199.557L796.03-199.557C776.58-199.557 760.189-183.169 760.189-164.641L760.189-139 740.485-139C723.817-139 714.114-150.877 710.037-167.494 704.538-189.82 704.772-203.124 710.037-224.505 714.602-243.159 729.189-253 745.857-253L767.365-253 824.693-253 824.693-260.134 767.365-260.134 767.365-281.516C767.365-297.715 771.76-306.527 796.03-310.724 804.268-312.151 813.668-312.953 823.472-312.998Z" fill="#366A96" fill-rule="evenodd"/><path d="M857.377-117.071C851.466-117.071 846.655-112.267 846.655-106.348 846.655-100.406 851.466-95.6026 857.377-95.6026 863.31-95.6026 868.099-100.406 868.099-106.348 868.099-112.267 863.31-117.071 857.377-117.071ZM889.563-253 911.007-253C927.662-253 935.502-240.696 939.614-224.39 945.334-201.743 945.589-184.804 939.614-167.148 933.828-150 927.642-138.539 911.007-138.539L882.402-138.539 825.211-138.539 825.211-131.375 882.402-131.375 882.402-109.908C882.402-93.6435 868.205-85.4055 853.796-81.2973 832.12-75.1034 814.722-76.0513 796.606-81.2973 781.476-85.6801 768-94.6332 768-109.908L768-163.568C768-179.01 780.947-192.199 796.606-192.199L853.796-192.199C872.846-192.199 889.563-208.568 889.563-227.971Z" fill="#FFC836" fill-rule="evenodd"/></g></svg>
\ No newline at end of file
diff --git a/PC/icons/logox128.png b/PC/icons/logox128.png
new file mode 100644
index 0000000000000..d2655c72e7df4
Binary files /dev/null and b/PC/icons/logox128.png differ
diff --git a/PC/layout/support/nuspec.py b/PC/layout/support/nuspec.py
index b85095c555fe0..9c6a9a9159509 100644
--- a/PC/layout/support/nuspec.py
+++ b/PC/layout/support/nuspec.py
@@ -3,6 +3,7 @@
"""
import os
+import sys
from .constants import *
@@ -14,6 +15,7 @@
"PYTHON_TAG": VER_DOT,
"PYTHON_VERSION": os.getenv("PYTHON_NUSPEC_VERSION"),
"FILELIST": r' <file src="**\*" target="tools" />',
+ "GIT": sys._git,
}
NUSPEC_PLATFORM_DATA = dict(
@@ -42,10 +44,13 @@
<license type="file">tools\LICENSE.txt</license>
<projectUrl>https://www.python.org/</projectUrl>
<description>Installs {PYTHON_BITNESS} Python for use in build scenarios.</description>
+ <icon>images\logox128.png</icon>
<iconUrl>https://www.python.org/static/favicon.ico</iconUrl>
<tags>python</tags>
+ <repository type="git" url="https://github.com/Python/CPython.git" commit="{GIT[2]}" />
</metadata>
<files>
+ <file src="{LOGO}" target="images" />
{FILELIST}
</files>
</package>
@@ -68,5 +73,6 @@ def get_nuspec_layout(ns):
data[k] = v
if ns.include_all or ns.include_props:
data["FILELIST"] = FILELIST_WITH_PROPS
+ data["LOGO"] = ns.source / "PC" / "icons" / "logox128.png"
nuspec = NUSPEC_TEMPLATE.format_map(data)
yield "python.nuspec", ("python.nuspec", nuspec.encode("utf-8"))
1
0
bpo-38403: Update nuspec file for deprecated field and git repository (GH-18657)
by Steve Dower 25 Feb '20
by Steve Dower 25 Feb '20
25 Feb '20
https://github.com/python/cpython/commit/d6448919702142123d937a54f20a81aeaf…
commit: d6448919702142123d937a54f20a81aeaf8d2acc
branch: master
author: Steve Dower <steve.dower(a)python.org>
committer: GitHub <noreply(a)github.com>
date: 2020-02-25T20:07:00Z
summary:
bpo-38403: Update nuspec file for deprecated field and git repository (GH-18657)
files:
A Misc/NEWS.d/next/Windows/2020-02-25-18-43-34.bpo-34803.S3VcS0.rst
A PC/icons/logo.svg
A PC/icons/logox128.png
M PC/layout/support/nuspec.py
diff --git a/Misc/NEWS.d/next/Windows/2020-02-25-18-43-34.bpo-34803.S3VcS0.rst b/Misc/NEWS.d/next/Windows/2020-02-25-18-43-34.bpo-34803.S3VcS0.rst
new file mode 100644
index 0000000000000..144ffd50af0e9
--- /dev/null
+++ b/Misc/NEWS.d/next/Windows/2020-02-25-18-43-34.bpo-34803.S3VcS0.rst
@@ -0,0 +1,2 @@
+Package for nuget.org now includes repository reference and bundled icon
+image.
diff --git a/PC/icons/logo.svg b/PC/icons/logo.svg
new file mode 100644
index 0000000000000..6f521503a3832
--- /dev/null
+++ b/PC/icons/logo.svg
@@ -0,0 +1 @@
+<svg width="238" height="237" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" overflow="hidden"><defs><clipPath id="clip0"><path d="M706-314 944-314 944-77 706-77Z" fill-rule="evenodd" clip-rule="evenodd"/></clipPath></defs><g clip-path="url(#clip0)" transform="translate(-706 314)"><path d="M792.441-295.763C786.496-295.763 781.697-290.979 781.697-285.062 781.697-279.166 786.496-274.382 792.441-274.382 798.365-274.382 803.184-279.166 803.184-285.062 803.184-290.979 798.365-295.763 792.441-295.763ZM823.472-312.998C833.277-313.043 843.484-312.329 853.336-310.724 868.899-308.185 882-296.728 882-281.516L882-228.072C882-212.398 869.282-199.557 853.336-199.557L796.03-199.557C776.58-199.557 760.189-183.169 760.189-164.641L760.189-139 740.485-139C723.817-139 714.114-150.877 710.037-167.494 704.538-189.82 704.772-203.124 710.037-224.505 714.602-243.159 729.189-253 745.857-253L767.365-253 824.693-253 824.693-260.134 767.365-260.134 767.365-281.516C767.365-297.715 771.76-306.527 796.03-310.724 804.268-312.151 813.668-312.953 823.472-312.998Z" fill="#366A96" fill-rule="evenodd"/><path d="M857.377-117.071C851.466-117.071 846.655-112.267 846.655-106.348 846.655-100.406 851.466-95.6026 857.377-95.6026 863.31-95.6026 868.099-100.406 868.099-106.348 868.099-112.267 863.31-117.071 857.377-117.071ZM889.563-253 911.007-253C927.662-253 935.502-240.696 939.614-224.39 945.334-201.743 945.589-184.804 939.614-167.148 933.828-150 927.642-138.539 911.007-138.539L882.402-138.539 825.211-138.539 825.211-131.375 882.402-131.375 882.402-109.908C882.402-93.6435 868.205-85.4055 853.796-81.2973 832.12-75.1034 814.722-76.0513 796.606-81.2973 781.476-85.6801 768-94.6332 768-109.908L768-163.568C768-179.01 780.947-192.199 796.606-192.199L853.796-192.199C872.846-192.199 889.563-208.568 889.563-227.971Z" fill="#FFC836" fill-rule="evenodd"/></g></svg>
\ No newline at end of file
diff --git a/PC/icons/logox128.png b/PC/icons/logox128.png
new file mode 100644
index 0000000000000..d2655c72e7df4
Binary files /dev/null and b/PC/icons/logox128.png differ
diff --git a/PC/layout/support/nuspec.py b/PC/layout/support/nuspec.py
index b85095c555fe0..9c6a9a9159509 100644
--- a/PC/layout/support/nuspec.py
+++ b/PC/layout/support/nuspec.py
@@ -3,6 +3,7 @@
"""
import os
+import sys
from .constants import *
@@ -14,6 +15,7 @@
"PYTHON_TAG": VER_DOT,
"PYTHON_VERSION": os.getenv("PYTHON_NUSPEC_VERSION"),
"FILELIST": r' <file src="**\*" target="tools" />',
+ "GIT": sys._git,
}
NUSPEC_PLATFORM_DATA = dict(
@@ -42,10 +44,13 @@
<license type="file">tools\LICENSE.txt</license>
<projectUrl>https://www.python.org/</projectUrl>
<description>Installs {PYTHON_BITNESS} Python for use in build scenarios.</description>
+ <icon>images\logox128.png</icon>
<iconUrl>https://www.python.org/static/favicon.ico</iconUrl>
<tags>python</tags>
+ <repository type="git" url="https://github.com/Python/CPython.git" commit="{GIT[2]}" />
</metadata>
<files>
+ <file src="{LOGO}" target="images" />
{FILELIST}
</files>
</package>
@@ -68,5 +73,6 @@ def get_nuspec_layout(ns):
data[k] = v
if ns.include_all or ns.include_props:
data["FILELIST"] = FILELIST_WITH_PROPS
+ data["LOGO"] = ns.source / "PC" / "icons" / "logox128.png"
nuspec = NUSPEC_TEMPLATE.format_map(data)
yield "python.nuspec", ("python.nuspec", nuspec.encode("utf-8"))
1
0
To: python-checkins(a)python.org
Subject: Python 3.8.2
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
https://github.com/python/cpython/commit/7b3ab5921fa25ed8b97b6296f97c5c78aa…
5447
commit: 7b3ab5921fa25ed8b97b6296f97c5c78aacf5447
branch: 3.8
author: =C5=81ukasz Langa <lukasz(a)langa.pl>
committer: =C5=81ukasz Langa <lukasz(a)langa.pl>
date: 2020-02-24T22:36:25+01:00
summary:
Python 3.8.2
files:
A Misc/NEWS.d/3.8.2.rst
D Misc/NEWS.d/next/Core and Builtins/2020-01-22-22-28-04.bpo-39427.LiO-Eo.rst
D Misc/NEWS.d/next/Core and Builtins/2020-02-18-01-40-13.bpo-39382.OLSJu9.rst
D Misc/NEWS.d/next/Documentation/2020-02-18-07-42-20.bpo-39654.MoT1jI.rst
D Misc/NEWS.d/next/Documentation/2020-02-18-18-37-07.bpo-39572.CCtzy1.rst
D Misc/NEWS.d/next/Documentation/2020-02-19-11-13-47.bpo-17422.g7_9zz.rst
D Misc/NEWS.d/next/IDLE/2020-02-17-21-09-03.bpo-39663.wexcsH.rst
D Misc/NEWS.d/next/Library/2020-01-23-16-08-58.bpo-39432.Cee6mi.rst
D Misc/NEWS.d/next/Library/2020-02-03-15-12-51.bpo-39546._Kj0Pn.rst
D Misc/NEWS.d/next/Library/2020-02-21-13-58-40.bpo-39681.zN8hf0.rst
D Misc/NEWS.d/next/Library/2020-02-23-21-27-10.bpo-39649.qiubSp.rst
M Include/patchlevel.h
M Lib/pydoc_data/topics.py
M README.rst
diff --git a/Include/patchlevel.h b/Include/patchlevel.h
index bbdb7a2aa6a0d..3671bb35829cf 100644
--- a/Include/patchlevel.h
+++ b/Include/patchlevel.h
@@ -19,11 +19,11 @@
#define PY_MAJOR_VERSION 3
#define PY_MINOR_VERSION 8
#define PY_MICRO_VERSION 2
-#define PY_RELEASE_LEVEL PY_RELEASE_LEVEL_GAMMA
-#define PY_RELEASE_SERIAL 2
+#define PY_RELEASE_LEVEL PY_RELEASE_LEVEL_FINAL
+#define PY_RELEASE_SERIAL 0
=20
/* Version as a string */
-#define PY_VERSION "3.8.2rc2+"
+#define PY_VERSION "3.8.2"
/*--end constants--*/
=20
/* Version as a single 4-byte hex number, e.g. 0x010502B2 =3D=3D 1.5.2b2.
diff --git a/Lib/pydoc_data/topics.py b/Lib/pydoc_data/topics.py
index 3c1b780384570..f1fdb7fc8617c 100644
--- a/Lib/pydoc_data/topics.py
+++ b/Lib/pydoc_data/topics.py
@@ -1,5 +1,5 @@
# -*- coding: utf-8 -*-
-# Autogenerated by Sphinx on Mon Feb 17 23:43:37 2020
+# Autogenerated by Sphinx on Mon Feb 24 21:52:17 2020
topics =3D {'assert': 'The "assert" statement\n'
'**********************\n'
'\n'
@@ -5286,9 +5286,12 @@
'Changed in version 3.6: Added the "\'_\'" option (see als=
o '
'**PEP 515**).\n'
'\n'
- '*width* is a decimal integer defining the minimum field '
- 'width. If not\n'
- 'specified, then the field width will be determined by the=
'
+ '*width* is a decimal integer defining the minimum total '
+ 'field width,\n'
+ 'including any prefixes, separators, and other formatting '
+ 'characters.\n'
+ 'If not specified, then the field width will be determined=
'
+ 'by the\n'
'content.\n'
'\n'
'When no explicit alignment is given, preceding the *width=
* '
@@ -9001,11 +9004,15 @@
'come from\n'
'the class definition). The "__prepare__" method should be '
'implemented\n'
- 'as a "classmethod()".\n'
+ 'as a "classmethod()". The namespace returned by '
+ '"__prepare__" is\n'
+ 'passed in to "__new__", but when the final class object is=
'
+ 'created the\n'
+ 'namespace is copied into a new "dict".\n'
'\n'
'If the metaclass has no "__prepare__" attribute, then the '
'class\n'
- 'namespace is initialised as an empty ordered mapping.\n'
+ 'namespace is initialised as an empty "dict()".\n'
'\n'
'See also:\n'
'\n'
diff --git a/Misc/NEWS.d/3.8.2.rst b/Misc/NEWS.d/3.8.2.rst
new file mode 100644
index 0000000000000..bde681204cb0c
--- /dev/null
+++ b/Misc/NEWS.d/3.8.2.rst
@@ -0,0 +1,97 @@
+.. bpo: 39382
+.. date: 2020-02-18-01-40-13
+.. nonce: OLSJu9
+.. release date: 2020-02-24
+.. section: Core and Builtins
+
+Fix a use-after-free in the single inheritance path of ``issubclass()``,
+when the ``__bases__`` of an object has a single reference, and so does its
+first item. Patch by Yonatan Goldschmidt.
+
+..
+
+.. bpo: 39427
+.. date: 2020-01-22-22-28-04
+.. nonce: LiO-Eo
+.. section: Core and Builtins
+
+Document all possibilities for the ``-X`` options in the command line help
+section. Patch by Pablo Galindo.
+
+..
+
+.. bpo: 39649
+.. date: 2020-02-23-21-27-10
+.. nonce: qiubSp
+.. section: Library
+
+Remove obsolete check for `__args__` in bdb.Bdb.format_stack_entry.
+
+..
+
+.. bpo: 39681
+.. date: 2020-02-21-13-58-40
+.. nonce: zN8hf0
+.. section: Library
+
+Fix a regression where the C pickle module wouldn't allow unpickling from a
+file-like object that doesn't expose a readinto() method.
+
+..
+
+.. bpo: 39546
+.. date: 2020-02-03-15-12-51
+.. nonce: _Kj0Pn
+.. section: Library
+
+Fix a regression in :class:`~argparse.ArgumentParser` where
+``allow_abbrev=3DFalse`` was ignored for long options that used a prefix
+character other than "-".
+
+..
+
+.. bpo: 39432
+.. date: 2020-01-23-16-08-58
+.. nonce: Cee6mi
+.. section: Library
+
+Implement PEP-489 algorithm for non-ascii "PyInit\_..." symbol names in
+distutils to make it export the correct init symbol also on Windows.
+
+..
+
+.. bpo: 17422
+.. date: 2020-02-19-11-13-47
+.. nonce: g7_9zz
+.. section: Documentation
+
+The language reference now specifies restrictions on class namespaces.
+Adapted from a patch by Ethan Furman.
+
+..
+
+.. bpo: 39572
+.. date: 2020-02-18-18-37-07
+.. nonce: CCtzy1
+.. section: Documentation
+
+Updated documentation of ``total`` flag of TypeDict.
+
+..
+
+.. bpo: 39654
+.. date: 2020-02-18-07-42-20
+.. nonce: MoT1jI
+.. section: Documentation
+
+In pyclbr doc, update 'class' to 'module' where appropriate and add
+readmodule comment. Patch by Hakan =C3=87elik.
+
+..
+
+.. bpo: 39663
+.. date: 2020-02-17-21-09-03
+.. nonce: wexcsH
+.. section: IDLE
+
+Add tests for pyparse find_good_parse_start().
diff --git a/Misc/NEWS.d/next/Core and Builtins/2020-01-22-22-28-04.bpo-39427=
.LiO-Eo.rst b/Misc/NEWS.d/next/Core and Builtins/2020-01-22-22-28-04.bpo-3942=
7.LiO-Eo.rst
deleted file mode 100644
index a3915a4d81c79..0000000000000
--- a/Misc/NEWS.d/next/Core and Builtins/2020-01-22-22-28-04.bpo-39427.LiO-Eo=
.rst=09
+++ /dev/null
@@ -1,2 +0,0 @@
-Document all possibilities for the ``-X`` options in the command line help
-section. Patch by Pablo Galindo.
diff --git a/Misc/NEWS.d/next/Core and Builtins/2020-02-18-01-40-13.bpo-39382=
.OLSJu9.rst b/Misc/NEWS.d/next/Core and Builtins/2020-02-18-01-40-13.bpo-3938=
2.OLSJu9.rst
deleted file mode 100644
index 605f4c8e5dfd1..0000000000000
--- a/Misc/NEWS.d/next/Core and Builtins/2020-02-18-01-40-13.bpo-39382.OLSJu9=
.rst=09
+++ /dev/null
@@ -1,3 +0,0 @@
-Fix a use-after-free in the single inheritance path of ``issubclass()``, when
-the ``__bases__`` of an object has a single reference, and so does its first=
item.
-Patch by Yonatan Goldschmidt.
diff --git a/Misc/NEWS.d/next/Documentation/2020-02-18-07-42-20.bpo-39654.MoT=
1jI.rst b/Misc/NEWS.d/next/Documentation/2020-02-18-07-42-20.bpo-39654.MoT1jI=
.rst
deleted file mode 100644
index cff201d812476..0000000000000
--- a/Misc/NEWS.d/next/Documentation/2020-02-18-07-42-20.bpo-39654.MoT1jI.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-In pyclbr doc, update 'class' to 'module' where appropriate and add readmodu=
le comment.
-Patch by Hakan =C3=87elik.
diff --git a/Misc/NEWS.d/next/Documentation/2020-02-18-18-37-07.bpo-39572.CCt=
zy1.rst b/Misc/NEWS.d/next/Documentation/2020-02-18-18-37-07.bpo-39572.CCtzy1=
.rst
deleted file mode 100644
index d47bb455e71d1..0000000000000
--- a/Misc/NEWS.d/next/Documentation/2020-02-18-18-37-07.bpo-39572.CCtzy1.rst
+++ /dev/null
@@ -1 +0,0 @@
-Updated documentation of ``total`` flag of TypeDict.
diff --git a/Misc/NEWS.d/next/Documentation/2020-02-19-11-13-47.bpo-17422.g7_=
9zz.rst b/Misc/NEWS.d/next/Documentation/2020-02-19-11-13-47.bpo-17422.g7_9zz=
.rst
deleted file mode 100644
index f071d286176ae..0000000000000
--- a/Misc/NEWS.d/next/Documentation/2020-02-19-11-13-47.bpo-17422.g7_9zz.rst
+++ /dev/null
@@ -1 +0,0 @@
-The language reference now specifies restrictions on class namespaces. Adap=
ted from a patch by Ethan Furman.
diff --git a/Misc/NEWS.d/next/IDLE/2020-02-17-21-09-03.bpo-39663.wexcsH.rst b=
/Misc/NEWS.d/next/IDLE/2020-02-17-21-09-03.bpo-39663.wexcsH.rst
deleted file mode 100644
index 19e16329ce0a0..0000000000000
--- a/Misc/NEWS.d/next/IDLE/2020-02-17-21-09-03.bpo-39663.wexcsH.rst
+++ /dev/null
@@ -1 +0,0 @@
-Add tests for pyparse find_good_parse_start().
diff --git a/Misc/NEWS.d/next/Library/2020-01-23-16-08-58.bpo-39432.Cee6mi.rs=
t b/Misc/NEWS.d/next/Library/2020-01-23-16-08-58.bpo-39432.Cee6mi.rst
deleted file mode 100644
index 21c4ba8620755..0000000000000
--- a/Misc/NEWS.d/next/Library/2020-01-23-16-08-58.bpo-39432.Cee6mi.rst
+++ /dev/null
@@ -1 +0,0 @@
-Implement PEP-489 algorithm for non-ascii "PyInit\_..." symbol names in dist=
utils to make it export the correct init symbol also on Windows.
diff --git a/Misc/NEWS.d/next/Library/2020-02-03-15-12-51.bpo-39546._Kj0Pn.rs=
t b/Misc/NEWS.d/next/Library/2020-02-03-15-12-51.bpo-39546._Kj0Pn.rst
deleted file mode 100644
index 8f035e79963e0..0000000000000
--- a/Misc/NEWS.d/next/Library/2020-02-03-15-12-51.bpo-39546._Kj0Pn.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-Fix a regression in :class:`~argparse.ArgumentParser` where
-``allow_abbrev=3DFalse`` was ignored for long options that used a prefix
-character other than "-".
diff --git a/Misc/NEWS.d/next/Library/2020-02-21-13-58-40.bpo-39681.zN8hf0.rs=
t b/Misc/NEWS.d/next/Library/2020-02-21-13-58-40.bpo-39681.zN8hf0.rst
deleted file mode 100644
index c10e2fd7a4b6d..0000000000000
--- a/Misc/NEWS.d/next/Library/2020-02-21-13-58-40.bpo-39681.zN8hf0.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Fix a regression where the C pickle module wouldn't allow unpickling from a
-file-like object that doesn't expose a readinto() method.
diff --git a/Misc/NEWS.d/next/Library/2020-02-23-21-27-10.bpo-39649.qiubSp.rs=
t b/Misc/NEWS.d/next/Library/2020-02-23-21-27-10.bpo-39649.qiubSp.rst
deleted file mode 100644
index 5a88f79f05f0e..0000000000000
--- a/Misc/NEWS.d/next/Library/2020-02-23-21-27-10.bpo-39649.qiubSp.rst
+++ /dev/null
@@ -1 +0,0 @@
-Remove obsolete check for `__args__` in bdb.Bdb.format_stack_entry.
diff --git a/README.rst b/README.rst
index 5858120b42929..cf74d1d8ee6b3 100644
--- a/README.rst
+++ b/README.rst
@@ -1,5 +1,5 @@
-This is Python version 3.8.2rc2
-=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D
+This is Python version 3.8.2
+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
=20
.. image:: https://travis-ci.org/python/cpython.svg?branch=3D3.8
:alt: CPython build status on Travis CI
1
0
https://github.com/python/cpython/commit/eb8ac57af26c4eb96a8230eba7492ce5ce…
commit: eb8ac57af26c4eb96a8230eba7492ce5ceef7886
branch: master
author: Brandt Bucher <brandtbucher(a)gmail.com>
committer: GitHub <noreply(a)github.com>
date: 2020-02-24T19:47:34-08:00
summary:
bpo-36144: Dictionary Union (PEP 584) (#12088)
files:
A Misc/NEWS.d/next/Core and Builtins/2019-03-02-23-03-34.bpo-36144.LRl4LS.rst
M Lib/collections/__init__.py
M Lib/test/test_dict.py
M Objects/dictobject.c
diff --git a/Lib/collections/__init__.py b/Lib/collections/__init__.py
index 178cdb1fa5ba0..1aa7d10ad22e4 100644
--- a/Lib/collections/__init__.py
+++ b/Lib/collections/__init__.py
@@ -994,6 +994,26 @@ def __contains__(self, key):
# Now, add the methods in dicts but not in MutableMapping
def __repr__(self): return repr(self.data)
+
+ def __or__(self, other):
+ if isinstance(other, UserDict):
+ return self.__class__(self.data | other.data)
+ if isinstance(other, dict):
+ return self.__class__(self.data | other)
+ return NotImplemented
+ def __ror__(self, other):
+ if isinstance(other, UserDict):
+ return self.__class__(other.data | self.data)
+ if isinstance(other, dict):
+ return self.__class__(other | self.data)
+ return NotImplemented
+ def __ior__(self, other):
+ if isinstance(other, UserDict):
+ self.data |= other.data
+ else:
+ self.data |= other
+ return self
+
def __copy__(self):
inst = self.__class__.__new__(self.__class__)
inst.__dict__.update(self.__dict__)
diff --git a/Lib/test/test_dict.py b/Lib/test/test_dict.py
index de483ab552155..d5a3d9e894574 100644
--- a/Lib/test/test_dict.py
+++ b/Lib/test/test_dict.py
@@ -37,6 +37,38 @@ def test_literal_constructor(self):
dictliteral = '{' + ', '.join(formatted_items) + '}'
self.assertEqual(eval(dictliteral), dict(items))
+ def test_merge_operator(self):
+
+ a = {0: 0, 1: 1, 2: 1}
+ b = {1: 1, 2: 2, 3: 3}
+
+ c = a.copy()
+ c |= b
+
+ self.assertEqual(a | b, {0: 0, 1: 1, 2: 2, 3: 3})
+ self.assertEqual(c, {0: 0, 1: 1, 2: 2, 3: 3})
+
+ c = b.copy()
+ c |= a
+
+ self.assertEqual(b | a, {1: 1, 2: 1, 3: 3, 0: 0})
+ self.assertEqual(c, {1: 1, 2: 1, 3: 3, 0: 0})
+
+ c = a.copy()
+ c |= [(1, 1), (2, 2), (3, 3)]
+
+ self.assertEqual(c, {0: 0, 1: 1, 2: 2, 3: 3})
+
+ self.assertIs(a.__or__(None), NotImplemented)
+ self.assertIs(a.__or__(()), NotImplemented)
+ self.assertIs(a.__or__("BAD"), NotImplemented)
+ self.assertIs(a.__or__(""), NotImplemented)
+
+ self.assertRaises(TypeError, a.__ior__, None)
+ self.assertEqual(a.__ior__(()), {0: 0, 1: 1, 2: 1})
+ self.assertRaises(ValueError, a.__ior__, "BAD")
+ self.assertEqual(a.__ior__(""), {0: 0, 1: 1, 2: 1})
+
def test_bool(self):
self.assertIs(not {}, True)
self.assertTrue({1: 2})
diff --git a/Misc/NEWS.d/next/Core and Builtins/2019-03-02-23-03-34.bpo-36144.LRl4LS.rst b/Misc/NEWS.d/next/Core and Builtins/2019-03-02-23-03-34.bpo-36144.LRl4LS.rst
new file mode 100644
index 0000000000000..7d6d076ea7d4d
--- /dev/null
+++ b/Misc/NEWS.d/next/Core and Builtins/2019-03-02-23-03-34.bpo-36144.LRl4LS.rst
@@ -0,0 +1,2 @@
+:class:`dict` (and :class:`collections.UserDict`) objects now support PEP 584's merge (``|``) and update (``|=``) operators.
+Patch by Brandt Bucher.
diff --git a/Objects/dictobject.c b/Objects/dictobject.c
index 86ac4ef4816d8..4aa927afd9c7a 100644
--- a/Objects/dictobject.c
+++ b/Objects/dictobject.c
@@ -2320,6 +2320,25 @@ dict_fromkeys_impl(PyTypeObject *type, PyObject *iterable, PyObject *value)
return _PyDict_FromKeys((PyObject *)type, iterable, value);
}
+/* Single-arg dict update; used by dict_update_common and operators. */
+static int
+dict_update_arg(PyObject *self, PyObject *arg)
+{
+ if (PyDict_CheckExact(arg)) {
+ return PyDict_Merge(self, arg, 1);
+ }
+ _Py_IDENTIFIER(keys);
+ PyObject *func;
+ if (_PyObject_LookupAttrId(arg, &PyId_keys, &func) < 0) {
+ return -1;
+ }
+ if (func != NULL) {
+ Py_DECREF(func);
+ return PyDict_Merge(self, arg, 1);
+ }
+ return PyDict_MergeFromSeq2(self, arg, 1);
+}
+
static int
dict_update_common(PyObject *self, PyObject *args, PyObject *kwds,
const char *methname)
@@ -2331,23 +2350,7 @@ dict_update_common(PyObject *self, PyObject *args, PyObject *kwds,
result = -1;
}
else if (arg != NULL) {
- if (PyDict_CheckExact(arg)) {
- result = PyDict_Merge(self, arg, 1);
- }
- else {
- _Py_IDENTIFIER(keys);
- PyObject *func;
- if (_PyObject_LookupAttrId(arg, &PyId_keys, &func) < 0) {
- result = -1;
- }
- else if (func != NULL) {
- Py_DECREF(func);
- result = PyDict_Merge(self, arg, 1);
- }
- else {
- result = PyDict_MergeFromSeq2(self, arg, 1);
- }
- }
+ result = dict_update_arg(self, arg);
}
if (result == 0 && kwds != NULL) {
@@ -3169,6 +3172,33 @@ dict_sizeof(PyDictObject *mp, PyObject *Py_UNUSED(ignored))
return PyLong_FromSsize_t(_PyDict_SizeOf(mp));
}
+static PyObject *
+dict_or(PyObject *self, PyObject *other)
+{
+ if (!PyDict_Check(self) || !PyDict_Check(other)) {
+ Py_RETURN_NOTIMPLEMENTED;
+ }
+ PyObject *new = PyDict_Copy(self);
+ if (new == NULL) {
+ return NULL;
+ }
+ if (dict_update_arg(new, other)) {
+ Py_DECREF(new);
+ return NULL;
+ }
+ return new;
+}
+
+static PyObject *
+dict_ior(PyObject *self, PyObject *other)
+{
+ if (dict_update_arg(self, other)) {
+ return NULL;
+ }
+ Py_INCREF(self);
+ return self;
+}
+
PyDoc_STRVAR(getitem__doc__, "x.__getitem__(y) <==> x[y]");
PyDoc_STRVAR(sizeof__doc__,
@@ -3274,6 +3304,11 @@ static PySequenceMethods dict_as_sequence = {
0, /* sq_inplace_repeat */
};
+static PyNumberMethods dict_as_number = {
+ .nb_or = dict_or,
+ .nb_inplace_or = dict_ior,
+};
+
static PyObject *
dict_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
{
@@ -3335,7 +3370,7 @@ PyTypeObject PyDict_Type = {
0, /* tp_setattr */
0, /* tp_as_async */
(reprfunc)dict_repr, /* tp_repr */
- 0, /* tp_as_number */
+ &dict_as_number, /* tp_as_number */
&dict_as_sequence, /* tp_as_sequence */
&dict_as_mapping, /* tp_as_mapping */
PyObject_HashNotImplemented, /* tp_hash */
1
0
25 Feb '20
https://github.com/python/cpython/commit/55be9a6c09d4415f50b14212ce22eccefa…
commit: 55be9a6c09d4415f50b14212ce22eccefa83ca64
branch: 3.7
author: Miss Islington (bot) <31488909+miss-islington(a)users.noreply.github.com>
committer: GitHub <noreply(a)github.com>
date: 2020-02-25T06:43:46+03:00
summary:
bpo-30566: Fix IndexError when using punycode codec (GH-18632)
Trying to decode an invalid string with the punycode codec
shoud raise UnicodeError.
(cherry picked from commit ba22e8f174309979d90047c5dc64fcb63bc2c32e)
Co-authored-by: Berker Peksag <berker.peksag(a)gmail.com>
files:
A Misc/NEWS.d/next/Library/2020-02-24-03-45-28.bpo-30566.qROxty.rst
M Lib/encodings/punycode.py
M Lib/test/test_codecs.py
diff --git a/Lib/encodings/punycode.py b/Lib/encodings/punycode.py
index 66c51013ea431..1c5726447077b 100644
--- a/Lib/encodings/punycode.py
+++ b/Lib/encodings/punycode.py
@@ -143,7 +143,7 @@ def decode_generalized_number(extended, extpos, bias, errors):
digit = char - 22 # 0x30-26
elif errors == "strict":
raise UnicodeError("Invalid extended code point '%s'"
- % extended[extpos])
+ % extended[extpos-1])
else:
return extpos, None
t = T(j, bias)
diff --git a/Lib/test/test_codecs.py b/Lib/test/test_codecs.py
index cd2761353490a..5a450ebd9dc2b 100644
--- a/Lib/test/test_codecs.py
+++ b/Lib/test/test_codecs.py
@@ -1406,6 +1406,18 @@ def test_decode(self):
puny = puny.decode("ascii").encode("ascii")
self.assertEqual(uni, puny.decode("punycode"))
+ def test_decode_invalid(self):
+ testcases = [
+ (b"xn--w&", "strict", UnicodeError()),
+ (b"xn--w&", "ignore", "xn-"),
+ ]
+ for puny, errors, expected in testcases:
+ with self.subTest(puny=puny, errors=errors):
+ if isinstance(expected, Exception):
+ self.assertRaises(UnicodeError, puny.decode, "punycode", errors)
+ else:
+ self.assertEqual(puny.decode("punycode", errors), expected)
+
class UnicodeInternalTest(unittest.TestCase):
@unittest.skipUnless(SIZEOF_WCHAR_T == 4, 'specific to 32-bit wchar_t')
diff --git a/Misc/NEWS.d/next/Library/2020-02-24-03-45-28.bpo-30566.qROxty.rst b/Misc/NEWS.d/next/Library/2020-02-24-03-45-28.bpo-30566.qROxty.rst
new file mode 100644
index 0000000000000..c780633030090
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/2020-02-24-03-45-28.bpo-30566.qROxty.rst
@@ -0,0 +1,2 @@
+Fix :exc:`IndexError` when trying to decode an invalid string with punycode
+codec.
1
0
25 Feb '20
https://github.com/python/cpython/commit/daef21ce7dfd3735101d85d6ebf7554187…
commit: daef21ce7dfd3735101d85d6ebf7554187c33ab8
branch: 3.8
author: Miss Islington (bot) <31488909+miss-islington(a)users.noreply.github.com>
committer: GitHub <noreply(a)github.com>
date: 2020-02-25T06:42:39+03:00
summary:
bpo-30566: Fix IndexError when using punycode codec (GH-18632)
Trying to decode an invalid string with the punycode codec
shoud raise UnicodeError.
(cherry picked from commit ba22e8f174309979d90047c5dc64fcb63bc2c32e)
Co-authored-by: Berker Peksag <berker.peksag(a)gmail.com>
files:
A Misc/NEWS.d/next/Library/2020-02-24-03-45-28.bpo-30566.qROxty.rst
M Lib/encodings/punycode.py
M Lib/test/test_codecs.py
diff --git a/Lib/encodings/punycode.py b/Lib/encodings/punycode.py
index 66c51013ea431..1c5726447077b 100644
--- a/Lib/encodings/punycode.py
+++ b/Lib/encodings/punycode.py
@@ -143,7 +143,7 @@ def decode_generalized_number(extended, extpos, bias, errors):
digit = char - 22 # 0x30-26
elif errors == "strict":
raise UnicodeError("Invalid extended code point '%s'"
- % extended[extpos])
+ % extended[extpos-1])
else:
return extpos, None
t = T(j, bias)
diff --git a/Lib/test/test_codecs.py b/Lib/test/test_codecs.py
index b37525bf66043..8c10e948e8041 100644
--- a/Lib/test/test_codecs.py
+++ b/Lib/test/test_codecs.py
@@ -1331,6 +1331,18 @@ def test_decode(self):
puny = puny.decode("ascii").encode("ascii")
self.assertEqual(uni, puny.decode("punycode"))
+ def test_decode_invalid(self):
+ testcases = [
+ (b"xn--w&", "strict", UnicodeError()),
+ (b"xn--w&", "ignore", "xn-"),
+ ]
+ for puny, errors, expected in testcases:
+ with self.subTest(puny=puny, errors=errors):
+ if isinstance(expected, Exception):
+ self.assertRaises(UnicodeError, puny.decode, "punycode", errors)
+ else:
+ self.assertEqual(puny.decode("punycode", errors), expected)
+
# From http://www.gnu.org/software/libidn/draft-josefsson-idn-test-vectors.html
nameprep_tests = [
diff --git a/Misc/NEWS.d/next/Library/2020-02-24-03-45-28.bpo-30566.qROxty.rst b/Misc/NEWS.d/next/Library/2020-02-24-03-45-28.bpo-30566.qROxty.rst
new file mode 100644
index 0000000000000..c780633030090
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/2020-02-24-03-45-28.bpo-30566.qROxty.rst
@@ -0,0 +1,2 @@
+Fix :exc:`IndexError` when trying to decode an invalid string with punycode
+codec.
1
0
25 Feb '20
https://github.com/python/cpython/commit/ba22e8f174309979d90047c5dc64fcb63b…
commit: ba22e8f174309979d90047c5dc64fcb63bc2c32e
branch: master
author: Berker Peksag <berker.peksag(a)gmail.com>
committer: GitHub <noreply(a)github.com>
date: 2020-02-25T06:19:03+03:00
summary:
bpo-30566: Fix IndexError when using punycode codec (GH-18632)
Trying to decode an invalid string with the punycode codec
shoud raise UnicodeError.
files:
A Misc/NEWS.d/next/Library/2020-02-24-03-45-28.bpo-30566.qROxty.rst
M Lib/encodings/punycode.py
M Lib/test/test_codecs.py
diff --git a/Lib/encodings/punycode.py b/Lib/encodings/punycode.py
index 66c51013ea431..1c5726447077b 100644
--- a/Lib/encodings/punycode.py
+++ b/Lib/encodings/punycode.py
@@ -143,7 +143,7 @@ def decode_generalized_number(extended, extpos, bias, errors):
digit = char - 22 # 0x30-26
elif errors == "strict":
raise UnicodeError("Invalid extended code point '%s'"
- % extended[extpos])
+ % extended[extpos-1])
else:
return extpos, None
t = T(j, bias)
diff --git a/Lib/test/test_codecs.py b/Lib/test/test_codecs.py
index 3aec34c7f167d..8d9cb9089039c 100644
--- a/Lib/test/test_codecs.py
+++ b/Lib/test/test_codecs.py
@@ -1343,6 +1343,18 @@ def test_decode(self):
puny = puny.decode("ascii").encode("ascii")
self.assertEqual(uni, puny.decode("punycode"))
+ def test_decode_invalid(self):
+ testcases = [
+ (b"xn--w&", "strict", UnicodeError()),
+ (b"xn--w&", "ignore", "xn-"),
+ ]
+ for puny, errors, expected in testcases:
+ with self.subTest(puny=puny, errors=errors):
+ if isinstance(expected, Exception):
+ self.assertRaises(UnicodeError, puny.decode, "punycode", errors)
+ else:
+ self.assertEqual(puny.decode("punycode", errors), expected)
+
# From http://www.gnu.org/software/libidn/draft-josefsson-idn-test-vectors.html
nameprep_tests = [
diff --git a/Misc/NEWS.d/next/Library/2020-02-24-03-45-28.bpo-30566.qROxty.rst b/Misc/NEWS.d/next/Library/2020-02-24-03-45-28.bpo-30566.qROxty.rst
new file mode 100644
index 0000000000000..c780633030090
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/2020-02-24-03-45-28.bpo-30566.qROxty.rst
@@ -0,0 +1,2 @@
+Fix :exc:`IndexError` when trying to decode an invalid string with punycode
+codec.
1
0
https://github.com/python/cpython/commit/1f4cf0c22b00fefb17611546755b65d3cb…
commit: 1f4cf0c22b00fefb17611546755b65d3cb488330
branch: 3.8
author: Miss Islington (bot) <31488909+miss-islington(a)users.noreply.github.com>
committer: GitHub <noreply(a)github.com>
date: 2020-02-24T07:06:00-08:00
summary:
bpo-39128: Added algorithm description (GH-18624)
GH- [bpo-39128](https://bugs.python.org/issue39128): happy eyeballs description
GH- [3.9] 39128 - happy eyeballs description (GH-18624)
GH- [3.8] 39128 - happy eyeballs description (GH-18624)
https://bugs.python.org/issue39128
(cherry picked from commit 8af4712a16e4b7d1b60f1faec13cd7a88da95f6a)
Co-authored-by: idomic <michael.ido(a)gmail.com>
files:
M Doc/library/asyncio-eventloop.rst
diff --git a/Doc/library/asyncio-eventloop.rst b/Doc/library/asyncio-eventloop.rst
index 4ea8521eb0bf3..9022993e619a5 100644
--- a/Doc/library/asyncio-eventloop.rst
+++ b/Doc/library/asyncio-eventloop.rst
@@ -439,6 +439,17 @@ Opening network connections
Added the *happy_eyeballs_delay* and *interleave* parameters.
+ Happy Eyeballs Algorithm: Success with Dual-Stack Hosts.
+ When a server's IPv4 path and protocol are working, but the server's
+ IPv6 path and protocol are not working, a dual-stack client
+ application experiences significant connection delay compared to an
+ IPv4-only client. This is undesirable because it causes the dual-
+ stack client to have a worse user experience. This document
+ specifies requirements for algorithms that reduce this user-visible
+ delay and provides an algorithm.
+
+ For more information: https://tools.ietf.org/html/rfc6555
+
.. versionadded:: 3.7
The *ssl_handshake_timeout* parameter.
1
0
https://github.com/python/cpython/commit/8af4712a16e4b7d1b60f1faec13cd7a88d…
commit: 8af4712a16e4b7d1b60f1faec13cd7a88da95f6a
branch: master
author: idomic <michael.ido(a)gmail.com>
committer: GitHub <noreply(a)github.com>
date: 2020-02-24T06:59:40-08:00
summary:
bpo-39128: Added algorithm description (GH-18624)
# [bpo-39128](https://bugs.python.org/issue39128): happy eyeballs description
# [3.9] 39128 - happy eyeballs description (GH-18624)
# [3.8] 39128 - happy eyeballs description (GH-18624)
https://bugs.python.org/issue39128
files:
M Doc/library/asyncio-eventloop.rst
diff --git a/Doc/library/asyncio-eventloop.rst b/Doc/library/asyncio-eventloop.rst
index 3acd79d283580..d60a6ce95cdd8 100644
--- a/Doc/library/asyncio-eventloop.rst
+++ b/Doc/library/asyncio-eventloop.rst
@@ -451,6 +451,17 @@ Opening network connections
Added the *happy_eyeballs_delay* and *interleave* parameters.
+ Happy Eyeballs Algorithm: Success with Dual-Stack Hosts.
+ When a server's IPv4 path and protocol are working, but the server's
+ IPv6 path and protocol are not working, a dual-stack client
+ application experiences significant connection delay compared to an
+ IPv4-only client. This is undesirable because it causes the dual-
+ stack client to have a worse user experience. This document
+ specifies requirements for algorithms that reduce this user-visible
+ delay and provides an algorithm.
+
+ For more information: https://tools.ietf.org/html/rfc6555
+
.. versionadded:: 3.7
The *ssl_handshake_timeout* parameter.
1
0