Skip to content

9.0.0

Choose a tag to compare

@loks0n loks0n released this 30 Oct 22:06
· 9 commits to main since this release

Breaking changes

Require utopia-php/cache ^6.0, resolved to stable 6.0.0. No development dependency or version alias is used.

Replace the legacy started/finished counters and owner sidecars with one atomic writer record. Its CAS version is the collection epoch. Every writer completion rotates that identity, including a writer whose registration was evicted, preserving newer live writers and retiring pre-commit fills. Query cache getGeneration() becomes getLease(). Unsupported adapters bypass coordinated database caching.

Upgrade

Drain and stop legacy API, worker, task and migration writers; clear disposable cached data; deploy matching cache 6.x/database 9.x libraries everywhere; then resume. Rollback requires the same cutover. No additional Dragonfly or connection DSN is required. Successful post-commit invalidation remains necessary; durable replay of lost completions is separate work.

Validation

Released from c0c72c7 with all 21 PR checks passing. The complete local unit suite passes 13,140 tests and 199,561 assertions against stable cache 6.0.0; both PHPStan configurations and Pint pass. Native Redis/Dragonfly/SQLite regressions cover state eviction, stale fills and in-flight transaction completion.

Implementation: #1049
Cache release: https://github.com/utopia-php/cache/releases/tag/6.0.0