mqlite v0.1.0 — first release
A small, SQLite/Turso-backed message queue with Azure Service Bus–style
semantics, in a single pure-Go binary (no CGO). Embed it in your Go process like
goqite, or run it as an HTTP broker — the same engine.
Highlights
- Peek-Lock delivery with four-way settle (
Complete/Abandon/Reject/
Defer),Renew, fencing tokens, anddelivery_count→ dead-letter queue. - Dedup (idempotent send), idempotent receive/settle (attempt-id), and
scheduled / deferred messages. - Ordering modes:
standard(per-GroupIDFIFO with cross-group parallelism),
group_fifo, andstrict_fifo. - Topics + subscriptions with subject-prefix filters; DLQ redrive /
purge. - One engine, two front-ends: run it embedded (in-process, with same-DB
transactional enqueue) or as a broker (JSON-over-HTTP + Bearer auth). Storage
is local SQLite or remote Turso/libSQL, selected by a connection string.
Quality
Verified on this release's runtime (commit d0d89da; the tag adds only
documentation on top):
- CI green: test matrix on macOS / Linux / Windows × Go 1.21.x + stable,
-race,
golangci-lint(0 issues), per-package coverage gate (~72%), Docker build +
/healthzsmoke. - Black-box E2E (curl + Python + Go SDK): 108 / 108.
- Real Turso/libSQL nightly: green —
TestTursoIntegration,
TestTursoExtended,TestTursoConcurrent(concurrent dedup + exclusive claim). - Release build environment
golang:1.25-alpine(Go 1.25.11):govulncheck
reports 0 vulnerabilities affecting the code.
Install / run
go get github.com/mqlitehq/mqlite # embed the SDK (requires Go >= 1.21)
# or run the broker:
docker build --platform linux/amd64 --pull -t mqlite:0.1.0 .
docker run --platform linux/amd64 -p 8080:8080 -e MQLITE_TOKENS=mqk_dev mqlite:0.1.0Compatibility
The library requires Go 1.21+ to import (maximum embedding compatibility).
Release binaries are compiled with Go 1.25.11, carrying the latest Go standard-
library security fixes.
Honest notes
- Delivery is at-least-once, not exactly-once — handlers must be idempotent.
- Under
synchronous=NORMAL(the default) a sudden power loss can drop the last few
not-yet-checkpointed messages; chooseFULLif that window is unacceptable. - Embedded mode is single-process, single-writer; for multiple processes or
hosts, run the broker (or point it at Turso).
Scope
This release is the core library + broker (mqlitehq/mqlite). The public
documentation site is maintained separately and is not part of this tag.