## topjohnwu/Magisk — v30.2…v30.3

_86 commits._

### Features
- **Support installing Magisk on vendor_boot** (742913e)
- **Support specify ABI for clippy** (3903f42)
- **feat(i18n): Add Hinglish translation** (675b5f9)
- **feat(i18n): Add Hinglish translation** (1b2c432)
- **Introduce CmdArgs for argument parsing in Rust** (af51880)

### Fixes
- **Fix pattern matching for CANARY version** (d42ec5d)
- **Fix comments** (8d02d06)
- **Fix path tracking in module.rs** (71213cc)
- **Fix zygisk native bridge library name concatenation order** (cfc2bcb)
- **Fix magiskboot cli parsing** (87b8fe3)
- **Cleanup and fix compress/decompress command** (7b706bb)
- **Fix LoggedResult implementation error** (c1491b8)
- **Fix compression format detection** (2c39d02)
- **Fix canary emulator** (1333d3b)

### Backend
- **Release Magisk v30.3** (f16e93c)
- **Remove unused code** (1b0ddec)
- **Refactor code for more readability** (cd8820f)
- **Sync libsepol with upstream AOSP** (b70192c)
- **Upgrade cargo dependencies** (ed206c6)
- **Improve build.py** (f9a8052)
- **Upgrade gradle dependencies** (f4fdd51)
- **Upgrade cargo dependencies** (5925a71)
- **Cleanup unused bindings** (3cda9be)
- **Migrate magisk_main to Rust** (8b7d1ff)
- **Improve Encodable/Decodable impls** (dd743f6)
- **Migrate connect_daemon to Rust** (cf483ad)
- **Directly accept RequestCode for connect_daemon** (4aed644)
- **Use bitflags to implement BootState** (0acc39c)
- **Move bootstages into its own module** (8b3a443)
- **Migrate daemon_entry to Rust** (8b49eda)
- **Migrate setup_magisk_env to Rust** (7057d4c)
- **Update Serbian** (aab8344)
- **Remove unused poll_ctrl implementation** (7cccf83)
- **Move more code of daemon_entry into Rust** (f10ad93)
- **Do not mount directories as mirror** (f143b5d)
- **Make logging.rs use nix** (e2a1774)
- **Use bitflags macro** (0222527)
- **Do not leak base::ffi to external crates** (312bfe1)
- **Disable exit on error for cmdline_logging** (48c62a1)
- **Allow calling remove_all on non-existence file** (94b1ff6)
- **Migrate away from unsafe set_len of Utf8CStr** (1111367)
- **Enable mount for nix** (c8caaa9)
- **Enable zerocopy for nix** (8d28f10)
- **Enable term for nix** (177a456)
- **Use nix for libc functions** (ef4e230)
- **Simplify OsError** (17082af)
- **Stop differentiate Error vs ErrorCxx** (1df5b34)
- **Simplify LibcReturn** (ea5fe75)
- **Update cargo dependencies** (a75c335)
- **Fallback to userspace copy if splice failed** (fb0c4ea)
- **Run cargo fmt** (bc89c60)
- **Reduce FFI across C++/Rust** (bd657c3)
- **Make cxx binding generate less code** (653730d)
- **Update cargo dependencies** (d472e9c)
- **Update to ONDK r29.2** (484d53e)
- **Migrate resetprop to Rust** (c4e2985)
- **Cleanup resetprop code** (42d9f87)
- **Make Utf8CStr a first class citizen in C++ codebase** (2e4fa68)
- **Update system_properties** (e2abb64)
- **Make argh directly parse into Utf8CString** (3599dce)
- **Only specify ADB port for tests** (ea72666)
- **Merge libbase cpp files** (bd2a47b)
- **Cleanup libbase** (b861671)
- **Consolidate for_each implementation into Rust** (e91fc75)
- **Use lzma-rust2 for xz and lzma compression and decompression** (78f5cd5)
- **Make all decoders Read instead of Write** (9787a69)
- **Use super let to simplify code** (5cbaf2a)
- **Merge headers** (8ebc620)
- **Cleanup magiskboot main function** (7848ee6)
- **Simplify ResultExt implementation** (fd193c3)
- **Make log_err directly return LoggedResult** (36d33c7)
- **Hide harmless error reporting** (5caf28d)
- **Simplify magiskboot FFI** (c313812)
- **Move magiskboot cli to argh** (db8d832)
- **Avoid triggering magisk --zygote-restart twice** (8dc23d0)
- **Increase timeout to 15 minutes** (b428770)
- **Set zygisk properties in Rust** (8d10ab8)
- **Prevent setting zygisk prop twice** (49fdc1a)
- **Update supported API levels** (335146a)
- **Use AOSP ATD for API 36** (eaf9527)
- **if !restore { set_zygisk_prop(); }** (da937a8)
- **More borrowing, less copying** (9476e72)
- **Remove old ffi data structure** (251c3c3)
- **Migrate connect.cpp to Rust** (cd0eca2)
- **Keep /system/xbin/su on emulators** (6839cb9)
- **Reduce verbose logging in Zygisk** (d11a339)

_Recap by [Repo Wrapped](https://repowrapped.com/gh/topjohnwu/Magisk?utm_source=github-action)._