[Python-checkins] bpo-39351: Remove base64.encodestring() (GH-18022)

Victor Stinner webhook-mailer at python.org
Thu Jan 16 04:24:21 EST 2020


https://github.com/python/cpython/commit/210c19e3c5b86535a73487fa737752de8eb1d866
commit: 210c19e3c5b86535a73487fa737752de8eb1d866
branch: master
author: Victor Stinner <vstinner at python.org>
committer: GitHub <noreply at github.com>
date: 2020-01-16T10:24:16+01:00
summary:

bpo-39351: Remove base64.encodestring() (GH-18022)

Remove base64.encodestring() and base64.decodestring(), aliases
deprecated since Python 3.1: use base64.encodebytes() and
base64.decodebytes() instead.

files:
A Misc/NEWS.d/next/Library/2020-01-16-09-27-28.bpo-39351.a-FQdv.rst
M Doc/library/base64.rst
M Doc/whatsnew/3.9.rst
M Lib/base64.py
M Lib/test/test_base64.py

diff --git a/Doc/library/base64.rst b/Doc/library/base64.rst
index ad9f5f58bee2a..1ff22a00d6199 100644
--- a/Doc/library/base64.rst
+++ b/Doc/library/base64.rst
@@ -235,12 +235,6 @@ The legacy interface:
 
    .. versionadded:: 3.1
 
-.. function:: decodestring(s)
-
-   Deprecated alias of :func:`decodebytes`.
-
-   .. deprecated:: 3.1
-
 
 .. function:: encode(input, output)
 
@@ -261,12 +255,6 @@ The legacy interface:
 
    .. versionadded:: 3.1
 
-.. function:: encodestring(s)
-
-   Deprecated alias of :func:`encodebytes`.
-
-   .. deprecated:: 3.1
-
 
 An example usage of the module:
 
diff --git a/Doc/whatsnew/3.9.rst b/Doc/whatsnew/3.9.rst
index 451902ab1dbd5..47e8a37e56c32 100644
--- a/Doc/whatsnew/3.9.rst
+++ b/Doc/whatsnew/3.9.rst
@@ -411,6 +411,11 @@ Removed
   of :pep:`442`. Patch by Joannah Nanjekye.
   (Contributed by Joannah Nanjekye in :issue:`15088`)
 
+* ``base64.encodestring()`` and ``base64.decodestring()``, aliases deprecated
+  since Python 3.1, have been removed: use :func:`base64.encodebytes` and
+  :func:`base64.decodebytes` instead.
+  (Contributed by Victor Stinner in :issue:`39351`.)
+
 
 Porting to Python 3.9
 =====================
diff --git a/Lib/base64.py b/Lib/base64.py
index 2e70223dfe782..a28109f8a7f9c 100755
--- a/Lib/base64.py
+++ b/Lib/base64.py
@@ -531,28 +531,12 @@ def encodebytes(s):
         pieces.append(binascii.b2a_base64(chunk))
     return b"".join(pieces)
 
-def encodestring(s):
-    """Legacy alias of encodebytes()."""
-    import warnings
-    warnings.warn("encodestring() is a deprecated alias since 3.1, "
-                  "use encodebytes()",
-                  DeprecationWarning, 2)
-    return encodebytes(s)
-
 
 def decodebytes(s):
     """Decode a bytestring of base-64 data into a bytes object."""
     _input_type_check(s)
     return binascii.a2b_base64(s)
 
-def decodestring(s):
-    """Legacy alias of decodebytes()."""
-    import warnings
-    warnings.warn("decodestring() is a deprecated alias since Python 3.1, "
-                  "use decodebytes()",
-                  DeprecationWarning, 2)
-    return decodebytes(s)
-
 
 # Usable as a script...
 def main():
diff --git a/Lib/test/test_base64.py b/Lib/test/test_base64.py
index 7dba6635d4eae..1dbeac41dc0dd 100644
--- a/Lib/test/test_base64.py
+++ b/Lib/test/test_base64.py
@@ -18,14 +18,6 @@ def check_type_errors(self, f):
         int_data = memoryview(b"1234").cast('I')
         self.assertRaises(TypeError, f, int_data)
 
-    def test_encodestring_warns(self):
-        with self.assertWarns(DeprecationWarning):
-            base64.encodestring(b"www.python.org")
-
-    def test_decodestring_warns(self):
-        with self.assertWarns(DeprecationWarning):
-            base64.decodestring(b"d3d3LnB5dGhvbi5vcmc=\n")
-
     def test_encodebytes(self):
         eq = self.assertEqual
         eq(base64.encodebytes(b"www.python.org"), b"d3d3LnB5dGhvbi5vcmc=\n")
diff --git a/Misc/NEWS.d/next/Library/2020-01-16-09-27-28.bpo-39351.a-FQdv.rst b/Misc/NEWS.d/next/Library/2020-01-16-09-27-28.bpo-39351.a-FQdv.rst
new file mode 100644
index 0000000000000..b89bec97bfa4f
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/2020-01-16-09-27-28.bpo-39351.a-FQdv.rst
@@ -0,0 +1,3 @@
+Remove ``base64.encodestring()`` and ``base64.decodestring()``, aliases
+deprecated since Python 3.1: use :func:`base64.encodebytes` and
+:func:`base64.decodebytes` instead.



More information about the Python-checkins mailing list