Turso 0.7.2 capability matrix

Copy Markdown View Source

See the exact native capability record for lockfile resolutions, source links, feature decisions, target status, and proof.

The native crate pins turso = 0.7.2 with default features disabled and opts back into deliberate fts and pure-rust-crypto features. This avoids Turso's mimalloc global allocator while providing search and portable encryption. The observations below were verified against the published 0.7.2 crate source and Tursox tests.

Capability0.7.2 public APITursox 0.1 plan
Local file and :memory: builderYesEpic 2
Many Database::connect connectionsYesEpic 2
Busy timeout, autocommit, cache flushYesEpic 2
Real prepared statements and incremental Rows::nextYesEpic 3
Ordered names and declaration typesYesEpic 3
BusySnapshot error variantYesEpic 4
BEGIN CONCURRENT / MVCC pragmaEngine SQL, experimentalEpic 4
MVCC passive checkpoint builder switchYes, unsafe runtime probeExposed through unsafe_features
Manual local checkpoint Rust methodNoWAL/MVCC PRAGMA; PASSIVE MVCC is unsafe child-only
Multiprocess WAL builder switchYes, experimentalValidated, not production-supported
Cloud syncFeature-gatedDeferred
Interrupt handleNo stable Rust APIUnsupported
Read-only/open-mode builderNo stable Rust APIUnsupported
FTS index method/functionsCargo fts + builder switchSupported, opt-in per database
EncryptionPublic Builder + key optionsSupported; eight ciphers, explicit opt-in
AutovacuumCore/SDK only; top Builder omissionExposed by exact-source adapter; pinned behavior partial
Runtime extension loadingPer-connection SDK gateExposed through unsafe_features; Turso ABI required

All eleven current documented experimental flags are accepted by Database.open/2. Triggers and strict tables are always enabled. Stable-enough switches use features; known process-killing paths use unsafe_features but remain accessible. Runtime extension libraries execute arbitrary native code inside the BEAM and must export Turso's register_extension ABI; SQLean 0.28.3 exports SQLite entry points and is therefore rejected with an exact loader error.

MVCC is experimental upstream and provides snapshot isolation, not a claim of serializability. Behavior present only in Turso main is not part of this matrix.