This document describes the steps to release a new version of PublicSuffix.
- You have commit access to the repository
- You have push access to the repository
- You have a GPG key configured for signing tags
- You have permission to publish to RubyGems
-
Determine the new version using Semantic Versioning
VERSION=X.Y.Z
- MAJOR version for incompatible API changes
- MINOR version for backwards-compatible functionality additions
- PATCH version for backwards-compatible bug fixes
-
Update the version file with the new version
Edit
lib/public_suffix/version.rband update theVERSIONconstant:VERSION = "X.Y.Z"
-
Update the changelog with the new version
Edit
CHANGELOG.mdand add a new section for the release following the Common Changelog format (see CONTRIBUTING.md for details):## X.Y.Z - YYYY-MM-DD ### Changed - Description of changes
-
Install dependencies
bundle install
or simply:
bundle
-
Run tests and confirm they pass
bundle exec rake test
-
Commit the new version
git commit -am "Release $VERSION" -
Create a signed tag
git tag -a v$VERSION -s -m "Release $VERSION"
-
Push the changes and tag
git push origin main git push origin v$VERSIONPushing the tag will trigger CI to automatically build and publish the gem to RubyGems.
- Verify the CI release workflow completed successfully
- Verify the new version appears on RubyGems
- Verify the GitHub release was created
- Announce the release if necessary