Releases: nitrite/dbinspect
Release list
v0.1.0
First release. One protocol, implemented three times, at one version across all
seven artifacts.
Published
| Registry | Artifact |
|---|---|
| pub.dev | dbinspect_bridge, dbinspect_sqflite, dbinspect_drift, dbinspect_hive, dbinspect_hive_ce, dbinspect_mdns |
| crates.io | dbinspect-bridge |
| Maven Central | org.dizitart:dbinspect-bridge |
The core
The engine-neutral bridge: the wire protocol, pairing, the transport and the
release guard. It knows about no database.
- WebSocket transport with JSON-RPC framing, and a per-request deadline so one
slow adapter cannot wedge a session. - Pairing with a 40-bit code compared in constant time, per-session backoff, and
a limited number of attempts before pairing closes until the application
restarts. - Loopback is plain; anything else is TLS with a certificate generated for the
session, its fingerprint printed in the pairing banner to be pinned. - Capabilities are deny-by-default: an operation that is off is absent from
capabilities, not merely refused at call time. - The release guard: the bridge folds away in a release build and the protocol
strings fold away with it.
Transactions (§3.1)
beginTransaction, commitTransaction, rollbackTransaction, the
capabilities.transactions flag and the transactionEnded notification, so a
mutation is not permanent the instant it is accepted. Additive to v1 — a server
without them answers the badRequest an unknown method already gets.
transactions is the one capability that is not an opt-in, because it is not
a permission: it reports whether the engine underneath can roll a write back.
Drift and sqflite have it; hive and hive_ce report false, because a box has no
journal and a client needs to know that in front of the keystroke rather than
after it.
Adapters
dbinspect_sqflite, dbinspect_drift, dbinspect_hive and dbinspect_hive_ce,
plus optional mDNS advertising in dbinspect_mdns.