Skip to content

Releases: encode/httpx

Version 0.28.0

28 Nov 14:53
80960fa
Compare
Choose a tag to compare

0.28.0 (28th November, 2024)

The 0.28 release includes a limited set of deprecations.

Deprecations:

We are working towards a simplified SSL configuration API.

For users of the standard verify=True or verify=False cases, or verify=<ssl_context> case this should require no changes. The following cases have been deprecated...

  • The verify argument as a string argument is now deprecated and will raise warnings.
  • The cert argument is now deprecated and will raise warnings.

Our revised SSL documentation covers how to implement the same behaviour with a more constrained API.

The following changes are also included:

  • The deprecated proxies argument has now been removed.
  • The deprecated app argument has now been removed.
  • JSON request bodies use a compact representation. (#3363)
  • Review URL percent escape sets, based on WHATWG spec. (#3371, #3373)
  • Ensure certifi and httpcore are only imported if required. (#3377)
  • Treat socks5h as a valid proxy scheme. (#3178)
  • Cleanup Request() method signature in line with client.request() and httpx.request(). (#3378)

Version 0.27.2

27 Aug 12:52
609df7e
Compare
Choose a tag to compare

0.27.2 (27th August, 2024)

Fixed

  • Reintroduced supposedly-private URLTypes shortcut. (#2673)

Version 0.27.1

27 Aug 11:27
1d6b663
Compare
Choose a tag to compare

0.27.1 (27th August, 2024)

Added

  • Support for zstd content decoding using the python zstandard package is added. Installable using httpx[zstd]. (#3139)

Fixed

  • Improved error messaging for InvalidURL exceptions. (#3250)
  • Fix app type signature in ASGITransport. (#3109)

Version 0.27.0

21 Feb 13:06
326b943
Compare
Choose a tag to compare

0.27.0 (21st February, 2024)

Deprecated

  • The app=... shortcut has been deprecated. Use the explicit style of transport=httpx.WSGITransport() or transport=httpx.ASGITransport() instead.

Fixed

  • Respect the http1 argument while configuring proxy transports. (#3023)
  • Fix RFC 2069 mode digest authentication. (#3045)

Version 0.26.0

20 Dec 11:01
08eff92
Compare
Choose a tag to compare

0.26.0 (20th December, 2023)

Added

  • The proxy argument was added. You should use the proxy argument instead of the deprecated proxies, or use mounts= for more complex configurations. (#2879)

Deprecated

  • The proxies argument is now deprecated. It will still continue to work, but it will be removed in the future. (#2879)

Fixed

  • Fix cases of double escaping of URL path components. Allow / as a safe character in the query portion. (#2990)
  • Handle NO_PROXY envvar cases when a fully qualified URL is supplied as the value. (#2741)
  • Allow URLs where username or password contains unescaped '@'. (#2986)
  • Ensure ASGI raw_path does not include URL query component. (#2999)
  • Ensure Response.iter_text() cannot yield empty strings. (#2998)

Version 0.25.2

24 Nov 12:34
cc206cf
Compare
Choose a tag to compare

0.25.2 (24th November, 2023)

Added

  • Add missing type hints to few __init__() methods. (#2938)

Version 0.25.1

03 Nov 13:25
b07d4e8
Compare
Choose a tag to compare

0.25.1 (3rd November, 2023)

  • Add support for Python 3.12. (#2854)
  • Add support for httpcore 1.0 (#2885)

Fixed

  • Raise ValueError on Response.encoding being set after Response.text has been accessed. (#2852)

Version 0.25.0

11 Sep 10:14
c3585a5
Compare
Choose a tag to compare

0.25.0 (11th Sep, 2023)

Removed

  • Drop support for Python 3.7. (#2813)

Added

  • Support HTTPS proxies. (#2845)
  • Change the type of Extensions from Mapping[Str, Any] to MutableMapping[Str, Any]. (#2803)
  • Add socket_options argument to httpx.HTTPTransport and httpx.AsyncHTTPTransport classes. (#2716)
  • The Response.raise_for_status() method now returns the response instance. For example: data = httpx.get('...').raise_for_status().json(). (#2776)

Fixed

  • Return 500 error response instead of exceptions when raise_app_exceptions=False is set on ASGITransport. (#2669)
  • Ensure all WSGITransport environs have a SERVER_PROTOCOL. (#2708)
  • Always encode forward slashes as %2F in query parameters (#2723)
  • Use Mozilla documentation instead of httpstatuses.com for HTTP error reference (#2768)

Version 0.24.1

18 May 11:05
fcf1bc7
Compare
Choose a tag to compare

0.24.1 (17th May, 2023)

Added

  • Provide additional context in some InvalidURL exceptions. (#2675)

Fixed

  • Fix optional percent-encoding behaviour. (#2671)
  • More robust checking for opening upload files in binary mode. (#2630)
  • Properly support IP addresses in NO_PROXY environment variable. (#2659)
  • Set default file for NetRCAuth() to None to use the stdlib default. (#2667)
  • Set logging request lines to INFO level for async requests, in line with sync requests. (#2656)
  • Fix which gen-delims need to be escaped for path/query/fragment components in URL. (#2701)

Version 0.24.0

11 Apr 10:00
579a3f2
Compare
Choose a tag to compare

0.24.0 (6th April, 2023)

Changed

  • The logging behaviour has been change to be more in-line with other standard Python logging usages. We no longer have a custom TRACE log level, and we no longer use the HTTPX_LOG_LEVEL environment variable to auto-configure logging. We now have a significant amount of DEBUG logging available at the network level. Full documentation is available at https://www.python-httpx.org/logging/ (#2547, encode/httpcore#648)
  • The Response.iter_lines() method now matches the stdlib behaviour and does not include the newline characters. It also resolves a performance issue. (#2423)
  • Query parameter encoding switches from using + for spaces and %2F for forward slash, to instead using %20 for spaces and treating forward slash as a safe, unescaped character. This differs from requests, but is in line with browser behavior in Chrome, Safari, and Firefox. Both options are RFC valid. (#2543)
  • NetRC authentication is no longer automatically handled, but is instead supported by an explicit httpx.NetRCAuth() authentication class. See the documentation at https://www.python-httpx.org/advanced/#netrc-support (#2525)

Removed

  • The rfc3986 dependancy has been removed. (#2252)