Skip to content

docs(readme): describe the source version without calling it a candidate - #217

Merged
johnny4young merged 1 commit into
mainfrom
docs/readme-version-status
Sep 17, 2026
Merged

johnny4young merged 1 commit into
mainfrom
docs/readme-version-status

Conversation

@johnny4young

Copy link
Copy Markdown
Owner

Why

The README's badge and ## Status line called the version in source a release candidate:

[![Status](https://img.shields.io/badge/status-v1.2.3--candidate-orange.svg)](#status)
🟠 **v1.2.3 (build 38) is the current release candidate in source.**

make bump writes that when the version moves. It stays true only until the release is promoted, so 1.2.2 and 1.2.3 were both published while the repository's front page still called them candidates.

Only changing the words to "released" would have broken the next release. make bump anchors on --candidate-orange and is the current release candidate and refuses to write anything when an anchor stops matching. Flipping the wording after each release would also mean a second docs PR every time.

What changed

Wording that holds before and after promotion:

  • Badge: version-v1.2.3-blue instead of status-v1.2.3--candidate-orange.
  • Status line: "v1.2.3 (build 38) is the newest version in source." The next sentence already points to the Releases page as the source of truth for what is downloadable.
  • Second paragraph: "Bumping the version in source does not publish it…" instead of "Preparing this candidate does not publish it…".

The tooling follows the new wording:

  • scripts/bump-version.sh: the README badge and status sentence anchors, the self-test's expected strings, and its moved-anchor recovery case.
  • Tests/AppStoreReadinessTests.readmeStatusMatchesTheProjectVersion: looks for version-v<MARKETING_VERSION>.
  • docs/RELEASING.md: the checklist names the version badge.

Validation

  • make bump-check: the self-test passes. It runs make bump against copies of the real files, so the new anchors are proven against this README.
  • Mutation: with main's README and the new anchors, the self-test fails, so a stale wording cannot slip through.
  • shellcheck --severity=warning scripts/bump-version.sh, make lint, make hygiene, git diff --check.
  • make test: CLI 227, domain 125, rendering 51, repository 128, unit 1750, all passing.

The README's badge and status line called the version in source a
release candidate. make bump writes that when the version moves, and
it stays true only until the release is promoted: 1.2.2 and 1.2.3 were
both published while the front page still called them candidates.

The badge now reads version-vX.Y.Z, and the status line says the
version is the newest in source and points to the Releases page for
what is downloadable, which holds before and after promotion.
make bump's README anchors, its self-test, the README lockstep test,
and the release checklist follow the new wording.
@johnny4young
johnny4young merged commit 5dc75a4 into main Sep 17, 2026
6 checks passed
@johnny4young
johnny4young deleted the docs/readme-version-status branch September 17, 2026 11:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant