3 ms·
Apple operating systems are on a semantic versioning system with regards to API. The idea is that API only break on the major version update which is released e
by dwaite 7y ago
Apple operating systems are on a semantic versioning system with regards to API. The idea is that API only break on the major version update which is released each year (ignoring that a the OS X version has a "10" in front of it).
Non-breaking API additions and userspace features which do not impact API can be rolled out throughout the year though. There are also changes to private API throughout the year since the Apple apps using them are distributed with that operating system release.
Generally, API grow up as private API that get adopted by other Apple apps, then may get promoted to public once they are stable and maintainable.
IMHO, the big issue with iOS 13 and Catalina this year was that there were several huge developer features and internal system refactoring which were maturing during beta. This slows down everyone who is dependent upon those features. The solution there is to require public API to have a higher level of maturity before that beta 1 release.
I disagree that Apple is waterfall, because their release dates are fixed, and they will change what will be delivered to make that date. I don't know if a twice annual major feature releases (and corresponding WWDC summer and WWDC winter) fixes anything, or if it just makes the life of third party developers harder.