Skip to main content

prepare-release

Prepare a CLI11 release — changelog entry, version bump, README feature markers, and related version references.

Source facts

Repository
CLIUtils/CLI11
Last source activity
July 31, 2026 at 14:17
Detected SKILL.md language
English
Stars
4,485
Forks
480

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
prepare-release
description
Prepare a CLI11 release — changelog entry, version bump, README feature markers, and related version references.
# Prepare a CLI11 release When preparing a release (`chore: prepare X.Y.Z release`): ## Collect the changes List the merged PRs since the last release with `git log --oneline --first-parent v<last>..main`. Every user-visible change gets a changelog line. ## Changelog entry Add a `## Version X.Y.Z: <Short title>` section at the top of `CHANGELOG.md`. The heading becomes the name of the GitHub release, so give it a short title, such as `## Version 2.7.0: Audit and documentation`. - Start with a short prose paragraph that summarizes the release. - Group the entries under `### Added`, `### Changed`, `### Fixed`, `### Documentation`, and `### Internal` (and `### Removed`/`### Deprecated` if needed). `Documentation` covers docs-only changes; `Internal` covers CI, tests, and tooling changes with no user-visible effect. - Reference PRs as `[#1305][]` and put the matching link definitions (`[#1305]: https://github.com/CLIUtils/CLI11/pull/1305`) at the end of the version section — each section keeps its own definitions so an extracted section needs no fixup. ## Version bump Bump `include/CLI/Version.hpp`: the `CLI11_VERSION_MAJOR`/`MINOR`/`PATCH` macros and the `CLI11_VERSION` string. ## Other files - Only if not a patch release: Update the feature markers in `README.md`: remove the old 🆕 markers (the previous release's features) and change 🚧 markers (main-only features) to 🆕. Removing an emoji from a heading also changes its TOC anchor — drop the trailing `-` from the matching TOC links. - Check the copyright year in `LICENSE` and the version in `book/chapters/installation.md`. ## Verify CI extracts the release notes from the changelog on every build, so a version bump without a matching changelog section fails. Check locally: ```bash python3 scripts/ExtractReleaseNotes.py --title "$(python3 scripts/ExtractVersion.py)" python3 scripts/ExtractReleaseNotes.py "$(python3 scripts/ExtractVersion.py)" ``` ## After the PR merges Tell the user to tag the merge commit as `vX.Y.Z` and push the tag. CI then creates the GitHub release: the name comes from the changelog heading, the body from the changelog section, and the single header plus source packages are attached automatically.
View on GitHub