Releases: jawah/niquests
Releases · jawah/niquests
Version 3.10.3
Version 3.10.2
3.10.2 (2024-10-25)
Fixed
- Ensure
stream
, andverify
both defaults to yourSession
parameters. (#165)
Version 3.10.1
3.10.1 (2024-10-22)
Fixed
- Exception leak from urllib3-future when gathering / resolving lazy responses.
Version 3.10.0
3.10.0 (2024-10-21)
Added
- Automatic Advanced Keep-Alive for HTTP/2 and HTTP/3 over QUIC by sending PING frames.
New Session, and Adapter parameters are now available:keepalive_delay
, andkeepalive_idle_window
.
This greatly improves your daily experience working with HTTP/2+ remote peers.
Fixed
- Unshielded picotls assertion error in Python < 3.10 when trying to fetch the peer intermediate certificate. (#157)
Version 3.9.1
3.9.1 (2024-10-13)
Fixed
- Exception leak from urllib3-future when using WebSocket.
- Enforcing HTTP/3 in an AsyncSession. (#152)
- Adapter kwargs fallback to support old Requests extensions.
- Type hint for
Response.extension
linked to the generic interface instead of the inherited ones. - Accessing WS over HTTP/2+ using the synchronous session object.
Misc
- Documentation improvement for in-memory certificates and WebSocket use cases. (#151)
Changed
- urllib3-future lower bound version is raised to 2.10.904 to ensure exception are properly translated into urllib3-future ones for WS.
Version 3.9.0
3.9.0 (2024-10-08)
Added
- Support for WebSocket over HTTP/1, HTTP/2 and HTTP/3. It brings a unified API that makes you leverage
our powerful features like Happy Eyeballs, SOCKS/HTTP/HTTPS proxies, thread/task safety etc... - Hook for catching early responses like "103 Early Hints".
Fixed
- Informational responses are fully supported over HTTP/1, HTTP/2 and HTTP/3.
Changed
- urllib3-future lower bound version is raised to 2.10.900.
We are thankful to @microsoft and involved parties for funding our work through the Microsoft FOSS Fund program.
Version 3.8.0
3.8.0 (2024-09-24)
Added
- Support for HTTP Trailers.
- Help script now yield warnings if update are available for each sub dependencies.
Fixed
- Setting a list of Resolver.
Changed
- urllib3-future lower bound version is raised to 2.9.900 (for http trailer support).
- relax strict kwargs passing in Session adapters (required for some plugins).
Version 3.7.2
3.7.2 (2024-07-09)
Fixed
- DummyLock injected into RequestsCookieJar is not fully compatible, thus breaking AsyncSession on certain scenario. (#136)
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