(((unsigned long)KOLIBRI_MAJOR_VERSION << 24) \
| ((unsigned long)KOLIBRI_MINOR_VERSION << 12) \
| (unsigned long)KOLIBRI_BUGFIX_VERSION)
Kolibri library version.
The version number of the Kolibri library is a 32-bit unsigned value, which is split into four segments.
- The highest 4 bits make up the first segment. This segment can be used to indicate incompatible test or branch versions and will always be 0 for the main line version and will be omitted when the version is written as a string.
- The next 4 bits make up the second segment, which represents the major version number. It will be incremented when significant changes are being made that influence the library's external interface in an incompatible way.
- The next 12 bits make up the third segment, which represents the minor version number. It will be incremented when new features are added.
- The lowest 12 bits make up the patch version number. It will be incremented on minor changes like bug-fixes etc.
Here are some example version numbers and their string representation:
- 0x01000000 => 1.0.0 - The very first release
- 0x010011C3 => 1.1.451 - A version based on the first release with a lot of patches
- 0x0FFFFFFF => 15.4095.4095 - The maximum possible version number
- 0x11002004 => 22.214.171.124 - A branch/test version that may have nothing to do with version 1.2.4