Rust libraries for durable event streams and rebuildable application state. Append events, retain command receipts, and derive projections from committed history. The host supplies domain rules, authentication and trusted tenant identity.
Consumed as a library, with File, SQLite and PostgreSQL providers. In-memory operation is SQLite
:memory:. Choose a provider.
Version 0.3.0, under Apache-2.0. Pin the bare Git tag 0.3.0.
Release highlights summarize the
authoritative release notes.
Install Git and Rust 1.91 or newer. From a checkout of tag 0.3.0:
cargo test --locked -p eventlog-file -- --test-threads=1
cargo test --locked -p eventlog-sqlite -- --test-threads=1The full bash scripts/gate.sh gate runs tests, formatting and Clippy. Its PostgreSQL cases need
an explicit disposable fixture; some refuse a missing URL while others report a skip.
Quickstart · Production proof.
Tenant and stream constructors and deserialization enforce the same checks. Invalid public append input refuses before durable changes. Storage guarantees.
Hosted operation requires verified TLS, separate migration and application authority, a complete projection roster and a bounded connection budget. The local convenience constructor is loopback only. Hosted setup and recovery.
Trusted guards can reserve storage counters in the append transaction. The permit remains with the owning host. Admission and effects.
Snapshots are disposable caches. Observe the history generation before folding and save through
save_snapshot_checked. Snapshots and projections.
Guards return stable owner-defined refusal codes and roll back refused changes. Effect metadata records evidence; the application decides effect policy. Admission and effects.
Run production, capacity and restart fixtures only against disposable storage. Conformance proves behavior; deployment capacity needs the owner's workload and budgets. Proof prerequisites.
| Crate | Owns |
|---|---|
eventlog-core |
Envelopes, ports, aggregates, snapshots and projection contracts |
eventlog-file |
Local JSONL provider and strict inspection |
eventlog-sqlite |
Embedded and in-memory SQLite provider |
eventlog-postgres |
Server provider, hosted admission and safe committed feed |
eventlog-conformance |
Shared applicable provider exercises |
- Persistence guarantees: atomic groups, blobs, retries and capture.
- Operations: provisioning, recovery and projections.
- CHANGELOG.md: historical release records.
- AGENTS.md: contributor agreements.
Eventlog documentation · Start · Ecosystem · Impact · Releases