Release.md
Releasing Puma requires the following steps:
main for the next major or minor line.<major>-<minor>-stable for patch releases on an existing stable line (for example, release 7.2.3 from 7-2-stable).origin/<target-branch>.HEAD. Stop unless everything is passing.breaking change PR labels as strong evidence that a major bump is needed.git shortlog. This person will be the "Namer."SECURITY.md and write a docs/X.X-Upgrade.md upgrade guide.History.md in the existing format and update lib/puma/const.rb. If a codename change is required for a minor or major release, change the codename constant to "INSERT CODENAME HERE."release-vX.Y.Z from your target base branch, commit the release changes, and open a PR.History.md section as the release notes.Once the PR is merged:
HEAD, then push that tag to GitHub.bundle exec rake build.mise is installed, look up the latest JRuby version, run mise exec jruby@<latest> -- rake java gem, and build the JRuby gem. Otherwise, manage your environment yourself.gem push both artifacts to rubygems.org. This requires manual 2FA.Once both gems have been pushed to rubygems.org:
pkg/puma-<version>.gempkg/puma-<version>-java.gempuma version <version>.release-vX.Y.Z.main for major/minor releases.<major>-<minor>-stable for patch releases on maintained stable lines.We usually let the leader of git shortlog -s -n --no-merges <LAST_VERSION>..HEAD name the release.
Tag this person on the new version PR and ask them to propose a codename.
In the past, we've used Greg's tool to generate it, but anything that follows the existing format is fine.