v0.9.92

Graphify-Labs/graphifyv0.9.92Oct 16, 2026by safishamsi

Upgrading?

AI Summary

This release includes 23 community pull requests addressing bug fixes across multiple languages (JS/TS, Python, Go, Rust, Solidity) and improvements to graph operations, skills, and LLM integration. A critical update involves bumping the AST cache schema, which requires a rebuild after upgrading.

Key Highlights

  • Fixed class member naming collisions and `this` field typing in TypeScript.
  • Solidity now supports inheritance, `super` calls, and modifiers via C3 linearization.
  • Added opt-in backend selection for LLM extraction via `GRAPHIFY_BACKEND`.
  • Fixed module-level class ID collisions in Python.
  • Improved detection logic to ignore stray `.git` directories.

Breaking Changes

  • AST cache schema bumped, requiring a full re-extraction on the first build after upgrading.

New Features

  • Python: Member calls on pytest fixture parameters are now typed based on the fixture's return type.
  • Solidity: Inherited calls, `super` calls, and modifiers are now resolved correctly.
  • LLM: Added opt-in backend selection and a disable switch for extraction backends.

Full Release Notes

Twenty-three community pull requests: call-resolution and id-collision fixes across JS/TS, Python, Go, Rust and Solidity; graph round-trip, dedup and confidence-folding fixes; skill code-only-update and dispatch fixes; and LLM/Ollama and detection fixes. The AST cache schema is bumped, so the first build after upgrading re-extracts.

- Fix: **JS/TS** class members differing only by `_`, `$` or `#` are kept as separate nodes (#4475, #4479, thanks @Mpasha17).
- Fix: **TypeScript** `this.field` is typed from an assignment in any method, including `static` and accessors (#4473, #4482, thanks @FolatheDuckofDuckingburg).
- Fix: **JS** a workspace package whose `exports` points only into `dist/` falls back to `src/` (#4485, #4489, thanks @bercedev).
- Fix: **JS** a dangling barrel-named import edge is dropped once the import resolves through the barrel (#4486, #4488, thanks @bercedev).
- Fix: **Python** module-level class ids colliding with a function or class are salted apart (#2810, #4467, thanks @hementhu).
- Feature: **Python** a member call on a pytest fixture parameter is typed from the fixture's returned class (#4332, #4333, thanks @rohit-jsfreaky).
- Fix: **Go / Rust** same-file declarations differing only by case are kept as separate nodes (#4468, thanks @abdulsamie10).
- Feature: **Solidity** inherited calls, `super` calls and modifiers resolve through C3 linearization (#4379, #4384, thanks @rohit-jsfreaky).
- Fix: **MCP** parallel edges are preserved through the graph.json round-trip and query output (#4500, #4503, thanks @rtmalikian).
- Fix: **dedup** a node with a source_file beats a sourceless namesake in collision rank (#4492, #4496, thanks @ayushcodes10).
- Fix: **build** model-drifted string confidences fold to a valid value before validation and dedup (#4495, #4501, thanks @ayushcodes10).
- Fix: **extractors** the in-flight scan root is shared via the extractors base module, restoring the one-way import direction (#3666, #3758, thanks @abhay-codes07).
- Fix: **detect** only a valid `.git` is treated as a VCS root, so a stray home-dir `.git` no longer leaks its .gitignore (#4444, #4464, thanks @Mpasha17).
- Fix: **hooks** post-merge rebuilds on real merges, and a new post-rewrite hook rebuilds after cherry-pick/rebase/`pull --rebase` (#4463, #4476; #4490, #4491, thanks @Deepjyoti-Sarmah).
- Fix: **skill** the code-only `--update` path materializes the extraction before the merge across all hosts (#4447, #4313, thanks @vibhanshu-mishra; aider/devin #4456, thanks @Deepjyoti-Sarmah).
- Fix: **skill** stray backticks inside a double-quoted `-c` block no longer run a command mid-step (#4461, #4462, thanks @Deepjyoti-Sarmah).
- Fix: **skill** Pi dispatches semantic subagents to the native `delegate` agent (#4494, #4502, thanks @bercedev).
- Fix: **skill** the agent pushes to the exact Neo4j/FalkorDB URI supplied, not a localhost example (#4349, thanks @vibhanshu-mishra).
- Fix: **llm** the extraction prompt pins source_file to the dispatched file (#3377, #2270, #4487, thanks @cornwe19).
- Feature: **llm** opt-in backend selection via `GRAPHIFY_BACKEND`, a disable switch, and an honest auto-detect (#4361, #4376, thanks @nothariharan).
- Fix: **deps** cap `tree-sitter-dm <0.26` so a fresh install cannot pull the ABI-incompatible 0.26 grammar (#4044, thanks @safishamsi).

Related Repositories