If you upgraded to macOS Catalina 10.15, you may have seen a warning message regarding kernel extensions. Apple even depreciates some in macOS 11 Big Sur.
The message refers to “legacy system extensions” and says that they are “not as secure or reliable as modern alternatives.” Apple replaces some with one Endpoint security framework. In a support page Apple calls the change:
In 2019, Apple informed developers that macOS Catalina will be the last macOS to fully support older system extensions, and we worked with developers to port their software. By going beyond these extensions, developers are helping to further modernize the Mac, improve security and reliability, and enable more user-friendly software distribution methods. No definitive transition date has yet been set.
The following kernel extensions are deprecated and Apple support page tells developers which frames to use instead.
- KAUTH: Use EndpointSecurity
- Network filter: Use network extension
- IOHID Family: Use HIDDriverKit instead
- IOUSB Family: Use IOUSBHostFamily or USBDriverKit
- USB network: use USBDriverKit (for USB KPIs) or NetworkingDriverKit (for IONetworkingFamily KPIs)
- USB serial: Use USBDriverKit (for USB KPIs); SerialDriverKit or USBSerialDriverKit (for IOSerialFamily KPIs)
- Vendor-specific IPC USB: Use USBDriverKit or IOUSBHost (for USB KPIs) or DriverKit for communication channels
This decision aims to increase the safety of users, because core is a sensitive part of the operating system that controls everything else. It is a good thing to keep third party applications out of this area.
Note: This article was originally published March 26, 2020. It has been updated with new information.