Reference
Crates

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.

CrateStabilityAudience
fslite-coreStable within 0.xLibrary embedders, backend implementers
fslite-sqliteStable within 0.xLibrary embedders
fslite-conformancePreviewBackend implementers
fslite-serverPreviewHTTP-server deployers
fslite-commandPreviewCustom CLI / IPC embedders
fslite-cliPreviewEnd 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 with fslite-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 the routes/ module), but the AuthProvider trait and AppState struct are still being hardened. Breaking changes are likely before 1.0.
  • fslite-command — the Command codec is stable (verbs + per-verb *Options shape). The LocalExecutor and RemoteExecutor interfaces 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 per SEMVER.md.

Release notes

See v0.1.0 for the current release notes and the per-crate stability tier declarations.