github Graphify-Labs/graphify v0.9.63

7 hours ago
  • Feature: Elixir alias/import/require/use targets now resolve onto the module's defmodule node across files, so the internal module dependency graph is no longer dropped as dangling. Only top-level modules are indexed (a nested defmodule, labeled with its bare inner name, cannot capture an unrelated use <Name> from another file), and a same-file reference is left unresolved so it cannot clobber the structural contains edge (#3603, thanks @ayushcodes10).
  • Feature: a Rust self.method() call now resolves to a method defined on the same type in another file (the common split-impl-block layout), pooling methods across every impl of one type and refusing to link when two unrelated types share a bare name (#3602, thanks @ayushcodes10).
  • Feature: a Ruby member call obj.foo on a known-type receiver now resolves to a method foo inherited from a superclass, including across files, using the same conservative promotion as the implicit-self resolver — a single owning class, matching method kind, and one unambiguous ancestry chain, or it stays dangling (#3585, thanks @oleksii-tumanov).
  • Fix: every edge endpoint written to graph.json is now a declared node. An imports/imports_from/re_exports edge to an external module (stdlib, a third-party dependency) mints a typed external stub node instead of leaving a dangling endpoint that loaders materialise as an attribute-less phantom, and a cross-repo merge unifies the same external module into one global node instead of fragmenting it per repo; sourceless external call targets stay suppressed (#2873, #2878, thanks @AromalBiju1).
  • Fix: a Markdown code-span mention edge now survives an incremental rebuild instead of being pruned as an unauthored link, and a dotted span (Foo.bar) resolves using its qualifiers as evidence, rejecting misleading matches such as time.sleep or pyproject.toml (#3587, thanks @AstroMined).

Don't miss a new graphify release

NewReleases is sending notifications on new releases.