httpx v0.13.0 Release Notes

Release Date: 2020-05-22 // almost 4 years ago
  • 0.13.0 (May 22nd, 2020)

    ๐Ÿš€ This release switches to httpcore for all the internal networking, which means:

    • ๐Ÿ”€ We're using the same codebase for both our sync and async clients.
    • ๐Ÿ”€ HTTP/2 support is now available with the sync client.
    • We no longer have a urllib3 dependency for our sync client, although there is still an optional URLLib3Transport class.

    ๐Ÿš€ It also means we've had to remove our UDS support, since maintaining that would have meant having to push back our work towards a 1.0 release, which isn't a trade-off we wanted to make.

    We also now have a public "Transport API", which you can use to implement custom transport implementations against. This formalises and replaces our previously private "Dispatch API".

    ๐Ÿ”„ Changed

    • ๐Ÿ‘‰ Use httpcore for underlying HTTP transport. Drop urllib3 requirement. (Pull #804, #967)
    • Rename pool limit options from soft_limit/hard_limit to max_keepalive/max_connections. (Pull #968)
    • ๐Ÿ—„ The previous private "Dispatch API" has now been promoted to a public "Transport API". When customizing the transport use transport=.... The ASGIDispatch and WSGIDispatch class naming is deprecated in favour of ASGITransport and WSGITransport. (Pull #963)

    โž• Added

    • โž• Added URLLib3Transport class for optional urllib3 transport support. (Pull #804, #963)
    • Streaming multipart uploads. (Pull #857)
    • ๐ŸŒฒ Logging via HTTPCORE_LOG_LEVEL and HTTPX_LOG_LEVEL environment variables
      ๐ŸŒฒ and TRACE level logging. (Pull encode/httpcore#79)

    ๐Ÿ›  Fixed

    • ๐ŸŽ Performance improvement in brotli decoder. (Pull #906)
    • ๐Ÿ—„ Proper warning level of deprecation notice in Response.stream and Response.raw. (Pull #908)
    • ๐Ÿ›  Fix support for generator based WSGI apps. (Pull #887)
    • Reuse of connections on HTTP/2 in close concurrency situations. (Pull encode/httpcore#81)
    • Honor HTTP/2 max concurrent streams settings (Pull encode/httpcore#89, encode/httpcore#90)
    • ๐Ÿ›  Fix bytes support in multipart uploads. (Pull #974)
    • ๐Ÿ‘Œ Improve typing support for files=.... (Pull #976)

    โœ‚ Removed

    • โฌ‡๏ธ Dropped support for Client(uds=...) (Pull #804)

    0.13.0.dev2 (May 12th, 2020)

    ๐Ÿš€ The 0.13.0.dev2 is a pre-release version. To install it, use pip install httpx --pre.

    โž• Added

    • ๐ŸŒฒ Logging via HTTPCORE_LOG_LEVEL and HTTPX_LOG_LEVEL environment variables
      ๐ŸŒฒ and TRACE level logging. (HTTPCore Pull #79)

    ๐Ÿ›  Fixed

    • Reuse of connections on HTTP/2 in close concurrency situations. (HTTPCore Pull #81)
    • When using an app=<ASGI app> observe neater disconnect behaviour instead of sending empty body messages. (Pull #919)