Update whatsnew based on doc search.
diff --git a/Doc/library/io.rst b/Doc/library/io.rst
index 9e4161a..c839691 100644
--- a/Doc/library/io.rst
+++ b/Doc/library/io.rst
@@ -279,7 +279,7 @@
 
       Return the new absolute position.
 
-      .. versionadded:: 2.7
+      .. versionadded:: 3.1
          The ``SEEK_*`` constants
 
    .. method:: seekable()
diff --git a/Doc/library/multiprocessing.rst b/Doc/library/multiprocessing.rst
index 3dfa2cc..53d8981 100644
--- a/Doc/library/multiprocessing.rst
+++ b/Doc/library/multiprocessing.rst
@@ -841,7 +841,7 @@
    will always return ``True`` except if a timeout is given and the operation
    times out.
 
-   .. versionchanged:: 2.7
+   .. versionchanged:: 3.1
       Previously, the method always returned ``None``.
 
 .. class:: Lock()
diff --git a/Doc/library/sys.rst b/Doc/library/sys.rst
index 29f3313..4928d13 100644
--- a/Doc/library/sys.rst
+++ b/Doc/library/sys.rst
@@ -833,7 +833,7 @@
    so ``sys.version_info[0]`` is equivalent to ``sys.version_info.major``
    and so on.
 
-   .. versionchanged:: 2.7
+   .. versionchanged:: 3.1
       Added named component attributes
 
 .. data:: warnoptions
diff --git a/Doc/library/threading.rst b/Doc/library/threading.rst
index 12cf2e8..2b66461 100644
--- a/Doc/library/threading.rst
+++ b/Doc/library/threading.rst
@@ -687,7 +687,7 @@
    This method returns the internal flag on exit, so it will always return
    ``True`` except if a timeout is given and the operation times out.
 
-   .. versionchanged:: 2.7
+   .. versionchanged:: 3.1
       Previously, the method always returned ``None``.
 
 
diff --git a/Doc/library/unittest.rst b/Doc/library/unittest.rst
index 5034ed4..f5888d8 100644
--- a/Doc/library/unittest.rst
+++ b/Doc/library/unittest.rst
@@ -611,7 +611,7 @@
       Signal a test failure if *expr* is false; the explanation for the error
       will be *msg* if given, otherwise it will be :const:`None`.
 
-      .. deprecated:: 2.7
+      .. deprecated:: 3.1
          :meth:`failUnless`.
 
 
@@ -630,10 +630,10 @@
       registers :meth:`addTypeEqualityFunc` the type specific equality function
       will be called in order to generate a more useful default error message.
 
-      .. versionchanged:: 2.7
+      .. versionchanged:: 3.1
          Added the automatic calling of type specific equality function.
 
-      .. deprecated:: 2.7
+      .. deprecated:: 3.1
          :meth:`failUnlessEqual`.
 
 
@@ -647,7 +647,7 @@
       default value for *msg* can be computed to include representations of both
       *first* and *second*.
 
-      .. deprecated:: 2.7
+      .. deprecated:: 3.1
          :meth:`failIfEqual`.
 
 
@@ -663,7 +663,7 @@
       compare equal, the test will fail with the explanation given by *msg*, or
       :const:`None`.
 
-      .. deprecated:: 2.7
+      .. deprecated:: 3.1
          :meth:`failUnlessAlmostEqual`.
 
 
@@ -679,7 +679,7 @@
       compare equal, the test will fail with the explanation given by *msg*, or
       :const:`None`.
 
-      .. deprecated:: 2.7
+      .. deprecated:: 3.1
          :meth:`failIfAlmostEqual`.
 
 
@@ -695,7 +695,7 @@
          >>> self.assertGreaterEqual(3, 4)
          AssertionError: "3" unexpectedly not greater than or equal to "4"
 
-      .. versionadded:: 2.7
+      .. versionadded:: 3.1
 
 
    .. method:: assertMultiLineEqual(self, first, second, msg=None)
@@ -706,7 +706,7 @@
 
       If specified *msg* will be used as the error message on failure.
 
-      .. versionadded:: 2.7
+      .. versionadded:: 3.1
 
 
    .. method:: assertRegexpMatches(text, regexp[, msg=None]):
@@ -716,7 +716,7 @@
       a regular expression object or a string containing a regular expression
       suitable for use by :func:`re.search`.
 
-      .. versionadded:: 2.7
+      .. versionadded:: 3.1
 
 
    .. method:: assertIn(first, second, msg=None)
@@ -727,7 +727,7 @@
 
       If specified *msg* will be used as the error message on failure.
 
-      .. versionadded:: 2.7
+      .. versionadded:: 3.1
 
 
    .. method:: assertSameElements(expected, actual, msg=None)
@@ -738,7 +738,7 @@
 
       If specified *msg* will be used as the error message on failure.
 
-      .. versionadded:: 2.7
+      .. versionadded:: 3.1
 
 
    .. method:: assertSetEqual(set1, set2, msg=None)
@@ -751,7 +751,7 @@
 
       If specified *msg* will be used as the error message on failure.
 
-      .. versionadded:: 2.7
+      .. versionadded:: 3.1
 
 
    .. method:: assertDictEqual(expected, actual, msg=None)
@@ -761,7 +761,7 @@
 
       If specified *msg* will be used as the error message on failure.
 
-      .. versionadded:: 2.7
+      .. versionadded:: 3.1
 
 
    .. method:: assertDictContainsSubset(expected, actual, msg=None)
@@ -772,7 +772,7 @@
 
       If specified *msg* will be used as the error message on failure.
 
-      .. versionadded:: 2.7
+      .. versionadded:: 3.1
 
 
    .. method:: assertListEqual(list1, list2, msg=None)
@@ -784,7 +784,7 @@
 
       If specified *msg* will be used as the error message on failure.
 
-      .. versionadded:: 2.7
+      .. versionadded:: 3.1
 
 
    .. method:: assertSequenceEqual(seq1, seq2, msg=None, seq_type=None)
@@ -799,7 +799,7 @@
       This method is used to implement :meth:`assertListEqual` and
       :meth:`assertTupleEqual`.
 
-      .. versionadded:: 2.7
+      .. versionadded:: 3.1
 
 
    .. method:: assertRaises(exception[, callable, ...])
@@ -821,7 +821,7 @@
       .. versionchanged:: 3.1
          Added the ability to use :meth:`assertRaises` as a context manager.
 
-      .. deprecated:: 2.7
+      .. deprecated:: 3.1
          :meth:`failUnlessRaises`.
 
 
@@ -840,14 +840,14 @@
          with self.assertRaisesRegexp(ValueError, 'literal'):
             int('XYZ')
 
-      .. versionadded:: 2.7
+      .. versionadded:: 3.1
 
 
    .. method:: assertIsNone(expr[, msg])
 
       This signals a test failure if *expr* is not None.
 
-      .. versionadded:: 2.7
+      .. versionadded:: 3.1
 
 
    .. method:: assertIsNotNone(expr[, msg])
@@ -855,7 +855,7 @@
       The inverse of the :meth:`assertIsNone` method.
       This signals a test failure if *expr* is None.
 
-      .. versionadded:: 2.7
+      .. versionadded:: 3.1
 
 
    .. method:: assertFalse(expr[, msg])
@@ -865,7 +865,7 @@
       This signals a test failure if *expr* is true, with *msg* or :const:`None`
       for the error message.
 
-      .. deprecated:: 2.7
+      .. deprecated:: 3.1
          :meth:`failIf`.
 
 
@@ -899,7 +899,7 @@
       The class setting can be overridden in individual tests by assigning an
       instance attribute to True or False before calling the assert methods.
 
-      .. versionadded:: 2.7
+      .. versionadded:: 3.1
 
 
    Testing frameworks can use the following methods to collect information on
@@ -936,7 +936,7 @@
       returns the first line of the test method's docstring, if available,
       along with the method name.
 
-      .. versionchanged:: 2.7
+      .. versionchanged:: 3.1
 
          In earlier versions this only returned the first line of the test
          method's docstring, if available or the :const:`None`.  That led to
@@ -958,7 +958,7 @@
       is to raise self.failureException with an error message useful
       for debugging the by explaining the inequalities in detail.
 
-      .. versionadded:: 2.7
+      .. versionadded:: 3.1
 
 
 .. class:: FunctionTestCase(testFunc[, setUp[, tearDown[, description]]])