Theme / v0.10.8
Codebase Memory
程式碼記憶與知識圖譜 MCP
Changelog
版本更新紀錄
收錄 Codebase Memory 的版本變遷軌跡。每條紀錄以舊值→新值呈現,舊值以紅線劃掉但保留可見,方便對照改動軌跡。
v0.10.8
當前版本2026-08-19- v0.10.4→v0.10.8:version 欄位更新為
v0.10.8;合併收錄 v0.10.5(安裝與啟動修復)、v0.10.6(0.10.x 索引效能回歸修復)與 v0.10.8(19 個社群 PR 修復批次)三個正式版,不需索引、快取或設定遷移。上游曾以錯誤 tag0.10.7(無v前綴)發布 prerelease,npm/PyPI 安裝器無法解析該 tag,已由 v0.10.8 以相同內容取代,本站不採用該 prerelease。 - 0.10.x 索引效能回歸全面修復(v0.10.6,#1669):自 0.10.0 起大型 repo 索引持續變慢——Java 慢 6 倍、C# 2.6 倍、TypeScript 2 倍——根因是多處 per-file 工作隨整個 corpus 縮放;修復後 elasticsearch (Java) 477 秒 → 86 秒、dotnet/runtime (C#) 1211 秒 → 450 秒且比 0.9.0 多 48% edges、TypeScript repo 37 秒 → 約 24 秒;Linux 記憶體暴增一併修復(#1654,v0.10.4 曾在索引時把 36 GB 機器 OOM);CI 新增 complexity guard 防止再度回歸,
CBM_PROFILE=1可印各 pipeline pass 耗時。 - 安裝與設定寫入修復(v0.10.5/v0.10.6):Windows installer 暫存目錄改為 owner-only ACL,不再被自家 binary 以
acl-grants-cross-account-mutation拒絕;Hermes、goose、OpenCode、Codex 設定中的四類 YAML 建構(空 flow collections、行首 block sequences、反斜線續行字串、中綴 apostrophe)全部接受;含 UTF-8 BOM 的設定檔可正常編輯;cbm 自身寫入、後經 client 加註欄位(如"enabled": true)的 MCP entry 不再被誤判為外來而拒改,修復時保留註解與 client 欄位;uninstall --help不再真的執行解除安裝(#1038)。 - Windows DACL 不再反覆重寫(v0.10.6):runtime 目錄僅在非 owner-only 狀態時重蓋安全描述元,受 pre-v0.10.3 空 DACL 破壞的目錄偵測後原位修復(#1416/#1601/#1620);
CBM_RUNTIME_DIR在正式 build 可搬移 daemon rendezvous 目錄,並轉發至 Codex 產生的設定(#1664)。 - Cypher 聚合不再漏算(v0.10.8,#1196):unlabeled scan 在
max_rows前提前截斷(#1323)與 relationship-expansion buffer 內部上限(#1698)兩處修復後,count()/collect()可見完整 match set,max_rows僅限制回傳列數,與文件語意一致。 - Graph 準確度(v0.10.8):Python aliased from-import(如
from .gate import execute as bridge_execute)正確產生指向真實定義的 CALLS edge,django benchmark 找回 26 條 INHERITS 與 42 條 OVERRIDE edges(#1371);search_graph不再回傳僅由 similarity edge 支撐的 semantic-only ghost 結果(#1319);list-valued 欄位不再折疊為第一個元素(#1325)。 - Windows 與平台支援(v0.10.8):
search_code管線強制 UTF-8,非 ASCII(CJK 等)內容不再變成?(#1704),並支援 UTF-8 輸出路徑與 context 欄位(#1253);查詢可取消、不殘留孤兒 scan(#1608);新增 FreeBSD 支援(#1467);list_projects支援 offset/limit 分頁(#1181);無副檔名腳本以 shebang 偵測語言(#1203)。 - Release pipeline 強化(v0.10.8):gate 取消即 fail closed,逾時 gate 不再靜默跳過測試矩陣(#1719);preflight 拒絕無
v前綴的版本輸入,杜絕 0.10.7 事件重演。
- v0.10.4→v0.10.8:version 欄位更新為
v0.10.4
舊版本2026-08-14- version 欄位更新為
v0.10.4;install-and-diagnostics release,修正 v0.10.3 在 Windows 或套件管理員環境拒絕安裝/啟動的問題,不需索引、快取或設定遷移。 - Windows 系統管理員帳號可正常安裝與啟動(@spam0115、@gotspatel,#1416):先前 installer 以 token 的 user SID 比對檔案 owner,但 Windows 對新建立物件蓋的是 owner SID(Administrators 群組預設為
BUILTIN\Administrators),導致自身建立的暫存檔被拒用;現在同時接受 Windows 實際蓋上的 owner SID,檔案真的屬於其他帳號時仍會拒絕。 - 套件管理員安裝不再被覆寫(@SC-CTS):mise、Homebrew、nix、asdf、cargo 管理的 binary 不再被
install複製一份到~/.local/bin,也不改 shell rc;update會誠實拒絕並指名改用mise upgrade/brew upgrade等對應指令。 install --clients可指定要設定的客戶端(@PsyTech-Rob):不再對每個偵測到的 client 都寫 MCP config、agents、skills 與 hooks;不帶參數的--clients會列出所有支援的 token。- 錯誤訊息與診斷改進(@listepo、@PsyTech-Rob):啟用拒絕改為指名目錄與觸發規則;client-path 啟動失敗改以 JSON-RPC error 回傳原因,不再只寫到 stderr 造成「transport closed unexpectedly」;
ui_enabled與ui_port成為config set/config list支援的第一級設定鍵。 - Codex 重複安裝不再破壞設定(@astandrik):重複的 inline hook 指派會被併回 canonical block,外部 hook 保留,曖昧 TOML 直接拒絕修改;OpenCode 安裝已修正寫入
opencode.json/opencode.jsonc的目標選擇,但寫入本身在 v0.10.4 仍失敗(追蹤 #1630)。 - 查詢正確性與平台支援(@SEPURI-SAI-KRISHNA、@PR9000):
OPTIONAL MATCH在 hop buffer 飽和時不再丟棄 no-match 列;FreeBSD 可正確解析自身執行檔路徑。 - 安全與可靠性:release pipeline 在執行前 pin 並驗證下載的外部工具(#1245);子程序 spawn 在核心回 EAGAIN 時改為指數 backoff(最長約 0.5 秒)後重試,機器真正耗盡時仍快速失敗。
- version 欄位更新為
v0.10.3
舊版本2026-08-13- version 欄位更新為
v0.10.3;fixes-only 版本,收錄 6 個社群 PR 與 2 個 v0.10.2 回歸修復,不需索引、快取或設定遷移。 - 並行實例不再互相 quarantine(#1206,@LynxBay):兩個 cbm 實例競爭同一專案時,輸者曾把健康資料庫誤判為損毀並 quarantine 重建。完整性檢查改為三向判定——僅確認損毀才 quarantine、lock race 回報「專案忙碌」並保留資料、深層
quick_check抓出 shallow 探測漏掉的 page-level 損壞(#1037)。 - Graph 決定性兩處修正(@Studnicky):同一 logical edge 重複產生時改由 total order 合併(高信心勝出、平手鍵決定性、結果與到達順序無關);CONFIGURES 候選收集改以純內容鍵排序後再套上限,不再隨 worker merge 順序漂移。
- Windows daemon 空 ACL(#1351,@Kiborgik):受保護 DACL 加非繼承 ACE 使子檔案繼承不到任何權限、連擁有者都無法讀取;目錄改為可繼承的 owner-only ACE,安全 posture 不變且檔案可用,並以 SID 識別帳號修掉「機器名等同使用者名」的空 principal 陷阱。
- 兩個 v0.10.2 回歸修復:
update --ui恢復接受舊旗標(#1544,@ehendrix23,旗標已無作用但不再 hard error);產生的 Pi 擴充改為 default-export factory,不再讓載入失敗拖垮所有pi指令(#1550,@musichen)。 trace_path結構化輸出不再丟失證據(#1542,@asemraza):format: "json"原本悄悄丟掉strategy與confidence欄位,現與 tree 格式語意一致、缺值以 null 呈現。- 子程序 spawn 容忍忙碌機器:核心回傳 EAGAIN(程序表暫滿)時改為短暫重試,真正的錯誤(缺二進位、權限)仍立即失敗、語意不變。
- 安裝與啟用拒絕訊號修正(#1537,@listepo):daemon 原本因祖先目錄 group-writable(WSL2 預設 0775)而永久拒絕、無從關閉也無從重開,現僅拒絕 world-writable 祖先、私目錄仍強制 owner-only;錯誤訊息不再虛構
ENOENT,改為指名目錄與觸發規則;啟用防護也把「無程序運行」與「無法停止程序」分為兩則訊息。 - 其他修正:Codex 在
CBM_CACHE_DIR下看不到工具的設定轉發(#1562,@anton-matosov);skill YAML 在嚴格 parser 下因未引用冒號載入失敗(#1554,@xezzon);search_code把負limit回顯為結果數(#1511);OpenCode 安裝寫錯檔名(.jsonvs.jsonc,#1560,@iandol);release 封包解壓前驗證成員集並拒絕 symlink(#1510)。
- version 欄位更新為
v0.10.2
舊版本2026-08-10- version 欄位更新為
v0.10.2;0.9.x 更新器與npx暫存安裝的連線問題已修正,且不需索引、快取或設定遷移。 - Robustness + platform-support release(自 v0.8.1 以來):First-class Windows 支援(含非 ASCII path、native windows-arm64 build)、indexing 效能與記憶體安全、跨多語言抽取準確度修正、Graph UI 改進。
- Indexing:kernel-scale campaign 減少 ~61% 索引時間且輸出 deterministic;新增 crash/hang supervisor 會 quarantine 單一壞檔並繼續索引其餘檔案,而非全部 abort。
- Graph UI:node budget 上限 10M 節點(含 scaled rendering 與 contrast controls)、dead-code filtering、node code preview、GitHub deep-links、URL routing、離線 label rendering(不抓 remote font)。
- 上游已發佈 pre-release
v0.9.1-rc.1(prerelease: true,2026-07-30 發布,body 約 30KB);目前 version 暫不跟 pre-release,待正式 v0.9.1 發布再升版。 - 上游 main 分支最新 commit 為
2026-08-09T00:43:24Z,屬持續 commit、無新正式 release。
- version 欄位更新為
圖例
- 當前版本 本站現在記錄的版本
- 舊版本 已被取代,保留作歷史對照
- 已同步 與上游 release 對齊
- 僅上游變動 上游 main 有 commit,但未發佈新版