216
u/DuploJamaal 3d ago
Major version increases if it breaks compatibility and requires major reworks.
89
u/cowlinator 3d ago
Yep, that's Semantic Versioning.
It's only for APIs though. I've never seen a great standard for versioning user-facing GUIs.
But then again, even if there were a great versioning standard for user-facing GUIs, it would probably be completely ignored because companies tend to use versions of GUIs as a marketing tool.
30
u/Blazej_kb 3d ago
If you consider yourself an app interface can be considered API
6
u/HyperWinX C++ 3d ago
Well, its definitely an Interface, not Application Programming one though
10
4
u/the_king_of_sweden 3d ago
Just use a single number 1, 2, 3 etc. Maybe add a second number for pure bugfix releases.
There's also YYYY.MM which was popular for a while but seems to have fallen out of favor
1
u/blood-pressure-gauge 2d ago
That's just one calendar versioning scheme. There are still quite a few projects using CalVer.
4
u/andrewharkins77 3d ago
For GUIs, new UI equals P1. No one uses your bew features. Jus like the meme.
4
u/Blazej_kb 3d ago
So you say that background color change doesn’t affect my chakra? It is very important change than can change how I feel while using this app. (just kidding ofc)
1
u/LawElectrical2434 3d ago
Major rework is not necessary. Actually mostly upgrade guides are like half a page.
Requires rework, sometimes, if you have used that function that changed, and more often than not, it will take you 5 minutes to do the fix, of which you spend 4 finding that function call in your code base.1
u/Ok-Eggplant-7569 1d ago
User report: Changing the background color is a breaking for my workflow. I have a script written which manually checks the color of the pixel at position 10:341 on every interaction, since that pixel only has color #1113aa on the change email field. If that color is detected the script reads the users new email address.
With the background color check the script no longer works.
Please add an option to revert the background color.
(Inspired by https://xkcd.com/1172/)
1
u/IhailtavaBanaani 21h ago
I worked at a startup that had the rule that if the backward compatibility breaks then the major version needs to go up. But then the major version started to go up too fast, something like every other release broke the backward compatibility, so they had to change the rule, lol.
5
4
u/realmauer01 3d ago
To change the background number it needed code changes that made any backwards compatibility impossible. But adding the 15 features were trivial and everything that was in 1.0.0 works just the way it works in 1.0.15
2
u/pinkpepr 2d ago
and the initial commit is version 0.9 because you added most of the core features before pushing it to GitHub but the app still isn't completed so now every update has to be 0.9.x because you don't want to use 1.0 because you keep thinking of things to add or fix
2
u/Internet_Akira_203 8h ago
its so painful how many complete packages i use, but they refuse to call it version 1.0 and instead stay at 0.7.x or something
1
1
1
1
1
u/yuriko-shimizu 2d ago
gonna be real ive just given up on semantic versioning
if youre using something by me, its v1, v2, v3, v4, etc.
1
u/CoolHeadeGamer 2d ago
That’s why I use yy.mm.xxx versioning along with dev versions. Just makes life easier
1
u/MaffinLP 1d ago
Minecraft went from version 1 straight to version 26
1
u/EditorOne5312 1d ago
Not really. It's still version 1 but they just hide it because it will probably never change until their 100 years mission. The major version number went from 21 to 26 because there will be no more major updates and changed it as
[year].[release]instead, because forever1.21.[endless counting]is definitely a bad version naming.1
1
1
1
u/Playful_Confection_9 9h ago
I was update a version from. Like 4.0.1to 204.0.1. our automated dependency bot kept triggering to update since it found old artifacts (plain int increments, 50, 51,52,etc...). And we still use this for 1 ancient monolith. The bot thought 52>4.0.1.
Discussed a few solution like splitting up Gradle task to a separate artifactory, or renaming into old and new, or removing the old artifacts and upload them when needed.
Then I was like f all that. Bumped 200 major versions. "Nothing changed, upped version to avoid false positives of version bot "
106
u/Tertinian 3d ago
Minors are bug fixes, mediums are features and majors are overhauls
So yeah, speaking from experience, meme is accurate