# Release Notes Template

Use this template for every public release candidate and stable release. Fill
it from the artifacts produced by `.github/workflows/release-gates.yml`.

## Identity

- Release tag:
- Commit SHA:
- Release stage: alpha / beta / rc / stable
- Stage gate result:
- MCP protocol snapshot:
- RMCP reference commit:
- TypeScript SDK reference:
- Python SDK reference:

## Supported Matrix

List only matrix entries whose `release-blocking` CTest label set passed for
this exact commit.

- Windows MSVC Ninja static runtime:
- Windows ClangCL Ninja static runtime:
- Windows MSVC Visual Studio dynamic runtime:
- Linux GCC Ninja:
- Linux Clang Ninja:
- macOS AppleClang Ninja:

## Required Artifacts

Attach or link these artifacts for the same commit:

- `cxxmcp-release-gates-linux-gcc-ninja`
- `cxxmcp-release-gates-linux-clang-ninja`
- `cxxmcp-release-gates-macos-appleclang-ninja`
- `cxxmcp-release-gates-windows-msvc-ninja-static-runtime`
- `cxxmcp-release-gates-windows-clangcl-ninja-static-runtime`
- `cxxmcp-release-gates-windows-msvc-vs-dynamic-runtime`
- `cxxmcp-auth-release-gate-linux-gcc-ninja`
- `cxxmcp-auth-release-gate-windows-msvc-ninja`
- `cxxmcp-auth-openssl-release-gate-linux-gcc-ninja`
- `cxxmcp-performance-evidence-linux-gcc-ninja`
- `cxxmcp-public-header-compile-evidence-linux-gcc-ninja`
- `cxxmcp-package-vcpkg-default`
- `cxxmcp-package-vcpkg-http`
- `cxxmcp-package-vcpkg-websocket`
- `cxxmcp-package-vcpkg-http-openssl`
- `cxxmcp-package-vcpkg-websocket-openssl`
- `cxxmcp-package-vcpkg-http-auth`
- `cxxmcp-package-vcpkg-websocket-auth`
- `cxxmcp-package-vcpkg-auth-openssl`
- `cxxmcp-package-vcpkg-http-auth-openssl`
- `cxxmcp-package-conan-default`
- `cxxmcp-package-conan-http`
- `cxxmcp-package-conan-websocket`
- `cxxmcp-package-conan-http-auth`
- `cxxmcp-package-conan-websocket-auth`
- `cxxmcp-package-xmake-default`
- `cxxmcp-package-xmake-http`
- `cxxmcp-package-xmake-websocket`
- `cxxmcp-package-xmake-http-auth`
- `cxxmcp-package-xmake-websocket-auth`
- `cxxmcp-doxygen-html`
- `cxxmcp-source`
- `cxxmcp-release-evidence`
- `release-artifact-review.md` generated by
  `scripts/check_release_artifacts.py --review-output`

## Checksums

Copy checksums from the source artifact `SHA256SUMS.txt`.

```text
<sha256>  cxxmcp-source-<commit>.tar.gz
```

## Canonical SDK Path

State that the canonical SDK entry points are `Peer` / `Service` over the
public `cxxmcp::protocol`, `cxxmcp::transport`, `cxxmcp::handler`,
`cxxmcp::peer`, `cxxmcp::service`, `cxxmcp::client`, `cxxmcp::server`, and
`cxxmcp::sdk` targets.

State that gateway/runtime/CLI/app/plugin tooling is released outside this SDK
repository and remains outside the core SDK contract.

## Compatibility Notes

- Source compatibility changes:
- Deprecated APIs and migration notes:
- Public header diff review result:
- Public API surface manifest diff result:
  `scripts/compare_public_api_surface.py` previous/current:
- Public API diff classification:
- ABI note: static-library releases do not claim ABI stability.

## Protocol Notes

- Supported MCP protocol snapshots:
- Unsupported-version behavior:
- Added or removed protocol capabilities:

## Evidence Summary

- Source style evidence:
- `package_smoke` installed-package evidence:
- Package-manager smoke evidence:
  - vcpkg overlay default/auth:
  - Conan default/auth:
  - xmake default/auth:
  - Platform scope: Ubuntu Linux only unless matching Windows/macOS artifacts
    are attached for this release.
- OpenSSL auth evidence:
  - `CXXMCP_AUTH_CRYPTO=OpenSSL` Linux GCC gate:
  - Platform scope: Linux GCC only unless matching Windows/macOS artifacts are
    attached for this release.
- Performance evidence:
  - `protocol_serialization_benchmark` Linux GCC Release gate:
  - Scope: serialization hot-path evidence only, not a cross-platform
    performance claim.
- Public-header compile-time evidence:
  - Linux GCC public-header target timing artifact:
  - Scope: compile-time debt triage for `json_fwd` / `extern template`, not a
    universal compile-time improvement claim.
- Public-header compile evidence:
- Public API surface manifest:
- RMCP interoperability evidence:
- TypeScript SDK interoperability evidence:
- Python SDK interoperability evidence:
- Doxygen generation evidence:
- Release evidence verifier result:
- Release artifact review record:
- Dependency review:
  - `tl::expected` fallback/package-manager route:
  - hidden `cpp-httplib` route:
- Package metadata or recipe references:

## Accepted Limitations And Tracked Debt

- Stdio blocking-read limitation:
  - State whether the release still uses `std::getline`-based stdio reads.
  - If so, disclose that `stop()` cannot guarantee interruption of a
    partial-line read, and direct production interop users toward
    process-stdio or Streamable HTTP.
- Reconnect boundary:
  - State the Streamable HTTP/SSE retry or reconnect behavior covered by this
    release.
  - State that generic cross-transport reconnect remains application-owned
    unless a future design explicitly changes that contract.
- Cancellation-token wait boundary:
  - State whether waits that include `CancellationToken` still use cooperative
    polling because the public token is atomic-only.
  - State that timeout-only waits use exact deadlines.
- Serialization hot-path debt:
  - Summarize the exact-commit benchmark artifact review.
  - Avoid measured performance claims unless the Linux GCC Release artifact is
    attached and reviewed.
- Public-header compile-time debt:
  - Summarize the exact-commit public-header compile evidence review.
  - Record whether `json_fwd` / `extern template` work is deferred or opened
    as follow-up implementation work.

Do not claim fact-standard readiness in release notes unless every required
artifact is present, every advertised matrix leg is green, and the release
candidate checklist is complete.
