Improved: Previously SD Maid relied on a lot of hardcoded values to determine what SD Maid needs to click when using the AppCleaner accessibility service option. Now SD Maid will attempt to read the correct labels from the system settings APK directly and only use the previous way as fallback. This allows SD Maid to automatically support all languages for a ROM if support is added. Finding the right strings is based on the string IDs. These may differ between ROMs. I could only confirm AOSP/Pixel and Samsung ROMs. If v5.3.20 loops on your ROM, but v5.3.19 didn't: Make an issue ticket and upload your ROMs system settings APK, so I can find the right string IDs, or you do that and just tell me the IDs ;).
Improved: Added additional fallback options to how SD Maids accessibility service works, this increases resilience and compatibility with different ROMs, but does not fix all current issues.
Explorer
Fixed: UI issues where snackbars and dialogs would reappear after pausing/resuming SD Maid.
AppCleaner
Improved: Bugreporting filter.
Improved: Hidden chaches filter on MIUI ROMs.
Improved: ACS retry mechanism. Some ROMs (e.g. Huawei) need a short delay to calculate the values displayed in an app's settings page. If SD Maid reads the page too quickly, the items we are looking for at not found on screen. So now if SD Maid sees an ellispsis characters and the initial check failed, a short delay is added before the next try (#5401).
Improved: ACS support for Ukranian.
Statistics
Fixed: Default retention now being correctly reflected in the settings UI.
Changed: Statistics limit has been increased to 365 days.
Fixed: Status bar overlaying elements in a few cases (i.e. header card in the nav drawer).
Changed: Instead access of private app data on rooted device with Android 11+. Instead of working with /data_mirror for which SD Maid still has incomplete support, SD Maid will now use Magisk's --mount-master to restore pre Android 11 behavior with regards to accessing /data/data.
Improved: ACS matching for ru on OnePlus devices with Android 12.
Improved: Exclusions are now applied earlier during scan, this should make it easier for low powered devices to exclude large folders from being scanned (#5324).
StorageAnalyzer
Fixed: Not being able to delete some items on rooted Android 12 under /data/data (#5325).
Added: I've added a grace period that keeps the pro status for a bit, when upgrading via Google Play In-App purchase, as Google Play does not reliably return IAP data.
Fixed: Api level check. Some devices where crashing due to supplying inconsistent version information (faking higher Android versions).
Fixed: Read check for single files/directories when using SAF mode. It always returned exists=true, afaict it only affected copy/move within the explorer.
Explorer
Fixed: Crash when trying to copy/move some files that require SAF mode.
AppCleaner
Improved: ACS matching on Android 12 for pl.
SD Maid v5.3.8 29.11.2021
Core
Improved: Translations.
Fixed: Crash during SAF setup. If the newer storage API don't return a path for a StorageVolume, we now try the legacy (reflection-based) APIs as fallback.
Fixed: Crash on faulty ROMs, where an API is not available despite the Android version being high enough.
Fixed: Crash when deleting files and the storage state changes, after search but before deletion, e.g. storage being mounted/unmounted/ejecting. We'll now just skip such a file, results in most tools correctly refect the deletion failure, as X items remaining/skipped.
Improved: Additional debug output and code changes to make it easier for be to debug permission issues on specific ROMs.
Fixed: Permission setup for Android/data on OnePlus devices with Android 11+ (Thanks Craig).
AppControl
Fixed: App estates showing all potential folders belonging to an app instead of just those that exist.
StorageAnalyzer
Fixed: /data/data being empty on Android 11+, SD Maid will apply --mount-master when scanning /data to circumvent the bind mount from /data_mirror #5201).
Added: Restored access to Android/data on Android 11 & 12 (#5183).
Improved: Fixed files on sdcard not being deletable on some ROMs due to storage write access detection defaulting to NORMAL instead of using SAF during write check, but not read check (#5179).
Improved: Translations.
Improved: Scan speed by optimizing root check.
Improved: SAF permission setup should be simpler now on Android 9,10,11 and 12. Window should open on the correct path.
Improved: File crawling performance when using SAF access.
SystemCleaner
Improved: ANR filter.
QuickAccess
Improved: Hint to enable accessibility service now also shows when using the button bar at the bottom (#5178).
StorageAnalyzer
Improved: Scan on Android 11 & 12, inclusion of Android/data. Note that Android/obb is currently not supported on Android 11 & 12.
Fixed: Read access determination code erroneously returning NORMAL on some rooted ROMs for locations such as /data (SD Maid should always use root permission for /data if available).
AppCleaner
Added: New filter for code_cache folders.
Improved: ACS matching for Samsung & OnePlus ROMs.
StorageAnalyzer
Fixed: Lookup of /data not using root on some rooted ROMs.
Fixed: Crash during setup wizard due to some devices not supporting the standard AOSP activity intent Settings.ACTION_MANAGE_ALL_FILES_ACCESS_PERMISSION (!?).
Fixed: Fixed crash on storage initialization. NPE on some ROMs where SD Maid tried to read ids and labels for storages from the system API via reflection.
Fixed: Crash when trying to the storage index/home view (NPE due to bad case switch between normal file items and the home item representing all storages).
Duplicates
Fixed: Crash when trying to calculate the checksum for a deleted file (could happen when multiple SD Maid tools are run simultaneously.
Added: SAF based read-access for secondary storages on Android 5-10. Previously SD Maid could only support a secondary storage if readable through normal Java-file access, where SAF access was only required for write/delete actions. Now SD Maid supports storages that are just readable using the storage access framework (SAF).
Improved: Translations.
Improved: Clutter database.
Improved: Storage access on Android 11&12.
Changed: Debug menu.
Fixed: Crash when updating widget.
Explorer
Improved: Explorer bookmark refresh behavior, default bookmarks should be reloaded automatically once SD Maid has scanned for storages.
Fixed: Crash due to UI update on background thread.
AppControl
Improved: Task feedback when creating shortcuts.
CorpseFinder
Improved: Dalvik-* filter support for Android 11+.
SystemCleaner
Improved: Support for Android 11+.
Improved: Support for secondary storages.
AppCleaner
Improved: Recycle-bin filter.
Improved: ACS matching on various ROM/language combinations.
Fixed: Navigation drawer somtimes not reflecting pro status.
Fixed: A few random crashes on app launch related to async background checks for IAPs.
AppControl
Added: New feature Custom action. You can input labels in AppControl settings, and then execute Custom action on one or more selected apps. Example: Input the labels Disable + Disable app and use it to batch disable multiple apps (Demo Video).
Improved: Reworked some internal structures related to initating the AppControl tool.
Fixed: Crash during storage detection on certain ROMs. Previous changes allowed for duplicate sdcard storage elements which got caught during later validiation (as it should be) and lead to a crash.
Improved: Clutter database (Ty u/Ingood5 & u/adsakeme on GitHub).
Changed: Because it was apparently not obvious enough, the "permanently skip" option in the initial setup will now pop-open once.
AppCleaner
Improved: Hidden caches filters.
Improved: Advertisements filter.
Improved: Better ACS compatibility with OPPO devices (#3864).
Improved: Matching for Polish on Samsung API 29+ ROMs.
Fixed: A bug where SD Maid would not correctly try all available fallback mechanisms for some language & ROM combinations when using the accessibility service.
Improved: Update clutter database (Ty u/Ingood5 on GitHub).
Improved: Fixed minor UI issues.
Improved: Added accessibility service setup to setup flow, can be skipped. If the accessibility service and usage stats permission are enabled, AppCleaner will automatically enable the features that use it, unless explicitly disabled (i.e. not on default values).
Fixed: Crash when trying to detect file ownership in some scenarios on rooted Android 11 devices.
Explorer
Fixed: Wrong message being used for the force media scan result (4096).
AppControl
Fixed: Task result snackbars and dialogs being shown inconsistently (#4158).
CorpseFinder
Fixed: Crash when using nested exclusions (#3952).
SystemCleaner
Fixed: Filter order being inconsistent (now sorted by title, #3862).
Fixed: Filter export sometimes not showing a result message (#4092).
AppCleaner
Added: ACS support for polish Samsung Android 10 ROMs (#4124).
Improved: Updated filters for hidden cache, recycle bins files and bug reporting files.
Fixed: ACS Matching on Android 11 Asus devices (#4046).