What's New in v1.9.0
New tool support, sharper validation, and safer spec rebuilds — plus clearer signals when you wander off the beaten path.
New
- Command Code support —
openspec init --tools command-codeinstalls the OpenSpec workflow skills and, as an adapter-backed tool, generates/opsx-*slash commands under.commandcode/commands/. (#1613, #1622) openspec validate --archived— an opt-in check that every change inchanges/archive/has all itstasks.mdboxes ticked, exiting non-zero if not. Perfect for a pre-commit or CI hook to catch work archived unfinished. (#1604)
Improved
- Honest root resolution —
list,validate --all/--changes/--specs, andschemasnow fail loudly (non-zero) outside an OpenSpec root instead of quietly resolving an empty one. Single-itemvalidate <name>is unchanged. (#1612, #1616) - Authoring-time scenario safety —
validatecounts every####child of a requirement as a scenario, catching a MODIFIED block that would drop one before archive deletes it. (#1521) - Task-numbering warnings —
validateflags duplicate task IDs and tasks under a mismatched## N.group forspec-drivenchanges (enforced under--strict). (#1523) - Quieter automation —
archiveuses plain-text prompts on non-TTY stdout (no stray escape codes in CI logs), and the first-run telemetry notice no longer intrudes on--json. (#1603, #1609) - Sharper guidance — the "Restart your IDE" hint shows only for IDE-resident tools, and the config picker now labels the
updateworkflow. (#1610, #1632)
Fixed
- Faithful spec rebuilds — syncing a delta preserves the blank lines around
## Requirementsand ends the file with exactly one newline. (#1528, #1637) - Schema fork fidelity —
openspec schema forkkeeps comments, block-scalar style, and key order by editing YAML in place. (#1607) - Shared-skills ownership —
openspec updatewon't overwrite a vendor-neutral.agentsskills tree (or flip its target) on a legacy Codex upgrade. (#1522) - Apply-scope honesty — apply guidance now tells agents to surface out-of-scope work rather than silently defer it. (#1530)
New Contributors 🎉
Four developers shipped their very first OpenSpec contribution in this release — welcome aboard!
- @Marzx13 made their first contribution in #1528
- @Angelthebestone made their first contribution in #1613
- @Patodo made their first contribution in #1616
- @jwang513 made their first contribution in #1637
Thanks 💙
v1.9.0 is a community release through and through. A hearty thank-you to @alectimison-maker for continuing to sharpen validation (#1523), and to everyone who filed an issue, tested a build, or opened a PR this cycle. Every improvement here started with someone noticing something — please keep it coming.
Full Changelog: v1.8.0...v1.9.0