Skip to content

Releases: amphp/http-client

4.6.5

Choose a tag to compare

@trowski trowski released this 13 Dec 18:01
v4.6.5
6cac9e1

What's Changed

  • Use non-deprecated methods with league/uri 7 by @xabbuh in #369

New Contributors

Full Changelog: v4.6.4...v4.6.5

5.2.0

Choose a tag to compare

@trowski trowski released this 07 Dec 00:42
v5.2.0
3088887

What's Changed

  • Added inactivity timeout to SetRequestTimeout interceptor by @Nek- in #362
  • Fixed the exception type thrown by SizeLimitingReadableStream, changing it to StreamException to comply with the ReadableStream interface
  • Fixed body size limit of 0 (no limit) causing an exception when using DecompressingReadableStream
  • Fixed handling of GOAWAY frames from servers, allowing streams with an ID lower than that provided in the GOAWAY frame to complete before closing the connection (#366)

New Contributors

  • @Nek- made their first contribution in #362

Full Changelog: v5.1.0...v5.2.0

5.1.0

Choose a tag to compare

@trowski trowski released this 21 Apr 16:47
v5.1.0
483df9a

What's Changed

  • Add BufferedContent::fromJson() by @trowski in #355
  • Add Form::addNestedFields() by @trowski in #356
  • Make implicit nullable types explicit to avoid deprecation notice in PHP 8.4
  • RequestBody -> HttpContent by @ShiSHcat in #358

New Contributors

Full Changelog: v5.0.1...v5.1.0

4.6.4

Choose a tag to compare

@kelunik kelunik released this 21 Mar 19:55
v4.6.4
f607a33

What's Changed

Full Changelog: v4.6.3...v4.6.4

5.0.1

Choose a tag to compare

@trowski trowski released this 11 Dec 04:02
v5.0.1
9b42ca1

What's Changed

  • Fail streams only with StreamException by @trowski in #354. Response body streams will now only throw StreamException or CancelledException as specified by the ReadableStream interface.

Full Changelog: v5.0.0...v5.0.1

5.0.0

Choose a tag to compare

@kelunik kelunik released this 08 Oct 16:41
v5.0.0
0347699

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.

5.0.0 Beta 17

5.0.0 Beta 17 Pre-release
Pre-release

Choose a tag to compare

@kelunik kelunik released this 05 Sep 21:01
v5.0.0-beta.17
9cd91e1

What's Changed

  • Fixed event transitions for CONNECT requests

Full Changelog: v5.0.0-beta.16...v5.0.0-beta.17

5.0.0 Beta 16

5.0.0 Beta 16 Pre-release
Pre-release

Choose a tag to compare

@kelunik kelunik released this 03 Sep 16:50
v5.0.0-beta.16
74dbfd7

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: v5.0.0-beta.15...v5.0.0-beta.16

5.0.0 Beta 15

5.0.0 Beta 15 Pre-release
Pre-release

Choose a tag to compare

@kelunik kelunik released this 30 Aug 22:09
v5.0.0-beta.15
35e8ecb

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 #349, use Request::isUnprocessed() instead.
  • Remove Request::isStarted()

Full Changelog: v5.0.0-beta.14...v5.0.0-beta.15

5.0.0 Beta 14

5.0.0 Beta 14 Pre-release
Pre-release

Choose a tag to compare

@kelunik kelunik released this 23 Aug 20:31
v5.0.0-beta.14
a9f2beb

What's Changed

New event system by @kelunik in #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: v5.0.0-beta.13...v5.0.0-beta.14