[Magisk] topjohnwu:
2017.3.31 Magisk V12.0

The major version bump should label this release as a stable release (at least this is what I hope)

This release is thoroughly tested by all my testers, especially focusing on Samsung devices

Unless major issues, the next release should be a complete new redesign, and requires more time, more info later

The FAQ in OP is updated, please check them out!!!

Samsung, Samsung, oh Samsung

My previous release was widely criticized for breaking tons of Samsung devices, the rating on Play Store also reflected this fact

Thanks to helpful testers and developers, we ironed out all the quirks of Sammy, and in addition added more Samsung specific features.

One is adding proper support for Samsung permissive kernels. Another is faking KNOX to 0x0 if MagiskHide enabled.

Is that good enough to compensate my mistakes in the last release? :p

Sepolicy Live Patch Moved

Another critical update is that the sepolicy live patching is now moved from the post-fs-data mode to the service mode.

This decision is done due to the fact that on some devices (e.g. Samsung), there are too much to patch, which greatly delays the bootup time if the live patching is done in a blocking stage. However, this will require some updates for the minimal sepolicy rules.

The minimal patch is now a little more complete, which requires 20-80KB of ramdisk size (previously 1-4KB). Still not large to be honest.

However, this makes post-fs-data mode NOT completely unrestricted. post-fs-data mode can still do any file related operations, setting system props etc., a lot more than normal users would use. However, service mode would be guaranteed to be executed AFTER the full sepolicy patch is done.

It is recommended to run most scripts in the service mode (service.d/service.sh), except a. mounting files; b. patching system props; c. time critical operations

Magisk Core Only Mode

People complain that Magisk has "too many features", they don't want to use such "complete" solution.

Here I introduce Core Only Mode. It can be enabled in the new Magisk Manager.

What will still be started: MagiskSU, post-fs-data.d, service.d, (if enabled: MagiskHide, systemless hosts, systemless busybox)

What will not be started: Cache (post-fs) mounts, magic mount (system mirror etc.), all modules, all module scripts

So it literally limits Magisk to root + boot scripts. MagiskHide is still there for those who want some Mario Run lol.

Say Goodbye to Outdated Modules

This day finally comes. All modules on the repo that aren't using the latest template (v3 for now) are now hidden.

This not only guarantees that the modules are using the latest scripts, but also a nice way to filter out modules that are no longer maintained by the uploader.

You have to add/update template=(ver) in your module.prop. Magisk Manager will not know if you only updated the scripts

Upcoming Features

Here are some planned features (sorted in priority)

Magisk Manager resetprop GUI

MagiskSU multiuser support

Unified Magisk daemon: As stated before, I'm planning to write Magic Mount in code to achieve more efficiency and features.

All current Magisk features (magiskpolicy, magiskhide, resetprop, superuser, magic mount) will be in a unified daemon

Pixel (XL): Some developers has done some progress, I'll contact them and sort things out

Android O: I bought a Nexus 5X now, finally got some O love

Some details are changed in v12.0, I'll update the documentation (wiki) soon.