v0.9.59

Graphify-Labs/graphifyv0.9.59Sep 12, 2026by safishamsi

Upgrading?

AI Summary

This release focuses on performance enhancements and stability fixes. It improves Python symbol resolution speed by 47% and fixes incremental rebuild logic to preserve cross-file concept nodes. Additionally, it enhances extraction robustness and restricts git hook rebuild roots to the repository.

Key Highlights

  • Performance: Python symbol resolution is 47% faster due to memoization, single-file parsing, and iterative tree walks.
  • Fix: Incremental rebuilds now preserve cross-file concept nodes in untouched files during a merge.
  • Fix: Extraction process now falls back to sequential in-process work if the process pool fails to start.
  • Fix: Git hook rebuild root is restricted to the repository to prevent checked-in markers from steering execution outside the worktree.
  • Enhancement: `graphify explain` now accepts a `path::Symbol` form to disambiguate symbols.

New Features

  • `graphify explain` now accepts a `path::Symbol` form for disambiguation.

Full Release Notes

- Fix: an incremental rebuild no longer drops cross-file `concept` nodes from files it didn't touch — global dedup during a merge now protects existing nodes from untouched files instead of collapsing same-labeled ones across them (#3477, thanks @hopstreax).
- Fix: extraction now falls back to sequential in-process work when the process pool cannot start (e.g. POSIX semaphore exhaustion), instead of aborting the whole run (#3497, thanks @curtismu7).
- Performance: Python symbol resolution is roughly 47% faster — path resolution is memoized, each file parses once across both resolution passes, and the tree walk is iterative rather than recursive; extraction output is unchanged (#3500 / #3501 / #3502, thanks @abhay-codes07).
- Fix: `graphify explain` now accepts a `path::Symbol` form to disambiguate a symbol that shares its name with its file, and the ambiguity hint now shows a form the resolver actually accepts (#3485, thanks @ayushcodes10).
- Fix: the git hook now keeps its rebuild root inside the repository — a committed `.graphify_root` pointing outside the worktree is ignored and falls back to the repo top, so a checked-in marker can't steer the hook to scan or write outside the tree (#3265, thanks @ayushcodes10).

Related Repositories