Repository navigation
Conversation
Extend the CHANGELOG presence check from a fixed allowlist of packages to every package published to npm. Private packages are skipped, as are changes that only touch stories, tests, Markdown files, or development configuration (tsconfig, top-level tool rc files, .gitignore, and ESLint configs).
Member
Author
|
Instead of all packages requiring changelog entries, some learnings from this could make sense to ship:
Alternatively if we would proceed with all packages, we could exclude "internal app" type packages like |
tbradsha
reviewed
Sep 25, 2026
tbradsha
left a comment
There was a problem hiding this comment.
Nice! Definitely worth encouraging more changelogs.
|
|
||
| { | ||
| echo 'packages<<EOF' | ||
| echo "$packages" |
There was a problem hiding this comment.
I suppose a theoretical package called EOF could terminate this early. 😄
| # and .gitignore) | ||
| # don't need an entry. Private packages aren't published to npm, so | ||
| # they're skipped, as are packages removed by the PR. | ||
| packages=$(git diff --name-only "$BASE_SHA"...HEAD -- 'packages/' \ |
There was a problem hiding this comment.
Might use --no-renames so it doesn't swallow things moving from one package to another.
This was referenced Sep 28, 2026
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Continuation to earlier work to improve changelogs in the repo:
What?
Extends the changelog presence check from a fixed allowlist of packages to every package published to npm. Private packages are skipped.
Consolidates the check into one job in CI, instead separately for each package like today:
Why?
Consumers updating packages in their products rely on reading changelogs. Sometimes the apps are running outside WP admin context so "externalization" context is irrelevant to them.
I did this as a proof of concept to see what kind of impact this might have and explore alternatives.
How?
tsconfig*.json.*rc*,.gitignore, ESLint configs)packages/README.mdandAGENTS.mdnow describe the new rule. The README still says entries are optional for trivial changes.Most of these packages don't get changelog entries today, so the check would flag about half of all package PRs, up from 13%.
Replaying the last three months of trunk (1,626 merged PRs that touched packages) through the new filter:
Packages that already add entries more often include commands (81%), stylelint-config (76%), scripts (66%) and boot (62%).
Packages that would be flagged most often:
Testing Instructions
CI
Use of AI Tools
yes