Release¶
Current product versions are represented in:
.release-please-manifest.jsonpyproject.tomlsrc/kicad_mcp/__init__.pysrc/kicad_mcp/server.jsonpackages/mcp-npm/package.jsonpackages/protocol-schemas/package.json
.release-please-manifest.json tracks product package paths only. The private repository root is not released.
Release PRs are created by .github/workflows/release-please.yml with separate Release Please pull requests per product package path. The VS Code extension (KiCad Studio) releases independently from its own repository; kicad-mcp-pro Python package and npm launcher stay version-linked as one MCP product. Release publication workflows run from GitHub Releases and protected environments.
The publish workflows keep release evidence product-scoped:
publish-python.ymlvalidates the wheel and source distribution, emitsrelease-evidence/SHA256SUMS.txt, emits a CycloneDX SBOM, uploads that evidence aspython-release-evidence, and creates GitHub artifact attestations for the Python wheel and source distribution before PyPI trusted publishing. The publish jobs verify local checksums before upload and verify PyPI/TestPyPI SHA-256 digests after upload. Thepython-distartifact intentionally contains only*.whland*.tar.gzfiles.publish-npm.ymlpacks thekicad-mcp-pronpm launcher tarball, emitsSHA256SUMS.txtand a CycloneDX SBOM, creates GitHub artifact attestations, publishes with npm provenance, and downloads the published tarball to verify its SHA-256 digest.publish-mcp-container.ymlvalidates the Docker image on pull requests and publishes signed multi-arch GHCR images with BuildKit SBOM/provenance formcp-server-v*GitHub Releases.publish-protocol-schemas.ymlpublishes@oaslananka/kicad-protocol-schemasforprotocol-schemas-v*GitHub Releases.
Release dry-runs also validate compatibility.yaml through the MCP server release preflight. Update docs/status/runtime-policy-matrix.md and release notes whenever KiCad, VS Code, MCP, Node, pnpm, Python, or tool-schema support changes.
Conventional Commit Scopes¶
Release Please derives product changelogs from Conventional Commits, so pull request titles and product-changing commits must use one of these scopes:
kicad-studiofor the VS Code extension (separate repository).kicad-mcp-proforsrc/kicad_mcpandpackages/mcp-npm.repofor repository governance, documentation, workflow, and shared release policy changes.depsfor dependency-only updates.
Commits that touch both product directories must be split by product or use the multi-scope form kicad-studio/kicad-mcp-pro. Release Please generated PRs retain their upstream chore(main): release ... title format and are exempt from the human PR title scope gate.
Run product dry-runs before merging release-related changes:
corepack pnpm run release:dry-run
corepack pnpm run check:release-please