Skip to content
Cannot retrieve contributors at this time
dev (master branch)
- Exceptions are now pickleable, with tests. (Issue #101)
- Fixed default headers not getting passed in some cases. (Issue #99)
urllib3.add_stderr_logger() for quickly enabling STDERR debug
logging in urllib3.
- Native full URL parsing (including auth, path, query, fragment) available in
- Built-in redirect will switch method to 'GET' if status code is 303.
urllib3.PoolManager strips the scheme and host before sending the request
uri. (Issue #8)
urllib3.exceptions.DecodeError exception for when automatic decoding,
based on the Content-Type header, fails.
- Fixed bug with pool depletion and leaking connections (Issue #76). Added
explicit connection closing on pool eviction. Added
- 99% -> 100% unit test coverage.
- Minor AppEngine-related fixes.
- Switched from
- Improved url parsing. (Issue #73)
- IPv6 url support. (Issue #72)
- Removed pre-1.0 deprecated API.
- Refactored helpers into a
- Fixed multipart encoding to support list-of-tuples for keys with multiple
values. (Issue #48)
- Fixed multiple Set-Cookie headers in response not getting merged properly in
Python 3. (Issue #53)
- AppEngine support with Py27. (Issue #61)
encode_multipart_formdata fixes related to Python 3 strings vs
- Fixed packaging bug of not shipping
test-requirements.txt. (Issue #47)
- Fixed another bug related to when
ssl module is not available. (Issue #41)
- Location parsing errors now raise
which inherits from
- Added Python 3 support (tested on 3.2.2)
- Dropped Python 2.5 support (tested on 2.6.7, 2.7.2)
select.poll instead of
select.select for platforms that support
Queue.LifoQueue instead of
Queue.Queue for more aggressive
connection reusing. Configurable by overriding
ImportError during install when
ssl module is not available.
PoolManager redirects between schemes (such as HTTP -> HTTPS) not
completing properly. (Issue #28, uncovered by Issue #10 in v1.1)
dummyserver to use
tornado instead of
eventlet. Removed extraneous unsupported dummyserver testing backends.
Added socket-level tests.
- More tests. Achievement Unlocked: 99% Coverage.
dummyserver to its own root namespace module (used for
- Added hostname verification for
VerifiedHTTPSConnection by vendoring in
ssl_match_hostname. (Issue #25)
- Fixed cross-host HTTP redirects when using
PoolManager. (Issue #10)
decode_content being ignored when set through
- Fixed timeout-related bugs. (Issues #17, #23)
- Fixed typo in
VerifiedHTTPSConnection which would only present as a bug if
you're using the object manually. (Thanks pyos)
- Made RecentlyUsedContainer (and consequently PoolManager) more thread-safe by
wrapping the access log in a mutex. (Thanks @christer)
- Made RecentlyUsedContainer more dict-like (corrected
__getitem__ behaviour), with tests. Shouldn't affect core urllib3 code.
- Fixed a bug where the same connection would get returned into the pool twice,
causing extraneous "HttpConnectionPool is full" log warnings.
PoolManager with LRU expiration of connections (tested and
ProxyManager (needs tests, docs, and confirmation that it works
with HTTPS proxies).
- Added optional partial-read support for responses when
preload_content=False. You can now make requests and just read the headers
without loading the content.
- Made response decoding optional (default on, same as before).
- Added optional explicit boundary string for
- Convenience request methods are now inherited from
post_url should be abandoned in favour of
request(method, url, ...).
- Refactored code to be even more decoupled, reusable, and extendable.
- License header added to
- Embiggened the documentation: Lots of Sphinx-friendly docstrings in the code
and docs in
docs/ and on urllib3.readthedocs.org.
- Embettered all the things!
- Started writing this file.
- Minor bug fixes, code cleanup.
- Better unicode support.
NTLMConnectionPool in contrib.
- Minor improvements.
assert_host_name optional parameter. Now compatible with proxies.
- Added HTTPS support.
- Minor bug fixes.
- Refactored, broken backwards compatibility with 0.2.
- API to be treated as stable from this version forward.
- Added unit tests.
- Bug fixes.