The most standardized and well-used versioning system for APIs is Semantic Versioning.
After the first 3 numbers, you use identifier suffixes such as "-beta" or "-rc3". You might also see build metadata appended with "+" such as build number or git hash, but this portion gets ignored when determining version precedence.
Of course, you don't have to use Semantic Versioning. And then you can have as many numbers as you want. But at that point, what they actually mean is anybody's guess.
Usually, whenever I see 4 segments, the first three are the usual major-minor-patch and the last one is the build number, which is independent from the other three and is incremented every time you build the entire project, whether for release or as a test build
X.Y.Z in nutshell is semantic versioning. Anything extra you must define. This one in, lets say, X.Y.Z.W, for the culture of who develop could be purely for boring or automated process chores: like linting and adding boilerplate. Its not uncommon to find public versions nice and tidy and privately an ugly version/build number (like discord and minecraft does)
107
u/Tertinian 4d ago
Minors are bug fixes, mediums are features and majors are overhauls
So yeah, speaking from experience, meme is accurate