Repository navigation
Releases: egorb2302/pathmemo
Release list
pathmemo 0.2.4
Windows 10 1809 or later, x64 or arm64. One file, self-contained - no installer, and
no runtime to install alongside it.
- Download
pathmemo-0.2.4-win-x64.zip, or-win-arm64on an ARM machine. - Unpack it anywhere.
- Double-click
pathmemo.exefor the window, or run it from a terminal:
pathmemo scan,pathmemo top --min 1GB,pathmemo audit.
Windows will warn that the publisher is unknown, because the executable is not
code-signed. Choose More info -> Run anyway, or check your download against the
SHA-256 below first.
Administrator rights are optional, and change what the scanner can see: with them it
reads $MFT directly, which is roughly 40x faster and reaches paths a directory walk is
denied.
Nothing is deleted without an explicit confirmation, and what is deleted goes to a
quarantine that pathmemo restore reverses.
Two rules that named the wrong thing, and one piece of advice that could cost a Solana
program its address.
Fixed
dev.cargoadvisedcargo clean. A barecargo cleandeletes the wholetarget,
target\deployincluded, and that folder holds the Solana program keypairs the rule
itself is written never to touch. The rule now gives no command: pathmemo deletes only
the build directories it lists.dev.cargoalso claimed~\.cargo\registryand offeredcargo cleanfor it, which
never touches the registry. The registry is its own rule now,dev.cargo_registry
(safe, redownload): the next build fetches what it needs.- VS Code's extension packages were reported as Visual Studio's state.
CachedExtensionVSIXsis VS Code's store of downloaded.vsixfiles, not a Visual
Studio folder. It has its own rule,dev.vscode_vsix_cache(safe, redownload);
dev.vs_artifactskeeps.vs. - README: the release publishes zips, not bare
pathmemo-win-*.exefiles, and a winget
install keeps the exe in winget's own packages folder. The rules table (§7.2) had drifted
from the rules and now matches them again: Unity'sLibraryand its two conditions, the
shader and Electron cache paths, Chromium'sCode Cache, Explorer's icon cache, the
pyvenv.cfgthat makes avenva virtual environment, Docker's vhdx paths, the
1 MB floor on old logs and installers,git gcfrom 500 MB and large media from 1 GB inclusive, installers in
subfolders of Downloads, and%TEMP%emptied rather than removed.
Changed
- 38 rules. A
config.jsonthat disablesdev.cargoordev.vs_artifactsto keep the
registry or the VSIX cache out of the report now needsdev.cargo_registryor
dev.vscode_vsix_cacheinrules.disabledas well.
408 tests; the two new ones pin the split rules and that no Rust rule advises
cargo clean.
SHA-256
ec6cbff61e2fe712cf668c1c8582066f116bbf636a9327a8b74037bc5142e6c9 pathmemo-0.2.4-win-arm64.zip
e2d753cd5ff8cb523e1ef2ff8c4d96fb9334d1ca00c0740c088cef95f01a2a4c pathmemo-0.2.4-win-x64.zip
pathmemo 0.2.3
Windows 10 1809 or later, x64 or arm64. One file, self-contained - no installer, and
no runtime to install alongside it.
- Download
pathmemo-0.2.3-win-x64.zip, or-win-arm64on an ARM machine. - Unpack it anywhere.
- Double-click
pathmemo.exefor the window, or run it from a terminal:
pathmemo scan,pathmemo top --min 1GB,pathmemo audit.
Windows will warn that the publisher is unknown, because the executable is not
code-signed. Choose More info -> Run anyway, or check your download against the
SHA-256 below first.
Administrator rights are optional, and change what the scanner can see: with them it
reads $MFT directly, which is roughly 40x faster and reaches paths a directory walk is
denied.
Nothing is deleted without an explicit confirmation, and what is deleted goes to a
quarantine that pathmemo restore reverses.
The Reclaim tab, in the window, and five rules for a JavaScript and Solana machine.
Added
- Reclaim in the window. The tab that said not in the window yet now shows the report:
the rules that matched the last scan, largest first, each with what deleting it gives
back, its share, both axes (safe redownload,caution irreversible), a note and the
number of places. A double-click or Enter lists the paths behind a rule; the word
Reclaim above the list leads back, and the cursor returns to the rule it left. The risk
ceiling is three segments — safe, caution, danger — andtcycles it;ycopies the
paths under the cursor. - It reports and does not delete. Deleting is still
pathmemo reclaim --applyand the
terminal's Reclaim screen, where the guard checks every path first, and the tab says so.
The headline counts only what pathmemo can delete itself; what needs another tool
(git gc) or a person (a disk image) is listed, dimmed, and named beside the total
rather than added to it. It ends in the id of the scan the numbers came from, and over a
scan that was stopped early the tab says so: what was not read is not listed, so every
number is a floor. - The rules run on a worker, so the tab opens at once and says Applying 36 rules… until
they are done: from the key to the list is under a second on a 1.2M-file snapshot,
loading the snapshot included. - Five rules for a JavaScript and Solana machine.
dev.bun_cache(bun's global cache),
dev.next(a.nextbeside apackage.json),dev.playwright_browsers
(%LOCALAPPDATA%\ms-playwright),dev.solana_tools(the platform tools in
~\.cache\solana, a copy per version) anddev.rustup_toolchains, which only reports
and namesrustup toolchain uninstall.dev.cargoalso takes Solana's
target\sbpf-solana-solanaandtarget\sbf-solana-solana, and nevertarget\deploy,
where the program keypairs live. 36 rules now.
Fixed
- After a scan, the Tree tab said "run a scan first". A scan drops the snapshot the tab
was showing, and nothing loaded the new one until the tab was left and re-entered. The
Tree and Reclaim tabs now reload when a scan finishes under them. - The scan card's Stop button sat on top of the path being read. The card was one line
shorter than its contents; its height is now added up from them.
Known limitations
Audit and duplicates are still the commands and the terminal screens, and the window has no
delete dialog, which is why its Reclaim tab only reports. The rest is unchanged from 0.2.2.
406 tests; ten of the new ones drive the Reclaim tab through the shell, two hold the
scan card's lines clear of its button, and four pin the new rules.
SHA-256
1545e6fa37915b7ac0c92481d9625835e4b10445dd2481175902db67419f7fcf pathmemo-0.2.3-win-arm64.zip
bbb65a7192ea8afd2aee765cb39918ad8892aef6c1c9d9b002e6372ef2b5eabc pathmemo-0.2.3-win-x64.zip
pathmemo 0.2.2
Windows 10 1809 or later, x64 or arm64. One file, self-contained - no installer, and
no runtime to install alongside it.
- Download
pathmemo-0.2.2-win-x64.zip, or-win-arm64on an ARM machine. - Unpack it anywhere.
- Double-click
pathmemo.exefor the window, or run it from a terminal:
pathmemo scan,pathmemo top --min 1GB,pathmemo audit.
Windows will warn that the publisher is unknown, because the executable is not
code-signed. Choose More info -> Run anyway, or check your download against the
SHA-256 below first.
Administrator rights are optional, and change what the scanner can see: with them it
reads $MFT directly, which is roughly 40x faster and reaches paths a directory walk is
denied.
Nothing is deleted without an explicit confirmation, and what is deleted goes to a
quarantine that pathmemo restore reverses.
The walk scanner's numbers, corrected — and, by the same change, an unelevated scan
several times faster.
Fixed
- The walk scanner under-reported used space. For every ordinary file it reported the
logical size as the allocated one:GetCompressedFileSize, which it asked once per file,
only knows a different number for compressed and sparse files and answers with the plain
length for everything else. Over the 1.2M files of this machine's C: that was 3 GB missing
from scanned and booked to unaccounted, which fell from 17.9 GB (8.7%) to 14.8 GB
(7.2%) — the rest is what the accuracy limits say it is. The MFT scanner, which reads the
run lists, was right all along; the test that compares the two had never run (below). - An unelevated scan is 3–4× faster. The per-file syscall above is gone for ordinary
files, which now round up to the cluster the way the audit already measured directories.
A walk of the same C: — 1.21M files, 361k directories — takes 13.5 s where it took 41 s
(the README's own figure) to 61 s (a cold run the same day) before. See README
§4.4 and §22.5.
Tests
Mft_scanner_agrees_with_the_walk_when_elevatedhas run and passed, for the first time.
Since the suite began declaring itself unelevated it had returned on its first line even
as an administrator, because it asked the declaration rather than the token; it now asks
Windows directly, and on a CI runner — an administrator — it runs too.- Two new tests pin the walk's allocated sizes against real files, unelevated, on every run:
ordinary files round to the cluster, a compressed file is asked.
Known limitations of this release
Unchanged from 0.2.0: the window shows the volumes and the tree, and audit, reclaim and
duplicates are the commands and the terminal screens for now; the window is unverified on
arm64, above 100% scaling and across monitors of different scale; unelevated, some paths
are unreadable, hard-link deduplication covers only files of 1 MB and over, and alternate
data streams are not counted — elevation removes all three.
390 tests, passing both as an ordinary user and as an administrator.
SHA-256
349bae3335e3a7923c3bc0ae9942e9fa3a1f34fb1189c8098025c2d8ff6fc701 pathmemo-0.2.2-win-arm64.zip
aad5e4f05122094b4818a20281b0ccf1ad1892c36db795662028251376f2d76b pathmemo-0.2.2-win-x64.zip
pathmemo 0.2.0
Windows 10 1809 or later, x64 or arm64. One file, self-contained - no installer, and
no runtime to install alongside it.
- Download
pathmemo-0.2.0-win-x64.zip, or-win-arm64on an ARM machine. - Unpack it anywhere.
- Double-click
pathmemo.exefor the window, or run it from a terminal:
pathmemo scan,pathmemo top --min 1GB,pathmemo audit.
Windows will warn that the publisher is unknown, because the executable is not
code-signed. Choose More info -> Run anyway, or check your download against the
SHA-256 below first.
Administrator rights are optional, and change what the scanner can see: with them it
reads $MFT directly, which is roughly 40x faster and reaches paths a directory walk is
denied.
Nothing is deleted without an explicit confirmation, and what is deleted goes to a
quarantine that pathmemo restore reverses.
The first public release: one self-contained pathmemo.exe, no installer and no
runtime to install alongside it.
The two faces
- A window. Double-click the executable and it opens a real window — volume
cards with their used space, a browsable tree of the largest directories with
a clickable breadcrumb, a treemap panel, and a scan that runs from the toolbar
without freezing anything. The window is drawn directly on Win32 and GDI, so it
costs 0.27 MB of the download rather than the 100 MB a UI framework would have. - A command line. The same file, typed into a terminal, prints to that
terminal and answers with exit codes:scan,tree,top,history,diff,
audit,reclaim,dupes,rm,restore,purge,ops,errors,
export,config,status,doctor. Every one of them takes--format json
orcsvwhere a table would be the answer. - Terminal screens.
pathmemo --tuigives the same browsing in any terminal,
for a machine with no desktop — overview, tree, reclaim and duplicates.
Finding the space
- Two scanners. A directory walk that needs no rights, and a scanner that reads
$MFTdirectly when run as administrator — roughly 40× faster (1.27M files in
9.6 s against 41 s), and it sees paths a walk is denied. - An incremental rescan from the USN change journal, and scheduling to keep
snapshots current. Both need administrator rights; without them every scan is a
full one anddoctorsays so. - Snapshots are stored under
%LOCALAPPDATA%\pathmemowith a history, sodiff
can say what changed since last time — two 1.6M-node snapshots compared in
105 ms. - Space Audit: 21 probes for the space no file browser shows — shadow copies,
the component store, hibernation, page and crash dump files, Windows Update
leftovers, per-app caches.
Freeing it
- Reclaim: 31 rules over what a scan found, each with its own risk and
recovery note, so the recommendation says what is lost as well as what is
gained. - Duplicates: five stages, from a size grouping that cut 1.23M files to 8,508
candidates in 0.44 s, to a content hash with a cache that makes the second run
cheap. - Deletion, deliberately narrow. Nothing is ever deleted without an explicit
confirmation, deletions go to a quarantine thatrestorereverses, and every
operation is journalled (ops). A path guard refuses system and boot paths
before anything is touched — it held a canary intact through 19,478 junction
swaps aimed at making the deleter follow a link out of its own tree.
Known limitations of this release
- The window shows the volumes and the tree. Audit, reclaim and duplicates are
the commands and the terminal screens for now, and each tab in the window says
so rather than pretending otherwise. - The window has only been run on x64 at 96 dpi and a single monitor. The arm64
binary is built and tested by the same suite, but its window is unverified, as
is scaling above 100% and dragging between monitors of different scale. - Unelevated, the walk scanner runs: some paths are unreadable, hard-link
deduplication covers only files of 1 MB and over, and alternate data streams
are not counted. Elevation removes all three.
382 tests, passing both as an ordinary user and as an administrator, and the full list
of what is measured rather than claimed is in
README §21.
SHA-256
135538856955aec34d24d7eb25db8eacbbce66cef76b5cc5ff7db1309e1bb0ba pathmemo-0.2.0-win-arm64.zip
a13618bd5d0763d96b9dcb3d0e96fbfea63815fec44cef367f9c69e5c4bc54a0 pathmemo-0.2.0-win-x64.zip