A key aspect of OSGi bundles and packages is that they are versioned using semantic versioning. This encodes compatibility into the version number so that clients can select an appropriately versioned component to build against or bind to.
Semantic versioning breaks down a number such as 1.2.3.RELEASE
into the following four parts:
This version numbering scheme is used by every Java JAR in Maven Central and can be used to determine whether or not upgrading to a later version will be compatible. Numbers default to 0
if they are not specified, and the qualifier defaults to an empty string. In OSGi, numbers are sorted numerically and the qualifier is sorted alphabetically.
Changes in...