Skip to content

v0.6.0 — R2 chunk storage and persistent MCP authorizations

Choose a tag to compare

@odiak odiak released this 09 Oct 06:25
68b58c2

R2 chunk storage

  • Add optional R2 storage for large LiveSync leaf revision bodies. Hosts configure chunkBucket and an optional byte threshold (64 KiB by default); the policy applies to every new write.
  • Add internal storage statistics and resumable migration for existing SQLite chunks, with read-back verification before switching storage.
  • Preserve replication document IDs, revisions and change sequences, and support external bodies in note reconstruction and search indexing.
  • Track R2 usage, clean up compacted revisions, and purge vault objects. Serialize vault operations across asynchronous storage calls.

See the storage and migration guide for host integration and operational requirements. Hosts without a chunk bucket retain SQLite-only storage. Once chunks are externalized, keep the bucket binding and reader support; recovery requires both SQLite and R2.

MCP authorization and connections

  • Allow refreshTokenTTL: null for indefinite authorizations; the library's default remains 30 days and access tokens still expire after one hour.
  • Enable indefinite authorizations in the single-tenant app and show authorized MCP clients to signed-in administrators.
  • Existing finite grants keep their expiry until the client reconnects.

Validation

Type checking, 174 tests, and the library build passed. R2 storage and migration were also exercised with local Durable Object SQLite and R2 bindings.