Skip to content

Releases: topjohnwu/Magisk

Magisk v20.3

09 Jan 17:57
Compare
Choose a tag to compare

Fix magiskboot crashing when dealing with lz4_legacy format

Full Changelog: here

Magisk Manager v7.5.1

09 Jan 17:56
Compare
Choose a tag to compare
manager-v7.5.1

Fix sk strings

Magisk v20.2

02 Jan 04:58
Compare
Choose a tag to compare

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

02 Jan 04:57
Compare
Choose a tag to compare
manager-v7.5.0

Add v7.5.0 changelog

Magisk v20.1

02 Nov 05:27
Compare
Choose a tag to compare

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

02 Nov 05:26
Compare
Choose a tag to compare
manager-v7.4.0

Add v7.4.0 release notes

Magisk v20.0

11 Oct 20:24
Compare
Choose a tag to compare

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 to rw, you will have to remount / instead of /system
  • The root directory (/) is no longer rootfs, but actually system. Remounting / to rw and modify files means you are writing to the actual system partition, NOT volatile storage as it used to be in rootfs. 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 to overlay.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

11 Oct 20:24
Compare
Choose a tag to compare
manager-v7.3.5

Add v7.3.5 changelog

Magisk v19.4

19 Sep 09:11
Compare
Choose a tag to compare

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 to rw, you will have to remount / instead of /system
  • The root directory (/) is no longer rootfs, but actually system. Remounting / to rw and modify files means you are writing to the actual system partition, NOT volatile storage as it used to be in rootfs. 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 to overlay.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

19 Sep 09:31
Compare
Choose a tag to compare
manager-v7.3.4

Update v7.3.4 changelogs