The new macOS Catalina 10.15.4 software that dropped this week throws a compatibility message when a kernel extension first loads or is being used. According to a newly published support document on Apple’s website, some kernel extensions will not work in the future.
“Existing software on your system loaded a system extension which will be incompatible with a future version of macOS,” reads a prompt in macOS Catalina 10.15.4. The dialog offers two options: you can dismiss it by clicking the OK button or click Learn More, which loads the aforementioned support document in your default web browser.
Kernel extensions — or “legacy system extensions” in Apple talk — are loadable modules containing third-party code designed to extend the base kernel of an operating system.
Some apps install kernel extensions, which are a kind of system extension that works using older methods that aren’t as secure or reliable as modern alternatives. Your Mac identifies these as legacy system extensions.
Kernel extensions are mostly used to add support for new hardware or file systems, like device drivers. However, some apps take advantage of kernel extensions to add system—wide features, including apps like Adguard and Malwarebytes. Other apps, like Adobe’s Creative Suite used to install third-party kernel extensions to provide features shared across apps in the suite.
With macOS Catalina, kernel extensions are going away in favor of Apple’s DriverKit framework which defines the fundamental behaviors for device drivers on macOS. The company has also provided a new EndpointSecurity framework with which to replace legacy kernel extensions.
Apple’s support document reads as follows:
In 2019, Apple informed developers that macOS Catalina will be the last macOS to fully support legacy system extensions, and we’ve been working with developers to transition their software. By moving beyond these extensions, developers are helping to further modernize the Mac, improve its security and reliability and enable more user-friendly software distribution methods.
Importantly, a final transition date has not yet been set. Not all kernel extensions are currently replaceable with their DriverKit counterparts — hence Apple’s advance warning.
Until the transition is complete, your Mac displays a message when a legacy system extension first loads, and again periodically while the extension remains in use. This gives you advance notice that existing software on your system loaded a system extension that will be incompatible with a future version of macOS:
DriverKit-powered drivers run in user space rather than as kernel extensions, boosting system stability and security. Drivers created as app extensions can be delivered as App Store apps.
If your software has a kernel extension, you are probably already being inundated with customer support concerns about the dialog shown here. It's going to get bad. A significant percentage of our total support case volume now relates to this, less than 24 hours later. 🤦♂️ pic.twitter.com/PtALDgFM58
— Thomas Reed (@thomasareed) March 25, 2020
Bottom line: legacy system extensions continue to work today, it’s just that Apple with the macOS Catalina 10.15.4 update has started warning you that these things won’t be supported in the future, probably as soon as the release of macOS 10.16 this fall.
Apple advises contacting developers of affected apps to learn when a compatibility update might be released. “The developer can also explain how to remove or disable the extension, and the consequences of doing so,” reads the document.