Last Week on Your Mac: Did you jump or were you pushed?

Although I’m pleased I’m not the only one here to have upgraded to Ventura last week, it concerns me that some of you weren’t exactly volunteers, and the instrument of your downfall was SilentKnight. I apologise to those who had come to expect that Apple would deliver macOS 13 in a traditional installer app, and clicked on Install All Updates in SilentKnight only to find that updated their Mac to Ventura. Let me explain how that came about.

From the first developer beta-release of Ventura, it was clear that Apple intended to deliver it differently. Instead of coming as the usual 12 GB installer app, it arrived as an update. However, as Apple didn’t announce that, those of us who were aware of what was most probably coming were silenced under our NDA. We also didn’t know just how this would affect regular users.

As it turned out, for those who wanted to upgrade, it ensured a more modest download, and, I think, a significantly quicker upgrade than that from Big Sur to Monterey. But, being delivered and installed as an update, it was also less forgiving. Once you started the update process, there was no turning back. There was no installer app to tell you it was about to upgrade your Mac, nor was there any easy way to opt out before installation started.

As Apple didn’t warn users of this changed behaviour, some were perhaps less attentive than they might have been. Those included some who saw that SilentKnight had updates for their Mac and unsuspectingly clicked on its Install All Updates button. A while later, as those small security data updates seemed to be taking a long time to install, they realised that their Mac was in the throes of upgrading to Ventura.

While I think this new update-upgrade process is a great improvement, for major version upgrades it needs a staging point before installation starts, allowing the user to back out gracefully if it was all a terrible misunderstanding.

As a result, several of you have asked me to change SilentKnight to protect the user from Apple’s lack of forgiveness, and I’ve already worked out how that could work.

SilentKnight faces a big problem: macOS doesn’t provide an API for listing or obtaining Apple’s updates and upgrades. Instead, the app has to rely on the command tool softwareupdate, with its limited range of options. SilentKnight can get a list of all updates available, but not just those that it wants, and I know of no reliable way to eliminate macOS updates or upgrades from that list. Worse, although it can download and install named updates, it can’t install all updates except those to macOS.

If you’ve read its documentation, you’ll know that SilentKnight does provide a means of downloading named updates singly, and several have asked me why it can’t do that automatically. Having looked at this over the years, there’s no reliable way to tell which is which without making serious errors. While the names of the most common updates are normally reliable, there are others that come out of the blue. A good example is the recent Pro Video Formats update that was released around three hours after the most recent XProtect Remediator update. They come every six months or so, and there are also SFSymbols and SFSymbolsAuto updates, and several others. This is all about to become even more complicated as Apple starts using the new rapid security patch system introduced in Ventura.

SilentKnight could parse the list of available updates and assemble them into a popup menu, from which to choose manual installs. Judging by recent experience, that would make it easier for a few users to inadvertently install macOS upgrades and updates, and to omit those they really wanted. By requiring reference to the list of available updates in the app’s window, which includes their size, decisions should be better informed and more deliberate.

I intend to release a new version of SilentKnight on Monday to give you the option to disable installing all updates, and force you to manually install the updates you want. That should eliminate error, and give you the flexibility to ignore what you want to avoid.

Given the continuing problems with errors installing updates obtained from Content Caching servers, I am also going to offer some controls to help you manage those more easily. It looks like it will be some time before Apple manages to get those working properly for all users.

I’ll explain more tomorrow.