Releases: clue/framework-x
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)
v0.6.0
Imported release from original tag date 2021-12-20.
-
Feature: Support automatic dependency injection by using class names (DI container).
(#89, #92 and #94 by @clue)<?php require __DIR__ . '/../vendor/autoload.php'; $app = new FrameworkX\App(Acme\Todo\JsonMiddleware::class); $app->get('/', Acme\Todo\HelloController::class); $app->get('/users/{name}', Acme\Todo\UserController::class); $app->run();
-
Feature: Add support for explicit DI container configuration.
(#95, #96 and #97 by @clue)<?php require __DIR__ . '/../vendor/autoload.php'; $container = new FrameworkX\Container([ Acme\Todo\HelloController::class => fn() => new Acme\Todo\HelloController(); Acme\Todo\UserController::class => function (React\Http\Browser $browser) { // example UserController class requires two arguments: // - first argument will be autowired based on class reference // - second argument expects some manual value return new Acme\Todo\UserController($browser, 42); } ]); // …
-
Feature: Refactor to use
$_SERVER
instead ofgetenv()
.
(#91 by @bpolaszek) -
Update test suite to use stable PHP 8.1 Docker image.
(#90 by @clue)
v0.5.0
Imported release from original tag date 2021-11-30.
-
Feature / BC break: Simplify
App
by always using default loop, drop optional loop instance.
(#88 by @clue)// old $loop = React\EventLoop\Loop::get(); $app = new FrameworkX\App($loop); // new (already supported before) $app = new FrameworkX\App();
-
Add documentation for manual restart of systemd service and chapter for Caddy deployment.
(#87 by @SimonFrings and #82 by @francislavoie) -
Improve documentation, remove leftover
$loop
references and fix typos.
(#72 by @shuvroroy, #80 by @Ivanshamir, #81 by @clue and #83 by @rattuscz)
v0.4.0
Imported release from original tag date 2021-11-23.
We are excited to announce the official release of Framework X to the public! 🎉🚀
This release includes exciting new features such as full compatibility with PHP 8.1,
improvements to response handling, and enhanced documentation covering nginx,
Apache, and async database usage.
-
Feature: Improve
AccessLogHandler
and fix response size for streaming response body.
(#47, #48, #49 and #50 by @clue) -
Feature / Fix: Skip sending body and
Content-Length
for responses with no body.
(#51 by @clue) -
Feature / Fix: Consistently reject proxy requests and handle
OPTIONS *
requests.
(#46 by @clue) -
Add new documentation chapters for nginx, Apache and async database.
(#57, #59 and #60 by @clue) -
Improve documentation, examples and describe HTTP caching and output buffering.
(#52, #53, #55, #56, #61, #62 and #63 by @clue)
v0.3.0
Imported release from original tag date 2021-09-23.
-
Feature: Improve error output and refactor internal error handler.
(#37, #39 and #41 by @clue) -
Feature: Support changing listening address via new
X_LISTEN
environment variable.
(#38 by @clue) -
Feature: Update to new ReactPHP HTTP and Socket API.
(#26 and #29 by @HLeithner and #34 by @clue) -
Feature: Refactor to use new
AccessLogHandler
,RouteHandler
,RedirectHandler
andSapiHandler
.
(#42, #43, #44 and #45 by @clue) -
Fix: Fix path filter regex.
(#27 by @HLeithner) -
Add documentation for async middleware and systemd service unit configuration.
(#24 by @Degra1991 and #32, #35, #36 and #40 by @clue) -
Improve test suite and run tests on Windows with PHPUnit.
(#31 by @SimonFrings and #28 and #33 by @clue)
v0.2.0
Imported release from original tag date 2021-06-18.
-
Feature: Simplify
App
usage by makingLoopInterface
argument optional.
(#22 by @clue)// old (still supported) $loop = React\EventLoop\Factory::create(); $app = new FrameworkX\App($loop); // new (using default loop) $app = new FrameworkX\App();
-
Feature: Refactor and simplify route dispatcher.
(#21 by @clue) -
Feature: Add Generator-based coroutine implementation.
(#17 by @clue) -
Minor documentation improvements.
(#15, #16 and #19 by @clue)
v0.1.0
Imported release from original tag date 2021-04-30.
We're excited to announce the release of the first version of Framework X in
private beta! This version marks the starting point of our project and is the
first of many milestones for making async PHP easier than ever before.
-
Release Framework X, major documentation overhaul and improve examples.
(#14, #13 and #2 by @clue) -
Feature: Support running behind nginx and Apache (PHP-FPM and mod_php).
(#3, #11 and #12 by @clue) -
Feature / Fix: Consistently parse request URI and improve URL handling.
(#4, #5, #6 and #7 by @clue) -
Feature: Rewrite
FilesystemHandler
, improve file access and directory listing.
(#8 and #9 by @clue) -
Feature: Add
any()
router method to match any request method.
(#10 by @clue)