Software versioning in which a version is an integer in degrees Kelvin.
Absolute zero is frozen — no further updates are possible. If your Kelvin versions don't track your actual progress, you run out of integers.
A | 9K | ||
B | 19K | ||
C | 20K | ||
D | 28K |
If tool B sits on platform A, either both A and B must be at absolute zero, or B must be warmer than A. Whenever the temperature of platform A declines, the temperature of tool B must also decline. Of course, if B itself is a platform on which some higher-level tool C depends, it must follow the same constraints recursively.
- A's version SHALL be a nonnegative integer.
- A, at any specific version, MUST NOT be modified after release.
- At version 0, new versions of A MUST NOT be released.
- New releases of A MUST be assigned a new version, and this version MUST be strictly less than the previous one.
- If A supports another component B that also follows kelvin versioning, then:
- Either both A and B MUST be at version 0, or B's version MUST be strictly greater than A's version.
- If a new version of A is released and that version supports B, then a new version of B MUST be released.