Skip to content

v0.3.3

Choose a tag to compare

@github-actions github-actions released this 03 Mar 15:53
· 815 commits to main since this release

What's New in v0.3.3

Pipeline Quality Improvements

17 Import Parsers — Language-aware import extraction for ES modules, Java, Kotlin, Scala, C#, C, C++, PHP, Ruby, Rust, Lua, Elixir, Bash, Zig, Erlang, Haskell, and OCaml. IMPORTS edges now reflect actual source-level imports instead of heuristic-based guesses.

Language-aware Class DetectionisClassDeclaration() now correctly identifies class declarations in TypeScript, Java, C#, Scala, Kotlin, and PHP, improving IMPLEMENTS edge accuracy.

Route Test FilteringisTestNode() + containsTestSegment() now exclude test fixtures from HTTP route extraction. Go routes dropped from 211→56, Rust 146→74, JS 125→53.

Callee Extraction for Functional Languages — Haskell, OCaml, and Elixir now extract function calls from apply, infix, and application_expression nodes. OCaml CALLS went from 221→10,629 (+4710%), Haskell 175→4,094 (+2239%).

JSX Component References — TSX files now emit CALLS edges for uppercase JSX tags (component usage), boosting TSX CALLS from 3,400→36,172 (+964%).

Type Inference Split — Separated into typed (static type annotations) and dynamic (runtime inference) paths for cleaner, more accurate type resolution.

Snippet Tool Optimization

  • auto_resolve param: Opt-in automatic disambiguation — picks the best candidate when ≤2 matches exist
  • include_neighbors param: Opt-in caller/callee name inclusion in snippet responses
  • Better disambiguation UX: Replaced error key with status/message for clearer AI agent integration
  • Fuzzy fallback fix: Extracts last dot-segment from qualified names for more reliable matching

Bug Fixes

  • R function name resolution: Fixed resolution of all function types in R language support (#14)
  • Windows CI: Fixed SQLite file locking during test cleanup on Windows
  • Neighbor name lookups: New NodeNeighborNames store method for efficient neighbor discovery

Benchmark Results (v3)

  • D-tier languages reduced from 8 → 4 (C#, Ruby, Erlang, SQL remain)
  • Average MCP quality score: 0.75 → 0.79
  • Languages with MCP Q ≥ 0.7: 14 → 17 of 22

Stats

  • 30 files changed, +6,656 / −193 lines
  • 1,679 lines of new extraction test coverage