Skip to content

v0.20.0

Choose a tag to compare

@jilio jilio released this 12 Sep 09:53
· 94 commits to main since this release
b345a43

Read-only SQLite stores

sqlite.OpenReadOnly opens an existing event store without creating a database, migrating its schema or changing its journal mode. SQLite enforces read-only access on every pooled connection; mutation methods return sqlite.ErrReadOnly.

Missing, uninitialized and incompatible stores fail without repair. Reads can observe later WAL commits. SQLite shared-memory sidecars may still change, so this API does not provide an immutable filesystem snapshot.

Existing APIs remain compatible. Core and SQLite retain Go 1.24.2 as their minimum; other module minimums are unchanged.

Validation and modules

All standalone minimum-Go-version jobs, workspace tests, race checks, vet and coverage checks passed on the release commit. Tests cover schema validation, write rejection, URI-sensitive filenames, pooled connections and concurrent WAL commits.

All four modules are released as v0.20.0:

go get github.com/jilio/ebu@v0.20.0
# Optional stores/instrumentation:
go get github.com/jilio/ebu/stores/sqlite@v0.20.0
go get github.com/jilio/ebu/stores/durablestream@v0.20.0
go get github.com/jilio/ebu/otel@v0.20.0

Changes: #58.