Contributing to Releases
We use changesets to manage version bumps and release notes for our NPM packages and Docker images (ENSIndexer, ENSAdmin, and ENSRainbow).
Adding a Changeset to Your PR
Section titled “Adding a Changeset to Your PR”When you open a PR with feature or bug fix changes, you’ll need to include a changeset file that documents your changes:
- Run
changesetorpnpm changesetin the repository root - Select the packages/apps your changes affect using the interactive prompt
- Choose whether your changes are “major” (breaking changes), “minor” (features), or “patch” (bug fixes).
- Write a clear description of your changes - this will appear in the release notes
The changesets/bot will automatically comment on your PR to either remind you to add a changeset or confirm the version changes that will happen when your PR is merged.
Important notes:
- Changesets are only required for user-facing changes (features, bug fixes)
- You don’t need a changeset for documentation changes or internal refactoring
- All our packages use “fixed” versioning - they all share the same version number regardless of which package triggered the version bump
Upon a New Release
Section titled “Upon a New Release”Upon the publishing of a new release, your change will be included in the produced packages/images and your contributions will be referenced in the GitHub Release notes.
Preview Releases
Section titled “Preview Releases”Commits to main automatically publish prerelease package versions with the next dist-tag to NPM. These enable testing of package changes before an official release.
To manually trigger a preview release for a branch that has not been merged to main, follow these steps:
- Navigate to Actions > Release Preview
- Click “Run workflow” and select the target branch
- Install preview packages with:
npm install @ensnode/package-name@preview-branch-name
Important notes:
- Preview releases are ephemeral and don’t create commits or modify the repository
- No GitHub releases or tags are created for Preview Releases