Issue #10280: NNTP.nntp_version should reflect the highest version
advertised by the server.
diff --git a/Lib/nntplib.py b/Lib/nntplib.py
index 409342c..b067d6b 100644
--- a/Lib/nntplib.py
+++ b/Lib/nntplib.py
@@ -361,7 +361,9 @@
         else:
             self._caps = caps
             if 'VERSION' in caps:
-                self.nntp_version = int(caps['VERSION'][0])
+                # The server can advertise several supported versions,
+                # choose the highest.
+                self.nntp_version = max(map(int, caps['VERSION']))
 
     def getwelcome(self):
         """Get the welcome message from the server
diff --git a/Lib/test/test_nntplib.py b/Lib/test/test_nntplib.py
index dd100ef..e62b240 100644
--- a/Lib/test/test_nntplib.py
+++ b/Lib/test/test_nntplib.py
@@ -558,7 +558,7 @@
     def handle_CAPABILITIES(self):
         self.push_lit("""\
             101 Capability list:
-            VERSION 2
+            VERSION 2 3
             IMPLEMENTATION INN 2.5.1
             AUTHINFO USER
             HDR
@@ -935,7 +935,7 @@
     def test_caps(self):
         caps = self.server.getcapabilities()
         self.assertEqual(caps, {
-            'VERSION': ['2'],
+            'VERSION': ['2', '3'],
             'IMPLEMENTATION': ['INN', '2.5.1'],
             'AUTHINFO': ['USER'],
             'HDR': [],
@@ -945,7 +945,7 @@
             'POST': [],
             'READER': [],
             })
-        self.assertEqual(self.server.nntp_version, 2)
+        self.assertEqual(self.server.nntp_version, 3)
 
 
 class MiscTests(unittest.TestCase):