Guide:Version Numbering

From Step Mods | Change The Game

Version Numbering

A number of users seem to be confused as to the functionality of this feature, expecting it to do things that it isn't designed for. Feature Requests and Bug Reports, both here on the S.T.E.P. forum and on the Mod Organizer Bug Genie, asking for changes to the format are numerous.

After one lengthy discussion Tannin, MO's author, provided this succinct answer. (Formatted for easier reading)

  1. MO decides which version is older so that it can tell you "Your version is outdated", "Your version is NEWER than that on Nexus" or "Your version is current."
  2. Yes, this makes things complicated in the presence of completely borked version numbers but please let me assure you: MOs version numbering scheme is pretty good in comparison and it adheres to standards, it's the mod authors that don't.
  3. You don't believe that MOs version parsing is good or that it's useful to have an order of version numbers? Then check out the changelog on Nexus and see it break for the most basic and established versioning scheme.
  4. You may not like or want this functionality, but I do and since I had to do the implementation I get to make the choice. You may not like it and you're welcome to argument against it but please also respect that I had my reasons and that I simply came to a different conclusion than you. A simple text field that can be compared for difference only would have been far, far easier for me to implement but I was not satisfied with it.
  5. α or "a" in a version number stands for alpha, β or "b" in a version number stands for beta. This is convention not my invention.
  6. Version numbers that look like these: a.b.c.d, ie.(major.minor.subminor.subsubminor), indicate a specific versioning scheme which is one of the, or even the, most established versioning scheme there is. Companies like Microsoft, Adobe, Bethesda, ... use them (often internally). They are interpreted as four individual integral numbers.

An example of a version number can be shown as:

2.04.4
major version == 2
minor version == 04 == 4
subminor version == 4

The minor version is NOT the decimal part of anything, it is a separate integer number and therefore 04 is the same as 4. If someone writes 2.04.4 and expects it to be interpreted as a single number with 2 decimal dots then he's obviously being silly.