github vitali87/code-graph-rag v0.0.245

latest releases: v0.0.727, v0.0.726, v0.0.725...
one month ago

Highlights

  • Project Scoping: Cypher queries are now correctly scoped to the active project in multi-project databases.
  • Dead-Code Analysis: Improved detection of dead code, excluding generated paths and correctly handling root-level tests.
  • Function References: Functions passed as values are now tracked with REFERENCES edges across JS/TS, Go, and Rust.
  • C++ Improvements: Enhanced handling of template parameters and return types in C++ code.
  • Rust Receiver Resolution: Improved resolution of receiver types in Rust, including guard and smart pointer receivers.
  • Go Module Paths: Go module paths are now mapped to project qualified names for improved import resolution.
  • JavaScript/TypeScript Enhancements: Better handling of JSX components, casts, and inline function callbacks in JavaScript/TypeScript.
  • Windows Support: Enhanced robustness for Windows platforms, including improved git state handling and UTF-8 safety.

What's Changed

Highlights

  • Multi-project query scoping — Cypher generation is now scoped to the active project in multi-project databases, with proper escaping of
    project-name literals (v0.0.239).
  • Dead-code analysis improvements — new --exclude glob to suppress generated paths, plus smarter reachability roots: Go init/main, Rust main and
    trait-impl methods, C++ operator overloads, and pydantic @computed_field methods are no longer flagged as dead. Root-level tests/ dirs are now
    excluded correctly.
  • First-class function references — functions passed as values, bound to variables, or assigned inline are now tracked with REFERENCES edges across
    JS/TS, Go, and Rust.

Language frontends

C++

  • Return types recorded for out-of-class method definitions; chained calls resolved through factory-function return types.
  • Template fixes: template-parameter receiver calls fan out to all interface implementers, template-qualified scopes normalized in return-type
    paths, bodied templated classes registered once under their natural qualified name.

Rust

  • Receiver-dispatch resolution via local, field, and call-return type inference, including imported associated calls, enum receivers, and reference
    return types.
  • Guard/smart-pointer receivers (locks, borrows) now typed correctly through field-hop chains without losing the wrapper type.
  • Closures are referenced from their enclosing scope, anonymous closure calls bubble up so captured-local receivers resolve, and match-arm bindings
    are scoped per arm.
  • Receiver chains reconstructed from macro token streams for call resolution.

Go

  • go.mod module paths mapped to project qualified names for import resolution, tolerating trailing comments and non-UTF-8 files.
  • Struct field types inferred and call-bound locals typed for receiver resolution.

JavaScript / TypeScript

  • .tsx files parsed with the tsx grammar variant.
  • as/satisfies/non-null casts unwrapped when resolving function references.
  • References emitted for JSX components (including class components) and handlers passed in JSX attributes.
  • Inline arrow/function-expression callbacks (call arguments, object-literal values) now referenced under the correct enclosing scope;
    .bind/.call/.apply targets referenced; subdirectory tsconfig path aliases resolved.

Python calls

  • Constructor callable-argument bindings (positional and renamed) resolved to stored fields, including through inherited constructors and nested
    classes.

Platform & indexing

  • Windows support hardened: posix graph paths, OSError-safe git state handling, UTF-8-safe tests, and status bar survival when home is unresolvable.
  • Gitignore excludes negated by exact-match unignores are cancelled at load time.

Full Changelog: v0.0.209...v0.0.245

Don't miss a new code-graph-rag release

NewReleases is sending notifications on new releases.