v13.6.0.r2339
Security
- fix(security): re-implement always-allow persistence for shell/rish clients safely (#420, #416) (32382e8)
- fix(security): stop world-writable authorization config file (#419) (690b363)
- fix(security): remove spoofable "pre-authorized" fast path in BinderRequestReceiver (c7c9f6c)
- fix(security): enforce caller permission before privileged newProcess/binder-transact paths (bbc1896)
Breaking
- fix(build): fix stale @mipmap/ic_launcher_foreground reference breaking CI (d58bb2e)
Added
- feat: add "Cut (Angular)" shape style, a genuinely new silhouette not just a radius change (4e3edfb)
- feat: restore responsive 2-column grid for large screens/DeX (#76) (e405d30)
- feat: adopt AppCompatDelegate.setApplicationLocales() as locale source of truth (#429) (e627539)
- feat: make One UI Style theming structure-only, not color (9097822)
- feat: TalkBack-accessible equivalent for swipe-to-act gestures (#41) (a4d9793)
- feat: dedicated Haptic Feedback setting; decouple haptics from animations; fix gaps (6245b91)
- feat(theme): mirror One UI corner-radius tokens in Compose shapes (e9a7f5e)
- feat(icon): add Material You "Plus" badge to app icon (7c14a77)
- feat(ui): enhance OneUI mode Settings with Samsung-authentic ExtraBold header and transparent app bar (1c17f3e)
- feat: Edge-to-Edge toggle, Frosted Glass blur, and One UI theme mode (96dec02)
- feat: auto-run snippets on Shizuku service start (#399) (d5417eb)
- feat: log shell consent events to activity log (407656e)
- feat: add Allow/Deny action buttons to shell consent notification (bd7898d)
Fixed
- fix: ShizukuStateMachine.update() misreported crashes as intentional stops, silently defeating the #417 watchdog re-arm (a6c6136)
- fix: Shape Style picker's "Zen" option didn't say what shape it actually gives (#78) (c17ce59)
- fix: FakeAdbPairingActivity used raw AlertDialog and hardcoded English strings (a0eb09d)
- fix: One UI accent overlay silently overrode Material You dynamic color (b91315e)
- fix: hardcoded English strings on the main Settings screen and Appearance (66c2509)
- fix: settings accessibility gaps and hardcoded English strings (cd34d64)
- fix: silence deprecated ListPreference summary-format-marker warning (d638fcf)
- fix: pairing accessibility service showed as a bare duplicate "Shizuku+" entry (#427) (38bc967)
- fix: use upstream Shizuku's unmodified cat/hexagon art, only the plus is ours (2f61a05)
- fix: notification icon regression and misleading "Automation running" text (91ac8fd)
- fix: SecurityException crash from haptic feedback on HyperOS/MIUI (SHIZUKUPLUS-8E) (b687d86)
- fix: restore plus badge to the approved reference position and fix monochrome icon (ae4d0d4)
- fix: Auto Blocker snackbar's Check button used the dead settings action (5bc2ae2)
- fix: land directly on Never sleeping apps, per Samsung's own documented deep link API (a3222cd)
- fix: battery optimization warning said "tap to exempt" but opened a 300+ app list to search through (c72a4ff)
- fix: Service Doctor's Sleeping Apps guidance text described a screen the deep link doesn't reach (41c5f44)
- fix: found working direct deep links for Auto Blocker and Sleeping Apps on current One UI (1ac9011)
- fix: Service Doctor's Samsung Sleeping Apps / Battery deep links broken on One UI 8 (Android 16) (8faa3e2)
- fix: ADB help link resolved but didn't answer what it promised (6e84d57)
- fix: issue templates referenced labels deleted/renamed in this session's label cleanup (eb7cc0e)
- fix: dead wiki#troubleshooting link in bug report issue template (20b2823)
- fix: release tag push rejected by GitHub since the default token can't touch workflow-modifying history (4698e79)
- fix: Dev/Beta channel can get stuck on a stale prerelease; restyle release notes; add contributor-facing docs (c13bf85)
- fix: revert icon back to original full-bleed scale, keep only the plus repositioned (b41156c)
- fix: app icon severely clipped by adaptive-icon safe-zone masking on real devices (bff2774)
- fix: credit odorizzioficial in README, fix ambiguous smoke-test Gradle task (dcacf80)
- fix: dead in-app help links pointing at wiki pages that don't exist (e03f1f8)
- fix: harden 3 just-shipped fixes for OEMs beyond the original reporters, per adversarial review (e980c0b)
- fix: Watchdog can now recover from a full process freeze, not just a service crash (#415, #417) (c6a76f3)
- fix: stop authorized-apps count flashing 0 on cold start (#424) (2089a6c)
- fix: reposition app icon plus badge and scope Themed Icons to it - was baked into flattened art at wrong position (0baba52)
- fix(root-compat): drop the guessed Swift Backup su-path shared_prefs entry (0f0ba88)
- fix(root-compat): correct Swift Backup's package ID in SU Bridge auto-setup (d05618f)
- fix(root-compat): redeploy SU bridge dex/script on app self-update (#423) (9dba4bd)
- fix(ci): actually mark dev/beta releases as GitHub prereleases (#407) (f903e18)
- fix(update): dev/beta channel must prefer the newest prerelease, not newest-by-date (#407) (3616af0)
- fix(manager): stop theme-tinted vectors crashing as notification icons (#422) (64f552d)
- fix(server): stop dead branch in checkCallerPermission from masking allowed/denied state; move plus badge onto hexagon icon; bump api submodule (0d6f357)
- fix(hardening): guard CrashReporter's writeText against I/O failure; bump api submodule (7ae5f98)
- fix(compat-hub): detect signing-cert conflict before attempting install (#412) (cf77523)
- fix(diagnostics): un-fake Samsung Sleeping Apps doctor check; log compat-hub install failures (a519414)
- fix(functionality): stop AutomationService busy-loop risk; move UpdateManager I/O off caller thread (56dc0d7)
- fix(ui): localize hardcoded settings-search strings; merge activity-log row semantics (25dd483)
- fix(update): log DownloadManager failure reason code (4d71e14)
- fix(sentry-followups): guard WatchdogService foreground start; log su-bridge write failure detail (d22e84b)
- fix(adb): cap unbounded ADB payload allocation; guard null newProcess() (faf8b6e)
- fix(icon): rebuild themed (monochrome) icon as a legible silhouette (234f125)
- fix(icon): move Plus badge to far top-right per selected design (d55b569)
- fix(settings): align showStartAdbHome() default with its XML preference (594864e)
- fix(server): su_bridge coreutils shadowing + Magisk-mock env wipe (436118a)
- fix(update): stop update-download hangs and notification vibration (e4a6839)
- fix(ui): revert garbled status icon and fix one-handed mode corner-squeeze (f7ad524)
- fix(defaults): align Java-side defaults with XML preferences for correct first-run experience (d8665d7)
- fix(ui): implement authentic Samsung OneUI one-handed mode (scale+pivot) for home and settings screens (c82127a)
- fix(ui): eliminate black-screen flash on theme/accent/icon/blur changes by using Compose recomposition instead of activity recreation (14c529a)
- fix(ui): resolve black screen on recreate, clean status icon colors, and add One UI large header + universal one-handed reachability (ef041e4)
- fix(ui): eliminate theme-change screen flicker and redesign home server ok icon (56a3ea8)
- fix(settings): immediately persist Dhizuku Mode setting state on preference toggle (a825183)
- fix(ui): resolve bottom navigation bar overlap on Activity Log list (ff7bb7d)
- fix(ui): prevent bottom navigation bar overlap on Feature Hub and Settings preferences (b5ea9e3)
- fix(ui): resolve bottom navigation bar overlap and modernize app search bar design (a49baf0)
- fix(#407): match APK asset by applicationId and enable dev channel releases in UpdateChecker (bbe3ab7)
- fix(#391): rish shell always treated as unidentified — UID fallback chain (9f2c01e)
- fix/refactor: receiver main-thread sleep, ONEWAY reply, caps null-check (6f04f5b)
- fix: bump api — dead code17 handler + data-position reset in onTransact (#406/#380/#381/#385/#386/#394) (8fbe5e4)
- fix(#387): retry binder delivery and show actionable feedback on frozen-app failure (ad92224)
- fix(#400, #402): fix live activity notification respecting toggle, fix SU bridge redeploy on read-only dex (252d631)
- fix: correct string references in settings_shizuku_plus.xml (ffc06c2)
- fix: replace hardcoded accent/neutral colors with M3 theme attributes (f9d2826)
- fix: correct One UI overlay order in theme key and comment (9cd26b7)
- fix: eliminate theme-change black screen and add One UI preference styling (a7123c3)
- fix: allow rish for apps w/o Shizuku permission in manifest (#387) (a8d2b19)
- fix: re-grant OS permissions for pre-July-19 authorized apps on server start; add plain backup export (f89c4be)
- fix: replace contentDescription="@null" with importantForAccessibility="no" on decorative icons (b99eadf)
- fix: show app name in shell consent notification when caller is identified (4046871)
- fix: show app display name instead of package ID in shell consent dialog (#398) (dd77e93)
- fix: skip shell consent notification when caller is already authorized (#398) (b035b10)
- fix: shell consent identifies callers and pre-grants; fix startup force-stop; toolbar and release notes polish (be1d218)
- fix(sentry): resolve AdbMdns listener IllegalArgumentException and AboutSettingsFragment ActivityNotFoundException (ff8ea37)
- fix: catch-up retry for frozen clients; fix changelog dialog scrolling (a95d013)
- fix: two code review bugs in binder retry and Markwon integration (131f151)
- fix: correct 3 bugs found in code review of PixelCopy crossfade (b6acff0)
- fix: use PixelCopy + decorView overlay to eliminate theme-change black flash (185b24c)
- fix: consent dialog survives rotation; concurrent rish notifications no longer stomp (ed0bdc6)
- fix: store shell consent binder in-memory, fix TOCTOU and stomp bugs (#387) (e90c185)
- fix: don't force-stop clients on the live per-event binder delivery path (#371) (917fec0)
- fix: restore retry-on-dead-provider for ordinary client binder delivery (#371) (3c6d266)
- fix: render release notes as actual Markdown instead of raw text (405d7b8)
- fix: bump api submodule to revert addFrozenStateChangeCallback (build r2208 failed) (d1a87e9)
- fix: bump api submodule for #371 freeze-race backoff retry + frozen-state callback (a3c2517)
- fix: address ultracode review findings on the #371/#377 fixes (r2205/r2206) (8e695c7)
- fix: catch up already-running clients at server start (#371) (4047737)
- fix: don't let rish's client timeout race a successful consent grant (#377) (1e4a85d)
- fix: request POST_NOTIFICATIONS from Home screen, not just ADB pairing tutorial (#377) (5937b82)
Other
- revert: One UI overlay precedence was correct before - only the comment was wrong (cdb8707)
- Update README.md (1e61474)
- docs: record the icon safe-zone verification lesson and this session's later work (8c649a8)
- docs: update repo docs for icon/onboarding/watchdog changes and this session's issue triage (4a9bbf5)
- Update README.md (7a3e409)
- Update README.md (0e28255)
- Update README.md (73664e9)
- Update README.md (56a6f28)
- Update README.md (7cf983b)
- Update README.md (8e97387)
- Add Brazilian Portuguese translation (#409) (794da9d)
- docs: document r2287 fixes in README and CHANGELOG (7566479)
- build(ci): generalize resource-integrity checks; run guard as fast-fail CI job (e1eef5d)
- docs: update CHANGELOG/README for this session's fixes (dfce34e)
- build: update api submodule for Android 16 NPE fix (#406) (69562ed)
- docs: update README to remove stale banner, add recent fixes section; create CHANGELOG.md (f7d92aa)
- chore: remove unused AppCompatActivity import from SettingsActivity (648e4b1)
- chore: bump api submodule — remove legacy case 14 from isLegacy switch (41754b0)
- server: re-apply power-save whitelist on each bindApplication retry (0c1f6d0)
- improve(#403): monitor RNDIS/Ethernet transport and clarify Watchdog scope (e2207af)
- chore: add settings XML string reference check to pre-push guard (05fcdff)
- Fix Plus feature wiring, settings structure, theming, and edge-to-edge insets (0955228)
- Fix installer NPE cluster, responsive dialog height, and accessibility (82ab63b)
- Update README.md (05958e7)
- docs: bump MAJOR_RELEASE to r2202, credit gmm96 for the #371 investigation (4217452)
31 distinct GitHub issue(s) referenced in this release.
📦 Recent Releases
📣 You're viewing an older release. Here are the current builds — update for the latest fixes:
🚀 Most recent major release — v13.6.0.r2603
App Backup overhaul: search/filter the app list by name or package, back up all apps at once with a single menu tap, toggle system-app visibility, and restore external data directly from any backup file (external.tar.gz). Each row now shows the app version name and a 'no-backup' badge when android:allowBackup=false, matching what Swift Backup and Neo Backup display. The SAF export directory is surfaced in the home card summary and in the completion Snackbar. After restoring ShizukuPlus settings a persistent Snackbar offers an immediate restart so theme/language changes apply without manually force-stopping the app.
🏛️ Major release of this build's era — v13.6.0.r2202 — Cached Apps Freezer fix — third-party apps reliably detect Shizuku+
⚠️ Most recent critical fix — v13.6.0.r2590
Fixed Settings import/export silently reading/writing the wrong storage file on Android 7+ (exports were empty; imports had no effect). Fixed Feature Hub crash (ClassCastException) caused by migrateAutomationTrustedNetworks reading the wrong SharedPreferences file. Fixed AutomationService double-firing network firewall rule, not starting the app monitor for auto-hide-only users, and not restarting correctly at boot on API 24-25. Fixed WatchdogService clearing watchdog setting on transient foreground-start rejections.
| Release | Highlight |
|---|---|
| v13.6.0.r2602 (latest) | backup: add search filter to app backup list |
| v13.6.0.r2601 | backup: add Backup All batch operation |
| v13.6.0.r2600 | backup: show version name and allowBackup=false badge in app list |
| v13.6.0.r2598 | Show restart Snackbar after settings restore |
| v13.6.0.r2597 | backup: show configured export dir in App Backup home card summary |