github Graphify-Labs/graphify v0.9.49

3 hours ago
  • Feature: graphify merge-graphs now links a type declaration that two repos share — same fully-qualified namespace and name, from different repos — with a same_type_as edge, so a shared contract type is navigable across the repo boundary; two unrelated types that merely share a short name are not linked (#3007, thanks @durmazoguzhan).
  • Feature: C# properties now emit a member node per property, so a property is visible as a class member alongside fields and methods; the property's type still emits its references edge and no built-in types are fabricated (#3006, thanks @durmazoguzhan).
  • Fix: when a C/C++/Objective-C declaration and its definition merge into one node, the node now points at the definition site (the implementation body) instead of the header prototype; the pick is deterministic regardless of file order, and a declaration with no definition keeps its own site (#2990, thanks @winesoft-namjin-yun).
  • Fix: a bash command substitution on the right of an assignment (x=$(fn)) now emits a calls edge like a bare $(fn), while argument-position and process substitutions stay suppressed (#2978, thanks @akshitj11).
  • Fix: a SQL CREATE TABLE wrapped in a BEGIN/COMMIT transaction is now extracted, not just top-level DDL (#2953, thanks @akshitj11).
  • Feature: C# object-creation expressions (new Foo()) now emit a calls edge to the constructed type, so constructor usage is visible in the graph; built-in and out-of-corpus types are not fabricated and a qualified construction resolves against declared namespaces (#2997, thanks @durmazoguzhan).
  • Feature: when a C# interface has exactly one implementing class, its methods are now linked to that implementation with a dispatches_to edge, so a call through an injected dependency reaches the implementation; guarded against false links (single implementer, single case-sensitively same-named method, both ends C#) (#3003, thanks @durmazoguzhan).
  • Fix: Zig methods declared on enums and unions (not just structs) are now extracted, along with the calls in their bodies (#2999, thanks @rajatnagda45).
  • Fix: a Julia abstract type declared with a supertype (abstract type Dog <: Animal end) is now extracted with its inherits edge instead of being dropped (#3000, thanks @rajatnagda45).
  • Fix: a Common Lisp defclass whose superclass lives in another file now keeps its inherits edge — the cross-file base is a sourceless stub that the corpus rewire collapses onto the real definition (#3001, thanks @rajatnagda45).
  • Fix: PowerShell enum definitions and their members are now extracted as a real sourced node, so a [Color] type reference resolves to the enum instead of a phantom stub (#3002, thanks @rajatnagda45).
  • Fix: a semantic result with no nodes and no hyperedges is no longer cached and stamped into the manifest, so an empty or degenerate LLM reply for a file no longer freezes it out of future re-dispatch; an existing manifest carrying such a stamp is healed by re-queueing those files (#2927, thanks @hopstreax).
  • Fix: fresh semantic results are now scoped to the files actually dispatched before they reach the graph merge, so a stray fragment the model misattributes to a non-dispatched file can no longer replace that file's prior contribution (this also silences the "skipped out-of-scope source_file" warning) (#2926, thanks @SinghAman21).
  • Fix: graphify extract --code-only --force over an existing graph now preserves the document/paper/image semantic layer instead of dropping it; files deleted from disk are still pruned (#2923, thanks @santhiprakash).
  • Fix: a class that inherits from a built-in base (e.g. PHP extends \Exception) no longer collapses onto a same-named class in another language, so a PHP+TypeScript monorepo stops growing a phantom cross-language inheritance edge / god node; same-language inheritance and user classes named like a built-in still link (#2812, thanks @ousamabenyounes).
  • Fix: the git post-commit hook now resolves graphify when it is installed as a uv tool, by scanning the uv tool locations after the pin and launcher probes miss and verifying graphify is importable before adopting an interpreter, so the hook stops silently no-opping under that install (#2852, thanks @santhiprakash).
  • Fix: re-exporting into an Obsidian vault created before the ownership manifest existed now adopts graphify's own notes (recognized by their graphify/ frontmatter tag or community markers) instead of orphaning them beside a fresh generation (#2863, thanks @abhay-codes07).
  • Fix: the tsconfig/jsconfig alias and baseUrl caches are now cleared per extraction run, so an edit to compilerOptions.paths or baseUrl is picked up on the next graphify watch / MCP rebuild instead of resolving imports through a stale alias map for the life of the process (#2917, thanks @sashankh).
  • Fix: the C# extractor now emits references edges for types used as generic arguments — both at call sites (repo.Get<User>(), services.AddSingleton<IFoo, Foo>()) and in field declarations (private List<Order> _orders) — so generic calls and field-injected dependencies are no longer invisible; built-in and type-parameter types are not fabricated (#2911, thanks @santhiprakash and @brobl2008).
  • Fix: oversized PDFs are now sliced through their text converter and their token count is estimated from the extracted text rather than the raw container, so a large paper no longer loses everything past the character cap or gets mis-sized by its binary bytes; slicing (including the adaptive-retry bisection) indexes the same extracted text the prompt carries (#2903, #2906, thanks @abhay-codes07).
  • Fix: every text document type is now sliced when oversized, not just five suffixes, so a large .qmd / .skill / .html / .yaml / .yml is no longer silently truncated at the character cap (#2900, thanks @abhay-codes07).

Don't miss a new graphify release

NewReleases is sending notifications on new releases.