github Graphify-Labs/graphify v0.9.54

one hour ago
  • Fix: a Python type reference to a name imported from another module now resolves to that module's definition — the sourceless stub is repointed onto the exact imported symbol (not a bare-name match), so two same-named types in different modules bind to their own (#3252, thanks @hopstreax).
  • Feature: graphify merge-graphs now resolves a member call whose receiver type is defined in another repo — the call is parked at extraction and linked at merge time only on a single unambiguous cross-repo type + method match, composing with the cross-repo type link (#3152, thanks @xiongjianxu).
  • Fix: the definition_file node attribute (the merged decl/def implementation site) is now stored portably — relative to the scan root with canonical separators, matching source_file — across graph.json, the AST cache, the watch/incremental path, and direct extract, so a graph is byte-stable across machines (#3223, thanks @abhay-codes07 and @hopstreax).
  • Fix: god_nodes now honours exclude_hubs_percentile, so --exclude-hubs actually affects god-node ranking (not just clustering); the default output is unchanged (#3205, thanks @abhay-codes07).
  • Fix: byte-identical duplicate reference edges are now collapsed when the extractor emits them, so the graph-health diagnostic no longer flags duplicates that the build was already discarding (#3251, thanks @abhay-codes07).
  • Fix: two query results saved in the same second whose questions share a 50-character prefix no longer overwrite each other — saved memory-doc filenames now carry a short unique suffix (#3301, thanks @daichiyasunami-vottia).
  • Fix: a graph.json carrying top-level hyperedges keeps them on export — the loader re-attaches the top-level hyperedges slot that node_link_graph otherwise drops, so hand-edited or externally written hyperedges survive re-export (#3321, thanks @yiheng-kkk).
  • Feature: the query scorer now ranks a match on a node's rationale attribute as its own tier, between an exact label match and a source-path match — adding recall for rationale-only hits without inflating the exact-match coverage score (#2293, thanks @andytsai821201-spec).
  • Fix: graphify install now writes the .graphify_version stamp atomically (temp file + os.replace), so a crash mid-write cannot leave a truncated version file (#3286, thanks @drmikecrypto).
  • Fix: the Obsidian/canvas export now writes graph.canvas and vault notes atomically, preventing a concurrent reader (or a git mmap hash) from seeing a half-written file (#3282, thanks @drmikecrypto).
  • Fix: on Python 3.10 a missing tomli no longer silently drops every pyproject.toml/Cargo.toml from the graph — tomli is now a runtime dependency for pre-3.11, and the manifest parser surfaces a visible per-file error if it is ever absent (#3283, thanks @drmikecrypto).

Don't miss a new graphify release

NewReleases is sending notifications on new releases.