/
Kieker Trace Diagnosis Development

Kieker Trace Diagnosis Development

Releasing a new Version

Kieker Trace Diagnosis uses semantic versioning. This means that the version number always consists of three numbers, separated by dots. The last number is the patch version. If a version fixes only bugs, but is otherwise fully compatible with old versions, this number is increased. The second number is the minor version. If a version adds new features, but is otherwise backward-compatible, this number is increased. The first number is the major version. If a version adds new features, which are not backward-compatible or requires a new JDK version, this number is increased. Furthermore, the version number can also contain an optional release candidate part.

<MajorVersion>.<MinorVersion>.<PatchVersion>

<MajorVersion>.<MinorVersion>.<PatchVersion>.RC<RCVersion>


Some examples for valid version numbers are:

  • 2.0.0.RC3
  • 3.0.0
  • 3.1.1

In order to release a new version of Kieker Trace Diagnosis, the following steps should be performed:

  • Execute the maven goal "versions:set" with the parameters "-DnewVersion=2.0.0.RC3 -DoldVersion=* -DgroupId=* -DartifactId=*" on the project's root folder. In this example, the target version is "2.0.0.RC3". Optionally execute the maven goal "versions:commit" to get rid of the backup files.
  • Commit and push the changes to the repository.
  • Tag the new version. The tag's name should always follow the naming convention "Release-<Version>". In our example, this would be "Release-2.0.0.RC3".
  • Wait for the Jenkins to build the new version and download both binary archives (for Windows and for Linux).
  • Edit the now existing release draft on Github and upload the two binary archives. Make sure to mark the release as pre-release, if the version is just a release candidate.
  • Execute the maven goal "versions:set" with the follow up version (followed by -SNAPSHOT). In our example this would likely be "2.0.0.RC4-SNAPSHOT", as the next version will probably be "2.0.0.RC4".
  • Commit and push the changes to the repository.

Related content

Release Creation
Release Creation
More like this
Delivery Pipeline
Delivery Pipeline
More like this
Development Workflow
Development Workflow
More like this
Local Development Environment
Local Development Environment
More like this
Developer FAQ
Developer FAQ
More like this
Static Analysis
Static Analysis
More like this