Skip to content

v0.16.2

Latest

Choose a tag to compare

@clemlesne clemlesne released this 26 Aug 20:39
· 32 commits to main since this release

v0.16.2 fixes two cache lifecycle errors:

  • After a warm repository switches to an unborn branch, a successful refresh
    no longer saves old committed files with current dirty files.
  • Seek now removes Zoekt .zoekt.meta tombstone sidecars with their .zoekt
    shards. This prevents a stale tombstone from hiding a recreated path.

Existing v0.16.1 no-HEAD caches with committed shards or sidecars repair during
their next successful refresh. No CLI syntax, dependency, Zoekt revision,
index format, or cache key changed. v0.16.1 corpora remain eligible for reuse.

Install

Universal Ctags is required to build or update an index. Git is required for
Git-backed searches; Git 2.31 or later is required for worktrees. Source
builds require Go 1.27.0.

The tagged README incorrectly says Go 1.25+ and links to the prior Zoekt query
documentation. Use the matching query documentation.

curl -sSfL \
  https://raw.githubusercontent.com/dualeai/seek/v0.16.2/install.sh |
  sh -s -- v0.16.2

Known limitations

  • v0.16.2 does not repair an otherwise empty v0.16.1 cache whose only
    remaining index artifact is an orphan uncommitted_*.zoekt.meta sidecar.
    It can hide a recreated dirty path. If this happens, run seek gc --all
    and search again. The command evicts each corpus that is not in active use;
    an evicted corpus rebuilds when next searched.
  • While another process builds, or when a failed refresh leaves usable shards,
    Seek can search the last published index. During a committed-to-unborn
    transition, this can return an old-branch result. A later successful refresh
    removes that result.

Validation

The tagged tree passed focused lifecycle tests, go test -race ./cmd/seek,
make lint, make test-static, and a compiled CLI warm-to-orphan replay.

Full changelog: v0.16.1...v0.16.2