v0.2.0
Highlights
SymbolPeek v0.2.0 expands symbol-level code intelligence beyond TypeScript and JavaScript with fast, syntax-aware support for:
- Rust
- Python
- Java
- Go
These languages use embedded Tree-sitter parsers and require no Node.js runtime.
New language capabilities
Rust, Python, Java, and Go now support:
read_symbollist_symbolssearch_symbolsget_document_outlinefind_dependenciesfor same-file dependenciesread_symbol_context
Rust additionally supports syntax-based find_implementations for explicit impl blocks.
Performance and architecture
- Added a shared workspace walk for Tree-sitter providers.
- Removed redundant per-language filesystem scans.
- Added safe text prefiltering before AST parsing.
- Node.js now starts only when TS/JS files are present.
- Preserved full
tsconfig-aware discovery for TypeScript and JavaScript. - Added an extensible
FileDiscoverycontract for future language providers. - Added a reusable latency benchmark covering cold and warm request batches.
Tree-sitter searches complete in a few milliseconds in the included benchmark, while warm TypeScript requests reuse the long-lived worker.
Compact LLM responses
- Added trust metadata to language results:
backendanalysis_levelcomplete
- Added
get_capabilitiesfor compact language and operation discovery. - Reduced tool descriptions while preserving response contracts.
- Continued using interned file tables and tuple rows to minimize repeated keys and token usage.
Reliability
- Added extensive edge-case coverage for Rust, Python, Java, and Go.
- Covered malformed syntax recovery, shadowing, overload ambiguity, decorators, annotations, receivers, grouped declarations, nested outlines, pagination, ignored directories, and external references.
- 114 automated tests passing.
- Strict Clippy checks passing with all targets and features.
- Release MCP smoke test passing.
Notes for adapter authors
The public LanguageAdapter workspace-search contract now distinguishes between:
Delegateddiscovery for providers with project-aware configuration, such as TypeScript.SharedWalkdiscovery for Tree-sitter providers.
Custom language adapters may need to implement the updated discovery contract.
Full changelog: v0.1.2...v0.2.0