Compatibility and Upgrades
Strata is pre-1.0. Package APIs, protocol v0, and storage can change.
Keep package versions together
Section titled “Keep package versions together”Use the same Strata commit or release for strata_protocol,
strata_document, strata_client, the transport package, and
strata_server. The shared protocol package reduces drift, but mixed commits
can still have incompatible public APIs or behavior.
Wire compatibility
Section titled “Wire compatibility”Every public frame has "v": 0. A decoder rejects another version. Strata
does not negotiate versions. Upgrade the server and applications as one
release when a change modifies the wire format.
Storage compatibility
Section titled “Storage compatibility”Strata has no storage migration command. Before an upgrade:
- Stop the server.
- Back up both DETS files.
- Read the release notes and package changelogs.
- Start the new version with a copy of the data.
- Verify document snapshots and parent-child operations.
Keep the old binary and backup until the verification is complete.
Schema compatibility
Section titled “Schema compatibility”Application schema versions are separate from the wire version. Use stamped schemas to detect incompatible document data. See Schema Design and Evolution.