How to properly number mod versions

So I have seen this come up in a few threads so thought we should have a discussion about it. What are the generally accepted rules for the correct numbering of mod versions?

Personally, I think you either number them based on the version of the game you require, or number it any old how and be sure to state (repeatedly…) which version it’s for.

For example, I’ve got my Curse Client up with my WoW mods listed, plus WoW itself:

World of Warcraft:
AtlasLoot Enhanced: v7.07.03
clcinfo: v1.5.40.003
Deadly Boss Mods: 5.4.16-10-g554775d

AtlasLoot & clcinfo are just following their own numbering scheme, whilst the first half of the DBM numbering shows you which version of WoW it’s for.

So for SH, I guess you could do either of the following:

v0. = Stonehearth v0.1.0 (release 99), mod v1.23.45.6
v1.23.45.6 = Mod v1.23.45.6, need info elsewhere for the version of SH it runs on

1 Like

For RP, I’ve used 100 * (build number that the mod was last updated for) + (internal version). For example, the first RP for r63 would have been 6300. Additionally, but then dropped, even numbers were public releases (6302, 6304, 6308) while odd numbers were developer previews. The very early releases for a new build were 100 * (builder number the mod was supposed to run on) - 1, so for build 63, the alpha of RP would have been 6299. Then going backwards, I guess, but that never happened.

Mod numbers should be short and precise, and not going over the usual major.minor.patch [build] numbering. If we take other communities as examples, I suppose most mods won’t make it past the first major anyway (if they even get to it), so most will be stuck at 1.x or 0.x, where usual releases would be 0.1, 0.2, and sometimes maybe 0.2.3f. Major updates would be really really different, with lots of code changes that might break other addons. Minor releases would introduce or change some functionality, while patches should just fix stuff within a minor version. Build numbers are optional and I don’t think that they would get used. I would rather use a new patch than a letter, 1.2.15 is better distinguishable from 1.1.15 than 1.25.5f from 1.15.5f, especially when you’ve trained your users to “just look for the last digits anyway”.

For details for software in general, see Wikipedia on that topic. If we take Minecraft or any other modable game as example, I think in the end the agreed upon numbering system will be “whatever the mod author fancies”.


I like the system of:
“Large Stuff, Big Changes”.“Small Additions”."Bug Fixes"
If that makes any sense.