Manage semver version bumps and changelogs across all packages in a JavaScript monorepo in a single automated release step.
Require contributors to declare what version bump their PR introduces before merging, using the GitHub bot check.
Automate publishing packages to npm via a CI GitHub Action that creates versioning PRs and triggers publishing on merge.
Full CI automation requires GitHub Actions setup and npm publish credentials, the CLI itself is quick to install.
Changesets is a TypeScript tool for managing version numbers and changelogs in JavaScript projects, with particular strength in repositories that contain multiple packages (often called monorepos). It covers the full release cycle: from a developer recording that their change should bump a version, through to the automated update of package version numbers, changelog files, and publishing to npm. The central concept is the changeset file. While writing code, a contributor runs a CLI command that creates a small file declaring which packages are affected, whether the change is a major, minor, or patch-level bump following the semver convention, and a short description of what changed. These files accumulate in the repository as separate contributions come in. When it is time to make a release, the CLI reads all the pending changeset files and merges them into a single coherent release. It works out the correct version number for each package, accounts for packages in the same repository that depend on one another, and updates all version fields and changelog files in one pass. A single command then publishes the updated packages. For teams using continuous integration, a GitHub Action is available that automates creating versioning pull requests and optionally publishing packages. A GitHub bot can also check incoming pull requests to confirm they include a changeset file before merging. The project has been widely adopted across the JavaScript ecosystem. Notable users listed in the README include Astro, SvelteKit, Remix, Apollo Client, MobX, Chakra UI, pnpm, Formik, Firebase's JavaScript SDK, and many others. The README links to detailed documentation covering prerelease versions, snapshot releases, linked packages, and modifying the changelog format.
← changesets on gitmyhub — every repo by this author, as a profile.
Verify against the repo before relying on details.