Skip to content

graphify

v0.8.40 Feature

This release adds 3 notable features for engineering teams evaluating rollout.

Published 1mo RAG & Retrieval
✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Topics

antigravity claude-code codex gemini graphrag knowledge-graph
+5 more
leiden openclaw llm skills tree-sitter

Summary

AI summary

Updates Performance, CI / Docs, and https://pypi.org/project/graphifyy/0.8.40/ across a mixed release.

Full changelog

What's changed

Features

  • Feat: custom OpenAI- and Anthropic-compatible endpoints. OPENAI_BASE_URL/OPENAI_MODEL and ANTHROPIC_BASE_URL/ANTHROPIC_MODEL point either backend at a self-hosted or proxy server (vLLM, llama.cpp, LM Studio, LiteLLM, gateways); defaults preserve api.openai.com/api.anthropic.com and GRAPHIFY_OPENAI_MODEL still wins over OPENAI_MODEL. Wired through extraction and community labeling (#1273).
  • Feat: PowerShell .psm1 modules indexed. .psm1 was missing from CODE_EXTENSIONS and the dispatch table, so modules and their dependents were silently absent from the graph (#1315). .psd1 manifests and Import-Module/dot-source edges remain a follow-up.
  • Feat: JS/TS AST extracts assignment-form symbolsthis.X = () => {} / this.X = function(){}, exports.X/module.exports.X, Foo.prototype.X, class arrow/function fields, and const f = function(){} expressions. Constructor-style and CommonJS codebases (DAOs, route handlers, services) previously lost most callable symbols. Arbitrary obj.x = fn stays excluded (preserves the #1077 god-node guard) (#1322).

Fixes

  • Fix: Swift import edges no longer silently dropped. The import target previously had no backing node, so build.py pruned 100% of Swift imports; the module node is now synthesized so the edge survives (#1327).
  • Fix: --no-cluster / incremental update no longer accumulate duplicate edges. These paths bypass the DiGraph that collapses parallel edges, so repeated update grew edge counts and diverged across build modes. Edges are now deduped by (source, target, relation) — deterministic and idempotent (#1317).
  • Fix: community names shown after cluster-only. query/explain/MCP now surface the human-readable community name instead of a blank/numeric id; backward-compatible with old graphs (#1305).
  • Fix: graphify-mcp and graphify.serve accept --graph <path> as an alias for the positional arg, consistent with other subcommands (#1304).
  • Fix: AST extraction no longer crashes on Windows with >61 logical cores — the 61-worker ProcessPoolExecutor cap now applies to all worker-count paths (#1298).
  • Fix: ghost-merge skips ambiguous (basename, label) collisions so same-named symbols in same-named files across directories no longer mis-point edges (#1257).
  • Fix: startup no longer crashes on unreadable .graphify_version (restricted installs / network mounts) — FS probes wrapped in try/except OSError (#1299).
  • Fix: prs.py claude-cli backend resolves claude.cmd on Windows (WinError 2 on npm installs) (#1288).

Performance

  • Perf: save_manifest file hashing parallelized with a ThreadPoolExecutor (#1295).
  • Perf: _walk_js_tree converted from recursive generator to iterative walk (#1294).

CI / Docs

  • CI: bandit + pip-audit security-scan job added as non-blocking advisory signal (continue-on-error) (#1209).
  • Docs: RFC for file-level node summaries (docs/node-summaries-rfc.md) (#1166).

Install: `uv tool install graphifyy` · PyPI · CHANGELOG

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track graphify

Get notified when new releases ship.

Sign up free

About graphify

AI coding assistant skill (Claude Code, Codex, OpenCode, Cursor, Gemini CLI, OpenClaw, Factory Droid, Trae). Turn any folder of code, docs, papers, images, videos, or YouTube links into a queryable knowledge graph

All releases →

Related context

Earlier breaking changes

  • v0.8.18 Breaks Java `extends` edges; they are renamed to `inherits`. Update queries filtering on `relation="extends"` for Java nodes.

Beta — feedback welcome: [email protected]