v1.0.0
Features
- fix(build): fail loudly when vendored grammars are missing
- Merge experimental graph augmentation (off by default)
- retrieval: experimental structural graph augmentation (VERA_GRAPH_AUGMENT)
- retrieval: rerank path-glob scoped searches
- parsing: index TS/JS/Java class methods and Java enum methods
- search: repeatable --path filter, symbol-type aliases
- reranker: support Voyage rerank endpoints
- config: support embedding model aliases
- reranker: prefer API reranking over local when credentials configured
- Merge pull request #31 from freaksdotcom/bhigh/vera-mcp-cancel
- Merge pull request #30 from freaksdotcom/bhigh/vera-mcp-progress-reporting
- update: limit files per run
- update: report progress
- serve: add idle-timeout model cache with per-request default
- serve: cancel in-progress inference when client disconnects
- serve: add vera serve command with pure inference API
- retrieval: parallelize hybrid search and strengthen ranking signals
- retrieval: add BM25 stemming, stronger definition ranking, concept augmentation
- retrieval: add potion backend and cached search
- eval: semble benchmark integration, full-pipeline adapters, benchmark_root scoping
- retrieval: adaptive RRF weighting, identifier BM25, file saturation decay
- structural: index explicit type relations
- structural: add agent-oriented search intents
- search: add git scopes, explain-path, and AST queries
Bug Fixes
- eval: harden benchmark harnesses against partial runs
- core: parse git scope paths as NUL-delimited records
- cli: cancellable indexing and local-setup reranker hygiene
- serve: load only the needed provider per request
- local-models: harden model asset and runtime setup
- indexing: close staleness and removal gaps in incremental updates
- retrieval: honor cancellation and harden hybrid search
- retrieval: correct exact-match and query-classification edge cases
- mcp: correct operation nouns in git-scope schema descriptions
- benchmarks: drop fake vector-only mode from run_vera_benchmarks
- eval: fail loudly on adapter errors, guard empty sets, harden agent-bench reruns
- build: assert vendored grammar scanner.c exists
- serve: honor return_documents and guard eviction of in-use models
- mcp: correct search_code and path filter schemas
- parsing: TS interface methods and type-relation correctness
- core: git revision validation, update atomicity, exact_paths separators
- cli: agent snippet truncation, sync refresh gating, backend wizard
- build: fail loudly when vendored grammars are missing
- local: validate ONNX model integrity and repair safely
- indexing: read source files with lossy UTF-8 decoding
- search: clamp grep byte index to char boundary
- filters: handle Unicode paths in glob matching
- Merge pull request #22 from flier268/master
- Merge pull request #22 from flier268/master
- Merge pull request #29 from freaksdotcom/bhigh/vera-bounded-inference
- Merge pull request #25 from citron07r/fix/coreml-reranker-cpu-fallback
- Merge pull request #27 from citron07r/fix/openai-embedding-token-limit
- Merge pull request #26 from citron07r/fix/intent-breaks-bm25
- Merge pull request #28 from citron07r/fix/path-glob-directory-prefix
- retrieval: prevent scoped BM25 candidate starvation
- preserve indexing APIs and review edge cases
- indexing: cancel synchronous pipeline stages
- indexing: handle cancellation edge cases
- update: bound and cancel remote work
- inference: bound abandoned remote work
- search: match bare directory path globs as directory prefixes
- embedding: auto-truncate on OpenAI token-limit errors
- search: keep reranking on for intent searches; borrow in no-intent path
- search: keep --intent prefix out of BM25 queries
- local: stop CoreML reranker fp16 CPU fallback
- serve: fix cancellation gaps in local inference providers
- serve: prevent empty-key auth bypass and redact internal errors from API responses
- lint: resolve clippy warnings and fmt violations from vera serve
- local: recover from onnx provider session failures
- eval: filter tasks to corpus instead of failing on missing repos
- retrieval: harden bm25 and local indexing
- setup: prompt for api credentials
- resolve type relation generics, structural false negatives, and minor correctness issues
- eval: keep file-backed runs out of stdout
- search: tighten structural heuristics and add eval gating
- search: detect stale indexes and improve exact-match hints
- agent: keep managed Vera snippets current
- Merge pull request #18 from maxwellsocial/fix/voyage-ai-batch-limit
- cli: surface global output flags in help
- search: preserve generated regex hits and global flags
Performance
- retrieval: skip rerank when pool has no surplus over result limit
- local: scale CoreML batch size from unified memory
- namespace-aware embedding cache key prevents cross-model poisoning (#7)
- serve: remove unnecessary clones in embeddings and rerank handlers
- retrieval: trim vector candidate overfetch
Other Changes
- eval: share search_with/index_with between the two Vera adapters
- eval: single run_full_adapter helper for the three full-pipeline lanes
- benchmarks: extract shared metric helpers into bench_common.py
- benchmarks: prune archival result JSONs, keep v1 full-suite record
- benchmarks: prune 23MB of archival result JSONs
- eval: drop unreferenced Stability subcommand
- indexing: single chunk_file_for_update helper in update.rs
- mcp: dedup repeated tool schema properties
- core: share CompactResult and truncate_to_budget via presentation module
- cli: single AgentClient::META table for variants and names
- cli: split clap definitions into cli.rs, fix two lints
- retrieval: extract exact-match augmentation from search_service
- retrieval: split ranking.rs into query/score modules
- core: split local_models.rs into focused modules
- parsing: split extractor.rs into focused modules
- parsing: merge lisp define extraction behind keyword tables
- parsing: RawSymbol::at constructor, shared name-kind tables
- parsing: table-drive node classification, drop debug prints
- core: env override helper, preset builder, misc small dedups
- embedding,storage: merge do_embed paths, api_err and collect_rows helpers
- core: drop dead helpers, use rusqlite OptionalExtension
- embedding: single concurrent embed path, shared store setup
- retrieval: share chunk mapping, result key, and content predicates
- retrieval: remove dead search wrappers, collapse fuse_rrf_multi
- repo: drop patch artifacts, tracked pycache, spikes, superseded benchmark runs
- deps: semver-compatible dependency refresh
- deps: bump crossbeam-epoch for RUSTSEC-2026-0204, drop unused serde_json
- serve: load embedding and rerank models per-request instead of at startup
- structural: narrow impl search to Rust traits
- surface: converge on agent-first search workflows
Full Changelog: v0.12.13...v1.0.0