New versions of operating systems often cause a lot of heartache for Infrastructure technologies that run on top of them. As an example, virtualization products are often tied tightly with the underlying OS and supporting newer versions of that OS is never straight forward. Not at Veertu, though.
We started seeing feedback on our twitter channel from users, who were trying to run Veertu on the macOS Sierra public beta and run into issues. This got escalated to our developers and within a very short amount of time, they had identified the root cause and implemented the fix in the codebase. The new version with the fix was then pushed to Apple Store for review and publish.
As I thought about it more, I was really intrigued that how we were able to so quickly support the new macOS Sierra, while other similar solutions were/are still proposing all sorts of workarounds on this.
In fact, I later discovered that the code change that we had to implement, was not even done specific to supporting Sierra. The code change was to fix something that was implemented incorrectly from the very beginning. So, we basically, had to make zero code changes to support macOS Sierra.
This is because system driver APIs often change as Operating System vendors come out with new releases and this often breaks the kernel extensions based tool ecosystem that’s built on top of that. It’s different with Veertu. Veertu is built on top of the hypervisor.framework in user space, which abstracts the underlying macOS dependencies and presents simplified and standard interface. So, while macOS Sierra is a new OS release, the hypervisor.framework interface is still kept the same(maybe even extended to include/expose additional features) and as a result, Veertu works for macOS Sierra with no changes.