Skip to content

Commit 96fc0d1

Browse files
committed
release: cut v0.5.0 (Discovery & Polish)
Bumps versionCode 6 -> 7 and versionName 0.4.2 -> 0.5.0 and banks the 50+ Iter-91 -> Iter-142 slices that accumulated in CHANGELOG Unreleased since v0.4.2 (2026-05-13). Highlights: - In-app changelog viewer + Settings -> About -> What's new + auto-display after update. - Global in-app Settings search wired through the existing toolbar SearchView and a static-XML harvested SettingsSearchIndex. - Component rules preview at Settings -> Rules -> Component rules. - Backup: AES metadata v7 with HKDF-SHA256 per-archive keys, scheduled freshness gate, launcher shortcut, foreground progress notifications, default-app role rebind, path-exclusion globs, root system-data, and a provider-backed Network destination. - Installer: privilege cascade, split-APK cert mismatch dialog, batch install from File Manager, sensitive-action authentication gate. - Privileges: KernelSU and Magisk diagnostics, Dhizuku detection, Restricted Settings walkthrough, OS-revert banner, ADB tcpip reuse. - Automation: Tasker am:// intents, signature-gated broadcast API, QS freeze tile, Canta/UAD-NG/Hail profile import. - File Manager: recursive in-folder search, ZIP create/extract, smali decode level option. - AGP 9.2.0 / Gradle 9.4.1 migration with Gradle-10-safe scripts. - Security: deep-link parser hardening, install-transcript redactor, CSV-injection defuse, shortcut export hardening. NG-native res/raw/changelog.xml gains a v0.5.0 release block so the auto-display dialog and the new What's-new entry render NG content. fastlane/metadata/.../changelogs/7.txt is the F-Droid release summary. ROADMAP last-updated line, v0.5.0 row, and README roadmap block all reflect the cut; v0.5.x line tracks the Settings reorganization and contextual help tooltips that were deferred from this release.
1 parent c5a7877 commit 96fc0d1

6 files changed

Lines changed: 105 additions & 6 deletions

File tree

CHANGELOG.md

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,65 @@ Format loosely follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
55

66
## Unreleased
77

8+
## v0.5.0 — 2026-05-25
9+
10+
Discovery & Polish release. Banks the Iter-91 → Iter-142 work that
11+
accumulated after v0.4.2 (2026-05-13). Highlights:
12+
13+
- **Discovery** — Settings → About → "What's new" entry point, automatic
14+
release-notes display after in-place updates, global in-app Settings
15+
search wired through the existing toolbar SearchView, and a NG-native
16+
bundled changelog so the in-app viewer no longer ships upstream
17+
v4.0.5 release notes.
18+
- **Backup engine** — AES backup metadata v7 derives per-archive AES-GCM
19+
content keys from the single `am_keystore.bks` master key through
20+
HKDF-SHA256, CIFS/SMB streaming hardening, scheduled-backup freshness
21+
gate, scheduled-backup launcher shortcut, scheduled-backup progress
22+
notifications with API-36 ProgressStyle, default-app role rebind after
23+
restore, backup path-exclusion globs, root-only Android System data
24+
backups, provider-backed Network destination, profile blocklist
25+
enumerates backup roots.
26+
- **Installer** — Privilege cascade (ADB → Shizuku → root) with route
27+
chips and Dhizuku / MIUI diagnostics, split-APK cert-mismatch dialog,
28+
batch APK install from File Manager, installer SHA-256 checksum
29+
confirmation dialog, sensitive-action authentication gate for
30+
install / uninstall / clear-data, Android 17 cleartext-traffic
31+
deprecation warning, Android 17 ML-DSA key algorithm display.
32+
- **Rules** — New Settings → Rules → "Component rules" preview screen,
33+
per-app rollback planner (App Details → "Revert AppManager changes"),
34+
settings snapshot bundle portability v2 (rule TSVs included), OEM
35+
uninstall-blocker bypass (Samsung One UI 8.5 SmartSuggestions / MIUI
36+
core / OPlus uninstall-guarded packages), debloat-definition auto-update.
37+
- **Privileges** — KernelSU diagnostics (seccomp / sulog / App Profile),
38+
Magisk `--drop-cap` policy surface, Dhizuku Provider detection,
39+
Restricted Settings unlock walkthrough, OS-revert detection banner +
40+
Doze allowlist diff, capability-dropping probe, persistent ADB
41+
`tcpip 5555` detection + reuse in the onboarding Wireless ADB setup
42+
branch.
43+
- **Filters & Finder** — Install-date filter + filter-applied chip,
44+
permission-flags filter, Finder relevance scoring, backup-only Finder
45+
results, tracker-name search, per-app language picker, `pm hide`
46+
toggle, SELinux context display, audio-volume AppOps preset.
47+
- **Automation** — Tasker-parameterised `am://` intents, signature-gated
48+
broadcast API, Quick Settings freeze tile, profile import (Canta /
49+
UAD-NG / Hail), Material You / Monet AppWidget theming, assistant
50+
quick actions on `ACTION_ASSIST`.
51+
- **File Manager** — Recursive in-folder search, ZIP create / extract
52+
with zip-slip guard, smali decode-level option (`none` / `basic` /
53+
`verbose`).
54+
- **Distribution & build** — AGP 9.2.0 / Gradle 9.4.1 migration with
55+
Gradle-10-safe build scripts, F-Droid 2.0 ROM preseed templates,
56+
LocalServer bootstrap smoke test, Support Info Bundle composer.
57+
- **Permission monitoring** — Permission Change Monitor and Signing-Cert
58+
Change Alert (both opt-in, default OFF).
59+
- **Security** — Deep-link parser crash / validation-bypass fix,
60+
install-transcript URI redactor hardening, onboarding root-manager
61+
probe fragment-detach fix, OperationHistoryExporter CSV / formula
62+
injection defuse, static launcher shortcut export hardening, GitHub
63+
Actions script-injection mitigations.
64+
65+
Full per-slice notes follow.
66+
867
### Added — Global Settings search (2026-05-25)
968

1069
- The Settings toolbar SearchView is now wired to an in-app preference index

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,8 @@ for the current active backlog. Version targets:
9292
- **v0.2.0** ✅ — applicationId rename to `io.github.sysadmindoc.AppManagerNG`, fresh keystore, GitHub Actions release pipeline, NG CONTRIBUTING.md
9393
- **v0.3.0** ✅ — Material 3 dashboard refresh, Pro Mode toggle, edge-to-edge (Android 15/16 compliance), AMOLED/dark/light themes
9494
- **v0.4.0** ✅ — Permission Inspector (review/bulk-revoke dangerous permissions across all apps; critical-package guard; recovery action) + Onboarding capability wizard
95-
- **v0.5.0** (in flight) — Discovery & Polish: in-app changelog viewer, global in-app Settings search, Settings reorganization by task, contextual help tooltips, plus the Iter-91 → Iter-142 batch (scheduled auto-backup, AES v7 archive-key derivation, ADB tcpip reuse, KernelSU/Magisk drop-cap diagnostics, installer privilege cascade, OEM debloat-blocker bypass, per-app rollback, snapshot-bundle portability v2, component-rules preview, …). See `CHANGELOG.md` `Unreleased`.
95+
- **v0.5.0** ✅ 2026-05-25 — Discovery & Polish: in-app changelog viewer + auto-display after update, global in-app Settings search, plus the Iter-91 → Iter-142 batch (scheduled auto-backup polish, AES metadata v7 HKDF per-archive keys, ADB tcpip reuse, KernelSU/Magisk drop-cap diagnostics, Dhizuku detection, Restricted Settings unlock walkthrough, installer privilege cascade, OEM debloat-blocker bypass, per-app rollback, snapshot-bundle portability v2, Component rules preview, Tasker am:// intents, QS freeze tile, FM recursive search and ZIP create/extract, AGP 9.2.0). See `CHANGELOG.md`.
96+
- **v0.5.x** — Settings reorganization by task, contextual help tooltips (deferred from v0.5.0).
9697
- **v0.6.0** — Rootless Power: Routine Operations / Scheduler, Multi-Tag per App, Saved Filter Presets, Tracker Blocking via AppOps, Premium Polish Phase 2.
9798

9899
## Install

ROADMAP.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
**Status:** Living document — update on every version bump.
44
**Baseline:** v0.1.0, forked from [App Manager](https://github.com/MuntashirAkon/AppManager) @ `3d11bcb` (post-v4.0.5), 2026-04-30.
5-
**Last updated:** 2026-05-25 — Iter-142 active backlog consolidated. The live checklist for Iter-142+ work lives in [`RESEARCH_FEATURE_PLAN_2026-05-25.md`](RESEARCH_FEATURE_PLAN_2026-05-25.md) §Prioritized Roadmap (NF-01..NF-18 + EI-01..EI-10, P0→P3). Tick boxes there as items ship; this ROADMAP retains the long-form T1–T21 source-of-truth and Eng-Debt Register.
5+
**Last updated:** 2026-05-25 — **v0.5.0 cut** (versionCode 7, "Discovery & Polish"). Banks the Iter-91 → Iter-142 batch (AES metadata v7, scheduled-backup polish, installer privilege cascade, Component Rules preview, NG-native bundled changelog, global Settings search, What's-new entry) over v0.4.2. The live Iter-142+ checklist lives in [`RESEARCH_FEATURE_PLAN_2026-05-25.md`](RESEARCH_FEATURE_PLAN_2026-05-25.md) §Prioritized Roadmap (NF-01..NF-18 + EI-01..EI-10, P0→P3). Tick boxes there as items ship; this ROADMAP retains the long-form T1–T21 source-of-truth and Eng-Debt Register.
66

77
**Prior (iter-141, 2026-05-18):** Shipped the T5 **Persistent ADB tcpip 5555 Detection in Shizuku Setup** row: onboarding now probes `127.0.0.1:5555`, surfaces a detected fixed `adb tcpip` session, and lets users connect through ADB-over-TCP without redoing Android Wireless debugging pairing.
88

@@ -272,8 +272,8 @@ Hard constraints:
272272
| **v0.2.0**| Identity | `applicationId` + namespace rename → `io.github.sysadmindoc.AppManagerNG`; new release keystore; GitHub Actions release pipeline; NG-specific CONTRIBUTING.md |
273273
| **v0.3.0**| UX Refresh | Material 3 dashboard; Pro Mode toggle; edge-to-edge (Android 15/16 compliance); AMOLED/dark/light themes |
274274
| **v0.4.0**| Permission Inspector | Review and bulk-revoke dangerous runtime permissions across all installed apps; critical-package denylist guard; in-app recovery action for previously revoked system packages |
275-
| **v0.5.0** | Settings & Discovery | Settings reorganization by task; global in-app search; contextual help tooltips; in-app changelog viewer |
276-
| **v0.6.0** | Rootless Power | Shizuku integration; rootless debloat; wireless ADB auto-pairing |
275+
| **v0.5.0** ✅ 2026-05-25 | Discovery & Polish | In-app changelog viewer + What's new entry + first-run-after-update bottom sheet; global in-app Settings search; Component rules preview; AES metadata v7 HKDF per-archive keys; scheduled-backup polish (freshness gate, launcher shortcut, progress notifications, role rebind, exclusion globs, root system-data, network destination); installer privilege cascade + split-APK cert mismatch; KernelSU/Magisk/Dhizuku/Restricted Settings/OS-revert diagnostics; Tasker am:// intents, QS freeze tile, profile importers; FM recursive search and ZIP create/extract; AGP 9.2.0 build; security and CI hardening. Settings reorganization by task and contextual help tooltips deferred to v0.5.x point release. |
276+
| **v0.6.0** | Rootless Power | Routine Operations / Scheduler, Multi-Tag per App, Saved Filter Presets, Tracker Blocking via AppOps, Premium Polish Phase 2. |
277277

278278
---
279279

app/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@ android {
1515
applicationId = 'io.github.sysadmindoc.AppManagerNG'
1616
minSdk = min_sdk
1717
targetSdk = target_sdk
18-
versionCode = 6
19-
versionName = "0.4.2"
18+
versionCode = 7
19+
versionName = "0.5.0"
2020
// AndroidX JUnit4 instrumentation runner so AndroidJUnit4-annotated tests
2121
// (e.g. AppsDbMigrationTest) are discovered. Default is the legacy
2222
// android.test.InstrumentationTestRunner which would silently skip them.

app/src/main/res/raw/changelog.xml

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,35 @@
66
and the upstream-hosted DTD URL must not be fetched at runtime.
77
-->
88
<changelog>
9+
<release
10+
type="stable release"
11+
version="v0.5.0"
12+
code="7"
13+
date="25 May 2026">
14+
<note>Discovery and Polish release. Banks the Iter-91 -> Iter-142 work.</note>
15+
<new title="Discovery">Settings -> About -> What's new opens the in-app changelog viewer directly; the app now surfaces release notes once after each in-place update.</new>
16+
<new title="Discovery">Global in-app Settings search: the toolbar SearchView indexes every static preference XML and routes taps through the existing am://settings deep link.</new>
17+
<new title="Rules">Settings -> Rules -> Component rules preview lists every package with an AppManagerNG rule file or active IFW XML; tap a row for an IFW XML preview and a jump to App Details.</new>
18+
<new title="Backup">AES backup metadata v7 derives per-archive AES-GCM content keys from the BKS master key through HKDF-SHA256; v6-and-older restores stay backward compatible.</new>
19+
<new title="Backup">Scheduled Auto-Backup gains a freshness-window gate, a pinned launcher shortcut, foreground progress notifications (API 36 ProgressStyle), default-app role rebind, path-exclusion globs, root-only Android System data backups, and a provider-backed Network destination.</new>
20+
<new title="Installer">Privilege cascade tries ADB / Shizuku / root before falling back to Android confirmation; split APKs are checked against the base APK signing cert; batch install from File Manager handles .apk / .apks / .apkm / .xapk.</new>
21+
<new title="Security">Optional sensitive-action authentication gate for install, uninstall, and clear-data; signing-cert change monitor and dangerous-permission change monitor (both opt-in).</new>
22+
<new title="Privileges">KernelSU and Magisk diagnostics (seccomp, sulog, App Profile, drop-cap policy); Dhizuku detection; Restricted Settings unlock walkthrough; OS-revert detection banner with Doze allowlist diff; persistent ADB tcpip 5555 reuse in onboarding.</new>
23+
<new title="Filters">Install-date range filter; permission-flags filter; Finder relevance scoring; backup-only Finder results; tracker-name search.</new>
24+
<new title="App Info">Per-app language picker (Android 13+); `pm hide` toggle; SELinux context display; audio-volume AppOps preset.</new>
25+
<new title="Automation">Tasker-parameterised am:// intents; signature-gated broadcast API; Quick Settings freeze tile; profile import from Canta / UAD-NG / Hail.</new>
26+
<new title="File Manager">Recursive in-folder search; ZIP create / extract with zip-slip protection; smali decode-level option.</new>
27+
<new title="Distribution">F-Droid 2.0 ROM preseed templates; LocalServer bootstrap smoke test; Support Info Bundle composer.</new>
28+
<improve title="Build">Migrated to AGP 9.2.0 / Gradle 9.4.1 with Gradle-10-safe build scripts, pinned NDK 28.2.13676358, and an `androidComponents` server packaging path.</improve>
29+
<improve title="UI">Material You / Monet AppWidget theming; assistant quick actions on Android Assist.</improve>
30+
<fix title="Security">Hardened deep-link parser against crash and validation-bypass; closed userinfo / query / fragment leak in install transcript redactor; defused CSV / formula injection in op-history exports; locked down static launcher shortcuts behind a trampoline.</fix>
31+
<note subtext="true">
32+
Multi-file AES backups produced by v0.4.0 / v0.4.1 (metadata v5) reused the GCM IV across files and remain
33+
unsafe to restore. v0.4.2+ writes metadata v6+ with per-file IV derivation and v0.5.0 layers HKDF-SHA256
34+
per-archive key derivation through metadata v7 on top.
35+
</note>
36+
</release>
37+
938
<release
1039
type="stable release"
1140
version="v0.4.2"
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
Discovery & Polish release. 50+ slices since v0.4.2.
2+
3+
- In-app changelog viewer and global Settings search.
4+
- AES backup metadata v7 (HKDF per-archive keys), scheduled-backup freshness gate, launcher shortcut, progress notifications, role rebind, exclusion globs, root system-data backup, provider-backed Network destination.
5+
- Installer privilege cascade with route chips, split-APK cert-mismatch dialog, batch install from File Manager, optional auth gate for install / uninstall / clear-data.
6+
- Component rules preview, per-app rollback, snapshot portability v2, OEM bypass.
7+
- KernelSU + Magisk diagnostics, Dhizuku detection, Restricted Settings walkthrough, OS-revert banner.
8+
- Tasker am:// intents, broadcast API, QS freeze tile, Canta/UAD-NG/Hail import.
9+
- File Manager recursive search, ZIP create/extract.
10+
- AGP 9.2.0 / Gradle 9.4.1; security and CI hardening.

0 commit comments

Comments
 (0)