This release hardens the Durable Object hot path, reduces reconnect overhead, and fixes a real production crash caused by observability storage. For large vaults and reconnect-heavy usage, especially on mobile or unstable networks, the server should feel more stable and cheaper to wake.
Highlights
- Added lightweight room metadata for schema admission, so websocket compatibility checks no longer need to decode the full vault document in the common case.
- Added single-flight room loading, so concurrent cold-start requests share one startup load instead of duplicating work.
- Moved trace and debug handling off the hydration-critical path, so observability requests no longer wake the full room unnecessarily.
- Serialized daily snapshot “maybe” creation inside the room, preventing duplicate work under concurrency.
- Replaced the old single-value debug trace ring with bounded per-entry trace storage.
- Made trace persistence fail-open, so observability failures cannot take down the sync engine.
Fixes
- Fixed the SQLITE_TOOBIG crash loop caused by the old trace-ring storage model.
- Added bounded trace-entry sizing so oversized trace payloads are truncated safely.
- Added regression coverage for trace sizing, cold-start concurrency, and serialization behavior.
Upgrade
If you already use the GitHub Actions update flow introduced in 1.4.0, update normally through the YAOS server update path. No manual data migration is required.