[3.8] bpo-26510: Add versionchanged for required arg of add_subparsers (GH-16588)
diff --git a/Doc/library/argparse.rst b/Doc/library/argparse.rst
index 56bd64172f8012..ee00559485c1da 100644
--- a/Doc/library/argparse.rst
+++ b/Doc/library/argparse.rst
@@ -1595,7 +1595,7 @@ Sub-commands
      stored; by default ``None`` and no value is stored
 
    * required_ - Whether or not a subcommand must be provided, by default
-     ``False``.
+     ``False`` (added in 3.7)
 
    * help_ - help for sub-parser group in help output, by default ``None``
 
@@ -1751,6 +1751,9 @@ Sub-commands
      >>> parser.parse_args(['2', 'frobble'])
      Namespace(subparser_name='2', y='frobble')
 
+   .. versionchanged:: 3.7
+      New *required* keyword argument.
+
 
 FileType objects
 ^^^^^^^^^^^^^^^^
diff --git a/Doc/whatsnew/3.7.rst b/Doc/whatsnew/3.7.rst
index af7e22d9faa9e4..1ec8e0c04c76ba 100644
--- a/Doc/whatsnew/3.7.rst
+++ b/Doc/whatsnew/3.7.rst
@@ -2401,6 +2401,10 @@ Changes in the Python API
   instead of a :class:`bytes` instance.
   (Contributed by Victor Stinner in :issue:`21071`.)
 
+* :mod:`argparse` subparsers can now be made mandatory by passing ``required=True``
+  to :meth:`ArgumentParser.add_subparsers() <argparse.ArgumentParser.add_subparsers>`.
+  (Contributed by Anthony Sottile in :issue:`26510`.)
+
 * :meth:`ast.literal_eval()` is now stricter.  Addition and subtraction of
   arbitrary numbers are no longer allowed.
   (Contributed by Serhiy Storchaka in :issue:`31778`.)

The `required` argument to `argparse.add_subparsers` was added in GH-3027. This PR specifies the earliest version of Python where it is available.


https://bugs.python.org/issue26510



Automerge-Triggered-By: @merwok
(cherry picked from commit 9e71917e0290972f65711f75510078f799cf0b59)


Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>

<!-- issue-number: [bpo-26510](https://bugs.python.org/issue26510) -->
https://bugs.python.org/issue26510
<!-- /issue-number -->


Automerge-Triggered-By: @merwok