The Box comes alive, Shedi finds a lot more, and the uninstaller gets its own page.
What's new:
New features
Cleaning is a show now: every item drops into the Box as it goes, and anything that couldn't be cleaned is spat back out.
New places Shedi looks: AI models (Ollama, Hugging Face, LM Studio), Android emulators and system images, project build folders (.next, .turbo, Rust target, Python .venv, Pods, Gradle), code editor leftovers (VS Code, Cursor, JetBrains), uv, Puppeteer and Conda caches, SwiftUI Previews, old installers in Downloads, iPhone and iPad backups, Messages attachments, and the Trash itself.
Uninstall an App is its own page: every app in Applications with search, filters (not used lately, large, App Store), sorting and when you last used it.
The Done screen shows your disk before and after, and a card you can share.
Hide anything from your results with a right-click; Settings lists what's hidden so you can bring it back.
A low-disk alert from the menu bar, at the threshold you choose. Appearance can be set to Light or Dark.
Refinements
Results are grouped by what to do: Safe to clean, Check first and Your files.
Click a block in the tray to open it. Solid is what Clean takes, striped stays.
Deleting from the Trash is almost twice as fast for folders full of small files.
Uninstalling can also delete from the Trash. An app's own data (Application Support, Containers) now starts unselected, and Shedi names it before removing it.
Bug fixes
Shedi never touches your keychains, iCloud Drive, Mail, Messages history or Photos libraries, whatever a rule finds.
After deleting from the Trash, Done no longer says something is still in it.
Lets you share anonymous usage counts, so I can see what to improve. Never file names, paths or your license key.
What's new:
New features
Share anonymous usage: counts like scans run and space freed, with sizes rounded. Turn it off any time in Settings, General. If you updated from 1.0.0, Shedi asks once and starts with it off.
Refinements
Turning sharing off deletes counts not yet sent and makes a new random ID.