Releases: etr/wonk
v4.14.1
Bug Fixes
- Fix indexing crashes on deep or non-ASCII sources
What's Changed
- Fix indexing crashes on deep or non-ASCII sources by @deepskyblue86 in #1
New Contributors
- @deepskyblue86 made their first contribution in #1
Full Changelog: v4.14.0...v4.14.1
v4.14.0
- Add crates.io publish metadata (description, license, repository, keywords, categories)
- Exclude bench/, specs/, homebrew/, docs/ from crate package
Install via cargo:
cargo install wonk
Full Changelog: v4.13.0...v4.14.0
v4.13.0
What's new
- Agent benchmarks: New benchmark suite measuring Claude Code token consumption with vs without wonk across 25 code-understanding tasks on 5 real-world repos. Results: 37.4% total token reduction with quality maintained (0.90 vs 0.91 baseline).
- Python class fields: Annotated assignments in classes (e.g. pydantic
title: str) are now indexed as variables. - Granular Python imports:
from foo import bar, baznow creates separate references forbarandbazinstead of one blob.
Full benchmark report: bench/results/agent_report.md
Full Changelog: v4.12.1...v4.13.0
v4.12.1
v4.12.0
What's New
- File filters everywhere:
--file/-fon search, ref, show;--reference-file,--callers-file,--callees-file,--destination-filefor disambiguation in call graph commands - Pagination:
--page Nfor paginated budget output across all commands - Test exclusion:
--include-testsglobal flag (tests excluded by default) - Ref output modes:
--output filesfor compact unique-file-paths-only output - Sym limit:
--limit Nto cap result count - Show file-only mode:
wonk show --file path --shallowwithout requiring a symbol name - Skip embed:
--skip-embedonwonk updatefor structural-only index refreshes - Incremental MCP init:
wonk_initnow checkswonk_versionand uses the incremental path when the index is current, avoiding full re-embedding - Reduced Ollama activity: SessionStart hook uses
--skip-embedto prevent unnecessary embedding work on every session start
Full Changelog: v4.11.0...v4.12.0
v4.11.0
Qualified Paths, Cfg Macro Expansion, Subclass Refs, Auto-Regex
Changes
- Qualified name resolution —
wonk_sym tokio::spawnandwonk_show tokio::spawnnow parse::paths, using the prefix as a file-path hint for Rust module navigation - Rust cfg macro pre-expansion —
cfg_rt!{},cfg_if!{}etc. are stripped before tree-sitter parsing so inner items (functions, structs) are properly indexed - Subclass/implementor refs —
wonk_refnow includes types that implement/extend the target viatype_edges, shown withkind=subclass - Auto-regex detection — search queries containing backslash escapes (
\w,\d) or character classes ([A-Z]) automatically enable regex mode - --file filter on wonk_sym — restrict symbol lookup to files matching a path substring
- Test/bench path deprioritization — symbols from test, bench, mock, and example directories are sorted to the end of results
- Spec updates — added PRD-REF-REQ-004 (output=files), synced architecture tool manifest (18→22 tools), added v4.10.0 changelog
Full Changelog: v4.10.0...v4.11.0
Full Changelog: v4.10.0...v4.11.0
v4.10.0
MCP Token Efficiency Fixes
Benchmark-driven improvements to reduce token waste when AI agents use wonk MCP tools.
Changes
- Soft truncation hints — "Showing N of M matches" instead of "Increase budget" (prevents agent distrust → Read fallback)
- wonk_search clarified as keyword/regex — description now explicitly says "Do NOT use natural language" and directs to wonk_ask
- RRF fusion moved to wonk_ask — single smart search entry point that blends structural + semantic results; NL queries gracefully degrade to pure semantic
- wonk_ref output=files —
output="files"returns just unique file paths (likegrep --files-with-matches), 8× less verbose for "list files" queries - .d.ts deprioritization in wonk_sym — type definition files pushed to end of results so actual source appears first
- TS interface shallow mode fixed —
method_signatureandproperty_signaturenow indexed with scope, so shallow mode shows member signatures for interfaces - wonk_show description updated — "Returns complete symbol source code — you do not need to Read the same file afterward"
- wonk_ask added to MCP instructions — discoverable by agents
Full Changelog: v4.9.0...v4.10.0
v4.9.0
Auto-shallow fallback in wonk_show on budget overflow.
When a container type's full body exceeds the token budget, automatically retry in shallow mode (signature + child signatures) instead of returning empty results. Results include auto_shallow: true so agents know the body was downgraded. Hints now suggest shallow:true instead of Read.
Full Changelog: v4.8.0...v4.9.0
v4.8.0
What's New
-
Doc comment extraction — Tree-sitter extracts doc comments for all 12 supported languages (Rust
///, Go//, Python docstrings, JSDoc/**, etc.), truncated to 200 chars, stored in the index and surfaced inwonk summaryoutput. -
Simplified summary detail levels — Replaced
rich/light/symbolswith two levels:outline(new default): top-level types + functions with doc comments, no methods — compact and token-efficientrich: all symbols in tree hierarchy including scoped methods- Backward compat:
lightandsymbolsstill parse asoutline
-
Auto LLM descriptions —
wonk summarynow automatically attempts LLM description generation (no more--semanticflag). Gracefully degrades when Ollama is unreachable. New directory overview prompt generates descriptions from child summaries. -
MCP
wonk_summarysimplified — Removeddetail,semantic, andtreeparameters. Always usesoutlinemode for optimal token efficiency.
Breaking Changes
--semanticand--treeCLI flags removed fromwonk summary- MCP
wonk_summaryno longer acceptsdetail,semantic, ortreeparameters - Default detail level changed from
richtooutline
Full Changelog: v4.7.0...v4.8.0
v4.7.0
Full Changelog: v4.6.0...v4.7.0