What actually happens is this: Apple works in secret on the next version of macOS. Apple makes changes in the next version of macOS that break an app on the internal list of "do not break" apps. But Apple can't tell the app developer about this, because the changes in the next version of macOS are secret. So Apple goes ahead and patches the apps to maintain compatibility. In fact, Apple is so secretive that it may never tell the app developer that their app has been patched by the system frameworks, much to the frustration of the app developers themselves.
It seems less like these apps were "buggy" and more like Apple broke backwards compatibility and internally applied some workarounds to make the most popular apps continue working without intervention, while developers of less popular apps were forced to deal with the compatibility breakage themselves.
> Apple’s using the compatibility system to patch other things/change behaviour for specific system apps. Shouldn’t that be done via, say, method swizzling by the app itself, instead of in the framework?
I can see internal discussions like in any other company, along the lines of: we don't have time or resources or budget to fix our app for the new version of the OS. The framework team does because they have to test and fix third party apps, they fix our app too. Then this becomes normal.
I’m surprised to see a couple of Panic’s and Omnigroup’s apps on the list. I’ve always looked at those two companies as the favored children of Apple Development. The kind of folks that stay up late to be the first to release updated apps for the new OS.
1. Some apps are open source, why not just send a PR?
2. Most apps are actively developed, why not just send a report?
I’d understand this 20 years ago when updates weren’t frequent, or if software was rarely updated. But patching Firefox in your OS feels completely unnecessary.
What actually happens is this: Apple works in secret on the next version of macOS. Apple makes changes in the next version of macOS that break an app on the internal list of "do not break" apps. But Apple can't tell the app developer about this, because the changes in the next version of macOS are secret. So Apple goes ahead and patches the apps to maintain compatibility. In fact, Apple is so secretive that it may never tell the app developer that their app has been patched by the system frameworks, much to the frustration of the app developers themselves.