Skip to content

CHANGELOG.md has 76 unresolved (#PR) placeholders — backfill them and add a CI guard #691

Description

@chhhee10

CHANGELOG.md currently contains 76 entries ending in a literal (#PR) instead of a pull-request number:

grep -c '(#PR)' CHANGELOG.md
# 76

The very first entry in the file — ## 1.0.1-beta.0 — 2026-08-12 — is one of them, so it's the first thing anyone reading the changelog sees.

CONTRIBUTING.md asks every entry to end with its PR number (e.g. (#123)). (#PR) is the placeholder people write before the PR exists, and it's being forgotten on the way out.

Two parts, both beginner-friendly

1. Backfill the numbers. For each (#PR), find the PR that introduced the entry and substitute the number. git log -S'<a distinctive phrase from the entry>' -- CHANGELOG.md will point you at the commit, and the merge commit or gh pr list --search gets you the number. Where an entry genuinely never had a PR, drop the (#PR) rather than inventing one.

This is mechanical but not blind — take it in batches and note anything ambiguous in the PR description rather than guessing.

2. Add a CI guard so it can't recur. The quality job in .github/workflows/ci.yml already has a small inline check ("Check version consistency") that greps files and calls ::error file=…:: on a mismatch. Add a sibling step that fails when CHANGELOG.md contains (#PR).

Worth deciding (and saying which you chose): should the guard check the whole file, or only the entries added in the current diff? Whole-file is simpler and can't be bypassed; diff-only avoids blocking unrelated PRs on pre-existing debt. Either is defensible — if you pick whole-file, part 1 has to land first or every PR goes red.

Done when

  • grep -c '(#PR)' CHANGELOG.md returns 0
  • CI fails on a branch that adds a (#PR) line, and passes otherwise

Happy to review this in stages if you'd rather do the backfill and the guard as separate PRs — say so and we'll coordinate.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions