Skip to content

Releases: jawah/urllib3.future

Version 2.11.908

03 Nov 07:32
1b6146a
Compare
Choose a tag to compare

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 in ssl_version parameter.

Version 2.11.907

30 Oct 07:02
faaa80f
Compare
Choose a tag to compare

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

26 Oct 18:49
97fa608
Compare
Choose a tag to compare

2.11.906 (2024-10-26)

  • Fixed unexpected exception when recreating a connection using the same outgoing port.
    Add SO_REUSEPORT if available, fallback to SO_REUSEADDR. This socket option
    is not bullet proof against reusability errors. Some OS differs in behaviors.

2.11.905

26 Oct 07:20
d8f21eb
Compare
Choose a tag to compare

2.11.905 (2024-10-26)

  • Fixed custom loop like uvloop needing advanced error handling on transport close.
  • Fixed MacOS connection reset by peer handling to detect connection close (continuation of fix in 2.11.902)

Version 2.11.904

25 Oct 08:08
7640299
Compare
Choose a tag to compare

2.11.904 (2024-10-25)

  • Improve (async) close procedure when used in a uvloop.

Version 2.11.903

22 Oct 18:45
c9cdc22
Compare
Choose a tag to compare

2.11.903 (2024-10-22)

  • Fixed (low-level) exception leak when using get_response(...) after urlopen(..., 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

22 Oct 07:51
7ca2f24
Compare
Choose a tag to compare

2.11.902 (2024-10-22)

  • Added viable replacement for connection close detection since we stopped using the function wait_for_read
    in property is_connected of a HTTPConnection object. And we harmonized the behavior whether you use async
    or sync.

Version 2.11.901

21 Oct 16:07
062e00f
Compare
Choose a tag to compare

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 function wait_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

21 Oct 07:41
1446db4
Compare
Choose a tag to compare

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, namely background_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 than 0.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 send PING frame
    automatically to the remote peer every 60s by default (after idle for 60s to be clear). The window delay for
    sending a PING is configurable via the keepalive_idle_window parameter. Learn more about this in our
    documentation.
  • Fixed evaluation of fp in our LowLevelResponse instance to raise AttributeError when it cannot be
    accessed. This will help with cachecontrol[filecache] way of determining if response was consumed entirely.

Version 2.10.906

17 Oct 08:10
bc05f55
Compare
Choose a tag to compare

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.