In Python 3.6, the keyfile, certfile and check_hostname parameters were deprecated in ftplib, http.client, imaplib, poplib, and smtplib modules. IMO it's now time to remove them in favor of the context parameters. Most Python projects now require Python 3.6 and newer (if not Python 3.7 or Python 3.8). And it's easy to support older Python versions with some if/else code.
Activity
vstinner commented on Jun 23, 2022
See the old issue #72209 which introduced the deprecation for the rationale of removing these parameters.
gh-94172: urllib.request avoids deprecated check_hostname (#94193)
Revert 30935 defer bpo45162 to 312 (#94285)
gh-94172: urllib.request avoids deprecated key_file/cert_file (#94232)
vstinner commented on Jun 26, 2022
I made two changes to prepare the main one:
romaricnzoyem commented on Jun 26, 2022
gh-94172: Remove ssl.PROTOCOL_SSLv2 dead code (#94312)
pythongh-94172: Remove ssl.PROTOCOL_SSLv2 dead code (python#94312)
vstinner commented on Nov 3, 2022
This issue is part of the larger issue #94199 "ssl and hashlib: Remove functions deprecated in Python 3.10".
gh-94172: Remove keyfile, certfile and check_hostname parameters (#94173
vstinner commented on Nov 3, 2022
Fixed by ef0e72b
gh-94172: Update docs for params removed in 3.12 (#100431)
pythongh-94172: Update keyfile removal documentation
gh-94172: Update keyfile removal documentation (#105392)
pythongh-94172: Update keyfile removal documentation (pythonGH-105392)
[3.12] gh-94172: Update keyfile removal documentation (GH-105392) (#1…
gh-94172: delete mention of ssl_version from ftplib doc (#143515)
pythongh-94172: delete mention of ssl_version from ftplib doc (python…