What's Changed
- fix(settings): hide root boot toggle on non-rooted devices, async root check by @LandonMoran in #123
- fix(settings): align restore path with init, remove unused import by @LandonMoran in #124
- feat: Request battery optimization exemption on start-on-boot toggle by @tim1540 in #125
- fix(settings): clean dev — reapply PRs #123, #124, #125 without accidental main merge by @LandonMoran in #127
- fix(boot): prevent crash loop in BootCompleteReceiver.rootStart() by @LandonMoran in #129
- fix(res): restore missing update strings; prep for beta release by @LandonMoran in #130
- fix(manifest): use specialUse FGS type for AdbPairingService by @LandonMoran in #131
- fix(worker/notifications): stale notification cleanup + FGS refresh by @LandonMoran in #134
- feat(settings): restructure App Updates into top-level Settings group by @LandonMoran in #136
- feat(home,watchdog): add persistent TCP prompt dialog, fast-path bypass, and watchdog race protection by @CodexofLost in #135
- fix(i18n): complete tcp_prompt_dialog translations across all locales by @LandonMoran in #138
- refactor(manager): remove unused dependencies, dead legacy views, and obsolete XML assets by @CodexofLost in #141
- feat(manager): connect reactive server state flow to Home and Compose UI by @CodexofLost in #142
- fix(boot): keep ADB start pending on cellular until Wi-Fi returns by @LandonMoran in #144
- refactor(manager): replace binder polling loops with event-driven state transitions by @CodexofLost in #145
- fix(auth): eliminate UI-thread blocking CountDownLatch in RequestPermissionActivity by @CodexofLost in #146
- refactor(tasker): replace polling sleep in server restart with binder death listener by @CodexofLost in #147
- perf(server): optimize system service wait and remote process wait timeout by @CodexofLost in #148
- fix: kick backoff-parked start worker when unmetered Wi-Fi returns by @LandonMoran in #149
- fix: worker survives Wi-Fi-off boot in TCP mode (match reference contract) by @LandonMoran in #151
- fix(dhizuku): drop ADB-TCP 5555 fallback from Dhizuku starter by @LandonMoran in #160
- feat(ui): clean up Home top bar, add Pull-to-Refresh, and relocate About to Settings by @CodexofLost in #154
- fix(starter): resolve 'Waiting for service...' hang with ContentProvider backoff and starter watchdog by @CodexofLost in #152
- feat(ui): add search, permission filter chips, and search bar modernization by @CodexofLost in #157
- feat(ui): align with Material 3 Expressive guidelines by @CodexofLost in #155
- feat(ui): modernize dialogs to Material 3 Expressive Compose specifications by @CodexofLost in #156
- feat(ui): add daemon startup indicator, unify squircle icon styling, and replace alpha surfaces by @CodexofLost in #158
- fix(watchdog): resolve server process name mismatch in fallback force-stop by @CodexofLost in #161
- fix(worker): recover stale wireless port via loopback probe; surface retry reason by @LandonMoran in #159
- fix(starter): resolve MaterialAlertDialogBuilder compiler error in StarterActivity by @CodexofLost in #162
- fix(auth): restore INTERACT_ACROSS_USERS_FULL guard on RequestPermissionActivity by @CodexofLost in #163
- fix(adb): suppress duplicate USB debugging prompts and watchdog race by @CodexofLost in #167
- fix(starter): pre-warm ShizukuManagerProvider to resolve 'Waiting for service...' timeout by @CodexofLost in #166
- refactor(ui): migrate ADB discovery/pairing dialogs and Tasker EditActivity to Compose by @CodexofLost in #165
- refactor(ui): migrate activity dialogs to Compose AlertDialog by @CodexofLost in #164
- Dev by @HmnDev-Tech in #173
- fix(app): status bar icons invisible in dark mode by @LandonMoran in #178
- fix(settings): restore missing Accessibility Manager entry in Settings by @LandonMoran in #177
- fix(starter): resolve ADB server startup failure, add SIGHUP immunity, and prioritize manager binder by @CodexofLost in #175
- fix(i18n): purge wrong-language strings across 8 locales by @LandonMoran in #179
- fix(update): keep home card update in sync with live checks by @LandonMoran in #182
- feat(update): in-app APK download + PackageInstaller install by @LandonMoran in #183
- Dev by @HmnDev-Tech in #184
- Route home update card through shared install flow by @LandonMoran in #185
- Dev by @HmnDev-Tech in #187
- fix(res): update zh-CN translations by @Jursin in #188
- fix(watchdog): keyguard-safe unified restart under single ErrorProtect toggle by @LandonMoran in #186
- feat: opt-in wireless ADB re-assert setting for hostile ROMs by @LandonMoran in #189
- fix: preserve Home/Modules/Settings scroll position across tab switches by @LandonMoran in #190
- fix(settings): tighten wifi reassert title+summary by @LandonMoran in #191
- fix(ui): honor night-mode setting in Compose theme, merge SettingsRow for TalkBack by @LandonMoran in #192
- fix(a11y): merge clickable into the row's semantics node; silence trailing switch by @LandonMoran in #194
- fix(ui): sync status/nav bar appearance to effective night mode by @LandonMoran in #193
- fix(settings): retitle duplicate Application group to Update by @LandonMoran in #195
- fix(settings): split Language and Appearance into separate groups by @LandonMoran in #196
- fix(ui): re-assert system bar icons on every resume by @LandonMoran in #197
- fix(ui): unify night-mode detector for bars and content by @LandonMoran in #199
- feat(ai): multi-provider OpenAI-compatible AI setup by @LandonMoran in #201
- AI provider manager: presets, multi-provider models, quick-switch, auto-discovery by @LandonMoran in #202
- fix(adb): harden wireless ADB startup, TCP 5555 switching, and watchdog recovery by @CodexofLost in #203
- ui: unify Material 3 Expressive tokens, progress indicators, and accessibility by @CodexofLost in #204
- fix(stub): bump versionCode to suppress Play Store update prompts by @tim1540 in #200
- Dev by @HmnDev-Tech in #205
- fix(console): remove hardcoded 120s timeout on Comput commands (#137) by @LandonMoran in #207
- fix(update): pick newest release by published_at, not list order by @LandonMoran in #209
- fix(ui): position pull-to-refresh indicator below tab bar by @LandonMoran in #212
- fix(ui): announce Commandium generation state; scroll result into view by @LandonMoran in #211
- Dev by @HmnDev-Tech in #214
- Trim audit round 1: dead code + unused imports (23 files, -275/+117) by @LandonMoran in #213
- [catalog] Empty-state retry/edit-token actions + clickable token link (trim-audit follow-up) by @LandonMoran in #219
- Fix #218: only require ACCESS_LOCAL_NETWORK on Android 17 (API 37) by @LandonMoran in #220
- README: replace unfounded clone warning with neutral fork note by @LandonMoran in #221
- fix(manager): request battery-optimization exemption in wireless-ADB start flow by @LandonMoran in #227
- feat(i18n): add zh-CN strings by @Jursin in #233
New Contributors
- @CodexofLost made their first contribution in #135
Full Changelog: v13.9.2...14.0.0
What's Changed
Full Changelog: 13.9.0.r39...14.0.0