- Each version should have an h2 heading (
##
) consisting of its semver version, using the same format as for tags (see Release Process below). - If a version has not been released yet,
(unreleased)
should be added to the end of the heading. - The newest version should be the first subheading, and the oldest should be the least.
Important
GitHub Actions workflows used for release processes will only run when CHANGELOG.md
has been modified, and will not run if the first subheading contains (unreleased)
.
- Create branch
release-$VERSION
. - Update the version number in
build.gradle
if needed. - Update
CHANGELOG.md
to reflect changes made since the last version. - Create a PR for the release. Merge it once tests pass.
- GitHub Actions should automatically update the docs site to reflect the release, and publish a staging repository to Maven Central.
- Use the OSSRH portal to publish the release to Maven Central, see this doc for instructions.
- Tag the release. Tags should follow semver conventions and be formatted as
v$MAJOR.$MINOR.$PATCH
. - Create a GitHub release, copy-paste the relevant section of the changelog into it.
- Delete the release branch.
- Increment the version number in
build.gradle
, and add a new section toCHANGELOG.md
for that version with the header## vX.Y.Z (unreleased)
If you do not already have a working Java 17 toolchain on macOS, you can use these steps to set one up. You must also have a working Docker installation to run the tests.
- Install Homebrew, if you have not already.
- Install the JDK with
brew install openjdk@17
. - Install
jenv
withbrew install jenv
. - You need to make
jenv
aware of the your Homebrew Java installations. This shell command will remove any existing Java installs fromjenv
, and add all OpenJDK installs from Homebrew:jenv versions | tr -d '*' | awk '$1!="system"{print($1)}' | while read -r vers ; do jenv remove "$vers" ; done ; for p in /opt/homebrew/Cellar/openjdk* ; do for q in "$p"/* ; do jenv add "$q" ; done ; done
- Use
jenv
to select version 17 withjenv global 17
.
Further reading: