Maps keep changing, and the problem is that people keep playing the old build. Nothing in a StarCraft lobby lets you force an update.
Bumping the version number makes the save code do it for you. A new build loads codes from every earlier one, but a code saved on the new build will not open on an old one. Once a player saves on the new version there is no going back.
The leaderboard accepts codes from the latest version only, so a standing always reflects the map as it is now.
| The map version number | The number that governs code compatibility. A new build loads codes from every earlier version, but a code saved on the new build will not open on an older one. |
|---|---|
| The version shown in game | What is printed on screen verbatim - type “2.00” and “2.00” is what appears. Purely cosmetic, unrelated to compatibility. |
| The leaderboard | Always accepts the latest version only. Older codes keep loading in the map itself, but never reach the leaderboard. |
Accepting old codes means the map tries several interpretations of each code in turn, and the number of tries grows with every version you keep. There is a cost hiding in that.
Each interpretation has a tiny chance of its checksum matching by accident. So a perfectly good old code is occasionally claimed by the wrong one and decodes - not to an error, but to a completely different set of values that happen to be in range. With three interpretations that is measured at roughly one load in 20,000 to 40,000, and every extra version you accept raises it a little.
This is not a bug to fix, it is what backward compatibility costs - which is the argument for refusing versions past some age rather than accepting them forever. It is also worth knowing before a player reports it, because "sometimes my character loads wrong" can be this.
