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.