Skip to content

Open the changelog the way every repository does - #45

Merged
sehkone merged 1 commit into
mainfrom
sehkone/issue-44
Aug 11, 2026
Merged

Open the changelog the way every repository does#45
sehkone merged 1 commit into
mainfrom
sehkone/issue-44

Conversation

@sehkone

@sehkone sehkone commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

CHANGELOG.md here opened with twenty lines explaining the version grading; all thirteen consuming repositories open with the same three. This makes it the same three.

The preamble was written on a wrong premise

It rested on this repository not following Semantic Versioning. It does:

  • MAJOR — an existing rule reversed or removed. A breaking change.
  • MINOR — a rule added. A backwards-compatible addition.
  • PATCH — wording only.
  • The interface clause — a file this repository expects to find in a consumer moves — is a breaking API change stated literally.

The below-1.0.0 shift-down is not a deviation either. Section 4 of the specification puts 0.y.z outside its guarantees entirely: anything may change, and nothing is to be considered stable. A convention filling that space contradicts nothing.

What it was actually costing

A second copy of the grading rules, and the two had already drifted from the copy in README.md:

CHANGELOG.md README.md
Opening "Versions are MAJOR.MINOR.PATCH, graded by…" "MAJOR.MINOR.PATCH, no v prefix. The grade is defined by…"
no v prefix absent present
Interface clause stops after "whatever it does to the rules" three more sentences explaining why it outranks a reversed rule
PATCH aside "behaves. Prompt text is not CSS." "behaves; prompt text is not CSS."

A hand-copied rule set drifting quietly is what this repository exists to stop happening in thirteen other places. It should not be doing it to itself.

The rules stay in README.md, which was already the fuller copy.

Scope

CHANGELOG.md, preamble only. No entry is edited, added, or removed, and no entry is added for this change either — a consumer of the last release cannot observe the preamble of this repository's own changelog.

Verification

  • The first five lines are byte-identical to bootroot's, checked by diff.
  • [0.3.0] and everything below it is untouched, so release.yml still finds a heading matching the tag.
  • markdownlint and all six script tests pass.

Closes #44

This file opened with twenty lines explaining the version grading, where
all thirteen consuming repositories open with the same three. The long
preamble rested on the belief that this repository does not follow
Semantic Versioning. It does: MAJOR is an existing rule reversed or
removed, MINOR a rule added, PATCH wording only, and the interface
clause is a breaking API change stated literally. The below-1.0.0
shift-down sits in the space section 4 of the specification leaves open,
where anything may change and nothing is guaranteed stable.

What the preamble did do is keep a second copy of the grading rules, and
the two had already drifted from the copy in README.md: the opening
sentence reworded, `no v prefix` in one and not the other, the interface
clause explained in one and cut short in the other, and a full stop
where the other has a semicolon. A hand-copied rule set drifting quietly
is what this repository exists to stop happening in thirteen other
places; it should not be doing it to itself.

The rules stay in README.md, which was already the fuller copy. No entry
changes, and none is added: a consumer of the last release cannot
observe the preamble of this repository's own changelog.

Closes #44
@sehkone
sehkone merged commit b821f97 into main Aug 11, 2026
1 check passed
@sehkone
sehkone deleted the sehkone/issue-44 branch August 11, 2026 11:05
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.

Open CHANGELOG.md the way every other repository does

1 participant