chore(release): version packages#1295
Merged
Merged
Conversation
10779c6 to
a3c5de8
Compare
a3c5de8 to
ca7964d
Compare
TabishB
approved these changes
Jul 10, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
@fission-ai/openspec@1.6.0
Minor Changes
#1090
3f0ca3fThanks @jjxyxsjr! - ### New Features.trae/commands/opsx-<id>.mdfiles for custom slash commands#1340
1552731Thanks @TabishB! - ### New Features.ompdirectory layout./opsx:updateto revise an existing change's planning artifacts, reconcile related artifacts, and keep implementation work delegated to/opsx:apply.Bug Fixes
MODIFIEDrequirements from silently deleting scenarios that were added by an earlier archive.Patch Changes
#1300
a5bfedaThanks @clay-good! - ### FeaturesSKILL.md(all tools) and every Claude Code/opsx:*slash command now carriesallowed-tools: Bash(openspec:*)in its frontmatter, so agents that honor the Agent Skills standard runopenspeccommands without prompting for approval on each call; tools that don't recognize the field ignore it. Scope is limited to theopenspecCLI; becauseallowed-toolspre-approves rather than restricts, every other tool a skill or command uses stays available under your normal permission settings.#1311
5956a8eThanks @danilopopeye! - ### Bug Fixesarchiveexits non-zero when blocked in human mode —openspec archive <change> -y(and any non---jsoninvocation) no longer returns exit code 0 when validation fails and nothing is archived. The three blocking paths in human mode — delta-spec validation failure, spec rebuild failure, and rebuilt-spec validation failure — now setprocess.exitCode = 1, matching the existing--jsonbehavior. Previously the command printed "Validation failed" (or "Aborted. No files were changed.") and exited 0, letting scripts and CI believe the archive succeeded. Alignsarchivewith the same exit-code guarantee already approved forapplyinstructions (fix(apply): fail with exit 1 when apply instructions are blocked #1250).#1280
a325305Thanks @clay-good! - ### Bug Fixesvalidateresolves changes likestatus—openspec validate <change>(and--all/--changesand the interactive selector) now resolves a change by directory existence, matchingstatus/instructions, instead of requiringproposal.md. A scaffolded or still-authoring change is validated rather than reported asUnknown item, and a resolved-but-invalid change now exits non-zero. Delta discovery also recurses the nestedspecs/<area>/<capability>/spec.mdlayout. (openspec validate cannot resolve changes in a workspace planning home #1182)tasks.md—openspec view,list, and thearchiveincomplete-task gate now resolve task progress through the tracked-tasks artifact'sgeneratesglob (the same file-resolutionstatususes), so a change whose tasks live in nestedtasks.mdfiles is classified correctly and can no longer archive while unfinished. (Feedback: openspec view does not detect nested tasks.md files #1202)### Requirement:header now receives the same targeted "move it to the body line" remediation as a change delta, emitted exactly once. (1.4.0 clearer SHALL/MUST hint does not apply to main specs #1156)#1281
9a0dfb5Thanks @clay-good! - ### Bug FixesRequirement reading fidelity — The requirement reader used by
validate <change>,validate <spec>, andarchiveis now unified into one fence-, metadata-, and multi-line-aware extraction, closing the known divergences between the change-delta path and the main-spec path (the remaining ones are documented in the change's design doc):SHALL/MUSTkeyword that wraps onto a later body line is detected instead of dropped (Line breaks in headers cause validation issues #361).**ID**:,**Priority**:) before the description are skipped on the spec path, matching the change path ([BUG] Requirement Validation Fails When Metadata Fields Precede Description #418). A requirement written entirely as metadata (e.g.**Constraint**: The system MUST ...) keeps that line as its text instead of being emptied.#### Scenario:inside a fenced example no longer counts as a real scenario invalidate <change>, matchingvalidate <spec>.SHALL/MUSTdetection uses one whole-word predicate across all readers, and a requirement with no body text falls back to its header title on both paths.Displayed requirement text (e.g. in JSON output and delta descriptions) now reflects the full requirement body rather than only its first line. Archived spec content is unchanged — the archive rebuild reads raw
### Requirement:blocks, not the parsed text.Surface non-canonical delta headers —
validate <change>now emits an INFO note when an## ADDED/## MODIFIED Requirementssection contains a level-3 header that is not a canonical### Requirement:header (one the delta reader silently skips, such as a stray### Documentation Requirementsdivider). The note never changes thevalidresult, including under--strict(BUG: openspec validate --strict succeeds, but openspec archive fails validation #498).