Releases: amphp/http-client
Release list
4.6.5
5.2.0
What's Changed
- Added inactivity timeout to SetRequestTimeout interceptor by @Nek- in #362
- Fixed the exception type thrown by
SizeLimitingReadableStream, changing it toStreamExceptionto comply with theReadableStreaminterface - 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
Full Changelog: v5.1.0...v5.2.0
5.1.0
4.6.4
What's Changed
- Make implicit nullable types explicit by @nicolas-grekas in #359
Full Changelog: v4.6.3...v4.6.4
5.0.1
5.0.0
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.
Requestinstances are mutable now and can no longer be reused.- Removed cloning of request attributes – You can use any value in attributes now.
Requestnow extendsHttpRequestfromamphp/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, useRequest::isUnprocessed()instead. - The
EventListenerinterface has been reworked and event listeners can be registered withHttpClientBuilder::listen()now to automatically apply to each request instead of only being registered on specific requests. - Replaced
FormBodywith newFormAPI- Repeated form fields are no longer sent in PHP specific encoding, i.e.
appids=30&appids=20instead ofappids%5B0%5D=30&appids%5B1%5D=20(#340)
If you need the previous names, add[]to the name of your field.
- Repeated form fields are no longer sent in PHP specific encoding, i.e.
- Replaced
RequestBodywith newHttpContentAPI- Added
BufferedContent - Added
StreamedContent - Removed
Body\FileBody - Removed
Body\FormBody - Removed
Body\JsonBody - Removed
Body\StreamBody - Removed
Body\StringBody
- Added
There are no changes compared to 5.0.0 Beta 17.
5.0.0 Beta 17
What's Changed
- Fixed event transitions for
CONNECTrequests
Full Changelog: v5.0.0-beta.16...v5.0.0-beta.17
5.0.0 Beta 16
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
What's Changed
- Fixed
Invalid request phase transition from Connect to RequestHeaders(#347) - Replace
connect*andtls*events onEventListenerwith newconnectionAcquiredevent. Timings are exposed via methods onConnectionnow. - Added
EventListener::push()to indicate pushed responses to theEventListenerand copy event listeners to pushed requests from the parent request to ensure they're called. - Changed
EventListener::requestFailedto accept anyThrowable - Added clone support for
Request - Fixed retries, which didn't clone requests before
- Remove
UnprocessedRequestExceptionby @kelunik in #349, useRequest::isUnprocessed()instead. - Remove
Request::isStarted()
Full Changelog: v5.0.0-beta.14...v5.0.0-beta.15
5.0.0 Beta 14
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