What's changed
Performance
- Perf: O(n²)→O(n) LSH neighbor lookup in dedup.
candidates_by_iddict replaces inner O(n) scan per neighbor;norm_cacheavoids re-normalising labels on every comparison.
Fixes
- Fix:
affectedhandles"edges"-keyed graph.json (KeyError: 'links'crash). Normalised using the established pattern in__main__.py/serve.py. - Fix:
.graphifyignoresingle!negation no longer disables all directory pruning. Pure performance fix — the descent was always wasted since gitignore can't rescue files beneath an excluded parent. - Fix:
merge-chunksprints node count instead of raw list object. - Fix: manifest data-loss on corrupt JSON. Silent
except: passreplaced with corrupt-file backup + stderr warning. - Fix: tree-sitter packages have pinned upper-bound version ranges to prevent silent breakage on grammar API changes.
Features
- Feat: FalkorDB export backend.
graphify export falkordb --push redis://localhost:6379(optional dep:uv tool install "graphifyy[falkordb]"). - Feat:
--modelflag forgraphify cluster-onlyandgraphify label. Override the model used for community naming independently of the backend.
Docs
- Persian (فارسی) README translation added.
- README:
--modelexamples added tocluster-only/labelcommand section.