Releases: topjohnwu/Magisk
Magisk v24.2
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
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
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
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
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
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
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 ASUSblob
image formats - [MagiskHide] Allowing hiding isolated processes if the mount namespace is separated
Full Changelog: here
Magisk Manager v8.0.7
manager-v8.0.7 Update release notes
Magisk v21.3
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 ASUSblob
image formats - [MagiskHide] Allowing hiding isolated processes if the mount namespace is separated
Full Changelog: here
Magisk Manager v8.0.6
manager-v8.0.6 Add v21.3 release notes