News for hackers. Stuff that matters.
Re:Apple removes Python 2.7 in macOS 12.3 beta by xoa on Friday January 28, 2022 @10:28AM (#30115781)
Sibling post mentions the kext breakage happening as well as another example, but I feel like they've been slipping on this as they've had increasing difficulty matching major features to their unbending yearly release schedule. So more and more (and this is the case with macOS 12 also, see Universal Control) we've seen big headline features announced at WWDC keynotes not manage to make it into the .0, but rather trickle in over the .1 to .3 releases. Once that rubicon was crossed having more other major/breaking changes start sliding into point releases doesn't seem too surprising I guess, even if the cultural slippage is irritating.

Apple probably has to either give up strict semantic versioning for breaking changes, give up their strict release schedule, or be willing to defer announced features that don't make one major version all the way to the next. Something needs to give. Looks like they've decided to go with a "semantic-lite" where breaking changes and major features aren't the rule with point releases but can still happen in old enough/deprecated areas.

It does seem more needless though in cases like this granted, unlike other examples it's not really clear why they'd do this now rather than 12.0. Not as if Python 2.7 was a spring chicken last year either, support ended in 2020 and that was like 11 years after release already? Heck, why not 11.0?

Re:Apple removes Python 2.7 in macOS 12.3 beta by marcellus23 on Friday January 28, 2022 @10:53AM (#30116181)
What am I missing? When did Apple ever state they used semantic versioning in the first place?
Re:Apple removes Python 2.7 in macOS 12.3 beta by Wowfunhappy on Friday January 28, 2022 @11:15AM (#30116561)
It's not necessarily strict semantic versioning. However, Apple has always had a distinction between major and minor updates. Minor updates are installed on most Macs automatically, whereas major ones are not. Major updates have longer developer preview and public beta periods. Major releases continue to receive security patches for a couple of years.

If Apple isn't going to follow any types of rules, then what's even the point?

Re:Apple removes Python 2.7 in macOS 12.3 beta by hbn on Friday January 28, 2022 @12:16PM (#30117520)
I kinda view them as using a modified version of semantic versioning where, if we take A.B.C, the normal roles of A and B are combined into B, and A is the big annual release with the media hype and advertising and shiniest features at the forefront.

Meaning A and B bumps could be breaking, but C is still just for bugfixes.

Sure it's not a great system from the technical side of things, but it shouldn't be shocking that Apple puts marketing first.

Re:Apple removes Python 2.7 in macOS 12.3 beta by marcellus23 on Friday January 28, 2022 @11:48AM (#30117122)
> It's implied in the fact that Apple has different types of updates in the first place.

As far as I understand, Semantic Versioning is not a synonym for "versioning scheme", but refers to a specific scheme (https://semver.org). So I don't understand how Apple having any versioning scheme implies that it must be semver.

Re:Apple removes Python 2.7 in macOS 12.3 beta by Wowfunhappy on Friday January 28, 2022 @01:15PM (#30118342)
I edited my post slightly. I never meant to imply that Apple follows strict semantic versioning—and in fact, they clearly don't, since they stayed on one major release for well over a decade.

It's okay if Apple's "minor releases" occasionally have breaking changes. But I don't think "wait until the next major release to remove an entire language runtime which has been built-in for 15+ years" is too much to ask.

Re:Apple removes Python 2.7 in macOS 12.3 beta by Kalium on Friday January 28, 2022 @12:05PM (#30117375)
Semver is a particular set of rules for defining what is a patch level, what is a minor update, and what is a major update. Before semver, these ideas still existed, but different groups had different ideas of what they meant.

That is perhaps still true in some large companies.

Re:Apple removes Python 2.7 in macOS 12.3 beta by diebeforei485 on Friday January 28, 2022 @11:04AM (#30116379)
> it's not really clear why they'd do this now rather than 12.0. Not as if Python 2.7 was a spring chicken last year either, support ended in 2020 and that was like 11 years after release already? Heck, why not 11.0?

I don't think introducing breaking changes in 2020 (with the world turned upside down) for 11.0 would have been a good idea. The same reasoning applies to 12.0, many countries were going through a Delta wave without having much vaccine availability this past summer.

I think Apple has been very reasonable about this - they've been clear that 2.x is going away, they have been extremely accommodating of changing circumstances, and 2.x can still be installed manually after this change.