Prepare a qsv release by bumping versions across all files and updating changelog
Prepare a qsv release by updating version numbers across all required files and generating a changelog entry.
version (required): The new version number (e.g., "16.2.0")msrv (optional): New minimum supported Rust version, if changingUpdate the version string in ALL of these files:
Cargo.toml (line 3): version = "X.Y.Z"CLAUDE.md: **Current Version**: X.Y.Z in Project Overview.claude/skills/manifest.json: "version" field (MCP server version -- may differ from binary version).claude/skills/package.json: "version" field (must match manifest.json)CHANGELOG.mdIf MSRV is changing, also update:
6. Cargo.toml (line 15): rust-version = "X.Y"
7. CLAUDE.md: **MSRV**: Rust X.Y in Project Overview
Add a new section at the top of CHANGELOG.md following this format:
## [X.Y.Z] - YYYY-MM-DD
### Added
- (new features)
### Changed
- (changes to existing features)
### Fixed
- (bug fixes)
### Removed
- (removed features)
Use git log from the last release tag to populate the changelog sections.
Exclude commits with (mcp) or (plugin) in the title — those belong in the MCP/Plugin changelog (.claude/skills/CHANGELOG.md) and are handled by /mcp-release-prep.
Add links to relevant PRs and issues for each changelog entry when possible.
After version bumps, remind the user to:
cargo build --locked --bin qsv -F all_features to verify the build (omit --locked if deps changed)cargo test -F all_features to verify tests passqsv --update-mcp-skills to regenerate skill JSONs with new versionbash contrib/completions/generate_examples.bash to regenerate completionscargo +nightly fmt to format any changed Rust filesmanifest.json/package.json can advance independently of the qsv binary versionminimum_qsv_version field in manifest.json tracks the minimum qsv binary needed, NOT the MCP server versionCargo.toml version, omit --locked from cargo commands until Cargo.lock is regenerated