Theme / v0.9.56

Graphify

Codebase 知識圖譜

Changelog

版本更新紀錄

收錄 Graphify 的版本變遷軌跡。每條紀錄以舊值新值呈現,舊值以紅線劃掉但保留可見,方便對照改動軌跡。

當前記錄版本

v0.9.56

查看上游所有 Release ↗
  1. v0.9.56

    當前版本2026-09-07
    • 版本定位v0.9.53v0.9.56,涵蓋 v0.9.54~v0.9.56。這三版以「graph 正確性、跨 repo 解析、Windows 穩定性與大型 TypeScript 效能」為主,對依賴 Graphify 做 impact analysis 的團隊比一般 UI 新功能更重要。
    • 新增功能merge-graphs 可在 receiver type 位於另一個 repo 時,對唯一且不歧義的 type + method 組合補出 member-call 關係;query scorer 也新增 rationale tier,讓只存在 rationale 文字的節點有更好的搜尋召回。
    • 語言模型新增 / 改善:Rust trait 的 signature-only 與 default-bodied methods 都會成為節點;JS/TS @/ project-root alias、Node package.json imports#subpath / wildcard / conditions 能正確解析;Python imported type 與 named re-export / barrel / alias chain 更精準;Dart node/edge 補上 source_location
    • 行為改變:與語言 builtin 同名的 member call(例如 .open.get.map)不再直接被當 builtin 略過,而是交由 cross-file resolution 判斷;MCP query_graph 從只有 incoming edges 的 leaf node 起查時改採 undirected traversal,因此「誰呼叫我」類問題能得到完整結果。
    • 效能改善:TS import-type normalization 從 O(matches × ranges) 改為 sorted-index lookup,避免大型 mixed TypeScript file 長時間吃滿 CPU;source lookup、duplicate-edge 處理與 no-cluster basename disambiguation 也同步修正。
    • 穩定性 / Windows:MCP prs 在 Windows 會 detach stdin 避免 stdio transport 卡死;atomic-write temp filename 改為 bounded,避免接近 Windows MAX_PATH / 255-char component limit 時失敗;rebuild watchdog timeout 會先殺掉 extraction workers,不再留下 orphan process。
    • 資料完整性definition_file 改為 scan-root relative canonical path,graph 可跨機器保持 byte-stable;.graphify_version、Obsidian vault 與 graph.canvas 採 atomic write;code-only watch rebuild 不會再清掉 pending semantic-update flag。
    • 移除 / Breaking Change:v0.9.54~v0.9.56 沒有宣告 CLI removal;主要是 extractor 與 resolver 行為變得更正確。這類更新雖不屬 API breaking,但可能讓同一份 codebase 產生更多、或不同的 node/edge。
    • 既有使用者影響:舊 graph 不會自動擁有新 extractor 能力;若你依賴 Rust trait、JS/TS alias、Python import 或跨 repo member-call 關係做分析,升級後應重新執行 graphify update 或完整 rebuild,才能讓既有 graph 反映新版解析結果。
    • 學習重點 / 建議用法:這版最適合拿來理解「知識圖譜工具的準確度不是只有 parser,而是 parser + symbol identity + cross-file resolution + incremental rebuild」;做 code intelligence 時,任何一層錯誤都可能產生看似合理、其實錯誤的 impact path。
    上游 Release Notes ↗
  2. v0.9.53

    舊版本2026-08-30
    • v0.9.51v0.9.53:涵蓋 v0.9.52 與 v0.9.53 兩個 patch。
    • v0.9.53 為 cross-language inheritance release:JS class X extends Y 發出 inherits 邊(#1790);PHP interface / enum / trait 獨立為 class-like node 並保留 heritage(#1791);Scala trait 成為 class-like node,qualified extends/with 解析到 tail type(#1792/#1794);Kotlin qualified supertype 解析到 tail type(#1793);C# interface 繼承 interface 歸類為 inherits 而非 implements(#1817);Go interface type-set constraint 不再發出假的 embeds 邊(#1818)。
    • v0.9.53 新增 Robot Framework 支援(.robot/.resource,optional [robot] extra):suite / test case / user keyword、keyword-call 邊與 resource / library import,keyword 名稱大小寫 / 空白 / 底線不敏感比對(#3192)。
    • v0.9.53 安全加固:chat-template control token 改按形式(<|…|>[INST]/[SYSTEM])defang,封住 attacker-chosen token(如 <|eot_id|>)的 prompt-injection 缺口(#3183);git hook-guard 只在 executed position 偵測 search command,comment / quoted message 不再誤判(#3121)。
    • v0.9.53 穩定性:graphify watch/update 在目標 node 仍以不同拼寫存活時保留 authored markdown link(#3190 後續,deleted-target gate 不放寬);semantic tier 未實際重萃取時不再默默丟失 semantic node,unverified per-source shrink 會武裝 shrink guard 並於下輪重新排入佇列(#3203);graphify install 覆寫前先備份分歧的 SKILL.md 並輸出可操作警告(#3144)。
    • v0.9.52 修正 code-only rebuild 時默默丟失指向 semantic-backed 文件的 Markdown link:[[wikilink]] 重指向目標檔的 representative node,不會復活已刪除目標(#3190);T-SQL 解析成 tree-sitter ERROR node 的 routine(CREATE OR ALTERPROC 簡寫、[dbo].[Get Widgets] 括號名)以名稱回復,不因註解或 dynamic SQL 製造假節點(#3164);Razor @inject/@using 走 scope-aware C# type resolver,跨檔定義可解析(#3187 部分修正,file-scoped-namespace bare inject 尚待後續)。
    • v0.9.52 完成物件建立建模:PHP new Foo() 發出 calls 邊(namespaced name 取最後段,#3115),補齊 C#(#2998)與 TypeScript(#3135);field 型別宣告在祖先類別時可從子類解析,lookup 走繼承鏈且 cycle-safe(Java/C# per-file、Java/Objective-C cross-file,#3151);Obj-C field-to-type 表隨 node-id rewrite 重新 keying(#3150);TS type-only import(import type)不再製造假的 import cycle(#3123);import(...) 作為 call type-argument 時先正規化,其後宣告不再被丟棄(#3185)。
    • v0.9.52 其他:graphify --help 補列 prs / provider 指令與實際支援的 export 格式;MCP prs 工具把真實失敗以 MCP error(isError)回報、get_node 改用與 get_neighbors 相同的 tiered resolver;install --project hook 改為 run time 解析的 bare graphify 指令,不再 pin 絕對 interpreter 路徑。
    上游 Release Notes ↗
  3. v0.9.51

    舊版本2026-08-28
    • v0.9.43v0.9.51:涵蓋 v0.9.44 至 v0.9.51 八個 patch。
    • v0.9.51 加固 incomplete-build shrink guard:chunk「hollow / 不可解析 / 缺 files」時保持武裝,靜默損失內容的 run 不再以更小的圖覆寫既有 graph(--allow-partial 仍可強制);extract --force --code-only 真正全量重掃,不再留下過期 import / alias 解析。
    • v0.9.49 / v0.9.50 強化 graphify merge-graphs:跨 repo 共享型別(同 fully-qualified namespace + name)發出 same_type_as 邊;community id 依輸入 offset,不再跨 repo 融合 community 0(原 id 保留於 local_community);Ruby savesave! 保持各自 node id。
    • v0.9.46 / v0.9.47 穩定性:post-checkout hook 在 HEAD 未變時跳過重建(git checkout -b 不再全圖重建);慢檔 chunk timeout 改為 bisection;cache 以 symlink 身分 keying;graphify query_ 當 token 分隔符。
    • v0.9.44 新增 graphify hook install 讀 committed .graphifyrcviz_node_limit)烘焙進 git hooks,團隊共享;JS/TS inline / nested function expression 參數 shadow 修正;v0.9.48 大圖 graphify update / label / cluster-only 不再缺 graph.html
    上游 Release Notes ↗
  4. v0.9.43

    舊版本2026-08-14
    • 本站此前的記錄版本,已升級至 v0.9.51。
    • v0.9.41v0.9.43:涵蓋 v0.9.42 與 v0.9.43 兩個 patch。
    • v0.9.42 為 correctness / determinism / portability release:JS/TS for...of/for...in loop binding shadow 不再製造假的 indirect_call 邊(#2685);Python 相對子套件 import 解析到套件 __init__(#2688);FIFO/device 等 non-regular file 跳過,不再卡住 extraction(#2463)。
    • graphify update 對 mtime tick 內「同長度重寫」的檔案會重新排入增量佇列(#2466);built_at_commit 改取自被分析的 repo 而非 shell cwd(#2699);損毀的 semantic-cache 條目會重新萃取而非默默遺漏(#2683)。
    • source_file 統一 canonicalize 為 POSIX 路徑,Windows atomic write / install 加固(#2620/#2622);GRAPH_REPORT.md 改用 portable basename(#2682);affected 支援 ./-relative seed(#2707)。
    • v0.9.43 新增 OCaml 支援(.ml/.mli,optional [ocaml] extra);修正跨檔 INFERRED uses 邊錯綁 import 行旁所有 class 的問題(#2652)、巢狀具名 function declaration 不再懸空(#2653)、Bash source 兩種路徑形式與 wiki link 檔名逐字比對(#2596/#2597)。
    上游 Release Notes ↗
  5. v0.9.32

    舊版本2026-08-10
    • 本站此前的記錄版本(correctness release),已升級至 v0.9.37。
  6. v0.9.41

    舊版本2026-08-10
    • v0.9.32v0.9.41:跳過九個 patch(v0.9.33–v0.9.40)。
    • v0.9.35 為 correctness release,重新啟用 build_merge 的 shrink guard(修正
    • graphify update 會把新加入 .graphifyignore/--exclude 的檔案從既有 graph 中移除(fail-closed
    • 修正 Java local class 與同名 external annotation(如本地 class Component vs Spring @Component)合併為單一 node 的問題(#2504)。
    • callflowquery 變為方向 / relation aware。
    • v0.9.41 的 graphify update 不會以本次 extractor 失敗導致的縮小圖譜覆寫既有資料;語意節點新增 rationale 萃取。
    上游 Release Notes ↗

圖例

  • 當前版本 本站現在記錄的版本
  • 舊版本 已被取代,保留作歷史對照
  • 已同步 與上游 release 對齊
  • 僅上游變動 上游 main 有 commit,但未發佈新版