1.16.0 (2026-05-04)
Bug Fixes
- "SessionBasedInstallConfirmationActivity was finished by user" install error on some devices (3e74857)
Session is deaderror on Pixels devices when installing apps (#458) (ce1ce6e)- Adapt accent color contrast for extreme black/white values in app info dialog (c4f883f)
- Add logging and fix stale installer cache (78b5aee)
- Always respect manager prerelease preference for update channel (090ee0c)
- Apply locale via context wrap on Android < 13 (ce193ee)
- Check primary ABI only in
isArmV7to avoid false positives onArmV8devices (14729c2) - Eliminate background flash on
InstalledAppInfo→ patch flow transition (b246a4b) - Fall back to
Downloadsexport on devices withoutDocumentsUI(Android TV) (1e21c39) - File picker and export for Android TV (#491) (7c1cfba)
- Handle
InstallFailureresult when installing manager update (a4d1eb8) - Hoist install state reads to prevent recomposition on install (9b82048)
- Merge 'Filter split APKs' and
Remove unused native librariesinto 'Optimize for device architecture' setting (2edb15f) - Patch bundles do not load on Android 8.0 devices (3116619)
- Prevent
InstalledAppInfoViewModelcollision on dialog reopen (15ae79a) - Replace
Ackpinewith nativeSessionInstaller(#508) (cf0f4db) - Replace
isLoadedflag withBundleStatesealed class and simplifyhomeAppState(72976d3) - Resolve app icon from saved APK when app is not installed (fe3ef6c)
- Resolve display name from bundle metadata over patched APK label (6c6e065)
- Scope
InstalledAppInfoViewModelto dialog instance via dialog token (0cf2f6a) - Shizuku installer couldn't update an already installed app (#454) (d4e74e3)
- Show reinstall button and installer dialog for deleted apps (472d046)
- Show SDK-incompatible versions as disabled, block patching when no versions are compatible with device SDK (f90d5ba)
- Show swipe gesture hint on every custom bundle addition (0c66503)
- System installer couldn't update an already installed app (#455) (adc93e4)
- Update home screen cards immediately after install/uninstall (8f671bd)
- Use
SharedPreferencesas locale side-channel on Android < 13 (a5f91bd) - When greeting message is disabled, show a small top spacer so the app cards don't sit flush against the top of the screen (6900cc2)
Features
- Adaptive two-column layout for
InstalledAppInfoDialogon tablets (40a29a9) - Add
BundleAppMetadataas a data source forAppDataResolver(3bdc1f5) - Add fast bytecode mode setting to expert mode (#403) (e73c63c)
- Add manual
JKSparser for keystore import without BC provider dependency (#494) (ccc99a2) - Add random background mode with rotation interval (2d12fbb)
- Add swipe gestures and multi-select to app buttons on main screen (#446) (0330699)
- Add swipe gestures to hidden apps dialog and search results (8cf1f13)
- Add toggle to disable home screen patching phrases (#443) (f53ad64)
- Import keystore from
PKCS12,BKSandJKSformats (3f38387) - Improve patch visibility in bundle and app patch dialogs (#457) (1881991)
- Live patching progress in foreground notification (c25af8f)
- Migrate to
Ackpinefor package installation/uninstallation (#444) (aa7207d) - Open
.mpppatch sources directly from file manager (#483) (f46a11f) - Open patches dialog on hidden app tap in search (1898e74)
- Prompt bundle selection before APK selection in simple mode (#511) (8161d9b)
- Sort universal patches to bottom of each bundle in patches dialog (eac672e)
- Store merged APK from split archives as original for repatching (#438) (be0b868)