Magisk v24.0 release introduces Zygisk, brings along Android 12 support, and more
XDA Senior Recognized Developer topjohnwu‘s Magisk started off as a systemless root method and has evolved over the years into a much more diverse and powerful tool beyond just plain root. But even today, if you need root, chances are that the recommended root method for your device mentions installing Magisk for superuser access. The latest major update of Magisk, which corresponds to the twenty-fourth version (v24), has now arrived at the public beta branch, officially bringing full-blown support for all Android 12 devices wide and large.
The developer announced the new update on Twitter today. Apart from Android 12 support, the next important thing in this release is the introduction of Zygisk (e.g. Magisk in Zygote). This feature unlocks a plethora of tinkering possibilities, as module developers can now run code directly in every Android apps’ process. To streamline the adaptation, topjohnwu has also published the final version of the Zygisk API v2. The documentation and the relevant module template can be found here.
The new build marks the final retirement of MagiskHide. This is not something unexpected, though, as we have already seen the removal of MagiskHide on the Canary channel. Magisk v24.0 doesn’t come with any kind of root hiding feature out of the box, but you can still use third-party modules to circumvent root detection and pass SafetyNet.
Additionally, the centralized Magisk module repository is permanently gone. As a result, it is not possible to download modules from the repo in v24.0. From now on, the Magisk app will solely look for the
updateJson property inside a module and use the corresponding URL to check, download, and install module updates.
Module and root developers are encouraged to read the release notes found over here. The complete changelog of Magisk v24.0 is as follows:
- [General] MagiskHide is removed from Magisk
- [General] Support Android 12
- [General] Support devices that do not support 32-bit and only runs 64-bit code
- [General] Update BusyBox to 1.34.1
- [Zygisk] Introduce new feature: Zygisk
- [Zygisk] Introduce DenyList feature to revert Magisk features in user selected processes
- [MagiskBoot] Support patching 32-bit kernel zImages
- [MagiskBoot] Support boot image header v4
- [MagiskBoot] Support patching out skip_initramfs from dtb bootargs
- [MagiskBoot] Add new env variable PATCHVBMETAFLAG to configure whether vbmeta flags should be patched
- [MagiskInit] Support loading fstab from /system/etc (required for Pixel 6)
- [MagiskInit] Support /proc/bootconfig for loading boot configurations
- [MagiskInit] Better support for some Meizu devices
- [MagiskInit] Better support for some OnePlus/Oppo/Realme devices
- [MagiskInit] Support init.real on some Sony devices
- [MagiskInit] Skip loading Magisk when detecting DSU
- [MagiskPolicy] Load *_compat_cil_file from system_ext
- [MagiskSU] Use isolated devpts if the kernel supports it
- [MagiskSU] Fix root shell if isolated mount namespace is set
- [resetprop] Deleted properties are now wiped from memory instead of just unlinking
- [App] Build a single APK for all ABIs
- [App] Switch to use standard bottom navigation bar
- [App] Downloading modules from the centralized Magisk-Modules-Repo is removed
- [App] Support user configuration of boot image vbmeta patching
- [App] Restore the ability to install Magisk on the other slot on some A/B devices
- [App] Allow modules to specify an update URL for in-app update + install
If you’re interested in trying out the new build on your device, you can download the v24.0 release of Magisk from the link below. In case you face any issues, you can file a bug report on the project’s GitHub repository.