Skip to content

Releases: topjohnwu/Magisk

Magisk Manager v8.0.3

13 Nov 12:35
Compare
Choose a tag to compare
manager-v8.0.3

Push release notes

Magisk Manager v8.0.2

08 Oct 08:10
Compare
Choose a tag to compare
manager-v8.0.2

Update app changelog

Magisk Manager v8.0.1

06 Oct 12:11
Compare
Choose a tag to compare
manager-v8.0.1

Update docs and README

Magisk v21.0

03 Oct 10:36
Compare
Choose a tag to compare

Long time no see! v21.0 is the largest release in Magisk's history. It comes with full Android 11 support (tons of stuff had to be rewritten from scratch!), and a completely redesigned Magisk Manager. These are the reasons why this particular public release took me over half a year to wrap up.

To the end user, not much has changed other than the fact that Magisk Manager has completely changed its appearance. However developers should pay attention to some changes due to adjustments for Android 11. Full changelogs are too massive to fit, so here I'll point out the main changes and links to updated documentations.

Highlights

  • Android 11 support πŸŽ‰
  • Completely redesigned Magisk Manager
  • Safe Mode detection: if you installed a module that bootloops your device, reboot into Safe Mode and all modules will be disabled. More instructions on how to deal with broken modules is linked here.

The following are for advanced users/developer:

  • On Android 8.0+, Magisk now uses a new SELinux setup that keeps Android sandbox less compromised. This provides better security to rooted users, and also separates Magisk rules from original rules. Details here.
  • On Android 11, /sbin may no longer exist. For developers, this means the Magisk's internal tmpfs directory is no longer always /sbin, and instead randomly created every boot. To get the tmpfs path, use the command magisk --path (more details here). For custom kernel developers that uses overlay.d, updated docs are here.
  • magiskpolicy gained more features and some minor syntax changes, details here.

Full Changelog: here

Magisk Manager v8.0.0

03 Oct 10:36
Compare
Choose a tag to compare
manager-v8.0.0

Add v21.0 release notes

Magisk v20.4

23 Mar 08:28
Compare
Choose a tag to compare

Miscellaneous

This release is mainly focused on stability and bug squashing. Please be aware that MagiskHide is no longer enabled by default. Since Google has enabled hardware-based key attestation in SafetyNet (FAQ), there is no effective way to pass full CTS SafetyNet anymore (although Google seems to have temporarily reverted the change).

I decided that the fully redesigned Magisk Manager isn't fully ready for prime time yet, so this time around no Magisk Manager update is released. The WIP manager will continue to be improved and is available for testing on the canary channel.

BusyBox Standalone Mode

Starting with Magisk v20.4, all Magisk related scripts, including boot scripts and module installation scripts, will run on BusyBox's shell (ash) in standalone mode. In BusyBox ash standalone mode, every single command will be forced to use the one that is in Magisk's BusyBox (if available). For instance, no matter how you change the environment variable PATH, the rm command will always use the one in BusyBox, not the one in system, external BusyBox, vendor, or included in custom recovery.

The reason behind this change is that all scripts will be guaranteed to have 100% consistent results no matter how the environment is setup. The internal BusyBox is significantly beefed up with patches from @osm0sis, and also with SELinux features enabled. It shall offer a very complete, reliable, and consistent scripting environment. If in any case you require to use a command outside of BusyBox, please call it with the full path (e.g. /system/bin/nslookup)

Magisk Changelog

  • [MagiskInit] Fix potential bootloop in A-only 2SI devices
  • [MagiskInit] Properly support Tegra partition naming
  • [General] Load libsqlite.so dynamically, which removes the need to use wrapper scripts on Android 10+
  • [General] Detect API level with a fallback method on some devices
  • [General] Workaround possible bug in x86 kernel readlinkat system call
  • [BusyBox] Enable SELinux features. Add chcon/runcon etc., and '-Z' option to many applets
  • [BusyBox] Introduce standalone mode. More details in release notes
  • [MagiskHide] Disable MagiskHide by default
  • [MagiskHide] Add more potential detectable system properties
  • [MagiskHide] Add workaround for Xiaomi devices bootloop when MagiskHide is enabled on cross region ROMs
  • [MagiskBoot] Support patching special Motorolla DTB format
  • [MagiskPolicy] Support 'genfscon' sepolicy rules
  • [Scripts] Support NAND based boot images (character nodes in /dev/block)
  • [Scripts] Better addon.d (both v1 and v2) support
  • [Scripts] Support Lineage Recovery for Android 10+

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