PackageTrack
Sign in Get early access

amphp/http-client

An advanced async HTTP client library for PHP, enabling efficient, non-blocking, and concurrent requests and responses.

v5.3.6 12M downloads/mo #561 most downloaded on Packagist amphp/http-client

What this package is like to depend on

Last release 3 months ago

15 May 2026

Release timing varies

gaps range from 3 weeks to 9 months

Some releases are documented

notes for 26 of 75 stable releases

Nothing withdrawn

no release was ever pulled

14 years old

113 releases · first in 2012

3 releases in the last 12 months

see the full history below

Release timeline

113 releases · Dec 2012 to May 2026
2013 2015 2017 2019 2021 2023 2025
Release Pre-release

Releases

latest 60 of 113
  1. v5.3.6 15 May 2026
    Release notes

    What's Changed

    • Fix idle HTTP/1 connection GC leak by @danog in #400

    Full Changelog: v5.3.5...v5.3.6

    Open source →
  2. v5.3.5 13 May 2026
    Release notes

    What's Changed

    • Use str_increment() to fix PHP 8.5+ deprecation

    Full Changelog: v5.3.4...v5.3.5

    Open source →
  3. v5.3.4 16 Aug 2025
    Release notes

    What's Changed

    • Fixed an issue where an HTTP/2 connection was closed unexpectedly, on rare occasions an exception was being thrown to the event-loop error handler
    • Made an optimization when shutting down an HTTP/2 connection to only create an exception instance if there are outstanding requests on the connection.

    Full Changelog: v5.3.3...v5.3.4

    Open source →
  4. v5.3.3 21 May 2025
    Release notes

    What's Changed

    • Provided a better fix for #390, restoring back-pressure on the connection as the response body is consumed

    Full Changelog: v5.3.2...v5.3.3

    Open source →
  5. v5.3.2 18 May 2025
    Release notes

    What's Changed

    • Fixed HTTP/1.x connections remaining open if the response body was not fully consumed (#390)

    Full Changelog: v5.3.1...v5.3.2

    Open source →
  6. v5.3.1 30 Apr 2025
    Release notes

    What's Changed

    • Fixed setting the stream "ended" flag on HTTP/2 streams for requests which have no body (regression in 5.3.0). Without this flag, an empty data frame was being sent, which was considered invalid by some HTTP/2 servers, causing the stream to be closed without completing the response.

    Full Changelog: v5.3.0...v5.3.1

    Open source →
  7. v5.3.0 16 Mar 2025
    Release notes

    What's Changed

    • Enhance TLS handshake error message with additional details from previous exception by @luzrain in #385
    • Proposal: TlsException to replace SocketException for TLS handshake errors by @luzrain in #384
    • Support for simultaneously streaming request body and response body by @Nek- and @trowski in #380
    • Throws TimeoutException when TransferTimeout is exceeded by @luzrain in #382

    New Contributors

    Full Changelog: v5.2.2...v5.3.0

    Open source →
  8. v5.2.2 12 Jan 2025
    Release notes

    What's Changed

    • Changed the default User-Agent header to contain only characters which should be accepted by all HTTP servers (#371).
    • Fixed window update potentially causing two HTTP/2 frames to be sent with the END_STREAM flag set (#373).
    • Fixed early responses on HTTP/2 (a response sent before the request is fully sent) causing an HttpException to be thrown instead of returning the response.

    Full Changelog: v5.2.1...v5.2.2

    Open source →
  9. v5.2.1 13 Dec 2024
    Release notes

    What's Changed

    • Replaced deprecated method calls from league/uri v6 by @Bilge in #372

    New Contributors

    Full Changelog: v5.2.0...v5.2.1

    Open source →
  10. v5.2.0 07 Dec 2024

    Nothing published for this version

  11. v5.1.0 21 Apr 2024

    Nothing published for this version

  12. v5.0.1 11 Dec 2023

    Nothing published for this version

  13. v5.0.0 08 Oct 2023

    Nothing published for this version

  14. v5.0.0-beta.17 05 Sep 2023 pre-release

    Nothing published for this version

  15. v5.0.0-beta.16 03 Sep 2023 pre-release

    Nothing published for this version

  16. v5.0.0-beta.15 30 Aug 2023 pre-release

    Nothing published for this version

  17. v5.0.0-beta.14 23 Aug 2023 pre-release

    Nothing published for this version

  18. v5.0.0-beta.13 15 Aug 2023 pre-release

    Nothing published for this version

  19. v5.0.0-beta.12 05 Aug 2023 pre-release

    Nothing published for this version

  20. v5.0.0-beta.11 13 Apr 2023 pre-release

    Nothing published for this version

  21. v5.0.0-beta.10 09 Apr 2023 pre-release

    Nothing published for this version

  22. v5.0.0-beta.9 26 Mar 2023 pre-release

    Nothing published for this version

  23. v5.0.0-beta.8 01 Feb 2023 pre-release

    Nothing published for this version

  24. v5.0.0-beta.7 08 Jan 2023 pre-release

    Nothing published for this version

  25. v5.0.0-beta.6 18 Nov 2022 pre-release

    Nothing published for this version

  26. v5.0.0-beta.5 07 Nov 2022 pre-release

    Nothing published for this version

  27. v5.0.0-beta.4 04 Oct 2022 pre-release

    Nothing published for this version

  28. v5.0.0-beta.3 20 May 2022 pre-release

    Nothing published for this version

  29. v5.0.0-beta.2 08 May 2022 pre-release

    Nothing published for this version

  30. v5.0.0-beta.1 24 Apr 2022 pre-release

    Nothing published for this version

  31. v4.6.6 14 May 2026
    Release notes

    What's Changed

    • Use str_increment() to fix PHP 8.5+ deprecation
    • Avoid deprecation notice from league/uri on PHP 8.4+

    Full Changelog: v4.6.5...v4.6.6

    Open source →
  32. v4.6.5 13 Dec 2024

    Nothing published for this version

  33. v4.6.4 21 Mar 2024

    Nothing published for this version

  34. v4.6.3 15 Aug 2023

    Nothing published for this version

  35. v4.6.2 09 Oct 2021
    Release notes
    • Fixed setBodySizeLimit(0) with HTTP/2 protocol (#297)
    Open source →
  36. v4.6.1 12 Jul 2021
    Release notes
    • Fixed te request header fields being sent via HTTP/2 instead of being stripped (unless the value is trailers)

    4.6.0

    • Add support for amphp/file v2 (#295)
    • Fix some parameter names not aligning with parent classes / interfaces.
    Open source →
  37. v4.6.0 29 Jun 2021

    Nothing published for this version

  38. v4.5.5 23 Dec 2020
    Release notes
    • Fixed ALPN setting if unsupported (#283)
    Open source →
  39. v4.5.4 29 Nov 2020
    Release notes
    • Avoid increasing HTTP/2 window size if too many bytes are buffered locally, avoiding exploding buffers if the consumer is slow.
    • Fix inactivity timeout on HTTP/2 with slow consumers. Slowly reading the response shouldn't result in inactivity timeouts if the server is responsive.
    • Check for HTTP/1 connection closing while idle (#279)
    Open source →
  40. v4.5.3 22 Nov 2020
    Release notes
    • 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
    Open source →
  41. v4.5.2 03 Nov 2020
    Release notes
    • Fixed ConnectionLimitingPool closing non-idle connections (#278)
    Open source →
  42. v4.5.1 25 Oct 2020
    Release notes
    • Retry idempotent requests on Http2ConnectionException
    • Fix graceful HTTP/2 connection shutdown
    • Improve behavior if HTTP/2 connections become unresponsive
    Open source →
  43. v4.5.0 21 Jul 2020
    Release notes
    • Added support for resolving protocol relative URLs (#275)
    • Added FormBody::addFileFromString()
    Open source →
  44. v4.4.1 10 Jul 2020
    Release notes
    • Reject pushes with invalid stream ID
    • Fix potential double stream release, which might result in int → float overflows and thus type errors
    Open source →
  45. v4.4.0 16 Jun 2020
    Release notes

    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
    Open source →
  46. v4.3.1 10 May 2020
    Release notes
    • 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)
    Open source →
  47. v4.3.0 03 May 2020
    Release notes
    • 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
    Open source →
  48. v4.2.2 17 Mar 2020
    Release notes
    • Fixed transfer timeout enforcement for HTTP/2 (#262)
    Open source →
  49. v4.2.1 07 Mar 2020
    Release notes
    • Fixed HTTP/2 on 32 bit platforms
    • Fixed potentially stalled requests in ConnectionLimitingPool (#256)
    Open source →
  50. v4.2.0 27 Feb 2020
    Release notes
    • Add improved ConnectionLimitingPool The new ConnectionLimitingPool limits connections instead of streams. In addition, it has improved connection handling, racing between new connections and existing connections becoming available once the limit has been reached. The older LimitedConnectionPool has been renamed to StreamLimitingPool with a class alias for backward compatibility.
    • Don't set ALPN if only HTTP/1.1 is enabled, which allows connections to certain misbehaving servers (#255)
    Open source →
  51. v4.1.0 17 Jan 2020
    Release notes
    • Fix possible double resolution of promises (#244)
    • Fix assertion error on invalid HTTP/2 frame (#236)
    • Fix HTTP/2 connection reuse if too many concurrent streams for one connection are in use (#246)
    • Allow skipping default accept, accept-encoding and user-agent headers (#238)
    • Keep original header case for HTTP/1 requests (#250)
    • Allow access to informational responses (1XX) (#239)
    • Await startReceiveResponse event listeners on HTTP/2 before resolving the response promise (#254)
    • Delay startReceiveResponse event until the final response is started to be received, instead of calling it for the first byte or multiple times for HTTP/2 (#254)
    • Use common HTTP/2 parser from amphp/http

    4.0.0

    Initial release of amphp/http-client, the successor of amphp/artax. This is a major rewrite to support interceptors and HTTP/2.

    Major Changes

    • Support for HTTP/2 (including push)
    • Support for interceptors to customize behavior
    • Switch to a mutable Request / Response API, because streams are never immutable
    • Compatibility with amphp/socket@^1
    • Compatibility with amphp/file@^1
    • Compatibility with league/uri@^6

    3.x - 1.x

    Please refer to CHANGELOD.md in amphp/artax.

    Open source →
  52. v4.1.0-rc1 05 Jan 2020 pre-release

    Nothing published for this version

  53. v4.0.0 21 Dec 2019

    Nothing published for this version

  54. v4.0.0-rc9 20 Nov 2019 pre-release

    Nothing published for this version

  55. v4.0.0-rc8 05 Nov 2019 pre-release

    Nothing published for this version

  56. v4.0.0-rc7 01 Nov 2019 pre-release

    Nothing published for this version

  57. v4.0.0-rc6 08 Oct 2019 pre-release

    Nothing published for this version

  58. v4.0.0-rc5 17 Sep 2019 pre-release

    Nothing published for this version

  59. v4.0.0-rc4 12 Sep 2019 pre-release

    Nothing published for this version

  60. v4.0.0-rc3 07 Sep 2019 pre-release

    Nothing published for this version

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive