Skip to content

Releases: amphp/http-client

4.5.3

22 Nov 21:20
v4.5.3
Compare
Choose a tag to compare
  • Account for server window changes when discarding data frames
    If streams are cancelled, this might result in hanging connections, because the client thinks the server window is still large enough and doesn't increase it.
  • Fixed potential state synchronization errors with async event listeners
  • Write stream window increments asynchronously, avoiding increments for already closed streams
  • Improved exception messages

4.5.2

03 Nov 08:00
v4.5.2
Compare
Choose a tag to compare
  • Fixed ConnectionLimitingPool closing non-idle connections (#278)

4.5.1

25 Oct 18:04
v4.5.1
Compare
Choose a tag to compare
  • Retry idempotent requests on Http2ConnectionException
  • Fix graceful HTTP/2 connection shutdown
  • Improve behavior if HTTP/2 connections become unresponsive

4.5.0

21 Jul 19:21
v4.5.0
Compare
Choose a tag to compare
  • Added support for resolving protocol relative URLs (#275)
  • Added FormBody::addFileFromString()

4.4.1

10 Jul 17:03
v4.4.1
Compare
Choose a tag to compare
  • Reject pushes with invalid stream ID
  • Fix potential double stream release, which might result in int → float overflows and thus type errors

4.4.0

16 Jun 20:54
v4.4.0
Compare
Choose a tag to compare

This version fixes a security weakness that might leak sensitive request headers from the initial request to the redirected host on cross-domain redirects, which were not removed correctly. Message::setHeaders does not replace the entire set of headers, but only operates on the headers matching the given array keys, see fa79253.

  • Support direct HTTP/2 connections without TLS (#271)
  • Security: Remove headers on cross-domain redirects

4.3.1

16 May 17:50
v4.3.1
Compare
Choose a tag to compare
  • Relax "conflict" rule with amphp/file to allow dev-master installations with Composer v1.x (#267, composer/composer#8856)
  • Error if request URI provides a relative path instead of sending an invalid request (#269)

4.3.0

03 May 13:10
v4.3.0
Compare
Choose a tag to compare
  • Added inactivity timeout (#263)
    This provides a separate timeout while waiting for the response or streaming the body. If no data is received for the response within the given number of milliseconds, the request fails similarly to the transfer timeout.
  • Close idle connections if there are too many
    Requesting URLs from many hosts without reusing connections will otherwise result in resource exhaustion due to too many open files.
  • Improved types for static analysis

4.2.2

17 Mar 21:01
v4.2.2
Compare
Choose a tag to compare
  • Fixed transfer timeout enforcement for HTTP/2 (#262)

4.2.1

07 Mar 18:24
v4.2.1
7ab9ee0
Compare
Choose a tag to compare
  • Fixed HTTP/2 on 32 bit platforms
  • Fixed potentially stalled requests in ConnectionLimitingPool (#256)