Gotta know, are you serious or joking here? Follow up question: are you a developer and have you ever worked on a medium+ sized project? The amount of dependencies you end up with is astounding, you can’t just “know” when all those APIs changed, that would be a full time job just to stay on top of. And that’s not even taking into consideration transitive dependencies. If a library doesn’t use semantic versioning, 99% of the time it’s correct to avoid it just to save yourself the headache.
Semantic versioning. If I have 1.0.0 and you release 1.1.0 I can be pretty confident it’s safe to update. If you release 2.0.0 I need to read the release notes and see what broke.
If I have version July2023 and you release August2023 I have no information about if it’s safe to update. That’s terrible. That’s really bad.
This is for dependency management and maybe apis more than OSs, but in general semantic versioning is a very good system. It should be used often.
I’m partial to semver where it makes sense and date based releases where it doesn’t. At my work we use <year>.<month>.<version> like 2023.7.v2 for template releases but semver for apps with APIs and such
X is for major overhauls. Y is for a new individual feature added or dramatically reworked, Z is for bug fixes, updates and polish.
Like Blender is currently on 3.6. They had a dramatic major program wide overhaul a few years ago. And since then have been adding new features and reworking old ones in major 3.X releases, and occasionally have smaller updates and fixes in between, giving us 3.X.Y updates.
The only thing I don’t like about that versioning system is the ambiguity that can sometimes arise due to different interpretations of what the numbers after the first dot mean.
You could either say:
It’s a decimal system, therefore 3.4 is bigger (comes after) 3.13. (3.4 > 3.13) or,
The numbers after each dot are independent, therefore 13 is bigger than 4, so 13 is the newer release.
It’s usually fairly obvious from changelings but every now and then I get tripped up.
I thought Linux Mint did this, but apparently they’re kinda fuzzy about it? Which was not great to learn when I went to update an old laptop, and briefly thought the project had just died.
I had to type this three times because Lemmy closes the comment box and dumps whatever you had typed, if you upvote another comment while it’s open. That’s objectively terrible.
I had to type this three times because Lemmy closes the comment box and dumps whatever you had typed, if you upvote another comment while it’s open. That’s objectively terrible.
Yikes, that is terrible. What client are you using?
Everything should be date-based name releases.
If it’s released April, 2023 it should be 23.04 or similar.
Other schemes are arbitrary.
Change my mind.
How would you differentiate between versions with major api breaks?
Shhh, they don’t know what that means, let them live in bliss
Lol. Developers just need to know what date the api changed. Viola.
Gotta know, are you serious or joking here? Follow up question: are you a developer and have you ever worked on a medium+ sized project? The amount of dependencies you end up with is astounding, you can’t just “know” when all those APIs changed, that would be a full time job just to stay on top of. And that’s not even taking into consideration transitive dependencies. If a library doesn’t use semantic versioning, 99% of the time it’s correct to avoid it just to save yourself the headache.
Semantic versioning. If I have 1.0.0 and you release 1.1.0 I can be pretty confident it’s safe to update. If you release 2.0.0 I need to read the release notes and see what broke.
If I have version July2023 and you release August2023 I have no information about if it’s safe to update. That’s terrible. That’s really bad.
This is for dependency management and maybe apis more than OSs, but in general semantic versioning is a very good system. It should be used often.
Alright I think I saw been somewhat convinced by this. But I also think the date should be included in some way.
They both serve different purposes
KDE Plasma does its versioning to follow QT versioning, which does its versioning in that way to signify API breaks.
But for something else like, say, the Linux kernel, which does not break compatibility in that manner, date-based would make more sense.
Marketing version (23.04 or just 23) and semver (3.11.3)
Change my mind
I’m partial to semver where it makes sense and date based releases where it doesn’t. At my work we use <year>.<month>.<version> like 2023.7.v2 for template releases but semver for apps with APIs and such
I really like X.Y.Z
X is for major overhauls. Y is for a new individual feature added or dramatically reworked, Z is for bug fixes, updates and polish.
Like Blender is currently on 3.6. They had a dramatic major program wide overhaul a few years ago. And since then have been adding new features and reworking old ones in major 3.X releases, and occasionally have smaller updates and fixes in between, giving us 3.X.Y updates.
The only thing I don’t like about that versioning system is the ambiguity that can sometimes arise due to different interpretations of what the numbers after the first dot mean.
You could either say: It’s a decimal system, therefore 3.4 is bigger (comes after) 3.13. (3.4 > 3.13) or, The numbers after each dot are independent, therefore 13 is bigger than 4, so 13 is the newer release.
It’s usually fairly obvious from changelings but every now and then I get tripped up.
For versioning I always viewed the numbers as independent from each other, just like with ip addresses.
somehow i agree with you.
I thought Linux Mint did this, but apparently they’re kinda fuzzy about it? Which was not great to learn when I went to update an old laptop, and briefly thought the project had just died.
I had to type this three times because Lemmy closes the comment box and dumps whatever you had typed, if you upvote another comment while it’s open. That’s objectively terrible.
Yikes, that is terrible. What client are you using?
Lemmy.world in a current web browser.
Tesla updates basically use that format, it’s pretty nice imo. “year.week.revision”, so for example 2023.29.3
AFAIK only Unity does this
I’ve seen many projects do it, Ubuntu, KDE Applications (not Plasma itself), and Helix are the first ones that come to mind