v0.8.39

gravitational/teleportv0.8.39Jun 12, 2026by safishamsi

AI Summary

Graphifyy v0.8.39 optimizes performance for neighbor lookup and adds a new backend export option.

Key Highlights

  • Optimized LSH neighbor lookup from O(n²) to O(n) in deduplication.
  • Added FalkorDB export backend support.
  • Fixed handling of `.graphifyignore` negation.

New Features

  • FalkorDB export backend

Full Release Notes

## What's changed

### Performance
- **Perf: O(n²)→O(n) LSH neighbor lookup in dedup.** `candidates_by_id` dict replaces inner O(n) scan per neighbor; `norm_cache` avoids re-normalising labels on every comparison.

### Fixes
- **Fix: `affected` handles `"edges"`-keyed graph.json** (`KeyError: 'links'` crash). Normalised using the established pattern in `__main__.py`/`serve.py`.
- **Fix: `.graphifyignore` single `!` 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-chunks` prints node count** instead of raw list object.
- **Fix: manifest data-loss on corrupt JSON.** Silent `except: pass` replaced 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: `--model` flag for `graphify cluster-only` and `graphify label`.** Override the model used for community naming independently of the backend.

### Docs
- Persian (فارسی) README translation added.
- README: `--model` examples added to `cluster-only`/`label` command section.

---
Install: `uv tool install graphifyy` · [PyPI](https://pypi.org/project/graphifyy/0.8.39/) · [CHANGELOG](https://github.com/safishamsi/graphify/blob/v8/CHANGELOG.md)