urllib3 v1.8 Release Notes
Release Date: 2014-03-04 // about 10 years ago-
๐ Improved url parsing in
urllib3.util.parse_url
(properly parse '@' in username, and blank ports like 'hostname:').๐ New
urllib3.connection
module which contains all the HTTPConnection objects.๐ Several
urllib3.util.Timeout
-related fixes. Also changed constructor signature to a more sensible order. [Backwards incompatible] (Issues #252, #262, #263)Use
backports.ssl_match_hostname
if it's installed. (Issue #274)โ Added
.tell()
method tourllib3.response.HTTPResponse
which returns the number of bytes read so far. (Issue #277)๐ Support for platforms without threading. (Issue #289)
Expand default-port comparison in
HTTPConnectionPool.is_same_host
to allow a pool with no specified port to be considered equal to to an HTTP/HTTPS url with port 80/443 explicitly provided. (Issue #305)๐ Improved default SSL/TLS settings to avoid vulnerabilities. (Issue #309)
๐ Fixed
urllib3.poolmanager.ProxyManager
not retrying on connect errors. (Issue #310)Disable Nagle's Algorithm on the socket for non-proxies. A subset of requests will send the entire HTTP request ~200 milliseconds faster; however, some of the resulting TCP packets will be smaller. (Issue #254)
Increased maximum number of SubjectAltNames in
urllib3.contrib.pyopenssl
from the default 64 to 1024 in a single certificate. (Issue #318)Headers are now passed and stored as a custom
urllib3.collections_.HTTPHeaderDict
object rather than a plaindict
. (Issue #329, #333)Headers no longer lose their case on Python 3. (Issue #236)
0๏ธโฃ
urllib3.contrib.pyopenssl
now uses the operating system's default CA certificates on inject. (Issue #332)Requests with
retries=False
will immediately raise any exceptions without wrapping them inMaxRetryError
. (Issue #348)๐ Fixed open socket leak with SSL-related failures. (Issue #344, #348)