From e19c2b979fab3483dc6c04774053dbbe83e769fb Mon Sep 17 00:00:00 2001
From: "C.A.M. Gerlach" <CAM.Gerlach@Gerlach.CAM>
Date: Mon, 24 Oct 2022 08:35:28 -0500
Subject: [PATCH] gh-95913: Fix, sort & expand pending removal sect in 3.11
 WhatsNew (GH-98583)

* Fix names/references of pending removal APIs

* Sort list of APIs pending removal alphabetically

* Add missing modules/submodules pending removal in 3.12

* Add table of unittest deprecated aliases to 3.11 What's New

Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
Co-authored-by: Petr Viktorin <encukou@gmail.com>
---
 Doc/whatsnew/3.11.rst | 63 +++++++++++++++++++++++++++++--------------
 1 file changed, 43 insertions(+), 20 deletions(-)

diff --git a/Doc/whatsnew/3.11.rst b/Doc/whatsnew/3.11.rst
index d9528c62e67..d91307abf14 100644
--- a/Doc/whatsnew/3.11.rst
+++ b/Doc/whatsnew/3.11.rst
@@ -1777,33 +1777,56 @@ and will be removed in Python 3.12.
 C APIs pending removal are
 :ref:`listed separately <whatsnew311-c-api-pending-removal>`.
 
-* :class:`pkgutil.ImpImporter`
-* :class:`pkgutil.ImpLoader`
-* :envvar:`PYTHONTHREADDEBUG`
+* The :mod:`asynchat` module
+* The :mod:`asyncore` module
+* The :ref:`entire distutils package <distutils-deprecated>`
+* The :mod:`imp` module
+* The :class:`typing.io <typing.IO>` namespace
+* The :class:`typing.re <typing.Pattern>` namespace
+* :func:`!cgi.log`
 * :func:`importlib.find_loader`
-* :func:`importlib.util.module_for_loader`
-* :func:`importlib.util.set_loader_wrapper`
-* :func:`importlib.util.set_package_wrapper`
 * :meth:`importlib.abc.Loader.module_repr`
-* :meth:`importlib.abc.Loadermodule_repr`
-* :meth:`importlib.abc.MetaPathFinder.find_module`
 * :meth:`importlib.abc.MetaPathFinder.find_module`
 * :meth:`importlib.abc.PathEntryFinder.find_loader`
 * :meth:`importlib.abc.PathEntryFinder.find_module`
-* :meth:`importlib.machinery.BuiltinImporter.find_module`
-* :meth:`importlib.machinery.BuiltinLoader.module_repr`
-* :meth:`importlib.machinery.FileFinder.find_loader`
-* :meth:`importlib.machinery.FileFinder.find_module`
-* :meth:`importlib.machinery.FrozenImporter.find_module`
-* :meth:`importlib.machinery.FrozenLoader.module_repr`
+* :meth:`!importlib.machinery.BuiltinImporter.find_module`
+* :meth:`!importlib.machinery.BuiltinLoader.module_repr`
+* :meth:`!importlib.machinery.FileFinder.find_loader`
+* :meth:`!importlib.machinery.FileFinder.find_module`
+* :meth:`!importlib.machinery.FrozenImporter.find_module`
+* :meth:`!importlib.machinery.FrozenLoader.module_repr`
 * :meth:`importlib.machinery.PathFinder.find_module`
-* :meth:`importlib.machinery.WindowsRegistryFinder.find_module`
+* :meth:`!importlib.machinery.WindowsRegistryFinder.find_module`
+* :func:`importlib.util.module_for_loader`
+* :func:`!importlib.util.set_loader_wrapper`
+* :func:`!importlib.util.set_package_wrapper`
+* :class:`pkgutil.ImpImporter`
+* :class:`pkgutil.ImpLoader`
 * :meth:`pathlib.Path.link_to`
-* The entire :ref:`distutils namespace <distutils-deprecated>`
-* :func:`cgi.log`
-* :func:`sqlite3.OptimizedUnicode`
-* :func:`sqlite3.enable_shared_cache`
-
+* :func:`!sqlite3.enable_shared_cache`
+* :func:`!sqlite3.OptimizedUnicode`
+* :envvar:`PYTHONTHREADDEBUG` environment variable
+* The following deprecated aliases in :mod:`unittest`:
+
+    ============================ =============================== ===============
+       Deprecated alias           Method Name                     Deprecated in
+    ============================ =============================== ===============
+     ``failUnless``               :meth:`.assertTrue`             3.1
+     ``failIf``                   :meth:`.assertFalse`            3.1
+     ``failUnlessEqual``          :meth:`.assertEqual`            3.1
+     ``failIfEqual``              :meth:`.assertNotEqual`         3.1
+     ``failUnlessAlmostEqual``    :meth:`.assertAlmostEqual`      3.1
+     ``failIfAlmostEqual``        :meth:`.assertNotAlmostEqual`   3.1
+     ``failUnlessRaises``         :meth:`.assertRaises`           3.1
+     ``assert_``                  :meth:`.assertTrue`             3.2
+     ``assertEquals``             :meth:`.assertEqual`            3.2
+     ``assertNotEquals``          :meth:`.assertNotEqual`         3.2
+     ``assertAlmostEquals``       :meth:`.assertAlmostEqual`      3.2
+     ``assertNotAlmostEquals``    :meth:`.assertNotAlmostEqual`   3.2
+     ``assertRegexpMatches``      :meth:`.assertRegex`            3.2
+     ``assertRaisesRegexp``       :meth:`.assertRaisesRegex`      3.2
+     ``assertNotRegexpMatches``   :meth:`.assertNotRegex`         3.5
+    ============================ =============================== ===============
 
 .. _whatsnew311-removed:
 .. _whatsnew311-python-api-removed:
-- 
GitLab