Skip to content

Remove CHANGELOG.md and CONTRIBUTORS.md, which nothing reads - #586

Merged
mairas merged 1 commit into
mainfrom
chore/drop-redundant-root-docs
Aug 13, 2026
Merged

Remove CHANGELOG.md and CONTRIBUTORS.md, which nothing reads#586
mairas merged 1 commit into
mainfrom
chore/drop-redundant-root-docs

Conversation

@mairas

@mairas mairas commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

Why

CHANGELOG.md cost a merge conflict on every concurrent PR. Every entry goes in at the same anchor under ## Fixes, so the six fix branches open this week all collided there, and each one had to be rebased and re-inserted by hand.

It bought nothing for that. Nothing reads the file. Release notes come from git log: .github/scripts/generate-release-notes.sh (the local override for the shared build-release workflow) names its variable CHANGELOG, but populates it from git log "${LAST_TAG}"..HEAD — not from CHANGELOG.md. The published bodies, like v1.3.0, are then written by hand on the draft release. So the file was a second hand-maintained copy of a story that gets told again, differently, at publish time.

CONTRIBUTORS.md was a hand-kept snapshot of something git already knows. Its own closing line said so: "This list is based on commit history. If you contributed and are missing, please open a PR!" — a standing maintenance cost, and a request that contributors notice their own absence, for a fact git shortlog -sne answers exactly and without drift.

What changed

Both files deleted, and both dropped from package.json files so the npm tarball stops advertising them.

Attribution is unaffected. LICENSE is MIT and carries Copyright (c) 2023 mxtommy and Copyright (c) 2026 Hat Labs Oy and Skip contributors; package.json keeps its contributors field; and the full record stays in the history the deleted file was transcribed from.

Before the next release

The deleted # Unreleased section held the user-facing prose for everything landed since v1.3.0, and the five open fix PRs each add to it. That prose is the raw material for the v1.4.0 notes, and it is not gone — git show 401f4fc8:CHANGELOG.md retrieves the file at its last state on main. Fold what is wanted into the draft release body before publishing.

Landing order

The five open fix PRs (#573, #577, #578, #579, #583) all modify CHANGELOG.md. Merging this first turns each of them into a delete/modify conflict — trivial to resolve (keep the deletion), but five of them. Merging this last means one conflict resolution here instead. Either works; last is less handling.

Nothing consumes either file, and CHANGELOG.md costs a conflict on every
concurrent PR because every entry is inserted at the same anchor.

Release notes do not come from CHANGELOG.md. The local override
.github/scripts/generate-release-notes.sh names its variable CHANGELOG but
populates it from git log, and the published bodies are written by hand on the
draft release. The file was a second, hand-maintained copy of the same story.

CONTRIBUTORS.md is a hand-kept snapshot of something git already knows. Its own
footer says the list is based on commit history and asks anyone missing to open
a PR, which is a standing maintenance cost for a fact `git shortlog -sne`
answers exactly and without drift.
@mairas
mairas force-pushed the chore/drop-redundant-root-docs branch from b9af79c to dddc763 Compare August 13, 2026 07:51
@mairas
mairas merged commit 68aed14 into main Aug 13, 2026
4 checks passed
@mairas
mairas deleted the chore/drop-redundant-root-docs branch August 13, 2026 07:54
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