Changelog History
Page 6
-
v1.10.1 Changes
February 10, 2015Pools can be used as context managers. (Issue #545)
Don't re-use connections which experienced an SSLError. (Issue #529)
Don't fail when gzip decoding an empty stream. (Issue #535)
โ Add sha256 support for fingerprint verification. (Issue #540)
๐ Fixed handling of header values containing commas. (Issue #533)
-
v1.10 Changes
December 14, 2014Disabled SSLv3. (Issue #473)
โ Add
Url.url
property to return the composed url string. (Issue #394)๐ Fixed PyOpenSSL + gevent
WantWriteError
. (Issue #412)๐ป
MaxRetryError.reason
will always be an exception, not string. (Issue #481)๐ Fixed SSL-related timeouts not being detected as timeouts. (Issue #492)
0๏ธโฃ Py3: Use
ssl.create_default_context()
when available. (Issue #473)Emit
InsecureRequestWarning
for every insecure HTTPS request. (Issue #496)โ Emit
SecurityWarning
when certificate has nosubjectAltName
. (Issue #499)Close and discard sockets which experienced SSL-related errors. (Issue #501)
๐ Handle
body
param in.request(...)
. (Issue #513)โฑ Respect timeout with HTTPS proxy. (Issue #505)
๐ป PyOpenSSL: Handle ZeroReturnError exception. (Issue #520)
-
v1.9.1 Changes
September 13, 2014Apply socket arguments before binding. (Issue #427)
More careful checks if fp-like object is closed. (Issue #435)
๐ Fixed packaging issues of some development-related files not getting included. (Issue #440)
Allow performing only fingerprint verification. (Issue #444)
โ Emit
SecurityWarning
if system clock is waaay off. (Issue #445)๐ Fixed PyOpenSSL compatibility with PyPy. (Issue #450)
๐ Fixed
BrokenPipeError
andConnectionError
handling in Py3. (Issue #443)
-
v1.9 Changes
July 04, 2014Shuffled around development-related files. If you're maintaining a distro package of urllib3, you may need to tweak things. (Issue #415)
๐ Unverified HTTPS requests will trigger a warning on the first request. See our new
security documentation <https://urllib3.readthedocs.io/en/latest/security.html>
_ for details. (Issue #426)๐ New retry logic and
urllib3.util.retry.Retry
configuration object. (Issue #326)All raised exceptions should now wrapped in a
urllib3.exceptions.HTTPException
-extending exception. (Issue #326)All errors during a retry-enabled request should be wrapped in
urllib3.exceptions.MaxRetryError
, including timeout-related exceptions which were previously exempt. Underlying error is accessible from the.reason
property. (Issue #326)urllib3.exceptions.ConnectionError
renamed tourllib3.exceptions.ProtocolError
. (Issue #326)Errors during response read (such as IncompleteRead) are now wrapped in
urllib3.exceptions.ProtocolError
. (Issue #418)Requesting an empty host will raise
urllib3.exceptions.LocationValueError
. (Issue #417)Catch read timeouts over SSL connections as
urllib3.exceptions.ReadTimeoutError
. (Issue #419)Apply socket arguments before connecting. (Issue #427)
-
v1.8.3 Changes
June 23, 2014๐ Fix TLS verification when using a proxy in Python 3.4.1. (Issue #385)
Add
disable_cache
option tourllib3.util.make_headers
. (Issue #393)๐ป Wrap
socket.timeout
exception withurllib3.exceptions.ReadTimeoutError
. (Issue #399)๐ Fixed proxy-related bug where connections were being reused incorrectly. (Issues #366, #369)
โ Added
socket_options
keyword parameter which allows to definesetsockopt
configuration of new sockets. (Issue #397)โ Removed
HTTPConnection.tcp_nodelay
in favor ofHTTPConnection.default_socket_options
. (Issue #397)๐ Fixed
TypeError
bug in Python 2.6.4. (Issue #411)
-
v1.8.2 Changes
April 17, 2014- ๐ Fix
urllib3.util
not being included in the package.
- ๐ Fix
-
v1.8.1 Changes
April 17, 2014๐ Fix AppEngine bug of HTTPS requests going out as HTTP. (Issue #356)
๐ฆ Don't install
dummyserver
intosite-packages
as it's only needed for the test suite. (Issue #362)โ Added support for specifying
source_address
. (Issue #352)
-
v1.8 Changes
March 04, 2014๐ 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)
-
v1.7.1 Changes
September 25, 2013โ Added granular timeout support with new
urllib3.util.Timeout
class. (Issue #231)๐ Fixed Python 3.4 support. (Issue #238)
-
v1.7 Changes
August 14, 2013โ More exceptions are now pickle-able, with tests. (Issue #174)
๐ Fixed redirecting with relative URLs in Location header. (Issue #178)
๐ Support for relative urls in
Location: ...
header. (Issue #179)urllib3.response.HTTPResponse
now inherits fromio.IOBase
for bonus file-like functionality. (Issue #187)Passing
assert_hostname=False
when creating a HTTPSConnectionPool will skip hostname verification for SSL connections. (Issue #194)๐ New method
urllib3.response.HTTPResponse.stream(...)
which acts as a generator wrapped around.read(...)
. (Issue #198)๐ IPv6 url parsing enforces brackets around the hostname. (Issue #199)
๐ Fixed thread race condition in
urllib3.poolmanager.PoolManager.connection_from_host(...)
(Issue #204)0๏ธโฃ
ProxyManager
requests now include non-default port inHost: ...
header. (Issue #217)โ Added HTTPS proxy support in
ProxyManager
. (Issue #170 #139)๐ New
RequestField
object can be passed to thefields=...
param which can specify headers. (Issue #220)Raise
urllib3.exceptions.ProxyError
when connecting to proxy fails. (Issue #221)๐ Use international headers when posting file names. (Issue #119)
๐ Improved IPv6 support. (Issue #203)