v0.9.7

Graphify-Labs/graphifyv0.9.7Jul 6, 2026by safishamsi

AI Summary

Enhancements to Ruby extraction, extraction of extensionless shebangs, new rationale/comment nodes for JS/TS, and fixes for incremental detection and Windows path handling.

Key Highlights

  • Ruby `include`/`extend`/`prepend` now emits `mixes_in` edges.
  • Extensionless shebang CLIs (e.g., `devctl`) are now extracted.
  • JS/TS rationale comments and ADR citations become `rationale`/`doc_ref` nodes.
  • Word counts are cached against file stat signatures to avoid re-parsing unchanged PDFs.

New Features

  • Ruby mixin edges for concerns and modules.
  • Extraction of extensionless shebang scripts.
  • Conversion of comments to rationale nodes.
  • Filtering of Java standard-library type noise.
  • Incremental detection for Word/Excel files.
  • Windows long path (>260 chars) support.

Full Release Notes

graphify 0.9.7 — 17 fixes and features since 0.9.6.

## Ruby
- `include`/`extend`/`prepend <Module>` now emits `mixes_in` edges (#1668), so Rails concern composition is visible to `affected`.
- `affected <Class>` reaches callers that bind to a class's method nodes (#1669), seeding the reverse walk from the root's members (one method/contains hop).

## Extraction
- Extensionless shebang CLIs (`devctl`, `manage`) are now extracted instead of silently dropped (#1683, @Stashub).
- JS/TS rationale comments (`// NOTE:`) and ADR/RFC citations become `rationale`/`doc_ref` nodes, matching Python (#1599, @niltonmourafilho-arch).
- Java standard-library types (`String`, `List`, `Optional`, ...) no longer emitted as `references` noise (#1603, @NydiaChung).
- New `pascal` optional extra for AST-quality Delphi extraction (#1616, @vinicius-l-machado).
- JS/TS calls with no local definition and no import no longer bind to a same-named export in an unrelated package (#1659, @leonaburime-ucla).
- Case-insensitive file-extension dispatch, so `App.PY`/`script.JS` are no longer skipped (#1671, @raman118).

## Incremental / detect
- A modified `.docx`/`.xlsx` now re-enters `--update` (#1649, @Ns2384-star).
- Windows long paths (>260 chars) are now hashed (#1655, @Ns2384-star).
- Word counts are cached against each file's stat signature, so unchanged PDFs/docx are not re-parsed on every run (#1656, @Ns2384-star).
- An extractable source file that produces zero nodes is no longer cached and is surfaced with a warning (#1666, @krishnateja7).

## Windows / reports / misc
- Windows skill declares `name: graphify` (folder-name rule) (#1635, @ray8875); OpenCode plugin uses `;` not `&&` for PowerShell 5.1 (#1646, @gonaik); `GRAPH_REPORT.md` Import Cycles section only shown for code corpora (#1657, @Ns2384-star).
- Virtual PostgreSQL URI no longer backslash-mangled on Windows (#1672, @raman118); deferred `import()` no longer reported as a file cycle (#1241, @Synvoya).

See the [CHANGELOG](https://github.com/Graphify-Labs/graphify/blob/v8/CHANGELOG.md) for full detail. Thanks to everyone who filed issues and sent PRs.