Crates
The fslite workspace is six crates. Each has its own stability tier
and intended audience. The stability tier is a hint about how much the
public API surface may shift before 1.0; pinning to =0.1.x keeps you
on the same tier.
| Crate | Stability | Audience |
|---|---|---|
fslite-core | Stable within 0.x | Library embedders, backend implementers |
fslite-sqlite | Stable within 0.x | Library embedders |
fslite-conformance | Preview | Backend implementers |
fslite-server | Preview | HTTP-server deployers |
fslite-command | Preview | Custom CLI / IPC embedders |
fslite-cli | Preview | End users |
What "Stable within 0.x" means
The public API surface is complete. Breaking changes are reserved for
the 1.0 cut; pre-1.0 releases may add new APIs but should not
remove or change signatures of existing ones. fslite-core is the
contract that every other crate implements; fslite-sqlite is the
reference implementation every embedder can also use directly. Both
succeed the conformance suite
across releases.
What "Preview" means
The API may shift before 1.0; pin to =0.1.0 if you embed any of these
crates. Concretely:
fslite-conformance— the contract itself evolves withfslite-core. Test names and case structure may be added, removed, or renamed as the canonical contract tightens.fslite-server— the HTTP route table is stable (see theroutes/module), but theAuthProvidertrait andAppStatestruct are still being hardened. Breaking changes are likely before 1.0.fslite-command— theCommandcodec is stable (verbs + per-verb*Optionsshape). TheLocalExecutorandRemoteExecutorinterfaces are stable. New sanitizers may be added without bumping the major.fslite-cli— flag names and behaviour are stable; new verbs and flags may be added without bumping. Breaking changes will bump the minor perSEMVER.md.
Release notes
See v0.1.0 for the current release notes and the per-crate stability tier declarations.