Compare commits

...

5 Commits

Author SHA1 Message Date
Łukasz Langa 285b38c3a8
Post 3.8.7 2020-12-21 18:46:59 +01:00
Łukasz Langa e3ffe353b1 Python 3.8.7
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEE4/8oOcBIslwITevpsmmV4xAlBWgFAl/gzLcACgkQsmmV4xAl
 BWhEfQ/+PorQSUp17fC/KAEQ5QBuHsyOcdx05vFeTjpalrQjJ5GcVH+sHsswzp9L
 0RHZOdHatlRbhfUqdwtgEpi/AXawGwOpOA7CZ5VzUKafhgUJ4yeNrvNKkvsmLNey
 zJJIqA0KiUrgnBi370WppgrC3+cRYlQiqxrbrGTqKGnNf5DNW4fQaBywYNECz655
 H2MhSWzwvBl/Uw7H0pbGxAd0uTrvjoUibgszD1vzdZYj7wwNlqxkN7pM/TBMoDd2
 VGTzfNdl9Li5mhW76ZWcg8D9ZLjn1/RNBuls8bLiEc0FChRDrM2jXXtNNDXbA1Hx
 ek+IrTiKYwcPh+uMjZ1+kX32ZYhCMoIgUw+nNGcHa5pbTaW5oUE/nidWuL9Wtn/U
 QjNaaL6z67m8QcDa96KnVOiMIX20T6HiJNsbw1Cbw/t4VhkILHaRhXdd2sZE0xTF
 29ZGCLHEkZqgaxx/PZKBaWyV62thoSW9QPSMlOvhHzCKY85jul+fsd+naNyux1FL
 8hgvMUXDRAeyB7C9Dym16VVSe9m8YDTyMDIUttqNoCmeQX059t004SBLbVd9Hhzf
 AnU/6hWSAAlek1pTEga0cE3ZH1yMk2NfCzGC6/elAhPPp624zk2PiLOwZ2nRppu+
 kL2T2PCpxzMaRsciYxrMglDGtiGUFbDj8RGkSxEqtqqSRB+7p6A=
 =1BTY
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCAAuFiEE4/8oOcBIslwITevpsmmV4xAlBWgFAl/g34UQHGx1a2FzekBs
 YW5nYS5wbAAKCRCyaZXjECUFaEpWD/0Vp+ZZtKahjbAYy2T1rqF47CtNaKZv9VKe
 Z2powFXTbnawjmWXFOjNYot/cf0SSS65zarcl7koF8w2lBShhpavA936J0vm5lUB
 p8ed5gDrCYwU0YDP39YtbCQSgy8oQxVBExJTY1Yi9HC6mh1Q53GQBg52tU5e4kuc
 f0Ggxxz3ClMWSXom87eGwcCck8YpNjZYbv5yiR0RA6qNx0CxX10lwusmrwBKQCqQ
 KzSXW8594NF/NHw890JM9X9a0mlVPlDL8xUcZrYVxdCjLGEJ/BlUIbAvHD8wwBxX
 LF0CTJNHwzZeM3GKPPajKcJWl1l9DoK0R8uq86231OzDdeqlpbHIxsAgV2uc1J6R
 8LQs9FQ9tM1t/WODM3KgWvrbi8MP07QnNl33MsIaEEv9KZ9Dckpt9PijeNipt6CT
 FrV8+L5ZlZznq355JbN0AmL9lBD+dazovOB5drNT+3hriGBKZvIUW2BCn7qWR+1o
 3V4kA5xM+cmThihf0Nr1pzGc4YQdIfGLcnHGMpZ34Z5rjbCyXtRMoo0C4Xn0kN+A
 5Dx3hVcwEkdgYwmMPmaJLUIAoGnlt5dB70QcElAqMboxrtmxqGJsLGtMnql6KLbp
 7Vv9ldgzvHyw0UnF/9bfi1RcXyy3pIYPGfhLBb6O7wN8zn7Cduu1UGAPGQE4tec+
 OcDpUBEsBw==
 =J3NV
 -----END PGP SIGNATURE-----

Merge tag 'v3.8.7' into 3.8

Python 3.8.7
2020-12-21 18:46:42 +01:00
Ned Deily 305eae8ebf
Update macOS installer ReadMe for 3.8.7 and Big Sur (GH-23882) 2020-12-21 18:12:25 +01:00
Łukasz Langa 6503f05dd5
Python 3.8.7 2020-12-21 17:25:24 +01:00
Miss Islington (bot) a3537716a5
Fix typo in docstring (GH-23515)
(cherry picked from commit 711381dfb0)

Co-authored-by: Fernando Toledo <42938011+fernandohtr@users.noreply.github.com>
2020-12-21 06:28:47 -08:00
23 changed files with 299 additions and 137 deletions

View File

@ -19,11 +19,11 @@
#define PY_MAJOR_VERSION 3
#define PY_MINOR_VERSION 8
#define PY_MICRO_VERSION 7
#define PY_RELEASE_LEVEL PY_RELEASE_LEVEL_GAMMA
#define PY_RELEASE_SERIAL 1
#define PY_RELEASE_LEVEL PY_RELEASE_LEVEL_FINAL
#define PY_RELEASE_SERIAL 0
/* Version as a string */
#define PY_VERSION "3.8.7rc1+"
#define PY_VERSION "3.8.7+"
/*--end constants--*/
/* Version as a single 4-byte hex number, e.g. 0x010502B2 == 1.5.2b2.

View File

@ -846,7 +846,7 @@ class HTTPConnection:
the endpoint passed to `set_tunnel`. This done by sending an HTTP
CONNECT request to the proxy server when the connection is established.
This method must be called before the HTML connection has been
This method must be called before the HTTP connection has been
established.
The headers argument should be a mapping of extra HTTP headers to send

View File

@ -1,5 +1,5 @@
# -*- coding: utf-8 -*-
# Autogenerated by Sphinx on Mon Dec 7 15:10:25 2020
# Autogenerated by Sphinx on Mon Dec 21 17:22:46 2020
topics = {'assert': 'The "assert" statement\n'
'**********************\n'
'\n'
@ -2376,8 +2376,9 @@ topics = {'assert': 'The "assert" statement\n'
'compatible\n'
'with an exception if it is the class or a base class of the '
'exception\n'
'object or a tuple containing an item compatible with the '
'exception.\n'
'object, or a tuple containing an item that is the class or a '
'base\n'
'class of the exception object.\n'
'\n'
'If no except clause matches the exception, the search for an '
'exception\n'
@ -5512,44 +5513,51 @@ topics = {'assert': 'The "assert" statement\n'
' | | formats the result in either fixed-point '
'format or in |\n'
' | | scientific notation, depending on its '
'magnitude. The |\n'
' | | precise rules are as follows: suppose that '
'the result |\n'
'magnitude. A |\n'
' | | precision of "0" is treated as equivalent '
'to a precision |\n'
' | | of "1". The precise rules are as follows: '
'suppose that |\n'
' | | the result formatted with presentation '
'type "\'e\'" and |\n'
' | | precision "p-1" would have exponent '
'"exp". Then, if "m <= |\n'
' | | exp < p", where "m" is -4 for floats and '
'-6 for |\n'
' | | "Decimals", the number is formatted with '
'presentation type |\n'
' | | "\'f\'" and precision "p-1-exp". '
'Otherwise, the number is |\n'
' | | formatted with presentation type "\'e\'" '
'and precision "p-1" |\n'
' | | would have exponent "exp". Then, if "m <= '
'exp < p", where |\n'
' | | "m" is -4 for floats and -6 for '
'"Decimals", the number is |\n'
' | | formatted with presentation type "\'f\'" '
'and precision |\n'
' | | "p-1-exp". Otherwise, the number is '
'formatted with |\n'
' | | presentation type "\'e\'" and precision '
'"p-1". In both cases |\n'
' | | insignificant trailing zeros are removed '
'from the |\n'
' | | significand, and the decimal point is also '
'removed if |\n'
' | | there are no remaining digits following '
'it, unless the |\n'
' | | "\'#\'" option is used. Positive and '
'negative infinity, |\n'
' | | positive and negative zero, and nans, are '
'formatted as |\n'
' | | "inf", "-inf", "0", "-0" and "nan" '
'respectively, |\n'
' | | regardless of the precision. A precision '
'of "0" is |\n'
' | | treated as equivalent to a precision of '
'"1". With no |\n'
' | | precision given, uses a precision of "6" '
'significant |\n'
' | | digits for "float", and shows all '
'coefficient digits for |\n'
' | | '
'"Decimal". '
'|\n'
' | | "p-1". In both cases insignificant '
'trailing zeros are |\n'
' | | removed from the significand, and the '
'decimal point is |\n'
' | | also removed if there are no remaining '
'digits following |\n'
' | | it, unless the "\'#\'" option is used. '
'With no precision |\n'
' | | given, uses a precision of "6" significant '
'digits for |\n'
' | | "float". For "Decimal", the coefficient of '
'the result is |\n'
' | | formed from the coefficient digits of the '
'value; |\n'
' | | scientific notation is used for values '
'smaller than "1e-6" |\n'
' | | in absolute value and values where the '
'place value of the |\n'
' | | least significant digit is larger than 1, '
'and fixed-point |\n'
' | | notation is used otherwise. Positive and '
'negative |\n'
' | | infinity, positive and negative zero, and '
'nans, are |\n'
' | | formatted as "inf", "-inf", "0", "-0" and '
'"nan" |\n'
' | | respectively, regardless of the '
'precision. |\n'
' '
'+-----------+------------------------------------------------------------+\n'
' | "\'G\'" | General format. Same as "\'g\'" except '
@ -5574,19 +5582,24 @@ topics = {'assert': 'The "assert" statement\n'
'percent sign. |\n'
' '
'+-----------+------------------------------------------------------------+\n'
' | None | Similar to "\'g\'", except that '
'fixed-point notation, when |\n'
' | | used, has at least one digit past the '
'decimal point. The |\n'
' | | default precision is as high as needed to '
'represent the |\n'
' | | particular value. The overall effect is to '
'match the |\n'
' | | output of "str()" as altered by the other '
'format |\n'
' | | '
'modifiers. '
'|\n'
' | None | For "float" this is the same as "\'g\'", '
'except that when |\n'
' | | fixed-point notation is used to format the '
'result, it |\n'
' | | always includes at least one digit past '
'the decimal point. |\n'
' | | The precision used is as large as needed '
'to represent the |\n'
' | | given value faithfully. For "Decimal", '
'this is the same |\n'
' | | as either "\'g\'" or "\'G\'" depending on '
'the value of |\n'
' | | "context.capitals" for the current decimal '
'context. The |\n'
' | | overall effect is to match the output of '
'"str()" as |\n'
' | | altered by the other format '
'modifiers. |\n'
' '
'+-----------+------------------------------------------------------------+\n'
'\n'
@ -11159,7 +11172,8 @@ topics = {'assert': 'The "assert" statement\n'
'object is “compatible” with the exception. An object is compatible\n'
'with an exception if it is the class or a base class of the '
'exception\n'
'object or a tuple containing an item compatible with the exception.\n'
'object, or a tuple containing an item that is the class or a base\n'
'class of the exception object.\n'
'\n'
'If no except clause matches the exception, the search for an '
'exception\n'
@ -11340,7 +11354,7 @@ topics = {'assert': 'The "assert" statement\n'
'representation\n'
' in computers.\n'
'\n'
' The string representations of the Numeric classes, computed by\n'
' The string representations of the numeric classes, computed by\n'
' "__repr__()" and "__str__()", have the following properties:\n'
'\n'
' * They are valid numeric literals which, when passed to their '

View File

@ -1,6 +1,6 @@
{\rtf1\ansi\ansicpg1252\cocoartf2513
\cocoatextscaling0\cocoaplatform0{\fonttbl\f0\fswiss\fcharset0 Helvetica;\f1\fswiss\fcharset0 Helvetica-Bold;\f2\fswiss\fcharset0 Helvetica-Oblique;
\f3\fmodern\fcharset0 CourierNewPSMT;}
\cocoatextscaling0\cocoaplatform0{\fonttbl\f0\fswiss\fcharset0 Helvetica;\f1\fswiss\fcharset0 Helvetica-Bold;\f2\fmodern\fcharset0 CourierNewPSMT;
\f3\fswiss\fcharset0 Helvetica-Oblique;}
{\colortbl;\red255\green255\blue255;}
{\*\expandedcolortbl;;}
\margl1440\margr1440\vieww13380\viewh14600\viewkind0
@ -10,25 +10,37 @@
\
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural\partightenfactor0
\f1\b \cf0 \ul \ulc0 Certificate verification and OpenSSL\
\f1\b \cf0 \ul \ulc0 macOS 11 Big Sur not fully supported\
\f0\b0 \ulnone \
Python 3.8.7 is not yet fully supported on macOS 11 Big Sur. It will install on macOS 11 Big Sur and will run on Apple Silicon Macs using Rosetta 2 translation. But a few features do not work correctly, most noticeably those involving searching for system libraries such as
\f2 ctypes.util.find_library()
\f0 and in
\f2 Distutils
\f0 . Python 3.9.1 or later provides full support for Big Sur and Apple Silicon Macs, including building natively on Apple Silicon Macs and support for
\f2 universal2
\f0 binaries\
\
\f1\b \ul Certificate verification and OpenSSL\
\f0\b0 \ulnone \
This package includes its own private copy of OpenSSL 1.1.1. The trust certificates in system and user keychains managed by the
\f2\i Keychain Access
\f3\i Keychain Access
\f0\i0 application and the
\f2\i security
\f3\i security
\f0\i0 command line utility are not used as defaults by the Python
\f3 ssl
\f2 ssl
\f0 module. A sample command script is included in
\f3 /Applications/Python 3.8
\f2 /Applications/Python 3.8
\f0 to install a curated bundle of default root certificates from the third-party
\f3 certifi
\f2 certifi
\f0 package ({\field{\*\fldinst{HYPERLINK "https://pypi.org/project/certifi/"}}{\fldrslt https://pypi.org/project/certifi/}}). Double-click on
\f3 Install Certificates
\f2 Install Certificates
\f0 to run it.\
\
The bundled
\f3 pip
\f2 pip
\f0 has its own default certificate store for verifying download connections.\
\
@ -60,17 +72,17 @@ Python 2.7 end-of-life [changed in 3.8.4]\
\
\f0\b0 \ulnone Python 2.7 has now reached end-of-life. As of Python 3.8.4, the
\f3 Python Launcher
\f2 Python Launcher
\f0 app now has
\f3 python3
\f2 python3
\f0 factory defaults. Also, the
\f3 Current
\f2 Current
\f0 link in the
\f3 /Library/Frameworks/Python.framework/Versions
\f2 /Library/Frameworks/Python.framework/Versions
\f0 directory is now updated to point to the Python 3 being installed; previously, only Python 2 installs updated
\f3 Current
\f2 Current
\f0 . This change might affect developers using the framework to embed Python in their applications. If another version is desired for embedding, the
\f3 Current
\f2 Current
\f0 symlink can be changed manually without affecting 3.8.x behavior.\
\f1\b \ul \
@ -78,8 +90,8 @@ Other changes\
\f0\b0 \ulnone \
For other changes in this release, see the
\f2\i What's new
\f3\i What's new
\f0\i0 section in the {\field{\*\fldinst{HYPERLINK "https://www.python.org/doc/"}}{\fldrslt Documentation Set}} for this release and its
\f2\i Release Notes
\f3\i Release Notes
\f0\i0 link at {\field{\*\fldinst{HYPERLINK "https://www.python.org/downloads/"}}{\fldrslt https://www.python.org/downloads/}}.\
}

195
Misc/NEWS.d/3.8.7.rst Normal file
View File

@ -0,0 +1,195 @@
.. bpo: 32381
.. date: 2020-12-04-17-17-44
.. nonce: NY5t2S
.. release date: 2020-12-21
.. section: Core and Builtins
Fix encoding name when running a ``.pyc`` file on Windows:
:c:func:`PyRun_SimpleFileExFlags()` now uses the correct encoding to decode
the filename.
..
.. bpo: 42536
.. date: 2020-12-02-20-23-31
.. nonce: Kx3ZOu
.. section: Core and Builtins
Several built-in and standard library types now ensure that their internal
result tuples are always tracked by the :term:`garbage collector <garbage
collection>`:
- :meth:`collections.OrderedDict.items() <collections.OrderedDict>`
- :meth:`dict.items`
- :func:`enumerate`
- :func:`functools.reduce`
- :func:`itertools.combinations`
- :func:`itertools.combinations_with_replacement`
- :func:`itertools.permutations`
- :func:`itertools.product`
- :func:`itertools.zip_longest`
- :func:`zip`
Previously, they could have become untracked by a prior garbage collection.
Patch by Brandt Bucher.
..
.. bpo: 42630
.. date: 2020-12-15-17-51-27
.. nonce: jf4jBl
.. section: Library
:mod:`tkinter` functions and constructors which need a default root window
raise now :exc:`RuntimeError` with descriptive message instead of obscure
:exc:`AttributeError` or :exc:`NameError` if it is not created yet or cannot
be created automatically.
..
.. bpo: 42644
.. date: 2020-12-15-10-00-04
.. nonce: XgLCNx
.. section: Library
`logging.disable` will now validate the types and value of its parameter. It
also now accepts strings representing the levels (as does `loging.setLevel`)
instead of only the numerical values.
..
.. bpo: 36541
.. date: 2020-12-14-08-23-57
.. nonce: qdEtZv
.. section: Library
Fixed lib2to3.pgen2 to be able to parse PEP-570 positional only argument
syntax.
..
.. bpo: 42375
.. date: 2020-11-19-04-13-53
.. nonce: U8bp4s
.. section: Library
subprocess module update for DragonFlyBSD support.
..
.. bpo: 39825
.. date: 2020-10-20-08-28-26
.. nonce: n6KnG0
.. section: Library
Windows: Change ``sysconfig.get_config_var('EXT_SUFFIX')`` to the expected
full ``platform_tag.extension`` format. Previously it was hard-coded to
``.pyd``, now it is compatible with ``distutils.sysconfig`` and will result
in something like ``.cp38-win_amd64.pyd``. This brings windows into
conformance with the other platforms.
..
.. bpo: 39101
.. date: 2020-10-11-21-43-03
.. nonce: -I49Pm
.. section: Library
Fixed tests using IsolatedAsyncioTestCase from hanging on BaseExceptions.
..
.. bpo: 41907
.. date: 2020-10-02-10-19-49
.. nonce: wiIEsz
.. section: Library
fix `format()` behavior for `IntFlag`
..
.. bpo: 41889
.. date: 2020-10-01-16-17-11
.. nonce: qLkNh8
.. section: Library
Enum: fix regression involving inheriting a multiply-inherited enum
..
.. bpo: 41891
.. date: 2020-09-30-13-35-29
.. nonce: pNAeYI
.. section: Library
Ensure asyncio.wait_for waits for task completion
..
.. bpo: 40219
.. date: 2020-07-13-19-43-11
.. nonce: MUoJEP
.. section: Library
Lowered :class:`tkinter.ttk.LabeledScale` dummy widget to prevent hiding
part of the content label.
..
.. bpo: 40084
.. date: 2020-03-29-21-32-00
.. nonce: MCYwcv
.. section: Library
Fix ``Enum.__dir__``: dir(Enum.member) now includes attributes as well as
methods.
..
.. bpo: 17140
.. date: 2020-12-16-21-06-16
.. nonce: 1leSEg
.. section: Documentation
Add documentation for the :class:`multiprocessing.pool.ThreadPool` class.
..
.. bpo: 42604
.. date: 2020-12-20-02-35-28
.. nonce: gRd89w
.. section: Build
Now all platforms use a value for the "EXT_SUFFIX" build variable derived
from SOABI (for instance in freeBSD, "EXT_SUFFIX" is now ".cpython-310d.so"
instead of ".so"). Previosuly only Linux, Mac and VxWorks were using a value
for "EXT_SUFFIX" that included "SOABI".
..
.. bpo: 42598
.. date: 2020-12-13-14-43-10
.. nonce: 7ipr5H
.. section: Build
Fix implicit function declarations in configure which could have resulted in
incorrect configuration checks. Patch contributed by Joshua Root.
..
.. bpo: 42613
.. date: 2020-12-16-09-10-32
.. nonce: J-jnm5
.. section: Tools/Demos
Fix ``freeze.py`` tool to use the prope config and library directories.
Patch by Victor Stinner.

View File

@ -1,2 +0,0 @@
Fix implicit function declarations in configure which could have resulted in
incorrect configuration checks. Patch contributed by Joshua Root.

View File

@ -1,4 +0,0 @@
Now all platforms use a value for the "EXT_SUFFIX" build variable derived
from SOABI (for instance in freeBSD, "EXT_SUFFIX" is now ".cpython-310d.so"
instead of ".so"). Previosuly only Linux, Mac and VxWorks were using a value
for "EXT_SUFFIX" that included "SOABI".

View File

@ -1,26 +0,0 @@
Several built-in and standard library types now ensure that their internal
result tuples are always tracked by the :term:`garbage collector
<garbage collection>`:
- :meth:`collections.OrderedDict.items() <collections.OrderedDict>`
- :meth:`dict.items`
- :func:`enumerate`
- :func:`functools.reduce`
- :func:`itertools.combinations`
- :func:`itertools.combinations_with_replacement`
- :func:`itertools.permutations`
- :func:`itertools.product`
- :func:`itertools.zip_longest`
- :func:`zip`
Previously, they could have become untracked by a prior garbage collection.
Patch by Brandt Bucher.

View File

@ -1,3 +0,0 @@
Fix encoding name when running a ``.pyc`` file on Windows:
:c:func:`PyRun_SimpleFileExFlags()` now uses the correct encoding to decode
the filename.

View File

@ -1 +0,0 @@
Add documentation for the :class:`multiprocessing.pool.ThreadPool` class.

View File

@ -1 +0,0 @@
Fix ``Enum.__dir__``: dir(Enum.member) now includes attributes as well as methods.

View File

@ -1 +0,0 @@
Lowered :class:`tkinter.ttk.LabeledScale` dummy widget to prevent hiding part of the content label.

View File

@ -1 +0,0 @@
Ensure asyncio.wait_for waits for task completion

View File

@ -1 +0,0 @@
Enum: fix regression involving inheriting a multiply-inherited enum

View File

@ -1 +0,0 @@
fix `format()` behavior for `IntFlag`

View File

@ -1 +0,0 @@
Fixed tests using IsolatedAsyncioTestCase from hanging on BaseExceptions.

View File

@ -1,5 +0,0 @@
Windows: Change ``sysconfig.get_config_var('EXT_SUFFIX')`` to the expected
full ``platform_tag.extension`` format. Previously it was hard-coded to
``.pyd``, now it is compatible with ``distutils.sysconfig`` and will result
in something like ``.cp38-win_amd64.pyd``. This brings windows into
conformance with the other platforms.

View File

@ -1 +0,0 @@
subprocess module update for DragonFlyBSD support.

View File

@ -1,2 +0,0 @@
Fixed lib2to3.pgen2 to be able to parse PEP-570 positional only argument
syntax.

View File

@ -1,3 +0,0 @@
`logging.disable` will now validate the types and value of its parameter. It
also now accepts strings representing the levels (as does `loging.setLevel`)
instead of only the numerical values.

View File

@ -1,4 +0,0 @@
:mod:`tkinter` functions and constructors which need a default root window
raise now :exc:`RuntimeError` with descriptive message instead of obscure
:exc:`AttributeError` or :exc:`NameError` if it is not created yet or cannot
be created automatically.

View File

@ -1,2 +0,0 @@
Fix ``freeze.py`` tool to use the prope config and library directories.
Patch by Victor Stinner.

View File

@ -1,5 +1,5 @@
This is Python version 3.8.7rc1
===============================
This is Python version 3.8.7
============================
.. image:: https://travis-ci.org/python/cpython.svg?branch=3.8
:alt: CPython build status on Travis CI