Yesterday prolific XDA developer topjohnwu released a new stable version of Magisk (v13.1) which includes all the changes from the beta release v13, like Android O support and a new SafetyNet workaround. With the latest update, you can go back to using the more advanced features of Magisk, while still hiding root. But most users won't notice any significant differences in this recent release, other than things just working. With all the recent SafetyNet changes, that's a fantastic achievement.
The changes in v13/13.1 are in response to adjustments by Google last month that triggered SafetyNet if you were using Magisk outside core-only mode. Topjohnwu worked out a fix pretty quickly, and v13 sat in beta for a few weeks, but now things are ready for prime time. The biggest change — which might have something to do with the new SafetyNet workaround — is that now MagiskSU, magiskhide, resetprop, and magiskpolicy are all one binary. And, if you are running Android O, v13.1 has been tested to work on DP3, so you can have some root with your developer images.
Google's recent changes to SafetyNet may have worked around Magisk's ability to hide root outside core-only mode, but as of the latest version, that's no longer a concern. While it would certainly be nice if every app simply allowed root to be a user's prerogative, this update ensures that we can make that decision for ourselves. Now, in addition to root, you can continue to make use of modules and the other additional features provided by Magisk, all while escaping SafetyNet detection.
You can download the latest recovery flashable zip image over at the XDA thread for Magisk. If you already have Magisk installed, to update you just need to download the latest version of the Magisk Manager APK, which is also included over at XDA, and update things inside the app. You may need to re-toggle Magisk Hide before SafetyNet inquiries are passed.
The full changelog (which includes the v13 changes) is below:
- [General] Merge MagiskSU, magiskhide, resetprop, magiskpolicy into one binary
- [General] Add Android O support (tested on DP3)
- [General] Dynamic link libselinux.so, libsqlite.so from system to greatly reduce binary size
- [General] Remove bundled busybox because it casues a lot of issues
- [General] Unlock all block devices for read-write support instead of emmc only (just figured not all devices uses emmc lol)
- [Scripts] Run all ext4 image operations through magisk binary in flash scripts
- [Scripts] Updated scripts to use magisk native commands to increase compatibility
- [Scripts] Add addon.d survival support
- [Scripts] Introduce util_functions.sh, used as a global shell script function source for all kinds of installation
- [MagiskBoot] Moved boot patch logic into magiskboot binary
- [MagiskSU] Does not fork new process for each request, add new threads instead
- [MagiskSU] Added multiuser support
- [MagiskSU] Introduce new timeout queue mechanism, prevent performance hit with poorly written su apps
- [MagiskSU] Multiple settings moved from prop detection to database
- [MagiskSU] Add namespace mode option support
- [MagiskSU] Add master-mount option
- [resetprop] Updated to latest AOSP upstream, support props from 5.0 to Android O
- [resetprop] Renamed all functions to prevent calling functions from external libc
- [magiskpolicy] Updated libsepol from official SELinux repo
- [magiskpolicy] Added xperm patching support (in order to make Android O work properly)
- [magiskpolicy] Updated rules for Android O, and Liveboot support
- [MagiskHide] Remove pseudo permissive mode, directly hide permissive status instead
- [MagiskHide] Remove unreliable list file monitor, change to daemon request mode
- [MagiskHide] MagiskHide is now enabled by default
- [MagiskHide] Update unmount policies, passes CTS in SafetyNet!
- [MagiskHide] Add more props for hiding
- [MagiskHide] Remove background magiskhide daemon, spawn short life process for unmounting purpose
- [Magic Mount] Ditched shell script based mounting, use proper C program to parse and mount files. Speed is SIGNIFICANTLY improved
There's a bug-fix release out now, 13.2, that fixes a few issues you may have run into on 13.1. Some Marshmallow devices were having a bit of trouble getting root, as well as a few other miscellaneous problems with things like MagiskHide. You can download the latest version the same way as before, either as an update via the Magisk Manager app or over at XDA.
Magisk developer topjohnwu would also like to remind module developers to update/migrate their projects to the v4 template format, as earlier v3 modules will be broken in a future release.
- XDA Developers