[Python-checkins] bpo-33604: Remove Pending from hmac Deprecation warning. (GH-7062)

Gregory P. Smith webhook-mailer at python.org
Tue May 22 18:55:41 EDT 2018


https://github.com/python/cpython/commit/8bb0b5b03cffa2a2e74f248ef479a9e7fbe95cf4
commit: 8bb0b5b03cffa2a2e74f248ef479a9e7fbe95cf4
branch: master
author: Matthias Bussonnier <bussonniermatthias at gmail.com>
committer: Gregory P. Smith <greg at krypto.org>
date: 2018-05-22T15:55:31-07:00
summary:

bpo-33604: Remove Pending from hmac Deprecation warning. (GH-7062)

bpo-33604: Bump removal notice from 3.6 to 3.8 and change PendingDeprecationWarning to DeprecationWarning as we had intended to do earlier...

files:
A Misc/NEWS.d/next/Documentation/2018-05-22-11-47-14.bpo-33604.5YHTpz.rst
M Doc/library/hmac.rst
M Lib/hmac.py
M Lib/test/test_hmac.py

diff --git a/Doc/library/hmac.rst b/Doc/library/hmac.rst
index fcda86cf7978..731624ba94e3 100644
--- a/Doc/library/hmac.rst
+++ b/Doc/library/hmac.rst
@@ -27,7 +27,7 @@ This module implements the HMAC algorithm as described by :rfc:`2104`.
       Parameter *msg* can be of any type supported by :mod:`hashlib`.
       Parameter *digestmod* can be the name of a hash algorithm.
 
-   .. deprecated:: 3.4
+   .. deprecated-removed:: 3.4 3.8
       MD5 as implicit default digest for *digestmod* is deprecated.
 
 
diff --git a/Lib/hmac.py b/Lib/hmac.py
index 93c084e4ae80..43b721297637 100644
--- a/Lib/hmac.py
+++ b/Lib/hmac.py
@@ -39,8 +39,8 @@ def __init__(self, key, msg = None, digestmod = None):
                    A hashlib constructor returning a new hash object. *OR*
                    A hash name suitable for hashlib.new().
                    Defaults to hashlib.md5.
-                   Implicit default to hashlib.md5 is deprecated and will be
-                   removed in Python 3.6.
+                   Implicit default to hashlib.md5 is deprecated since Python
+                   3.4 and will be removed in Python 3.8.
 
         Note: key and msg must be a bytes or bytearray objects.
         """
@@ -50,7 +50,9 @@ def __init__(self, key, msg = None, digestmod = None):
 
         if digestmod is None:
             _warnings.warn("HMAC() without an explicit digestmod argument "
-                           "is deprecated.", PendingDeprecationWarning, 2)
+                           "is deprecated since Python 3.4, and will be removed "
+                           "in 3.8",
+                           DeprecationWarning, 2)
             digestmod = _hashlib.md5
 
         if callable(digestmod):
diff --git a/Lib/test/test_hmac.py b/Lib/test/test_hmac.py
index 4e4ef0ec0e86..7f4901307630 100644
--- a/Lib/test/test_hmac.py
+++ b/Lib/test/test_hmac.py
@@ -12,7 +12,7 @@ def ignore_warning(func):
     def wrapper(*args, **kwargs):
         with warnings.catch_warnings():
             warnings.filterwarnings("ignore",
-                                    category=PendingDeprecationWarning)
+                                    category=DeprecationWarning)
             return func(*args, **kwargs)
     return wrapper
 
@@ -303,7 +303,7 @@ def digest(self):
                 self.fail('Expected warning about small block_size')
 
     def test_with_digestmod_warning(self):
-        with self.assertWarns(PendingDeprecationWarning):
+        with self.assertWarns(DeprecationWarning):
             key = b"\x0b" * 16
             data = b"Hi There"
             digest = "9294727A3638BB1C13F48EF8158BFC9D"
diff --git a/Misc/NEWS.d/next/Documentation/2018-05-22-11-47-14.bpo-33604.5YHTpz.rst b/Misc/NEWS.d/next/Documentation/2018-05-22-11-47-14.bpo-33604.5YHTpz.rst
new file mode 100644
index 000000000000..3c2f2d0b8230
--- /dev/null
+++ b/Misc/NEWS.d/next/Documentation/2018-05-22-11-47-14.bpo-33604.5YHTpz.rst
@@ -0,0 +1 @@
+Update HMAC md5 default to a DeprecationWarning, bump removal to 3.8.



More information about the Python-checkins mailing list