Releases: jawah/urllib3.future
Releases · jawah/urllib3.future
Version 2.11.908
2.11.908 (2024-11-03)
- Fixed async connection shutdown in HTTP/1.1 and HTTP/2 leaving a
asyncio.TransportSocket
and_SelectorSocketTransport
partially closed. - Added automatic mitigation of using deprecated
PROTOCOL_TLS_*
constants inssl_version
parameter.
Version 2.11.907
2.11.907 (2024-10-30)
- Fixed attempt to send ping frame in our discrete background idle watcher when the connection has just been closed.
Version 2.11.906
2.11.906 (2024-10-26)
- Fixed unexpected exception when recreating a connection using the same outgoing port.
AddSO_REUSEPORT
if available, fallback toSO_REUSEADDR
. This socket option
is not bullet proof against reusability errors. Some OS differs in behaviors.
2.11.905
Version 2.11.904
2.11.904 (2024-10-25)
- Improve (async) close procedure when used in a
uvloop
.
Version 2.11.903
2.11.903 (2024-10-22)
- Fixed (low-level) exception leak when using
get_response(...)
afterurlopen(..., multiplexed=True)
. - Fixed erroneous calculated maximal wait when starting a connection upgrade to a higher protocol version in rare cases (async+windows only).
Version 2.11.902
2.11.902 (2024-10-22)
- Added viable replacement for connection close detection since we stopped using the function
wait_for_read
in propertyis_connected
of aHTTPConnection
object. And we harmonized the behavior whether you use async
or sync.
Version 2.11.901
2.11.901 (2024-10-21)
- Fixed error in
is_connected
for a Connection. The logic is no longer applicable due to how urllib3-future grows.
We no longer use the functionwait_for_read
. Also we stopped using MSG_PEEK for our discrete incoming data watcher
due to suspicious behavior noticed. Finally we shielded any exception from attempting to close a broken socket.
Version 2.11.900
2.11.900 (2024-10-21)
- Added a discrete task for each instantiated
ConnectionPool
to watch for unsolicited incoming data.
This improves the fix shipped in v2.10.906 and avoid having to recycle your multiplexed connection in idle moments.
A new keyword argument is supported in your PoolManager configuration, namelybackground_watch_delay
.
This parameter takes a int or float as the delay between checks. Set it to None to void this background task.
Anything lower than0.01
will be interpreted as None, therefor disabling the discrete watch. - Added managed keepalive for HTTP/2 and HTTP/3 over QUIC. A new keyword argument, named
keepalive_delay
that
takes a value expressed in seconds for how long urllib3-future should automatically keep the connection alive.
This is done in direct extension to our "discrete task" mentioned just before. We will sendPING
frame
automatically to the remote peer every 60s by default (after idle for 60s to be clear). The window delay for
sending aPING
is configurable via thekeepalive_idle_window
parameter. Learn more about this in our
documentation. - Fixed evaluation of
fp
in ourLowLevelResponse
instance to raiseAttributeError
when it cannot be
accessed. This will help withcachecontrol[filecache]
way of determining if response was consumed entirely.
Version 2.10.906
2.10.906 (2024-10-17)
- Fixed handling aggressive ACKs watcher in some QUIC server implementation leading to a
ProtocolError
.
We're actively working toward a solution that will avoid to recycle the QUIC connection.