Releases: clue/framework-x
v0.16.0
We are thrilled to announce the official release of v0.16.0
to the public! 🎉🚀 Additionally, we are making all previous tagged versions available to simplify the upgrade process. In addition to the release of v0.16.0
, this update includes all prior tagged releases.
This release includes exciting new features such as improved performance, additional options for access logging, updates to our documentation and nginx + Apache configurations, as well as many more internal improvements to our test suite and integration tests.
-
Feature: Improve performance by skipping
AccessLogHandler
if it writes to/dev/null
.
(#248 by @clue) -
Feature: Add optional
$path
argument forAccessLogHandler
.
(#247 by @clue) -
Minor documentation improvements and update nginx + Apache configuration.
(#245 and #251 by @clue) -
Improve test suite with improved directory structure for integration tests.
(#250 by @clue)
v0.15.0
Imported release from original tag date 2023-12-07.
v0.14.0
Imported release from original tag date 2023-07-31.
-
Feature: Improve Promise v3 support and use Promise v3 template types.
(#233 and #235 by @clue) -
Feature: Improve handling
OPTIONS *
requests.
(#226 by @clue) -
Refactor logging into new
LogStreamHandler
and reactive server logic into newReactiveHandler
.
(#222 and #224 by @clue) -
Improve test suite and ensure 100% code coverage.
(#217, #221, #225 and #228 by @clue)
v0.13.0
Imported release from original tag date 2023-02-22.
-
Feature: Forward compatibility with upcoming Promise v3.
(#188 by @clue) -
Feature: Full PHP 8.2 compatibility.
(#194 and #207 by @clue) -
Feature: Load environment variables from
$_ENV
,$_SERVER
andgetenv()
.
(#205 by @clue) -
Feature: Update to support
Content-Length
response header onHEAD
requests.
(#186 by @clue) -
Feature / Fix: Consistent handling for HTTP responses with multiple header values (PHP SAPI).
(#214 by @pfk84) -
Fix: Respect explicit response status code when Location response header is given (PHP SAPI).
(#191 by @jkrzefski) -
Add PHPStan to test environment on level
max
and improve type definitions.
(#200, #201 and #204 by @clue) -
Improve test suite and report failed assertions.
(#199 by @clue and #208 by @SimonFrings)
v0.12.0
Imported release from original tag date 2022-08-03.
-
Feature: Support loading environment variables from DI container configuration.
(#184 by @clue) -
Feature: Support typed container variables for container factory functions.
(#178, #179 and #180 by @clue) -
Feature: Support nullable and
null
arguments and default values for DI container configuration.
(#181 and #183 by @clue) -
Feature: Support untyped and
mixed
arguments for container factory.
(#182 by @clue)
v0.11.0
Imported release from original tag date 2022-07-26.
-
Feature: Make
AccessLogHandler
andErrorHandler
part of public API.
(#173 and #174 by @clue)<?php require __DIR__ . '/../vendor/autoload.php'; $app = new FrameworkX\App( new FrameworkX\AccessLogHandler(), new FrameworkX\ErrorHandler() ); // Register routes here, see routing… $app->run();
-
Feature: Support loading
AccessLogHandler
andErrorHandler
fromContainer
.
(#175 by @clue) -
Feature: Read
$remote_addr
attribute forAccessLogHandler
(trusted proxies).
(#177 by @clue) -
Internal refactoring to move all handlers to
Io
namespace.
(#176 by @clue) -
Update test suite to remove deprecated
utf8_decode()
(PHP 8.2 preparation).
(#171 by @SimonFrings)
v0.10.0
Imported release from original tag date 2022-07-14.
-
Feature: Built-in support for fibers on PHP 8.1+ with stable reactphp/async.
(#168 by @clue)$app->get('/book/{isbn}', function (Psr\Http\Message\ServerRequestInterface $request) use ($db) { $isbn = $request->getAttribute('isbn'); $result = await($db->query( 'SELECT title FROM book WHERE isbn = ?', [$isbn] )); assert($result instanceof React\MySQL\QueryResult); $data = $result->resultRows[0]['title']; return React\Http\Message\Response::plaintext( $data ); });
-
Feature: Support PSR-11 container interface by using DI container as adapter.
(#163 by @clue) -
Minor documentation improvements.
(#158 by @clue and #160 by @SimonFrings)
v0.9.0
Imported release from original tag date 2022-05-13.
-
Feature: Add signal handling support for
SIGINT
andSIGTERM
.
(#150 by @clue) -
Feature: Improve error output for exception messages with special characters.
(#131 by @clue) -
Add new documentation chapters for Docker containers and HTTP redirects.
(#138 by @SimonFrings and #136, #151 and #156 by @clue) -
Minor documentation improvements.
(#143 by @zf2timo, #153 by @mattschlosser and #129 and #154 by @clue) -
Improve test suite and add tests for
Dockerfile
instructions.
(#148 and #149 by @clue)
v0.8.0
Imported release from original tag date 2022-03-07.
-
Feature: Automatically start new fiber for each request on PHP 8.1+.
(#117 by @clue) -
Feature: Add fiber compatibility mode for PHP < 8.1.
(#128 by @clue) -
Improve documentation and update installation instructions for react/async.
(#116 and #126 by @clue and #124, #125 and #127 by @SimonFrings) -
Improve fiber tests to avoid now unneeded
await()
calls.
(#118 by @clue)
v0.7.0
Imported release from original tag date 2022-02-05.
-
Feature: Update to use HTTP status code constants and JSON/HTML response helpers.
(#114 by @clue)$app->get('/users/{name}', function (Psr\Http\Message\ServerRequestInterface $request) { return React\Http\Message\Response::plaintext( "Hello " . $request->getAttribute('name') . "!\n" ); });
-
Feature / Fix: Update to improve protocol handling for HTTP responses with no body.
(#113 by @clue) -
Minor documentation improvements.
(#112 by @SimonFrings and #115 by @netcarver)