Changesets
Checkstack uses Changesets to version and publish the workspace packages under core/ and plugins/. Each user-facing change ships with a markdown file under .changeset/ that describes which packages bump, the bump type, and a one-line summary. CI consumes these on merge to open or update a “Version Packages” pull request that, when merged, publishes new releases.
When to add a changeset
Section titled “When to add a changeset”Add a changeset for any change that affects the runtime behaviour of a package or plugin:
- Bug fixes
- New features
- Breaking changes
- Performance improvements
- API changes
You typically do not need a changeset for:
- Documentation-only changes
- Test-only changes
- CI/build configuration changes
- Development tooling changes
Checkstack is currently in BETA. Do NOT bump packages with a major version - use a minor bump and add BREAKING CHANGES: to the changeset body instead.
Creating a changeset
Section titled “Creating a changeset”Run the interactive prompt from the repo root:
bun changesetThis walks you through three questions: which packages are affected, what bump type each gets (patch/minor/major), and a one-line summary. The result is a new markdown file under .changeset/.
Example
Section titled “Example”---"@checkstack/auth-backend": patch"@checkstack/auth-frontend": patch---
Fixed authentication token refresh bug that caused users to be logged out unexpectedly.Commit this file along with your code changes.
Release flow
Section titled “Release flow”- Open your PR. The Changeset Bot comments confirming a changeset is present (or flags that one might be missing).
- Merge to
main. The release GitHub Action opens or updates a “Version Packages” PR with bumpedpackage.jsonversions and updatedCHANGELOG.mdfiles. - Review and merge the “Version Packages” PR. Packages are published to npm and tags are pushed.
Empty changesets
Section titled “Empty changesets”For documentation-only PRs that still trip the changeset bot, create an empty changeset that satisfies the check without bumping anything:
bun changeset --emptyTroubleshooting
Section titled “Troubleshooting”- “No changesets present” - run
bun changesetand commit the resulting file. - Wrong packages selected - delete the file under
.changeset/and runbun changesetagain. - Need to edit a changeset - open the markdown file under
.changeset/directly and adjust the YAML header or summary.
See also
Section titled “See also”- Changesets documentation
- Semantic Versioning
.changeset/README.mdin the repo for an at-a-glance summary.