[Python-checkins] bpo-41137: Reorganize What's New in Python 3.11 (GH-28518)

vstinner webhook-mailer at python.org
Thu Sep 23 05:38:03 EDT 2021


https://github.com/python/cpython/commit/ec7ffa4b5b262369f726a54e145e9c03eaeb4c1a
commit: ec7ffa4b5b262369f726a54e145e9c03eaeb4c1a
branch: main
author: Victor Stinner <vstinner at python.org>
committer: vstinner <vstinner at python.org>
date: 2021-09-23T11:37:39+02:00
summary:

bpo-41137: Reorganize What's New in Python 3.11 (GH-28518)

* Merge the two Removed sections.
* Move "Build Changes" at the end, before "C API Changes".
* Move the pdb change in Porting to Python 3.11.
* Move C API new features in their section.

files:
M Doc/whatsnew/3.11.rst

diff --git a/Doc/whatsnew/3.11.rst b/Doc/whatsnew/3.11.rst
index 12e46c3edcde2..7e041f21c7cb4 100644
--- a/Doc/whatsnew/3.11.rst
+++ b/Doc/whatsnew/3.11.rst
@@ -250,6 +250,68 @@ unicodedata
 * The Unicode database has been updated to version 14.0.0. (:issue:`45190`).
 
 
+Optimizations
+=============
+
+* Compiler now optimizes simple C-style formatting with literal format
+  containing only format codes ``%s``, ``%r`` and ``%a`` and makes it as
+  fast as corresponding f-string expression.
+  (Contributed by Serhiy Storchaka in :issue:`28307`.)
+
+* "Zero-cost" exceptions are implemented. The cost of ``try`` statements is
+  almost eliminated when no exception is raised.
+  (Contributed by Mark Shannon in :issue:`40222`.)
+
+* Method calls with keywords are now faster due to bytecode
+  changes which avoid creating bound method instances. Previously, this
+  optimization was applied only to method calls with purely positional
+  arguments.
+  (Contributed by Ken Jin and Mark Shannon in :issue:`26110`, based on ideas
+  implemented in PyPy.)
+
+* Pure ASCII strings are now normalized in constant time by :func:`unicodedata.normalize`.
+  (Contributed by Dong-hee Na in :issue:`44987`.)
+
+
+CPython bytecode changes
+========================
+
+* Added a new :opcode:`CALL_METHOD_KW` opcode.  Calls a method in a similar
+  fashion as :opcode:`CALL_METHOD`, but also supports keyword arguments.  Works
+  in tandem with :opcode:`LOAD_METHOD`.
+
+
+Deprecated
+==========
+
+* The :mod:`lib2to3` package is now deprecated and may not be able to parse
+  Python 3.10 or newer. See the :pep:`617` (New PEG parser for CPython).
+  (Contributed by Victor Stinner in :issue:`40360`.)
+
+* :class:`webbrowser.MacOSX` is deprecated and will be removed in Python 3.13.
+  It is untested and undocumented and also not used by webbrowser itself.
+  (Contributed by Dong-hee Na in :issue:`42255`.)
+
+* The behavior of returning a value from a :class:`~unittest.TestCase` and
+  :class:`~unittest.IsolatedAsyncioTestCase` test methods (other than the
+  default ``None`` value), is now deprecated.
+
+* Deprecated the following :mod:`unittest` functions, scheduled for removal in
+  Python 3.13:
+
+  * :func:`unittest.findTestCases`
+  * :func:`unittest.makeSuite`
+  * :func:`unittest.getTestCaseNames`
+
+  Use :class:`~unittest.TestLoader` method instead:
+
+  * :meth:`unittest.TestLoader.loadTestsFromModule`
+  * :meth:`unittest.TestLoader.loadTestsFromTestCase`
+  * :meth:`unittest.TestLoader.getTestCaseNames`
+
+  (Contributed by Erlend E. Aasland in :issue:`5846`.)
+
+
 Removed
 =======
 
@@ -323,81 +385,6 @@ Removed
   deprecated since Python 3.2.
   (Contributed by Hugo van Kemenade in :issue:`45173`.)
 
-
-Optimizations
-=============
-
-* Compiler now optimizes simple C-style formatting with literal format
-  containing only format codes ``%s``, ``%r`` and ``%a`` and makes it as
-  fast as corresponding f-string expression.
-  (Contributed by Serhiy Storchaka in :issue:`28307`.)
-
-* "Zero-cost" exceptions are implemented. The cost of ``try`` statements is
-  almost eliminated when no exception is raised.
-  (Contributed by Mark Shannon in :issue:`40222`.)
-
-* Method calls with keywords are now faster due to bytecode
-  changes which avoid creating bound method instances. Previously, this
-  optimization was applied only to method calls with purely positional
-  arguments.
-  (Contributed by Ken Jin and Mark Shannon in :issue:`26110`, based on ideas
-  implemented in PyPy.)
-
-* :file:`.pdbrc` is now read with ``'utf-8'`` encoding.
-
-* Pure ASCII strings are now normalized in constant time by :func:`unicodedata.normalize`.
-  (Contributed by Dong-hee Na in :issue:`44987`.)
-
-
-CPython bytecode changes
-========================
-
-* Added a new :opcode:`CALL_METHOD_KW` opcode.  Calls a method in a similar
-  fashion as :opcode:`CALL_METHOD`, but also supports keyword arguments.  Works
-  in tandem with :opcode:`LOAD_METHOD`.
-
-
-Build Changes
-=============
-
-* CPython can now be built with the ThinLTO option via ``--with-lto=thin``.
-  (Contributed by Dong-hee Na and Brett Holman in :issue:`44340`.)
-
-
-Deprecated
-==========
-
-* The :mod:`lib2to3` package is now deprecated and may not be able to parse
-  Python 3.10 or newer. See the :pep:`617` (New PEG parser for CPython).
-  (Contributed by Victor Stinner in :issue:`40360`.)
-
-* :class:`webbrowser.MacOSX` is deprecated and will be removed in Python 3.13.
-  It is untested and undocumented and also not used by webbrowser itself.
-  (Contributed by Dong-hee Na in :issue:`42255`.)
-
-* The behavior of returning a value from a :class:`~unittest.TestCase` and
-  :class:`~unittest.IsolatedAsyncioTestCase` test methods (other than the
-  default ``None`` value), is now deprecated.
-
-* Deprecated the following :mod:`unittest` functions, scheduled for removal in
-  Python 3.13:
-
-  * :func:`unittest.findTestCases`
-  * :func:`unittest.makeSuite`
-  * :func:`unittest.getTestCaseNames`
-
-  Use :class:`~unittest.TestLoader` method instead:
-
-  * :meth:`unittest.TestLoader.loadTestsFromModule`
-  * :meth:`unittest.TestLoader.loadTestsFromTestCase`
-  * :meth:`unittest.TestLoader.getTestCaseNames`
-
-  (Contributed by Erlend E. Aasland in :issue:`5846`.)
-
-
-Removed
-=======
-
 * The :func:`@asyncio.coroutine <asyncio.coroutine>` :term:`decorator` enabling
   legacy generator-based coroutines to be compatible with async/await code.
   The function has been deprecated since Python 3.8 and the removal was
@@ -435,18 +422,30 @@ Changes in the Python API
   how universal newlines works.
   (Contributed by Victor Stinner in :issue:`37330`.)
 
+* The :mod:`pdb` module now reads the :file:`.pdbrc` configuration file with
+  the ``'utf-8'`` encoding.
+  (Contributed by Srinivas Reddy Thatiparthy (శ్రీనివాస్  రెడ్డి తాటిపర్తి) in :issue:`41137`.)
+
+
+Build Changes
+=============
+
+* CPython can now be built with the ThinLTO option via ``--with-lto=thin``.
+  (Contributed by Dong-hee Na and Brett Holman in :issue:`44340`.)
+
 
 C API Changes
 =============
+
+New Features
+------------
+
 * Add a new :c:func:`PyType_GetName` function to get type's short name.
   (Contributed by Hai Shi in :issue:`42035`.)
 
 * Add a new :c:func:`PyType_GetQualName` function to get type's qualified name.
   (Contributed by Hai Shi in :issue:`42035`.)
 
-New Features
-------------
-
 Porting to Python 3.11
 ----------------------
 



More information about the Python-checkins mailing list