Skip to content

Releases: encode/httpcore

Version 0.13.5

Choose a tag to compare

@lovelydinosaur lovelydinosaur released this 14 Jun 15:52
0137177

0.13.5 (June 14th, 2021)

Fixed

  • Resolved niggles with AnyIO EOF behaviours. (Pull #358, #362)

Version 0.13.4

Choose a tag to compare

@lovelydinosaur lovelydinosaur released this 09 Jun 11:28
5baf209

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 with asyncio. Resolves some awkward TLS timeout issues.

Version 0.13.3

Choose a tag to compare

@lovelydinosaur lovelydinosaur released this 06 May 15:59
3eff24e

0.13.3 (May 6th, 2021)

Added

  • Support HTTP/2 prior knowledge, using httpcore.SyncConnectionPool(http1=False). (Pull #333)

Fixed

  • Handle cases where environment does not provide select.poll support. (Pull #331)

Version 0.13.2

Choose a tag to compare

@lovelydinosaur lovelydinosaur released this 29 Apr 12:37
9c54ade

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

Choose a tag to compare

@lovelydinosaur lovelydinosaur released this 28 Apr 14:32
0fe1cdc

0.13.1 (April 28th, 2021)

Fixed

  • More resiliant testing for closed connections. (Pull #311)
  • Don't raise exceptions on ungraceful connection closes. (Pull #310)

Version 0.13.0

Choose a tag to compare

@lovelydinosaur lovelydinosaur released this 21 Apr 12:25
172fa35

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 now handle_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 named extensions, 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 becomes httpcore.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

Choose a tag to compare

@florimondmanca florimondmanca released this 28 Jan 16:01
ed76a30

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

Choose a tag to compare

@florimondmanca florimondmanca released this 20 Nov 22:35
84c7738

0.12.2 (November 20th, 2020)

Fixed

  • Properly wrap connect errors on the asyncio backend. (Pull #235)
  • Fix ImportError occurring on Python 3.9 when using the HTTP/1.1 sync client in a multithreaded context. (Pull #237)

Version 0.12.1

Choose a tag to compare

@florimondmanca florimondmanca released this 07 Nov 09:21
30e565c

0.12.1 - 2020-11-07

Added

  • Add connect retries. (Pull #221)

Fixed

  • Tweak detection of dropped connections, resolving an issue with open files limits on Linux. (Pull #185)
  • Avoid leaking connections when establishing an HTTP tunnel to a proxy has failed. (Pull #223)
  • Properly wrap OS errors when using trio. (Pull #225)

Version 0.12.0

Choose a tag to compare

@lovelydinosaur lovelydinosaur released this 06 Oct 11:42
416cebb

0.12.0 (October 6th, 2020)

Changed

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)