Skip to content

v0.4.0

Choose a tag to compare

@zot zot released this 15 Jun 09:16
· 27 commits to main since this release

Headline: LMDB → BBolt storage migration

The storage backend moved from LMDB (cgo) to BBolt (pure Go) — no more C dependency, simpler builds, fully portable.

⚠️ On-disk format break. Existing indexes are not readable by this version. Consumers must rebuild their index.

Chunker enhancements

  • FileChunker interface for binary formats — reads the file directly with hash-based skip, distinct from the content-based Chunker.
  • AppendAware chunkers with ErrAppendBoundary guard, enabling correct incremental >>-style appends.
  • ChunkerMetadata optional interface for chunkers to surface metadata.
  • Chunk locator and refcounted C-record fileids (a chunk's content can be shared across files via dedup).
  • DB.SetFileLength.

API

  • Exported ReadCRecord for power-user CRecord lookups.

Cleanup

  • Retired stale bigram requirements (the bigram index was removed earlier; SearchFuzzy's trigram OR-union covers typo tolerance).
  • A per-chunker content-transform hook was introduced and then fully retired within this cycle — the trigram index stays full-text (indexed verbatim; nothing stripped).

Full diff: v0.3.0...v0.4.0