Skip to content

Releases: github/spec-kit

Spec Kit - 0.16.2

Choose a tag to compare

@github-actions github-actions released this 10 Aug 19:46

Install

uv tool install specify-cli --from git+https://github.com/github/spec-kit.git@v0.16.2
specify init my-project

What's Changed

  • chore: bump version to 0.16.2
  • Add Command Code integration to spec-kit (#4019)
  • fix(workflows): strip a resolved condition before the true/false check (#3883)
  • fix(workflows): guard a non-string overlay edit 'operation' (#3881)
  • fix: bound response read in integration catalog fetch (#3818)
  • Fix bug-test Python dependency provisioning (#4030)
  • fix(bundle): escape Rich markup in bundle CLI error and status output (#4023)
  • fix(presets): skip an unreadable restore source in preset remove (#4020)
  • Add Keel Discovery extension to community catalog (#4035)
  • fix: show error details in preset catalog config read failure (#3840)
  • Update Reconcile Extension to v1.1.0 (#4034)
  • Add Model Routing Governance preset to community catalog (#4033)
  • fix: use missing_ok=True in integration JSON removal (#3846)
  • fix: use missing_ok=True in extension cache clear (#3845)
  • fix(extensions): reject duplicate provides.templates/scripts names (#4016)
  • feat(presets): resolve constitution templates at command time (#3984)
  • [bug-fix] Fix preset-wrap-drops-argument-hint: inherit argument-hint from core template (#3996)
  • docs: document installing specify-cli from a custom package index (#4032)
  • feat(extensions): accept provides.templates and provides.scripts in manifest (#4012)
  • fix(presets): treat an unreadable core template as missing (#3961)
  • chore: release 0.16.1, begin 0.16.2.dev0 development (#4014)

Spec Kit - 0.16.1

Choose a tag to compare

@github-actions github-actions released this 07 Aug 17:30

Install

uv tool install specify-cli --from git+https://github.com/github/spec-kit.git@v0.16.1
specify init my-project

What's Changed

  • chore: bump version to 0.16.1
  • fix(integrations): wrap a non-UTF-8 catalog response (#4011)
  • fix(events): skip an unreadable command template (#3956)
  • fix(bundle): wrap malformed YAML in a local .zip bundle manifest (#4013)
  • chore(deps): bump github/codeql-action/analyze from 4.37.3 to 4.37.5 (#4005)
  • chore(deps): bump DavidAnson/markdownlint-cli2-action (#4006)
  • fix(agent-context): recurse for nested plans in Python mtime fallback (#3757)
  • fix: add utf-8 encoding to extension and preset registry file I/O (#3834)
  • fix(init): escape user-supplied values in specify init output (#3787)
  • fix: bound response read in integration catalog fetch (#3812)
  • fix: use missing_ok for temp file cleanup to avoid masking errors (#3803)
  • fix(workflows): handle an unreadable run state in workflow status (#3999)
  • feat(init): scaffold managed .specify/.gitignore (#4000)
  • fix(scripts): stop check-prerequisites text mode crashing on a legacy stdout code page (#3890)
  • fix(presets): return None for an unreadable layer in resolve_content (#3959)
  • fix(extensions): start fresh on a non-UTF-8 extension registry (#3998)
  • Fix init-force-preset-desync: reapply presets/extensions on init --here --force (#3995)
  • fix(skills): apply the line-anchored delimiter scan to hermes and kimi (#3739)
  • fix(archives): wrap the bare EOFError a truncated tar.gz raises (#3938)
  • test(integrations): guard multiline/control-char SKILL.md frontmatter escaping (#3392)
  • fix(scripts): stop setup-tasks text mode crashing on a legacy code page (#3892)
  • chore: release 0.16.0, begin 0.16.1.dev0 development (#3992)

Spec Kit - 0.16.0

Choose a tag to compare

@github-actions github-actions released this 05 Aug 13:39

Install

uv tool install specify-cli --from git+https://github.com/github/spec-kit.git@v0.16.0
specify init my-project

⚠️ Copilot default changed: specify init --integration copilot now installs skills (.github/skills/speckit-*/SKILL.md) by default instead of commands. Use --integration-options="--commands" for the previous behavior; existing command-layout projects are preserved on upgrade.

What's Changed

  • chore: bump version to 0.16.0
  • fix: keep long frontmatter values on a single line (#3989)
  • fix: skip corrupted run state files in list_runs (#3817)
  • fix: skip corrupted run state files in list_runs (#3814)
  • Add July 2026 newsletter (#3987)
  • fix(presets): start fresh on a non-UTF-8 preset registry (#3955)
  • docs: clarify agent PR review prioritization (#3985)
  • fix(events): preserve a non-UTF-8 config.toml on hook install/teardown (#3963)
  • fix(extensions): treat an unreadable staged backup as a conflict (#3962)
  • fix(manifests): reject non-string requires.speckit_version (#3980)
  • fix(extensions): reject reinstall when a kept config cannot be read (#3960)
  • [extension] Update Charter extension to v0.5.1 (#3983)
  • fix(events): return None for an unparseable script command (#3957)
  • feat(events): context injection for opencode and JSON-envelope agent hooks (#3934)
  • Add TDD Extension to community catalog (#3982)
  • Update Archive Extension to v1.1.0 (#3981)
  • feat(copilot): default integration to skills (#3976)
  • fix(events): ignore non-UTF-8 event overrides (#3897)
  • fix: cap stdin read at 1 MiB to prevent DoS (#3857)
  • fix(workflows): reject mismatched run state IDs (#3899)
  • chore: release 0.15.2, begin 0.15.3.dev0 development (#3953)

Spec Kit - 0.15.2

Choose a tag to compare

@github-actions github-actions released this 03 Aug 19:07

Install

uv tool install specify-cli --from git+https://github.com/github/spec-kit.git@v0.15.2
specify init my-project

What's Changed

  • chore: bump version to 0.15.2
  • fix(presets): restore core skills instead of deleting them on preset remove (#3929)
  • fix(manifests): reject non-string metadata instead of crashing on it (#3943)
  • fix: narrow bare except Exception in invoke separator resolution (#3856)
  • fix(workflows): keep the init step's documented ignore_agent_tools default on an explicit null (#3889)
  • fix(kimi): preserve non-UTF-8 user skills (#3895)
  • fix(presets): tolerate non-UTF-8 legacy commands (#3896)
  • feat: allow overriding default init integration via SPECKIT_INTEGRATION_DEFAULT (#3952)
  • Add adrkit extension to community catalog (#3947)
  • feat(extensions): scaffold config templates on extension add/enable (#2000)
  • fix(events): skip non-UTF-8 extension manifests (#3900)
  • fix(workflows): fail a gate whose on_reject is not abort/skip/retry (#3888)
  • fix(presets): validate required manifest mappings (#3898)
  • fix: eliminate TOCTOU race in zip packaging (#3855)
  • fix(workflows): fail a fan-in step whose output is not a mapping (#3887)
  • fix(workflows): refetch non-UTF-8 catalog caches (#3901)
  • fix(bundler): wrap local catalog decode failures (#3902)
  • Add --extension flag to specify init for opting into extensions at init time (#3914)
  • fix: bound response reads in extension catalog and download (#3775)
  • fix(workflows): reject a retry gate whose verdict enum forbids the reset value (#3912)
  • chore: release 0.15.1, begin 0.15.2.dev0 development (#3913)

Spec Kit - 0.15.1

Choose a tag to compare

@github-actions github-actions released this 31 Jul 13:38

Install

uv tool install specify-cli --from git+https://github.com/github/spec-kit.git@v0.15.1
specify init my-project

What's Changed

  • chore: bump version to 0.15.1
  • fix: escape Rich markup in workflow resolve output (#3879)
  • chore(deps): bump actions/stale from 10.4.0 to 11.0.0 (#3877)
  • chore(deps): bump actions/setup-python from 6.3.0 to 7.0.0 (#3876)
  • feat: support tar archives for installs (#3874)
  • fix: eliminate TOCTOU race in file unlink calls (#3819)
  • fix(scripts): tolerate an unusable integration.json in the Python helper (#3785)
  • fix(catalogs): validate the port in the shared catalog-URL validator, like its mirrors do (#3804)
  • feat(presets): add opt-in constitution-sync preset (#3873)
  • fix: reject non-object workflow caches (#3860)
  • Harden extension URL download cache against symlink and junction races (#3869)
  • fix: escape workflow step metadata (#3863)
  • [bug-fix] Fix bundle-update-force-mislead: add refresh() to DefaultPrimitiveInstaller (#3452)
  • fix: use chunked read for extension manifest hash (#3841)
  • fix: preserve unreadable event config files (#3861)
  • fix(scripts): use a .NET Framework-safe trim in the PowerShell init-dir resolver (#3872)
  • Add ContextForge MCP extension to community catalog (#3487)
  • fix: normalize non-UTF-8 integration manifests (#3862)
  • feat: bind gate verdict to workflow input via verdict_input (#3725)
  • docs: use absolute image URLs in README for PyPI rendering (#3867)
  • chore: release 0.15.0, begin 0.15.1.dev0 development (#3871)

Spec Kit - 0.15.0

Choose a tag to compare

@github-actions github-actions released this 30 Jul 12:01

Install

uv tool install specify-cli --from git+https://github.com/github/spec-kit.git@v0.15.0
specify init my-project

What's Changed

  • chore: bump version to 0.15.0
  • Add yolo to community workflow catalog (#3864)
  • fix(workflows): guard the shell step's timeout check against OverflowError (#3865)
  • Add Intent Reconciliation extension to community catalog (#3858)
  • fix(workflows): validate prompt step 'timeout' like the shell step (#3847)
  • fix: add utf-8 encoding to registry file open calls (#3816)
  • fix: eliminate TOCTOU race in file unlink calls (#3815)
  • test(workflows): name the condition-rejection tests for the real boundary (#3808)
  • fix: eliminate TOCTOU race in file unlink calls (#3811)
  • fix(presets): escape user-supplied catalog name/URL in add/remove output (#3806)
  • fix: add missing utf-8 encoding to registry file open calls (#3810)
  • [bug-fix] Fix upgrade-overwrites-copilot-skills: pass force=True to extension skill re-registration after upgrade (#3853)
  • fix(integrations): don't abort uninstall when the manifest can't be deleted (#3805)
  • test(extensions): update stale manifest validation message assertion (#3859)
  • fix(agents): coerce a non-string description in TOML command rendering (#3799)
  • fix(workflows): make security requirements sync deterministic (#3832)
  • fix(cli): render the literal [suffix] in --tag help and rejection message (#3800)
  • fix(integrations): preserve non-UTF-8 VS Code settings (#3833)
  • fix(bundler): treat an explicit-null manifest field as missing, not the text "None" (#3798)
  • feat: first-class agent-native runtime hooks for integrations (#3704)
  • fix(extensions): guard the required manifest sections so one bad extension cannot break extension list (#3797)
  • fix(presets): escape installed preset metadata in Rich output (#3826)
  • fix(workflows): dispatch prompt steps via the resolved executable (#3793)
  • chore: release 0.14.4, begin 0.14.5.dev0 development (#3850)

Spec Kit - 0.14.4

Choose a tag to compare

@github-actions github-actions released this 29 Jul 12:09

Install

uv tool install specify-cli --from git+https://github.com/github/spec-kit.git@v0.14.4
specify init my-project

What's Changed

  • chore: bump version to 0.14.4
  • fix(bundler): degrade non-UTF-8 config reads into BundlerError (#3784)
  • fix(workflows): escape the step-progress line so step ids render (and / stops failing the run) (#3783)
  • Update Agent Parity Governance preset to v0.4.1 (#3830)
  • fix(integrations): reject empty --commands-dir in generic raw_options (#3714)
  • fix(presets): guard non-list/non-mapping provides.templates in PresetManifest (#3712)
  • fix(auth): resolve az via shutil.which so azure-cli token works on Windows (#3709)
  • fix(workflows): reject falsy non-mapping workflow-catalogs.yml top level (#3707)
  • fix(integrations): render hyphenated /speckit- for Droid (always-slash agent) (#3688)
  • [preset] Update A11Y Governance preset to v0.4.2 (#3828)
  • [preset] Update Parallel Autonomous Run Governance to v0.2.4 (#3825)
  • fix: correct Optional type annotation for _resolved_dir parameter (#3801)
  • fix: add timeout to prompt step subprocess execution (#3768)
  • fix: handle tags containing / in GitHub release asset URL resolution (#3767)
  • fix(presets): escape catalog metadata in discovery output (#3773)
  • Update Autonomous Run Governance preset to v0.3.3 (#3823)
  • fix: use bounded read for integration catalog HTTP responses (#3763)
  • docs: add Simplified Chinese translation of README (#3740)
  • Update Intake Sequencing Governance preset to v0.2.2 (#3809)
  • fix(workflows): reject non-string/non-boolean 'condition' in if/while/do-while steps (#3706)
  • fix(bundle): escape catalog metadata in discovery output (#3774)
  • fix(workflows,extensions): tolerate non-list catalog tags in search/info display (#3770)
  • fix: correct nullable resolved directory annotation (#3771)
  • fix(presets): tolerate non-string and non-list catalog fields in preset search/info (#3769)
  • fix(integrations): escape catalog metadata in discovery output (#3772)
  • Update Verify Review Ship extension to v0.4.2 (#3792)
  • fix(integrations): preserve native skill invocation prefixes (#3663)
  • Update Intake Review Governance preset to v0.2.0 (#3796)
  • fix(constitution): stop propagating guidance into templates (#3737) (#3790)
  • chore: release 0.14.3, begin 0.14.4.dev0 development (#3795)

Spec Kit - 0.14.3

Choose a tag to compare

@github-actions github-actions released this 28 Jul 14:15

Install

uv tool install specify-cli --from git+https://github.com/github/spec-kit.git@v0.14.3
specify init my-project

What's Changed

  • chore: bump version to 0.14.3
  • Update Intake Authoring Governance preset to v0.3.0 (#3788)
  • fix(copilot): honor preset command template overrides (#3592)
  • clarify: require real interrogatives, ban topic-label questions (#3745)
  • feat: Add Alquimia AI integration (#2734)
  • harden: secure extension and preset archive downloads (#3141)
  • fix: correct Optional type annotation for context_note parameter (#3765)
  • Update AGENTS.md (#2626)
  • fix(extensions): tolerate non-string catalog name in display-name lookup (#3747)
  • fix(presets): coerce non-string catalog tags before joining (#3743)
  • fix: register extensions for the active integration only (#3459)
  • fix(extensions): tolerate non-string tags in catalog search (#3746)
  • fix(extensions): hyphenate command names in 'extension info' listing (#3744)
  • fix(workflows): escape remaining untrusted fields in workflow info (#3731)
  • fix(extensions): guard non-numeric catalog downloads in search/info rendering (#3710)
  • fix(agent-context): apply default markers when config markers are blank (bash) (#3736)
  • fix: escape Rich markup in catalog list output (#3738)
  • fix(workflows): guard non-mapping 'workflow:' block in WorkflowDefinition (#3694)
  • fix(bundler): reject unsupported schema_version in _merge_config (align readers) (#3711)
  • Update Linear Weave extension to v1.0.1 (#3762)
  • Add Intake Sequencing Governance preset to community catalog (#3761)
  • Update Quality Gates (Enforcement Layer) extension to v0.3.3 (#3760)
  • Update Verify Review Ship extension to v0.4.1 (#3759)
  • fix(agent-context): discover nested plans in Python port mtime fallback (#3734)
  • fix(extensions): make shipped scripts executable after install (#3723)
  • docs(assess): clarify the pipeline works on an empty project (#3732)
  • chore: release 0.14.2, begin 0.14.3.dev0 development (#3730)

Spec Kit - 0.14.2

Choose a tag to compare

@github-actions github-actions released this 24 Jul 20:42

Install

uv tool install specify-cli --from git+https://github.com/github/spec-kit.git@v0.14.2
specify init my-project

What's Changed

  • chore: bump version to 0.14.2
  • Update Intake Review Governance preset to v0.1.1 (#3729)
  • Update Verify Review Ship extension to v0.3.0 (#3728)
  • Update Architecture Guard extension to v1.13.1 (#3724)
  • docs(upgrade): Claude Code files live in .claude/skills, not .claude/commands (#3708)
  • fix(kilocode): install commands under .kilo/commands (#3672)
  • fix(auth): normalize whitespace in auth-config env-var/id references at store time (#3691)
  • fix(workflows): guard non-mapping 'inputs:' block in engine._resolve_inputs (#3696)
  • Update Intake Authoring Governance preset to v0.2.0 (#3721)
  • docs: clarify shell-step interpolation safety (#3719)
  • [extension] Add Blueprint Index — Living Architecture Map extension to community catalog (#3718)
  • fix(github-http): return None on malformed host in resolve_github_release_asset_api_url (#3715)
  • fix(integrations): declare PiIntegration multi_install_safe (#3652)
  • harden: remove shell parameter from run_command() (#3716)
  • chore(deps): bump github/codeql-action/init from 4.37.1 to 4.37.3 (#3699)
  • fix: auto-correct conflicting feature prefixes (#1829)
  • chore(deps): bump actions/checkout from 6.0.3 to 7.0.1 (#3703)
  • chore(deps): bump DavidAnson/markdownlint-cli2-action (#3702)
  • chore(deps): bump actions/setup-node from 6.4.0 to 7.0.0 (#3701)
  • chore(deps): bump astral-sh/setup-uv from 8.3.2 to 9.0.0 (#3700)
  • chore: release 0.14.1, begin 0.14.2.dev0 development (#3698)

Spec Kit - 0.14.1

Choose a tag to compare

@github-actions github-actions released this 23 Jul 20:17

Install

uv tool install specify-cli --from git+https://github.com/github/spec-kit.git@v0.14.1
specify init my-project

What's Changed

  • chore: bump version to 0.14.1
  • Update Agent Parity Governance preset to v0.4.0 (#3697)
  • fix(bundler): InstallResult.changed counts uninstalled as a change (#3692)
  • [preset] Update Cross-Platform Governance preset to v0.2.1 (#3695)
  • Update A11Y Governance preset to v0.4.1 (#3693)
  • fix(workflows): escape step-graph brackets in workflow info so the type shows (#3690)
  • fix(workflows): filter parser rejects trailing tokens (fullmatch, not match) (#3689)
  • Update iSAQB Architecture Governance preset to v0.2.1 (#3687)
  • fix(extensions): parse SKILL.md on the --- delimiter line during removal (#3634)
  • fix(cli): guard lazy .hostname ValueError in extension/preset add --from (#3651)
  • Update Architecture Governance preset to v0.5.1 (#3686)
  • fix(bundler): reject a top-level non-mapping bundle-catalogs.yml in _merge_config (#3659)
  • Update Security Governance preset to v0.6.1 (#3685)
  • fix(integrations): declare OmpIntegration multi_install_safe (#3650)
  • feat(git-extension): add configurable Conventional Commit support (#3390) (#3413)
  • fix(extensions): hyphenate command names in the Forge post-install listing (#3669)
  • fix(bundler): reject falsy non-mapping requires/provides in CatalogEntry.from_dict (#3667)
  • fix(bundler): reject falsy non-list bundles/contributed_components in records (#3666)
  • Update Intake Authoring Governance preset to v0.1.1 (#3678)
  • docs(extensions): clarify agent-context README and add config examples (#3389)
  • chore: release 0.14.0, begin 0.14.1.dev0 development (#3677)