Repository navigation
ssl and hashlib: Remove functions deprecated in Python 3.10 #94199
Description
Activity
- addedtype-bugAn unexpected behavior, bug, or errorAn unexpected behavior, bug, or error
on Jun 24, 2022 - added a commit that references this issue
on Jun 24, 2022 - ssl.RAND_pseudo_bytes: gh-94199: Remove ssl.RAND_pseudo_bytes() function #94202
- ssl.match_hostname: gh-94199: Remove ssl.match_hostname() function #94224
- ssl.wrap_socket: gh-94199: Remove the ssl.wrap_socket() function #94203
- hashlib.pbkdf2_hmac: gh-94199: Remove hashlib.pbkdf2_hmac() Python implementation #94200
What's New in Python 3.10 lists many deprecated ssl functions and announces: "will be removed in 3.11" (Python 3.11).
But in the meanwhile, PEP 387 was updated to require a feature to be deprecated for 2 Python releases (Python 3.10 and 3.11), not only a single Python release. Some functions were deprecated way before Python 3.10 (emit a DeprecationWarning).
- added a commit that references this issue
on Jun 25, 2022 - added a commit that references this issue
on Jun 26, 2022 I have created ticket #94598 to track removal of SSL 3.0, TLS 1.0, and TLS 1.1 related features.
I have created ticket #94598 to track removal of SSL 3.0, TLS 1.0, and TLS 1.1 related features.
Thank you for that!
- added a commit that references this issue
on Jul 8, 2022 Please note that
ssl.wrap_socketis still documented on https://docs.python.org/3.12/library/ssl.html#ssl.wrap_socket despite it was removed.Please note that ssl.wrap_socket is still documented on https://docs.python.org/3.12/library/ssl.html#ssl.wrap_socket despite it was removed.
Oops, right. I propose PR #99023 to update the doc.
- added a commit that references this issue
on Nov 3, 2022 - added a commit that references this issue
on Jun 21, 2023 - added 3 commits that reference this issue
on Mar 12, 2024
The commit 2875c60 deprecated many ssl and hashlib functions in Python 3.10:
They emit a DeprecationWarning in Python 3.10 and 3.11. According to PEP 387, they can now be removed in Python 3.12.
I'm not sure that we should actively remove all of these deprecated features, it should be decided on a case by case basis. Backward compatibility is even more complex when it's about security and old security protocols like SSL and old TLS versions.