Amphp Http Client Versions Save

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

v5.1.0

3 weeks ago

What's Changed

New Contributors

Full Changelog: https://github.com/amphp/http-client/compare/v5.0.1...v5.1.0

v4.6.4

1 month ago

What's Changed

Full Changelog: https://github.com/amphp/http-client/compare/v4.6.3...v4.6.4

v5.0.1

5 months ago

What's Changed

  • Fail streams only with StreamException by @trowski in https://github.com/amphp/http-client/pull/354. Response body streams will now only throw StreamException or CancelledException as specified by the ReadableStream interface.

Full Changelog: https://github.com/amphp/http-client/compare/v5.0.0...v5.0.1

v5.0.0

7 months ago

Stable release compatible with AMPHP v3 and fibers! 🎉

As with other libraries compatible with AMPHP v3, most cases of parameters or returns of Promise<ResolutionType> have been replaced with ResolutionType.

  • Request instances are mutable now and can no longer be reused.
  • Removed cloning of request attributes – You can use any value in attributes now.
  • Request now extends HttpRequest from amphp/http, gaining methods to get and set query parameters on the request instead of needing to manipulate the URI object directly.
  • Renamed header methods using the term "raw" to use "pairs" instead, e.g., getRawHeaders() → getHeaderPairs(), parseRawHeaders() → parseHeaderPairs()
  • Changed timeout unit from milliseconds to seconds (like timers in the event loop)
  • Removed UnprocessedRequestException, use Request::isUnprocessed() instead.
  • The EventListener interface has been reworked and event listeners can be registered with HttpClientBuilder::listen() now to automatically apply to each request instead of only being registered on specific requests.
  • Replaced FormBody with new Form API
    • Repeated form fields are no longer sent in PHP specific encoding, i.e. appids=30&appids=20 instead of appids%5B0%5D=30&appids%5B1%5D=20 (#340) If you need the previous names, add [] to the name of your field.
  • Replaced RequestBody with new HttpContent API
    • Added BufferedContent
    • Added StreamedContent
    • Removed Body\FileBody
    • Removed Body\FormBody
    • Removed Body\JsonBody
    • Removed Body\StreamBody
    • Removed Body\StringBody

There are no changes compared to 5.0.0 Beta 17.

v5.0.0-beta.17

8 months ago

What's Changed

  • Fixed event transitions for CONNECT requests

Full Changelog: https://github.com/amphp/http-client/compare/v5.0.0-beta.16...v5.0.0-beta.17

v5.0.0-beta.16

8 months ago

What's Changed

  • Fixed HTTP/2 request bodies (regression introduced in 5.0.0 Beta 14)
  • Fixed event phase issue for rejected requests (#351)

Full Changelog: https://github.com/amphp/http-client/compare/v5.0.0-beta.15...v5.0.0-beta.16

v5.0.0-beta.15

8 months ago

What's Changed

  • Fixed Invalid request phase transition from Connect to RequestHeaders (#347)
  • Replace connect* and tls* events on EventListener with new connectionAcquired event. Timings are exposed via methods on Connection now.
  • Added EventListener::push() to indicate pushed responses to the EventListener and copy event listeners to pushed requests from the parent request to ensure they're called.
  • Changed EventListener::requestFailed to accept any Throwable
  • Added clone support for Request
  • Fixed retries, which didn't clone requests before
  • Remove UnprocessedRequestException by @kelunik in https://github.com/amphp/http-client/pull/349, use Request::isUnprocessed() instead.
  • Remove Request::isStarted()

Full Changelog: https://github.com/amphp/http-client/compare/v5.0.0-beta.14...v5.0.0-beta.15

v5.0.0-beta.14

8 months ago

What's Changed

New event system by @kelunik in https://github.com/amphp/http-client/pull/334:

The EventListener interface has been reworked and event listeners can be registered with HttpClientBuilder::listen() now to automatically apply to each request instead of only being registered on specific requests.

Request phases are now rather strict and checks are in place to ensure the correct order of events. Should you notice any issues with that, please open an issue!

The two remaining issues we want to solve before the stable release are:

Full Changelog: https://github.com/amphp/http-client/compare/v5.0.0-beta.13...v5.0.0-beta.14

v5.0.0-beta.13

9 months ago
  • Add league/uri ^7 support, resulting in psr/http-message ^2 support
  • Clone requests before processing them in FollowRedirects to avoid headers of later interceptors being copied to the new request, fixing e.g. raw GZip response bodies on double redirects (#341)

Full Changelog: https://github.com/amphp/http-client/compare/v5.0.0-beta.12...v5.0.0-beta.13

v4.6.3

9 months ago

What's Changed

New Contributors

Full Changelog: https://github.com/amphp/http-client/compare/v4.6.2...v4.6.3