What's New in v1.16.0
Install from openspec.dev, catch more spec mistakes in validate, and a new Node.js floor for npm installs.
Breaking
- Node.js 22.12.0 or newer for npm installs - Node 20 reached end-of-life on April 30, 2026. The standalone binary, the default install since v1.15.0, doesn't use Node, and Homebrew installs and manages its own Node. If you can't upgrade, switch to the standalone binary:
curl -fsSL https://openspec.dev/cli/install.sh | sh(Windows:irm https://openspec.dev/cli/install.ps1 | iex).
New
- Install from openspec.dev -
curl -fsSL https://openspec.dev/cli/install.sh | sh(Windows:irm https://openspec.dev/cli/install.ps1 | iex). Release files are now.tar.gzarchives (.zipon Windows). - Scenario step check -
openspec validatewarns when aScenario:has no WHEN/GIVEN step or no THEN step, in change deltas and main specs. Plainvalidateandarchiveare unchanged;--strictfails on it. - Store suggestion - When a command finds no OpenSpec root and you have registered stores, the error names the store whose id matches your repo's
originname, with the--storeflag andstore:line that select it. It only suggests; it never picks a store for you.
Fixed
- Invalid config.yaml -
openspec validatenow exits 1 whenopenspec/config.yamlcan't be read or isn't valid YAML, instead of passing while every rule in it is ignored. Other commands still warn and carry on. - zsh completion with ZDOTDIR -
openspec completion install zshwrites to$ZDOTDIR/.zshrcwhenZDOTDIRis an absolute path, the file zsh actually reads. If completion never worked for you, run the install again.completion uninstall zshalso cleans up a block an earlier install left in~/.zshrc. - Inline code fences - A line starting with triple-backtick inline code (
```npm test```) no longer opens a phantom code fence that hid every requirement after it. - Unspaced headers -
validatenow reports duplicate or misplaced main-spec requirements written as###Requirement:, matching how archive reads them.
New Contributors
- @micromagicman made their first contribution in #2077
- @IvanFeric made their first contribution in #2107
- @artemasmith made their first contribution in #2079
Full Changelog: v1.15.0...v1.16.0