From fa919fdf2583bdfead1df00e842f24f30b2a34bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Langa?= Date: Mon, 14 Oct 2019 15:34:47 +0200 Subject: v3.8.0 --- Doc/whatsnew/3.8.rst | 2 + Include/patchlevel.h | 6 +- Lib/pydoc_data/topics.py | 2 +- Misc/NEWS.d/3.8.0.rst | 186 +++++++++++++++++++++ .../C API/2019-10-08-01-23-24.bpo-38395.MJ6Ey9.rst | 3 - .../2019-10-09-16-50-52.bpo-38379.oz5qZx.rst | 1 - .../2019-10-13-23-41-38.bpo-38469.9kmuQj.rst | 2 - .../2019-09-27-23-37-41.bpo-38294.go_jFf.rst | 1 - .../IDLE/2019-10-04-18-03-09.bpo-36698.BKcmom.rst | 3 - .../2019-09-29-22-47-37.bpo-13153.0mO9qR.rst | 4 - .../2019-10-01-21-06-18.bpo-38341.uqwgU_.rst | 1 - .../2019-10-05-02-07-52.bpo-38332.hwrPN7.rst | 3 - .../2019-10-08-11-18-40.bpo-38405.0-7e7s.rst | 1 - .../2019-10-10-00-25-28.bpo-38109.9w-IGF.rst | 3 - .../2019-10-10-16-53-00.bpo-38431.d5wzNp.rst | 1 - .../2019-10-11-18-49-00.bpo-38449.9TWMlz.rst | 2 - .../Tests/2019-10-08-16-42-05.bpo-37531.7v-_Ca.rst | 5 - .../2019-10-02-09-48-42.bpo-38347.2Tq5D1.rst | 1 - .../2019-10-08-15-07-52.bpo-38118.pIZD6H.rst | 2 - .../2019-10-02-15-38-49.bpo-38355.n3AWX6.rst | 1 - .../2019-10-03-08-04-14.bpo-38359.wzwsl_.rst | 1 - .../2019-10-05-05-50-58.bpo-38344.scr2LO.rst | 1 - README.rst | 4 +- 23 files changed, 194 insertions(+), 42 deletions(-) create mode 100644 Misc/NEWS.d/3.8.0.rst delete mode 100644 Misc/NEWS.d/next/C API/2019-10-08-01-23-24.bpo-38395.MJ6Ey9.rst delete mode 100644 Misc/NEWS.d/next/Core and Builtins/2019-10-09-16-50-52.bpo-38379.oz5qZx.rst delete mode 100644 Misc/NEWS.d/next/Core and Builtins/2019-10-13-23-41-38.bpo-38469.9kmuQj.rst delete mode 100644 Misc/NEWS.d/next/Documentation/2019-09-27-23-37-41.bpo-38294.go_jFf.rst delete mode 100644 Misc/NEWS.d/next/IDLE/2019-10-04-18-03-09.bpo-36698.BKcmom.rst delete mode 100644 Misc/NEWS.d/next/Library/2019-09-29-22-47-37.bpo-13153.0mO9qR.rst delete mode 100644 Misc/NEWS.d/next/Library/2019-10-01-21-06-18.bpo-38341.uqwgU_.rst delete mode 100644 Misc/NEWS.d/next/Library/2019-10-05-02-07-52.bpo-38332.hwrPN7.rst delete mode 100644 Misc/NEWS.d/next/Library/2019-10-08-11-18-40.bpo-38405.0-7e7s.rst delete mode 100644 Misc/NEWS.d/next/Library/2019-10-10-00-25-28.bpo-38109.9w-IGF.rst delete mode 100644 Misc/NEWS.d/next/Library/2019-10-10-16-53-00.bpo-38431.d5wzNp.rst delete mode 100644 Misc/NEWS.d/next/Library/2019-10-11-18-49-00.bpo-38449.9TWMlz.rst delete mode 100644 Misc/NEWS.d/next/Tests/2019-10-08-16-42-05.bpo-37531.7v-_Ca.rst delete mode 100644 Misc/NEWS.d/next/Tools-Demos/2019-10-02-09-48-42.bpo-38347.2Tq5D1.rst delete mode 100644 Misc/NEWS.d/next/Tools-Demos/2019-10-08-15-07-52.bpo-38118.pIZD6H.rst delete mode 100644 Misc/NEWS.d/next/Windows/2019-10-02-15-38-49.bpo-38355.n3AWX6.rst delete mode 100644 Misc/NEWS.d/next/Windows/2019-10-03-08-04-14.bpo-38359.wzwsl_.rst delete mode 100644 Misc/NEWS.d/next/Windows/2019-10-05-05-50-58.bpo-38344.scr2LO.rst diff --git a/Doc/whatsnew/3.8.rst b/Doc/whatsnew/3.8.rst index 8108fb7..d80005f 100644 --- a/Doc/whatsnew/3.8.rst +++ b/Doc/whatsnew/3.8.rst @@ -47,6 +47,8 @@ This article explains the new features in Python 3.8, compared to 3.7. For full details, see the :ref:`changelog `. +Python 3.8 was released on October 14th, 2019. + Prerelease users should be aware that this document is currently in draft form. It will be updated as Python 3.8 moves towards release, so it's worth checking back even after reading earlier versions. Some diff --git a/Include/patchlevel.h b/Include/patchlevel.h index a441413..d685a85 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 0 -#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.0rc1+" +#define PY_VERSION "3.8.0" /*--end constants--*/ /* Version as a single 4-byte hex number, e.g. 0x010502B2 == 1.5.2b2. diff --git a/Lib/pydoc_data/topics.py b/Lib/pydoc_data/topics.py index 7cb089f..327a421 100644 --- a/Lib/pydoc_data/topics.py +++ b/Lib/pydoc_data/topics.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Autogenerated by Sphinx on Tue Oct 1 14:53:09 2019 +# Autogenerated by Sphinx on Mon Oct 14 14:33:10 2019 topics = {'assert': 'The "assert" statement\n' '**********************\n' '\n' diff --git a/Misc/NEWS.d/3.8.0.rst b/Misc/NEWS.d/3.8.0.rst new file mode 100644 index 0000000..b7e681f --- /dev/null +++ b/Misc/NEWS.d/3.8.0.rst @@ -0,0 +1,186 @@ +.. bpo: 38469 +.. date: 2019-10-13-23-41-38 +.. nonce: 9kmuQj +.. release date: 2019-10-14 +.. section: Core and Builtins + +Fixed a bug where the scope of named expressions was not being resolved +correctly in the presence of the *global* keyword. Patch by Pablo Galindo. + +.. + +.. bpo: 38379 +.. date: 2019-10-09-16-50-52 +.. nonce: oz5qZx +.. section: Core and Builtins + +When cyclic garbage collection (gc) runs finalizers that resurrect +unreachable objects, the current gc run ends, without collecting any cyclic +trash. However, the statistics reported by ``collect()`` and +``get_stats()`` claimed that all cyclic trash found was collected, and that +the resurrected objects were collected. Changed the stats to report that +none were collected. + +.. + +.. bpo: 38449 +.. date: 2019-10-11-18-49-00 +.. nonce: 9TWMlz +.. section: Library + +Revert GH-15522, which introduces a regression in +:meth:`mimetypes.guess_type` due to improper handling of filenames as urls. + +.. + +.. bpo: 38431 +.. date: 2019-10-10-16-53-00 +.. nonce: d5wzNp +.. section: Library + +Fix ``__repr__`` method for :class:`dataclasses.InitVar` to support typing +objects, patch by Samuel Colvin. + +.. + +.. bpo: 38109 +.. date: 2019-10-10-00-25-28 +.. nonce: 9w-IGF +.. section: Library + +Add missing :data:`stat.S_IFDOOR`, :data:`stat.S_IFPORT`, +:data:`stat.S_IFWHT`, :func:`stat.S_ISDOOR`, :func:`stat.S_ISPORT`, and +:func:`stat.S_ISWHT` values to the Python implementation of :mod:`stat`. + +.. + +.. bpo: 38405 +.. date: 2019-10-08-11-18-40 +.. nonce: 0-7e7s +.. section: Library + +Nested subclasses of :class:`typing.NamedTuple` are now pickleable. + +.. + +.. bpo: 38332 +.. date: 2019-10-05-02-07-52 +.. nonce: hwrPN7 +.. section: Library + +Prevent :exc:`KeyError` thrown by :func:`_encoded_words.decode` when given +an encoded-word with invalid content-type encoding from propagating all the +way to :func:`email.message.get`. + +.. + +.. bpo: 38341 +.. date: 2019-10-01-21-06-18 +.. nonce: uqwgU_ +.. section: Library + +Add :exc:`smtplib.SMTPNotSupportedError` to the :mod:`smtplib` exported +names. + +.. + +.. bpo: 13153 +.. date: 2019-09-29-22-47-37 +.. nonce: 0mO9qR +.. section: Library + +OS native encoding is now used for converting between Python strings and Tcl +objects. This allows to display, copy and paste to clipboard emoji and +other non-BMP characters. Converting strings from Tcl to Python and back +now never fails (except MemoryError). + +.. + +.. bpo: 38294 +.. date: 2019-09-27-23-37-41 +.. nonce: go_jFf +.. section: Documentation + +Add list of no-longer-escaped chars to re.escape documentation + +.. + +.. bpo: 37531 +.. date: 2019-10-08-16-42-05 +.. nonce: 7v-_Ca +.. section: Tests + +On timeout, regrtest no longer attempts to call ``popen.communicate()`` +again: it can hang until all child processes using stdout and stderr pipes +completes. Kill the worker process and ignores its output. Change also the +faulthandler timeout of the main process from 1 minute to 5 minutes, for +Python slowest buildbots. + +.. + +.. bpo: 38344 +.. date: 2019-10-05-05-50-58 +.. nonce: scr2LO +.. section: Windows + +Fix error message in activate.bat + +.. + +.. bpo: 38359 +.. date: 2019-10-03-08-04-14 +.. nonce: wzwsl_ +.. section: Windows + +Ensures ``pyw.exe`` launcher reads correct registry key. + +.. + +.. bpo: 38355 +.. date: 2019-10-02-15-38-49 +.. nonce: n3AWX6 +.. section: Windows + +Fixes ``ntpath.realpath`` failing on ``sys.executable``. + +.. + +.. bpo: 36698 +.. date: 2019-10-04-18-03-09 +.. nonce: BKcmom +.. section: IDLE + +IDLE no longer fails when write non-encodable characters to stderr. It now +escapes them with a backslash, as the regular Python interpreter. Added the +``errors`` field to the standard streams. + +.. + +.. bpo: 38118 +.. date: 2019-10-08-15-07-52 +.. nonce: pIZD6H +.. section: Tools/Demos + +Update Valgrind suppression file to ignore a false alarm in +:c:func:`PyUnicode_Decode` when using GCC builtin strcmp(). + +.. + +.. bpo: 38347 +.. date: 2019-10-02-09-48-42 +.. nonce: 2Tq5D1 +.. section: Tools/Demos + +pathfix.py: Assume all files that end on '.py' are Python scripts when +working recursively. + +.. + +.. bpo: 38395 +.. date: 2019-10-08-01-23-24 +.. nonce: MJ6Ey9 +.. section: C API + +Fix a crash in :class:`weakref.proxy` objects due to incorrect lifetime +management when calling some associated methods that may delete the last +reference to object being referenced by the proxy. Patch by Pablo Galindo. diff --git a/Misc/NEWS.d/next/C API/2019-10-08-01-23-24.bpo-38395.MJ6Ey9.rst b/Misc/NEWS.d/next/C API/2019-10-08-01-23-24.bpo-38395.MJ6Ey9.rst deleted file mode 100644 index 4bc3060..0000000 --- a/Misc/NEWS.d/next/C API/2019-10-08-01-23-24.bpo-38395.MJ6Ey9.rst +++ /dev/null @@ -1,3 +0,0 @@ -Fix a crash in :class:`weakref.proxy` objects due to incorrect lifetime -management when calling some associated methods that may delete the last -reference to object being referenced by the proxy. Patch by Pablo Galindo. diff --git a/Misc/NEWS.d/next/Core and Builtins/2019-10-09-16-50-52.bpo-38379.oz5qZx.rst b/Misc/NEWS.d/next/Core and Builtins/2019-10-09-16-50-52.bpo-38379.oz5qZx.rst deleted file mode 100644 index 82dcb52..0000000 --- a/Misc/NEWS.d/next/Core and Builtins/2019-10-09-16-50-52.bpo-38379.oz5qZx.rst +++ /dev/null @@ -1 +0,0 @@ -When cyclic garbage collection (gc) runs finalizers that resurrect unreachable objects, the current gc run ends, without collecting any cyclic trash. However, the statistics reported by ``collect()`` and ``get_stats()`` claimed that all cyclic trash found was collected, and that the resurrected objects were collected. Changed the stats to report that none were collected. diff --git a/Misc/NEWS.d/next/Core and Builtins/2019-10-13-23-41-38.bpo-38469.9kmuQj.rst b/Misc/NEWS.d/next/Core and Builtins/2019-10-13-23-41-38.bpo-38469.9kmuQj.rst deleted file mode 100644 index 328a1b7..0000000 --- a/Misc/NEWS.d/next/Core and Builtins/2019-10-13-23-41-38.bpo-38469.9kmuQj.rst +++ /dev/null @@ -1,2 +0,0 @@ -Fixed a bug where the scope of named expressions was not being resolved -correctly in the presence of the *global* keyword. Patch by Pablo Galindo. diff --git a/Misc/NEWS.d/next/Documentation/2019-09-27-23-37-41.bpo-38294.go_jFf.rst b/Misc/NEWS.d/next/Documentation/2019-09-27-23-37-41.bpo-38294.go_jFf.rst deleted file mode 100644 index 0bde8c8..0000000 --- a/Misc/NEWS.d/next/Documentation/2019-09-27-23-37-41.bpo-38294.go_jFf.rst +++ /dev/null @@ -1 +0,0 @@ -Add list of no-longer-escaped chars to re.escape documentation \ No newline at end of file diff --git a/Misc/NEWS.d/next/IDLE/2019-10-04-18-03-09.bpo-36698.BKcmom.rst b/Misc/NEWS.d/next/IDLE/2019-10-04-18-03-09.bpo-36698.BKcmom.rst deleted file mode 100644 index 5aaa3c9..0000000 --- a/Misc/NEWS.d/next/IDLE/2019-10-04-18-03-09.bpo-36698.BKcmom.rst +++ /dev/null @@ -1,3 +0,0 @@ -IDLE no longer fails when write non-encodable characters to stderr. It now -escapes them with a backslash, as the regular Python interpreter. Added the -``errors`` field to the standard streams. diff --git a/Misc/NEWS.d/next/Library/2019-09-29-22-47-37.bpo-13153.0mO9qR.rst b/Misc/NEWS.d/next/Library/2019-09-29-22-47-37.bpo-13153.0mO9qR.rst deleted file mode 100644 index 6f95615..0000000 --- a/Misc/NEWS.d/next/Library/2019-09-29-22-47-37.bpo-13153.0mO9qR.rst +++ /dev/null @@ -1,4 +0,0 @@ -OS native encoding is now used for converting between Python strings and -Tcl objects. This allows to display, copy and paste to clipboard emoji and -other non-BMP characters. Converting strings from Tcl to Python and back -now never fails (except MemoryError). diff --git a/Misc/NEWS.d/next/Library/2019-10-01-21-06-18.bpo-38341.uqwgU_.rst b/Misc/NEWS.d/next/Library/2019-10-01-21-06-18.bpo-38341.uqwgU_.rst deleted file mode 100644 index dd1a6b0..0000000 --- a/Misc/NEWS.d/next/Library/2019-10-01-21-06-18.bpo-38341.uqwgU_.rst +++ /dev/null @@ -1 +0,0 @@ -Add :exc:`smtplib.SMTPNotSupportedError` to the :mod:`smtplib` exported names. diff --git a/Misc/NEWS.d/next/Library/2019-10-05-02-07-52.bpo-38332.hwrPN7.rst b/Misc/NEWS.d/next/Library/2019-10-05-02-07-52.bpo-38332.hwrPN7.rst deleted file mode 100644 index 600c702..0000000 --- a/Misc/NEWS.d/next/Library/2019-10-05-02-07-52.bpo-38332.hwrPN7.rst +++ /dev/null @@ -1,3 +0,0 @@ -Prevent :exc:`KeyError` thrown by :func:`_encoded_words.decode` when given -an encoded-word with invalid content-type encoding from propagating all the -way to :func:`email.message.get`. diff --git a/Misc/NEWS.d/next/Library/2019-10-08-11-18-40.bpo-38405.0-7e7s.rst b/Misc/NEWS.d/next/Library/2019-10-08-11-18-40.bpo-38405.0-7e7s.rst deleted file mode 100644 index ee346a3..0000000 --- a/Misc/NEWS.d/next/Library/2019-10-08-11-18-40.bpo-38405.0-7e7s.rst +++ /dev/null @@ -1 +0,0 @@ -Nested subclasses of :class:`typing.NamedTuple` are now pickleable. diff --git a/Misc/NEWS.d/next/Library/2019-10-10-00-25-28.bpo-38109.9w-IGF.rst b/Misc/NEWS.d/next/Library/2019-10-10-00-25-28.bpo-38109.9w-IGF.rst deleted file mode 100644 index 3f4484d..0000000 --- a/Misc/NEWS.d/next/Library/2019-10-10-00-25-28.bpo-38109.9w-IGF.rst +++ /dev/null @@ -1,3 +0,0 @@ -Add missing :data:`stat.S_IFDOOR`, :data:`stat.S_IFPORT`, :data:`stat.S_IFWHT`, -:func:`stat.S_ISDOOR`, :func:`stat.S_ISPORT`, and :func:`stat.S_ISWHT` values to -the Python implementation of :mod:`stat`. \ No newline at end of file diff --git a/Misc/NEWS.d/next/Library/2019-10-10-16-53-00.bpo-38431.d5wzNp.rst b/Misc/NEWS.d/next/Library/2019-10-10-16-53-00.bpo-38431.d5wzNp.rst deleted file mode 100644 index c2f860d..0000000 --- a/Misc/NEWS.d/next/Library/2019-10-10-16-53-00.bpo-38431.d5wzNp.rst +++ /dev/null @@ -1 +0,0 @@ -Fix ``__repr__`` method for :class:`dataclasses.InitVar` to support typing objects, patch by Samuel Colvin. diff --git a/Misc/NEWS.d/next/Library/2019-10-11-18-49-00.bpo-38449.9TWMlz.rst b/Misc/NEWS.d/next/Library/2019-10-11-18-49-00.bpo-38449.9TWMlz.rst deleted file mode 100644 index f7b1dbf..0000000 --- a/Misc/NEWS.d/next/Library/2019-10-11-18-49-00.bpo-38449.9TWMlz.rst +++ /dev/null @@ -1,2 +0,0 @@ -Revert GH-15522, which introduces a regression in -:meth:`mimetypes.guess_type` due to improper handling of filenames as urls. diff --git a/Misc/NEWS.d/next/Tests/2019-10-08-16-42-05.bpo-37531.7v-_Ca.rst b/Misc/NEWS.d/next/Tests/2019-10-08-16-42-05.bpo-37531.7v-_Ca.rst deleted file mode 100644 index 78ab636..0000000 --- a/Misc/NEWS.d/next/Tests/2019-10-08-16-42-05.bpo-37531.7v-_Ca.rst +++ /dev/null @@ -1,5 +0,0 @@ -On timeout, regrtest no longer attempts to call ``popen.communicate()`` -again: it can hang until all child processes using stdout and stderr pipes -completes. Kill the worker process and ignores its output. Change also the -faulthandler timeout of the main process from 1 minute to 5 minutes, for Python -slowest buildbots. diff --git a/Misc/NEWS.d/next/Tools-Demos/2019-10-02-09-48-42.bpo-38347.2Tq5D1.rst b/Misc/NEWS.d/next/Tools-Demos/2019-10-02-09-48-42.bpo-38347.2Tq5D1.rst deleted file mode 100644 index ae64a31..0000000 --- a/Misc/NEWS.d/next/Tools-Demos/2019-10-02-09-48-42.bpo-38347.2Tq5D1.rst +++ /dev/null @@ -1 +0,0 @@ -pathfix.py: Assume all files that end on '.py' are Python scripts when working recursively. diff --git a/Misc/NEWS.d/next/Tools-Demos/2019-10-08-15-07-52.bpo-38118.pIZD6H.rst b/Misc/NEWS.d/next/Tools-Demos/2019-10-08-15-07-52.bpo-38118.pIZD6H.rst deleted file mode 100644 index 13adadb..0000000 --- a/Misc/NEWS.d/next/Tools-Demos/2019-10-08-15-07-52.bpo-38118.pIZD6H.rst +++ /dev/null @@ -1,2 +0,0 @@ -Update Valgrind suppression file to ignore a false alarm in -:c:func:`PyUnicode_Decode` when using GCC builtin strcmp(). diff --git a/Misc/NEWS.d/next/Windows/2019-10-02-15-38-49.bpo-38355.n3AWX6.rst b/Misc/NEWS.d/next/Windows/2019-10-02-15-38-49.bpo-38355.n3AWX6.rst deleted file mode 100644 index 56e0f56..0000000 --- a/Misc/NEWS.d/next/Windows/2019-10-02-15-38-49.bpo-38355.n3AWX6.rst +++ /dev/null @@ -1 +0,0 @@ -Fixes ``ntpath.realpath`` failing on ``sys.executable``. diff --git a/Misc/NEWS.d/next/Windows/2019-10-03-08-04-14.bpo-38359.wzwsl_.rst b/Misc/NEWS.d/next/Windows/2019-10-03-08-04-14.bpo-38359.wzwsl_.rst deleted file mode 100644 index ab6f29b..0000000 --- a/Misc/NEWS.d/next/Windows/2019-10-03-08-04-14.bpo-38359.wzwsl_.rst +++ /dev/null @@ -1 +0,0 @@ -Ensures ``pyw.exe`` launcher reads correct registry key. diff --git a/Misc/NEWS.d/next/Windows/2019-10-05-05-50-58.bpo-38344.scr2LO.rst b/Misc/NEWS.d/next/Windows/2019-10-05-05-50-58.bpo-38344.scr2LO.rst deleted file mode 100644 index b5854d1..0000000 --- a/Misc/NEWS.d/next/Windows/2019-10-05-05-50-58.bpo-38344.scr2LO.rst +++ /dev/null @@ -1 +0,0 @@ -Fix error message in activate.bat diff --git a/README.rst b/README.rst index 4bc5214..76d70b3 100644 --- a/README.rst +++ b/README.rst @@ -1,5 +1,5 @@ -This is Python version 3.8.0 release candidate 1 -================================================ +This is Python version 3.8.0 +============================ .. image:: https://travis-ci.org/python/cpython.svg?branch=3.8 :alt: CPython build status on Travis CI -- cgit v0.12