Skip to content

Releases: Fission-AI/OpenSpec

v1.10.0 - Zed support, quieter installs

Choose a tag to compare

@clay-good clay-good released this 19 Aug 22:33
1ebddd1

What's New in v1.10.0

Zed joins the supported tools, init speaks your language, and installing OpenSpec no longer trips npm's alarm.

New

  • Zed Agent - openspec init --tools zed installs the workflow skills into .agents/skills/, where Zed's built-in Agent finds them. Skills-only, so they're invoked as /openspec-propose. Requires Zed v1.4.2 or newer.
  • Non-English artifacts - openspec init --language <language> sets the language for generated artifacts without hand-editing config.yaml. OpenSpec headings and SHALL/MUST stay in English, so your specs still validate.

Improved

  • Installing - the published package now declares no install scripts at all, so npm install -g @fission-ai/openspec no longer emits the allow-scripts warning that read like a packaging fault (and whose suggested fix, npm approve-scripts, never worked for a global install anyway). The shell-completions tip now comes from the CLI itself: once, on stderr, and only when there's a human there to read it.
  • Task plans - generated tasks now have to say how you'd know they're done, whether that's a test, a command, an observable result, or a delivered artifact. "Implement the thing" no longer passes for a plan.
  • Prompts - the multi-select picker now shows the full key help from the prompt library, so navigation, select-all and invert are discoverable instead of folklore.

Fixed

  • Feedback - openspec feedback used your entire report as the issue title and left the body with nothing but metadata. Reports now keep their text, and titles stay a readable length.
  • Archive - retiring a capability could dead-end on Spec must have at least one requirement with no guidance at all, when the spec also held content the merge couldn't account for. The abort now names exactly what's in the way.
  • Stores - the specs instruction read main specs from a path relative to your working directory. Under a store that missed the spec entirely, or, worse, quietly returned a different capability that happened to share the name.
  • Profiles - a custom profile could select archive without sync, leaving the archive workflow calling a workflow that was never installed.
  • OpenCode - /opsx-propose add-auth dropped add-auth before the workflow ever saw it.
  • Schemas with no specs artifact - changes created under one failed validation immediately, demanding a delta that schema could never produce.
  • Output hygiene - the first-run telemetry notice went to stdout, so openspec spec show auth > auth.md wrote the notice into the file ahead of the spec. It goes to stderr now.
  • openspec update - stopped advising Claude Code, Codex and other CLI tools to restart an IDE they don't have.

New Contributors

Full Changelog: v1.9.0...v1.10.0

v1.9.0 - Command Code & safer specs

Choose a tag to compare

@clay-good clay-good released this 13 Aug 15:38
2826b88

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 supportopenspec init --tools command-code installs 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 in changes/archive/ has all its tasks.md boxes ticked, exiting non-zero if not. Perfect for a pre-commit or CI hook to catch work archived unfinished. (#1604)

Improved

  • Honest root resolutionlist, validate --all/--changes/--specs, and schemas now fail loudly (non-zero) outside an OpenSpec root instead of quietly resolving an empty one. Single-item validate <name> is unchanged. (#1612, #1616)
  • Authoring-time scenario safetyvalidate counts every #### child of a requirement as a scenario, catching a MODIFIED block that would drop one before archive deletes it. (#1521)
  • Task-numbering warningsvalidate flags duplicate task IDs and tasks under a mismatched ## N. group for spec-driven changes (enforced under --strict). (#1523)
  • Quieter automationarchive uses 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 update workflow. (#1610, #1632)

Fixed

  • Faithful spec rebuilds — syncing a delta preserves the blank lines around ## Requirements and ends the file with exactly one newline. (#1528, #1637)
  • Schema fork fidelityopenspec schema fork keeps comments, block-scalar style, and key order by editing YAML in place. (#1607)
  • Shared-skills ownershipopenspec update won't overwrite a vendor-neutral .agents skills 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!

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

v1.8.0 - More agents, sturdier archives

Choose a tag to compare

@clay-good clay-good released this 05 Aug 21:10
d578896

What's New in v1.8.0

Thirty-four merged PRs from fifteen contributors. More agents pull up a chair, archive learns to use its words, and validate starts catching problems while you can still fix them cheaply.

New

  • Three more agent targets - The vendor-neutral agents (writes skills to the shared .agents/skills/ that AGENTS.md-aware assistants read), MiniMax Code, and Atlassian's Rovo Dev CLI. openspec init --tools agents and you're set.
  • GitHub Copilot cloud agent, opt-in - openspec init can generate Copilot coding-agent files for you. It asks first and defaults to No, so nothing lands in .github/ unless you say yes.
  • Retire a capability on archive - A change that declares retire_capabilities: true can remove a capability's last requirement and cleanly delete its spec, instead of hitting a wall at archive time.

Improved

  • Archive that talks back - Run openspec archive with no terminal (an agent, a CI job) and it now names the exact flag it needs and hands you a paste-ready rerun, instead of dying on a cryptic prompt error.
  • validate catches scenario loss early - A MODIFIED requirement that would drop a scenario now fails at authoring time, naming the scenarios to copy back, instead of ambushing you at archive.
  • Sub-tasks finally count - Nested checkboxes in tasks.md count toward progress, so "✓ Complete" actually means complete.
  • Telemetry honors your config - telemetry.enabled: false turns off anonymous telemetry and update checks. Env and CI opt-outs still win.
  • Sharper agent workflows - Propose stays focused on planning and hands off cleanly to apply, explore scaffolds a real change before writing to it, and nested specs/<area>/<capability>/ paths are preserved end to end.

Fixed

  • Stops eating its own commands - init and update no longer delete the CoStrict and Junie command files they just generated.
  • Non-English specs validate - SHALL/MUST is treated as guidance in normal mode, so requirements in other languages pass. Strict mode still enforces it.
  • Your notes stay put - Archive warns before a merge would drop a note tucked under a requirement, and generated files stay inside their boundaries without breaking linked monorepos.

New Contributors

Full Changelog: v1.7.0...v1.8.0

v1.7.0 - New tools, smarter updates

Choose a tag to compare

@openspec-release-bot openspec-release-bot released this 29 Jul 01:31
4e16790

What's New in v1.7.0

Ninety merged PRs from nineteen contributors. New tools, sturdier archives, and a CLI that keeps itself fresh.

New

  • openspec update keeps you current - It now checks npm for a newer release and offers to run the upgrade for you. One less thing to remember.
  • Five new AI tools - Welcome ZCode, Hermes Agent, CodeArts Agent, and Kimi Code; Codex now runs skills-only. And if skills.sh is your thing, npx skills add Fission-AI/OpenSpec works too.
  • One default store for your whole machine - openspec config set defaultStore <id> and every repo without its own config resolves through it.
  • Changes without spec changes - Pure refactors and docs work can declare skip_specs: true and move straight through validate and archive.
  • Project context in every workflow - Schemas can carry per-operation guidance, and openspec instructions apply|archive serve it to your agent right when it needs it.

Improved

  • Slash commands, spelled the way your tool spells them - Generated content now matches each tool's registered command names across all 30+ supported tools.
  • Archives flow - Already-synced deltas glide through as no-ops, your authored ## Purpose carries into new specs, and dated names stay tidy on re-archive.
  • Multi-select prompts got proper checkboxes - [x] for multi-select, exactly as your fingers expect.
  • A welcome screen for everyone - Honors your OS Reduce Motion setting, --no-animation, and waits politely for Enter.
  • Nested spec folders everywhere - specs/<area>/<capability>/spec.md is first-class in validate, apply, archive, and view.

Fixed

  • Leaner, policy-friendly installs - Telemetry now sends its single event with a plain fetch, so installs are ~160 packages lighter and sail through supply-chain age policies like pnpm's minimumReleaseAge (#1390).
  • Completions everywhere you shell - fish gets true fish completions, PowerShell scripts parse cleanly, and Oh My Zsh installs land in your actual $ZSH.
  • Windows input flows smoothly - keystrokes register immediately after the welcome screen.
  • openspec feedback always delivers - your message reaches an issue or a ready-to-send link, whatever gh is up to.
  • Files from every editor parse - UTF-8 BOMs from Windows editors are handled transparently.
  • Change names with leading digits - 0001-add-auth is valid everywhere, matching the archive conventions.

Want every detail? All 79 changes are itemized in the CHANGELOG.

Thanks

Every PR in this release, big or small, made it better:
@TabishB, @showms, @mc856, @hsusul, @xiaoquisme, @vishnujayvel, @taltas, @nmrtn, @mehdishahdoost, @jikkujoyce, @javigomez, @fyeeme, @c4patino, @benjymoses, @akeyz, @Lukk17, @HowardYan888, @CodeArtsAgent, @clay-good

New Contributors

Full Changelog: v1.6.0...v1.7.0

v1.6.0 - OPSX Update, Tool Support

Choose a tag to compare

@openspec-release-bot openspec-release-bot released this 10 Jul 13:12
e1b51d1

What's New in v1.6.0

This release adds a safer way to revise plans in place, expands tool support, and hardens validation, archiving, and store setup.

New

  • Update planning artifacts - Use /opsx:update to revise an existing change's plan and reconcile related artifacts without crossing into implementation work.
  • Oh My Pi support - Generate native OPSX commands and skills for Oh My Pi projects, with automatic tool detection and the expected .omp layout.
  • TRAE support - Generate .trae/commands/opsx-<id>.md commands for TRAE projects.

Improved

  • Generated skill permissions - Generated skills and Claude commands can pre-approve the OpenSpec CLI, avoiding repeated confirmation prompts while leaving other tools under normal permission controls.
  • Requirement handling - Validation now reads fenced examples, metadata, multi-line descriptions, nested deltas, and normative keywords more consistently across changes and main specs.

Fixed

  • Fresh stores - Newly created stores can be registered and used before empty changes, specs, or archive directories have been committed.
  • Archive safety - Stale MODIFIED requirements stop instead of silently deleting scenarios added by an earlier archive.
  • Resolution and task progress - validate, view, list, and archive checks now agree on change resolution and correctly handle nested specs and task files.
  • Archive failure signaling - Blocked human-mode archive operations now exit non-zero, so scripts and CI no longer interpret validation failures as success.

New Contributors

Full Changelog: v1.5.0...v1.6.0

v1.6.0-beta.1

v1.6.0-beta.1 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 08 Jul 15:04
93e27a7

Beta prerelease. Install with npm install -g @fission-ai/openspec@beta.

What's Changed

New Contributors

Full Changelog: v1.5.0...v1.6.0-beta.1

v1.5.0 - Stores Beta

Choose a tag to compare

@openspec-release-bot openspec-release-bot released this 28 Jun 13:08
546224e

What's New in v1.5.0

Stores arrives in very early beta — a simpler model for organizing specs and changes — alongside a couple of generation and config fixes.

New

  • Stores (very early beta) - A simpler way to organize specs and changes, replacing the workspace and initiative model. Still rough — expect breaking changes while it stabilizes.

Fixed

  • Config parsing - Configuration values wrapped in JSON containers are now parsed correctly.
  • YAML frontmatter - Carriage returns in generated command descriptions are now escaped instead of written literally, which could silently corrupt CRLF-authored values.

New Contributors

Full Changelog: v1.4.1...v1.5.0

v1.4.1 - Update Fix

Choose a tag to compare

@openspec-release-bot openspec-release-bot released this 03 Jun 09:36
1b06fdd

What's New in v1.4.1

Fixed

  • openspec update - Projects with their own workspace.yaml (like Dagster) now run openspec update normally again.

v1.4.0 - Kimi CLI, Mistral Vibe

Choose a tag to compare

@openspec-release-bot openspec-release-bot released this 01 Jun 21:27
bc7ab26

What's New in v1.4.0

Two new agent integrations — Kimi CLI and Mistral Vibe — plus sync skills enabled by default and a round of parsing and shell fixes.

New

  • Kimi CLI support - Initialize Kimi CLI as a skills-only tool. OpenSpec skills land in .kimi/skills/ for use via /skill:openspec-*.
  • Mistral Vibe support - Initialize Mistral Vibe as a skills-only tool, with skills generated under .vibe/skills/.
  • Sync skills by default - New installs now generate /opsx:sync skills and commands out of the box in the core profile.

Improved

  • Clearer validation hints - When a requirement has SHALL/MUST only in its header, openspec validate now tells you to move the keyword onto the requirement body line instead of showing a generic error.

Fixed

  • Case-insensitive requirement headers - Requirement headers now parse regardless of capitalization, so specs no longer fail over header casing.
  • Zsh completions on oh-my-zsh - Tab completion now installs correctly under oh-my-zsh's compinit setup.

New Contributors

Full Changelog: v1.3.1...v1.4.0

v1.3.1 - Path & Telemetry Fixes

Choose a tag to compare

@openspec-release-bot openspec-release-bot released this 21 Apr 16:18
3c7a05c

What's New in v1.3.1

A batch of path resolution and telemetry reliability fixes for workflow artifacts, validation, and locked-down networks.

Fixed

  • Canonical artifact paths - Workflow artifact paths now resolve through the native realpath, so symlinks and case-insensitive filesystems no longer cause mismatches during apply and archive.
  • Glob artifact outputs - Apply instructions with glob artifact outputs resolve correctly. Literal outputs are enforced as file paths.
  • Hidden spec requirements - Validation now detects requirements nested inside fenced code blocks or otherwise hidden in main specs.
  • Clean --json output - Spinner progress no longer leaks into stderr when --json is passed, so agents parsing combined stdout/stderr get clean JSON.
  • Silent telemetry in firewalled networks - PostHog errors are swallowed with a 1s timeout and retries/remote config disabled, so PostHogFetchNetworkError no longer appears in locked-down environments. Telemetry opt-out is documented earlier in the README, install guide, and CLI reference.
  • Telemetry config on XDG and Windows - Honors XDG_CONFIG_HOME on Linux and %APPDATA% on Windows when locating the telemetry config file.
  • Glob-special characters in paths - Directory paths containing glob metacharacters are now escaped before matching.

New Contributors

Full Changelog: v1.3.0...v1.3.1