Skip to content

Releases: topjohnwu/Magisk

Magisk v24.2

02 Mar 07:40
Compare
Choose a tag to compare

Maintenance release fixing various issues.

  • [MagiskSU] Fix buffer overflow
  • [MagiskSU] Fix owner managed multiuser superuser settings
  • [MagiskSU] Fix command logging when using su -c <cmd>
  • [MagiskSU] Prevent su request indefinite blocking
  • [MagiskBoot] Support lz4_legacy archive with multiple magic
  • [MagiskBoot] Fix lz4_lg compression
  • [DenyList] Allow targeting processes running as system UID
  • [Zygisk] Workaround Samsung's "early zygote"
  • [Zygisk] Improved Zygisk loading mechanism
  • [Zygisk] Fix application UID tracking
  • [Zygisk] Fix improper umask being set in zygote
  • [App] Fix BusyBox execution test
  • [App] Improve stub loading mechanism
  • [App] Major app upgrade flow improvements
  • [General] Improve commandline error handling and messaging

Full Changelog: here

Magisk v24.1

28 Jan 11:47
Compare
Choose a tag to compare

For those coming from v24.0, v24.1 only has some minor app improvements. The following are copied from v24.0 release notes.

It has been a while since the last public release, long time no see! A personal update for those unaware: I am now working at Google on the Android Platform Security team. Without further ado, let's jump right into it!

MagiskHide Removal

I have lost interest in fighting this battle for quite a while; plus, the existing MagiskHide implementation is flawed in so many ways. Decoupling Magisk from root hiding is, in my opinion, beneficial to the community. Ever since my announcement on Twitter months ago, highly effective "root hiding" modules (much MUCH better than MagiskHide) has been flourishing, which again shows that people are way more capable than I am on this subject. So why not give those determined their time to shine, and let me focus on improving Magisk instead of drowning in the everlasting cat-and-mouse game πŸ˜‰.

Sunsetting Magisk-Modules-Repo

Due to lack of time and maintenance, the centralized Magisk-Modules-Repo was frozen, and the functionality to download modules from the repo is removed in v24.0. As a supplement, module developers can now specify an updateJson URL in their modules. The Magisk app will use that to check, download, and install module updates.

Introducing Zygisk

Zygisk is Magisk in Zygote, the next big thing for Magisk! When this feature is enabled, a part of Magisk will run in the Zygote daemon process, allowing module developers to run code directly in every Android apps' processes. If you've heard of Riru, then Zygisk is inspired by that project and is functionally similar, though the implementation is quite different internally. I cannot wait to see what module developers can achieve using Zygisk!

Documentation

For developers, details about updateJson and building Zygisk modules can all be found in the updated documentation.

Full Changelog: here

Magisk v24.0

26 Jan 10:29
Compare
Choose a tag to compare

It has been a while since the last public release, long time no see! A personal update for those unaware: I am now working at Google on the Android Platform Security team. Without further ado, let's jump right into it!

MagiskHide Removal

I have lost interest in fighting this battle for quite a while; plus, the existing MagiskHide implementation is flawed in so many ways. Decoupling Magisk from root hiding is, in my opinion, beneficial to the community. Ever since my announcement on Twitter months ago, highly effective "root hiding" modules (much MUCH better than MagiskHide) has been flourishing, which again shows that people are way more capable than I am on this subject. So why not give those determined their time to shine, and let me focus on improving Magisk instead of drowning in the everlasting cat-and-mouse game πŸ˜‰.

Sunsetting Magisk-Modules-Repo

Due to lack of time and maintenance, the centralized Magisk-Modules-Repo was frozen, and the functionality to download modules from the repo is removed in v24.0. As a supplement, module developers can now specify an updateJson URL in their modules. The Magisk app will use that to check, download, and install module updates.

Introducing Zygisk

Zygisk is Magisk in Zygote, the next big thing for Magisk! When this feature is enabled, a part of Magisk will run in the Zygote daemon process, allowing module developers to run code directly in every Android apps' processes. If you've heard of Riru, then Zygisk is inspired by that project and is functionally similar, though the implementation is quite different internally. I cannot wait to see what module developers can achieve using Zygisk!

Documentation

For developers, details about updateJson and building Zygisk modules can all be found in the updated documentation.

Full Changelog: here

Magisk v23.0

12 May 05:29
Compare
Choose a tag to compare

This release is focused on fixing regressions and bugs.

Note: Magisk v22 is the last major version to support Jellybean and Kitkat. Magisk v23 only supports Android 5.0 and higher.

Bug Fixes

  • [App] Update snet extension. This fixes SafetyNet API errors.
  • [App] Fix a bug in the stub app that causes APK installation to fail
  • [App] Hide annoying errors in logs when hidden as stub
  • [App] Fix issues when patching ODIN tar files when the app is hidden
  • [General] Remove all pre Android 5.0 support
  • [General] Update BusyBox to use proper libc
  • [General] Fix C++ undefined behaviors
  • [General] Several sepolicy.rule copy/installation fixes
  • [MagiskPolicy] Remove unnecessary sepolicy rules
  • [MagiskHide] Update package and process name validation logic
  • [MagiskHide] Some changes that prevents zygote deadlock

Full Changelog: here

Magisk v22.1

09 Apr 10:11
Compare
Choose a tag to compare

This release is focused on fixing regressions and bugs. Check the v22.0 release notes if coming from older releases.

Note: Magisk v22 is the last major version to support Jellybean and Kitkat. Magisk v23 will only support Android 5.0 and higher.

Bug Fixes

  • [App] Prevent multiple installation sessions running in parallel
  • [App] Prevent OutOfMemory crashes when checking boot signature on PXA boot images
  • [General] Proper cgroup migration implementation
  • [General] Rewrite log writer from scratch, should resolve any crashes and deadlocks
  • [General] Many scripts updates fixing regressions
  • [MagiskHide] Prevent possible deadlock when signal arrives
  • [MagiskHide] Partial match process names if necessary
  • [MagiskBoot] Preserve and patch AVB 2.0 structures/headers in boot images
  • [MagiskBoot] Properly strip out data encryption flags
  • [MagiskBoot] Prevent possible integer overflow
  • [MagiskInit] Fix sepolicy.rule mounting strategy
  • [resetprop] Always delete existing ro. props before updating. This will fix bootloops that could be caused by modifying device fingerprint properties.

Full Changelog: here

Magisk v22.0

23 Feb 12:11
Compare
Choose a tag to compare

RESTORE THE EXISTING MAGISK MANAGER BACK TO NORMAL BEFORE UPGRADING IF HIDDEN!

Another major Magisk release! This time our focus is not the core Magisk implementation, but rather on improving the whole Magisk user experience.

Magisk Manager is dead.
Long live the Magisk app!

Ever since the first Magisk release, Magisk (the core components) and Magisk Manager (the companion app) are released separately and isn't necessarily always in sync. This leads to some confusion and a lot of complexity when downloading/installing Magisk through the app. Starting from v22.0, the Magisk app (renamed from Magisk Manager) includes everything it needs within the APK itself, making installation a 100% offline process.

Custom recovery lovers, no worries! The Magisk app APK itself is a custom recovery flashable zip, just like MAGICβ„’πŸŒˆ. Check out the updated installation guide for more info.

App Hiding

Another major breakthrough in this release is that devices lower than Android 9.0 can now also use the advanced app hiding technique to hide the Magisk app. Due to this incompatible change, RESTORE THE EXISTING MAGISK MANAGER BACK TO NORMAL BEFORE UPGRADING IF HIDDEN!

Bug Fixes

  • [MagiskHide] Fix a bug when stopping MagiskHide does not take effect
  • [MagiskBoot] Fix bug when unpacking lz4_lg compressed boot images
  • [MagiskInit] Support Galaxy S21 series
  • [MagiskSU] Fix incorrect APEX paths that caused libsqlite.so fail to load

Full Changelog: here

Magisk v21.4

17 Jan 14:16
Compare
Choose a tag to compare

Update: v21.4 adds more regression hot fixes.

Happy 2021! v21.3 adds a workaround for devices with buggy F2FS Linux kernel drivers. This F2FS bug may cause bootloops on many devices. Checkout the full v21.0 release notes if coming from older releases.

v21.4

  • [MagiskSU] Fix su -c behavior that broke many root apps
  • [General] Properly handle read/write over sockets (the broken pipe issue)

v21.3

  • [MagiskInit] Avoid mounting f2fs userdata as it may result in kernel crashes. This shall fix a lot of bootloops
  • [MagiskBoot] Fix a minor header checksum bug for DHTB header and ASUS blob image formats
  • [MagiskHide] Allowing hiding isolated processes if the mount namespace is separated

Full Changelog: here

Magisk Manager v8.0.7

17 Jan 14:16
Compare
Choose a tag to compare
manager-v8.0.7

Update release notes

Magisk v21.3

16 Jan 12:57
Compare
Choose a tag to compare

Happy 2021! v21.3 adds a workaround for devices with buggy F2FS Linux kernel drivers. This F2FS bug may cause bootloops on many devices. Checkout the full v21.0 release notes if coming from older releases.

v21.3

  • [MagiskInit] Avoid mounting f2fs userdata as it may result in kernel crashes. This shall fix a lot of bootloops
  • [MagiskBoot] Fix a minor header checksum bug for DHTB header and ASUS blob image formats
  • [MagiskHide] Allowing hiding isolated processes if the mount namespace is separated

Full Changelog: here

Magisk Manager v8.0.6

16 Jan 12:56
Compare
Choose a tag to compare
manager-v8.0.6

Add v21.3 release notes