Releases: jawah/niquests
Releases · jawah/niquests
Version 3.7.1
3.7.1 (2024-07-07)
Added
- Official support for Python 3.13
This has been tested outside GitHub CI due to httpbin unready state for 3.13[...] - Support for asynchronous auth callables.
- Support for asynchronous bodies through
AsyncIterable
that yield either bytes or str. - Support for purposely excluding a domain/port from connecting to QUIC/HTTP3 via the
quic_cache_layer
property ofSession
.
In order to excludecloudflare.com
from HTTP3 auto-upgrade:from niquests import Session s = Session() s.quic_cache_layer.exclude_domain("cloudflare.com")
Fixed
- auth argument not accepting a function according to static type checkers. (#133)
- RequestsCookieJar having a lock in
AsyncSession
. Its effect has been nullified to improve performances.
Changed
- urllib3-future lower bound version is raised to 2.8.902
Version 3.7.0
3.7.0 (2024-06-24)
Added
- TransferProgress tracking in Response when downloading using
stream=True
based on the Content-Length. (#127)
There's no easy way to track the "real" amount of bytes consumed using "iter_content" when the remote is
sending a compressed body. This change makes it possible to track the amount of bytes consumed.
TheResponse
object now contain a property nameddownload_progress
that is eitherNone
or aTransferProgress
object. - HTTP/2 with prior knowledge over TLS or via an unencrypted connection.
disable_http1
toggle is now available through yourSession
constructor.
In consequence, you may leverage all HTTP/2 capabilities like multiplexing using a plain (e.g. non-TLS) socket.
You may enable/disable any protocols per Session object (but not all of them at once!).
In non-TLS connections, you have to keep one of HTTP/1.1 or HTTP/2 enabled.
Otherwise, one of HTTP/1.1, HTTP/2 or HTTP/3. ARuntimeError
may be thrown if no protocol can be used in a
given context.
Changed
- Relax main API constraint in get, head, options and delete methods / functions by accepting kwargs.
- urllib3-future lower bound version is raised to 2.8.900
Version 3.6.7
3.6.7 (2024-06-19)
Fixed
- CaseInsensitiveDict repr (to string) causing an unexpected error when upstream have multiple values for a single header. (#129)
Misc
- Minor docs typos (#128)
- Reformated error messages in our OCSP module for better readability.
- Added real test cases for our OCSP module to ensure its reliability.
Version 3.6.6
3.6.6 (2024-05-27)
Fixed
- ReasonFlag not properly translated to readable text when peer or intermediate certificate is revoked.
Version 3.6.5
3.6.5 (2024-05-22)
Fixed
- Support
localhost
as a valid domain for cookies. The standard library does not allow this special
domain. Researches showed that a valid domain should have at least two dots (e.g. abc.com. and xyz.tld. but not com.).
Public suffixes cannot be used as a cookie domain for security reasons, but aslocalhost
isn't one we are explicitly
allowing it. Reported in httpie/cli#602
RequestsCookieJar
set a default policy that circumvent that limitation, if you specified a custom cookie policy then this
fix won't be applied.
Changed
- Lazy load the OCSP extension in order to improve the import performance.
Removed
- Class variable
disable_thread
inAsyncSession
that is no longer relevant since the native asyncio implementation. (PR #122)
Version 3.6.4
3.6.4 (2024-05-16)
Changed
- Avoid parsing X509 peer certificate in the certificate revocation check process over and over again.
- Avoid iterating over header items redundantly or needlessly.
Version 3.6.3
3.6.3 (2024-05-06)
Fixed
- Fixed encoding data with None values and other objects. This was a regression introduced in our v3. #119
Changed
- Various minor performance improvements.
version 3.6.2
3.6.2 (2024-05-02)
Fixed
- "Help" program
python -m niquests.help
that depended on h2 while not required anymore. - Minor performance regression in async while checking OCSP when certificate isn't eligible (e.g. no OCSP url provided).
Changed
- urllib3.future lower bound constraint has been raised to version 2.7.905 to ensure inclusion of jh2 instead of h2.
Version 3.6.1
3.6.1 (2024-04-22)
Fixed
- Handling broken environments with a graceful exception using a detailed error message.
Version 3.6.0
3.6.0 (2024-04-20)
Added
- Support for qh3 version 1.0.0
This qh3 release enable a greater flexibility by dropping cryptography. We had to adapt the OCSP code as we
relied on cryptography. HTTP/3 experience is greatly improved.
Changed
- urllib3.future lower bound constraint has been raised to version 2.7.904 to ensure support for the last qh3 release.
Fixed
- Improved compatibility with third party mocking tool that are bound to requests.
- OCSP check did not warn if the HTTP server responded with a non 2xx response in strict mode.