Back to changelog index

5.4.0

Apr 19, 2026 · 28 packages · 20 unique changes · 5 release entries

appsbundlesintegrationslibsmodules

Release summaries

  • adoption-engine-and-authoring-targets

    Add a family-aware ContractSpec Adoption Engine, expand contract authoring targets across CLI and VS Code tooling, and refresh release-facing schema and policy artifacts for downstream workspaces.

    maintainer

    Maintainers get a shared adoption catalog and resolver, Connect adoption hooks, MCP exposure for reuse decisions, expanded authoring-target coverage, and updated static policy artifacts.

    integrator

    Integrators can resolve existing workspace or ContractSpec OSS surfaces before adding new implementations, and can scaffold more contract families from the CLI and VS Code extension.

    customer

    Customer workspaces gain setup-managed adoption guidance, Connect `adoption sync/resolve` flows, stronger runtime-import and deprecated-monolith guardrails, and updated bundled schemas in the published CLI entrypoint.

  • builder-v3-control-plane-rollout

    Introduce the Builder v3 control plane as a governed authoring layer over external execution providers.

    maintainer

    Builder v3 now has a governed contract, runtime, and provider surface that keeps authoring, readiness, and export orchestration aligned across the package stack.

    integrator

    Integrators can compose managed, local, and hybrid runtime modes with Builder workbench/mobile-review modules and provider adapters for Codex, Claude Code, Gemini, Copilot, STT, and local models.

    customer

    Builder operators now get a unified workbench and mobile-review experience across provider routing, readiness, export approval, and omnichannel control flows.

  • connect-spec-alignment-april-2026

    Implement ContractSpec Connect as a first-class spec, runtime, and CLI workflow.

    maintainer

    Connect is now a governed repo surface with CLI commands, workspace services, and versioned docs that keep risky edits, review packets, and replay artifacts aligned.

    integrator

    Integrators can enable `.contractsrc.json > connect`, emit local context/plan/verdict artifacts, and route adapter-facing review or replay flows through the shared workspace services.

    agent

    Coding-agent surfaces now have a first-class Connect workflow for context packs, plan packets, mutation verdicts, review packets, and replay/eval evidence instead of relying on ad hoc governance prose.

  • contract-dx-first-slice

    Improve app-config, theme, and feature authoring with explicit validation APIs, first-class theme discovery and scaffolding, and key-based app-config generation across contracts, workspace tooling, and the CLI.

    maintainer

    Maintainers can rely on authored validators for app-config, theme, and feature specs instead of shallow per-surface checks, and can scaffold theme specs directly from the CLI.

    integrator

    Integrators get a stable `defineTheme` authoring path, new theme and feature validation helpers, and key-based app-config DTOs and templates across shared tooling.

    customer

    CLI users can now run `contractspec create theme`, and validation catches more app-config, theme, and feature mistakes before publish or CI promotion.

  • versioning-release-system

    Add versioning-backed release capsules, generated patch notes, and guided upgrade flows.

    maintainer

    Release communication is now generated from versioning-backed release capsules and enforced on release branches.

    integrator

    Guided upgrade plans and agent prompts now come from generated upgrade manifests instead of ad hoc prose.

    customer

    Web changelog consumers can prefer generated release manifests while older package changelogs remain supported as fallback.

Deprecations

  • - The standalone release domain under `@contractspec/lib.contracts-spec/release` is deprecated in favor of versioning-owned release metadata.

Migration guide

  • Enable the new Connect adoption engine in workspace config

    ContractSpec workspaces can now opt into family-aware reuse guidance and local catalog sync through `connect.adoption`.

    When: When a workspace uses `contractspec init --preset connect`, Connect hooks, or custom `.contractsrc.json` management.

    1. Add or review `.contractsrc.json > connect.adoption`.
    2. Run `contractspec connect adoption sync --json` to mirror the local catalog.
    3. Route uncertain reuse decisions through `contractspec connect adoption resolve --family <family> --stdin`.
  • Use the expanded authoring-target surface in CLI and VS Code flows

    Shared workspace discovery and IDE/CLI create flows now recognize additional contract families beyond the original core set.

    When: When using `contractspec create`, VS Code create commands, or custom authoring-target integrations.

    1. Use the new create targets for capability, policy, translation, visualization, job, agent, product-intent, harness scenario, and harness suite scaffolds where appropriate.
    2. Update any custom file-name or directory assumptions to rely on shared authoring-target helpers instead of hard-coded extensions.
  • Enable ContractSpec Connect in the workspace config

    Turn on the Connect adapter flow before relying on task-scoped context, review, replay, or evaluation artifacts.

    When: When a workspace wants coding-agent gating, local review packets, or replay/eval evidence tied to file and command mutations.

    1. Add or merge a `connect` section in `.contractsrc.json` with `enabled: true` and the storage paths that should hold Connect artifacts.
    2. Route risky edits or shell execution through `contractspec connect plan` and `contractspec connect verify` so decisions, review packets, and replay bundles are captured.
    3. Use the generated docs and exported agentpacks metadata so downstream agent tooling sees the same Connect contract surface as the CLI.
  • Update custom app-config DTO callers to key-based refs

    Shared app-config authoring DTOs and templates now use `key`-based spec references instead of older `name`-based helper fields.

    When: When custom tooling imports `AppBlueprintSpecData`, `AppConfigMappingData`, or related route reference DTOs from workspace or bundle packages.

    1. Replace `name` fields with `key` for app-config spec references.
    2. Replace `guardName` and `experimentName` with `guardKey` and `experimentKey` in route DTOs.
    3. Keep versions as semver strings rather than numeric literals.
  • Adopt `defineTheme(...)` for new theme specs

    Theme authoring now has a canonical helper and authored-validator support.

    When: When creating or refreshing theme specs used by generators, docs, or CI validation.

    1. Import `defineTheme` from `@contractspec/lib.contracts-spec/themes`.
    2. Prefer `defineTheme({...})` for new theme specs, while keeping existing `ThemeSpec` object literals valid.
    3. Add `validateThemeSpec` or `assertThemeSpecValid` to CI or publish-time checks where theme correctness matters.
  • Add .release.yaml companions for changesets

    Published release changesets now require a structured release capsule.

    When: When preparing release branches, publish workflows, or release communication bundles.

    1. Create `.changeset/<slug>.release.yaml` next to each published changeset.
    2. Record customer impact, migration notes, validation commands, and evidence in the release capsule.
    3. Run `contractspec release build` before `contractspec release check --strict`.

Upgrade steps

  • Wire adoption-aware Connect hooks in consumer environments

    assisted

    The consumer plugin and Connect CLI now expose adoption-aware hook events in addition to contracts-spec review hooks.

    Packages: @contractspec/lib.contracts-spec, @contractspec/module.workspace, @contractspec/bundle.workspace, @contractspec/bundle.library, @contractspec/app.cli-contractspec, vscode-contractspec, contractspec, @contractspec/lib.knowledge, @contractspec/biome-config, @contractspec/app.cursor-marketplace

    1. Install or reference the `contractspec-adoption` marketplace/plugin assets where Connect hooks are consumed.
    2. Use `contractspec connect hook adoption before-file-edit|before-shell-execution|after-file-edit --stdin` in host hook wiring.
  • Prefer higher-level runtime package entrypoints in imports

    manual

    Generated Biome policy artifacts now flag deprecated monolith usage and obvious deep runtime entrypoint imports.

    Packages: @contractspec/lib.contracts-spec, @contractspec/module.workspace, @contractspec/bundle.workspace, @contractspec/bundle.library, @contractspec/app.cli-contractspec, vscode-contractspec, contractspec, @contractspec/lib.knowledge, @contractspec/biome-config, @contractspec/app.cursor-marketplace

    1. Replace `@contractspec/lib.contracts` imports with `@contractspec/lib.contracts-spec` plus the appropriate split runtime package.
    2. Prefer package-level runtime entrypoints such as `@contractspec/lib.contracts-runtime-server-mcp` when they already expose the required surface.
  • Adopt the Builder v3 control-plane packages

    assisted

    Wire provider/runtime integrations through the governed Builder v3 workbench and mobile-review surfaces.

    Packages: @contractspec/lib.contracts-spec, @contractspec/lib.builder-spec, @contractspec/lib.provider-spec, @contractspec/lib.builder-runtime, @contractspec/lib.mobile-control, @contractspec/lib.provider-runtime, @contractspec/module.builder-workbench, @contractspec/module.mobile-review, @contractspec/integration.runtime, @contractspec/integration.runtime.managed, @contractspec/integration.runtime.local, @contractspec/integration.runtime.hybrid, @contractspec/integration.builder-telegram, @contractspec/integration.builder-voice, @contractspec/integration.builder-whatsapp, @contractspec/integration.provider.codex, @contractspec/integration.provider.claude-code, @contractspec/integration.provider.gemini, @contractspec/integration.provider.copilot, @contractspec/integration.provider.stt, @contractspec/integration.provider.local-model

    1. Install the Builder v3 contracts and runtime packages alongside the provider integrations you intend to expose in the authoring surface.
    2. Use the Builder workbench and mobile-review modules as the host UI surfaces instead of building separate readiness or export orchestration shells.
    3. Validate managed, local, and hybrid runtime mode selection plus provider routing before promoting the control-plane workflow to operators.
  • Adopt the Connect CLI workflow

    manual

    Use the built-in Connect commands instead of custom local wrappers for risky file or command mutations.

    Packages: @contractspec/lib.contracts-spec, @contractspec/bundle.workspace, @contractspec/app.cli-contractspec, @contractspec/bundle.library, agentpacks

    1. Initialize the workspace with `contractspec connect init --scope workspace`.
    2. Use `contractspec connect context`, `plan`, and `verify` to capture task context and mutation verdicts before edits or shell execution.
    3. Keep replay and evaluation artifacts under `.contractspec/connect/` so review and audit flows can consume the same evidence bundle.
  • Use the authored validators for contract setup and CI

    assisted

    Prefer the package-level validators over shallow AST checks for the three upgraded surfaces.

    Packages: @contractspec/lib.contracts-spec, @contractspec/module.workspace, @contractspec/bundle.workspace, @contractspec/app.cli-contractspec

    1. Use `validateBlueprint` or `assertBlueprintValid` for app-config specs.
    2. Use `validateThemeSpec` or `assertThemeSpecValid` for theme specs.
    3. Use `validateFeatureSpec` or `assertFeatureSpecValid` for feature specs before registry installation or release review.
  • Adopt the new theme authoring target across workspace tools

    manual

    Shared workspace discovery and the CLI now treat `theme` as a first-class authored surface.

    Packages: @contractspec/lib.contracts-spec, @contractspec/module.workspace, @contractspec/bundle.workspace, @contractspec/app.cli-contractspec

    1. Use `.theme.ts` files and `defineTheme(...)` for new theme specs.
    2. Update any custom create flows or discovery logic to include the `theme` authoring target where needed.
  • Scaffold release capsule companions

    manual

    Add release capsules for changesets and include validation evidence.

    Packages: @contractspec/lib.contracts-spec, @contractspec/bundle.workspace, @contractspec/app.cli-contractspec, @contractspec/app.web-landing

    1. Run `contractspec release init` for new release work.
    2. Keep `.changeset/*.md` and `.changeset/*.release.yaml` together in the same PR.
    3. Use `contractspec release brief` or `contractspec upgrade prompt` to generate maintainer, customer, and agent guidance.
  • Use generated release manifests in tooling

    assisted

    Prefer generated release artifacts for changelog and upgrade flows.

    Packages: @contractspec/lib.contracts-spec, @contractspec/bundle.workspace, @contractspec/app.cli-contractspec, @contractspec/app.web-landing

    1. Run `contractspec release build` to populate `generated/releases/`.
    2. Point changelog or upgrade tooling at `generated/releases/manifest.json` and `generated/releases/upgrade-manifest.json`.

Unique release changes

  • - Introduce the Builder v3 control plane as a governed authoring layer over external execution providers.

    21 packages · 21 occurrences

  • - Wire provider/runtime integrations through the governed Builder v3 workbench and mobile-review surfaces.

    21 packages · 21 occurrences

  • - Add a family-aware ContractSpec Adoption Engine, expand contract authoring targets across CLI and VS Code tooling, and refresh release-facing schema and policy artifacts for downstream workspaces.

    7 packages · 7 occurrences

  • - ContractSpec workspaces can now opt into family-aware reuse guidance and local catalog sync through `connect.adoption`.

    7 packages · 7 occurrences

  • - Generated Biome policy artifacts now flag deprecated monolith usage and obvious deep runtime entrypoint imports.

    7 packages · 7 occurrences

  • - Shared workspace discovery and IDE/CLI create flows now recognize additional contract families beyond the original core set.

    7 packages · 7 occurrences

  • - The consumer plugin and Connect CLI now expose adoption-aware hook events in addition to contracts-spec review hooks.

    7 packages · 7 occurrences

  • - Add release capsules for changesets and include validation evidence.

    4 packages · 4 occurrences

  • - Add versioning-backed release capsules, generated patch notes, and guided upgrade flows.

    4 packages · 4 occurrences

  • - Implement ContractSpec Connect as a first-class spec, runtime, and CLI workflow.

    4 packages · 4 occurrences

  • - Improve app-config, theme, and feature authoring with explicit validation APIs, first-class theme discovery and scaffolding, and key-based app-config generation across contracts, workspace tooling, and the CLI.

    4 packages · 4 occurrences

  • - Prefer generated release artifacts for changelog and upgrade flows.

    4 packages · 4 occurrences

  • - Prefer the package-level validators over shallow AST checks for the three upgraded surfaces.

    4 packages · 4 occurrences

  • - Published release changesets now require a structured release capsule.

    4 packages · 4 occurrences

  • - Shared app-config authoring DTOs and templates now use `key`-based spec references instead of older `name`-based helper fields.

    4 packages · 4 occurrences

  • - Shared workspace discovery and the CLI now treat `theme` as a first-class authored surface.

    4 packages · 4 occurrences

  • - The standalone release domain under `@contractspec/lib.contracts-spec/release` is deprecated in favor of versioning-owned release metadata.

    4 packages · 4 occurrences

  • - Theme authoring now has a canonical helper and authored-validator support.

    4 packages · 4 occurrences

  • - Turn on the Connect adapter flow before relying on task-scoped context, review, replay, or evaluation artifacts.

    4 packages · 4 occurrences

  • - Use the built-in Connect commands instead of custom local wrappers for risky file or command mutations.

    4 packages · 4 occurrences

Impacted packages

  • @contractspec/app.cli-contractspec

    Layer: apps · 5 changes

  • @contractspec/app.cursor-marketplace

    Layer: apps · 5 changes

  • @contractspec/app.web-landing

    Layer: apps · 5 changes

  • @contractspec/bundle.library

    Layer: bundles · 3 changes

  • @contractspec/bundle.workspace

    Layer: bundles · 5 changes

  • @contractspec/integration.builder-telegram

    Layer: integrations · 2 changes

  • @contractspec/integration.builder-voice

    Layer: integrations · 2 changes

  • @contractspec/integration.builder-whatsapp

    Layer: integrations · 2 changes

  • @contractspec/integration.provider.claude-code

    Layer: integrations · 2 changes

  • @contractspec/integration.provider.codex

    Layer: integrations · 2 changes

  • @contractspec/integration.provider.copilot

    Layer: integrations · 2 changes

  • @contractspec/integration.provider.gemini

    Layer: integrations · 2 changes

  • @contractspec/integration.provider.local-model

    Layer: integrations · 2 changes

  • @contractspec/integration.provider.stt

    Layer: integrations · 2 changes

  • @contractspec/integration.runtime

    Layer: integrations · 2 changes

  • @contractspec/integration.runtime.hybrid

    Layer: integrations · 2 changes

  • @contractspec/integration.runtime.local

    Layer: integrations · 2 changes

  • @contractspec/integration.runtime.managed

    Layer: integrations · 2 changes

  • @contractspec/lib.builder-runtime

    Layer: libs · 2 changes

  • @contractspec/lib.builder-spec

    Layer: libs · 2 changes

  • @contractspec/lib.contracts-spec

    Layer: libs · 5 changes

  • @contractspec/lib.knowledge

    Layer: libs · 5 changes

  • @contractspec/lib.mobile-control

    Layer: libs · 2 changes

  • @contractspec/lib.provider-runtime

    Layer: libs · 2 changes

  • @contractspec/lib.provider-spec

    Layer: libs · 2 changes

  • @contractspec/module.builder-workbench

    Layer: modules · 2 changes

  • @contractspec/module.mobile-review

    Layer: modules · 2 changes

  • @contractspec/module.workspace

    Layer: modules · 5 changes