Changesets
Basic Information
- Developer: Atlassian / Changesets Community
- Country/Region: Australia / Global Open Source Community
- GitHub: https://github.com/changesets/changesets
- npm: https://www.npmjs.com/package/@changesets/cli
- Type: Version Management and Changelog Tool
- License: MIT
Product Description
Changesets is a version management and changelog tool focused on Monorepos, helping to manage the complete workflow from code changes to release. The core idea of Changesets is to declare the release intent (semantic version type and change summary) when contributors submit code, and then automate package version updates, changelog generation, and new version releases.
Core Features/Characteristics
- Change Intent Capture: Declare release intent via Markdown files during contribution
- Semantic Versioning: Specify affected packages and semver version types (major/minor/patch)
- Automatic Version Updates: Automatically calculate and update package version numbers
- Changelog Generation: Automatically generate CHANGELOG.md files
- Automatic Release: Automatically release packages to npm Registry
- Monorepo Support: Configurations like linked, fixed, updateInternalDependencies, etc.
- GitHub Action: Automatically create PRs containing version updates
- npm Provenance: Supports OIDC tokens and encrypted provenance verification
Workflow
- Developers create changeset Markdown files to describe changes
- After PR merge, Changesets Bot automatically creates a version update PR
- The version update PR includes updated CHANGELOG and version numbers
- After merging the version PR, automatically release to npm
Business Model
- Completely Free and Open Source: MIT License
- Community Maintained: Continuously maintained by the open-source community
Differences from Semantic Release
- Changesets explicitly declares change intent at submission, while Semantic Release infers from commit messages
- Changesets is more suitable for Monorepo scenarios
- Changesets provides more flexible manual control
- Semantic Release is more fully automated
Relationship with the OpenClaw Ecosystem
Changesets is the version release management tool for OpenClaw. OpenClaw uses Changesets to manage version updates for multiple packages in a Monorepo, ensuring that each release has clear change records and correct semantic version numbers. Changesets' automated PR and release processes, combined with GitHub Actions, form the complete CI/CD release pipeline for OpenClaw.
External References
Learn more from these authoritative sources: