diff --git a/Doc/library/hmac.rst b/Doc/library/hmac.rst
index fcda86c..731624b 100644
--- a/Doc/library/hmac.rst
+++ b/Doc/library/hmac.rst
@@ -27,7 +27,7 @@
       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 93c084e..43b7212 100644
--- a/Lib/hmac.py
+++ b/Lib/hmac.py
@@ -39,8 +39,8 @@
                    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 @@
 
         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 4e4ef0e..7f49013 100644
--- a/Lib/test/test_hmac.py
+++ b/Lib/test/test_hmac.py
@@ -12,7 +12,7 @@
     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 @@
                 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 0000000..3c2f2d0
--- /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.
