# Magisk v31.0 — Magisk v31.0 - Product: Magisk (https://whatsnew.fyi/product/magisk) - Vendor: John Wu - Date: 2026-09-04 - Version: v31.0 - Original notes: https://github.com/topjohnwu/Magisk/releases/tag/v31.0 - Permalink: https://whatsnew.fyi/product/magisk/releases/v31.0 - Labels: Pre-release; Platforms: Android What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. --- - **changed** — Complete UI overhaul with Jetpack Compose and Material 3, completely removing the legacy View and Fragment architecture - **added** — Add new built-in terminal emulator with full TTY and ANSI support for module flashing and action scripts - **added** — Support downloading and streaming boot image extraction directly from remote OTA URLs - **changed** — Support dynamic zImage payload sizes without requiring exact size padding during repack - **changed** — Update AVB hash descriptor image size to match unpacked image size - **changed** — Lower default compression preset for XZ and LZMA to reduce memory usage during repacking - **added** — Support Android 17 (API 37) - **added** — Support Meta Quest (Horizon OS) lazy partition zygotes - **fixed** — Fix identifier parsing for names containing hyphens - **added** — Add `--compact` (`-c`) flag to compact property storage areas - **fixed** — Properly prioritize charger mode detection before `force_normal_boot` - **added** — Add `webview_zygote` as an unmount target The highlight of this release is a complete, ground-up rewrite of the **Magisk app UI**. Over the years, the Android application codebase had accumulated significant technical debt—spanning legacy XML layouts, Databinding, and KAPT. In this release, the entire UI layer has been rebuilt from scratch with modern **Jetpack Compose** and **Material 3**. This rewrite allowed us to modernize the architecture and introduce substantial UI/UX improvements, with additional new features: - A new **built-in terminal emulator** with full TTY and ANSI support for module flashing and action scripts. - Direct support for **streaming and extracting boot images from remote OTA URLs** on-the-fly. ###### Legacy App Still Available This kind of full rewrite can sometimes introduce unexpected edge cases or bugs. If you encounter issues with the new app, the legacy View-based version will still be built and uploaded for a couple of releases, available for download [here](https://github.com/topjohnwu/magisk-files/releases/download/files/Magisk-v31.0-legacy.apk). ##### Changelog - [App] Complete UI overhaul with Jetpack Compose and Material 3, completely removing the legacy View and Fragment architecture - [App] Add new built-in terminal emulator with full TTY and ANSI support for module flashing and action scripts - [App] Support downloading and streaming boot image extraction directly from remote OTA URLs - [MagiskBoot] Support dynamic zImage payload sizes without requiring exact size padding during repack - [MagiskBoot] Update AVB hash descriptor image size to match unpacked image size - [MagiskBoot] Lower default compression preset for XZ and LZMA to reduce memory usage during repacking - [Zygisk] Support Android 17 (API 37) - [Zygisk] Support Meta Quest (Horizon OS) lazy partition zygotes - [MagiskPolicy] Fix identifier parsing for names containing hyphens - [resetprop] Add `--compact` (`-c`) flag to compact property storage areas - [MagiskInit] Properly prioritize charger mode detection before `force_normal_boot` - [DenyList] Add `webview_zygote` as an unmount target ###### Full Changelog: [here](https://topjohnwu.github.io/Magisk/changes.html)