Repository navigation
Releases: Xveyn/vectorgrep
Releases · Xveyn/vectorgrep
Release list
vectorgrep v0.3.0
vectorgrep now holds up when several agents use it at the same time, and tells
agents itself when and how to use it.
Added
- Usage instructions for agents: the server sends instructions, and every
tool description says when to use it — semantic search for questions about
what code does, grep for exact text,initonce per project,index_update
for routine refreshes. These reach every agent, including Explore and Plan
subagents, which don't receive a project's CLAUDE.md (#53). search_symbolscan filter byenumandmodule(#41).
Changed
- Searching a project that was never indexed now answers "No index found …
Run 'init'" instead of an empty result, and no longer creates empty tables
(#52). - Requests to Ollama and OpenAI time out after 60 seconds (Ollama's
availability check after 5 seconds) and are retried, instead of waiting
forever for a server that doesn't answer (#33).
Fixed
- Parallel tool calls, e.g. from subagents sharing one server: concurrent
index_updatecalls added the same new files twice or failed with LanceDB
commit conflicts, and a search started duringinitorreindexkept
returning nothing afterwards. Index writes for a project now run one after
another, and searches wait for them (#52). index_updateindexed every file a second time when it couldn't read the
existing file hashes (#32).index_statusshowed wrong file, chunk and symbol counts after
index_update(#37).- Projects using different transformers.js models in the same server process
overwrote each other's model (#30).
Internal
- Test coverage is measured in CI and may not drop below a floor (currently
84 % statements, 71 % branches, 90 % functions, 85 % lines). New tests cover
input sanitizing, retries, the embedding cache, result formatting and all
tool handlers (#54, #55). - The README installs from npm instead of cloning (#51); CLAUDE.md now holds
project guidance only, open work is tracked in GitHub issues (#67).
Upgrade notes
- No reindex required — the index format is unchanged since 0.2.0.
- Wrong counts in
index_statusfrom earlier versions are corrected the next
timeindex_updatefinds changes, or right away withreindex.
vectorgrep v0.2.0
The first public release on npm, under the new name vectorgrep — plus a long
list of search and indexing fixes found in a code audit and in an end-to-end
test against a real ~2,700-file project.
Added
- Published on npm as
vectorgrep:npm install -g vectorgrepor
npx -y vectorgrep, no clone and build needed. Releases are published with
npm trusted publishing and carry a provenance attestation.
Changed
- Renamed the project to
vectorgrep(npm package, CLI command, MCP server
name and GitHub repository, formerlycodebase-semantic-search). The storage
location~/.vectordb/and the.vectordb.jsonconfig file are unchanged. - Node.js 20 or newer is required (Node 18 is end-of-life).
embedding.modelis optional; each embedding provider uses its own default
model when none is configured.- Include/exclude patterns are matched with
minimatchin both discovery modes.
Files in dot-directories such as.github/are no longer indexed in git mode
unless an include pattern names them.
Fixed
- LanceDB filters on camelCase columns never matched, because double-quoted
identifiers are string literals:index_updateduplicated modified files and
kept deleted ones,filePatternandsymbolTypesfilters returned nothing, and
exact symbol-name matching never ran (#24). - Reused chunk vectors were stored as
NaNduring incremental updates (#24). - The default config was a shared object mutated across projects and calls, so
settings from oneinitleaked into other projects (#25). - The transformers.js fallback persisted the wrong embedding model, breaking
every search andindex_updateafterinit(#18, #25). LineChunkerlooped forever whenoverlapLines >= maxChunkLines(#26).- AST chunking dropped the bodies of long functions and all code outside
declarations, and produced duplicate chunk ids for symbols sharing a line
range (#26). - Tree-sitter WASM lookup used
require.resolve, which doesn't exist in ESM (#26). - In git mode, default exclude patterns never matched,
includewas ignored,
non-ASCII filenames were skipped, and a failinggit ls-filesproduced an empty
index instead of falling back to glob (#27). initandreindexsilently discarded the entire index while reporting success
when another MCP server process recreated the tables during indexing; searches
then returned nothing (#47).
Internal
- Community health files (
CONTRIBUTING.md,CODE_OF_CONDUCT.md,SECURITY.md,
issue/PR templates), CI on Node 20/22 and Dependabot. - Release process: a PR labeled
release:major|minor|patchpublishes to npm
on merge, tags the version and uses this changelog section as the GitHub
release notes. SeeRELEASING.md. - Removed the unused dependencies
@anthropic-ai/sdkandchokidar; bumped
dependencies to resolve security advisories, withsharpandadm-zippinned
viaoverrides. - Upgraded
vitestto v4,zodto v4,@huggingface/transformersto v4 and
globto v13. - CI and release skip onnxruntime-node's CUDA download, which repeatedly timed
out (#48).
Upgrade notes
- Run
reindexonce after upgrading. Existing indexes may contain duplicate or
stale chunks, miss code that was previously dropped, or record the wrong
embedding model.