Skip to content

v0.2.0

Choose a tag to compare

@pioner92 pioner92 released this 22 Jul 11:23

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_symbol
  • list_symbols
  • search_symbols
  • get_document_outline
  • find_dependencies for same-file dependencies
  • read_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 FileDiscovery contract 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:
    • backend
    • analysis_level
    • complete
  • Added get_capabilities for 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:

  • Delegated discovery for providers with project-aware configuration, such as TypeScript.
  • SharedWalk discovery for Tree-sitter providers.

Custom language adapters may need to implement the updated discovery contract.

Full changelog: v0.1.2...v0.2.0