Releases: Graphify-Labs/graphify
Release list
v0.3.10
What's new
Fix: Windows Unicode crash (#47)
- Replaced arrow character with
->in all print statements — fixesUnicodeEncodeErroron cp1252/Windows consoles
Add: Skill staleness warning (#46)
graphify installnow writes a version stamp alongside the skill file- Every
graphifycommand checks all platform skill locations and warns if the installed skill is from an older version - Works across Claude Code, Windows, Codex, OpenCode, OpenClaw, Factory Droid
v0.3.9
What's new
Symlink support (#33)
detect()andcollect_files()now acceptfollow_symlinks=Trueto traverse symlinked files and directories- Circular symlink cycle detection prevents infinite recursion
watch.pynow usescollect_files()for consistency
Docs
- Codex skill trigger is
$graphify .not/graphify .(#36)
Tests
- 367 tests passing (up from 362)
v0.3.8
What's new
C# inheritance extraction (#45)
DataProcessor : IProcessornow emitsinheritsedges- Handles both simple bases (
identifier) and generic bases (IList<T>→generic_name) - Zero false positives — tested on 6,100-file Unity/VaM codebase producing 3,957 edges
graphify query CLI command (#43)
- Query the knowledge graph without Claude Code:
graphify query "what connects attention to the optimizer?" graphify query "what is CfgNode?" --dfs graphify query "show auth flow" --budget 500 --graph path/to/graph.json - BFS by default,
--dfsfor path tracing,--budget Nto cap output tokens
Tests
- 362 tests passing (up from 360)
v0.3.7
What's new
Objective-C support (#34)
.mand.mmfiles now extracted via tree-sitter@interface,@implementation,@protocol→ class/protocol nodes- Method declarations and definitions → method nodes with
methodedges #importdirectives →importsedges- Superclass and protocol conformance →
inheritsedges - Message expressions →
callsedges (INFERRED)
--obsidian-dir flag (#37)
- Write Obsidian vault to a custom path:
/graphify ./raw --obsidian --obsidian-dir ~/vaults/myproject
Bug fixes
- Semantic cache: relative paths from subagents now resolved against corpus root — was causing only ~25% of files to cache correctly
- Validation:
file_type: "rationale"no longer triggers 75 warnings per run
Tests
- 360 tests passing (up from 354)
v0.3.6 - Elixir support
What's new
- Elixir language support —
.exand.exsfiles now go through AST extraction. Extractsdefmodule,def/defp,alias/import/require/use, and the call graph between functions. Same EXTRACTED/INFERRED tagging as every other language.
v0.3.5 - .docx and .xlsx support
What's new
- .docx and .xlsx support — Office documents now work in graphify. Install the optional extra:
pip install graphifyy[office].docx: converted to markdown viapython-docx(headings, lists, tables preserved).xlsx: each sheet converted to a markdown table viaopenpyxl- Converted files are saved to
graphify-out/converted/as.mdsidecars — Claude reads them as normal documents - Graceful fallback if
[office]is not installed: file is skipped with an install hint
v0.3.4 - Windows encoding fix
What's new
- Fix UnicodeDecodeError on Windows GBK locale — all
read_text()andwrite_text()calls ingraphify/__main__.pynow explicitly passencoding="utf-8". Windows systems with non-UTF-8 default locales (e.g. GBK in Chinese Windows) no longer crash ongraphify install.
v0.3.3 - Windows support
What's new
- Windows support —
graphify installnow auto-detects Windows and installs a PowerShell-compatible skill variant (skill-windows.md). All bash-specific commands replaced:which/head/tr→ Python detection,rm -f→Remove-Item,mkdir -p→New-Item,python3→python - Manual override:
graphify install --platform windowson any platform
v0.3.2
Zig and PowerShell are now supported. Functions, structs, enums, unions, and imports for Zig. Functions, classes, methods, and using statements for PowerShell.
Factory Droid is now a supported platform. graphify install --platform droid and graphify droid install work the same as the other platforms.
.graphifyignore — add a file to exclude folders and files from the graph. Same syntax as .gitignore. Useful for keeping node_modules, vendor, dist, and generated files out of the graph.
What is next
v0.4.0 brings local embeddings via quantized Gemma 4, no API cost for semantic similarity. Also planned: more /graphify add sources, graph diff across runs, and worked examples for Codex and OpenCode.
v0.3.1
Fourteen bugs fixed across two community code reviews.
Git hooks now exit with a non-zero code when a rebuild fails. Previously the hook caught the exception and exited 0, so git assumed everything was fine and your graph would go stale with no warning.
The /graphify query token budget was overshooting by about 3x. The character-to-token ratio has been corrected.
Deleted files are now tracked in incremental mode. If you remove a file and run /graphify --update, its nodes are flagged for cleanup instead of staying in the graph as ghost nodes.
Cache writes are now atomic. A crash mid-write no longer leaves a corrupt cache entry that silently causes a full re-extraction on the next run.
/graphify add tweet fetching was bypassing SSRF protections and making raw HTTP requests. It now routes through the same safe fetch layer as everything else.
Neo4j Cypher export was vulnerable to injection via backslash sequences in node labels. Escaping is now correct.
The HTML visualization was embedding AI-generated community labels directly into innerHTML without sanitization. Labels are now sanitized before rendering.
Graph diff was reporting phantom additions and removals on undirected graphs because edge key ordering was non-deterministic. Edge keys are now normalized.
The file cache was keyed only on content hash, so two files with identical content would share a cache entry with wrong source metadata baked in. The file path is now included in the key.
Hook uninstall used a naive string split that could corrupt other hooks sharing the same file. Uninstall now uses paired start and end markers.
What is next
v0.4.0 brings local embeddings via quantized Gemma 4, no API cost for semantic similarity. Also planned: more /graphify add sources, graph diff across runs, and worked examples for Codex and OpenCode.