Releases: jawah/niquests
Releases · jawah/niquests
Version 3.11.4
3.11.4 (2024-12-23)
Fixed
- Invoking
niquests
in more than one event loop, even if no loop concurrence occurs. (#190)
The faulty part was the shared OCSP cache that was automatically bound the first event loop and
could not be shared across more than one loop. Keep in mind that Niquests async is task safe within
a single event loop. Sharing a single AsyncSession across more than one event loop is unpredictable.
We've waived that limitation by binding the ocsp cache to a singleSession
. (both sync & async) - Undesirable
socket.timeout
error coming from the ocsp checker when running Python < 3.9.
Version 3.11.3
3.11.3 (2024-12-13)
Fixed
- Static type checker getting confused around
AsyncSession
and attached overloads (AsyncResponse
orResponse
). (#185)
Changed
- Default keepalive (HTTP/2, and HTTP/3) changed to 1 hour. In conformance with urllib3-future.
Removed
- Automatic resolution of pending lazy responses if there are too many of them.
Previously, we hardcoded a limit of 128 * NUM_CONN_POOL maximum inflight (aka. unresolved/lazy) response.
This was unrealistic due to a number of factors like (but not limited to):
A) remote peers can choose at will the max streams.
B) we can have multiple pool with multiple (varying) max capacities.
C) retrieving max streams per pool per conn is a very costly procedure (in terms of performance).
We will revisit this later on. You still can setmax_in_flight_multiplexed
in yourHTTPAdapter
to
restore this broken behavior.
Version 3.11.2
3.11.2 (2024-11-29)
Fixed
- SSE request block IO by default. Integrate better with urllib3-future new SSE web extension.
- Passing a list instead of tuple for multipart file upload ends in failure.
Changed
- urllib3-future lower bound version is raised to 2.12.900 to ensure built-in support for SSE.
- help script now yield if websocket extra is present and actual version.
- exception raised when no adapter were found now include a hint when the intent was websocket and extra isn't installed.
Version 3.11.1
Version 3.11.0
3.11.0 (2024-11-20)
Added
- base_url parameter to
niquests.Session
orniquests.AsyncSession
. automatically prefix every request emitted with it. (#179)
Fixed
- warning about coroutine method 'aclose' of 'AsyncSession.resolve_redirects' was never awaited.
Version 3.10.3
3.10.3 (2024-11-13)
Fixed
- Resolving lazy responses when emitted through a SOCKS, HTTP or HTTPS proxy. (#170)
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.