Skip to content

v0.1.0 — initial standalone release

Latest

Choose a tag to compare

@zxdev zxdev released this 03 Jul 00:40

Embeddable, append-only topic log for Go — a single-node, disk-backed queue with per-consumer offsets. Zero external dependencies (Go standard library only). GPL-3.0-or-later.

Highlights

  • Sharded, rotating binary log segments with CRC-checked frames; opt-in fixed-width record format (PayloadWidth) with O(1) cold-start load
  • Prefix-consistent reads: a record is never visible while an earlier sequence is still buffered, so committing the highest sequence read is always safe; Durable(topic) marks the permanent-gap boundary
  • Consumer offset commits with RegisterConsumer retention protection and observable data loss (TopicStat.Dropped)
  • Retention by whole-segment deletion, per-topic/global byte caps, or never-expire archival mode (Retention: -1)
  • Single-writer safety: exclusive directory lock (linux/darwin) plus a ReadOnly mode for inspecting a live directory
  • Flush-failure containment: truncate-before-retry and MaxBufferBytes backpressure
  • Zero-copy Scan/ScanAll, blocking ReadWait, compact binary wire encoding for transport
  • cmd/scribe management/inspection CLI (version-stamped via build/scribe); examples for direct embedding, HTTP, Unix socket, and MCP

Docs

The internal/mmap package is derived from golang.org/x/exp/mmap and retains its BSD-3-Clause license.