-
Feature / BC break: Change
Request
methods to be in line with PSR-7 (#117 by @clue)- Rename
getQuery()
togetQueryParams()
- Rename
getHttpVersion()
togetProtocolVersion()
- Change
getHeaders()
to always return an array of string values for each header
- Rename
-
Feature / BC break: Update Socket component to v0.5 and add secure HTTPS server support (#90 and #119 by @clue)
// old plaintext HTTP server $socket = new React\Socket\Server($loop); $socket->listen(8080, '127.0.0.1'); $http = new React\Http\Server($socket); // new plaintext HTTP server $socket = new React\Socket\Server('127.0.0.1:8080', $loop); $http = new React\Http\Server($socket); // new secure HTTPS server $socket = new React\Socket\Server('127.0.0.1:8080', $loop); $socket = new React\Socket\SecureServer($socket, $loop, array( 'local_cert' => __DIR__ . '/localhost.pem' )); $http = new React\Http\Server($socket);
-
BC break: Mark internal APIs as internal or private and remove unneeded
ServerInterface
(#118 by @clue, #95 by @legionth)
-
Feature: Add request header accessors (à la PSR-7) (#103 by @clue)
// get value of host header $host = $request->getHeaderLine('Host'); // get list of all cookie headers $cookies = $request->getHeader('Cookie');
-
Feature: Forward
pause()
andresume()
fromRequest
to underlying connection (#110 by @clue)// support back-pressure when piping request into slower destination $request->pipe($dest); // manually pause/resume request $request->pause(); $request->resume();
-
Fix: Fix
100-continue
to be handled case-insensitive and ignore it for HTTP/1.0. Similarly, outgoing response headers are now handled case-insensitive, e.g we no longer apply chunked transfer encoding with mixed-caseContent-Length
. (#107 by @clue)// now handled case-insensitive $request->expectsContinue(); // now works just like properly-cased header $response->writeHead($status, array('content-length' => 0));
-
Fix: Do not emit empty
data
events and ignore empty writes in order to not mess up chunked transfer encoding (#108 and #112 by @clue) -
Lock and test minimum required dependency versions and support PHPUnit v5 (#113, #115 and #114 by @andig)
-
Fix: Do not take start of body into account when checking maximum header size (#88 by @nopolabs)
-
Fix: Remove
data
listener ifHeaderParser
emits an error (#83 by @nick4fake) -
First class support for PHP 5.3 through PHP 7 and HHVM (#101 and #102 by @clue, #66 by @WyriHaximus)
-
Improve test suite by adding PHPUnit to require-dev, improving forward compatibility with newer PHPUnit versions and replacing unneeded test stubs (#92 and #93 by @nopolabs, #100 by @legionth)
- Remove all listeners after emitting error in RequestHeaderParser #68 @WyriHaximus
- Catch Guzzle parse request errors #65 @WyriHaximus
- Remove branch-alias definition as per reactphp/reactphp#343 #58 @WyriHaximus
- Add functional example to ease getting started #64 by @clue
- Naming, immutable array manipulation #37 @cboden
- Replaced guzzle/parser with guzzlehttp/psr7 by @cboden
- FIX Continue Header by @iannsp
- Missing type hint by @marenzo
- BC break: Bump minimum PHP version to PHP 5.4, remove 5.3 specific hacks
- BC break: Update to React/Promise 2.0
- BC break: Update to Evenement 2.0
- Dependency: Autoloading and filesystem structure now PSR-4 instead of PSR-0
- Bump React dependencies to v0.4
- Bump React dependencies to v0.3
- Bug fix: Emit end event when Response closes (@beaucollins)
- Bug fix: Forward drain events from HTTP response (@cs278)
- Dependency: Updated guzzle deps to
3.0.*
- Version bump
- Feature: Support HTTP 1.1 continue
- Bump React dependencies to v0.2
- Version bump
- First tagged release