| name | add-changeset |
| description | Add a changelog entry for a PR. Use when the user asks for a changeset, when finishing a PR that changes user-visible contract behavior, or when the changeset-bot has flagged the PR. Skip for NatSpec-only edits, internal refactors with no observable effect, or repo plumbing. |
Add a changeset
When to add one
Add a changeset when the PR changes user-visible contract behavior: a new function, a new contract or extension, a bug fix that changes outputs, a new event, a new error, a new interface ID, or a tighter requirement.
Skip for:
- NatSpec-only changes.
- Internal refactors with no observable effect.
- Test/mock-only changes.
- CI, lint, docgen, dependency bumps that don't change the published
contracts/.
If unsure, err on the side of adding one — release reviewers can downgrade to "skip" by deleting the file before tagging.
How
npx changeset add
The CLI prompts for severity, then opens an editor. Severity:
patch — bug fixes, gas optimizations, no API surface change.
minor — new contracts, new extensions, new public functions on existing contracts.
There is no major from contributors — major version bumps are coordinated by maintainers.
The resulting file in .changeset/ looks like:
---
'openzeppelin-solidity': minor
---
`ComponentName`: One-sentence description starting with a backtick-quoted component name.
Format rules
- First word inside the backticks is the affected contract, extension, or library:
ERC20, ERC1155Crosschain, , , etc.