Skip to content

Release v1.5.1

Latest

Choose a tag to compare

@github-actions github-actions released this 03 Nov 00:35
· 4 commits to main since this release

Breaking changes

  • Model authoring now uses MCP. Typed MCP tools replace CLI authoring commands and their previews. Start reqvire mcp --enable-mutations to create and edit models. Accepted mutations validate the complete model and persist canonical formatting.
  • CLI add, rm, mv, rename, merge, mv-file, mv-folder, link, unlink, relink, mv-asset and rm-asset have been removed. CLI format moves to reqvire.format; CLI lint --fix moves to reqvire.lint with fix: true. Validation, lint inspection, discovery, coverage, reports and exports remain available through CLI.
  • MCP tool contract version 5: lifecycle tools now use branch names:
    • reqvire.worktree.list → reqvire.branch.list
    • reqvire.worktree.create → reqvire.branch.create
    • reqvire.worktree.open → reqvire.branch.open
    • reqvire.worktree.remove → reqvire.branch.close
    • reqvire.worktree.refresh_head → reqvire.branch.refresh
  • Previous tool names and worktree-ID selectors are no longer supported. Update clients and assistant integrations to use branch and, where applicable, from_branch. Branch creation requires an explicit base_ref.
  • Native workspace manifests replace live Repo XML discovery. Multi-repository workspaces use one tracked reqvire-workspace.toml owned by the selected root repository and branch. Configure repositories_dir, repository URLs and checkout paths, tracking refs and exact commit pins. Native TOML includes, fragments and overlays are unsupported. Without a manifest, Reqvire retains its normal single-repository workflow.
  • Change impact analysis uses the available PR target’s merge-base. Without PR context, supply an explicit baseline. Use --git-commit HEAD to review pending changes. Analysis never fetches or synchronizes repositories.

Changelog

  • Added native workspace preparation and management through CLI workspace status, add, remove, sync, freeze and migrate.
  • Added typed MCP reqvire.workspace.add, reqvire.workspace.remove, reqvire.workspace.sync, reqvire.workspace.freeze and reqvire.workspace.migrate; retained the existing read-only reqvire.workspace_status tool.
  • Centralized workspace discovery, Git operations, ownership, branch preparation, pin handling, baseline reconstruction and composition coordination in the shared reqvire-workspace crate.
  • Removed the Google Repo/Python runtime dependency from native workspace operation. XML remains supported for explicit migration and pre-conversion change-impact baselines.
  • Added configurable checkout directories and workspace roots below the owning Git root. The owning repository can hold a shared system model or only configuration while pinned components supply the complete model.
  • Kept tracking refs separate from working branches and exact commit pins. Default sync reproduces recorded pins; sync --latest follows configured refs and advances pins. freeze records current committed component HEADs while preserving refs.
  • Added change impact analysis across declared repositories, preserving cross-repository traceability, source provenance and added, removed or relocated component handling.
  • Added coordinated component branch creation from the selected root base and its component pins. Named owners prepare named component branches; detached CLI/CI owners prepare detached checkouts.
  • MCP checkpoints changed components first, then updates their pins and commits those pins with accepted root changes in one root commit. Automatic commits remain opt-in through --enable-commits.
  • Added component-first publication and coordinated creation or reuse of linked component and root pull requests. Push and PR creation remain explicit operations.
  • Added validated preparation and admission of changed compositions, ownership checks, partial-operation outcomes and recovery handling. Rejected candidates preserve accepted model reads.
  • Improved path and symlink containment, macOS path compatibility, branch inventory and Git discovery caching.
  • Improved graph hover responsiveness and updated Explorer styling, layout and font loading.
  • Updated the system model, generated ontology artifacts, website documentation, assistant skills and verification coverage.
  • Verified the final build with all 104 E2E suites passing, alongside Rust tests, strict Clippy and model checks.

Migration tools

Existing Repo workspaces

Preview conversion, then apply it:

reqvire workspace migrate --from repo --dry-run
reqvire workspace migrate --from repo

The migration reads Repo’s selected .repo/manifest.xml entry by default. Use --source FILE to select an XML source explicitly. Supported XML declarations, includes and defaults are resolved into one reqvire-workspace.toml, and the composition is prepared through normal workspace synchronization. Original XML, existing checkouts and their Git metadata are preserved.

Unsupported XML elements, Repo local overlays and conflicting native manifests fail explicitly. Review and commit the generated TOML in the owning repository. Keep declared component checkout paths ignored by that repository.

The same conversion is available through reqvire.workspace.migrate with from: "repo", optional source and dry_run, in a valid mutation-enabled MCP context. Use CLI migration when preparation is needed before the combined model can pass MCP startup validation.

Older system-model formats

Model-syntax migration is a separate CLI operation:

reqvire migrate
reqvire migrate --fix
reqvire validate

reqvire migrate previews supported updates by default. --fix applies deterministic migrations, including legacy document header cleanup, verification-objective holder creation, contract relation cleanup and conversion of legacy contract section headings to Contract Bindings.

Run required model-syntax migrations before starting MCP. There is no MCP model-syntax migration tool or startup mode that bypasses model validation.

Upgrade instructions

  1. Update Reqvire and installed assistant skills together. Update any pinned npm runner version to @reqvire-org/reqvire@1.5.1.
  2. Apply workspace conversion and model-syntax migrations as needed, then review, validate and commit the results.
  3. Prepare declared checkouts with reqvire workspace sync before normal model loading or MCP startup. Use sync --latest only when intentionally advancing configured refs.
  4. Reconnect MCP clients and inspect reqvire.tool_contract. Update lifecycle tool names and branch selectors.
  5. Use feature branches for coordinated work. Commit external component changes first, record their pins with workspace freeze, then commit the updated manifest with related root changes. A live MCP owner must manage its own composition through the typed tools.

Full changelog: v1.4.0...v1.5.1