Versioning is one of the major chores of software. With systems consisting of hundreds to thousands of bundles, tooling becomes a necessity to manage versions. Humans are already incapable of handling version management on the scale that is required today. Tools need rules and guidelines; rules as laid down in this document. To allow applications to grow even larger it is paramount that versions have semantics and are therefore predictive.