Werk #14987: Extension packages: Enforce semantic versioning

Component Checks & agents
Title Extension packages: Enforce semantic versioning
Date Dec 2, 2022
Checkmk Edition Checkmk Raw (CRE)
Checkmk Version 2.2.0b1
Level Trivial Change
Class New Feature
Compatibility Incompatible - Manual interaction might be required

This Werk only affects maintainers of Checkmk Extension Packages (MKP).

We now enforce both in the GUI and on the commandline the use of semantic versioning. Previously the GUI only allowed strings consisting of dots and digits (such as "..7"). The commandline on the other hand would allow any string at all (such as "🐟semmel").

We meet in the reasonable middle, and enforce values resembling semantic versioning upon creation or modification of packages. For now, packages with any other version string will continue to work. The Checkmk Exchange no longer accepts packages with other versioning.

Note: Some backend operations require us to sort the packages (to install the newest). We try our best to compare all version strings as reasonable as possible, but there are limitations. For instance: v10 will be considered older than v2 (because the "v" prevents an interpretation as number).

This change allows to implement a well-defined version comparison in the future, allowing us to move forward with features and streamlined workflows.

To the list of all Werks