Creating a New Release

Ralf D. Müller Jody Winter Ralf D. Müller

2 minutes to read

Before You Begin

  • We use semantic versioning and we also keep a changelog. All of this is done on a best-efforts basis.

  • A release consists of five parts, each explained below.


  • Update the version in

  • Update the changelog.

    • Create a section for the version.

    • Copy to the new section all unreleased features which will be in the release.

    • Commit and push the new version.

  • Draft a new release.

  • Copy the contents of the changelog for this version to the description then submit.

  • Set the version as vX.Y.Z.

  • Run ./gradlew createDist to zip the source in build (the distribution file).

  • Add the zipped file and submit the new release.

Docker Hub

Standard Image

The image build for rdmueller/doctoolchain depends on the GitHub repo docToolchain/docker-image.

  • Update the Dockerfile to reflect the new version.

  • Create a new release.

  • Reference the GitHub release in the changelog (the build on Dockerhub will be automatically triggered).

Important! Currently, the autobuild only works for paying customers. To manually build and upload the image, download the repo, switch to branch ng-beta, cd to the alpine folder and execute docker build -t rdmueller/doctoolchain:v2.0.0-rc15 .. After that, use Docker Desktop to push the resulting image to Docker Hub.

Jenkins CI Image

update the version in the github action definition and run the action.

Blog Post

Create a blog post to announce the new release. The SDKMAN! announcement will reference it.

docToolchain-Wrapper (dtcw)

Everything went well? Great! Now let’s update the wrapper. The source of the rapper is now the main repository and we need to copy it over to the github pages. To do so, make sure that dtcw references the right version.


A GitHub action sdkman deploy has been created to deploy to SDKMAN!