If it was me, I wouldn't have completely ditched the old system. If they're currently on 5.0, instead of moving to 2409 and potentially having a huge problem if they ever went back on the plan (think Windows 3.1 -> 95 -> 98 -> 2000 -> 7 -> 10), they could have just called it 5.2409 instead. If they had a genuine semantics breaking change or major new feature that they're really proud of, they could then bump it to 6.yymm.
maybe got your peanut butter mixed with your chocolate just a little....windows 95 etc, are product names, not version numbers. Windows 95 is version 4 with the last release likely being 4.0.950 C. To rant a little- I wouldnt count on MS to ever name anything well and at least once had 2 different products with the exact same name. They also named one ai product "Recall" which is a very negative name for a product which kind of got recalled ironically.
I'm aware that they are product names, but also very much "versions" in the public mind too. I guess that falls into the difference between build version and major version. People choose a major version for features, and get a build based on that version with the latest fixes but don't generally care what build. Even Dolphin is showing this split with their yymm-patch format for builds between releases.
Ironically, I was going to cite the humorous example of Sun and Solaris - the successor to SunOS 4.5 was identifiable from the OS itself (e.g. uname) as SunOS 4.6, but branded as Solaris 2.6 and older versions of SunOS 4.x were retro-actively labelled as other Solaris versions. They followed that by renaming Solaris 2.6 to Solaris 6 when they released Solaris 7, and again uname used the older format and returned SunOS 4.7.
That is just a fairy tale. Marketing decides the name of the release, and marketing wanted to indicate a clean break. Microsoft never had a marketing idea all on its own, so it did what Apple did: it released Windows X, just like Apple had done with Mac OS X. On top of that, the numbering jump was also a way to indicate this was the last version of Windows. Remember that? Microsoft said Windows 10 was the end of the specific version release of Windows. That survived right until the time their latest attempt at a mobile OS failed miserably and was rolled into Windows development, giving us the immovable taskbar that everybody despises.
> And finally address all the things that were bugging me for ten years.
I can imagine. Looking at the before and after, the refresh is the definite winner. You can see how the old one was essentially an extrude of the front shape, but in the new one it curves nicely into it. The cutout look works really well.
Congratulations to MayImilae and the team of the team on the release.
Applications absolutely can have breaking changes; one that's bitten me is alacritty changing its config file format in a way that was neither forward nor backward compatible. There are also data file format changes, but those are at least usually forward compatible (new app can open old files, though old app can't open new files, which still could be a problem). But this tension is also a reason that I've started to endorse adding one more number to get marketing.breaking.feature.bugfix versions, where the latter 3 are semver but the first one is arbitrary. If you're a company, let the marketing dept decide how to set that, and if you're a community project do what you like; using the year as the marketing version is fine.
It can, but you do need to decide which dimension(s) constitute a breaking change. IMO, the UI replaces the API as the main dimension in user facing applications, so if functionality is removed from the UI, or significantly altered, then that constitutes a breaking change.
It looks like they're using a third number to signify dev builds (which I think git has built-in support for), so also having a third number signify patches could get confusing.
> All subsequent dev builds after a release will be numbers added on to it. For example, 144 commits after 2409 would result in dev build 2409-144.
Also, I don't think leading with the year follows semantic versioning either (?)