Releases: d4rken-org/sdmaid-se
Releases · d4rken-org/sdmaid-se
v1.7.2-rc0
Immutable
release. Only release title and notes can be modified.
What's Changed
🚀 Enhancements
- Swiper: Warn before scanning an entire storage volume by @d4rken in #2391
- Scheduler: Auto-fix battery optimization via root or ADB by @d4rken in #2393
- General: Publish APK signing certificate fingerprints by @d4rken in #2400
- General: Show app on Android TV / Google TV launchers by @d4rken in #2395
🐞 Bug fixes
- Fix: Settings title stuck when backing out of sub-menus by @d4rken in #2387
- Scheduler: Fix scheduled cleanups failing with error notification by @d4rken in #2392
- Analyzer: Fix wrong secondary storage size on FAT SD cards by @d4rken in #2394
- Squeezer: Preserve original modification date on compressed files by @d4rken in #2398
- Fix: Open app even when storage is completely full by @d4rken in #2403
🤷 Other changes
- SystemCleaner: Log why APKs aren't flagged as superfluous by @d4rken in #2390
- General: Migrate Pages to Actions deploy and refresh Node-20 actions by @d4rken in #2402
- General: Migrate to Actions-driven release flow by @d4rken in #2406
- General: Update translations from Crowdin by @d4rken in #2407
Full Changelog: v1.7.1-rc0...v1.7.2-rc0
v1.7.1-rc0
What's Changed
🚀 Enhancements
🐞 Bug fixes
🤷 Other changes
- Fix: Make dashboard progress cards handle larger font sizes by @d4rken in #2370
- General: Enforce required fields in GitHub issue templates by @d4rken in #2380
- General: Update app translations from Crowdin by @d4rken in #2382
Full Changelog: v1.7.0-rc0...v1.7.1-rc0
v1.7.0-rc0
What's Changed
🚀 Enhancements
- Deduplicator: Show which files will be deleted before confirming by @d4rken in #2326
- Deduplicator: Detect similar video and audio files by @d4rken in #2327
- Deduplicator: Faster image duplicate detection by @d4rken in #2334
- Deduplicator: Improve duplicate image detection accuracy by @d4rken in #2335
- Deduplicator: Improve audio duplicate detection robustness by @d4rken in #2336
- Deduplicator: Show accurate freeable space based on deletion strategy by @d4rken in #2337
- Analyzer: Add search to app list by @d4rken in #2340
- Analyzer: Allow deleting individual storage trend entries by @d4rken in #2342
- Scheduler: Show what was cleaned in result notifications by @d4rken in #2345
- Analyzer: Allow browsing system data when root/ADB available by @d4rken in #2347
- AppCleaner: Speed up cleanup when system modules can't be cleared by @d4rken in #2359
- Swiper: Sort files by age, name, or size by @d4rken in #2363
- Analyzer: Show folder sizes as bars and enlarge loading screen by @d4rken in #2367
🐞 Bug fixes
- Fix: Wrong text highlighted in History dashboard card on non-English locales by @d4rken in #2317
- Fix: Restore progress state after clearing app caches by @d4rken in #2321
- Fix: Crash when previewing images found via root or ADB in Media Squeeze by @d4rken in #2323
- Analyzer: Fix incorrect app sizes in detail view by @d4rken in #2328
- Analyzer: Fix crash when scanning USB storage devices by @d4rken in #2329
- Analyzer: Show Android folder on USB storage by @d4rken in #2330
- Fix: Prevent app freeze during startup by @d4rken in #2339
- Fix: Prevent crashes when opening exclusion editors, file picker, and preview by @d4rken in #2348
- AppCleaner: Fix automation timeout for already-clean apps by @d4rken in #2352
- Fix: Show missing MIUI auto-start hint in automation setup by @d4rken in #2361
- AppControl: Fix shared libraries always showing as disabled by @d4rken in #2362
🤷 Other changes
- General: Spell out abbreviated day labels in storage trend by @d4rken in #2318
- General: Update translations from Crowdin by @d4rken in #2319
- General: Add Fastlane metadata length validation to CI by @d4rken in #2320
- General: Upload R8 mapping files to Google Play via Fastlane by @d4rken in #2322
- General: Add non-transitive R class pitfalls to architecture rules by @d4rken in #2324
- Fix: Remove mapping_paths from Fastlane supply config by @d4rken in #2331
- General: Lock down GitHub Actions workflow permissions by @d4rken in #2332
- Analyzer: Prevent hang and memory issues for large apps by @d4rken in #2338
- General: Safer navigation argument passing by @d4rken in #2341
- General: Replace XML navigation with type-safe Kotlin DSL routes by @d4rken in #2343
- General: Replace XML navigation with type-safe Kotlin DSL routes (part 2) by @d4rken in #2344
- General: Replace Moshi with kotlinx.serialization by @d4rken in #2350
- AppCleaner: Fix OriginOS 6 stuck automation for Indonesian locale by @d4rken in #2351
- General: Replace string-based setup qualifiers with type-safe annotation by @d4rken in #2354
- General: Reduce log noise for cross-profile packages by @d4rken in #2355
- General: Improve diagnostics for silent root/ADB connection failures by @d4rken in #2358
- General: Update translations from Crowdin by @d4rken in #2360
- General: Add regression tests for Room TypeConverters by @d4rken in #2364
- General: Upgrade AGP to 9.1.0 and Gradle to 9.3.1 by @d4rken in #2366
Full Changelog: v1.6.5-rc0...v1.7.0-rc0
v1.6.5-rc0
What's Changed
🚀 Enhancements
- General: Track storage space usage over time by @d4rken in #2271
- General: Fix storage trend graph not showing cleaning impact by @d4rken in #2300
- General: Fix app scanning on Chinese ROM devices (HyperOS, ColorOS, etc.) by @d4rken in #2311
🐞 Bug fixes
- Fix: Improve debug log recording and support email reliability by @d4rken in #2291
- AppCleaner: Fix automation not working on Black Shark devices by @d4rken in #2295
- AppCleaner: Fix dry run mode for cache clearing on Pixel devices by @d4rken in #2296
- CorpseFinder: Fix crash when scanning folders that can't be accessed by @d4rken in #2303
- AppCleaner: Fix slow automation timeout on HyperOS/MIUI devices by @d4rken in #2308
- General: Prevent recursive file deletion from following symlinks by @d4rken in #2312
🤷 Other changes
- General: Add test coverage for debug log recording resume by @d4rken in #2292
- General: Fix store listing wording for tablet compatibility by @d4rken in #2293
- General: Update GitHub Actions to Node.js 24-compatible versions by @d4rken in #2294
- General: Update translations from Crowdin by @d4rken in #2313
Full Changelog: v1.6.4-rc0...v1.6.5-rc0
v1.6.4-rc0
What's Changed
🚀 Enhancements
- Swiper: Open files in external apps while swiping by @d4rken in #2265
- General: Encourage visiting sponsors page before unlocking features by @d4rken in #2268
- Swiper: Filter files by type before scanning by @d4rken in #2269
- General: Centralize debug log session management by @d4rken in #2273
- General: Ask if message was sent after returning from email app by @d4rken in #2286
🐞 Bug fixes
- Fix: Broken navigation after multi-module migration by @d4rken in #2266
- AppCleaner: Fix slow automation on French locale Pixel devices by @d4rken in #2274
- Fix: Prevent app freezing during startup on Google Play version by @d4rken in #2282
- Fix: Prevent crash when a cleaning task gets stuck by @d4rken in #2283
🤷 Other changes
- CorpseFinder: Add missing clutter markers for popular apps by @d4rken in #2255
- CorpseFinder: Add clutter markers discovered from Reddit archives by @d4rken in #2256
- General: Update translations from Crowdin by @d4rken in #2257
- General: Update translations from Crowdin by @d4rken in #2260
- General: Extract cleaning tools into separate Gradle modules by @d4rken in #2215
- General: Update translations from Crowdin by @d4rken in #2267
- General: Reduce sponsor page wait time by @d4rken in #2277
- General: Improve dry-run realism for Swiper and Squeezer by @d4rken in #2272
- General: Move shared resources to common modules and fix CI test coverage by @d4rken in #2278
- General: Improve debug session timestamp reliability by @d4rken in #2288
- General: Update translations from Crowdin by @d4rken in #2287
Full Changelog: v1.6.3-rc0...v1.6.4-rc0
v1.6.3-rc0
What's Changed
🚀 Enhancements
- General: Warn when debug recording is stopped too quickly by @d4rken in #2243
- General: Fix short-recording warning surviving app restarts and show recording duration by @d4rken in #2245
- General: Improve contact form UX and fix settings toolbar title by @d4rken in #2249
- General: Show parent screen name in settings toolbar by @d4rken in #2250
- General: Add debug tool to identify unknown folders by @d4rken in #2253
🐞 Bug fixes
- AppCleaner: Fix cache clearing failing on some MIUI devices by @d4rken in #2233
- AppCleaner: Fix cache clearing on Android 16/17 Google Pixel devices by @d4rken in #2240
- Fix: Show localized error instead of raw exception when automation overlay fails by @d4rken in #2241
- General: Fix settings storage for nullable preferences by @d4rken in #2244
- Swiper: Fix crash on Czech locale devices by @d4rken in #2246
- General: Fix freeze when selecting all items in large result lists by @d4rken in #2247
🤷 Other changes
- General: Changelog button in settings now opens the website changelog by @d4rken in #2242
- General: Update translations from Crowdin by @d4rken in #2251
- CorpseFinder: Detect leftover data from CX File Explorer by @d4rken in #2252
- General: Fix KSP errors in CI logs by @d4rken in #2254
Full Changelog: v1.6.2-rc1...v1.6.3-rc0
v1.6.2-rc1
What's Changed
🚀 Enhancements
- Swiper: Add help onboarding and improved descriptions by @d4rken in #2202
- General: Add in-app support contact form by @d4rken in #2214
- Swiper: Allow cancelling scans on large folders by @d4rken in #2230
- General: Show text file previews as thumbnails by @d4rken in #2231
- General: Show PDF file previews as thumbnails by @d4rken in #2232
🐞 Bug fixes
- General: Fix crash when accessing ViewBinding after view destroyed by @d4rken in #2207
- Fix: Prevent crash when browsing files by @d4rken in #2209
- General: Close settings windows after automation finishes by @d4rken in #2212
- General: Detect and warn when accessibility shortcut/button is accidentally enabled by @d4rken in #2218
- Fix: Prevent getting stuck on Setup screen after enabling accessibility service by @d4rken in #2220
- Fix: APK files not showing icon preview in swiper by @d4rken in #2229
🤷 Other changes
- General: Fix duplicate APK uploads in GitHub releases by @d4rken in #2194
- General: Remove kotlin-reflect and unused Lottie assets by @d4rken in #2198
- General: Reduce Coil image loader log spam by @d4rken in #2199
- AppCleaner: Improve DPAD cache clearing on Android 17 by @d4rken in #2200
- General: Bump Android Gradle Plugin to 9.0.1 by @d4rken in #2201
- General: Update translations from Crowdin by @d4rken in #2203
- General: Complete missing translations across all modules by @d4rken in #2204
- General: Update translations from Crowdin by @d4rken in #2206
- Scheduler: Improve automation error messages by @d4rken in #2210
- General: Remove Armenian language support by @d4rken in #2217
- General: Update translations from Crowdin by @d4rken in #2222
- General: Update fastlane to latest version by @d4rken in #2223
- General: Update descriptions and translations from Crowdin by @d4rken in #2225
- General: Add diagnostics for navigation failure after process death by @d4rken in #2226
- General: Update dependencies to latest stable versions by @d4rken in #2227
- General: Raise target SDK to Android 16 by @d4rken in #2228
Full Changelog: v1.6.1-beta0...v1.6.2-rc1
v1.6.1-beta0
What's Changed
🚀 Enhancements
- General: Improve string pluralization and fix wording by @d4rken in #2154
- General: Replace PhotoView with ZoomImage for better zoom support by @d4rken in #2185
- Squeezer: Improve image comparison and preview system by @d4rken in #2186
- Squeezer: Show total savings in results and use error color for compress button by @d4rken in #2187
- AppCleaner: Add fallback strategies for clearing cache on Android 16 Beta 1 by @d4rken in #2057
🐞 Bug fixes
- Scheduler: Fix missing notification on execution error by @d4rken in #2155
- General: Fix ANR in RecyclerView data binding and improve list infrastructure by @d4rken in #2160
- General: Fix crash on Georgian locale in stats dashboard by @d4rken in #2162
- General: Fix ANR caused by lock contention during app startup by @d4rken in #2165
- General: Fix R8 merging exception classes in crash reports by @d4rken in #2164
- General: Fix crash when files disappear during directory scan by @d4rken in #2163
- General: Fix navigation silently failing on app open by @d4rken in #2161
- General: Fix crash when selecting list items during data changes by @d4rken in #2166
- General: Fix ANR caused by unnecessary TabLayout tab recreation by @d4rken in #2167
- General: Fix APK rename breaking Android Studio deployment by @d4rken in #2168
- General: Fix TabLayout scroll position after page deletion in detail screens by @d4rken in #2170
- General: Fix foreground service ANR on slow startup by @d4rken in #2172
- General: Fix crash when accessibility service is launched by foreign app by @d4rken in #2173
- General: Fix crash when system server dies during IPC calls by @d4rken in #2180
- General: Fix animation state not restored after automation by @d4rken in #2181
- General: Fix crash from corrupted JSON in serialized storage by @d4rken in #2183
- General: Fix tests appearing stuck in Android Studio by @d4rken in #2184
🤷 Other changes
- General: Fix string pluralization and rephrase force-stop summary by @d4rken in #2153
- General: Improve AI assistant configuration by @d4rken in #2156
- General: Remove stale CLAUDE.md exclusion from _config.yml by @d4rken in #2157
- Root: Add SukiSU-Ultra to known root managers by @xxxxxliil in #2159
- General: Improve signing config diagnostics by @d4rken in #2169
- Swiper: Improve swipe action labels and fix sessions FAB insets by @d4rken in #2175
- General: Add dry run support for Squeezer and Swiper by @d4rken in #2188
- General: Reorder tools in settings by @d4rken in #2189
- General: Update translations from Crowdin by @d4rken in #2191
New Contributors
- @xxxxxliil made their first contribution in #2159
Full Changelog: v1.6.0-beta6...v1.6.1-beta0
v1.6.0-beta6
What's Changed
🚀 Enhancements
- Optimize ProGuard rules and signing configs by @Goooler in #2083
- Replace KAPT with KSP by @Goooler in #2080
- General: Fix display cutout handling in landscape mode by @d4rken in #2093
- SystemCleaner: Add option to exclude same-version APKs from deletion by @d4rken in #2101
- Exclusion: Add ability to edit path in Exclusion Manager by @d4rken in #2102
- Deduplicator: Add "Prefer keeping in" feature for automatic duplicate selection by @d4rken in #2104
- Deduplicator: Add configurable arbiter criteria settings by @d4rken in #2108
- AppControl: Add batch app archiving for Android 15+ by @d4rken in #2116
- AppControl: Add Debug tag for debuggable apps by @d4rken in #2117
- AppControl: Add mutual exclusivity between ENABLED and NOT_INSTALLED filters by @d4rken in #2122
- General: Improve D-pad focus navigation for Android TV by @d4rken in #2124
- AppControl: Enhance share list with Markdown format and store links by @d4rken in #2125
- General: Improve Google Play billing error messages by @d4rken in #2126
- Analyzer: Add grid view mode with larger thumbnails by @d4rken in #2127
- General: Add dashboard card configuration by @d4rken in #2128
- AppCleaner: Add option to force-stop apps before clearing cache by @d4rken in #2130
- Deduplicator: Add directory view mode for duplicate clusters by @d4rken in #2131
- General: Add new "Swiper" tool (manual file review tool) by @d4rken in #2115
- General: Add new "Media Squeeze" tool (media compression) by @d4rken in #2118
- General: Improve preview UI consistency and usability by @d4rken in #2149
🐞 Bug fixes
- build: Bump Navigation from 2.9.3 to 2.9.6 by @d4rken in #2061
- AppCleaner: Fix automation on HyperOS 2.x devices by @d4rken in #2058
- Deduplicator: Show both total and freeable size in cluster cards by @d4rken in #2103
- Deduplicator: Fix FileForensics resource not kept alive during deletion by @d4rken in #2109
- Pkgs: Fix uninstalled app detection on API 35+ by @d4rken in #2111
- General: Fix flaky DataStoreValueTest by @d4rken in #2114
- AppCleaner: Fix automation lag on HyperOS 3 for apps with no cache by @d4rken in #2119
- CorpseFinder: Suppress notification when 0 remnants found by @d4rken in #2120
- General: Fix folder picker bottom padding calculation by @d4rken in #2133
- AppControl: Fix inflated app sizes due to cache double-counting by @d4rken in #2144
- Fix: SAF setup incorrectly prompts for Android/data access on AOSP ROMs by @d4rken in #2145
- Dashboard: Remove task result snackbar by @d4rken in #2147
- General: Fix CI release build signing regression by @d4rken in #2152
🤷 Other changes
- build: Bump Android Gradle Plugin from 8.12.0 to 8.13.2 by @d4rken in #2060
- CI: Bump JDK from 17 to 21 by @d4rken in #2059
- Fix typo by @d4rken in #2094
- General: Upgrade to Android Gradle Plugin 9.0.0 by @d4rken in #2097
- General: Update translations from Crowdin by @d4rken in #2096
- General: Update Gradle wrapper to 9.3.0 by @d4rken in #2100
- General: Suppress deprecation and unchecked cast warnings by @d4rken in #2105
- General: Migrate from applicationVariants to androidComponents Variant API by @d4rken in #2110
- Deduplicator: Notify MediaStore about deleted media files by @d4rken in #2112
- General: Add placeholder test to app-common-adb module by @d4rken in #2113
- Analyzer: Make System Data card non-clickable by @d4rken in #2121
- General: Use JUnit @tempdir in ExclusionStorageTest by @d4rken in #2129
- General: Add "New" badge for dashboard tool cards by @d4rken in #2141
- General: Add Gradle daemon JVM toolchain configuration by @d4rken in #2143
- General: Update translations from Crowdin by @d4rken in #2146
- General: Reorder dashboard cards to show Swiper before Squeezer by @d4rken in #2150
- General: Remove obsolete test report steps for Beta/Release variants by @d4rken in #2151
New Contributors
Full Changelog: v1.5.7-rc0...v1.6.0-beta6
v1.5.7-rc0
What's Changed
🚀 Enhancements
- General: Make debug card translatable by @d4rken in #2050
- Scheduler: Improve user interface and design by @d4rken in #2054
🐞 Bug fixes
- AppCleaner: Use label-priority search for clear cache button detection by @d4rken in #2048
- General: Fix minimum size input in Korean and other locales by @d4rken in #2051
- Scheduler: Fix scheduled tasks shifting by 1 hour after DST transitions by @d4rken in #2052
- AppCleaner: Fix automation timeout on apps with empty cache by @d4rken in #2053
🤷 Other changes
Full Changelog: v1.5.6-rc0...v1.5.7-rc0