I cannot be the only one who pointed out that code like this could be prevented by any commercial static analysis tool. (I was at Apple when it happened, but have no inside knowledge of how, which is why I can comment on it.) This was not simply a missed test case there should have been an entire section of the test plan devoted to verifying expected error reporting when signature verification failed under various circumstances and configurations. Goto Fail, for example, would never have happened with an old-fashioned test plan in place.
On the other hand, some server-based apps, including the New York Times and O’Reilly, started refusing to talk to iOS 10. iOS 11 also removed support for 32-bit apps, including my favorite, the Talking Shorter Oxford English Dictionary.MacOS 10.14 removed both good ad-blocking in Safari (i.e., an API that permitted “Block This Ad”) and the ability to manage your iPhone apps from your Mac.The last good version of Microsoft Word (or at least the last one I was willing to pay for) is 2008, before the user interface got cluttered up. MacOS 10.15 has removed support for 32-bit apps, some of which are better than their successors.But nowadays Apple is willing to remove functionality from newer OS versions, and since around the time of Snow Leopard, both the software quality and æsthetics sometimes get worse rather than better:
There was a time when it made sense to upgrade confidently and blindly to the latest OS version from Apple, at least if it didn’t end in “.0”. Due to a combination of marketing imperatives, lack of respect for customers and testers, and ignorance of tradition, we are losing that. Computer software and hardware used to get monotonically better.