0.8.0
AssegaiPHP Core 0.8.0
0.8.0 is the OpenSwoole runtime foundations release.
This is a runtime architecture milestone. It gives AssegaiPHP a real alternate runtime path instead of treating the PHP built-in server model as the only way the framework can run.
The headline here is not just “OpenSwoole support exists.”
The more important change is that the framework now has the runtime architecture needed to support a long-lived worker model safely, while keeping the default PHP runtime as the normal path for teams that do not want to opt in yet.
Highlights
Experimental OpenSwoole runtime support
AssegaiPHP can now be served through an experimental OpenSwoole runtime path for validation and early adoption.
That includes:
- runtime selection through the CLI
- project-level OpenSwoole server configuration
- request/response bridging for the alternate runtime
- application bootstrap and shutdown behavior that fits long-lived workers better
If you do nothing, your app can keep running on the default PHP runtime as before.
Safer request isolation in long-lived workers
0.8.0 separates application-scoped state, request-scoped state, and runtime-specific response handling more carefully than before.
That makes sequential requests inside one worker much safer than they would be under a short-lived-request-only design.
Better lifecycle support
0.8.0 adds clearer lifecycle hooks around:
- module initialization
- application bootstrap
- application shutdown
That work helps the runtime itself and also improves package integration for features that need a clean bootstrap point.
Better upgrade and package repair support
The release also improves the CLI upgrade path around installed package integrations.
Package-driven integrations like ORM and Events can now be repaired more safely during an upgrade instead of relying only on fresh-project wiring.
Runtime configuration validation
Invalid OpenSwoole configuration now fails early instead of slipping into harder-to-debug runtime startup errors.
Important status note
OpenSwoole support in 0.8.0 should be treated as experimental.
This release establishes the runtime foundations. It does not mean every long-lived runtime feature is complete or production-polished yet.
What 0.8.0 does not claim is just as important:
- WebSockets are not part of this release
- streaming APIs are not part of this release
- this is not yet a blanket promise that every async runtime feature is production-ready
For most teams, the practical message is simple:
- keep the default PHP runtime if that is what you need
- use
0.8.0to validate the OpenSwoole path deliberately - treat OpenSwoole as experimental until you have tested your own app against it
Upgrade notes
If you are upgrading from 0.7.6:
assegai updatecan now replay installed package installers after the version bump- if your bootstrap still depends on the current working directory, switch it to
AssegaiFactory::createFromProject(AppModule::class, __DIR__) - if your app uses docs or API export heavily, recheck
/docs, OpenAPI export, and Postman export after the upgrade
Documentation
This release is accompanied by:
- OpenSwoole getting-started guidance
- a deeper runtime guide
- upgrade guidance for
0.7.6 -> 0.8.0 - an engineering article explaining why the runtime work matters and what comes next
What comes next
After 0.8.0, the next major milestone is 0.9.0, focused on ORM stability.
That work will concentrate on:
- hardening MySQL support
- properly implementing SQLite as a supported target
- bringing PostgreSQL support up to the same level
- making the query builder and SQL generation properly dialect-aware
Full Changelog: 0.7.6...0.8.0