Safi
92b70ce5f4
fix: sanitize_label double-encoding and --wiki missing from skill ( #66 , #55 )
v0.3.12
2026-04-08 09:40:21 +01:00
Safi
3d53287ff6
Fix Louvain fallback hang on large sparse graphs ( #48 )
v0.3.11
2026-04-07 22:36:45 +01:00
Safi
96ea51c098
Bump version to 0.3.10
v0.3.10
2026-04-07 21:20:11 +01:00
Safi
fec0f9fca9
Fix Windows Unicode crash and add skill version staleness check ( #47 , #46 )
2026-04-07 21:18:50 +01:00
Safi
1383fb0739
Update README: add graphify query CLI, 19 language count, Factory Droid in repo About
2026-04-07 20:25:47 +01:00
Safi
a78d25d4fc
Add ObjC support, C# inheritance, CLI query, symlink support, bug fixes (v0.3.7-0.3.9)
...
- Add Objective-C extractor (.m/.mm) with @interface, @implementation, @protocol, imports, calls
- Add C# inheritance extraction via base_list nodes (inherits edges)
- Add --obsidian-dir flag to skill.md and skill-windows.md
- Add graphify query CLI command with --dfs, --budget, --graph flags
- Add follow_symlinks parameter to detect() and collect_files() with cycle detection
- Fix semantic cache relative path resolution (was saving only 4/17 files)
- Fix validate.py missing rationale file_type causing 75 warnings per run
- Add tree-sitter-objc dependency
- Update README with .m/.mm extensions, --obsidian-dir usage, Codex $ skill trigger
- 367 tests passing
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-07 20:20:49 +01:00
Safi
3d5da6039a
Add Elixir language support (.ex/.exs)
...
Extracts defmodule, def/defp, alias/import/require/use, and call graph.
Follows same custom-walk pattern as Zig and PowerShell extractors.
v0.3.8
v0.3.6
v0.3.9
v0.3.7
2026-04-07 12:54:12 +01:00
Safi
f6dd049cb0
Add .docx and .xlsx support via optional [office] extra
...
python-docx converts .docx to markdown (headings, lists, tables).
openpyxl converts .xlsx sheets to markdown tables. Both are
pre-converted to .md sidecars in graphify-out/converted/ before
semantic extraction - no skill changes needed. Graceful fallback
if [office] not installed: file is skipped with an install hint.
v0.3.5
2026-04-07 12:38:03 +01:00
Safi
a06313a0f9
Fix UnicodeDecodeError on Windows GBK locale: add encoding=utf-8 to all read_text/write_text calls
v0.3.4
2026-04-07 11:54:54 +01:00
Safi
db2d297296
Add Windows support: skill-windows.md with PowerShell-compatible commands
...
graphify install now auto-detects Windows and installs the Windows skill
variant. skill-windows.md replaces bash-specific commands (which, head, tr,
rm -f, mkdir -p) with PowerShell equivalents. Bumps to v0.3.3.
v0.3.3
2026-04-07 11:30:08 +01:00
Safi
abd55cca9a
Add GitHub Sponsors badge to README
2026-04-07 10:50:59 +01:00
Safi
e5e93c8180
Add GitHub Sponsors funding config
2026-04-07 10:46:36 +01:00
Safi
1a109afdce
Add star history chart to README
2026-04-07 10:33:31 +01:00
Safi
d7230a24c3
bump version to 0.3.2
v0.3.2
2026-04-07 09:59:01 +01:00
Safi
9d998cc810
Add Zig and PowerShell language support
2026-04-07 09:56:53 +01:00
Safi
f2423bc114
Add .graphifyignore support for excluding files and directories
2026-04-07 09:41:01 +01:00
Safi
b079c6713a
Add Factory Droid platform support
2026-04-07 09:34:28 +01:00
Safi
8c1d5e8114
Update SECURITY.md: supported versions, SSRF and YAML injection mitigations
2026-04-06 22:38:02 +01:00
Safi
808cd98395
Fix YAML injection in webpage title and query frontmatter
2026-04-06 22:35:19 +01:00
Safi
e7bd4f38ee
bump version to 0.3.1
v0.3.1
2026-04-06 22:24:21 +01:00
Safi
c529e2217f
Fix 8 bugs: SSRF in tweet fetch, Cypher injection, XSS in community labels, graph_diff edge ordering, cache key collision, hook uninstall correctness, watch mode set, rebuild word count
2026-04-06 22:23:55 +01:00
Safi
4e844ea907
Update README: git hook failure behavior
2026-04-06 22:23:55 +01:00
Safi
148e247662
Fix 6 bugs: hook exit code, token budget, file node detection, duplicate function, atomic cache writes, deleted file tracking
2026-04-06 22:23:55 +01:00
Safi
9eda1558c2
feat: Lua language support
2026-04-06 21:59:38 +01:00
Safi
79b8d8d9b2
docs: add Simplified Chinese README
...
Add a Chinese README translation and link it from the main README for easier language discovery.
2026-04-06 21:59:38 +01:00
Safi
477465ae0d
feat: Swift language support
...
* feat: add Swift language support
Add tree-sitter-swift extractor for classes, structs, protocols,
functions, imports, and call graph edges. Includes 8 passing tests.
* feat: full Swift AST support — enums, extensions, actors, conformance
- Enums: extract enum types, methods, and cases (case_of edges)
- Extensions: methods attach to the original type (no duplicate nodes)
- Actors: recognized via unified class_declaration node type
- Conformance/inheritance: inherits edges from : Protocol syntax
- deinit/subscript: name resolution for nameless declarations
- 12 new tests (110 total, all passing)
2026-04-06 21:59:38 +01:00
Safi
404674a24a
security: SSRF private IP blocking and Neo4j Cypher injection fix
...
Two targeted security hardening changes:
1. SSRF: validate_url() now resolves hostnames and blocks private/reserved
IP ranges (127.x, 10.x, 169.254.x, etc.) and cloud metadata endpoints.
Prevents SSRF attacks in cloud environments where a URL like
http://169.254.169.254/latest/meta-data/ could leak instance credentials.
2. Neo4j Cypher injection: Node labels (file_type) are now sanitized to
alphanumeric + underscore before interpolation into Cypher queries.
Previously, attacker-controlled file_type metadata could inject
arbitrary Cypher in team/shared graph scenarios.
Both changes are zero-impact on normal UX - no new config, no new flags,
no behavioral changes for legitimate use.
2026-04-06 21:59:38 +01:00
Safi
934957cbfd
update worked example READMEs for v3 multi-platform
2026-04-06 16:20:13 +01:00
Safi
e11d04f8c2
explain always-on vs explicit trigger in README
2026-04-06 16:15:51 +01:00
Safi
1a54f16b80
feat: always-on hooks and README updates for all platforms
2026-04-06 16:06:31 +01:00
Safi
aed4a981a1
v3: MIT license, multi-platform packaging and CI
2026-04-06 16:06:31 +01:00
Safi
3694822040
document node deduplication strategy in build.py
2026-04-06 16:06:31 +01:00
Safi
5461feb7e8
refactor extract.py: LanguageConfig + _extract_generic replaces 10 copy-pasted extractors (2527 → 1588 lines)
2026-04-06 16:06:31 +01:00
Safi
6570488658
fix build() dropping hyperedges when merging multiple extractions
2026-04-06 16:06:31 +01:00
Safi
38d967fc63
feat: multi-platform skill files and install routing (Codex, OpenCode, OpenClaw)
2026-04-06 16:06:31 +01:00
Safi
07de9d5c22
fix: use correct Python interpreter for pipx installs
2026-04-06 16:06:31 +01:00
Safi
c1bf6c90dc
fix graspologic optional, fall back to networkx louvain, add privacy section
2026-04-06 16:06:31 +01:00
Safi
4ba8198c7c
v2.1: PyPI release and CI for v2 branch
2026-04-06 16:06:31 +01:00
Safi
c46a4ebb68
README: fix CI badge to v2, update curl URL, add how it works, graphify claude install section
2026-04-06 16:06:31 +01:00
Safi
0ee77c0b6a
bump version to 0.2.0
2026-04-06 16:06:31 +01:00
Safi
317d73f8f7
v2: confidence scores, hyperedges, rationale extraction, git hooks, Claude Code hooks
...
- confidence_score required on every edge (INFERRED: 0.4-0.9, EXTRACTED: 1.0, AMBIGUOUS: 0.1-0.3)
- semantically_similar_to edges for non-obvious cross-file conceptual links
- hyperedges for 3+ node group relationships - fixed cache and merge pipeline that was silently dropping them
- check_semantic_cache returns 4-tuple including cached_hyperedges
- extract.py: mine the "why" - module/class/function docstrings and rationale comments (# NOTE: # IMPORTANT: # HACK: # WHY: # RATIONALE: # TODO: # FIXME:) as rationale_for nodes
- skill.md: rationale_for in relation schema, doc files extract design rationale
- obsidian output opt-in (--obsidian flag) - default output is graph.html + graph.json + GRAPH_REPORT.md only
- hooks.py: post-checkout hook added alongside post-commit - graph rebuilds on branch switch
- claude install: writes .claude/settings.json PreToolUse hook on Glob/Grep - Claude checks graph before searching raw files
- README updated with all v2 features
2026-04-06 16:06:31 +01:00
Safi
3f8169c807
README: highlight multimodal capability upfront
2026-04-06 16:06:31 +01:00
Safi
3a117c93e8
v2: hypergraph support - hyperedges in graph.json, shaded regions in HTML, report section
2026-04-06 16:06:31 +01:00
Safi
6fa4c7e662
v2: semantic similarity edges, scored higher in surprising connections
2026-04-06 16:06:31 +01:00
Safi
dafe6c9f03
v2: confidence scores on INFERRED edges, avg shown in report
2026-04-06 16:06:31 +01:00
Safi
7e3da961a9
v2: fast --update for code-only changes, parallel AST+semantic, graphify claude install
2026-04-06 16:06:31 +01:00
Safi
63d80200c5
README: clarify any folder works, clean up usage section
2026-04-06 16:06:31 +01:00
Safi
66f1f40de8
add git commit hook - auto-rebuilds graph after every commit
2026-04-06 16:06:31 +01:00
Safi
e2fd4f944e
watch: auto-rebuild graph on code changes without LLM, notify on doc/image changes
2026-04-06 16:06:31 +01:00
Safi
21e443e201
Add reproducible worked example with 7 input files and README
2026-04-06 16:06:31 +01:00