Hi @sbaeurle,
I'm afraid we'll be sticking to following SemVer2 for the foreseeable future. That's a very well-documented standard that is machine readable and predicable. Microsoft's versioning scheme is anything but that.
That said, Microsoft's container tagging isn't at all consistent, as you can see: https://hub.docker.com/_/microsoft-windows
The operating system versioning is even more bizarre, and Microsoft abandoned any sensible Major/Minor scheme in the late 1990's. For example, Windows 7 was 6.1, Windows 8 was 6.2, Windows 10 is 10.0, and Windows 11 is.... 10.0. S Except when it's aliased as 23H2 something. Servers are.... no one really knows.
Then add to that patching, which may or may not impact the version number.
To clear up this confusion, we recommend you use SemVer to make versions of your internal base images, based on some Microsoft build.
This is the mapping scheme we recommend:
- Major is the product number (
19
for Server 2019, 22
for 2022)
- Minor is the "service pack" version (
0
for first version, 1
for 1903, etc)
- Patch is your internal revision number of that image (when you install patches, etc)
Another "tip" is overloading digits. For example, if you see a case where you will want to "revise your patches", then just increment your patch version by 10
. So 0, 10, 20, 30, 40. Then you can "patch" 10 by going to 11, 12, 13.
Hope that helps
Cheers,
Alana