graphify v0.9.42

v0.9.42
Changed 2
  • source_file and model-facing paths are canonicalized to POSIX
  • Atomic writes and installs are hardened for Windows, including read-only packaged bundle support
Fixed 12
  • JS/TS for...of and for...in loop bindings are now shadowed so they no longer fabricate indirect_call edges
  • Python relative subpackage imports (from ..pkg.sub import x) now resolve to the package __init__
  • Non-regular files (FIFO/device) in the tree no longer hang extraction and are skipped instead
  • .sql files that fail to parse with tree-sitter-sql installed-but-broken now report the real error instead of "not installed"
  • graphify update incremental runs now re-queue a file rewritten to the same length within one mtime tick
  • Graph provenance (built_at_commit) is now stamped from the analysed repo, not the shell cwd

A large correctness, determinism, and portability release with fixes from many community contributors.

Extraction / resolution

  • JS/TS for...of / for...in loop bindings are shadowed, so they no longer fabricate indirect_call edges (#2685, @ousamabenyounes) — completes the loop/closure/catch shadow family (#2568/#2569/#2517).
  • Python relative subpackage imports (from ..pkg.sub import x) resolve to the package __init__ (#2688, @ousamabenyounes).
  • A non-regular file (FIFO/device) in the tree no longer hangs extraction; non-regular files are skipped (#2463, @itskaism).
  • A .sql file that fails to parse with tree-sitter-sql installed-but-broken now reports the real error instead of "not installed" (#2602, @ousamabenyounes).

Determinism / data integrity

  • graphify update incremental runs re-queue a file rewritten to the same length within one mtime tick (#2466, @itskaism), complementing the 0.9.40 file-hash guard (#2612).
  • Graph provenance (built_at_commit) is stamped from the analysed repo, not the shell cwd (#2699, @C0KERNEL).
  • Corrupt semantic-cache entries are surfaced and re-extracted instead of silently missed (#2683, @ousamabenyounes).
  • graph_has_legacy_ids no longer false-positives on a global MCP node id (#2408, @aryanbonigala).

Paths / Windows portability

  • source_file and the model-facing paths are canonicalized to POSIX; atomic writes and installs are hardened for Windows, incl. a read-only packaged bundle (#2620/#2622, @rajarshidattapy; #2453, @bensleveritt).
  • GRAPH_REPORT.md uses a portable basename, not an absolute host path (#2682, @ousamabenyounes).
  • The apm.yml fallback parser captures the package version (#2465, @itskaism).

CLI / export

  • affected resolves a ./-relative seed instead of silently returning nothing (#2707, @phudayyy).
  • Hyperedge regions in graph.html are traced in convex-hull order, so the shaded polygon no longer self-intersects (#2449, @ysys143).

Test / docs

  • Windows-portability test fixes, a refreshed ARCHITECTURE.md module table with a doc-parity test, and README notes on CI parity + Windows prerequisites (#2620/#2622/#2126/#2642/#2646/#2647/#2648/#2651, @rajarshidattapy/@redzwanmutalib/@nelsondeleonc-source).
View original

Upgraded? How did it go?

Discussion