Persistence

day-persistence is the independently versioned, first-party SQLite persistence extension for Day. It builds on Day’s public model and reactive APIs; apps that do not use it do not depend on it.

[dependencies]
day = { git = "https://github.com/daybrite/day.git", features = ["model"] }
day-persistence = { git = "https://github.com/daybrite/day-persistence.git" }

The default features provide bundled SQLite and the live-list adapter. Other options include system SQLite, SQLCipher, and date/time codecs. day-model remains part of Day and works without persistence.

The web

The extension’s day-sqlite-worker crate owns its SQLite engine, OPFS worker, and browser protocol. Day discovers its browser files through [package.metadata.day.web], just like any other extension. See the web engine guide.

Compatibility and local development

Use the same Day source/version for the application and extension. To work on both checkouts, apply local Cargo patches at the consuming workspace root; do not compile a second copy of Day’s model/reactive crates. See the extension’s README for setup and validation.