Skip to content

Latest commit

 

History

History
130 lines (96 loc) · 8.13 KB

File metadata and controls

130 lines (96 loc) · 8.13 KB

Changelog

Full release notes with details on each version: GitHub Releases

0.3.12 (2026-04-07)

  • Fix: sanitize_label was double-encoding HTML entities in the interactive graph (< instead of <) — removed html.escape() from sanitize_label; callers that inject directly into HTML now call html.escape() themselves (#66)
  • Fix: --wiki flag missing from skill.md usage table (#55)

0.3.11 (2026-04-07)

  • Fix: Louvain fallback hangs indefinitely on large sparse graphs — added max_level=10, threshold=1e-4 to prevent infinite loops while preserving community quality (#48)

0.3.10 (2026-04-07)

  • Fix: Windows UnicodeEncodeError during graphify install — replaced arrow character with -> in all print statements (#47)
  • Add: skill version staleness check — warns when installed skill is older than the current package, across all platforms (#46)

0.3.9 (2026-04-07)

  • Add: follow_symlinks parameter to detect() and collect_files() — opt-in symlink following with circular symlink cycle detection (#33)
  • Fix: watch.py now uses collect_files() instead of manual rglob loop for consistency
  • Docs: Codex uses $graphify . not /graphify . (#36)
  • Test: 5 new symlink tests (367 total)

0.3.8 (2026-04-07)

  • Add: C# inheritance and interface implementation extraction — base_list now emits inherits edges for both simple (identifier) and generic (generic_name) base types (#45)
  • Add: graphify query "<question>" CLI command — BFS/DFS traversal of graph.json without needing Claude Code skill (--dfs, --budget N, --graph <path> flags)
  • Test: 2 new C# inheritance tests (362 total)

0.3.7 (2026-04-07)

  • Add: Objective-C support (.m, .mm) — @interface, @implementation, @protocol, method declarations, #import directives, message-expression call edges
  • Add: --obsidian-dir <path> flag — write Obsidian vault to a custom directory instead of graphify-out/obsidian
  • Fix: semantic cache was only saving 4/17 files — relative paths from subagents now resolved against corpus root before existence check
  • Fix: 75 validation warnings per run for file_type: "rationale" — added "rationale" to VALID_FILE_TYPES
  • Test: 6 Objective-C tests; .m/.mm added to test_collect_files_from_dir supported set (360 total)

0.3.0 (2026-04-06)

  • Add: multi-platform support — Codex (skill-codex.md), OpenCode (skill-opencode.md), OpenClaw (skill-claw.md)
  • Add: graphify install --platform <codex|opencode|claw> routes skill to correct config directory
  • Add: graphify codex install / opencode install / claw install — writes AGENTS.md for always-on graph-first behaviour
  • Add: graphify claude uninstall / codex uninstall / opencode uninstall / claw uninstall
  • Add: MIT license
  • Fix: build() was silently dropping hyperedges when merging multiple extractions
  • Refactor: extract.py 2527 → 1588 lines — replaced 12 copy-pasted language extractors with LanguageConfig dataclass + _extract_generic()
  • Docs: clustering is graph-topology-based (no embeddings) — explained in README
  • Docs: all missing flags documented (--cluster-only, --no-viz, --neo4j-push, query --dfs, query --budget, add --author, add --contributor)

0.2.2 (2026-04-06)

  • Add: graphify claude install — writes graphify section to local CLAUDE.md + PreToolUse hook in .claude/settings.json
  • Add: graphify claude uninstall — removes section and hook
  • Add: graphify hook install — installs post-commit and post-checkout git hooks (platform-agnostic)
  • Add: graphify hook uninstall / hook status
  • Add: graphify benchmark CLI command
  • Fix: node deduplication documented at all three layers

0.1.8 (2026-04-05)

  • Fix: follow-up questions now check for wiki first (graphify-out/wiki/index.md) before falling back to graph.json
  • Fix: --update now auto-regenerates wiki if graphify-out/wiki/ exists
  • Fix: community articles show truncation notice ("... and N more nodes") when > 25 nodes
  • UX: pipeline completion message now lists all available flags and commands so users know what graphify can do

0.1.7 (2026-04-05)

  • Add: --wiki flag — generates Wikipedia-style agent-crawlable wiki from the graph (index.md + community articles + god node articles)
  • Add: graphify/wiki.py module with to_wiki() — cross-community wikilinks, cohesion scores, audit trail, navigation footer
  • Add: 14 wiki tests (245 total)
  • Fix: follow-up question example code now correctly splits node labels by _ to extract verb prefixes (previous version used def/fn prefix matching which always returned zero results)

0.1.6 (2026-04-05)

  • Fix: follow-up questions after pipeline now answered from graph.json, not by re-exploring the directory (was 25 tool calls / 1m30s; now instant)
  • Skill: added "Answering Follow-up Questions" section with graph query patterns

0.1.5 (2026-04-05)

  • Perf: semantic extraction chunks 12-15 → 20-25 files (fewer subagent round trips)
  • Perf: code-only corpora skip semantic dispatch entirely (AST handles it)
  • Perf: print timing estimate before extraction so the wait feels intentional
  • Fix: 5 skill gaps - --graphml in Usage table, --update manifest timing, query/path/explain graph existence check, --no-viz clarity
  • Refactor: dead imports removed (shutil, sys, inline os); _node_community_map() helper replaces 8 copy-pasted dict comprehensions; to_html() split into _html_styles() + _html_script(); serve.py call_tool() if/elif chain replaced with dispatch table
  • Test: end-to-end pipeline integration test (detect → extract → build → cluster → analyze → report → export)

0.1.4 (2026-04-05)

  • Replace pyvis with custom vis.js HTML renderer - node size by degree, click-to-inspect panel with clickable neighbors, search box, community filter, physics clustering
  • HTML graph generated by default on every run (no flag needed)
  • Token reduction benchmark auto-runs after every pipeline on corpora over 5,000 words
  • Fix: 292 edge warnings per run eliminated - stdlib/external edges now silently skipped
  • Fix: build() cross-extraction edges were silently dropped - now merged before assembly
  • Fix: pip install graphifypip install graphifyy in skill Step 1 (critical install bug)
  • Add: --graphml flag implemented in skill pipeline (was documented but not wired up)
  • Remove: pyvis dependency, dead lib/ folder, misplaced eval reports from tests/
  • Add: 5 HTML renderer tests (223 total)

0.1.3 (2026-04-04)

  • Fix: pyproject.toml structure - requires-python and dependencies were incorrectly placed under [project.urls]
  • Add: GitHub repository and issues URLs to PyPI page
  • Add: keywords for PyPI search discoverability
  • Docs: README clarifies Claude Code requirement, temporary PyPI name, worked examples footnote

0.1.1 (2026-04-04)

  • Add: CI badge to README (GitHub Actions, Python 3.10 + 3.12)
  • Add: ARCHITECTURE.md - pipeline overview, module table, extraction schema, how to add a language
  • Add: SECURITY.md - threat model, mitigations, vulnerability reporting
  • Add: worked/ directory with eval reports (karpathy-repos 71.5x benchmark, httpx, mixed-corpus)
  • Fix: pytest not found in CI - added explicit pip install pytest step
  • Fix: README test count (163 → 212), language table, worked examples links
  • Docs: README reframed as Claude Code skill; Karpathy problem → graphify answer framing

0.1.0 (2026-04-03)

Initial release.

  • 13-language AST extraction via tree-sitter (Python, JS, TS, Go, Rust, Java, C, C++, Ruby, C#, Kotlin, Scala, PHP)
  • Leiden community detection via graspologic with oversized community splitting
  • SHA256 semantic cache - warm re-runs skip unchanged files
  • MCP stdio server - query_graph, get_node, get_neighbors, shortest_path, god_nodes
  • Memory feedback loop - Q&A results saved to graphify-out/memory/, extracted on --update
  • Obsidian vault export with wikilinks, community tags, Canvas layout
  • Security module - URL validation, safe fetch with size cap, path guards, label sanitisation
  • graphify install CLI - copies skill to ~/.claude/skills/ and registers in CLAUDE.md
  • Parallel subagent extraction for docs, papers, and images