Theme / v1.12.0
OpenSpec
規格驅動開發
Changelog
版本更新紀錄
收錄 OpenSpec 的版本變遷軌跡。每條紀錄以舊值→新值呈現,舊值以紅線劃掉但保留可見,方便對照改動軌跡。
v1.12.0
當前版本2026-09-03- 版本定位:v1.11.0→v1.12.0。這版不是大型 workflow 重寫,而是把「驗證結果怎麼看、規劃前先讀 code、初始化可靠性」做完整,特別適合把 OpenSpec 放進 CI 或大型 repo 的使用者。
- 新增功能:加入
openspec validate --report findings。搭配明確 bulk scope 時只列出 error、warning、informational findings,但仍保留完整 run totals 與原本 exit code;這讓 CI log 可以只呈現「需要處理的發現」,又不會破壞既有 pipeline 的成功/失敗判斷。 - 新增平台:新增 SourceCraft Code Assistant 支援,可為 SourceCraft VS Code extension 產生 OpenSpec project skills 與 commands;對教學上的意義是 OpenSpec 的 workflow 不再綁特定 AI host,而是持續擴大跨工具共用的規格層。
- 行為改變:Propose 與 fast-forward workflow 會先閱讀相關 code、tests、documentation 再起草 artifacts;Explore 也會先查 repository,再問 dependency-aware 問題與建議預設值。實務上代表「repo 已經回答得了的問題」應由 agent 自己找,而不是先把問題丟回使用者。
- 可靠性 / 安裝:空的 OpenSpec 目錄仍會被 Git 追蹤,重跑 init 可補回缺失 marker;init / update 共用一致的 IDE restart guidance;npm Git install 不再要求使用者機器必須有 pnpm,並維持 Node.js 20 相容與修補
fast-urisecurity advisories。 - 修正:merge conflict 以 informational finding 呈現且不改 exit code;filesystem read error 與 missing spec 分開;advisory preflight failure 仍保留 validation report,避免真正問題被前置檢查訊息吃掉。
- 移除 / Breaking Change:v1.12.0 未宣告新的 breaking command removal 或 schema migration;既有 workflow 不需要因升級而改名。主要差異是 validation 與 planning 行為更精確。
- 既有使用者影響:已在 CI 使用
validate的專案可選擇加入--report findings降低 log 噪音;不使用新旗標時既有 exit-code 契約不變。使用 Propose / Explore 時應預期 agent 會多做 repo inspection、少問可從程式碼自行取得的問題。 - 學習重點 / 建議用法:這版最值得學的是「validation output 與 validation semantics 分離」以及「code-grounded planning」兩個概念。前者讓 CI 可讀性更好但不改判定邏輯;後者能直接套用到任何 AI coding agent 的需求分析流程。
v1.11.0
舊版本2026-08-26- v1.9.0→v1.11.0:涵蓋 v1.10.0 與 v1.11.0 兩次改版,重點是新指令
show --diff與status --all、Explore 先問再寫,以及 Zed Agent 支援。 - 新增
openspec show <change> --diff:MODIFIED requirement 必須重述所有保留的 scenario,delta 大多與主 spec 相同;--diff只隔離真正變更的行,每個 requirement 顯示彩色 unified diff,ADDED 顯示全文、REMOVED 顯示作者寫的 Reason 與 Migration notes、RENAMED 顯示清楚 FROM/TO;--json --diff供管線使用,--store <id>可對指定 store 做 diff。 - 新增
openspec status --all:一個指令檢查所有進行中 changes,不用每個開一個 process;JSON envelope 排序穩定,載入失敗的 change 會就地貢獻 diagnostic 而不是中斷整個掃描,dashboard 與 CI 拿得到全貌。 - Explore mode 改為「先問再寫」:建立或編輯檔案前會明確列出目標並等待明確同意,唯讀探索維持零摩擦;Explore 圖表改用純 ASCII,跨終端機、字型與 locale 對齊一致。
openspec validate會抓出仍是 archive 佔位文字的 Purpose(預設 warning、--strict下才 fail);archive 時 renamed requirement 保持在原位置,diff 更小;Antigravity 改用共用.agents/root,既有.agent/安裝自動遷移。- v1.10.0 改善:Zed Agent 支援(
openspec init --tools zed裝進.agents/skills/)、openspec init --language <language>直接設定產出語言;套件不再宣告 install scripts,npm install -g @fission-ai/openspec不再出現 allow-scripts 警告。
- v1.9.0→v1.11.0:涵蓋 v1.10.0 與 v1.11.0 兩次改版,重點是新指令
v1.9.0
舊版本2026-08-13- 本站此前的記錄版本,已升級至 v1.11.0。
- v1.8.0→v1.9.0:Command Code 支援、validate --archived 與更忠實的 spec 重建。
- 新增 Command Code 工具目標,
openspec init --tools command-code會安裝 OpenSpec workflow skills 並在.commandcode/commands/產生/opsx-*slash commands。 openspec validate --archived檢查changes/archive/每個變更的tasks.md是否全數勾選,未通過時以非零狀態結束,適合掛進 pre-commit 或 CI。list、validate --all/--changes/--specs與schemas在 OpenSpec root 之外會明確失敗(非零狀態),不再默默解析出空 root;validate <name>維持不變。- validate 會把 requirement 的每個
####子項計為 scenario,在 authoring 期就攔下會丟失 scenario 的 MODIFIED block。 - spec 重建保留
## Requirements的空白行並以單一換行結束檔案;schema fork原地編輯 YAML,保留註解、block-scalar 樣式與 key 順序。
v1.7.0
舊版本2026-08-10- 本站此前的記錄版本,已升級至 v1.8.0。
v1.8.0
舊版本2026-08-10- v1.7.0→v1.8.0:More agents, sturdier archives。34 個 PR、15 位貢獻者。
- 新增三個 agent 目標(vendor-neutral
agents寫入共用的.agents/skills/、MiniMax Code、Atlassian Rovo Dev CLI),openspec init --tools agents啟用。 - GitHub Copilot cloud agent 改為 opt-in,
openspec init預設 No,除非使用者確認才會在.github/產生檔案。 - Archive 支援
retire_capabilities: true,可移除一個 capability 的最後一個 requirement 並刪除其 spec。 openspec archive在非終端環境(agent/CI)下會指出需要的旗標並給可直接貼上的重跑指令,而不是死在 cryptic prompt error。validate在 MODIFIED requirement 會丟失 scenario 時,於 authoring 期就失敗並指出要補回哪些 scenario。- 修正
init/update不再刪除自己剛產生的 CoStrict / Junie command 檔;非英文 spec 在 normal mode 可通過驗證(strict mode 仍強制 SHALL/MUST)。
圖例
- 當前版本 本站現在記錄的版本
- 舊版本 已被取代,保留作歷史對照
- 已同步 與上游 release 對齊
- 僅上游變動 上游 main 有 commit,但未發佈新版