reactphp/http-client

View on GitHub
CHANGELOG.md

Summary

Maintainability
Test Coverage
# Changelog

## 0.5.11 (2021-04-07)

*   Fix: Minimal fix for PHP 8
    (#154 by @remicollet)

*   Documentation: Add deprecation notice to suggest HTTP component instead
    (#153 by @clue)

## 0.5.10 (2020-01-14)

*   Fix: Avoid unneeded warning when decoding invalid data on PHP 7.4.
    (#150 by @clue)

*   Add `.gitattributes` to exclude dev files from exports.
    (#149 by @reedy)

*   Link to clue/reactphp-buzz for higher-level HTTP client.
    (#139 by @clue)

*   Improve test suite by simplifying test matrix and test setup.
    (#151 by @clue)

## 0.5.9 (2018-04-10)

*   Feature: Support legacy HTTP servers that use only `LF` instead of `CRLF`.
    (#130 by @clue)

*   Improve test suite by applying maximum test timeouts for integration tests.
    (#131 by @clue)

## 0.5.8 (2018-02-09)

*   Support legacy PHP 5.3 through PHP 7.2 and HHVM
    (#126 and #127 by @clue)

*   Improve backwards compatibility with Promise v1 and
    use RingCentral to improve interoperability with react/http.
    (#124 and #125 by @clue)

## 0.5.7 (2018-02-08)

*   Fix: Ignore excessive whitespace in chunk header for `Transfer-Encoding: chunked`
    (#123 by @DangerLifter and @clue)

*   Fix: Ignore invalid incoming `Transfer-Encoding` response header
    (#122 by @clue)

*   Improve documentation for `Client` (and advanced `Connector`)
    (#111 by @jsor and #121 by @clue)

*   Improve test suite by adding support for PHPUnit 6
    (#112 by @carusogabriel)

## 0.5.6 (2017-09-17)

*   Feature: Update Socket component to support HTTP over Unix domain sockets (UDS)
    (#110 by @clue)

## 0.5.5 (2017-09-10)

*   Fix: Update Socket component to work around sending secure HTTPS requests with PHP < 7.1.4
    (#109 by @clue)

## 0.5.4 (2017-08-25)

*   Feature: Update Socket dependency to support hosts file on all platforms
    (#108 by @clue)

    This means that HTTP requests to hosts such as `localhost` will now work as
    expected across all platforms with no changes required:

    ```php
    $client = new Client($loop);
    $request = $client->request('GET', 'http://localhost/');
    $request->on('response', function (Response $response) {
        // …
    });
    $request->end();
    ```

## 0.5.3 (2017-08-16)

*   Feature: Target evenement 3.0 a long side 2.0
    (#106 by @WyriHaximus)

*   Improve test suite by locking Travis distro so new defaults will not break the build
    (#105 by @clue)

## 0.5.2 (2017-06-27)

*   Feature: Support passing arrays for request header values
    (#100 by @clue)

*   Fix: Fix merging default headers if overwritten with custom case headers
    (#101 by @clue)

## 0.5.1 (2017-06-18)

*   Feature: Emit `error` event if request URL is invalid
    (#99 by @clue)

*   Feature: Support OPTIONS method with asterisk-form (`OPTIONS * HTTP/1.1`)
    (#98 by @clue)

*   Improve documentation for event semantics
    (#97 by @clue)

## 0.5.0 (2017-05-22)

*   Feature / BC break: Replace `Factory` with simple `Client` constructor
    (#85 by @clue)

    The `Client` now accepts a required `LoopInterface` and an optional
    `ConnectorInterface`. It will now create a default `Connector` if none
    has been given.

    ```php
    // old
    $dnsResolverFactory = new React\Dns\Resolver\Factory();
    $dnsResolver = $dnsResolverFactory->createCached('8.8.8.8', $loop);
    $factory = new React\HttpClient\Factory();
    $client = $factory->create($loop, $dnsResolver);

    // new
    $client = new React\HttpClient\Client($loop);
    ```

*   Feature: `Request::close()` now cancels pending connection attempt
    (#91 by @clue)

*   Feature / BC break: Replace deprecated SocketClient with new Socket component
    (#74, #84 and #88 by @clue)

*   Feature / BC break: Consistent stream semantics and forward compatibility with upcoming Stream v1.0
    (#90 by @clue)

*   Feature: Forward compatibility with upcoming EventLoop v1.0 and v0.5
    (#89 by @clue)

*   Fix: Catch Guzzle parser exception
    (#82 by @djagya)

## 0.4.17 (2017-03-20)

* Improvement: Add PHPUnit to require-dev #75 @jsor
* Fix: Fix chunk header to be case-insensitive and allow leading zeros for end chunk #77 @mdrost 

## 0.4.16 (2017-03-01)

* Fix: Trim leading zeros from chunk size #73 @maciejmrozinski 

## 0.4.15 (2016-12-02)

* Improvement: Add examples #69 @clue
* Fix: Ensure checking for 0 length chunk, when we should check for it #71 @WyriHaximus 

## 0.4.14 (2016-10-28)

* Fix: Ensure the first bit of body directly after the headers is emitted into the stream #68 @WyriHaximus 

## 0.4.13 (2016-10-13)

* Fix: Ensure Request emits initial Response data as string #66 @mmelvin0 

## 0.4.12 (2016-10-06)

* Fix: Changed $stream from DuplexStreamInterface to ReadableStreamInterface in Response constructor #63 @WyriHaximus

## 0.4.11 (2016-09-15)

* Feature: Chunked encoding @WyriHaximus

## 0.4.10 (2016-03-21)

* Improvement: Update react/socket-client dependency to all supported versions @clue

## 0.4.9 (2016-03-08)

* Improvement: PHP 7 memory leak, related to PHP bug [71737](https://bugs.php.net/bug.php?id=71737) @jmalloc
* Improvement: Clean up all listeners when closing request @weichenlin

## 0.4.8 (2015-10-05)

* Improvement: Avoid hiding exceptions thrown in HttpClient\Request error handlers @arnaud-lb

## 0.4.7 (2015-09-24)

* Improvement: Set protocol version on request creation @WyriHaximus

## 0.4.6 (2015-09-20)

* Improvement: Support explicitly using HTTP/1.1 protocol version @clue

## 0.4.5 (2015-08-31)

* Improvement: Replaced the abandoned guzzle/parser with guzzlehttp/psr7 @WyriHaximus

## 0.4.4 (2015-06-16)

* Improvement: Emit drain event when the request is ready to receive more data by @arnaud-lb

## 0.4.3 (2015-06-15)

* Improvement: Added support for using auth informations from URL by @arnaud-lb

## 0.4.2 (2015-05-14)

* Improvement: Pass Response object on with data emit by @dpovshed

## 0.4.1 (2014-11-23)

* Improvement: Use EventEmitterTrait instead of base class by @cursedcoder
* Improvement: Changed Stream to DuplexStreamInterface in Response::__construct by @mbonneau

## 0.4.0 (2014-02-02)

* BC break: Drop unused `Response::getBody()`
* BC break: Bump minimum PHP version to PHP 5.4, remove 5.3 specific hacks
* BC break: Remove `$loop` argument from `HttpClient`: `Client`, `Request`, `Response`
* BC break: Update to React/Promise 2.0
* Dependency: Autoloading and filesystem structure now PSR-4 instead of PSR-0
* Bump React dependencies to v0.4

## 0.3.2 (2016-03-25)

* Improvement: Broader guzzle/parser version req @cboden 
* Improvement: Improve forwards compatibility with all supported versions @clue 

## 0.3.1 (2013-04-21)

* Bug fix: Correct requirement for socket-client

## 0.3.0 (2013-04-14)

* BC break: Socket connection handling moved to new SocketClient component
* Bump React dependencies to v0.3

## 0.2.6 (2012-12-26)

* Version bump

## 0.2.5 (2012-11-26)

* Feature: Use a promise-based API internally
* Bug fix: Use DNS resolver correctly

## 0.2.3 (2012-11-14)

* Version bump

## 0.2.2 (2012-10-28)

* Feature: HTTP client (@arnaud-lb)