Theme / v0.21.46
Oh My Codex (OMX)
Codex CLI 工作流增強層
Changelog
版本更新紀錄
收錄 Oh My Codex (OMX) 的版本變遷軌跡。每條紀錄以舊值→新值呈現,舊值以紅線劃掉但保留可見,方便對照改動軌跡。
v0.21.46
已同步2026-11-03- 2026-11-06 查核:上游最新 release 仍為 v0.21.46(2026-11-02 發布),其後無新版本。
- 版本定位:v0.21.44→v0.21.46,涵蓋兩個 release:v0.21.45(2026-11-01 19:15:23 UTC,台灣時間 2026-11-02 03:15)與 v0.21.46(2026-11-02 05:34:01 UTC,台灣時間 13:34)。官方主題句依序為:“This patch release fixes `omx doctor` falsely reporting an unsafe trust migration for an unchanged foreign Codex hook group whose matcher is the empty string (#3984).”、“This patch release keeps generated native-agent instructions within the assigned scope and clarifies Git Master's task authority for history and remote writes.” 兩版官方皆明言 “No breaking API changes.”
- EMPTY FOREIGN HOOK MATCHER TRUST(v0.21.45,#3985,修 #3984):foreign hook trust hash 輸入保留任何字串 matcher(含空字串
"")。官方原文——先前的 truthiness check 省略了空 matcher,「causing the calculated hash to differ from Codex's stored trust hash and `omx doctor` to report `unsafe_managed_removal` for an unchanged trusted hook group」。 - SessionEnd outlier 不在本次範圍(v0.21.45):官方明言「The fix targets the empty-matcher hash mismatch. The separately reported SessionEnd outlier is not addressed.」
- ASSIGNMENT-SCOPED NATIVE AGENT OVERLAYS(v0.21.46,#3989):生成的 posture 與 exact-model guidance「no longer tell read-only or advisory roles to implement or always build」;specialist coverage、completion criteria 與 verification requirements 跟隨 assignment 及 repository/task requirements。
- GIT MASTER AUTHORITY BOUNDARIES(v0.21.46,#3997):history rewrites 與 remote writes 需要 task authority;不得以 stashing、resetting、cleaning 或 overwriting 破壞無關的 dirty 與 untracked 工作——「Preserve unrelated dirty and untracked work without stashing, resetting, cleaning, or overwriting it」;拆分獨立 concerns 時,須將一個 behavior 所需的 tests 與 support files 留在一起。
- 相容性與驗證:兩版皆「No breaking API changes」;release-coupled metadata 分別已由 dev 上的 #3982(0.21.45)與 #3993(0.21.46)同步,release 不再次 bump 這些 surfaces。v0.21.46 另通過聚焦回歸測試(native-config:36 passed、0 failed;codex-hooks:74 passed、1 skipped、0 failed)與版本同步檢查(
node dist/scripts/check-version-sync.js --tag v0.21.46與cargo metadata回報所有六個 OMX workspace crates 皆為 0.21.46)。 - 完整教學見
lessons/v02145-v02146-doctor-trust-and-git-master-boundaries.mdx。
v0.21.44
舊版本2026-11-01- 版本定位:v0.21.43→v0.21.44(2026-10-31 12:15:10 UTC,台灣時間 20:15,單一 patch release)。官方主題句:“`0.21.44` is a small patch release that corrects native process identity recovery guidance in `omx doctor`.”
- Native runtime hydration timeout/abort 修正(v0.21.44,#3977,issue #3968):postinstall hydration timeout 從 15 秒延長至 120 秒;逾時時回報 timeout 與底層錯誤資訊,並遮蔽診斷 URL。官方原文:“No breaking API changes.” 本修正不宣稱消除其他無關的 provider identity provider unavailable 原因。
- 前景重試與 doctor 指引(v0.21.44,#3977):新增 `omx native-runtime hydrate` 前景重試指令;當 `omx doctor` 遇到指定的 unsupported Process identity readiness 狀態時,會建議使用該指令。
- Native asset hydration 診斷(v0.21.44,#3977):提供經清理的 manifest/archive URL,以及底層 fetch/read 錯誤。Release-coupled metadata 由 #3976 同步。
- 完整教學見
lessons/v02144-native-runtime-hydration.mdx。
v0.21.43
舊版本2026-10-31- 版本定位:v0.21.41 → v0.21.43,涵蓋 v0.21.42(2026-10-30 06:48 UTC)與 v0.21.43(2026-10-30 11:36 UTC)兩個 patch release。官方定位:v0.21.42「a patch release that makes Team and tmux status inspection read-only and improves native Codex goal reconciliation」;v0.21.43「a small patch release that corrects native process identity recovery guidance in omx doctor」。兩版官方皆明言無 breaking API changes。
- READ-ONLY TEAM AND TMUX STATUS(v0.21.42,#3963):
omx team status不再執行 monitor maintenance、寫入 state 或恢復 claims——read-only OMX root 下 inspection 仍維持安全;省略 team 名稱時只從唯一的 current-leader 匹配解析;omx tmux-hook status回報缺少的設定而不初始化它。 - NATIVE CODEX GOAL RECONCILIATION(v0.21.42,#3964):正規化 structured 與 serialized
get_goalresponse envelopes、區分 native goal tool 缺失與 database/schema/context 錯誤,並在 verification 無法使用時允許如實回報 non-terminal blocked checkpoints,不虛構 goal completion。 - history 竄改偵測(v0.21.42,#3959):即使 size 與 modification time 被還原,仍偵測 same-inode history 內容變更;被竄改的 history artifact 不發布。另穩定 detached-launch 與 Windows 平台 test fixtures,含 per-fixture sidecar 隔離(#3963)。
- doctor 修復指引修正(v0.21.43,#3971):native process identity provider 不支援或無法使用時,
omx doctor改建議omx update以 hydrate release-asset runtime cache,指引保留 session pointer recovery 不需 native runtime 的說明,並自 Process identity cache-repair hint 移除無效的omx setup建議。官方明言本版只修正 remediation 文字,不宣稱修復 #3968 回報的底層 provider failure。 - 已知問題與排除項:#3898 兩版皆維持 held for the owner design decision(相關 PR #3939、#3900、#3907、#3915、#3919 續遭排除);#3965 不含於兩版(changes requested,工作拆分待處理);#3968(回報者 Kevin-wenyu)的 provider-unavailable 回報仍未證實(evidence was requested)。
- 完整教學見
lessons/v02142-v02143-readonly-status-goal-reconciliation.mdx。
v0.21.41
舊版本2026-10-30- 版本定位:v0.21.38 → v0.21.41,涵蓋 v0.21.39(2026-10-28)、v0.21.40(2026-10-29)、v0.21.41(2026-10-29)三個 patch release。主軸:GPT-6.1 Terra 進入 known Codex model catalog、detached session 的 canonical state root 修復、managed Codex daemon 的 session pointer ownership 修復,以及 deep-interview/Ralplan/code-review 三個 stage 新增可設定的自訂 quality gates。
- GPT-6.1 Terra model recognition(v0.21.39,#3933):將
gpt-6.1-terra加入 known Codex model catalog 與 routing reference;explicit model strings 與既有 model defaults 維持不變。 - canonical detached-session state roots(v0.21.39,#3935):把 leader binding 所持有的 canonical state root 記錄進 detached leader state,讓 strict reuse guard 能辨識經 aliased 或 symlinked root 啟動的 session。
- test harness reliability(v0.21.39,#3936/#3937/#3938):per-file HOME isolation、VSCode log-write completion synchronization、deterministic tmux/team fixture boundaries;無 breaking API changes。
- managed Codex session pointer ownership(v0.21.40,#3949,修 #3946):經驗證的
codex app-server --managed-daemonprocess 不再被 republish 為 OMX session owner,也不再阻塞omx resume與 fresh launches;omx session pointer recover與 doctor 提供可用的 recovery action。live interactive OMX owners 仍受保護;unknown 或 mismatched process identity 一律 fail-closed。 - configurable custom quality gates(v0.21.41,#3956):透過
.omx-config.json的qualityGates條目,為deep-interview、ralplan、code-review新增選用的 skill-based reviewers。字串條目預設 blocking;物件條目可設mode(blocking/advisory)與選填model。gates 補充內建 review;advisory verdicts 保留但不阻塞,blocking 的 Ralplanreject/iterateverdicts 餵入 revise loop;unavailable gate 呈現為 unavailable 而非 approval。omx quality-gates list --stage ...回報 normalized stage configuration。 - history 竄改偵測與文件對齊(v0.21.41,#3951/#3958):model-selection 文件對齊實作(#3951);即使 writer 還原 original size 與 modification time,也能偵測 same-inode history-file 的內容變更,被竄改的 history artifact 不會被發布(#3958)。
- 已知問題:#3898(live-pin 修復)三版皆維持 held for the owner design decision;v0.21.39 說明 Codex 0.164.0 上 plugin cache 的
.omx-live-pin檔案可能讓 hook approval 失效,workaround 是停用oh-my-codex-localplugin。 - 完整教學見
lessons/v02139-v02141-quality-gates.mdx。
v0.21.38
舊版本2026-10-28- 版本定位:v0.21.36 → v0.21.38。官方定位:v0.21.37「a patch release with fixes for npm-managed global-install detection and plugin-cache completion-marker diagnostics」;v0.21.38「a patch release that makes setup refresh self-heal stale trust records for OMX-owned plugin hooks after a plugin cache rebuild」。
- fix(update): detect npm ownership with a custom global prefix(v0.21.37,#3922):npm 使用不同於 Node runtime path 的 custom global prefix 時,正確辨識 npm-managed global installs;ownership validation 仍 fail-closed。Fixes #3920。
- fix(plugin-cache): distinguish claim-digest mismatch from malformed marker(v0.21.37,#3923):setup/doctor 區分 malformed completion markers、marker-version mismatches 與 claim-digest mismatches;此項僅診斷,provenance semantics 不變。Fixes #3921。
- chore(deps): bump @modelcontextprotocol/sdk from 1.32.1 to 1.32.2(v0.21.37,#3917):@modelcontextprotocol/sdk runtime dependency 從 1.32.1 更新至 1.32.2。
- chore(deps-dev): bump @biomejs/biome from 2.5.15 to 2.6.2(v0.21.37,#3916):@biomejs/biome development dependency 從 2.5.15 更新至 2.6.2。
- fix(setup): self-heal stale OMX-owned plugin hook trust keys (#3918)(v0.21.38,#3924):plugin cache rebuild 後,setup refresh 從 canonical OMX plugin-scoped Codex hook trust records 退役 stale trusted hashes,不再因
managed_trust_key_conflict失敗;third-party 與 malformed trust state 仍 fail-closed。Fixes #3918。
v0.21.36
舊版本2026-10-27- 版本定位:v0.21.35→v0.21.36(2026-10-25 發布,單一 patch release)。官方定位:「a patch release that routes native-hook CLI error diagnostics through the configured OMX logs directory」。
- NATIVE HOOK LOGGING(#3909,修 #3908):native-hook CLI 的錯誤診斷 log 改走設定的
omxLogsDir——OMX_ROOT優先於OMX_STATE_ROOT;兩者皆未設定時,專案.omx/logs行為不變,不再一律寫到專案工作目錄之下。 - 相容性:官方明言無 breaking API changes;
OMX_ROOT對 native-hook CLI 錯誤 log 的優先序高於OMX_STATE_ROOT。 - 已知問題:#3898(live-pin 修復)仍卡在 owner 的設計決定;#3900 與 #3907 為 open drafts。Codex 0.164.0 上 plugin cache 中的
.omx-live-pin檔案仍可能讓 hook approval 失效——workaround(#3898)是停用oh-my-codex-localplugin。Validation:pinned dev candidate4932ef9通過 CI run 40160210335(17 success、8 skipped、0 failures)。 - 完整教學見
lessons/v02119-v02130-team-readiness-and-model-config.mdx的 v0.21.36 更新。
v0.21.34
舊版本2026-10-24- 版本定位:v0.21.33→v0.21.34(2026-10-23 發布,單一 patch release)。官方定位:當 shutdown 無法保存工作時,保留 worker worktrees(工作樹)。
- PRESERVATION:shutdown 失敗時 worker worktrees 存活(#3896,@shenyankm 貢獻,修 #3897):此前當 checkpointing(檢查點)失敗、merge 失敗,或工作目錄含 ignored files 時,shutdown 仍會刪除 worker worktrees、遺失 recovery state(復原狀態);修復後這些失敗情況不再刪除 worktrees,下一次 run 可帶著完整狀態重試。
- Selective teardown(選擇性拆除)(#3896):submodules、report provenance 與部分 pane/prompt cleanup 仍獨立進行——單一元件的失敗不再連帶觸發 worktree 刪除。
- 相容性:官方明言無 breaking API changes,僅 shutdown 韌性改善、不改 shutdown API contract;既有 session 不受影響,除非曾遇過帶 ignored files 或 checkpointing 錯誤的 shutdown 失敗。team runtime 使用者:若較早版本 shutdown 未能保存工作,worker worktrees 會遺失——升級 v0.21.34 以在 shutdown 失敗時保留 recovery state。
- 已知問題:#3898(live-pin 修復)進行中(#3900)——
Codex 0.164.0的 hook validation 被 plugin cache 中的.omx-live-pin檔案弄失效;workaround:執行 Codex 0.164.0 時手動從 cache 清除.omx-live-pin。 - 完整教學見
lessons/v02119-v02130-team-readiness-and-model-config.mdx的 v0.21.31~v0.21.34 延伸段落。
v0.21.35
舊版本2026-10-24- 版本定位:v0.21.34→v0.21.35(2026-10-24 02:52 UTC 發布,單一 patch release)。官方定位:“a patch release that fixes legacy recovery journal ownership and platform-aware replay logic”
- RESILIENCE(#3903,@shenyankm):worktree-scoped journal recovery——其他 worker 擁有的 pending legacy(陣列格式)recovery journal,不再讓健康 worker 的 shutdown 以
shutdown_worktree_preservation_failed失敗;修復 v0.21.34 #3896 帶來的回歸。 - SAFETY(#3904):platform-aware legacy journal ownership——以
..開頭的 legacy journal 名稱不再被當成 parent traversal,並阻止跨 worker journal 汙染。 - MODULE ISOLATION(#3904):legacy journal replay 僅對 modules 執行,避免設定錯誤的 legacy journal 造成狀態損壞。
- 相容性:官方原文:「No breaking API changes; recovery robustness improvements only.」曾在 v0.21.34 遇到 recovery journal 阻塞 shutdown 的 team runtime 使用者,本版修復。
- 已知問題:#3898(live-pin 修復)進行中(#3900);Codex 0.164.0 的 hook validation 曾因 plugin cache 中的
.omx-live-pin檔案失效。若使用 Codex 0.164.0,workaround 是手動從 cache 清除.omx-live-pin。 - 完整教學見
lessons/v02119-v02130-team-readiness-and-model-config.mdx的 v0.21.35 更新。
v0.21.30
舊版本2026-10-23- 版本定位:v0.21.18→v0.21.30,跨 12 個 patch release(v0.21.19~v0.21.30,2026-10-19~2026-10-22)。官方對各版定位皆為 patch release。主軸:agent model configuration 與 third-party provider 修正、team readiness deadline 紀律、plugin cache 修復安全強化、團隊 mailbox 與 dispatch 狀態隔離、subagent resume 能力三態化、JetBrains 終端機診斷與 Codex startup UI 保護。
- 模型設定與 third-party provider 修正(v0.21.19,2026-10-19,#3824/#3825/#3827/#3829/#3831/#3832):不再為使用 third-party providers 的 agent 烘焙
exactModelpins,讓 provider 能輪換預設 model(#3824 修 #3823);omx doctorspark-lane model 檢查對齊 runtime-inherited 行為,消除omx setup --force也清不掉的誤報(#3825 修 #3822);採用 profile-scoped agent model 覆寫(#3827)、在內建 fallback 前先解析 active profile model(#3831)、provider ID 一致保留大小寫(#3832);timeout deadline 用罄前必做最後一次 team readiness poll(#3829/#3832)。 - Team readiness deadline enforcement(v0.21.20,2026-10-19,#3835):在最後一次 team worker readiness poll 上強制執行設定的
OMX_TEAM_READY_TIMEOUT_MStimeout——team worker 不得在 deadline 之後回報 ready;Incompatibility markers 維持 fail-closed。 - Windows shim 路徑與 stale-launcher 診斷(v0.21.21,2026-10-19,#3833/#3835/#3837):修正 POSIX 系統上生成 Windows shim 路徑的方式,改用 host paths——setup/uninstall/codex-hooks 的檔案寫入不再產生
\tmp\…意外條目(#3833);同版把 readiness deadline(#3835)帶入,並恢復 stale-launcher warning 測試覆蓋、依 provenance 拆分訊息(missing-launcher vs. incompatible provenance,#3837)。 - Fail-closed cache recovery guidance(v0.21.22,2026-10-19,#3842):
omx setup --plugin --repair-plugin-cache不再建議刪除被 live Codex sessions 釘住的 snapshots 或非目錄條目,改發 fail-closed 指引、導向安全恢復選項。 - Generated team tasks 要求 evidence 與非目錄 cache 恢復指引(v0.21.23,2026-10-19,#3840/#3846):generated team tasks 預設要求 evidence 證明 code changes 符合 intent,除非明確標記為 analysis、reporting 或 read-only;task decomposition 在 CLI 與 DAG planning 間共享 intent 分類(#3840)。cache recovery guidance 擴及非目錄條目(symlinks 等),無法判定安全時續發 fail-closed 指引(#3846)。官方揭露 #3840 有 10 個未解的 Codex findings(自然語言 intent 啟發式的邊界案例)。
- Setup plugin-cache repair 強化(v0.21.24,2026-10-20,#3851~#3854):dry-run 強制驗證
removalSafe欄位、無法驗證時 fail-closed(#3851);removalSafe只從已驗證的 managed+unpinned cache eligibility 推導(#3853);dry-run 對相同 cache 回傳unchanged,與實際 repair 行為一致(#3854);另在 .gitignore 排除 gjc runtime session state(#3852)。 - Team mailbox isolation hardening(v0.21.25,2026-10-20,#3857):mailbox 建立未獲確認時 fail-closed——runtime 拒絕、持久化失敗、timeout 與無效 acknowledgement 都不再產生 JSON-only mailbox 紀錄;部分持久化的建立事件在配置新 ID 前先 reconciliation,避免團隊範圍內出現重複 mailbox ID;跨 refresh races 使用同一已驗證 projection 去重。
- Team dispatch state isolation 與效能(v0.21.26,2026-10-20,#3859/#3862/#3863):dispatch recovery 把降級觀察與權威 runtime projections 隔離——fallback requests、retries 與 delivery observations 存各 Team 的 dispatch 目錄,merged dispatch reader 只補充已證實的 local fallback requests 或 durable finalization receipts,避免 stale 請求被重新注入(#3862);dispatch identity ledger(
dispatch-seen.json)改為每次 merge 載入一次,把 file I/O 從 O(fallbacks) 次讀取降為單次讀取(#3863);含 zod 4.6.5 → 4.6.7(#3859)。 - Subagents tri-state
resume_agentavailability(v0.21.27,2026-10-20,#3867/#3868):subagents contract 對resume_agent工具改為三態(available / absent / unknown)——不支援該工具的 host 在 SessionStart reopen guidance 得到準確的 fallback 指引,而非被當成 unknown;tri-state 接入 native hook contract 與 subagents tracker。回應 issue #3866。 - JetBrains 終端機 trackpad scrolling 診斷(v0.21.28,2026-10-21,#3873):macOS WebStorm 等 JetBrains IDE 終端機會把 trackpad 捲動轉成上下方向鍵,alternate screen mode 開啟時會把先前的 prompt 填入輸入框而非捲動輸出。新增 startup 診斷,偵測 JetBrains 終端機環境(檢查
TERM_PROGRAM與TERMINAL_EMULATOR),對直接(非 tmux)與 hotswap 啟動建議omx --no-alt-screenworkaround;已指定--no-alt-screen時不發出。修 #3872。 - Team dispatch state recovery 與 Codex startup UI 保護(v0.21.29,2026-10-22,#3876):修復 dispatch retry 與多訊息場景的三個相關回歸——dispatch retry 改用一致且持久的 projections,避免重複、合併或遺留請求;mailbox wake 在該 wake 的所有訊息都完成後才 acknowledge,避免 wake 卡住阻斷後續處理;受損或不可讀的 per-worker mailbox 改視為 undeliverable,而非當成空的。另防止 notification payload 在 Codex startup 與 folder-trust UI 階段被渲染,且這兩個畫面不再被誤判為 ready prompt。
- Team monitor-path dispatch serialization(v0.21.30,2026-10-22,#3879/#3880/#3882):把 v0.21.29 對主 dispatch path 的修復延伸到次要 monitor path(
monitorTeam→deliverPendingMailboxMessages→dispatchPendingMailboxMessage)——monitor 建立的 wake 條件納入與 acknowledgement 相同的 serialization barrier(#3879);修復 monitor path 上 mailbox acknowledgement 與 dispatch 的 race,dispatch requests 在 serialization barrier 內排隊並做最後再驗證(#3880);實作 stale monitor notification 的偵測與略過,附完整測試證明 race 在主與 monitor 兩條路徑皆已修復(#3882)。 - 既有使用者影響:third-party provider 使用者的模型解析更穩定、不需重裝;使用 generated team tasks 的 client 預設需附上 evidence(#3840);team mailbox 建立失敗改為 fail-closed,既有整合需優雅處理建立失敗(#3857);JetBrains 終端機使用者會看到
--no-alt-screen建議;官方明言其餘皆為內部修復、無 breaking API changes。 - 完整教學見
lessons/v02119-v02130-team-readiness-and-model-config.mdx。
v0.21.33
舊版本2026-10-23- 版本定位:v0.21.30→v0.21.33,涵蓋 v0.21.31~v0.21.33 三個 patch release(2026-10-22~2026-10-23)。主軸:setup symlink 寫入防護、路徑範圍 canonicalization regression 修復,以及 team dispatch journal 崩潰復原。
- Setup 拒絕 symlink managed destinations(v0.21.31,2026-10-22,#3881):
omx setup在讀取、備份或寫入前偵測並拒絕 symlink 目的地(含 dangling link),逐層檢查路徑元件,避免透過 symlink ancestor 寫出 repository 範圍;涵蓋.gitignore、native agent TOMLs/manifest、HUD config 與 skill receipt。 - Canonicalization 修復 scope validation regression(v0.21.32,2026-10-23,#3890):比較前先 canonicalize scope paths,讓 HOME 或 CODEX_HOME 經過 symlink 的合法路徑可通過驗證,同時保留 v0.21.31 的 symlink destination 拒絕;並讓 project directories 依自身 root 驗證。
- Team dispatch 從 torn journal line 復原(v0.21.33,2026-10-23,#3893):
runtime-finalizations.jsonl遇到 append 中途崩潰留下的截斷 JSON 行時,parser 略過格式錯誤行並保留有效 finalization commands;新紀錄以換行隔離,避免損毀尾端阻斷後續紀錄復原。 - 完整教學見
lessons/v02119-v02130-team-readiness-and-model-config.mdx,含 v0.21.31~v0.21.33 延伸段落。
v0.21.18
舊版本2026-10-18- 版本定位:v0.21.14→v0.21.18,涵蓋四個 patch release:v0.21.15 與 v0.21.16(2026-10-16)、v0.21.17(2026-10-16)與 v0.21.18(2026-10-17)。官方對各版定位皆為 patch release,無 breaking CLI 或套件布局變更。主軸:native subagent 生命週期、startup context 限界、plugin cache 安全、mailbox 按團隊隔離、外部 hook 信任保留。
- Native subagent 完成與巢狀生命週期(v0.21.15,#3798/#3809):記錄原生
SubagentStop完成事件,巢狀 children 與其追蹤 parent 保持關聯——完成路由與去重在巢狀 native subagents 下繼續運作。Bounded startup context(#3808):不再送出 session instructions 已有的 memory,Wiki startup context 上限 3,500 字元(保留完整行與檢索指引)。 - Live plugin cache 安全(v0.21.16,#3792,修 #3790):把活躍的 Codex sessions 釘在它們正在用的 plugin-cache snapshots 上,recovery 期間保留 live-pinned snapshots,並為已驗證的 managed 未釘 snapshots 提供範圍限定的修復路徑
omx setup --plugin --repair-plugin-cache;對不受信任的 pin 狀態 fail-closed。 - Mailbox 按團隊隔離(v0.21.17,#3810):mailbox 訊息與 recovery 以 team 為範圍隔離,多團隊 session 不再互相干擾、訊息身分跨 recovery 保留;無 team 限定的 legacy mailbox 紀錄在 recovery 時被拒絕(唯一需留意的相容性變更)。
- 保留外部 hook 信任(v0.21.18,#3819,修 #3818):managed marker ranges 在第一個匹配端 clamp、refresh 時對重複 fences 去重、coordinate-family trust matching 限於 OMX 管理的 indices——Codex 核准的外部 hook 信任被保留,被竄改的 managed hashes 仍 fail-closed;重複 OMX banners 出現在
config.toml尾端時,setup 與 doctor 不再誤判為篡改。 - 既有使用者影響:多團隊使用者的 mailbox 隔離需留意 legacy 紀錄被拒;啟動 context 變小(Wiki 3,500 字元上限);其餘皆為透明修復。
- 完整教學見
lessons/v0215-v0218-native-subagents-and-safety.mdx。
v0.21.14
舊版本2026-10-16- 版本定位:v0.21.11→v0.21.14,涵蓋 v0.21.12(2026-10-15 發布)、v0.21.13(2026-10-15 發布)與 v0.21.14(2026-10-15 發布)三個 release;官方對三版的定位皆為 patch release(
No breaking CLI or package-layout changes are included/it does not remove or change existing CLI commands, protocols, or package layout)。 - Claim-bound 完成證據(v0.21.12,#3797):標記
requires_code_change: true的 implementation task,完成時必須附上綁定當前 task claim 的報告與結構化驗證摘要(.omx/evidence/下的 claim-bound evidence);既有 client 必須提供該證據,未標記的 task 與轉入failed的轉移維持原行為。 - HUD 可靠性(v0.21.12 #3786/#3791、v0.21.13 #3787):watcher repair child 加上界限,掛住的 reconciliation 不再阻塞後續修復;git branch label 快取到 HEAD、refs 或 git config 變更為止;hook 起動的 reconciliation process 加上 timeout(修 #3785),掛住的 child 不再擋住後續 reconciliation。
- Session 執行時間軸(v0.21.14,#3793):新增
omx session timeline <session-id>——從現役或封存的 transcript 重建工具執行、turn 邊界與 context compaction;可過濾排序工具事件、檢視觀測到的 duration、exit code、失敗、未完成呼叫與 per-tool 統計。屬加法式 subcommand,不改既有 CLI。 - 相依套件更新:v0.21.12 把
@modelcontextprotocol/sdk從 1.32.0 升到 1.32.1(#3794);v0.21.13 把serde_json從 1.0.151 升到 1.0.154(#3795)、@types/node從 26.6.4 升到 26.6.5(#3796)。 - 既有使用者影響:使用 implementation task 且標記
requires_code_change: true的 client(含 agent 腳本)需更新為附上 claim-bound evidence,否則任務無法完成;一般 CLI 使用無破壞性變更。
- 版本定位:v0.21.11→v0.21.14,涵蓋 v0.21.12(2026-10-15 發布)、v0.21.13(2026-10-15 發布)與 v0.21.14(2026-10-15 發布)三個 release;官方對三版的定位皆為 patch release(
v0.21.11
舊版本2026-10-14- 版本定位:v0.21.9→v0.21.11,涵蓋 v0.21.10 與 v0.21.11 兩個 release(皆 2026-10-13 發布);官方明言兩版皆為 patch release,沒有刻意的 CLI 或套件佈局破壞性變更。
- TOML 多行陣列保留(v0.21.10,#3777 修 #3776):
[tui]的多行陣列在 config merge 時保留——凍結範圍v0.21.9..72fee023(16 commits、15 files、+1067/−82)。 - astra-defaults 評測基礎設施(v0.21.10,#3655/#3765/#3772):RunRecord collector(base URL+repo cloning+fixture context)、hermetic、bounded 的 Codex v0.162+ JSON-line parsing(CI #3768);npm registry-visibility 檢查延長時窗並附診斷(#3771)。
- native agent TOMLs 不再保留繼承的 model_provider(v0.21.11,#3781 修 #3779):只在鏡射 root config.toml 預設時省略——換 provider 不留 stale 設定、不需
omx setup --force;顯式的 per-agent override 保留。凍結範圍v0.21.10..7e0b5f23(3 commits、2 files、+68/−5)。 - 既有使用者影響:無破壞性變更;在 config.toml 切換預設 provider 後,native agent TOMLs 不再殘留舊 provider(顯式 override 不受影響)。
v0.21.9
舊版本2026-10-13- 版本定位:v0.21.8→v0.21.9(2026-10-12 發布,修補版):凍結範圍為
v0.21.8..e4653cd8,規模 10 commits、24 files、+1693/−96。官方明言此為 patch release,沒有刻意的 CLI 或套件佈局破壞性變更。 - Session token 用量報告(#3760,@hiSandog 貢獻):新增
omx session usage,回報每個本機 Codex session 的最後一組累計 token 計數,支援過濾、排序與 JSON 輸出;文件見docs/session-usage.md。 - 原生 subagent 完成證據(#3761,修復 #3729):原生 subagent 的 Stop 事件現在會在 subagent tracking 中記錄有界的完成證據(
completed_at、completion_source: "native_stop_event"),供doctor診斷使用。 - astra-defaults live evaluation collector(#3764,屬於 #3655):新增 RunRecord collector 與
collect-astra-defaults腳本,包含 GPT-6 Sol control、GPT-6.1 Sol candidate 與 Luna-uniform 三種設定。官方明言沒有發布任何評估結果,#3655 仍為開啟狀態——此版只有收集器。 - 相依套件更新:
libc0.2.190(#3751)、@biomejs/biome2.5.15(#3753)、@types/node26.6.4(#3754)、@modelcontextprotocol/sdk1.32.0(#3755)、tar-stream3.2.2/@types/tar-stream3.1.5(#3757);#3762 已被 #3763 還原(淨變更為零)。 - 驗證證據:凍結候選在 dev CI 全綠,並記錄本機 build、typecheck 與完整編譯後測試套件;完整發布就緒證據在
docs/qa/release-readiness-0.21.9.md,可重現範圍記錄於artifacts/release-0.21.9/inventory.md。 - 既有使用者影響:無破壞性變更;主要新增的是
omx session usage這個可觀測性指令與 subagent 的診斷欄位;astra-defaults collector 不會影響日常使用(未發布評估結果)。
- 版本定位:v0.21.8→v0.21.9(2026-10-12 發布,修補版):凍結範圍為
v0.21.8
舊版本2026-10-07- 2026-10-12 查核:上游最新 release 仍為 v0.21.8(2026-10-06 發布),其後無新版本。
- 版本定位:v0.21.6→v0.21.8,涵蓋 v0.21.7(2026-10-01 發布,49 commits 的正確性與穩健性版本)與 v0.21.8(2026-10-06 發布,14 commits 的 bugfix 與相容性版本)。主軸:plugin 完整性與 Windows 相容、HUD 閒置 CPU、Team runtime 穩健性、session 管理修正與模型目錄擴充。
- Windows 二進位路徑相容(v0.21.8,#3736/#3737):omx-runtime 二進位路徑在 Windows 正確套用平台特定
.exe後綴,解決 Windows 上的解析失敗;writeAtomic的 Windows EPERM 錯誤以syncRegularFile正確處理(#3744/#3746)。 - Plugin 完整性與範本驗證(v0.21.7,#3707/#3708/#3704):plugin skill 連結在 plugin snapshot context 內正確解析;templates/
AGENTS.md納入 cache provenance 檢查防止損壞;legacy hook 遷移期間保留 foreign hook trust。 - HUD 閒置 CPU 與正確性(v0.21.7,#3706/#3711):hook metadata 維持原子性;消除閒置 reconciliation 的 CPU 風暴;native fixtures 對齊 authority frames;tmux probe 錯誤正確保留。
- Team runtime 與 setup 穩健性(v0.21.7,#3692/#3699/#3717-#3720):關機後 queued leader notices 仍安全;Team 停用時保留非 Team 指引;Team worker 指令改寫入 per-worker 檔案經
OMX_MODEL_INSTRUCTIONS_FILE傳遞,不再 commit 進 leader 的AGENTS.md;omx setup不再寫入 Codex 已移除的features.child_agents_md旗標並清除既有副本。 - Session 管理修正(v0.21.7/v0.21.8,#3721-#3728/#3740/#3741):native
$ralplan --advisory在 hook payload 無 thread 欄位時從session_id解析 thread 身分(v0.21.8 以專屬readPayloadSessionIdhelper 改善);identity-indeterminate bindings 區分「符合但未驗證」的 selector;detached leader 失敗附 stderr 摘要;exec follow-ups 在 scoped Stop 路徑送達。 - Legacy 設定與匯出(v0.21.8,#3739/#3742/#3745):以 git rev-parse 支援 legacy v0.21.6
AGENTS.md備份路徑(含 linked worktrees);新增 session 匯出——本地 sessions 可匯出為 Markdown 或 JSON(@hiSandog);非 OMX Codex session 的警告訊息說明澄清(#3747/#3749)。 - 模型目錄擴充(v0.21.7,#3701/#3716):辨識 GPT-6 Sol 與 Luna 模型;
gpt-6.1-sol加入模型目錄。 - 既有使用者影響:Windows 使用者應升級(.exe 後綴修復);Team 用戶的 leader
AGENTS.md不再累積 worker 指令;依賴features.child_agents_md的設定會被清除(Codex 已移除該旗標)。
v0.21.6
舊版本2026-09-21- 版本定位:v0.21.4→v0.21.6,涵蓋 v0.21.5(62 commits)與 v0.21.6(52 commits、101 files、+4294/−707)。主軸:active-team tmux HUD、Codex lifecycle 對齊、tmux HUD 生命週期正確性與 AGENTS scope 修正。
- Active Team 進度顯示於 tmux HUD(v0.21.5,#3644):顯示進行中 team 身分與各 worker 狀態/任務,窄版配置保持可讀,resize reconciliation 以精確 session ownership 圍籬。
- tmux HUD 自我終止且不洩漏(v0.21.6,#3660/#3683/#3685):stale Team leader panes 在 reconciliation 時跳過;孤兒 watcher 與噴救援失敗噪音消除;HUD 在其 tmux leader pane 退出時關閉。Leader 是否存在由驗證過的 server-wide pane snapshot 判定——視窗移動不會誤判為退出、tmux 查詢失敗不會被當作證據。
- AGENTS scope 正確性(v0.21.6,#3678/#3684):持久 AGENTS 內容不再複製進 session instructions;global AGENTS 在 project-scoped 啟動下存活。
- 可重用的預設模型成本/品質評測(v0.21.6,#3663-#3667):宣告式評測套件涵蓋 OMX 預設模型陣容,附確定性 stage-transition 記錄與 supplied-record 報告,明確記錄宣告/驗證限制——回應 issue #3655 而不宣稱未測量的數字。
- Codex lifecycle 對齊(v0.21.5,#3627/#3631/#3632/#3650):plugin-hook diagnostics/setup/uninstall 對齊當前 Codex 能力;保留使用者擁有的 reasoning effort;對 Codex CLI 0.153.4 dogfood 真實 hook trust lifecycle。
- 安全普通執行(v0.21.5,#3637):普通 native 實作/報告尊重繼承的權限,而非過時的 workflow 限制。
- 修正:credential provenance 在 project-scope runtime homes 保留、Team worker 的
CODEX_HOME匯出為 child-safe 且不持久化(#3633);WindowsEPERMfsync 可存活(#3661);notifications 剝離完整 ANSI CSI 序列(#3668);auth storage / TOML 邊界 / PATH 解析 / stderr redaction 強化;oversized stderr suppression 不再吞下一條記錄(#3676)。 - 移除 / Breaking Change:兩版皆為修補性 release,無刻意 breaking CLI / package-layout 變更。
- 既有使用者影響:Team 使用者的 HUD 更可靠(leader pane 退出即關閉、無孤兒 watcher);AGENTS 檔案不再被重複注入;依赖 doctor/setup 的使用者注意 #3623 的
plugin_hooks推論問題在 v0.21.6 已未列入已修清單,diagnostics 可能仍過時。 - 學習重點:「以驗證過的 server-wide snapshot 判定 leader 存在」是分散式系統「不能用單一觀察失敗當證據」的具體實作;「supplied-record reporting」則示範了評測報告如何明確區分「測得的」與「宣告的」。
v0.21.5
舊版本2026-09-11- v0.21.4→v0.21.5:62 commits。Active-team tmux HUD、Codex lifecycle 對齊、安全普通執行、credential provenance 與 Team 啟動修正。
v0.21.4
舊版本2026-09-07- 版本定位:v0.21.0→v0.21.4,涵蓋四個 patch。主題是 Ralplan Advisory、detached / Team session reliability、macOS arm64 runtime hydration、長 session transcript 保留,以及 v0.21.4 的 Astra default policy。
- 新增功能:v0.21.1 加入 Ralplan Advisory / Contract A,Planner → Architect → Critic 可以交換 cooperative evidence,但不取得 execution authority、不做全域 suppression,也不自動接手 implementation。這是一個「提供建議證據,但不越權執行」的治理模型。
- 新增整合:v0.21.2 增加 opt-in GitGuardex HUD review/autofix progress;macOS arm64 global install / reinstall / update 能 hydrate 驗證過的
omx-runtimecache,而且網路失敗採 bounded non-fatal,不會因可選 native runtime 抓不到就讓整個安裝失敗。 - 行為改變:v0.21.4 在沒有明確 model choice 時,leaders、specialists、standard/fast agents、low-complexity workers、Team children、planning/research roles 與 SparkShell summaries 預設改用
gpt-6-astra。這是 default policy 改變,不是強制 override。 - 設定優先權:既有 model config、profiles、per-agent override、CLI/environment 選擇、provider-specific names、自訂 instructions 與 reasoning-effort defaults 都維持 authoritative,不會被 Astra default 蓋掉。
- 長 session / Team 修正:已 terminal projection 直接退休,不再重複 wake Team;detached tmux scrollback 上限 500 → 5000 行並支援
OMX_TMUX_HISTORY_LIMIT,避免長 session 的多行回應過早被丟掉;HUD / pane ownership、cleanup、layout reconciliation 與 contention recovery 也持續加固。 - Catalog / workflow 調整:agent catalog 只把 active/internal roles 顯示為可直接 invoke,merged / deprecated roles 會顯示替代;主流程對齊
$deep-interview → $ralplan → $ultragoal,$team維持需要時才用的平行執行工具。 - 移除 / Breaking Change:v0.21.1~v0.21.4 都是 patch release,官方未宣告新的 breaking CLI / package-layout change;但 v0.21.0 本身已移除大量 deprecated skills 與 MCP state writers。從 0.20.x 升級者仍要先處理 v0.21.0 的 migration。
- 已知限制:v0.21.4 明確保留 #3623 未修——doctor/setup 仍可能使用 Codex CLI 0.153.4 已移除的
plugin_hooksfeature flag 做 inference,造成誤導 diagnostics 或 obsolete config;v0.21.6 的 release notes 未再提及此問題,狀態不明,使用 doctor/setup 時請自行驗證產生的診斷。 - 既有使用者影響:若你已 pin model,升級後模型不會被換掉;若完全依賴 defaults,輸出品質、速度與 token 使用模式可能因 Astra default 而改變,應重新驗證長流程、Team 與 automation。長 session 使用者則建議保留較大的 tmux history 或明確設定
OMX_TMUX_HISTORY_LIMIT。 - 學習重點 / 建議用法:這版適合用來理解「預設值變更 ≠ 強制設定變更」與「advisory authority ≠ execution authority」。在 agent orchestration 中,清楚區分 recommendation、approval、state mutation 與 execution 權限可大幅降低非預期自動化。
v0.21.0
舊版本2026-08-22- v0.20.5→v0.21.0:minor release(99 commits、310 files、44 個 referenced PRs),屬 post-epic consolidation train,刻意移除 deprecated skills 與 MCP state writer tools,每項均附明確的 migration error。
- Removed skills with migration stubs:25 個移除的 skills 透過統一的 sunset-stub resolver 快速報錯,`$ralph` → `$ultragoal`(`omx ralph` CLI 與 ralph persistence runtime 不受影響)、`$ultrawork`/`$ecomode`/`$swarm` → `$team`、`$prometheus-strict` → `$plan`、`$review`/`$security-review` → `$code-review`、`$ask-claude`/`$ask-gemini` → `$ask`、`$deepsearch` → `$analyze`、`$frontend-ui-ux` → `$design`、`$visual-verdict`/`$web-clone` → `$visual-ralph`、`$help` → `$omx-setup`;`$tdd`、`$note`、`$trace`、`$build-fix` 無直接替代(#3506、#3502、#3508)。
- `omx autopilot` 成為 canonical orchestrator:以 first-class CLI command 還原 `$deep-interview` → `$ralplan` → `$ultragoal` 鏈(#3518、#3517),支援 Ultragoal ordinary/strict modes,ordinary mode 另有 advisory completion cohort gate(#3500、#3505)。
- 移除 hard workflow gates:workflow transitions 不再需要 host-issued consensus receipt;PreToolUse hooks 改為 advisory-only 並附 Codex App capability warnings(#3492、#3497)。
- State single source of truth:改採 sole-writer state model,MCP surface 僅供唯讀(`state_write`/`state_clear` 已移除並回傳明確的 deprecation errors);stale projections 透過 `omx doctor --repair-state` 退役(封存於 `.omx/archive/`),corrupt or laundered carriers 採 fail closed(#3507、#3498)。
- Session authority 強化:identity-indeterminate pointers 的 read/write authority split、bounded unproven-pointer adoption、verified-dead pointer quarantine,以及 external state roots 的 team worker provenance verification(#3527、#3541、#3528、#3537)。
- 修正與相容性:macOS 上 detached `--madmax` root identity 改為 path-alias canonical 並鎖定 regression(#3550、#3551);`omx-runtime` 於 macOS arm64 npm installs 可正確 hydrate 與偵測(#3519、#3520);URL reader 不再於精確上限處誤判 truncation(#3546);HUD 相容 Fish `export`(#3480);guarded split receipts 拒絕 format-string injection(#3489);version display 優先採用 `OMX_VERSION_REVISION`(#3417)。
- 升級注意事項(0.20.x):呼叫已移除 skills 的指令現在會 hard-error 並在訊息中顯示替代名稱;MCP clients 若呼叫 `state_write`/`state_clear` 須改用 CLI 或 programmatic state operations;建議以 `omx doctor --repair-state` 退役 stale 的 0.20.x state projections。
v0.20.5
舊版本2026-08-10- version 欄位更新為
v0.20.5;此 patch 無刻意 CLI 或套件版面破壞性變更。 - Highlights:dead session-pointer lock recovery(#3261/#3262,issue #3256)、team startup rollback bound to exact owned panes with split-proof reconciliation(#3265;#3231–3232;issue #3224)。
- Native hook trust and path canonicalization:exact absolute package CLI status trusted(#3333;issues #3320–3327)、conductor mutation roots 與 macOS policy/fixture paths canonicalized(#3343–3353)。
- 包含一個 additive、backward-compatible feature:opt-in Herdr lifecycle/status bridge Phase 1(#3241、#3242)。
- Current status / supersession (ADR 3212):Local leader attestation 與 adapted role intent 不再授權;consensus 缺少官方 host receipt 時以
documented_host_consensus_receipt_unavailable關閉。 - 改善 Windows
fsync EPERM、hook mode 與設定讀回的容錯,Doctor 會檢查 native process identity readiness。
- version 欄位更新為
圖例
- 當前版本 本站現在記錄的版本
- 舊版本 已被取代,保留作歷史對照
- 已同步 與上游 release 對齊
- 僅上游變動 上游 main 有 commit,但未發佈新版