Skip to content

0.8.0

Choose a tag to compare

@amasiye amasiye released this 09 Apr 05:00
ba67706

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.0 to 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 update can 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