Skip to content

Releases: lgibelli/mydiskisfull

MyDiskIsFull 0.1.4

Choose a tag to compare

@github-actions github-actions released this 27 Oct 10:40

Fixed

  • The forecast no longer reads space taken in one go as a daily rate. A big download or a macOS
    update getting ready made it say "full in about 22 hours" when the disk was filling by a few
    GB a day. Such arrivals are left out as one-offs unless they keep happening, and the headline
    says what was left out. What macOS frees by itself when it's needed (purgeable space, local
    snapshots included) now counts as room before the disk is full.
  • A big file written into a new folder was recorded at the size it had when the watcher first
    saw it: a 28.5 GB download showed as 10.7 GB, because macOS reported no file events for it. A
    folder that grew is now measured again the next time, events or not.
  • Moving a folder to the Trash wasn't seen at all. The folder is now followed: its size goes to
    the Trash and comes off once the Trash is emptied. When free space jumps by a gigabyte or more,
    folders are measured after 10 minutes instead of 30.
  • Copies of files that share their blocks are counted once in each folder, not only for the disk
    as a whole. Chrome leaves a copy of itself in a temporary folder each time it's killed instead
    of quit: 63 of them were 137 GB to du, 26 GB in Space, and really take 3.0 GB, which is what
    Space shows now. mdif map has a column for it ("ONCE").
  • The local snapshots suggestion carries the size macOS counts as purgeable and is ranked by it,
    so 69 GB of snapshots comes first instead of seventh with no size.
  • Only Time Machine's local snapshots are counted: macOS update snapshots made "5 local
    snapshots" out of 2.

Added

  • A macOS update waiting for the restart that installs it is shown with what that restart frees,
    beside purgeable space and swap, striped in the Space bar.
  • Trends shows what grew and what shrank the most over the span the chart shows (24 hours,
    3 days or 2 weeks), and the Overview card covers the last 3 days instead of 24 hours.

Changed

  • Move to Trash on Minecraft's game folder (~/Library/Application) says it's the folder named
    "Application", not "Application Support": its path alone reads as cut short. A clean-up shows
    as busy only once you've confirmed it.

MyDiskIsFull 0.1.3

Choose a tag to compare

@github-actions github-actions released this 23 Oct 19:10

Added

  • Delete Snapshots: when the disk is nearly full and local Time Machine snapshots keep the space
    of deleted files, the suggestion deletes them after you confirm, instead of only giving a
    command for Terminal. Backups on your backup disk aren't touched. mdif clean takes a snapshot
    by its name and checks it's gone afterwards. Lite still gives the command.
  • A copy button beside each path on Cruft (and Space) copies the whole path, for Terminal or
    Go to Folder.

Fixed

  • Move to Trash on a forgotten folder (Minecraft's game folder, a cloud folder nothing syncs any
    more) always failed with "isn't a file": the check made right before took every folder for a
    file.
  • When nothing was cleaned, the alert no longer says the disk has more free space: that was
    something else changing the disk meanwhile.

MyDiskIsFull 0.1.2

Choose a tag to compare

@github-actions github-actions released this 22 Oct 16:37

Added

  • A release branch builds MyDiskIsFull Lite too, from the same commit, signs it for the Mac App
    Store and uploads it to App Store Connect, where it shows in TestFlight.

Changed

  • What was "comes back by itself" is named as macOS names it, each on its own line: Purgeable
    (macOS removes it when space is needed) and Swap (removed when the Mac restarts). mdif space
    prints them as "Of what's used: …".
  • Lite says the full version is completely free, with no ads, and links to its page instead
    of the site's home page. About says no ads in both.

Fixed

  • Refresh and Settings are at the toolbar's trailing edge on macOS 26 and later; 0.1.1 left
    them next to the sidebar (the window hides its title, and without it nothing pushed them over).
  • With a local Time Machine snapshot on the disk, everything the scan couldn't see was counted
    as freed by itself (25 GB on a Mac with a 6 GB snapshot): most of it is macOS's own files and
    metadata, which stay, and what the snapshot holds is in purgeable already. It's counted once.
  • 0.1.1 as downloaded or updated had the old kind of icon, which macOS 26 and later show small
    in a grey frame: GitHub Actions built it on macOS 15, where actool couldn't compile the
    icon. Releases are built on macOS 26 now, and stop if the icon isn't compiled.

MyDiskIsFull 0.1.1

Choose a tag to compare

@github-actions github-actions released this 22 Oct 06:08

Added

  • MyDiskIsFull Lite, the App Store edition, runs in the App Sandbox. Its watcher runs while
    the app does (and the app opens at login if you let it); it sees the disk once you pick it in
    an Open dialog, until then watching free space only; and it keeps its own history.
    app/app-store.sh signs it for the Mac App Store, packages and validates it, and uploads it.
  • mdif watch --attached exits when its standard input closes, so a watcher started by an app
    goes when the app does.
  • Finished worktrees: mdif suggest and the app find git worktrees whose work is merged into
    the main branch (or squashed into it), with nothing uncommitted and nothing ignored that a
    build doesn't make again, and give their size and the git worktree remove command. An
    agent's counts once nothing happened in it for an hour, one made by hand after a week. Git
    only reads: nothing is written into the repository.
  • One-click clean-ups: Remove Worktrees for finished worktrees (git worktree remove, after you
    confirm; their branches stay) and Move to Trash for Chrome's AI model once its policy is in
    and Chrome has quit. mdif clean <path>… does the same from the command line (--dry-run
    shows what it would do). Each path is checked again first; anything you keep, or that mdif
    doesn't suggest, is refused. Not in the App Store edition, which may only read the disk.
  • The keep list: mdif keep add <path> (patterns with * and ?), Keep It on a suggestion in
    the app, and Settings → Kept. Nothing suggests deleting, cleaning or moving what you keep, nor
    a cleanup that would take it with its folder. An incident about a kept folder still shows, with
    "you keep it" as its fix.
  • The Overview shows where the space goes: one bar for the disk split by kind (apps, build
    output, developer tools, cloud copies, app data, caches, media, Mail and Messages, virtual
    machines, macOS, your files), each kind biggest first and opening to its biggest items, with
    what may not be needed marked (apps not opened in months, files unchanged for a year, build
    output, caches) and what comes back by itself. A fix shows with what it's about; the rest
    follow under More Fixes. mdif space measures it (a whole-disk scan, cached). The Fixes page
    is now Prevent, with the tweaks.
  • Fixes show, not tell: a folder that keeps growing has bars of its size at the end of each of
    the last days and now, instead of a sentence; each clean-up says about how much it frees,
    and how old its files are on average (by size, from their modification dates).
  • Delete Build Output: a Rust target folder, Flutter's build, and other build output
    that keeps growing can be deleted from the app (what cargo clean does), after you confirm
    and after mdif clean checks it again; never something you keep.
  • Probably forgotten, at the top of where the space goes: the biggest of what's untouched for a
    year or more, from every kind, each saying what it is. Items say which folder holds most of
    them ("Mostly Outlook › Outlook 15 Profiles: the old Outlook's copy of your mail"), app
    containers go by the app's name ("Microsoft Office (shared)", "Voice Memos").
  • What apps keep (mdif_core::handlers): Signal's attachments, Messages' attachments, Mail's
    mailboxes, iPhone backups, the old Outlook's mailbox, Teams' web cache, Telegram's media,
    Spotify's cache, Slack, Spotlight's processing, Android emulators and the Photos library are
    recognised in an item, each with what it is, how to make it smaller in the app or in macOS,
    and a button to open the place. It shows with the item when you click its kind on the Space
    bar (App data, Mail and Messages), past the first few if need be; Apps points to App data,
    where what apps keep is. A folder you keep gets no advice to make it smaller.
  • Delete node_modules, for a project whose lockfile says what npm install puts back; the
    button says it downloads what isn't in npm's cache.
  • Empty Trash: the Trash shows apart from what comes back by itself (it doesn't), measured
    fresh each time, with a button in the sidebar that empties it after you confirm.
  • Teams' and Slack's web caches get Empty Caches: only what downloads again, while the app is
    closed; messages and sign-in stay.
  • Leftovers from macOS updates: the Relocated Items folders in /Users/Shared (one per update)
    go to the Trash through Finder, which asks for the password once for all of them.
  • Cloud storage: iCloud Drive, OneDrive, Google Drive, Dropbox and Box each say how to keep
    fewer files on this Mac and open the app or iCloud settings; a folder left behind when an
    account was removed or reset is flagged.
  • Disk Wear, a page of its own: what apps wrote in the last day, against the disk's size, and
    the biggest writers (it was a card on Trends).
  • The disk's state moved to the sidebar, on every page: the ring, the forecast in a sentence,
    what's used, the trend, what comes back by itself (with an (i) on why deleting doesn't always
    free space at once) and the Trash. The sidebar can't be hidden.
  • Refresh (⌘R and the toolbar) measures everything again; while the window is open free space
    follows what you delete every few seconds, and the breakdown says when the disk changed since
    it was measured.
  • Empty Caches asks which, with a checkbox for each. A kind lists up to 20 items (Show More)
    and an Everything Else row, so its rows add up.
  • The App Store edition shows what it can't do as locked, with why the App Sandbox rules it out
    and the free full version, and the same clean-up as a command to paste into Terminal.
  • Empty Cache: an app's or a tool's cache folder (~/Library/Caches/<app>, an app container's
    caches, an Electron app's Cache, ~/.cache/<tool>) is emptied from the Overview, the folder
    itself kept, and Caches has one button for all of them. Not while the app is open (mdif clean says to quit it first), and never macOS's own caches or one several apps share.
  • A helper process that keeps rewriting the disk is named by its app ("Safari keeps rewriting
    the disk", for WebKit's networking process), with Restart Safari's Networking: it ends the
    helper, and Safari starts a fresh one and keeps its windows. mdif clean <the app> does it
    only while that helper of that app is the one churning.
  • Keep tidy: clean-ups the watcher does once a day, each off until you turn it on (switches
    under Prevent, mdif tidy on <id>): simulator runtimes not used in 60 days and the simulators
    left without one (simctl), a project's build output (Rust's target, Flutter's and Gradle's
    build, Swift's .build…) that nothing has built into or run from for 14 days, a project's
    node_modules nothing has installed into or run from for 14 days (put back from the lockfile),
    a Rust build's
    incremental caches no build has touched for 30 days,
    and app and tool caches of 50 MB or more that nothing has written to or read for 30 days, emptied
    while their app is closed. Every folder goes through mdif clean's checks, never anything you
    keep; what each did last is shown with its switch, and what it deleted is in the watcher's
    log. mdif tidy run --dry-run shows what they would do now. Not in the App Store edition.
  • The app stays in the Dock like any app; Settings → Show in the Dock takes it out, and then
    it's there only while one of its windows is open.
  • MyDiskIsFull Lite has a LITE badge on its icon, in the menu bar, in the sidebar and in the
    menu bar, so the two editions can be told apart when both are installed.
  • Cruft: your big files that nothing has opened or changed for a long time, biggest first, on a
    page of their own where you pick how big (50 MB to 10 GB) and how long (6 months to 5 years),
    each with Show in Finder, Keep It and Move to Trash (Put Back returns it). Only files in your
    own folders: not in ~/Library or ~/Applications, hidden folders, developer tools' folders,
    packages (apps, Photos and Final Cut libraries, virtual machines) or build output and
    dependencies, and no part of a program (a library, a .jar). mdif space --json lists them
    in old_files (unused for 90 days or more), from the same whole-disk scan, which now reads
    access times too; mdif clean <file> checks again that it's still such a file before it goes.
  • The Overview is a hub: what needs attention, then the top three from each page (what frees the
    most on Space, the biggest forgotten folders and files on Cruft, what grew, what wrote the
    most, what keeps the disk from filling that isn't on yet), each with its button and See All.
    Where the space goes moved to a Space page of its own (⌘2), with More Fixes; Probably
    Forgotten moved to Cruft, as Forgotten Folders, filtered by the size and age chosen there.
  • Trends is now Disk Usage, and shows how full the disk is, in % used, day by day, in layers by
    kind (macOS, snapshots and system data, apps, developer tools, build output, caches, the Trash…)
    from the whole-disk measurements, which go into the history (strata; mdif forecast --series --json gives them); between two the split is estimated, before the first it's faded. Disk Wear
    stacks each day's bar by the biggest writers. Disk Wear has a chart of
    what was written each day, the last 30, against the disk's size, with the day's biggest writers
    under the pointer. mdif forecast --series --json gives writes_daily: each local day's total
    and its three biggest writers.
  • Minecraft's game folder says what it holds (the game, its downloads, the saved worlds by name)
    and whether Minecraft is still installed, and gets Move to Trash, which names the worlds and
    says to copy saves first to keep them.
  • The Space page's bar is labelled like a railway map: each part has a station on the bar and a
    line in its colour to its name and size, above and below in turn, bending at 45° where labels
    move apart. Clicking a part or its name opens that kind right under th...
Read more