diff --git a/Doc/whatsnew/3.8.rst b/Doc/whatsnew/3.8.rst index 8108fb7e14704a..d80005fda3673f 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 a441413074f4aa..d685a85709e82b 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 7cb089f7571813..327a421bbb6bc9 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 00000000000000..b7e681f8333bd5 --- /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 4bc30600ca7585..00000000000000 --- 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 82dcb525dd49d3..00000000000000 --- 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 328a1b70825afa..00000000000000 --- 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 0bde8c868c9ec0..00000000000000 --- 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 5aaa3c92646a10..00000000000000 --- 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 6f9561539d8d39..00000000000000 --- 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 dd1a6b080b6271..00000000000000 --- 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 600c702cf3bbd5..00000000000000 --- 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 ee346a30ec4165..00000000000000 --- 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 3f4484dc644fab..00000000000000 --- 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 c2f860d804c13a..00000000000000 --- 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 f7b1dbf8d89516..00000000000000 --- 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 78ab636516514c..00000000000000 --- 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 ae64a319b57560..00000000000000 --- 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 13adadb0b8f7a6..00000000000000 --- 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 56e0f56505522e..00000000000000 --- 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 ab6f29baf53581..00000000000000 --- 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 b5854d1ecb0d31..00000000000000 --- 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 4bc52144803473..76d70b3e2d6d13 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