Releases: topjohnwu/Magisk
Magisk v20.3
Fix magiskboot
crashing when dealing with lz4_legacy
format
Full Changelog: here
Magisk Manager v7.5.1
manager-v7.5.1 Fix sk strings
Magisk v20.2
Happy New Year! Let's start 2020 with a new Magisk release :)
Pre-Init sepolicy Patches for Modules
Magisk v20.2 add support for modules to include its own custom sepolicy patches. Developers used to use boot scripts along with the magiskpolicy
tool to do live sepolicy patches; however, this method leads to numerous issues as Android is no longer designed to allow live sepolicy patches, and on some devices (e.g. Huawei) this method is outright inapplicable.
To address this issue, Magisk allow module devs to create a new file called sepolicy.rule
in their modules. The module installer script and Magisk daemon will make sure this file is stored in somewhere accessible pre-init to allow magiskinit
to do its job every time your device boots up.
New Module Installer Format
The old template is actually pretty convoluted: developers are expected to implement specific callback functions in their install.sh
, and the zip file structure does not directly represent how modules are actually stored on your device. The new module installer format makes creating new modules very easy, but still give experienced developers tons of freedom to do anything they want in the installation process.
For details regarding sepolicy.rule
and the new module installer format, please read the updated Developer Guides. Note that the old "Module Installer Template" is obsolete; creating a Magisk module no longer requires a "template" as it is now a straightforward process.
Full Changelog: here
Magisk Manager v7.5.0
manager-v7.5.0 Add v7.5.0 changelog
Magisk v20.1
Lots of bug fixes from v20.0, and some cool new features!
Updated Magisk Manager Hiding
Starting with Magisk v20.1 paired with Magisk Manager v7.4.0, a new hiding mode is introduced for Android 9.0+. On supported devices, Magisk Manager will download and customize a heavily obfuscated stub APK and use it as a replacement. The stub app will then download the full app into its private internal data, then dynamically load and run the actual full Magisk Manager.
Note, not all Android 9.0+ devices will be able to use this feature. To use an obfuscated stub as Magisk Manager, the Magisk daemon will have to rely on a special way to communicate with the app, and some OEMs (most likely Chinese manufacturers) block certain broadcasts, breaking the communication channel.
Magisk Manager will verify compatibility before it uses stubs to hide itself on Android 9.0+. The verification relies on Magisk v20.1+, which means you have to fully upgrade and reboot in order to opt in this feature. If you are already running a hidden Magisk Manager, restore and upgrade Magisk Manager, upgrade Magisk and reboot, then re-hide the app.
For those incompatible with the hiding-with-stub feature, there are also a few updates that everyone, regardless whether using stubs or not, can enjoy:
- You can now customize the app name of the repackaged Magisk Manager
- Magisk Manager will generate new keys to sign the repackaged APK to prevent signature detection
Full Changelog: here
Magisk Manager v7.4.0
manager-v7.4.0 Add v7.4.0 release notes
Magisk v20.0
The following release notes are mostly the same as v19.4. Compared to v19.4 beta, the most notable change is adding tons of support for more devices on Android 10, along with several bug fixes.
New System-as-root Implementation
Magisk has supported system-as-root devices for a long time since the first Pixel came out. The goal is always to revert things back to the good old initramfs based root dir. However, this not only creates tons of issues on many devices, not easily hide-able with MagiskHide, but most importantly not even possible on Android 10. Magisk will now start to follow how Google has designed system-as-root: mounting system actually to /
(root).
This implies several MASSIVE consequences for system-as-root devices:
/system
is no longer a valid mount point. For existing root apps that remounts/system
torw
, you will have to remount/
instead of/system
- The root directory (
/
) is no longerrootfs
, but actually system. Remounting/
torw
and modify files means you are writing to the actual system partition, NOT volatile storage as it used to be inrootfs
. This is not recommended as user is not necessary aware that you are tampering an actual partition, sometimes dangerous if dm-verity/AVB-verity is enforced, or sometimes outright impossible since many devices now ship with read-only system partitions (e.g. EROFS, EXT4 dedup) - Several custom kernel rely on Magisk's root directory overlay system (
overlay
) for modifying/
. This is no longer compatible with the new implementation. A new overlay system (overlay.d
) will replace the existing one as an alternative (details in documentations). To provide backwards compatibility, Magisk will switch to "Compat Mode" when/overlay
is detected, which simply reverts to the old system-as-root setup. Compat Mode will not work on Android 10 and will cause bootloop. Although things will still work as it used to, please upgrade tooverlay.d
ASAP.
Android 10 Support
Android 10 is now fully supported with MagiskHide working as expected. Android 10's biggest challenge is the new "2-Stage-Init" system-as-root implementation, which requires modding early mount fstab in a specific way, and in many devices' cases involves patching DTBs in the boot image.
(For those interested in "2-Stage-Init" and other details of system-as-root, check this Twitter thread I tweeted)
Product Partition Support
Magisk Module developers can now finally properly modify files in /product
! This partition is now an essential part in Android 10, and many files are moved from system to product. Please check documentations for more details.
A-Only System-as-root
A huge number of new devices have A-only system-as-root setups (Android 9.0). These unfortunate devices will have to install Magisk into the recovery partition. Please check the fully updated Installation Guide for more details.
Full Changelog: here
Magisk Manager v7.3.5
manager-v7.3.5 Add v7.3.5 changelog
Magisk v19.4
This version is heavily tested and tons of bugs were squashed before release. However due to the massive changes, it is decided to release a public beta for people/root app developers to adjust/update before things hit public stable.
New System-as-root Implementation
Magisk has supported system-as-root devices for a long time since the first Pixel came out. The goal is always to revert things back to the good old initramfs based root dir. However, this not only creates tons of issues on many devices, not easily hide-able with MagiskHide, but most importantly not even possible on Android 10. Starting with v19.4, Magisk will follow how Google has designed system-as-root: mounting system actually to /
(root).
This implies several MASSIVE consequences for system-as-root devices:
/system
is no longer a valid mount point. For existing root apps that remounts/system
torw
, you will have to remount/
instead of/system
- The root directory (
/
) is no longerrootfs
, but actually system. Remounting/
torw
and modify files means you are writing to the actual system partition, NOT volatile storage as it used to be inrootfs
. This is not recommended as user is not necessary aware that you are tampering an actual partition, sometimes dangerous if dm-verity/AVB-verity is enforced, or sometimes outright impossible since many devices now ship with read-only system partitions (e.g. EROFS, EXT4 dedup) - Several custom kernel rely on Magisk's root directory overlay system (
overlay
) for modifying/
. This is no longer compatible with the new implementation. A new overlay system (overlay.d
) will replace the existing one as an alternative (details in documentations). To provide backwards compatibility, Magisk will switch to "Compat Mode" when/overlay
is detected, which simply reverts to the old system-as-root setup. Compat Mode will not work on Android 10 and will cause bootloop. Although things will still work as it used to, please upgrade tooverlay.d
ASAP.
Android 10 Support
Other than A-only devices running Android 10, Android 10 is fully supported with MagiskHide fully functioning. Android 10's biggest challenge is the new "2-Stage-Init" system-as-root implementation, which is the sole reason why A-only is not support yet. Stay tuned for further updates as that is the next thing on the list.
(For those interested in "2-Stage-Init" and other details of system-as-root, check this Twitter thread I tweeted)
Product Partition Support
Magisk Module developers can now finally properly modify files in /product
! This partition is now an essential part in Android 10, and many files are moved from system to product. Please check documentations for more details.
A-Only System-as-root
A huge number of new devices have A-only system-as-root setups (Android 9.0). These unfortunate devices will have to install Magisk into the recovery partition. Please check the fully updated Installation Guide for more details.
Full Changelog: here
Magisk Manager v7.3.4
manager-v7.3.4 Update v7.3.4 changelogs