github Graphify-Labs/graphify v0.9.56

3 hours ago
  • Fix: Rust trait method declarations (signature-only, and default-bodied) are now extracted as nodes — trait bodies were never walked, so both were silently dropped; a trait-declared method stays a distinct node from its impl definition (#3366, thanks @santoshpy).
  • Fix: the atomic-write temp filename is now bounded, so exporting to a path near the Windows MAX_PATH / 255-char component limit no longer fails with a temp-file FileNotFoundError (#3351, thanks @hopstreax).
  • Fix: when graphify's git hook decides to skip (no graph, rebase/merge/worktree, GRAPHIFY_SKIP_HOOK), it no longer terminates the whole hook — the block runs in a subshell so chained hooks and later steps still execute (#2986, thanks @abhay-codes07).
  • Fix: JS/TS @/ project-root alias imports now resolve when no tsconfig paths mapping exists — an explicit mapping still wins, @scope/pkg packages are untouched, and only existing files are linked (#3357, thanks @hopstreax).
  • Fix: an MCP query_graph seeded on a node with only incoming edges (e.g. a leaf function that is called but calls nothing) now traverses undirected, so it reaches that node's callers — matching the CLI's behavior (#3373, thanks @kuchtgpt-svg).
  • Fix: a member call whose method name collides with a language builtin (e.g. .open, .get, .map) is now handed to cross-file resolution instead of being short-circuited, so a genuine user-defined method with that name links — without fabricating an edge to an actual builtin (#3381, thanks @ayushcodes10).
  • Fix: when the rebuild watchdog times out, spawned extraction workers are now killed before it exits (both the SIGALRM and the os._exit fallback paths) instead of being orphaned (#3396, thanks @ayushcodes10).
  • Fix: Node subpath imports (#services/foo via a package.json imports map, including * wildcards and condition objects) now resolve to the mapped file — previously every #-specifier resolved to nothing (#3382, thanks @julien-e).
  • Fix: TS import-type normalization no longer scans every type-argument range per match (an O(matches × ranges) blowup that pinned extraction at 100% CPU on large mixed files); the filter is now a sorted-index lookup with byte-identical output (#3359, thanks @Sagexd08).
  • Fix: Dart extraction now stamps source_location (1-based L{line}) on nodes and edges, matching every other extractor, instead of leaving it null (#3365, thanks @ayushcodes10).

Don't miss a new graphify release

NewReleases is sending notifications on new releases.