Releases: ModelsLab/octane-coroutine
Releases · ModelsLab/octane-coroutine
v0.8.10
Fixes
- Scope Lab404 impersonation manager to the coroutine sandbox application.
- Scope Laravel Socialite manager/provider cache per coroutine request.
- Scope Diglactic Breadcrumbs runtime manager state per coroutine request while preserving registered callbacks.
- Add a coroutine-local Sentry hub proxy and request-scoped Sentry tracing middleware handling.
Tests
- Added focused request-scope regression tests for Lab404 impersonation, Socialite, Breadcrumbs, and Sentry.
- Verified with the full package PHPUnit suite: 96 tests, 747 assertions.
v0.8.9
Fixes
- Rebind coroutine-scoped Auth::viaRequest custom guard creators so API-key guards read the current request under Swoole coroutines.
- Preserve request rebinding callbacks when scoped request instances are swapped.
- Avoid routing non-PDO drivers such as MongoDB through the coroutine DB pool.
- Preserve Swoole/OpenSwoole table row keys when validating column sizes.
- Size the Swoole request timer table from max_timer_table_size, max_conn, and max_coroutine for high-concurrency long-running requests.
Verification
- vendor/bin/phpunit: 91 tests, 707 assertions.
v0.8.7 - Coroutine production hardening
Production hardening
- Fix coroutine-scoped app()->handle() subrequests so nested API dispatch uses the scoped HTTP kernel/router and restores request bindings.
- Add request-local binding/build support for unbound classes so constructor-injected Request dependencies stay coroutine-local.
- Add Redis/cache/session request-scope cleanup to avoid socket/state reuse across concurrent coroutines.
- Add DB pool transaction cleanup, idle pruning, and pre-flush release ordering to prevent dirty transactions and stale pool counters.
- Add regression coverage for nested API shapes, request/container/session/cache/locale isolation, Redis manager isolation, DB transaction cleanup, and DB idle pruning.
Validation
- Package test suite: 82 tests, 687 assertions.
- App hardening tests: 9 tests, 33 assertions.
- App full suite: 1883 passed, 2 skipped.
- Docker stress with host MySQL/Redis validated fast full-stack, nested API app()->handle(), RemoteFile parity, DB transaction open/check, mixed slow/fast full-stack, and fixed-count 10k x 120s full-stack blocking IO with zero leak responses.
Production notes
Use Redis-backed cache/session, disable PDO and Redis persistent sockets, keep DB pool heartbeat and max idle pruning enabled, and size DB_POOL_MAX_CONNECTIONS per worker against MySQL max_connections.
v0.8.6
What's Changed
- Fix pools by @adhikjoshi in #2
New Contributors
- @adhikjoshi made their first contribution in #2
Full Changelog: v0.8.5...v0.8.6
v0.8.5
Full Changelog: v0.8.4...v0.8.5
v0.8.4
Full Changelog: v0.8.3...v0.8.4
v0.8.3
Full Changelog: v0.8.2...v0.8.3
v0.8.2
Full Changelog: v0.8.1...v0.8.2
v0.8.1
Full Changelog: v0.8.0...v0.8.1
v0.8.0
Full Changelog: v0.7.9...v0.8.0