Releases: encode/httpx
Releases ยท encode/httpx
Version 0.24.0
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 theHTTPX_LOG_LEVEL
environment variable to auto-configure logging. We now have a significant amount ofDEBUG
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)
Version 0.23.3
Version 0.23.2
0.23.2 (2nd Jan, 2023)
Added
- Support digest auth nonce counting to avoid multiple auth requests. (#2463)
Fixed
- Multipart file uploads where the file length cannot be determine now use chunked transfer encoding, rather than loading the entire file into memory in order to determine the
Content-Length
. (#2382) - Raise
TypeError
if content is passed a dict-instance. (#2495) - Partially revert the API breaking change in 0.23.1, which removed
RawURL
. We continue to expose aurl.raw
property which is now a plain named-tuple. This API is still expected to be deprecated, but we will do so with a major version bump. (#2481)
Version 0.23.1
0.23.1
Added
- Support for Python 3.11. (#2420)
- Allow setting an explicit multipart boundary in
Content-Type
header. (#2278) - Allow
tuple
orlist
for multipart values, not justlist
. (#2355) - Allow
str
content for multipart upload files. (#2400) - Support connection upgrades. See https://www.encode.io/httpcore/extensions/#upgrade-requests
Fixed
- Don't drop empty query parameters. (#2354)
Removed
Version 0.23.0
0.23.0 (23rd May, 2022)
Changed
- Drop support for Python 3.6. (#2097)
- Use
utf-8
as the default character set, instead of falling back tocharset-normalizer
for auto-detection. To enable automatic character set detection, see the documentation. (#2165)
Fixed
- Fix
URL.copy_with
for some oddly formed URL cases. (#2185) - Digest authentication should use case-insensitive comparison for determining which algorithm is being used. (#2204)
- Fix console markup escaping in command line client. (#1866)
- When files are used in multipart upload, ensure we always seek to the start of the file. (#2065)
- Ensure that
iter_bytes
never yields zero-length chunks. (#2068) - Preserve
Authorization
header for redirects that are to the same origin, but are anhttp
-to-https
upgrade. (#2074) - When responses have binary output, don't print the output to the console in the command line client. Use output like
<16086 bytes of binary data>
instead. (#2076) - Fix display of
--proxies
argument in the command line client help. (#2125) - Close responses when task cancellations occur during stream reading. (#2156)
- Fix type error on accessing
.request
onHTTPError
exceptions. (#2158)
Version 0.22.0
0.22.0 (26th January, 2022)
Added
- Support for the SOCKS5 proxy protocol via the
socksio
package. (#2034) - Support for custom headers in multipart/form-data requests (#1936)
Fixed
Version 0.21.3
0.21.3 (6th January, 2022)
Fixed
- Fix streaming uploads using
SyncByteStream
orAsyncByteStream
. Regression in 0.21.2. (#2016)
Version 0.21.2
Version 0.21.1
0.21.1 (16th November, 2021)
Fixed
- The
response.url
property is now correctly annotated asURL
, instead ofOptional[URL]
. (#1940)
Version 0.21.0
0.21.0 (15th November, 2021)
The 0.21.0 release integrates against a newly redesigned httpcore
backend.
Both packages ought to automatically update to the required versions, but if you are
seeing any issues, you should ensure that you have httpx==0.21.*
and httpcore==0.14.*
installed.
Added
- The command-line client will now display connection information when
-v/--verbose
is used. - The command-line client will now display server certificate information when
-v/--verbose
is used. - The command-line client is now able to properly detect if the outgoing request
should be formatted as HTTP/1.1 or HTTP/2, based on the result of the HTTP/2 negotiation.