graphify 0.9.6 — 19 fixes and features since 0.9.5.
Ruby (major)
- Module / Struct.new / Class.new / Data.define container nodes (#1640). Plain
module Foo,Foo = Struct.new(...) do ... end,Foo = Class.new(StandardError), andResult = Data.define(...)now get real container nodes with their methods attached;Class.new(Super)emits an inherits edge. - Constant-receiver singleton-call resolution (#1634).
Service.call,Model.where,SomeJob.perform_asyncnow resolve cross-file, so Rails/Zeitwerk apps (no requires) get real cross-file edges instead of near-zero. Binds to the class's owned singleton method when present, else the class node for blast-radius; single-owning-class guard kept.
Correctness and stability
- No more cross-language phantom import edges (#1638). An unresolved bare npm import (
import x from "pkg/colors") no longer aliases onto an unrelated localcolors.pyvia the build alias index. - Semantic extraction hardened (#1631). A malformed LLM chunk (a stray non-dict entry) no longer crashes the merge and discards every successful chunk.
- Deterministic graph.json ordering (#1632). Parallel semantic backends now merge chunks in submission order, so node/edge ordering is stable run-to-run (the model's content variance is separate).
Contributor extractor fixes
- Apex interface multiple inheritance (
interface X extends A, B) (#1645, @Synvoya). - Kotlin interface delegation (
class Foo : Bar by baz) (#1644, @Synvoya).
Plus fixes to query seed diversity (#1596), cluster-only sidecar (#1617), update/watch stale-source reconciliation (#1623), TS/JS extractor gaps (#1615/#1607), merge-graphs (#1606), Swift singleton locals (#1604), C# receiver-typed member calls (#1609), TS receiver-typed member calls (#1630), the to_canvas dangling-member crash (#1236), a root-source_file crash (#1618), the claude-cli backend bisection stall, symlink containment (#1613), and the Homebrew python@3.x interpreter path (#1586).
See the CHANGELOG for full detail.
Thanks to everyone who filed issues and sent PRs. Follow the org at https://github.com/Graphify-Labs.