Releases: encode/httpcore
Releases · encode/httpcore
Version 0.13.5
Version 0.13.4
0.13.4 (June 9th, 2021)
Added
- Improved error messaging when URL scheme is missing, or a non HTTP(S) scheme is used. (Pull ##354)
Fixed
- Switched to
anyio
as the default backend implementation when running withasyncio
. Resolves some awkward TLS timeout issues.
Version 0.13.3
Version 0.13.2
0.13.2 (April 29th, 2021)
Added
- Improve error message for specific case of
RemoteProtocolError
where server disconnects without sending a response. (Pull #313)
Version 0.13.1
Version 0.13.0
0.13.0 (April 21st, 2021)
The 0.13 release updates the core API in order to match the HTTPX Transport API,
introduced in HTTPX 0.18 onwards.
An example of making requests with the new interface is:
with httpcore.SyncConnectionPool() as http:
status_code, headers, stream, extensions = http.handle_request(
method=b'GET',
url=(b'https', b'example.org', 443, b'/'),
headers=[(b'host', b'example.org'), (b'user-agent', b'httpcore')]
stream=httpcore.ByteStream(b''),
extensions={}
)
body = stream.read()
print(status_code, body)
Changed
- The
.request()
method is nowhandle_request()
. (Pull #296) - The
.arequest()
method is now.handle_async_request()
. (Pull #296) - The
headers
argument is no longer optional. (Pull #296) - The
stream
argument is no longer optional. (Pull #296) - The
ext
argument is now namedextensions
, and is no longer optional. (Pull #296) - The
"reason"
extension keyword is now named"reason_phrase"
. (Pull #296) - The
"reason_phrase"
and"http_version"
extensions now use byte strings for their values. (Pull #296) - The
httpcore.PlainByteStream()
class becomeshttpcore.ByteStream()
. (Pull #296)
Added
- Streams now support a
.read()
interface. (Pull #296)
Fixed
- Task cancelation no longer leaks connections from the connection pool. (Pull #305)
Version 0.12.3
0.12.3 (December 7th, 2020)
Fixed
- Abort SSL connections on close rather than waiting for remote EOF when using
asyncio
. (Pull #167) - Fix exception raised in case of connect timeouts when using the
anyio
backend. (Pull #236) - Fix
Host
header precedence for:authority
in HTTP/2. (Pull #241, #243) - Handle extra edge case when detecting for socket readability when using
asyncio
. (Pull #242, #244) - Fix
asyncio
SSL warning when using proxy tunneling. (Pull #249)
Version 0.12.2
Version 0.12.1
Version 0.12.0
0.12.0 (October 6th, 2020)
Changed
- HTTP header casing is now preserved, rather than always sent in lowercase. (#216 and python-hyper/h11#104)
Added
- Add Python 3.9 to officially supported versions.
Fixed
- Gracefully handle a stdlib asyncio bug when a connection is closed while it is in a paused-for-reading state. (#201)