Creating a New Release

Pascal Euhus Tulio Camminati 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.


  • run
    docker run -it -e BATS_LIB_PATH=/usr/lib/bats -v "${PWD}/dtcw:/code/dtcw" -v "${PWD}/test:/code/test" maxh/bats:latest test
    to test dtcw

  • Update the version in

  • Update the version in dtcw and dtcw.ps1. dtcw.bat will be generated

  • 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

do the same for the other images

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.


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