Skip to content

0.1.0 - 2026-10-10

Latest

Choose a tag to compare

@github-actions github-actions released this 10 Oct 19:53
v0.1.0
3d4be81

Release Notes

The Changed and Fixed lists describe changes since earlier builds from the main branch. They matter to you only if you built minimenta from source before 0.1.0.

Added

  • An interactive disk usage analyzer for the terminal. It runs on macOS, Linux and Windows. The command is minimenta, and mm is a short name for the same program.
  • A start prompt. Run minimenta without a folder. The prompt shows the current folder. Enter scans it, Tab completes folder names, and Ctrl+U clears the line.
  • The ncdu look and keys. The browser has the same layout, size bars, file flags and sort keys. Press s, n or C to sort by size, name or item count. Press a to switch between apparent size and disk usage. Press r to rescan the current folder. Press ? for help.
  • Multi-select. Space selects one item. Shift+Up and Shift+Down (or K and J) select a range. Ctrl+A selects all items in the folder. Esc clears the selection.
  • Delete with a safety net. Press d to move the selection to the Trash. Press D to delete it for good. Both keys ask for confirmation first. In the question, Shift+A confirms and stops the question of that key until you quit. The help screen shows a question that is off, and t and p turn it back on. On macOS, minimenta asks Finder to move the items, so "Put Back" works.
  • Undo. Press u to put the last move to the Trash back. Each further u undoes the move before it, until you quit.
  • A fast first scan. minimenta uses at least 16 threads. On macOS, it reads directories in bulk with getattrlistbulk(2). On NTFS volumes, it reads the master file table when you run it as administrator. On a cold disk, minimenta scans about 5.1x faster than ncdu with its default settings on macOS and about 4.9x faster on Linux. Against ncdu -t 64 on Linux, the lead is small. The README shows the method and the cases where ncdu is as fast or faster.
  • Fast repeat scans on macOS. minimenta keeps the last scan of each folder in ~/Library/Caches/minimenta. It lists again only the folders that FSEvents reports as changed. The browser says when it shows a cached scan.
  • These options: -x (stay on one file system), -t N (number of scan threads), --no-cache, --no-mft, --cache, --summary (print the totals without the interface), -h and -V.
  • Prebuilt binaries for macOS (Apple silicon and Intel), Linux (x86-64 and ARM64) and Windows (x86-64). Both commands are in each archive.
  • Installation with Homebrew, cargo install, and installer scripts for macOS, Linux and Windows.
  • A hint to run as administrator on Windows. After a slow scan (5 s or more) of an NTFS volume, minimenta suggests an elevated run. This happens when UAC limits your administrator account and minimenta could not read the master file table. A standard user and an elevated process do not see the hint. --summary prints the hint on stderr.
  • An estimate of the time left on the progress screen. minimenta takes it from the item count of an earlier scan of the same folder and the speed of the scan so far. A rescan with r has that count on every platform. On macOS, the cache file stores the count. A full scan after a failed cache check shows an estimate when the cache is from the same folder and options. A first scan has no earlier count and shows no estimate. The estimate shows after 2 s of counting and 1% of the earlier count.

Changed

  • Linux: a folder with hundreds of thousands of files scans faster. minimenta splits the file stat calls for the later parts of such a folder across threads. Before, one thread did all of them. Esc stops the listing of such a folder, and the memory that the listing uses stays bounded. Scans of ordinary folders do not change.
  • Linux: a cold scan reads the folders in random order. Before, the threads followed the tree and read neighbouring folders at the same time, and the disk served fewer requests per second. A scan that keeps the CPUs busy, such as a scan of a cached tree, does not change. On GitHub runners with a virtual disk, a cold scan of /usr took 0.92x (SCSI disk) and 0.89x (NVMe disk) of the time of the earlier scanner. It took 0.95x (SCSI) and 0.92x (NVMe) of the time of ncdu -t 64. By the rule of the README tables, that is a small lead on SCSI and even on NVMe. Those A/B runs timed both scanners in alternating pairs in one job. The first three Speed runs on main at 87550d8 (one Linux job each) showed the two even on a cold /usr. The ratio was 1.016, the median of the three runs (middle half of that run 0.98 to 1.06). The 21 pairs of the three runs together gave 1.019. A later test ran both timing methods in the same 12 jobs (131 pairs each). It was not the real Speed workflow. It gave 1.056 for the Speed method and 1.057 for the A/B method. The median ratio differed by runner CPU model and disk type together (3 Intel NVMe jobs against 9 EPYC 7763 SCSI jobs). We did not test either factor. Then three Speed runs at a700ff0, with six pooled Linux jobs each, showed a small lead over ncdu -t 64 on a cold /usr. The median of the 18 job medians is 1.036, and the 95 percent interval is 1.002 to 1.066. The median of the job medians of each run is above 1 (1.039, 1.012 and 1.037). So the rule of the README tables names minimenta. minimenta was faster in 14 of the 18 jobs, and the job medians range from 0.957 to 1.131. The pooled pairs of the same runs are even by the rule of the pair table (ratio 1.046, middle half 1.00 to 1.11, 217 pairs). The ratio 1.056 of the test above is inside the interval. We did not prove why the earlier results differ. We did not measure spinning disks, network drives or local NVMe disks. Random order may cost extra seeks on a spinning disk, and --no-spread turns it off. The peak memory of a scan of /usr did not grow (251 MB against 252 MB at most). The peak number of open files grew by at most 1 (22 against 21).
  • macOS: a scan skips empty folders on the system volume without opening them. This makes a scan of /System/Library faster. An empty system folder that you may not read is no longer reported as a read error, because minimenta never opens it. Scans of the data volume do not change.
  • macOS: a repeat scan lists folders with hard-linked files again only when links may have changed. Before, it listed them every time, which made repeat scans of trees such as Xcode.app slow.
  • macOS: a repeat scan decodes the cache while it reads the FSEvents history. This makes repeat scans of large trees faster.
  • Windows: when you run minimenta as administrator on a clearly cold NTFS disk, the master file table reader starts after 50 ms. Before, it started after 250 ms. Warm scans and small scans do not change.
  • Windows: minimenta loads the system libraries for the Recycle Bin only when it needs them. Start-up is faster, which helps small scans most.
  • macOS: the cache file stores the item count of the saved tree. The file format changed (version 5), so the first scan after the update scans all folders.

Fixed

  • macOS: a volume that is mounted over a folder with entries is now listed completely. Before, the scan could stop after the first part of the listing and miss files.
  • macOS: the progress screen says when minimenta checks the cache. Before, it showed 0 items and 0 B while minimenta read the cache and FSEvents replayed the changes. The replay can take up to half the time of the last full scan. For a home folder with a full scan of 35 s, that is up to 17 s. During the replay, the Time line shows the latest time at which the replay stops. That time includes the time to read the cache. If minimenta cannot use the cache, the screen says that it scans all folders again, and the counters start from 0. Before, the counters counted some folders twice when the check had listed them before it stopped.
  • macOS: a scan that crosses firmlinks counts the data volume once. Before, a scan of / counted every file behind a firmlink such as /Users twice, and -x followed the firmlinks into the data volume. Now /System/Volumes/Data/Users shows > and its contents show at /Users. With -x, a firmlink counts as a mount point. A rescan with r and the cache follow the same rule. A scan of / is shorter and shows a lower total, because it does less work. This is a correction and not a faster scanner.

Install minimenta 0.1.0

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/OriginalMHV/minimenta/releases/download/v0.1.0/minimenta-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -ExecutionPolicy Bypass -c "irm https://github.com/OriginalMHV/minimenta/releases/download/v0.1.0/minimenta-installer.ps1 | iex"

Install prebuilt binaries via Homebrew

brew install OriginalMHV/tap/minimenta

Download minimenta 0.1.0

File Platform Checksum
minimenta-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
minimenta-x86_64-apple-darwin.tar.xz Intel macOS checksum
minimenta-x86_64-pc-windows-msvc.zip x64 Windows checksum
minimenta-aarch64-unknown-linux-gnu.tar.xz ARM64 Linux checksum
minimenta-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum