- Latest production version: v4.9.5(40905), Unlocker v4.2.2(40202)
- Latest beta version: v4.10.2(41002)
- Legacy versions: v3.1.5.4, v2.1.4.1, v0.9.8.9.
SD Maid v4.10.2 22.02.2018
- Improved: Clutter database.
- Improved: Translations.
- Improved: Internal debug related routines.
- Improved: Navigation headcard layouting (#1308).
- Improved: Exclusion manager core code.
- Improved: Code related to serialization of exclusions/filters and other data.
- Improved: Updated used 3rd party libraries.
- Fixed: Issue with I/O operations where SD Maid would crash instead of just displaying an error.
- Fixed: Crash when root permission are inconsitently granted.
- Changed: Default exclusion of
.stfolder
from the empty directories filter. - Fixed: Crash when opening filter editor.
SD Maid v4.10.1 04.02.2018
- Improved: Updated clutter database.
- Improved: Internal structure to improve testing.
- Improved: Progressbar performance in all tool pages.
- Improved: If automatic sdcard permission granting (Android 7.0+) fails because the ROM returns incorrect data (some NOKIA ROMs) SD Maid will automatically fall back to manual selection.
- Improved: Updated libraries (RxShell to better handle root detection, if
su
binary is unavailable). - Fixed: Launch issue on some ROMs.
- Fixed: Storage access framework permission not being accepted by SD Maid in some circumstances.
- Improved: Filter for bugreporting related files.
- Fixed: Added toolbar backarrow navigation.
- Fixed: Crash when editing autoselection criteria (#1483).
- Fixed: Crash when rotating the duplicates settings screen (#1484).
- Fixed: Crash when rotating the scheduler settings screen.
- Improved: Better layout performance.
- Improved: Progress and action feedback should feel more responsive.
- Fixed: Button states sometimes not updating correctly.
SD Maid v4.10.0 29.01.2018
- Improved: Translations.
- Improved: Clutter database.
- Improved: Internal code changes to improve code testing and make the code more modular. Also some structural changes to progress feedback and internal "workers" for future features.
- Fixed: Crash related to SD Maids binary setup. SD Maid should no longer try to use root to clear injected binaries if root isn't actually available.
- Fixed: Entering the screen should no longer trigger a scan automatically.
- Fixed: The filter for empty dirs should now correctly match empty sub directories of DCIM/Pictures etc.
- Improved: UI performance.
- Fixed: Layout being cut off when accessiblity options to increase textsize are used.
- Added: Option to reset settings to defaults.
- Added: Feature "Prune Media Storage" (on by default). Pruning Media Storage means that when SD Maid deletes a duplicate, the system's media storage app is queried for references to the deleted file and if necessary that reference is deleted. This keeps gallery apps from showing stale references.
- Added: "Automatic" autoselection. SD Maid can now automatically choose the best duplicates to keep based on a set of criteria you can adjust.
- Improved: Migrated duplicates tool related settings from the general settings file into their own settings file (for future import/export of settings).
- Improved: User interface. Better use of space and better UI performance on low end devices due to flatter UI layouts.
- Fixed: Autoselection should no longer lag the UI when running on thousands of files. The UI will stay responsive and the operation can also be canceled.
- Fixed: Option "Generate previews" now also affects previews of duplicates.
- Changed: Moved item context options a bit around.
- Changed: Exclusion of
/Android/data/
is no longer hardcoded and can be modified as part of SD Maids exclusion system.
SD Maid v4.9.5 11.01.2018
- Improved: Translations.
- Improved: Clutter database.
- Fixed: Second try at fixing a possible crash when shell processes die prematurely.
- Improved: Thumbnails filter variants of
thumbnails
folders in<SDCARD>/DCIM
.
- Fixed: Resetting the reboot option by opening the ui page.
- Improved: Translations.
- Fixed: Second try at fixing a possible crash when shell processes die prematurely.
- Improved: Translations.
- Fixed: Possible crash when a shell process dies prematurely.
SD Maid v4.9.2 21.12.2017
- Improved: Translations.
- Improved: Clutter database.
- Fixed: Inconsistent list display when deleting the last items [#1361].
- Fixed: Strings such as SD Maid
PRO
orBETA
not actually being colored on Android 8.0+. - Fixed: A rare crash that could happen when a shell process failed and exited prematurely.
- Fixed: Crash when granting SAF on permissions and the ROM returns that the action was
OK
, but actually wasn't, and no data is returned. - Fixed: Crash when trying to report a clutter entry but the list of installed apps contains an app without a name.
- Fixed: Crash when creating an
Activity
shortcut and the app has no name.
- Changed: The thumbnails filter is no longer enabled by default [#1382].
- Changed: The three different types of thumbnail filters have been merged into one [#1386]
- Changed: Filter categories generic/specific.
- Improved: Bugreports filter.
- Improved: if
freeStorageAndNotify
is unavailable, hide it.
- Improved: Duplicates scan now skips files when I/O errors occur during checksum calculation instead of aborting [#1389].
- Fixed: Crash when opening the Scheduler settings [#1383].
- Fixed: Crash when restoring the Scheduler page after low memory events [#1387].
SD Maid v4.9.1 15.12.2017 (BETA)
- Improved: Updated clutter database.
- Improved: Updated support libraries which may or may not fix some rare UI issues.
- Improved: Logic related to enabling pro features after installing the unlocker.
- Improved: Started migration to a new MVP type UI architecture to make the code cleaner code and allow for better testing. The library I created for this is also open-sourced and available, see OMMVP).
- Improved: Updated all used library where available.
- Improved: On Android 7.0+ secondary external storage permission can now be granted via yes/no dialog (scoped directory access) instead of manual path selection [#1380].
- Changed: Target/Compile SDK is now finally set to API 27 (Android 8.1), this didn't work correctly previously.
- Changed: Switched the core file data from using
ctime
(change time of metadata) tomtime
(change time of file content) [#1285]. - Fixed: Root detection not working [#1352] with SuperSU and other root types due to migration to RxShell which is finally open-sourced, yay!
- Fixed: List data not being updated correctly in almost every tool page if the last entry was deleted via details [#1361].
- Fixed: SAF permission for nested locations (e.g. Android/data) not being available after completing the setup until SD Maids had been restarted [#1296].
- Changed: "Create filter" is now called "Add to SystemCleaner" to make it more descriptive (#1364).
- Fixed: Not being able to install
*.apk
files on Android 8.0+ [#1313].
- Fixed: Activity shortcuts not working on Android 8.0+ [#1376].
- Fixed: Minimum age not being saved if maximum age was not set for user filters [#1363].
- Added:
apolloCache
,.facebook_cache
, FB & FB Messenger [#1159] "videoCache" as hidden cache. - Added: Added
*.crdownloads
to Chrome as hidden cache [#1154].
- Improved: UI loading feedback.
- Improved: Options that are not available (require root) are now hidden if there is no root [#1335].
SD Maid v4.9.0 28.11.2017 (BETA)
- Improved: Rewritten internal shell system. The new shell system improves the performance of all shell using routines, some routines (e.g. SystemCleaner) are up to 50% faster (Ty Mike).
- Fixed: Failure to kill/cancel processes running with root.
SD Maid v4.8.7 28.11.2017
- Improved: Updated clutter database.
- Improved: Updated translations.
- Fixed: Build with buildtools 27.0.1 to fix bootloops on CyanogenMod 12-13/LineageOS 13/Replicant 6 due to OS bug.
- Improved: Canceling behavior.
- Fixed: Fixed incorrect scan summaries when exclusions are used (#1290).
- Fixed: Stock filters not instantiating (proguard sigh).
SD Maid v4.8.4 31.10.2017
- Improved: Clutter database.
- Improved: Translations.
- Improved: Clutter database structure and match generation. Support for multiple markers for the same package. This allows us to describe more apps with less entries.
- Improved: Internal code structures and unit tests related to file forensics (ownership etc.) to keep SD Maids code base healthy :).
- Improved: Tooling, libraries.
- Fixed: USB-OTG storage is now ignored if the mountpoint has the filesystem TMPFS. This should fix SD Maid trying to get permission for non-existing storage (#1277).
- Fixed: Inconsistently displayed scan results between the UninstallWatcher, QuickAccess page and CorpseFinder main view (#1281).
- Improved: Hiddencaches filter additional
MediaCache
related folders are targeted (#1258).
- Improved: Internal code structure to reduce duplicate code, improve unit testing and allow better reuse of routines between default and user created filters.
- Added: Default exclusion for the system settings provider and the sync provider on older phones (~Android 5.X).
- Added: Setting "Result notifications" which affects whether SD Maid shows notifications for task results, similar to the previous "Persistent notifications" setting. I'll remove this setting again when sufficient people are running Android Oreo (so probably in a few years...).
- Improved: Translations.
- Improved: The corpse icon will now be colored teal if SD Maid thinks an item is a corpse, but the item is flagged as common and thus not part of CorpseFinder results (see common items).
- Improved: UninstallWatcher now uses the same scan scope as the normal scan from SD Maids UI. It was previously limited to public storage, and private app data storage.
- Fixed: UninstallWatcher not finding corpses when SD Maid was still in memory with an old list of installed apps (doing a forced refresh now).
SD Maid v4.8.2 28.09.2017
- Improved: Updated translations.
- Improved: Clutter database (#1156, #1153, #1161, #1160, #1162)
- Improved: Path (breadcrumb) UI elements.
- Added: App version to list view.
- Added: Hidden Plex cache.
- Fixed: Crash when canceling tasks.
- Improved: UI show "Not possible" instead of "Error" as it's more accurate.
- Fixed: Database owner being shown as "Unknown".
SD Maid v4.8.1 23.09.2017
- Improved: Updated translations.
- Fixed: Fixed racecondition that could lead to a crash when canceling tasks (#1150).
- Fixed: Worker thread priority not being set according to foreground/background state of SD Maid.
- Fixed: SD Maid not correctly detecting when running in the background (#1148, ty @GabrielMGitHub).
- Fixed: Crash when canceling tasks running with root (#1149).
- Fixed: Symlink setting not being used when searching for databases (#1151, ty Sergey).
SD Maid v4.8.0 22.09.2017
- Added: Language selection, option to enforce different languages than english (#916).
- Added: Dynamic clutter matching for
/sdcard/data/Data/some.pkg
(developer path mistakes). - Improved: Clutter database (#1053, #1049, #1048, #1047, #1046, #1054, #1058, #1059, #1060, #1065, #1068, #1070, #1072, #1073, #1074, #1075, #1076, #1077, #1088, #1109, #1108, #1107, #1106, #1105, #1094, #1095, #1027, #1114, #1118, #1119, #1120, #1137, #1131, #1132, #1141, #1142).
- Improved: Image loading (glide update).
- Improved: Added support for dynamic package matching more than 1 level deep.
- Improved: Content description for floating action buttons to help with accessibility (#1027).
- Improved: USB-OTG device detection (#1116).
- Improved: Root type detection (MAGISK) (#1092).
- Improved: Debug output, now also printing environment variables into debug logs to help troubleshoot sdcard/usb detection (#1117).
- Improved: Raised target SDK to Android Oreo.
- Improved: App launch speed (#998).
- Improved: Notification messages.
- Improved: Translations.
- Fixed: Crash when checking running processes and the system returns
null
instead of an empty list. - Fixed: SD Maid indefinitely hanging at the root check (#878).
- Fixed: Deadlock during task canceling (#878).
- Changed: Target API to 26 (Oreo).
- Changed: Internal background, service and notification behavior to conform to new Android Oreo restrictions (#801, #804).
- Removed: Setting "persistent notifications". The notification system was rewritten to improve compatibility with Android Oreo and this setting didn't fit with the changes I had to make (#801).
- Improved: App details text can now be selected and copied (#1139).
- Fixed: SD Maid being shown among frozen apps (despite being obviously not frozen, #1103, ty MikeL).
- Improved: Wording in the clutter report screen (#1137).
- Improved: Detect corpses of apps that are still installed, but where the ROM's app installer failed to remove files (in app, app-private) after updates (#996, Ty mzielinskim).
- Fixed: Ownership detection of base app files for Android Oreo (#802)
- Changed: Filter categorization to make more sense.
- Added: Filter for Threema files.
- Improved: Bug reporting filter to include more log file types.
- Changed: Filter categorization to make more sense.
- Removed: Shortcut to system storage settings on Android Oreo, due to system cache clearing options no longer being available (#1121).
- Improved: Searching , expanded checked extensions in non database folders to
*.sqlite
and*.sql
- Improved: Search locations, search now includes all public storage (#1067).
SD Maid v4.7.6 05.08.2017
- Improved: Updated translations.
- Improved: Updated clutter database (#997, #1009, #1014, #1015, #1021, #1022, #1023, #1024, #1025, #1032, #1034, #1035, #1036, #1017).
SD Maid v4.7.5 29.06.2017
- Improved: Translations (some new languages yay \o/).
- Improved: Clutter database (#977, #972, #971, #970, #968, #965, #955, #952, #950, #992, #988).
- Improved: Code related to checking app cache sizes on Android 6-7.
- Fixed: Make sure that we don't launch something like "BlackBerry Market" when trying to take the user to SD Maid on Google Play (#861).
- Fixed: Crash when a newer version of SD Maid is installed and SD Maid tries to update internal binaries.
- Fixed: Not being able to jpg files on some ROMs (#951).
- Improved: App install data (e.g. /data/app ) detection. Adjusted routines for apps with unusual pathes. Mostly relating preinstalled aps, mostly emulator type ROMs but also some others.
- Fixed: Not being able to access the filter drawer if the list is empty as otherwise the user could be stuck on a specific sort mode.
SD Maid v4.7.4 30.05.2017
- Improved: Translations.
- Improved: Small code improvements.
- Improved: Clutter database (#944, #943, #942, #940, #938, #937, #936, #935, #933, #909, #913, #914, #941, #934).
- Changed: The secondary storage setup can now be skipped after a few seconds (before you had to try granting permissionat least once).
- Fixed: Crash when an app was uninstalled and SD Maid was working with stale data.
- Fixed: Crash when sorting apps by name and an app had no name.
- Removed: Filter for old WhatsApp backups. The SystemCleaner works best with files with unknown owners, in this case we know who owns the files (WhatsApp) so the AppCleaner is better suited this as it can check if an app is running or work with exclusions via packagename.
- Added: Filter for old WhatsApp backups.
- Added: Markers ".Trash" and ".trash" to the hidden caches filter.
- Improved: WhatsApp sent/received filters. Added matching for "Animated Gifs".
SD Maid v4.7.3 25.05.2017
- Improved: Handling of files with invalid group/user ids (out of valid number) range. Mostly happens with custom mounted storage devices.
- Improved: Handling of symbolic links without link target (encountered when mounting storage from other operating systems).
- Improved: Debugging output.
- Improved: Clutter database (#889, #890, #891, #893, #894, #895, #897, #899, #900, #901, #902).
- Fixed: Crash when automatic crash reporting was disabled and SD Maid tried to report a specific issue.
- Fixed: Export function missing since v4.7.2.
- Added: Filter for old (>1day) WhatsApp message backups to filter page "other" (#904).
- Fixed: Don't crash SD Maid if unknown apps send incompatible intents to the ExternalTaskReceiver.
- Fixed: Shell environment variables not being correctly set (Ty Марат Зельман & Семен Топаль).
- Fixed: Preview loading. Previews should no longer fail to load and get stuck on the "spinning circle", should be a little bit faster too.
- Fixed: Preview failing for some apps build for Android O.
- Changed: Reverted hotfix from v4.7.1 because it didn't address the underlying issue.
- Fixed: Issue issue when reading/getting files (stat output parsing issue).
SD Maid v4.7.0 13.05.2017
- Improved: Translations (thanks!).
- Improved: Clutter database (#880, #875, #874, #873, #847, #855, #856, #857, #858, #860, #849, #859, #862, #876).
- Improved: Debug output (#851).
- Improved: Updated used libraries & tooling.
- Improved: Updated toybox binary.
- Improved: Binary setup/compatibility tests for
xargs
andfind
. - Improved: Binary setup. Better ROM comaptibility. "Mix&Match" of applets from different binary sources is now supported.
- Improved: Dalvik-Cache ownership detection.
- Improved: Improved
/data/app
&/data/app-private
ownership detection. - Improved: File processing of unusual names (carriage return/newline feeds).
- Improved: Resource usage, certain internal objects are now no longer aquired multiple times during SD Maids runtime.
- Improved: Lots of internal code structure, refactoring galore to improve unit testing.
- Improved: Exclusion creation. It's now no longer possible to accidentally enter
\n
when creating exclusions. - Improved: Dates displayed in SD Maid use the users preferred (system set) way of displaying dates (dd/MM/YY vs MM/dd/YY).
- Fixed: Binary update routine in cases where the existing binary could not be deleted due to wrong permissions.
- Fixed: Debug data reading on Android O (#833).
- Fixed: Files not being read correctly depending on which stat applet was used (parsing failure).
- Fixed: SD Maids own update check not checking the previous version correctly.
- Improved: Busybox/Sqlite details regarding applet use.
- Added: Corpses marked as "keeper" will now appear with an orange ghost icon instead of the normal white one.
- Improved: When creating a filter, a sample description will be prefilled.
- Changed: When creating filters, and the item is a directory,
/
will be appended (#868).
- Fixed: ApkData false positives on Android O (#829, ty dreamland2000).
- Improved: App size display. If SD Maid is unsure about an apps size, this is now visible (#844).
- Changed: SD Maids unlocker is now visible (#837).
- Changed: Certain actions are disallowed on SD Maid and the Unlocker (it doesn't make sense to let SD Maid disable SD Maid) (#837).
- Added: Attributes & UI elements to support filtering by
minimumAge
and `maximumAge´ (#333). - Improved: UserFilter export. Only save fields into the
.json
file that are actually necessary (#867). - Improved: Scan performance for items that will eventually match a filter that doesn't use the
location
criteria.
SD Maid v4.6.5 06.04.2017
- Improved: Translations.
- Improved: Root binary & app detection, added support for magisku.
- Improved: Updated clutter database (#799, #780, #782).
- Improved: Debug output. Fixed typos, better naming.
- Improved: Root related code. Lots of refactoring and new unit tests. Some preperation to move root related classes into an external library that I can open source.
- Improved: Improved analytics. Moved to https. Removed tracking for data that proved to be not useful (referrer data). Updated to latest Piwik 2.0 build.
- Improved: Image loading (latest glide library).
- Improved: Pro/Unlocker related code. Unified checks and upgrade dialog. More granular control (instead of isPro(), hasFeature(X)). Preparations to allow for different upgrade paths than via the unlocker app.
- Fixed: Filetype being wrong when sharing files (e.g. uploading to GDrive) (#786).
- Changed: Changing the "preview" option in the settings no longer requires the pro version. Currently only affects previews in the duplicates tool.
- Added: Search option field for "Path doesn't contain". Will be exanded to a list in a future rewrite (#809).
- Removed: Global searcher exclusion as they were not working (#809).
- Improved: Uninstall watcher should now work on Android O (#800).
- Fixed: Always showing a toast message when adding an activity (#823).
- Fixed: App size not correctly determined on unrooted devices (#820).
- Fixed: Typo in date format when sharing a list of apps.
- Improved: Hidden caches filter, added facebook video cache.
- Fixed: Inconsistent toolbar icons (#788).
- Changed: The free version will now show file previews.
- Fixed: Text being cut off when changing font sizes via accessibility settings (#789).
- Improved: Only attempt truncation if new limit is lower than old one.
SD Maid v4.6.4 05.03.2017
- Added: Link to privacy policy (sdmaid.darken.eu/privacy).
- Added: Support for clutter markers which define their target packages via regular expressions.
- Improved: Automatic bug reporting tool.
- Improved: Translations.
- Improved: Clutter database (#768, #761, #765, #767, #771, #772, #773, #774, #762, #763, #751, #755).
- Improved: Updated tooling and used libraries.
- Improved: Code handling dynamic clutter markers (which can match apps without really knowing the specific apps).
- Fixed: Clutter reporter not including uninstalled (but known apps) in the reports (#769).
- Improved: Internal code structure to allow for better testing.
- Fixed: Case where deleting files lead to a crash (if the files had already been deleted).
SD Maid v4.6.3 16.02.2017
- Improved: Updated clutter database (#737, #740, #739, #747).
- Improved: Updated translations.
- Improved: Various improvements to logging output and code structure.
- Improved: Routines related to remounting storage when deleting, creating, copying or moving items.
- Improved: Device related analytics data.
- Improved: Added mount details to crash reports (#744).
- Improved: Binary setup on non ARM devices. SD Maid should now correctly detect and use the PREFERRED architecture, if a device supports multiple (#745).
- Improved: Updated Android support libraries.
- Improved: App killing code. Fixed crash due to firmware bug on LG devices running Android 7.0 (#748).
- Fixed: Shell tasks falsely trying to remount the emulated primary storage.
- Fixed: Crash when APKs failed to export.
- Fixed: Export failing on some unrooted devices.
- Improved: Hidden cache filter (#747).
- Fixed: Detecting not existing partition.
SD Maid v4.6.1 10.02.2017
- Improved: Debug output.
- Improved: Clutter database (#735, #730, #729).
- Improved: Translations (#726).
- Improved: Updated analytics library and reduced amount of tracked actions (popularity: AppControl: togglereceiver>delete>kill>freeze>forcestop>export, Explorer:Delete>move/copy>size>rename), nothing suprising here so I'll no longer track this.
- Changed: Settings layout.
- Improved: APK export behavior when encountering errors.
- Fixed: "Show unknown" (receiver) menu checkbox not reflecting the state correctly.
- Changed: Removed experimental tag from Link2SD/Apps2SD filter.
- Added: MediaMonkey as default exclusion (#732).
- Changed: Increased maximum interval to 31 (#733).
SD Maid v4.6.0 31.01.2017
- Added: Support for
/data/sdext2
. - Added: Support for clutter matching in
/data
. - Improved: Clutter database (#711, #695, #696, #697, #694, #701, #702, #704, #705, #707, #708, #709, #710, #703, #706).
- Improved: Debug output (better performance when debugging, more useful information).
- Improved: "Double press to exit" now respects the systems vibration settings (#693).
- Improved: Code responsible for detecting storages.
- Improved: Updated translations.
- Fixed: Progress messages when doing statistics.
- Added: Through SD Maid uninstalled apps are now logged in statistics.
- Improved: Forced-stopped apps can now also be determined on unrooted devices (#712).
- Improved: Initial scan speed should be faster, specifically detecting disabled and stopped apps.
- Changed: App list filter entries are now only shown if they contain apps (#713).
- Added: Filter for Link2SD and Apps2SD related files.
- Improved: Deletion performance. Items are no longer deleted one by one. SD Maid will try to find common parent directories and then delete in batches while still respecting exclusions (#430).
- Improved: Scan performance, specifically final checks (alias & exclusions).
- Improved: Bug reporting file filter.
- Added: Default exclusion for Link2SD and Apps2SD (#254).
- Fixed: Use the same icons as in other places in the app for "Show in Explorer".
- Added:
/data/sdext2
to displayed storages if detected. - Added: Root items now display a little extra info like "Requires root permissions" or "Read only".
- Added: Setting to show inaccessible items (i.e. SD Maid can't search them but still determine the overall storage/size data).
- Improved: Viewing entries in the Explorer now shows the content if a directory is the target, instead of the directory itself in its parent.
- Improved: If the system cache is located at
/data/cache
, the entry will be omitted as it's already covered. - Changed:
/data
and/cache
will now be shown on unrooted devices if it's enabled in settings.
- Improved: New custom views to improve UI behavior.
- Changed: Removed labels from chart (due to overlapping) and moved the size to each legend entry (#699, #689).
SD Maid v4.5.9 12.01.2017
- Improved: Translations.
- Improved: Clutter database (#684).
- Fixed: Clutter report tool crashing when adding apps (#686).
- Fixed: FAB staying invisible after being hidden (#685).
- Fixed: FAB being missaligned within the file/path picker screen (exclusions, filters etc.).
- Fixed: Handling of empty packages/restrictions XML files.
- Improved: Gracefully deal with cases where a file could not be found.
SD Maid v4.5.8 08.01.2017
- Improved: Clutter database.
- Improved: Updated android support libraries.
- Improved: Import screen should now only show files with supported extensions.
- Improved: Show error instead of crash when trying to import invalid files into exceptions.
- Fixed: Update check delaying initialization when blocking internet access via firewall.
- Improved: Files created by "Save directory structure" now contain ROM infos (#675).
- Fixed: Copy/Move snackbar not consistently showing.
- Improved: Receiver (boot) details. Previous colors were not very readable. Made some layout changes.
- Changed: "TWRP" and "clockworkmod" have been flagged as
common
and will no longer be suggested as corpses (#673).
- Fixed:
/data/system/dropbox
filter (Ty Roman).
- Improved: Hidden cache filter (additional image and video cache matching).
- Added: "Read only" to read-only storages (#676).
- Improved: Translations.
- Improved: Debug logging.
- Fixed: SD Maid crashing after processing an uninstall or app reset.
SD Maid v4.5.6 02.01.2017
- Improved: Updated toybox (#668).
- Improved: Clutter database (#665 Ty RedMaxKr, #629, #664 & #663 Ty Gitoffthelawn).
- Improved: File research performance, better sychronization during generation of clutter marker data (#663).
- Improved: File research performance, prevent the marker cache from containing entries (#663).
- Improved: Gracefully handle files with invalid modification dates by using a default date as fallback. Previously files with invalid stats would have been omitted causing tools like StorageAnalyzer to break because parent directories were omitted (#668).
- Fixed: Experimental setting not correctly reflecting the actual state (i.e. when using a beta version).
- Fixed: File opening on Android N+ (#667 Ty Joly0).
- Improved: Internal code by further modularizing functionality to reduce bug susceptibility.
- Added: Ownership information within the details screen (#663).
- Improved: Advertisement filter, added
.mobvista\d+
.
- Added: If a full reboot attempt via system intent fails we try reboot via command line applet as fallback option (#662 Ty Yowlen).
SD Maid v4.5.5 24.12.2016
- Added: Support for files of type 'named pipes'.
- Improved: Detection of running apps that use multiple processes.
- Fixed: Listdata being duplicated when refreshing single entries through tasks (e.g. size check).
- Improved: Hidden caches filter (TempData).
- Fixed: SD Maid getting stuck when trying to suspend running apps (using bad PID values) (Ty Ben).
SD Maid v4.5.4 22.12.2016
- Improved: Clutter database.
- Improved: Translations.
- Fixed: File reporting not opening the browser.
- Added: Option to open files from details in SD Maids Explorer.
- Added: Amazon app store to hidden cache and analytics filter (#457 Ty Gitoffthelawn & jawz101).
- Improved: Scan performance. Under certain conditions SD Maid scanned the same folder twice.
- Improved: Handling of issues when determining force-stopped apps.
- Fixed: Scanning subfolders now also follows symlinks (fixes issues with App2SD apps) (#622 Ty Antonio).
- Improved: Saving the directory structure now appends a timestamp (epoch).
- Improved: Running apps detection instead of treating different data sources as fallback options, pull all data, then merge it.
- Changed: Don't make assumptions about enabled/force-stopped state based on whether a package is running, just check and display. Less prone to show false data if detection of running apps returns incorrect data (issues such as the one fixed in this update would have been easier to detect).
- Fixed: Incorrectly detecting running apps (shared uid values among apps caused to false positives, especially for system apps).
- Fixed: Crash when updating the rightside filter drawer.
- Improved: Scan speed by looking up running packages only once.
- Fixed: Bugtracking issue.
SD Maid v4.5.1 17.12.2016
- Improved: Debug output.
- Improved: Updated clutterdb.
- Improved: Translations.
- Changed: Leanback launcher icon.
- Changed: Beta builds now automatically have experimental features enabled.
- Changed: Reduced and update analytics.
- Fixed: Previously placed shortcuts and widgets causing a crash and no longer working until recreated (if you recreated them in v4.5.0, then you have to do it again).
- Fixed: Debug level not updating directly.
- Fixed: Concurrency issue when multiple tools requested to have a file from the same location type checked.
- Fixed: Action "Save directory structure" not working (#618 Ty jawz101).
- Fixed: Not finding anything if modification time settings are not used.
- Added: Tapping the app icon will launch the app.
- Added: Info to the app move button saying if an app doesn't want to be moved, but can be forced to.
- Changed: The activities manager is now flagged as experimental.
- Fixed: Apps being disabled as movable when they were not (#614 Ty noc-jfcbs).
- Fixed: Search field not being displayed on smaller screens.
- Fixed: Crash when unfreezing apps on <5.0.
- Fixed: Crash when trying to determine app sizes (e.g. after uninstall).
- Fixed: Crash when refreshing after trying to kill a library type app without application infos.
- Fixed: Crash when entering and exiting the AppControl page and SD Maid tried to update the ui filters prematurely.
- Fixed: Issue leading to a crash when placing a shortcut through the activities manager.
- Fixed: Crash when triggering the uninstall watcher.
- Fixed: False positive detection of theme/overlay files in private app data on LG devices (#615 Ty Brian).
- Fixed: Crash when a racecondition lead to division by 0 during progress display.
SD Maid v4.5.0 - 12.12.2016
- Added: Support for locations
data_system_ce
anddata_system_de
. - Added: Additional debugging options.
- Added: Timestamps to new exclusions, preparing for future sort options.
- Added: Android TV (leanback) support (#389).
- Added: Debug option to run all tools.
- Added: Debug option to disable the root check.
- Improved: Clutter database.
- Improved: User-interface, various small tweaks (e.g. #578).
- Improved: Updated SD Maids internal toybox (bugfixes, removed ls applet, added pidof applet).
- Improved: If statistics fail due to having no device space, gracefully continue instead of crashing.
- Improved: UI performance/behavior related to the navigation drawer.
- Improved: Bugreporting related to binary setup issues (toybox/busybox/sqlite3).
- Improved: UI. Small tweaks to used strings, a bit of padding here and there.
- Improved: Setup/Baseconditions task logic. Cleaner abort/continue behavior. Fixed a few issues that could lead to getting stuck in setup, having to kill SD Maid.
- Improved: Multitasking behavior. Reboot tasks only make sense to be executed when everything else is done. To support this I've rewritten some chunks of SD Maids tasks-to-worker (each tool is a worker) distribution code.
- Improved: If the statistics database corrupts, it now automatically resets itself.
- Changed: SD Maids external tasks system to a simpler approach, previously functionality was overkill and convoluted. This should have positive effect on scheduler and widget actions. If it never worked on a specific ROM before, it might now.
- Fixed: UI crash related to exiting a view when items were selected.
- Fixed: Crash related to writing (copy/move) to external storage through the storage access framework.
- Fixed: Crash related to storage access framework based access (external sdcards/portable storage).
- Fixed: Crash related to deletion on external storage on Android 4.4 devices (provider trick).
- Fixed: Crash related to initialization of SD Maids multiuser detection.
- Fixed: Crash related to unlocker detection.
- Fixed: Crash related to loading AppControl while either CorpseFinder or SystemCleaner was running.
- Fixed: Android 4.4's "Provider trick" deletion method being used on other version too, where it obviously failed and slowed down deletion in edge cases (#595).
- Fixed: Running apps detection on Android 7.0+ (#527).
- Fixed: Floating action button not anchoring correctly (#610).
- Improved: Extraction behavior to better deal with uncommon archives structures.
- Improved: Error message when opening something (#612).
- Fixed: A rare UI related crash when trying to open a file with an app that directly closes again.
- Fixed: Crash when trying to create SystemCleaner user-filter based on an invalid item.
- Fixed: UI issue when quickly opening the report dialog, then closing it.
- Fixed: Empty searcher tasks failing in some cases instead of just listing the whole device.
- Added: "Activity manager" which allows you to view all exported Activities an app may have, launch them or add them as shortcut to your home screen (requires SD Maid Pro).
- Added: View apps internal/external storage location.
- Added: Action to move apps to internal/external storage on rooted devices (requires SD Maid Pro).
- Improved: Core routines related to creating and updating "App" objects. A more modular approach now makes it faster to update Apps accurately after actions changed their state/behavior. The new approach also allows easier addition of new app details.
- Changed: A few layout and color details to make more sense (green running, blue frozen, force stopped in between).
- Fixed: Don't crash if the ROM has no uninstall activity (wtf?).
- Fixed: Receivers being no longer shown after disabling them.
- Added: Filter for
/mnt/secure/asec
(#247). - Fixed: Failsafe check for asec related corpses which checks if the
.asec
file is currently mounted (and thus not yet a corpse).
- Added: Filter for recent tasks, which deletes metadata and screenshots used to restore the the recent tasks list after reboots (#235).
- Added: Filter to delete send/received files from Telegram (#609).
- Improved: Analytics filter, added Adobe Analytics related files.
- Improved: No longer require parent folder to contain the packagenames (fixes matching issues on the sdcard root).
- Improved: Hidden cache filter.
- Improved: Hidden cache filter matching. More aggressive matching against variants of the "tmp" folder.
- Fixed: Bluetooth snoop log matching.
- Fixed: Possible issue when browsing external storage on Android 5.0+ and base storage item has no parent.
- Fixed: Being able to enable /cache without root.
- Fixed: Filetree not being correctly updated after deleting something.
- Added: Options to sort the list by state, app and size (#598).
- Changed: Reduced default chronic limit to 3 days.
- Added: Triggering QuickAccess through Android 7.1 "app-icon-shortcuts" (requires SD Maid Pro).
- Improved: Progressbar behavior when tasks switch between "In queue" and working.
- Added: Option to reboot the device after scheduler action complete.
- Improved: Layout padding and tap behavior.
- Added: Options to filter the list by type of exclusion (#600).
- Improved: Exclusions are now sorted by their last modification time (#600).
- Fixed: Being able to select locked exclusions in multiselect mode.
- Improved: Clutter database.
- Improved: Translations.
- Fixed: Crash when trying to open links on devices without a browser.
- Improved: Loading bookmarks, more resiliant against crashes caused by getting weird pathes from storage or Android APIs.
- Fixed: Layout issues causing item size to be cutoff.
- Fixed: Layout issues causing item size to be cutoff.
- Improved: Bugreporting filter (added
btsnoop_hci.log
). - Fixed: Layout issues causing item size to be cutoff.
- Fixed: Crash when trying to track AppControl tasks such as toggeling receivers.
- Fixed: Crash when event details didn't fit into a single line.
- Changed: Default limit reduced from 31 days to 7 days.
- Changed: Reset statistics again.
SD Maid v4.4.0 - 05.11.2016
- Added: Support for CustomTabs when opening web links (#576).
- Improved: Clutter database (#569, #580, #584, #585, #593, #592).
- Improved: Translations.
- Improved: API targets and build tools raised to API25.
- Improved: In the weird event that a ROM has no activity to grant runtime permissions, gracefully show an error instead of crashing.
- Fixed: No longer showing snackbars for empty results.
- Fixed: Possible crash when launching SD Maid for the first time after an install.
- Fixed: Tab hiding affecting tool access from QuickAccess (#540).
- Changed: Label for scan actions from 'check' to 'scan' (:D).
- Added: Support for showing mount points. Items that are mountpoints will show an extra icon if option 'Research owners' is enabled (#579).
- Fixed: Possible crash when opening files.
- Fixed: Possible crash when trying to determine file type when trying to open a file.
- Added: Function to share files/results (#382).
- Improved: Search progress feedback.
- Fixed: Crash when encountering corrupt filesystem entries (will now just be omitted).
- Added: Option change list sorting from the right side filter drawer (#573).
- Improved: Details layout.
- Added: Autoselection option for primary/secondary storage (#473).
- Improved: Line item layout.
- Fixed: Duplicates not being found across different storages.
- Added: Support for location
/cache
(#575). - Added: Clicking files tries to open them.
- Fixed: No longer showing empty action mode when selecting items in the root view (#577).
- Added: Default exclusion for apple music (#539).
- Improved: Chart layout and display (#572, #574).
- Improved: History details and structure (#572, #574).
- Fixed: Negative stats.
- Improved: Clutter database.
- Added: SD Maid now tries to show file previews in the details page (requires SD Maid Pro).
- Added: Tapping the icon of a list item in the details view asks the system to open that file with a compatible app.
- Added: SD Maid now tries to show file previews in the details page (requires SD Maid Pro).
- Added: Tapping the icon of a list item in the details view asks the system to open that file with a compatible app.
- Added: SD Maid now tries to show file previews in the details page (requires SD Maid Pro).
- Added: Tapping the icon of a list item in the details view asks the system to open that file with a compatible app.
- Changed: Clutter items marked as
COMMON
, which means that their name is too common to remove them via AppControl or CorpseFinder, will no longer be skipped when searching for caches (e.g. folder<sdcard>/.thumbnails
).
- Added: Last modification date to items in the details view.
SD Maid v4.3.7 - 14.10.2016
- Added: Dynamic clutter marker for
IQQI
(#546). - Improved: Clutter database (Ty david082321 #535 - #566).
- Improved: If available root will be used to determine running apps (#527).
- Fixed: Crash if the system returns unusually large (> Int.Max) uids (#537).
- Fixed: Double press to exit setting being ignored (#538).
- Added: Option to add a launcher shortcut for this tool.
- Improved: Hidden caches filter (
.temp
,.thumbnails
) (Ty david082321 #557, #558). - Improved: Hidden caches filter (
.face
and video player thumbnails).
- Changed: "Keeper" items, e.g. backups/photos now show a red circle in addition to a tag, independent of corpse location.
- Fixed: Issue with scheduling a 2 day interval.
- Fixed: Issue with restoring schedule after reboot to the correct time.
- Changed: Initial scheduling, will now trigger at the next hour/minute time, then repeat according to interval.
SD Maid v4.3.6 - 03.10.2016
- Improved: Translations.
- Improved: Clutter database.
- Improved: Internal toybox updated.
- Fixed: Alternative binary setup strategies failing on Android Nougat due to mount applet using different arguments (#528).
- Fixed: SD Maid crashing during initialization if a user binary is not available, but a root binary is available. We should gracefully abort here (#528).
- Fixed: Wrong determining wrong size for files > 2GB.
- Fixed: SD Maid failing to update its binary on first try.
- Fixed: Crash when users on KitKat try to extract a file on a secondary storage (external sdcard).
- Fixed: SD Maid crashing when coming across corrupted files instead of skipping them.
- Added: Filter for
<public-storage>/Android/media
. - Fixed: Fixed one case where the obb corpse filter ignored the "remove keepers" setting.
- Added: Additional fail-safe module based on pathes (Ty Chris).
- Fixed: A case of false-positives on rooted devices if SD Maid fallsback to a native busybox which segfaults (Ty Chris).
SD Maid v4.3.5 - 25.09.2016
- Fixed: UI related crash when reentering SD Maids UI by downgrading to an older support library (newest version introduced this crash) (#525).
- Fixed: SD Maid trying to use Android 6.0+ code on <6.0 devices, didn't cause a crash but spammed the log and used unnecessary CPU time.
- Fixed: Crash if binary is not available instead of allowing an error to be displayed.
- Improved: If a binary is not available (mostly affects sqlite3 binaries), show an info entry about this instead of showing no entry at all.
- Improved: Name of saved list of apps display human readable date.
- Improved: Better logging for more detailed debug logs.
- Fixed: Crash when clicking "show" after exporting a shared list of apps.
- Fixed: Only being to able to share one item.
SD Maid v4.3.4 - 24.09.2016
- Added: SD Maid can now use two different binaries for root/normal actions. This increases device compatibility and makes it less likely that SD Maid or the user has to install a binary into /system.
- Improved: SD Maid will no longer require a preinstalled system binary on devices that don't have a default
chmod
applet (though this is bad in any case and the user should install a system toybox/busybox to fix theirchmod
applet). - Fixed: Mountpoint detection fallback solution not working due to unexpected output format (#522).
- Fixed: Crash if the api call for external storages returns an array containing a
null
value (#519). - Fixed: Failure to detect mountpoints from user perspective if SD Maid employed RootFS injection to use it's binary with root (#521).
- Changed: Storage size determination will now be run on the storage path itself, not its mountpoint (affects Overview & Storage Analyzer).
- Fixed: Crash if we try to restore the last path, have to fallback to a default value, and then the system gives us an empty string as external storage path.
- Fixed: Crash when trying to select files in type 'UNKNOWN' locations (#520).
- Fixed: Crash when trying to extract empty files (#518).
SD Maid v4.3.3 - 21.09.2016
- Improved: Translations.
- Improved: Clutter database.
- Improved: Fast scroller behavior (library: github.com/FutureMind/recycler-fast-scroll).
- Improved: Swapped labeling when asking for secondary storage permission to help users better identify the target storage.
- Improved: Core shell routines. Simplified some unnecessarily complex code constructs (I don't think the performance gain is noticeable).
- Improved: Logging to better help users with sdcard (secondary public storage) issues.
- Improved: Breadcrumb bars displaying pathes.
- Improved: Mount point detection, on KNOX enabled devices, if the internal mount applet can't be called without root, SD Maid will try the systems native mount applet to obtain the users mountpoints (see #502).
- Fixed: Various minor RTL related ui issues (#483).
- Fixed: Issues granting access to secondary storage on "Prestigio" devices (#493).
- Fixed: Erroneously detecting /storage/emulated/legacy as secondary public storage on "Prestigio" devices (#492).
- Fixed: Mount point detection issue caused by mount space seperation (#502 Ty Ivan).
- Fixed: Fixed rare "random" (depends on ps output) crash during detection of running apps.
- Fixed: Fixed rare crash if a system app returns an empty sourcedir path or one that points to rootfs.
- Improved: Archive extraction is now cancelable.
- Improved: ZIP archive extraction now also works on secondary storages if storage permission have been granted (#478 Ty dukelc).
- Improved: If secondary storage setup has been been skipped and extraction is attempted, a snackbar will show asking the user to complete the setup.
- Changed: Error message when a directory can't be accessed (#478).
- Fixed: ZIP extraction action should only be visible for public storages.
- Improved: Right side drawer now allows multiple filter tags to be selected at once.
- Fixed: Filter tags not being reapplied to results after refreshing the lest (#495).
- Improved: Browsing already loaded data no longer shows the "Successful" toolbar (it was anoying, wasn't it?).
SD Maid v4.3.2 - 10.09.2016
- Improved: Translations.
- Improved: Clutter database.
- Improved: Added link to wiki to the exclusions help dialog.
- Fixed: Crash during resource cleanup when operations end and an interactive shell died prematurely without causing the whole operation to fail.
- Fixed: Exclusions import always showing success.
- Improved: Creating user filter for the system cleaner now tries to fill in the location field.
- Fixed: Crash if quickly entering and leaving the clutter reporter tool (#486).
- Fixed: Trying to open a file as directory when clicking a path in app details.
- Fixed: Crash when creating a new user filter from scratch (#485).
- Fixed: Possible hang during size comparison on devices with high database (800+) counts (#488 Ty danielling23).
- Fixed: Database tool entry always showing something to do.
- Fixed: Database tool always showing expected sizes for all items, not only those that are still unprocessed.
SD Maid v4.3.1 - 07.09.2016
- Improved: Translations
- Improved: Clutter database (#481, #480, #479).
- Improved: If a tool can't find any storage (why?), that tool will now display an error instead of crashing SD Maid.
- Improved: Display of error messages in tools.
- Fixed: Crash on devices where SD Maid used rootfs injection to get a working binary. Despite having root, SD Maid didn't use when looking up mounts, causing that to fail and SD Maid ending up with no detected storages (#475 Ty Sandris).
- Fixed: Crash if the shell process would die prematurely. Tasks scheduled for execution would get a NULL result instead of an result with state "error".
- Fixed: Crash if estates were determined based on a stale list of installed apps.
- Added: Filter for
/data/logger
(LG devices) (#464). - Improved: Matching of already existing filters, better deal with file-seperators.
- Fixed: Crash when operations were too quick (divide by 0) (#477).
- Fixed: Crash wen pressing the backbutton without loaded data (#476).
SD Maid v4.3.0 - 02.09.2016 (BETA)
- Added: Adaptive support for different (core-utils providing) binaries, currently "toybox" and "busybox".
- Added: Added support for location "/oem" (#441 Ty randomname1234).
- Added: Option to toggle animations (currently only coffee drinking).
- Added: If SD Maid is running in the background but requires setup via user action, operations are canceled and a notification is displayed (#435 Ty sjoshua270).
- Added: SD Maids file forensics can now get clutter markers from dynamic sources. This means that in addition to static sources (i.e. a database with entries), there are now dynamic sources that can generate clutter markers without explicitly knowing an app.
- Added: Dynamic clutter sources for
.UTSystemConfig
and.EveryplayCache
. - Improved: Accuracy of size calculation when deleting files of which some failed to be deleted (or don't exist anymore).
- Improved: Clutter database (dozen of new entries).
- Improved: Clutter database format to better cover multiple apps with the same clutter.
- Improved: Updated all of SD Maids dependencies and libraries.
- Improved: Instead of tapping out with a "busybox error", SD Maid will now relinquish root access if the current toybox/busybox setup is not root compatible (#442).
- Improved: Both busybox and toybox can be used by SD Maid and both types of binaries will be tried as fallback solution (#452).
- Improved: Reduced SD Maids resource (RAM/CPU) consumption by reducing the amount of shells that are kept open. Reading files now shares a shell with all other operations (delete, move, copy etc).
- Improved: Operation results (ok, skipped, failed) now only show values that are non zero.
- Improved: Speed of file object creation, some calls be done in a more effective order and a few memory optimizations weren't effective.
- Improved: File forensics performance, less information is (i.e. App name) is requested during research and deferred to be gathered when it is actually needed.
- Improved: Reduced memory use by reducing the footprint of the clutter matching (simpler objects).
- Improved: Ownership detection. In some cases SD Maid will now match "fixed paths" -> "variable packagenames", previousy we could only match "fixed package names" -> "variable pathes". Example: Match "/sdcard/.strawberry/eu.thedarken.sdm" without specifically having a database entry for "eu.thedarken.sdm").
- Improved: Busybox error screen shows more device infos and a better explanation.
- Improved: Logging. Reduced logging in production builds and adjusted logging priorities to be more useful (verbose vs debug).
- Fixed: Task results not showing correct amount of failed deletions.
- Fixed: "Double tap to exit" toast not being correctly themed (#438 Ty TWiStErRob).
- Fixed: Shell data not being disregarded directly if data is streamed instead of buffered. This should reduce peak memory consumption during scan for SystemCleaner, Duplicates, Biggest and Databases.
- Fixed: Commands failing that use remounting on Android 6.0+. Multiple mount commands were used to guarantee reliable execution on different devices, but on some the toybox binary segfault. This would cause any command using remounting to end up with a segfault (139) errorcode. SD Maid now checks if the toybox binary segfaults during setup.
- Fixed: A racecondition where the FAB become visible when SD Maid started executing a task triggered from list multiselection.
- Fixed: Shell operation (move/create) failing if the the target path was a symlink pointing to a read-only partition with a different path (e.g. /vendor -> /system/vendor).
- Fixed: Random crashes related to inflating the menu in each tools toolbar, possibly related to devices with hardware menu-buttons.
- Fixed: Crash related to a race-condition between UI input (e.g. clicks) and UI state.
- Fixed: Crash if SD Maid could not find any locations of type
SDCARD
but tried use the data to build sub-locations such asPUBLIC_DATA
. - Changed: Instead of file length, "size on filesystem" is now used to calculate the amount of space freed by a deletion. You will notice that with the exception of sparse-files, deletion will show slightly (blocksize) increased amounts of freed space, especially when deleting lots of small files.
- Changed: SD Maid now ships with toybox instead of busybox (leaner and fixes #451).
- Changed: Log files are now stored in SD Maids cache instead of files folder (i.e.
/sdcard/Android/data/eu.thedarken.sdm/cache/logfiles
). - Changed: If root access is available, SD Maid will skip asking for storage access via the storage-access-framework (SAF).
- Fixed: Database tool still requiring confirmation despite single-pass option activated.
- Added: If SD Maid relinquihes root access to avoid a busybox/toybox error the root state will display this (#442).
- Changed: Refresh no longer reloads the storage manager, it is now only refreshed once per session.
- Added: Option to place a shortcut on your home screen which open the explorer and refreshes it (#187).
- Added: Octal permission display when changing permissions.
- Added: Reporting option via context menu if you have experimental mode enabled.
- Added: Support for extracting ZIP (zip/apk etc, anything zip based) files (#198).
- Added: Details dialog, currently a bit rough, will be expanded later on.
- Added: Files now show both blocksize (size file actually occupies) and file length (size file says it is), if this value differs. The format is
size on storage (file length)
. - Fixed: Pathbar at the top not updating correctly when switching to the Explorer from a different tool, directly loading that path (#439).
- Fixed: Creating dirs/files not updating directory content correctly without extra refresh.
- Fixed: Directory content not updating correctly after deletion.
- Fixed: Paste action causing change to parent directory.
- Fixed: Trying to remount a source as
rw
if we are only copying files. - Fixed: When trying to create a file the operation could return an error even if it was successful.
- Changed: Don't popup a snackbar for every path change.
- Added: Options find files based on minimum and maximum modification date. Using these options automatically causes results to be sorted by date.
- Added: Right-side drawer with additional information and filtering options (#406).
- Improved: Tags for filtering (e.g. frozen apps) are no longer a search string and can be used in addition to manual search input (i.e. search in all frozen apps).
- Improved: SD Maid will check more locations now to find all items that belong to an app, this was previously limited to specific locations such as data/dalvik etc. but now covers all locations SD Maid knows.
- Improved: Files and sizes belonging to each app (estate) can now be determined on-demand.
- Improved: Speed when determining files owned by an app (estate).
- Changed: By default app files and sizes are not researched during list generation, except if the sort-mode is SIZE or the option to do the research in advance is turned on in the settings.
- Fixed: Corruption of exported APKs (#451).
- Improved: SDcard filter scan speed. Changes to clutter information allow us to better determine when we have to search deeper and when reading the top level item is sufficient.
- Improved: Reporting tool is now more comfortable and allows adding more information.
- Changed: Reports are now posted via GitHub, which requires a free GitHub account. People that want to contribute can now do so in higher quality and get recognition for their contributions. People who kept spamming me via the old report tool with weird stories can now try again and then be banned from SD Maids GitHub repository.
- Added: Tracking to determine how often UserFilter are actually used.
- Added:
.chartboost
andadhub
to advertisement filter. - Added: Help link to SD Maids wiki (#298 Ty Trasd).
- Improved: Some people create placeholders for
__chartboost
and.chartboost
to block them from being created, these will no longer be removed. - Fixed: UserFilter creation was possible without the pro version.
- Fixed: Size calculation for AdvertisementFilter items, should now also show children of matched directories (#471 Ty Solomon1732).
- Added: File previews if you have SD Maid Pro.
- Added: Support for locations requiring root access (#129).
- Added: "Device view" (#467). The tool starts out with a "device view" showing all available storages the tool can show. Changing any settings is no longer necessary.
- Improved: Refresh behavior. Previously a refresh caused the whole cached file-tree to be reloaded. Now we can just refresh subnodes of the cached file-tree.
- Changed: Made list items more compact (#346).
- Changed: The tool has been renamed to "Storage analyzer".
- Removed: Settings page (no longer necessary).
- Removed: This tools functionality has been merged into the searcher tool.
- Fixed: Settings using slider inputs not displaying correct default values.
- Improved: Translations. Our awesome translators have added lots of missing translations and refined existing phrases.
- Improved: Added new clutter database entries.
- Changed: Reset worker count to default (2), due to making changes on how it is stored.
- Fixed: Crash if the worker-count was set to 0 (someone was curious...).
- Fixed: Crash when changing advanced settings that require a restart and quickly exiting settings.
- Fixed: Crash due to support-library initialising the menu on a detached fragment.
- Fixed: Being able to create invalid regex exclusions that could be created but crashed SD Maid on scan.
- Fixed: Crash if directory could not be read, but it wasn't due to permission issues.
- Fixed: Crash if an explorer action was completing but there was not yet a directory loaded.
- Improved: Filter for advertisement files.
- Improved: Hidden cache filter.
- Fixed: Hungary crashing.
- Fixed: Changing workercount not working reliably (#428 Ty jawz101).
- Improved: Display of translator names.
- Improved: Clutter database.
- Improved: Simplified a few strings/translations.
- Improved: Updated translations.
- Fixed: A few cases where shell error handling would not work correctly.
- Fixed: Possible crash when switching UI pages.
- Fixed: Rotation still not handling page switching correctly in every edge case.
- Fixed: Scrollbar not initialising correctly (#429).
- Added: Support for plurals (day/days, item/items) where applicable.
- Improved: Translations (specifically plurals).
- Fixed: Possibly racecondition crash on devices with physical menu buttons when they are rapidly pressed during UI changes (#341).
- Fixed: Remount of /system failing on newer CM13 builds (toybox/toolbox issue).
- Fixed: UI pages always switching back to the initial one if the UI was launched through the QuickAccess widget.
- Added: Option to manually specify a path to load.
- Improved: Navigation should be more consistent, instead of buttons/crumbs not reacting, SD Maid will now enter any folder and display any errors it may encounter.
- Fixed: Crash when pressung the backbutton on a cold start.
- Fixed: Crash due to trying to load "//" after navigating to the root, then reentering the Explorer again.
- Added: Summary of estimated space affected by actions to be executed (because we can't know how much it is for VACUUM per databases, it currently just adds 4KB per database) (#407).
- Improved: Updated translations.
- Fixed: Settings pages not opening (#424 Ty Trasd).
- Updated: Clutter database.
- Improved: Resiliance against weird storage setups. SD Maid will try continue even if the system API crashes while trying to determine external storages.
- Changed: The working notification is now no longer cosmetic and will elevate the service to foreground priority within the systems task killer, when the workers are done and the result is displayed, the service releases foreground mode and displays a normal notification.
- Changed: Settings layout and behavior. Removed lots of legacy code and wrote a cleaner solution that is not as fragile to support library updates.
- Fixed: Preferences not being themed correctly (#421 Ty dukelc).
- Fixed: Not navigating correctly between symlinked directories (#416 Ty Morpheus)
- Fixed: Uninstalls, freezing and disabling of broadcast receivers failing since v4.2.6 due to component names not being correctly wrapped when being passed to the packagemanager (#422 Ty Roman).
- Changed: Filter that only work on rooted devices will now be hidden if SD Maid doesn't have root (it's cleaner and less confusing).
- Fixed: Longer filter load time due to root filter being loaded on unrooted devices.
- Improved: Reliability when running in background. The working notification is now used to start the service in foreground mode, which should reduce issues with SD Maid being prematurely killed to free memory (#420).
- Fixed: Color issues on Android N.
- Added: Support for "/vendor" as location within tools (affects AppControl).
- Improved: Translations.
- Improved: Logging when troubleshooting issues
- Improved: Simplified actions necessary to help me debug issues.
- Improved: Speed of executing shell commands. Any tool (basically all tools) using shell commands should be slightly faster now.
- Improved: Now building against Android N (API24).
- Improved: Several layout files have been fixed for future (correct) RTL support.
- Changed: Debugging options have been moved into a hidden page which can be reached through long presing the settings entry. This makes it easier to record debug logs if SD Maid malfunctions during setup (as entering settings already triggers a basic setup).
- Fixed: Issues handling files with unicode characters in their name (#408).
- Fixed: SD Maid accepting system busyboxes that don't work correctly (seg fault), but also return correct data (#397).
- Fixed: Overlapping switch buttons overlaying other UI elements on <5.0 (#398).
- Fixed: Fixed being able to select directories for the share action leading to errors (#383).
- Improved: Fixed impossible actions being visible.
- Fixed: List elements making a clicking sound despite not being clickable.
- Fixed: System app uninstall failing for files sourcing their apk from /vendor (#410 Ty Morpheus).
- Fixed: Private app directories not being completely searched if directory permission allow reading (or more) without root (#413 Ty rsngfrce & JERW86).
- Improved: Handling of UI updates if multiple widgets are used.
- Fixed: All actions triggering if widget is more than one action is defined.
- Improved: TimePicker will use 12/24 mode depending on system settings (#415).
- Improved: Updated clutter database.
- Improved: Reduced log spam on <4.3 devices due to missing functionality.
- Improved: Resilience against weird storage setups, in this case the internal storage being available multiple times (spotted on X800+, Micromax q346).
- Fixed: Crash when a system apk exists but can't be read.
- Fixed: More cases of UI raceconditions that could lead to crashes.
- Improved: Advertisement filter, added "Vungle" (Ty Brandon).
- Changed: Collation sequence errors will now be shown as "skipped" as this is a permanent condition and distracts from actual errors.
- Fixed: Cutoff layout of schedule picker on small screens (it now scrolls).
- Improved: Ownership detection for
/system/app
and/system/priv-app
files that are superseeded by an updated app in userspace (prepares for future AppControl operations and Explorer enhancements). - Improved: Translations.
- Improved: Improved exit behavior. Less UI lag when exiting SD Maid and operations have to be cancelled.
- Fixed: Navigation entry width glitching when doing a cold start of the app on tool pages where the navigation menu is opened on launch.
- Fixed: Glitchy showing and hiding of tabhostbar in details activies if there is only one item.
- Fixed: A few UI crashes in details pages when operations finished just when you were closing or opening the UI.
- Fixed: Subtitle shortly showing as "CorpseFinder" when opening details activies.
- Fixed: False positive ownership detection, if app names overlap, in
/system/priv-app
,/system/app
and/system
.
- Fixed: Failing system app uninstalls if it's apk removal was blocked through a false positive ownership match (#391 Ty Alexey).
- Added: Optional filter for files received through WhatsApp.
- Fixed: Exclusions not working completely on unrooted devices despite deactivatin the "freeStorageAndNotify" option (#401 Ty Kisl0iD).
- Changed: Searchpath has been reset to prepare for future support of multiple locations.
- Fixed: Settings displaying (not using) wrong default search pathes under specific conditions.
- Improved: Translations.
- Improved: Added fallback options if for some reason the default private cache or files directory doesn't exist (weird crash reports from weird devices).
- Fixed: A few cases of false positive results within filters for "/data/app", "/data/app-private", "/data/app-asec" and "/data/app-lib", if the install number appendix is bigger than a single digit (#394 Ty ew@XDA).
- Fixed: Possible crash when opening/closing the UI right after a deletion.
- Fixed: Scheduler ward being disabled when it shouldn't be. The scheduler ward cares for the scheduler alarm and reinstates it if necessary. For battery improvements this component is enabled/disabled if not necessary, but its state was falsely tied to the existence of the alarm instead of the setting that tells us whether it should be turned on.
- Added: Launch screen.
- Added: A hidden debug menu :).
- Improved: Translations.
- Improved: Clutter database.
- Improved: Improved overall scan speed by reducing time it takes to match clutter markers (skip internal test data, require simple match before regex match).
- Removed: No longer needed logging statements.
- Fixed: A couple of rare UI related racecondition crashes (i.e. opening closing the ui with tasks finishing simultaneously).
- Fixed: Crash when exiting app details after uninstalling app on Android <4.1.2.
- Improved: Scan speed of SDCARD filter.
- Improved: Hidden cache database.
- Improved: Bug reporting database.
- Improved: Scan performance durching search and sort (2nd phase).
- Fixed: Parent size calculation if a child is deleted.
- Fixed: Deleted item reappearing if a directory is reentered.
- Added: Automatic scheduler check when launching SD Maid.
- Improved: Accuracy of seconds countdown.
- Improved: Reduced resource use, we no longer need to check the countdown daily.
- Changed: Rewrote implementation and use of the AlarmManager service in an attempt to fix the unreliability I could not reproduce.
- Improved: Space usage, better truncating of data, preemptively throw away old data if new data will exceed the truncate threshold.
- Improved: Handling of error situations such as inaccessible databases or full disks (should crash less often).
- Updated: Translations.
- Improved: Detection of dalvik-cache locations, previously the SDK level was used, now we check for actual existence.
- Improved: Storage detection for devices that return non-absolute pathes from API calls for external storage (likely due to user modifications, e.g. XInternalSD). Pathes are now checked for absoluteness and SD Maid should now either not crash at all or continue gracefully.
- Fixed: Crash when resuming SD Maid after being purged from memory and the last page open was a details page.).
- Fixed: Navigation entries showing extra highlights when being clicked.
- Fixed: Crash if the current path the explorer tried to open is invalid (e.g. not absolute).
- Fixed: Crash within the DalvikCache filter if a device has files both in
/cache/dalvik-cache
and/data/dalvik-cache
.
- Improved: Scan performance by reducing overhead of matching against file pathes.
- Fixed: Filter-modules not loading and filter configuration being empty (#387 Ty igoivo).
- Fixed: Crash when creating a UserFilter and entering a minimum or maximum size > Long.MAX_VALUE.
- Fixed: Crash if caches were found via clutter database entries and there was more than one entry matching the same file/directory (#388).
- Fixed: Non-Root routines being used even if root is not available.
- Added: User interface for adding and testing regular expression based exclusions.
- Improved: Translations.
- Improved: Workaround for KingoRoot should now be automatically applied (setting has been removed).
- Improved: Details entries should no longer cutoff pathes, independent of their length.
- Improved: Setup layouts are now scrollable to allow viewing full content on small devices with large fonts (#368).
- Improved: Reduced peak memory consumption by making a few core objects easier to be garbage collected.
- Improved: Setup help menu is now available on all setup steps and directly open the setup help page now.
- Improved: Slightly changed timing when the UI is initialised to reduce/fix a few random crashes.
- Improved: Detection of localized private data folders on Andriod N.
- Improved: Feedback on task results, previously the summary details were only visible in progress bars or the menus, now (if applicable) a snackbar temporarily shows the primary result message.
- Improved: Task description in confirmations and dialogs.
- Fixed: During secondary storage setup, storage entry not turning green despite success, on low memory devices.
- Fixed: Secondary storage detection on MediaTek devices. Added a workaround that detects this the swapped storage situation and fakes the primary UUID (#312 Ty bgiesing).
- Removed: Update databases option in advanced settings. Will be replaced with a better mechanism in a future update.
- Added: Info how much space is left until the storage is considered full.
- Changed: The icon color of storage entries will now change according to system behavior. Red meaning the system considers the storage full, orange meaning the system considers the storage low on space and restrictions apply (e.g. not being able to install new apps).
- Added: Option to enable/disable research of items that match an AppCleaner filter.
- Added: Option to enable/disable research of items that match a SystemCleaner filter.
- Added: Icon that shows whether an item matches a SystemCleaner filter.
- Improved: Adjusted entries such that entry layouts expand for very long filenames.
- Fixed: "Save directory structure" and "Force MediaScan" only being visible if >1 items are selected.
- Added: Delete action for selected items.
- Added: Option to turn off automatic wildscards to allow searching for exact matches.
- Added: List of app permissions to app details.
- Added: Paths in app details are now clickable. Clicking a path opens it in the Explorer.
- Fixed: Crash when checking the state of a component that is for some reason UNKNOWN, we will return it as disabled now.
- Changed: Removed circle cropping from app icons.
- Fixed: Size being incorrectly determined (too low) for items from the sdcard filter (#369).
- Fixed: Setting for public and private data being switched.
- Changed: Feedback during SDCARD scan now shows a % done feedback but no longer the current item being scanned, was missleading and inconsistent with other filters.
- Added: Added new filter category "other" for more specific use cases.
- Added: Filter for LeakCanary files.
- Added: UI feedback when importing or exporting user filter.
- Added: UI elements to specify regex entries for user filters.
- Added: UI elements to specify locations for user filters.
- Added: UI elements to specify a minimum and maximum size for user filters.
- Added: Filter for apks in /Download which have a versionCode less or equal than the already installed version.
- Improved: Filter colors to better reflected their risk.
- Changed: Scan now show amount of filtered files so far instead of the last filtered file.
- Fixed: Layout cutting off filter descriptions early.
- Fixed: Locations data not being persisted after trying to edit an imported file.
- Fixed: Possible inconsistencies when importing/exporting user filters or trying to overwrite existing filters (missnamed JSON fields).
- Added: New UI window that allows configuration of filter modules which determine whether an item is expendable.
- Added: Filter module for default caches.
- Added: Filter module for hidden caches.
- Added: Filter module for webview caches.
- Added: Filter module for bug report files, currently Fabric(by default off).
- Added: Filter module for analytics related files, currently Fabric & Flurry (by default off).
- Added: Filter module for WhatsApp Sent files (by default off).
- Added: Filter module for advertisement files, currently Mologiq (by default off).
- Added: Setting to enable/disable using 'freeStorageAndNotify'.
- Improved: Detection of hidden caches with name variations of the default folder name.
- Improved: Detection of hidden caches nested in /files/.
- Improved: Updated cache database (Samsung gallery temp files).
- Improved: Made progress feedback a little more detailed.
- Improved: Speed of the initial searchpath building step. It should now be faster by a factor of ~10x (caching some resources that were previous looked up on demand).
- Improved: Speed of the file search and filtering step. Fixing a few badly written routines (nobody is perfect) made the whole thing ~2x faster on my test device.
- Improved: Peak memory consumption during scan. A few objects can be released earlier from memory now which should help against out of memory crashes on low end devices.
- Fixed: Not cleaning private caches on unrooted device if the action was triggered through the FAB instead of the toolbar (Ty Steffen).
- Fixed: Crash when autoselecting from a filtered list (#367).
- Fixed: Crash when a stale item was attempted to be selected.
- Added: If there is an issue, more information is available in the databases details window.
- Changed: Global action button now says "run now", instead of "delete".
- Improved: Translations.
- Fixed: Memory leak on device rotation.
- Fixed: A few occasional RecyclerView crashes.
- Fixed: Startup crash on some MediaTek based devices (#361).
- Improved: Clutter database.
- Improved: On some custom ROMs SD Maids own cache folders was not created, SD Maid will check that now and try to create it.
- Improved: When a modded ROM is missing string resources for storage labels SD Maid will now gracefully deals with that instead of crash.
- Improved: When displaying previews, basic fallback icons for filetypes are now higher resolution and scaled to target.
- Changed: The user interface elements will now unsubscribe from workers in onPause instead of onViewDestroyed.
- Changed: The way events that happen on rotation or while the main UI was paused are cached and replayed.
- Improved: Pathdumps now follow symlinks (#364).
- Fixed: Crash when quickly scrolling lists with several hundred entries (bitmap recycling issue).
- Added: Information about who installed an app (e.g. Google Play).
- Fixed: Crash when trying to toggle receivers for apps that have been uninstalled.
- Fixed: Crash if a device has no public storage.
- Changed: Removed circle cropping from app icons.
- Fixed: Wrong item count in confirmation message when deleting from details.
- Fixed: Possible crash if storage situation changed while SD Maid was traversing file structures.
- Changed: Reduced list item height 72dp to 56dp (#346).
- Changed: Removed circle cropping from app icons.
- Fixed: A crash when using choosing a recurrence through the seekbar (#339).
- Changed: Max recurrence is now 14 days.
- Added: If you accidentally disabled system apps required for storage access, SD Maid will now warn you (e.g. Package Disabler apps for Samsung).
- Improved: Secondary storage setup now tries to display the same name the documents activity also display for its storage entries.
- Improved: Busybox setup, as fallback option "/system/bin/busybox will" now also be checked (#355).
- Improved: Logging regarding matches exclusions.
- Improved: Stage0 busybox setup, try loading version first then do further tests.
- Fixed: Option "Don't show again" during setup of secondary storage, previously you had to toggle it on/off/on for it to stick (#356).
- Fixed: Duplicate test for the same busybox applet.
- Fixed: During secondary storage setup, exiting the "Documents" app without selecting something (e.g. if it's empty) now counts as failure and makes the "Don't show again" option visible (#352).
- Fixed: Occasional crash when exiting SD Maid during setup initialisation.
- Fixed: Floating Action Button not being clickable on <Android4.3 (#357).
- Fixed: Share file option not being visible.
- Fixed: Occasional crash when quickly entering or leaving app details (e.g. when uninstalling an app).
- Added: Database entries now show if they have been skipped or failed (#353).
- Added: Default exclusion for AquaMail (org.kman.AquaMail) (#354).
- Improved: Scan performance by skipping too small files early on (#344).
- Fixed: Check database existence right before any sqlite3 action to prevent accidental creation of a new database (#354).
- Improved: Handling of invalid and or corrupt filenames.
- Improved: Clutter database.
- Fixed: Crash caused by invalid filenames.
- Fixed: Various small crashs, mostly racecondition cases where SD Maid was quickly closed or opened when doing something.
- Improved: Handling and feedback when exporting APKs fails.
- Fixed: SD Maid not directly updating an app's enabled/disabled state on some ROMs.
- Added: Another easteregg.
- Added: Animation to the overflow menu during storage access framework setup.
- Added: Link to help website from overflow menu during setup.
- Improved: Code around setup, some more defensive checks so we don't crash but gracefully deal with it.
- Improved: General error messages should now also show in the tools page via SnackBar.
- Improved: Log output for debugging.
- Improved: Translations.
- Improved: Various rare crashs that only a few persons experienced.
- Improved: Support for keyboard based navigation.
- Changed: Animation handling to fix possible crash on app resume.
- Fixed: Should no longer crash if sqlite binary setup failed.
- Improved: Excluded app default "files" and "cache" directories from empty directory filter as these are automatically recreated.
- Added: Default exclusion for Google Photos (doesn't play nice with SQL VACUUM).
- Fixed: If no SQL binary is available, we exit with an error instead of crashing.
- Improved: Translations.
- Improved: Busybox setup logging output.
- Improved: Added don't show option to kitkat sdcard issue explanation.
- Fixed: Crash during SAF setup.
- Fixed: A few UI crashes in details views due to raceconditions between finishing action and closing UI.
- Improved: Translations.
- Improved: Clutter database.
- Improved: If all tabs are hidden (accident?) auto show the navdrawer to reduce confusion.
- Fixed: Bug that prevented the improved sdcard access granting (added in 4.0.11) via SAF to fail (#231 #330).
- Fixed: Link to sdmaid.darken.eu/help not working.
- Improved: Translations
- Improved: Busybox error screen now shows more debugging information that might help me, help you.
- Improved: Busybox setup now cycles through other architecture canidates if the first one fails.
- Improved: Issues while granting uri access no longer take down the app (Improves upon #336 Ty Vagelis1608).
- Improved: Granting sdcard access via SAF uri should no longer fail on most LG devices (Improves upon #231).
- Improved: Notification progress results are more accurate if it's only one task finishing.
- Improved: Navdrawer headcard layouting on <5.0.
- Fixed: Write-access test for java.io.File accessible storage (e.g. secondary storage + sdcardfix) (#330 Ty gaich).
- Fixed: Crash on 4.4 devices where a hacky file deletion method for sdcards fails.
- Improved: Text layouting being cut off early on some languages (#331 Ty jpzex).
- Fixed: Storage location "Read only" tag is now based on a the global routine that all tools use (previously it had a simplified check that could yield different results).
- Improved: Added progress results via snackbar in details view.
- Fixed: Receiver state not updating correctly after toggeling it.
- Fixed: 0.00 byte apk size on <4.3 devices.
- Improved: Manually selecting all apps to clean will no longer make SD Maid additionally use the native cache clearing routine, while using the clean all button will (Allows to manually only delete public caches on unrooted devices).
- Added: Support for adopted storage (6.x).
- Added: Support for portable storage (6.x).
- Added: USB-OTG support if device supported (4.x-5.x).
- Improved: Translations.
- Improved: Clutter database.
- Improved: Updated all libraries.
- Improved: Minimized file size of used png images.
- Improved: Removed unused text, layout and image resources.
- Improved: Determining how something is read and writeable for SD Maid.
- Improved: If possible, the systems storage access framework activity will directly launch in advanced mode (no longer requiering to toggle "Show SD card").
- Improved: Added caching mechanisms for read/write lookup (speed improvements when dealing with the same files again).
- Improved: Made code more resiliant at some locations, though some of those crashes could theoretically only happen if people screw around with the APK...
- Fixed: Dialogs in settings not having the correct app theme.
- Fixed: StorageAccessFramework (SAF) based access on Android N (https://code.google.com/p/android/issues/detail?id=204119).
- Fixed: Batch deletion failing if items had different types of write accesstype.
- Fixed: SD Maid not asking for secondary storage (Android 5.X) permission despite needing it.
- Fixed: Potential crash within tool details when removing the last item.
- Fixed: Concurrency crash when multiple threads tried to instantiate a worker.
- Fixed: Crash when canceling I/O operations via shells at just the right moment (after starting one, but just before it begins).
- Removed: Label lookup for mounts, due to failing consistently on newer ROMs and serving no useful purpose.
- Fixed: Subsequent delete attempts in single-pass mode only scanning and not deleting (#329 Ty Geocfu).
- Fixed: Layout issues (#328 Ty Geocfu)
- Fixed: Crash on opening the Explorer due to a racecondition where the UI initialised too fast and got bad values.
- Fixed: Crash due to app having no data dir (Android N).
- Changed: Apps system pages are reachable again through a tap on the icon instead of long press.
- Added: Preliminary support for /data/user_de (Android N).
- Fixed: Crash due to app having no data dir (Android N).
- Added: Option to show inaccessible items that would require manual action.
- Changed: Private cache sizes on 6.0 without root are no longer shown, instead a button with further details will be made visible.
- Added: Default inclusion of portable storage within search paths.
- Removed: Total database sizes from scan task result (gives no useful information but is missleading).
- Added: Default exclusion matching "com.android.systemui" for Databases, AppCleaner and SystemCleaner.
- Fixed: Crash when canceling root operations (#323 Ty Geocfu).
- Improved: Progressbar and message behavior, especiall yon rotation.
- Fixed: Inconsistent confirmation dialogs in single-pass mode.
- Fixed: Jumping textboxes (#314 Ty Geocfu).
- Fixed: Cut off titles on small displays (as good as possible) (#318 Ty Geocfu).
- Fixed: ButtonBar not correctly switching states in single-pass mode (#322 Ty Geocfu).
- Fixed: Possible crash when using the search field and rotating the device.
- Improved: Empty folders that are mountpoints are now ignored by the Empty directories filter.
- Added: Option to skip running apps, which is OFF by default.
- Changed: Apps will no longer be forcefully killed.
- Fixed: Possible crash when using the search field and rotating the device.
- Added: Option to skip running apps, which is ON by default.
- Changed: If running apps are not skipped, SD Maid will suspend (SIGSTOP) them before working on their database (root only) instead of killing them (Fixes #325).
- Improved: Result now indicates successful, skipped and failed operations.
- Added: Progress indicator for stats being processed at the end of a task.
- Improved: Various small layout issues.
- Improved: Clutter database.
- Improved: Translations.
- Improved: Tool events that result in an UI action other than the results being populated (showing a snackbar etc) could have dropped these theoretically before, this should now no longer happen.
- Improved: Minor text issues i.e. 'show' vs 'open'.
- Improved: Busybox check on rooted devices (#313 Ty elhennig@github).
- Improved: Within settings that use the path picker screen, directory creation is now disabled where it doesn't make sense (i.e. import stuff).
- Improved: Overall memory footprint, during parallel operation of multiple tools as well as after finishing operations SD Maids memory usage should further drop.
- Fixed: Race condition UI crash when a tool starts working and SD maids updates the navigation drawer UI.
- Changed: Workers no longer display individual notifications, instead a single notification is displayed. The notification displays the active worker count and when all tasks are finished it will show how many ran OK and how many failed. This fixes notification spam, some tools might get specific notification functionality, if necessary, at a later point.
- Changed: Disabled coffee drinking animation on <API18 devices.
- Added: Size and item count information as a list header.
- Added: Information about determined access type and location (Debug/Experimental).
- Improved: Detection whether a location is writeable and readable, which fixes what action are available.
- Fixed: Case where too simple storage detection led to wrong permission and assumptions and thus failing operations.
- Added: Option to allow for case sensitive search (#230 Ty mcl21014).
- Added: Option to share information about your installed apps to text (other apps or text file). Currently includes: Name, package-name, version, version-code, Google-Play download link. The shared text is markdown formatted, but that's up for discussion :) (#249 #255 Ty cloud_strife84).
- Added: Action to 'Force stop' applications(requires root). Note that a force-stopped application will not run until the user explicitly opens it.
- Added: Force-stopped apps (e.g. apps with state stopped=true) now show a 'Stopped' tag by which you can also filter.
- Improved: UI updating and progress feedback when executing tasks from the details view.
- Improved: Killing an app will use root if available.
- Improved: When killing and root is available all pids matching the packagename will be killed instead of only the first one.
- Changed: Replaced permanent SearchBar with collapsible one in the toolbar, more screen-estate yay!
- Fixed: Double check for frozen apps always coming up empty due to reading wrong xml tag.
- Removed: Setting entry, because we currently have no settings (#315 Ty SuperSandro2000).
- Added: If an app is running and can't be killed, it will be skipped.
- Improved: SD Maid will now also try to use root to kill an app before working on it.
- Changed: Replaced permanent SearchBar with collapsible one in the toolbar, more screen-estate yay!
- Fixed: Possible racecondition crash when deleting items while viewing details.
- Added: Option to delete items, via info dialog and multi selection (#149).
- Changed: Long press now triggers multiselection, dialog has a show option that open the Explorer.
- Added: If an app is running and can't be killed, it's database will be skipped.
- Improved: Databases from official database folders that are sql databases are now also found (#182 Ty h4ku).
- Improved: Only valid sql databases are now shown.
- Improved: SD Maid will now also try to use root to kill an app before working on it's database.
- Fixed: Crash when vacuum results are processed and some databases were not accessible.
- Fixed: SD Maid being killed when running vacuum from the background (scheduler/widget).
- Improved: Marked the area where you can press the row entry to trigger its action.
- Improved: Widget events, it's a lot more responsive but may glitch, working on that.
- Changed: Button bar to FAB again (see poll).
- Fixed: Wrong icon for Databases action (#316 Ty DO97).
- Fixed: VACUUM action not showing in the toolbar.
- Added: Settings now allow negative numbers. Chronic or statistics limit at 0 will remove any limits, setting it to < 0 will disable it.
- Improved: Rotation handling regarding search field.
- Improved: Entering nonsense values will now reset it to default instead of crashing.
- Improved: Layouting and removed duplicate code, the chronic is now just rehoused in a full activity if the user chooses to expand it.
- Fixed: Chart on-click behavior, replaced snackbar with actual chart-marker (#311 Ty Geocfu1@XDA).
- Fixed: Potential crash when closing or changing rotation.
- Added: Support for /data/app-private
- Added: There is now an advanced setting that allows you to restore the unlocker icon.
- Improved: Mechanics for shell creation. This brings no noticeable change but the code is a lot clean now which makes the developer happy.
- Improved: Task & Result system to prepare for better statistics.
- Improved: Clutter database (#299).
- Improved: Translations.
- Improved: UI behavior in regard to canceling.
- Changed: Some settings reordering.
- Changed: Further reduced analytics, because I got all I needed from it.
- Fixed: Rare racecondition crash when su binary version is obtained, but the shell blocks and timeouts.
- Fixed: Crash if a deletion using root failed due to the shell timing out.
- Fixed: Crash when enabling or disabling previews and returning from the settings to the main app.
- Fixed: Failure to copy or move files if the source was located outside of the public storage but still readable.
- Fixed: Crash when disabling pages in settings and returning to the main view.
- Fixed: Racecondition crash when entering/exiting details.
- Fixed: Menu icons reshowing in details after rotation.
- Fixed: After failing to grant SD Maid permission, the overflow menu now correctly makes the option "Don't show again" visible.
- Fixed: 3 cases of canceling to hang endlessly (#302 Ty Geocfu).
- Fixed: Fixed location being UNKNOWN for some subdirectories of /data.
- Changed: When in singlepass mode, confirmations are no longer shown (#305 Ty Geocfu).
- Improved: When creating a new bookmark, the name is now prepopulated with the current directory name.
- Fixed: File previews not loading anything for /data/app-asec.
- Added: Support for enabling/disabling any type of receiver and categorization for all default Android receiver types.
- Added: Support for enabling/disabling multiple receiver at once.
- Fixed: Export results showing wrong success counter.
- Fixed: Export failing without root, due to SD Maid not correctly determining access.
- Fixed: Showing size -1 if the item had a size of 0.
- Added: A second default thumbnail filter.
- Improved: Scan speed (depending on active filters).
- Fixed: Showing size -1 if the item had a size of 0.
- Improved: Result detection, previously failed VACUUM attempts were not correctly displayed.
- Improved: If no schedule is active, the SchedulerWard that checks if restoring is necessary after a reboot, will no longer start.
- Added: Data and charts for space gained values per individual tool.
- Added: Searchable chronic that details SD Maids last actions.
- Added: Settings to configure size stats timespan and setting to limit chronic size.
- Fixed: Toolbar navigation button.
- Improved: Updated G+ icon.
- Improved: Translations.
- Fixed: Crash double checking of frozen apps is enabled.
- Fixed: Rare crash when exiting app details.
- Fixed: Possible crash when entering app details.
- Improved: User filter loading, account for permission issues and fail gracefully while logging the error.
- Fixed: Crash when entering the exclusion manager.
- Improved: Translations.
- Added: Fast scrolling to most lists.
- Improved: Settings organization and icons.
- Improved: Translations.
- Improved: Clutter database.
- Improved: Hidden cache database.
- Fixed: Opening SD Maid after updating the unlocker should now correctly update and remove all update indicators.
- Fixed: Rare crash when entering settings because menu actions failed to load.
- Fixed: Popup for unlocker update not showing despite being set (what an unexpected source of agony).
- Fixed: Rare crash when exiting a details activity.
- Fixed: Rare crash when doing quickly exiting the permission setup.
- Fixed: ActionMode not restoring correctly after device orientation change in details activities.
- Fixed: Possible hang on outputs not ending with a new line.
- Changed: Code related loading the coffee animation in an attempt to address glide#928.
- Fixed: Progress result when making files/directories.
- Fixed: Progress result when renaming items.
- Fixed: Progress result when path dumping.
- Fixed: Progress result when calculating item size.
- Improved: XML based freezing method, smarter logic instead of hardcoded values.
- Fixed: Secondary freezing methods on 4.2+ ROMs.
- Fixed: Detailed size display in app details.
- Fixed: App reset causing apps to no longer start.
- Changed: Added "Autostarts" label to function "Receiver Manager", lessen the confusion.
- Removed: Outdated app uninstall mechanisms related to <4.0 Android.
- Improved: Scan performance by parallelizing read operations and filtering.
- Improved: Scan performance by parallelizing read operations and file tree creation.
- Improved: Scan performance by parallelizing read operations and first filtering pass (size-based).
- Improved: Scan performance by improving the order in which criteria are checked that sort files out (most common first).
- Removed: Unnecessary progress information.
- Fixed: Scheduler not triggering from skip notifications.
- Fixed: Crash when entering and immediately exiting the UI.
- Fixed: Widget crashing when saving configuration.
- Added: SD Maid Pro now displays a SnackBar if the unlocker not have a minimum version (currently 4000).
- Added: Reenabled coffee easteregg.
- Added: Experimental support for injecting busybox & sqlite binary into the systemless root area. This should help on devices where SD Maid other would have to inject into /system to work with root.
- Improved: Strings and translations.
- Improved: ToolBar navigation icon behavior in tablet layout.
- Improved: Debugging for storage access related issues (i.e. SD Maid not recognizing permissions for external sdcards).
- Improved: Slightly better performance when reading files.
- Improved: UI updating when doing actions within the details views. Especially rotation should now be handled better.
- Changed: Removed most analytics of events, if the information isn't useful, we dont't need to track it :), and it wasn't really helping me :(. Added a few analytics for widget usage.
- Fixed: Not being able to select two dirs that share part of their name within the picker.
- Fixed: Picker content now refreshes after creating a file/dir (#290).
- Fixed: Old pro version icon being visible in the BuyPro dialog.
- Fixed: Thread synchronization when reading files, rare hanging cases and a few crashes related to canceling are fixed now.
- Fixed: Progress indicators in the navigation drawer being shown for wrong items.
- Fixed: Entering and exiting item details should no longer cause memory leaks.
- Fixed: Crash when entering and exiting the details view and then deleting an item through the tools main page.
- Changed: Task error handling, previously some errors might just have been ignored instead of crashing the app, preventing me from finding out about them and fixing it
- Improved: UX by disabling the new file/dir add button if no text is entered (#282).
- Changed: Visual distinction between user and default bookmarks (#284).
- Fixed: ActionMode staying active despite leaving the main activity.
- Fixed: After permission changes not scrolling to the right item.
- Fixed: Crash when trying to add a bookmark on an unloaded Explorer (#286).
- Fixed: Fixed FAB button showing with sidebar open (#285).
- Fixed: Root search checkbox being weird (#287).
- Improved: The UninstallWatcher now only returns results that can be attributed to the uninstalled app.
- Improved: SDCard filter scanning speed.
- Changed: Trying new icon. Ghosty :)
- Fixed: Corpse filter not acting according to their default settings value.
- Improved: Cross check items that are to be removed on uninstall if they are shared with another app.
- Fixed: APK export failing when exporting to external sdcards on 5.0+ (#271 & #270).
- Fixed: Crash on apps that either don't have an apk file or they have one but SD Maid can't find it.
- Fixed: Not being able to enter app details again after uninstalling an app.
- Fixed: Exclusions are no longer applied if we can't enforce them (e.g. non-root private caches) (#246).
- Fixed: Being able to press/longpress the header when viewing details which lead to a crash.
- Fixed: Rewritten the external task system, which is now what both scheduler and widgets use to trigger actions indirectly (fixes #277).
- Fixed: Scheduler failing because setup was not done by enforcing the setup to happen before setting a schedule (fixes #278).
- Improved: Dialog messages in single-pass mode (#279).
- Fixed: BuyPro Dialog not showing when necessary.
- Improved: Translations.
- Improved: Log output and crashtracking.
- Fixed: SDCard not being detected on multi-user devices without SuperSU.
- Fixed: Possible crash when changing fragments at certain moments.
- Fixed: Possible crash when navigating settings.
- Fixed: Crash when no mount size information could be obtained via StatsFS.
- Fixed: Possible crash when switching to a specific page in SD Maid through widgets or notifications.
- Fixed: Crash when checking Venom SuperUser su binary.
- Fixed: Possible crash when opening or close SD Maid when a task finishes.
- Fixed: Possible crash tasks start/finish in quick succession.
- Fixed: Possible crash when doing list item multiselection.
- Improved: SD Maid will no longer crash if the VIBRATE permission has been revoked.
- Fixed: Crash when the UI was shown before SD Maid was ready and the user clicked an action.
- Fixed: Crash if the user press back before the Explorer UI is completely loaded (no default path is available).
- Fixed: Crash when an action was started from the details activity and the activity was closed before the action finished.
- Fixed: Crash when an app with no APK was scanned.
- Fixed: A crash when canceling the scan at certain moments.
- Fixed: Deleting from details erroneously required the pro version.
- Improved: The sdcard filter should cancel quicker now.
- Fixed: Deleting from details erroneously required the pro version.
- Fixed: Crash upon entering the exclusion manager (#274).
- Fixed: Fixed random crash when entering/leaving the scheduler page.
- Added: If the busybox setup fails, the final explanation screen will now show an actual error message with details.
- Added: Exclusion for SD Maid from the databases tool.
- Added: SD Maids install ID is now shown in overview for debug purposes and can be copied by tapping it.
- Added: Creating a file or directory called "sdm_force_debug_run" on the sdcard will trigger a debug run on SD Maids next launch.
- Improved: New Clutter database entries.
- Improved: Recognition of specific su binaries and apps.
- Improved: Logging output and tagging.
- Improved: Compatibility check of native busybox binaries. Now ensuring the mount command delivers usable output.
- Changed: Changing the worker count in advanced settings now automatically restarts SD Maid.
- Changed: The changelog is no longer an in app screen but shown from http://sdmaid.darken.eu/changelog .
- Fixed: Crash when granting SD Maid storage access/permission and the setup activity was recreated.
- Fixed: Rare crash during rootcheck on not correctly rooted devices.
- Fixed: Warnings during reading the changelog.
- Fixed: Possible crash on network issues during update check.
- Fixed: Debug run not correctly elevating the debug level.
- Fixed: Build fingerprint not being included in debug run logs.
- Fixed: Possible UI crash when resuming the UI and an action just finishes.
- Fixed: Crash when trying to determine ownership of a system app without source dir.
- Fixed: Crash caused by file forensics failing on files stored in secondary storage if that storage was mounted within the primary storage (e.g. /mnt/sdcard/external_sd).
- Removed: Some tracking because pirates are too dumb to download the correct apks and I'm getting spammed with dumb error reports.
- Added: Buildtime to SD Maids info.
- Fixed: Crashed caused by running Overview simultaneously with other tools.
- Improved: Canceling behavior. Canceling happens quicker now.
- Improved: Progress feedback. Filter progress should now show which filter is active and in what state.
- Improved: UX of deleting items from the details view.
- Improved: Performance of the sdcard scan, should be much faster now and we still get to keep the accuracy improvements, \o/.
- Changed: Filter choice settings have ben reset.
- Changed: The app data filter has been split into 3 individual filter (/Android/data/,/data/data/ and the sdcard root excluding the Android/data folder).
- Fixed: Crash when quickly opening and closing app details.
- Fixed: Rotation crash in receiver manager (#263).
- Improved: Improved receiver manager layouting (#266).
- Improved: Improved UX of deleting items from the details view.
- Changed: Restricted MacOS files filter to (root of) SDCARD.
- Fixed: Fixed filter on/off settings not working.
- Improved: Improved UX of deleting items from the details view.
- Fixed: Deletion being possible without having the pro version.
- Improved: Improved UX of deleting items from the details view.
- Fixed: Deletion being possible without having the pro version.
- Improved: Replaced extra searchbar with built in searchview.
- Fixed: Fixed exclusions being cut off.
- Fixed: Timeout during root check not working leading to endless waiting.
- Fixed: Crash due missing update data.
- Fixed: Crash when determining the ownership of a system app related file and the system has an app installed without source folder.
- Fixed: Crash due to rotation when running a setup task.
- Fixed: Crash due CrashTracking crashing :') due to a race condition on app initialisation.
- Fixed: Crash on orientation change related to race conditions between UI callbacks.
- Fixed: Possible crash when resuming SD Maid on a tool that is working state.
- Fixed: Crash due to race condition when entering/leaving SD Maids UI while a new thread is being launched.
- Fixed: Crash due to quickly resuming, pausing, resuming SD Maids main app, a callback would trigger while the UI was no longer visible.
- Fixed: Crash when doing an update check and the server didn't know the version.
- Fixed: Crash during storage detection because the system returned a NULL path.
- Fixed: Crash during storage detection because the sdcard was not mounted or available.
- Fixed: Crashes caused by file forensics failing to match items on /data/app if SD Maid was moved to the sdcard (TY +Ray Hollingsworth, his log provided the solution).
- Changed: If no activity for OPEN_DOCUMENT_TREE is found when playing in the advanced settings, we show a warning instead of crashing.
- Improved: Changes to crash tracking and logouput to help me identify specific issues.
- Improved: Disabled crashtracking if SD Maids assets have been modified and the app crashes because it can no longer support that device (good job /s).
- Improved: Updated translations.
- Fixed: Crash due to trying to create a bookmark for a not mounted sdcard.
- Fixed: Dataloss due to DefaultFilter instantiation with incomplete filter criteria. If this is detected a debug report will be send and the filter will be skipped (TY +Salman Khan SK, his log provided the solution).
- Fixed: Crash when entering settings.
- Fixed: Crash when entering settings.
- Fixed: Crash when entering settings.
- Added: Support for API23 permission system.
- Added: Advanced option to work around Kingo Root's faulty su binary behavior.
- Added: Previews now support videos.
- Added: Exclusions now support regular expressions. There is currently no UI for it, prepend "regex:" during creation.
- Added: Exclusions can now be imported & exported.
- Added: Ownership detection for /system/app, /system/priv-app and /sdcard/Android/media.
- Improved: Design!
- Improved: UI performance by fixing duplicate/overlapping update calls.
- Improved: Switching activities no longer requires reloading of preview picture.
- Improved: Settings now have a nicer picker window to choose paths.
- Improved: Settings now have a tablet mode.
- Improved: Updated BusyBox, now build from 1.23.2 with buildroot 2015.08.1 (default config)
- Improved: Update check now also includes the unlocker.
- Improved: Robustness of uri based external storage access via StorageAccessFramework.
- Fixed: Threading issue when canceling workers through the ActionProgressBar.
- Fixed: Previews sometimes not loading when scrolling like a maniac.
- Changed: Settings structure has been rearranged and are now accessible from the bottom of the navigation drawer.
- Changed: Bugreporting now uses bugsnag.com instead of ACRA (I needed a better backend to organise crash reports).
- Changed: Bugreporting email has been reset.
- Changed: Bugreporting preference has been reset.
- Removed: Removed < API16 binaries.
- Removed: Support for Android < 4.0 (minSdkVersion 16).
- Added: Button to see a small explanation.
- Added: A widget that can run QuickAccess actions in one pass.
- Changed: Entries now show full progress feedback.
- Changed: Tapping the title now takes you to the full view.
- Changed: The FAB button will return to it's initial SCAN state even if items are left.
- Changed: Consolidated SD Maids version and state details into a single entry.
- Removed: Full display of all mounts (just wasn't that useful and very badly supported).
- Removed: References that could be construed SD Maid only works with ROOT. It just has the bonus that if you have root it can utilize it. Only very early versions of SD Maid needed root.
- Added: Bookmarks for storage locations (right-side drawer).
- Added: Added user bookmarks.
- Added: Copy support on 5.0+ external storage.
- Added: Move support on 5.0+ external storage.
- Added: "Pathdump" it writes the contents of a folder recursively into a textfile.
- Improved: Copied/cut items are now visibly represented by a Snackbar at the bottom, offering details and allowing to clear SD Maids clipboard.
- Removed: Individual setting for preview loading, this is now a general setting.
- Changed: Creating a SystemCleaner filter from the context menu is now an option that has to be enabled.
- Changed: Changing permissions is now an option that has to be enabled.
- Changed: Doing a forced media scan is now an option that has to be enabled.
- Improved: Simplified search options.
- Added: Added SHOW button to entry details.
- Changed: Clicking a search result now open it in the Explorer if there is no app to open it.
- Removed: Individual setting for preview loading, this is now a general setting.
- Added: Support for managing receivers of type: HEADSET_PLUG.
- Added: Support for managing receivers of type: ACTION_POWER_CONNECTED.
- Added: Support for managing receivers of type: ACTION_POWER_DISCONNECTED.
- Added: Color coded action by their overall impact risk.
- Improved: Size accuracy and displayed details.
- Improved: Scan performance, especially on subsequent refreshs.
- Fixed: Dalvik-cache file size not being determined on Lollipop.
- Changed: Removed tag "No APK" from list display. Rare occurrence and not really useful at that stage.
- Changed: The expandable actions and the app details have been moved into a new activity.
- Changed: Autostart related entries have been renamed to BOOT or ON_BOOT to combat misconceptions.
- Changed: 'Toggle autostart' Dialog has been replaced by the 'Receiver Manager' Activity.
- Added: Swipeable fullscreen view for comfortable one-handed viewing of corpse details while drinking coffee.
- Added: Possibility to delete and exclude items from within the details view.
- Improved: All filters now support extension through the clutter database.
- Changed: The asec filter now no longer only looks at .asec files.
- Changed: The "Remove keepers" setting has been reversed and renamed to fit the equivalent within AppControl.
- Changed: The Uninstall watcher now only executes the AppData filter.
- Changed: Corpse checks on the sdcard now support item names with variables through regex matching. Note: This mean the previous reverse lookup method can no longer be used which increases scan time.
- Fixed: Issue in several filters that could lead to false negatives if packagenames overlapped.
- Added: Swipeable fullscreen view to look at the details of each filter.
- Added: Support for importing and exporting user made filters. Importing filters is free, creation and export paid.
- Added: Possibility to delete and exclude items from within the details view.
- Added: JSON syntax for creating user filters.
- Added: User filters now support regex, min size, max size and storage location criteria (currently not usable from the UI, only from JSON).
- Added: Logic to automatically convert old v3 custom filters to the new "user filters".
- Improved: Filter manager view, it's now split into two panes, with the right side pane allowing management of custom made filters.
- Improved: Filter creation UI, simplified possible settings, reduced chance to make mistakes.
- Improved: Default filter accuracy and flexibility by replacing basic string matching with REGEX expressions.
- Removed: Setting to enable creation of user filters. It's now on by default.
- Removed: NetStats and ProcStats filter, their usefulness was always in doubt. If you really want this, create a user filter.
- Added: Swipeable fullscreen view to look at the details of each app.
- Added: Possibility to delete and exclude items from within the details view.
- Added: Info and shortcut to system storage for people on 6.0 without root.
- Added: Support for extending cache definitions via regex.
- Improved: Scan performance through better internal data structures.
- Added: Possibility to delete and exclude items from within the details view.
- Added: Safeguard that routes all single item deletions through an extra check to ensure we have one left over.
- Removed: Individual setting for preview loading, this is now a general setting.
- Improved: Switching behavior when viewing an entry in the Explorer, smoother change and scrolling to correct position.
- Improved: Switching behavior when viewing an entry in the Explorer, smoother change and scrolling to correct position.