# `v5.0.0` Release Checklist

## Purpose

This checklist is the maintainer-facing candidate path for `v5.0.0`.

Use it when the release scope is the next-major public API cleanup, Codex plugin hook alignment, permission-request hook logging probe, and default request-context provenance for HTTP and MCP speech submissions.

For the standing branch-versus-main release contract, keep using [release-workflow.md](../maintainers/release-workflow.md). This document is only the candidate-specific checklist and release-shape note for `v5.0.0`.

## Proposed Release Number

Target the next release as `v5.0.0`.

That major bump matches the current change shape:

- intentional next-major cleanup of duplicated HTTP and MCP surfaces
- `SpeakSwiftly 5.0.0` and `TextForSpeech 0.19.0` request-model alignment
- plugin-managed Codex hook setup, with user-level duplicate hook repair documented separately
- logging-only `PermissionRequest` hook probe for future approval-notification TTS work
- HTTP and MCP request-context defaults so TextForSpeech receives useful caller-origin metadata with less caller input

## Pre-Tag Checklist

- keep the worktree clean before release preparation or publish
- confirm the dependency pin resolves to the upstream `SpeakSwiftly` final `v5.0.0` tag
- confirm the full maintainer validation gate passes:

```bash
sh scripts/repo-maintenance/validate-all.sh
```

- run the live-service resident-model unload preflight before the opt-in live suite, leaving the installed LaunchAgent service in place:

```bash
curl -X POST http://127.0.0.1:7337/models/unload
SPEAKSWIFTLYSERVER_E2E=1 xcrun swift test --filter ServerTransportE2ETests
curl -X POST http://127.0.0.1:7337/models/reload
```

- verify the GitHub PR has green CI and no unresolved review or discussion comments

## Suggested Release Notes Shape

Center the release notes on five points:

- next-major public HTTP and MCP cleanup
- `SpeakSwiftly` and `TextForSpeech` request-model alignment
- Codex plugin hook and hook doctor guidance
- permission-request logging probe for later approval-notification TTS
- default HTTP/MCP `RequestContext` provenance, including MCP `clientInfo`

## Publish Reminder

If this candidate moves forward, use the standard repo-maintenance release workflow rather than tagging directly from the feature branch:

```bash
scripts/repo-maintenance/release.sh --mode standard --version v5.0.0
```

The standard workflow validates the checkout, runs the version bump, pushes the release branch, opens or updates the release PR, watches CI, checks review state, merges, fast-forwards `main`, creates the annotated tag from the reviewed base-branch commit, pushes the tag, and creates the GitHub release.
