This release adds 2 notable features for engineering teams evaluating rollout.
✓ No known CVEs patched in this version
Topics
+5 more
ReleasePort's take
Light signal`graphify update` is now idempotent, rewriting graph.json and GRAPH_REPORT.md only when content changes. This prevents unnecessary file updates in build pipelines.
Why it matters: Update graphify to v0.7.18 to eliminate spurious file changes in build systems. Idempotent updates reduce cache invalidation and rebuild overhead for automation-heavy workflows.
Summary
AI summaryGraph outputs are now idempotent and graphify update --no-cluster writes a consistent "links" key.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Feature | Medium |
`graphify update` is now idempotent, rewriting graph.json and GRAPH_REPORT.md only when content actually changes. `graphify update` is now idempotent, rewriting graph.json and GRAPH_REPORT.md only when content actually changes. Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Feature | Low |
Stable community IDs across rebuilds using deterministic Leiden/Louvain inputs and fixed seed. Stable community IDs across rebuilds using deterministic Leiden/Louvain inputs and fixed seed. Source: granite4.1:30b@2026-05-22-audit Confidence: low |
— |
| Feature | Low |
'graphify update --no-cluster' skips reclustering, writing raw AST graph only. 'graphify update --no-cluster' skips reclustering, writing raw AST graph only. Source: granite4.1:30b@2026-05-22-audit Confidence: low |
— |
| Bugfix | Medium |
Fixes schema inconsistency of '--no-cluster' mode to always write 'links' key. Fixes schema inconsistency of '--no-cluster' mode to always write 'links' key. Source: granite4.1:30b@2026-05-22-audit Confidence: low |
— |
| Bugfix | Medium |
Corrected node ID format in skill.md to '{parent_dir}_{filename_stem}_{entity}' preventing ghost duplicates. Corrected node ID format in skill.md to '{parent_dir}_{filename_stem}_{entity}' preventing ghost duplicates. Source: granite4.1:30b@2026-05-22-audit Confidence: low |
— |
| Bugfix | Low |
.graphify_labels.json no longer rewritten on no‑op rebuilds, reducing churn. .graphify_labels.json no longer rewritten on no‑op rebuilds, reducing churn. Source: granite4.1:30b@2026-05-22-audit Confidence: low |
— |
| Bugfix | Low |
Serialization crashes prevented by using default=str for clustering sort keys on non‑JSON‑serializable edge attributes. Serialization crashes prevented by using default=str for clustering sort keys on non‑JSON‑serializable edge attributes. Source: granite4.1:30b@2026-05-22-audit Confidence: low |
— |
| Refactor | Low |
Unified shrink‑check logic into a single _check_shrink() helper across code paths. Unified shrink‑check logic into a single _check_shrink() helper across code paths. Source: granite4.1:30b@2026-05-22-audit Confidence: low |
— |
| Other | Low |
feature feature Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Other | Low |
severity severity Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Other | Low |
32 32 Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Other | Low |
text text Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Other | Low |
affected_surface affected_surface Source: llm_adapter@2026-05-21 Confidence: low |
— |
Full changelog
What's new
graphify updateis now idempotent — graph.json and GRAPH_REPORT.md only rewritten when content actually changes; topology comparison short-circuits clustering on unchanged graphs (#824)- Stable community IDs across rebuilds — deterministic Leiden/Louvain inputs (sorted + fixed seed); greedy overlap remapper preserves existing IDs so hand-edited labels don't drift (#824)
graphify update --no-cluster— skip reclustering, write raw AST graph only (mirrorsgraphify extract --no-cluster) (#824)- Fix
--no-clusterschema — now writes"links"key consistent with the full clustered path; previously toggled to"edges"on every mode switch - Fix labels file churn —
.graphify_labels.jsonno longer rewritten on no-op rebuilds - Fix shrink-check duplication — unified into a single
_check_shrink()helper across both code paths - Fix node ID format in skill.md — corrected to
{parent_dir}_{filename_stem}_{entity}; the old filename-only format caused ghost-duplicate nodes when AST and semantic extractors disagreed; existing graphs with ghost duplicates can be cleaned withgraphify extract --force - Fix serialization crashes —
default=strin clustering sort keys prevents crashes on non-JSON-serializable edge attributes - Docs — Prerequisites, optional extras table, env vars reference, troubleshooting, and dev setup added to README (#833)
Install / upgrade
pip install -U graphifyy
# or
uv tool install graphifyy
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
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
Beta — feedback welcome: [email protected]