Skip to content

9.1.0

Choose a tag to compare

@loks0n loks0n released this 31 Oct 00:02
· 1 commit to main since this release
52af274

Add an explicit temporary bridge for rolling migration from cache 5/database 8 to eviction-safe CAS caching on the existing Redis/Dragonfly.

Roll three passes: legacy reads with both invalidation protocols, dual (v2 reads with both protocols), then v2 only. Verify every legacy-only process and in-flight write has finished before enabling v2 reads; retire legacy readers and the rollback window before v2-only writes. No region shutdown, cache flush or extra state service is required. Preserve the isolated v2 namespace during later cleanup.

Requires stable cache ^6.1.1. It preserves ordinary legacy registrations under Cloud's fill-grace setting while conditional fills remain fenced. Documents, definitions, negative entries, queries, standalone cache regions, partial completion errors, circuit breakers and logical purge recording are covered. Query slot zero uses the same field for conditional fills and reads.

Validation: all 21 PR checks pass, and the complete unit suite passes 13,151 tests /199,715 assertions. The released cache 6.1.1 package passes 15 compatibility/eviction tests /169 assertions, with an isolated released database 8.3.15/cache 5.2.0 process sharing Redis and SQL with bridge clients.

Implementation and migration documentation. A successful post-commit invalidation remains necessary; durable replay of lost completions is separate work.

For Appwrite rolling upgrades with application list caches, use database 9.1.1 or newer. It preserves legacy batch fills and supports expiring list-marker rotation in both keyspaces.