4 ms·
Ubuntu is the first place I encountered this convention. You might think that Ubuntu 22.04 and 22.10 are closely related because the vast majority of software u
by TillE 3y ago
Ubuntu is the first place I encountered this convention. You might think that Ubuntu 22.04 and 22.10 are closely related because the vast majority of software uses something that loosely resembles semver, but no, they're two different major releases. Very confusing.
- probablynish 3y agoThis is the first time I realized that Ubuntu version numbers were linked to dates. Mind blown.
- Tijdreiziger 3y agoYes, and they always end in .04 or .10, because Ubuntu always releases in April and October.
- deciduously 3y agoExcept that one time it came in June - Dapper Drake was 6.06.
- joshxyz 3y agosame lol my understanding too is .04 memans lts and .10 means current like the nodejs release cycle it's relieving to realize 04 and 10 are the months haha
- mkl 3y agoOnly every second .04 is an LTS release. 22.04, 20.04, etc. https://ubuntu.com/about/release-cycle https://ubuntu.com/about/release-cycle
- goku12 3y agoYour comment made me look at the history of both Ubuntu and Semver. It looks like the earliest specification of Semver dates to 2011, while the first release of Ubuntu was in 2004. I remember being confused about how to version code until I encountered semver (Ubuntu scheme was the one I used for a short while). It's possible that Canonical was faced with a similar choice and decided to make one up. While schemes like semver did exist before it, they were not so ubiquitous and didn't have a well-defined meaning like semver does.
- ako 3y agoWas going to comment that sem versioning is much older than that, e.g., if I remember correctly version 6 and 7 (early 90s) used semver. Turns out that oracle also switched to year based versioning, thought it was still semver: https://docs.oracle.com/en/database/oracle/oracle-database/19/upgrd/oracle-database-release-numbers.html#GUID-1E2F3945-C0EE-4EB2-A933-8D1862D8ECE2 https://docs.oracle.com/en/database/oracle/oracle-database/1... Indeed confusing…
- goku12 3y agoI started coding before semver was defined. There was no official name (so nothing to search with) and people had a vague idea about how to do it. That ambiguity meant that everyone did it differently and sometimes completely wrongly. The single name 'semver' and the document attached to it was a silent revolution. So many tools we take for granted (like cargo) are designed around it.
- kergonath 3y agoMajor.Minor.Patchlevel was used in the 1980s by the vast majority of Open Source or Free projects. This was a couple of decades old when Ubuntu was first released. The limit between major and minor is blurry, but we did not have to wait for a bunch of people to write a manifesto to use sensible versioning schemes.
- orra 3y agoFair. But, at least later on, that wasn't universal. There's x.odd for development releases, and x.even for proper releases. GNOME and Linux used to do this. Also it feels like a lot of projects used to use 0.x numbers, even when they were widely used and stable!
- kergonath 3y agoIndeed. And then there is the TeX versioning scheme.
- 3y ago
- littlestymaar 3y agoSemver makes sense for libaries, but not much for user-facing applications.
- l72 3y agoSort of. For a desktop application, you are right, but for a server application like NextCloud or Jellyfin, semver or something similar can be really nice. If I'm running ServerTool 2.2.0, and 2.2.1 is available, I immediately know that is a bugfix release and should be minimal to roll out (shouldn't have any breaking changes, data schema changes, etc). If ServerTool 2.4.0 comes out, that means I probably need to look at the changelog to see if there are any special upgrade instructions or gotchas, however, it is probably pretty safe, and shouldn't have huge changes for users. I wouldn't expect any extensions or integrations to break either. But if ServerTool 3.0.0 comes out, I definitely am going to test out in in a test instance and validate the upgrade. Any extensions I have probably also need to be upgraded to support the new version, so I may have to wait to deploy it. It probably also has UI/UX changes that affect my users, so there may be training that needs to happen. Again, it really depends on the tool on what versioning system they should use.
- patmorgan23 3y agoSemver makes sense for things that have dependents, that's always the case for a library, sometimes it's the case for applications as well.