Repository navigation
TreeMap 5.2.0
A scan engine of its own, safer deleting, and a map you can read at a glance.
TreeMap now scans with its own engine, written in Rust, and no longer reads the whole disk a second time after every scan, which was the biggest cause of slow, stuttering whole-disk scans. Opening TreeMap never starts a scan by itself, every route to the Trash is more careful, and sizes now use decimal units, as Finder does. It also fixes several security problems, so please update (see Security below). There is no 5.1.0: this release follows 5.0.1.
✨ Highlights
- A native scan engine, written in Rust. It asks the system for a whole folder's list in one request and works on several cores at once. On a Mac, on a 200,000-item folder the computer had read recently, it went through 412,291 items a second against the built-in walker's 131,203: about three times as fast. On a 1,000,000-item folder too big for the file cache, the disk sets the pace: 91,308 items a second, about 11% faster than the walker's 82,497 and slower than the gdu helper 5.0.1 used on a Mac. TreeMap picks the engine for you and says which one ran and why.
- No more second pass over the whole disk. TreeMap no longer reads the whole disk a second time after every scan. In 5.0.1 that second pass took about half an hour on a test Mac with 9.46 million items, with the app unresponsive for up to 111 seconds at a time.
- You decide how hard a scan works. A new Scanning budget in Settings: Eco holds a scan to about a quarter of the computer, Balanced to about half and Turbo to nine-tenths. On Automatic, a scan you start runs at Turbo when the computer is plugged in, Balanced on battery and, on a Mac or Linux, Eco when it runs hot. On Automatic, scheduled scans and Autopilot never go above Balanced, and while one of them runs, your scan runs one step lower.
- Safer deleting with the Undo Vault. The Time Capsule is now the Undo Vault. The Clean Up cart and Autopilot never send an item to the Trash without a whole, checked copy: an item that cannot fit is left in place and named, and each item is checked again right before it goes. Undo now puts back permissions as well as dates, and it names anything it could not put back. Copies are kept 30 days by default, or less to stay under the size cap.
- A map you can read at a glance. Tiles keep their full colour at every depth. Every outline stands out at a contrast of 3:1 or better in both themes, and each label is black or white, whichever reads better, at 4.5:1 or better. A key under the map names the markings on screen, lines stay sharp at 125, 150 and 175% display scaling, and a click opens one folder at a time.
- Clean Up asks first and says what a move to the Trash does. Move to Trash no longer deletes on one click: it opens the same "Move to Trash?" dialog as every other view. Online-only files are no longer called safe to remove, since moving one to the Trash deletes it from the cloud too. Empty folders never offers a folder the scan could not see into, and Clean Up now says the space comes back only when you empty the Trash. The Autopilot policy editor, which could not be used in 5.0.1, now works.
- You choose what to scan. A start screen offers your last folder first, then Desktop, Documents, Downloads, your home folder and the whole drive. After a Stop, the same scan is one click away.
- More guard rails. A scan stays on the drive it starts on unless you ask otherwise. Every Trash sheet warns before you trash part of an installed app, every offload lists what it will move and asks first, and an offload that would free nothing is refused.
- Better with a keyboard and a screen reader. Screen readers hear what each view is working on, the notes that appear, and a scan's progress from any view. Every confirmation opens on a safe control and names what it will do, Shift+F10 opens the focused item's menu, and focus is handed back, not dropped to the top of the page, when you close a preview or a dialog or clear a selection.
- The desktop app does what it says. Every folder you hand TreeMap (a Dock drop, Open With, "Scan with TreeMap", the File menu) is scanned in turn. Five menu items that did nothing now work, the Dock or taskbar icon shows a scan's progress, and Open Privacy settings opens System Settings. On a Mac, TreeMap knows whether it has Full Disk Access and says what that does and does not open.
🧰 Also in this release
Speed and memory
- In TreeMap's memory test of a 5-million-item scan, sending the map to the window took about 50 MB of extra memory, down from about 710 MB.
- The first map of a big scan holds at most 250,000 items (more only when the scanned folder itself holds more), and deeper folders load as you open them.
- A big scan no longer drops back to zero part-way through, and a whole disk with more than about 6.2 million items is read once, not twice.
- Cleanup suggestions and the file-type and largest-folder lists no longer freeze the window after a big scan, and TreeMap opens faster.
Mac, Windows and Linux
- On a Mac, TreeMap reads from Spotlight when an app last opened a file, and folders macOS will not open are counted and named.
- On Windows, an opt-in NTFS turbo mode reads a drive's file table directly, read-only, after asking for administrator permission.
- The Trash count now covers each local drive's Recycle Bin on Windows and each drive's own Trash folder on Linux.
- On Linux, drives under
/run/mediacan be scanned, and disks without partitions appear in Missing GB.
Look, search and cleanup
- The theme follows your computer by default, notices sit at the bottom of the window, and headings use sentence case.
- A search never counts what TreeMap cannot know as a match, and plain-words search understands sizes such as "over 500 MB".
- The duplicate finder never opens online-only files, so it can no longer download them.
- "Stage matches" puts files in the cart, not whole folders, and Clean Up no longer calls a folder rebuildable on its name alone.
- The Security panel no longer calls Keynote files or Apple's own certificates serious and never offers to move them, and it lists every finding, the most serious first, 500 at a time.
- Offload keeps its record whole, copies keep their modified and last-opened dates (and, on a Mac and Linux, their permissions), and an original that changed during or after its copy stays put.
- A CSV of a large scan streams instead of coming back empty, and the SVG export uses the colouring on screen.
Security (fixed only in 5.2.0)
- On Windows, a file or folder name could be run as a command.
- A project folder prepared by someone else could make git run a program.
- A planted link could redirect a file TreeMap wrote.
- A program using TreeMap's API could get past some of its safety rules, and in the desktop app other programs on the computer could use its API.
- An agent policy's limits now apply to every local scan and delete, and a paired computer can start a scan only where this computer's own rules allow. Both matter only if you use them: an agent policy is a file you create, and pairing is off unless you turn it on.
- A "Scan with TreeMap" entry added while TreeMap ran in a browser could run a folder's own code. Updating does not remove an entry added that way: the Right-click menu section of Settings says what it starts, and Remove from right-click menu takes it away.
For agents and scripts
- New routes for the scanning budget, engine capabilities, pause and resume, skipped drives, unreadable folders and installed programs, plus an
onDiskfact. The MCP server keeps its ten tools, and every change is in the OpenAPI document.
⬆️ Upgrading from 5.0.1
- On a Mac, 5.0.1 tells you 5.2.0 is available, and its Download button opens the download page. Drag the new TreeMap into Applications, then allow its first launch (see Installing). If you gave 5.0.1 Full Disk Access, macOS may not carry it over to the new copy; TreeMap now says whether it has it, and Open Privacy settings takes you to that setting. On Windows, an installed 5.0.1 downloads the update and installs it when you restart or quit TreeMap. The portable version does not update itself: download the new
TreeMap-5.2.0.exeand put it in the same folder as the old one, where its data is. - Sizes read higher: about 5% for a figure in megabytes, 7% in gigabytes and 10% in terabytes. 1 KB is now 1,000 bytes and 1 GB is 1,000,000,000 bytes, as in Finder. Windows Explorer still divides by 1,024, as 5.0.1 did, so on Windows it now shows the same files smaller than TreeMap does, by about 7% at gigabyte sizes. Your files have not changed, and a size you saved, such as a folder budget, keeps its exact byte figure.
- Some history starts again. Scans made before this update record no "Don't scan" list, so the forecast and folder budget gauges start their history again and say why while it is short. On a Mac or Linux, the first whole-disk scan also starts a new baseline for Trends, Compare and the forecast.
- Folders over 1,000,000 items are no longer indexed automatically. An index you already have is kept; otherwise such a folder opens by scanning rather than instantly.
- Fast rescan is no longer ticked for you. It is offered only where the next scan would not use the native engine, and it no longer misses a file deleted moments after a folder was listed.
- Scheduled scans and Autopilot runs wait about 10 minutes after TreeMap opens. One that comes due in that time, or came due while TreeMap was closed, runs once the wait is over; 5.0.1 ran one that came due while it was closed the moment it opened.
- Expect more "unknown" answers about whether a project is safely pushed. For security, git now runs with everything it could start by itself switched off, and a project whose own settings ask for more shows as unknown, with the reason.
- Scripts and agents: the desktop window no longer hands out its API key, so run your own
npm startornpm run mcp. Formatted sizes are decimal now, so compare raw byte fields across versions, and approving an Autopilot run needs itsrunId. With no minimum given, the largest-files and largest-folders lists start at 1,000,000 bytes and the duplicate finder at 1,000 bytes, where they used 1,048,576 and 1,024. Only a finished scan grants leave to act on what it listed, and under an agent policy a scheduled scan outside its allowed folders is refused each time it comes due. - Packaging TreeMap yourself: the
distscripts now build the native engine and stop without it, so they need Rust.npm run builddoes not build it, so a copy run from source scans with the built-in walker or gdu until you runnpm run build:native.
🚧 Known limitations
- A scan still counts copy-on-write clones at full size, so on a Mac with many clones a scan of
/can count more than the disk holds. - The first scan of a folder with more than about 6.2 million items is still read twice, unless the folder is a whole disk.
- Right after a very large scan, TreeMap can still pause briefly.
- When gdu scans, a folder macOS refuses still looks empty.
- A preview or thumbnail of an online-only file can still download it.
- While any "Don't scan" pattern is set, every scan uses the slower built-in walker.
- The NTFS turbo mode has not yet been tried end to end on a real Windows PC.
- Shrink video re-encodes only on a Mac.
- Every scan is still held in memory, and TreeMap still runs on Electron.
📥 Installing
macOS (Apple Silicon only): download TreeMap-5.2.0-arm64.dmg, open it and drag TreeMap into Applications.
Important
macOS blocks the first launch, and that is expected. TreeMap is not notarized by Apple, so macOS says it could not verify the app. Your download is fine. Either route opens it:
- System Settings: double-click TreeMap and click Done. Open System Settings › Privacy & Security, scroll to Security, click Open Anyway and authenticate. Then double-click TreeMap, click Open Anyway again and authenticate once more. The button lasts about an hour; double-click TreeMap to bring it back.
- Terminal: run
xattr -dr com.apple.quarantine /Applications/TreeMap.app, then open TreeMap.
Apple removed the old right-click shortcut in macOS 15, so use one of these two routes.
Windows: run TreeMap-Setup-5.2.0.exe. The installer is unsigned, so at the SmartScreen prompt click More info, then Run anyway. NTFS turbo, an opt-in scan mode not yet tried end to end on a real Windows PC, needs Anyone who uses this computer (the installer suggests Only for me) and the folder the installer offers. An install for Only for me, and the portable TreeMap-5.2.0.exe (no installer, keeps its data beside itself), scan without NTFS turbo.
Intel Mac and Linux: there is no desktop download. Run TreeMap in web mode from source, as the README shows.
Full changelog: CHANGELOG.md · Every change since 5.0.1