v0.16.1
v0.16.1 makes index failures clear, fixes cancellation handling, strengthens
cache publication, and updates Go, Zoekt, other Go modules, and pinned workflow
actions.
Search and indexing
- Searches with matches exit 0. A valid search with no matches exits 1 without
an error. Usage, indexing, and search failures exit 2. - Invalid queries and paths, missing Git or Universal Ctags, and index limits
now have direct messages. Tool and limit errors include a remedy.
--verboseadds technical details. - Caller cancellation now propagates through concurrent corpus searches.
Explicit corpus errors stop the command. Independent worker failures in
discovered Git repositories warn and skip that repository. Worker panics
terminate Seek. - A failed initial build stops the search. A recoverable refresh failure can
keep a published index searchable with a warning. Index-limit failures never
search stale shards. - Seek checks
HEADand dirty-file metadata before it records an index as
current. New repositories withoutHEADcan index untracked files. - Single-dash Zoekt queries remain query text. Unknown long options fail and can
suggest a valid option. Near-subcommand words such asgccremain queries.
Zoekt and cache upgrade
- Zoekt moves from
a0f5789d25cbtodf97bab6f7bb. It now preserves field
filters inside parentheses, detects binary content that starts with NUL, and
continues content indexing after a per-file Ctags timeout. Asym:query can
omit that timed-out file. - Zoekt now uses its go-git path by default after upstream
git cat-filememory
problems. - v0.16.0 caches are not reused. Their identity changes from
zoekt-a0f5789d25cbtozoekt-index-v16-feature-v12. The first search for a
corpus builds a new cache; cache collection later removes the old one.
Future Zoekt-only updates rotate this token only when Zoekt changes its index
format or feature version.
Index limits
Folder indexes allow 1,000,000 candidate files and 10 GiB of indexed bytes.
Git applies limits of 10,000,000 candidate entries and 10 GiB separately to its
committed and working-tree indexes. A scoped Git search can use a bounded
fallback when the full repository exceeds a limit; an unscoped search reports
the error. file: filters apply after indexing and do not reduce these limits.
Requirements and install
Source builds require Go 1.27.0. Git is required for Git-backed searches, and
Universal Ctags is required to build or update an index. The tagged README
incorrectly says Go 1.25+ and links to the prior Zoekt query documentation; use
the matching query documentation.
Install Universal Ctags first. Then install this release:
curl -sSfL \
https://raw.githubusercontent.com/dualeai/seek/v0.16.1/install.sh |
sh -s -- v0.16.1Known issue
After a cached repository switches to an unborn branch with
git switch --orphan and has untracked files, Seek can retain results from the
prior committed branch. Commit the new branch, or run seek gc --all before
you rely on the results. The latter evicts all unlocked Seek corpora.
Focused tests and direct cache-upgrade and orphan-branch checks passed on the
tagged commit.
Seek changelog: v0.16.0...v0.16.1
Zoekt changes: a0f5789d25cb...df97bab6f7bb