Skip to content

Releases: clue/framework-x

v0.7.0

05 Mar 14:49
21f612e
Compare
Choose a tag to compare

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

05 Mar 14:49
74fafca
Compare
Choose a tag to compare

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 of getenv().
    (#91 by @bpolaszek)

  • Minor documentation improvements.
    (#100 by @clue)

  • Update test suite to use stable PHP 8.1 Docker image.
    (#90 by @clue)

v0.5.0

05 Mar 14:49
5e86f28
Compare
Choose a tag to compare

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

05 Mar 14:49
799f971
Compare
Choose a tag to compare

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: Announce Framework X public beta.
    (#64 by @clue)

  • Feature: Full PHP 8.1 compatibility.
    (#58 by @clue)

  • 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

05 Mar 14:49
1371907
Compare
Choose a tag to compare

Imported release from original tag date 2021-09-23.

  • Feature: Add support for global middleware.
    (#23 by @clue)

  • 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 and SapiHandler.
    (#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

05 Mar 14:48
f79feb6
Compare
Choose a tag to compare

Imported release from original tag date 2021-06-18.

  • Feature: Simplify App usage by making LoopInterface 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: Add middleware support.
    (#18 by @clue)

  • 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

05 Mar 14:48
f8a3c42
Compare
Choose a tag to compare

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)