Repository navigation
Releases: pwnapplehat/BitBroom
Release list
v1.2.6
Full Changelog: v1.2.5...v1.2.6
BitBroom 1.2.5
Fixes the Compact WSL / Docker disks tool's behavior when Docker Desktop is running. See CHANGELOG.
Fixed
- No more raw diskpart errors on Docker's disks. Docker Desktop keeps its vhdx files attached while it runs — it re-attaches them (and restarts WSL-integrated distros) seconds after
wsl --shutdown, so diskpart always lost the "file in use" race. The tool now detects a running Docker Desktop, skips the disks it keeps locked with clear guidance, and exits cleanly — skips are not failures.- To include Docker's disks: quit Docker Desktop (tray whale icon → Quit Docker Desktop), then run the tool again.
- Tip:
docker system prunefrees space inside Docker's disk; compaction shrinks the disk file itself.
- One automatic retry (after a fresh WSL shutdown) for locked non-Docker disks — background
wsl.exesessions can respawn and steal the lock once. - diskpart progress spam is gone — dozens of identical " 19 percent completed" lines are collapsed to one per percentage.
Verified
- Elevated end-to-end on real hardware with Docker Desktop running: distro trimmed and compacted, both Docker disks skipped with guidance, exit code 0.
- 144 tests pass (new: Docker-path classifier, diskpart progress dedup).
Existing installs will offer this update automatically on next launch. Verify downloads against SHA256SUMS.txt.
BitBroom v1.2.4
BitBroom 1.2.4 - BitBroom has a home: https://bitbroom.app
- The About tab now links to the website and GitHub repository.
- Installer publisher URL points at bitbroom.app.
- Security reports accepted at contact@bitbroom.app (see SECURITY.md).
SHA-256 checksums are in SHA256SUMS.txt.
BitBroom v1.2.3
BitBroom 1.2.3 — hardening the "installed app looks like junk" fix across every deletion surface
v1.2.2 stopped Dev junk from flagging installed apps. This release generalizes that
into one shared guard and applies it everywhere a manual/heuristic delete can happen.
Fixed
- New shared
RuntimeAppGuardis now consulted by the duplicate finder, the
empty-folder finder, and the Analyzer's manual recycle — not just Dev junk.
Those surfaces allow deleting inside your profile (so you can clear caches/downloads),
which meant a per-user installed app under%LOCALAPPDATA%\Programs(Cursor, VS Code
user setup…) or a Squirrel app under%LOCALAPPDATA%(Discord, Slack…) could be reached
— e.g. a duplicate DLL/asset inside an app, or an empty folder the app expects. All of
them now refuse installed-application trees (per-user program installs, and any tree
carrying Electron/Squirrel/.asarmarkers, found by walking parent folders). __pycache__is only offered when its parent still has.pysource. Tools that ship
.pyc-only would otherwise lose their only copy of the code.
Verified
- Re-scanned the real profile: still zero hits under AppData / Program Files /
.cursor/
Squirrel apps, genuine projects still found. - 132 unit tests pass, including new cross-surface regressions: duplicate-inside-app,
empty-folder-inside-app, per-user program install, portable Electron tree,.pyc-only.
SHA-256 checksums are in SHA256SUMS.txt. The in-app updater offers this automatically.
BitBroom v1.2.2
BitBroom 1.2.2 — important Dev junk safety fix
Fixed
-
Dev junk mode no longer flags installed applications. Modern desktop apps ship the
exact same folder layout as a dev project — an Electron app (Cursor, Discord, Slack,
VS Code…) is literallypackage.json+out/dist+node_modules, and deployed
Python tools carry.venv/__pycache__. The finder previously matched those and could
send an app's own runtime code to the Recycle Bin, breaking it on next launch. Because
deletion is Recycle Bin-only, restoring from the bin fully recovered everything — but the
finder should never have offered them in the first place.The finder now refuses runtime-app locations at both scan time and delete time:
anything underAppData(except%TEMP%),Program Files,ProgramData,Windows;
dot-folders directly under your profile (.cursor,.vscode,.nuget…); and any tree
carrying app-runtime markers (Electron'sicudtl.dat/v8_context_snapshot.bin, a
SquirrelUpdate.exe, or an*.asar), detected by walking outward through parent
folders. Genuine projects in your normal workspace are still found. -
Added regression tests for the Electron, Squirrel, and packed-
.asarlayouts plus a
delete-time re-verification test. 126 unit tests pass.
If you're on 1.2.x, updating is recommended. The in-app updater will offer this
automatically. SHA-256 checksums are in SHA256SUMS.txt.
BitBroom v1.2.1
BitBroom 1.2.1 — every tool now explains itself
Changed
- Tools page redesigned for discoverability. Instead of a strip of bare buttons, every
tool is a card with a plain-language description of what it does, what you gain, and any
caveat — plus an Admin badge on tools that need elevation. Tools are grouped
(Storage & disks / Hibernation & power / Quick fixes) with the live output console
docked alongside.
Fixed
- The fstrim step of "Compact WSL / Docker disks" actually runs now. The distro name
was passed quoted, whichwsl.exerejects (WSL_E_DISTRO_NOT_FOUND), so the trim
silently fell back to "skipped" and compaction reclaimed less than it should. wsl.exeoutput is decoded as UTF-16, so its messages render correctly in the console.
Verified
- The full compaction flow was exercised on a real machine (Ubuntu + Docker Desktop):
trims ran in both distros, all three.vhdxdisks compacted, the distro booted
normally afterwards and Docker Desktop relaunched. - All screenshots retaken, including the redesigned Tools page.
SHA-256 checksums are in SHA256SUMS.txt.
BitBroom v1.2.0
BitBroom 1.2.0 — act on the hogs, not just report them
Driven by a deep research pass across Reddit, Microsoft Q&A and the Docker/WSL issue
trackers. The four loudest unsolved complaints are now one-click actions:
New in Tools
- Compact WSL / Docker disks —
.vhdxvirtual disks grow forever and never shrink
(Docker's ISO-cache leak alone traps 25–70 GB for many users). BitBroom now runs the
full documented recipe:fstriminside every distro →wsl --shutdown→diskpart
attach-readonly +compact vdiskper disk. Non-destructive by design (only
already-free blocks are released) and works on every Windows edition — no Hyper-V,
noOptimize-VHDneeded. - Free up OneDrive space — bulk "make online-only" for every detected OneDrive folder
(the buried Explorer right-click, automated). Deletes nothing; cloud copies stay and
files re-download when opened. - Remove old drivers — the DriverStore hoards every driver version you've ever
installed (GPU updates leave 1 GB+ each). BitBroom removes superseded versions via
pnputil, always keeping the newest of every driver family; unique drivers and
same-version duplicates are never touched, and Windows itself refuses anything in use.
New in Duplicates
- Dev junk mode — finds regenerable developer build folders (
node_modules,target,
.venv,dist,.next,.gradle,__pycache__, …) with a manifest guard: a folder
only qualifies when it sits next to a realpackage.json/Cargo.toml/pyvenv.cfg,
so a folder that merely shares the name is never listed. Recycle Bin-only, and every
artifact is re-verified immediately before deletion.
New in CLI
bitbroom-cli devjunk <path>— the same finder as a read-only report (--top,--json).
Deliberately rejected (researched, and staying out)
- Auto-cleaning
C:\Windows\Installer— Microsoft states there is no supported way to
prune it. Stays report-only in Space Hogs. - "Uninstall leftover" deletion — heuristic matching risks data of software you still use.
All actions use official Windows mechanisms only (diskpart, attrib, pnputil, DISM,
powercfg), stream their output live, and were verified end-to-end on a real machine.
122 unit tests pass.
SHA-256 checksums are in SHA256SUMS.txt.
BitBroom v1.1.3
Scheduled cleaning reliability.
Changed
- Scheduled cleaning no longer needs BitBroom to be running (it never did) and adds no startup entry — the Windows Task Scheduler service launches the clean on its own. This release makes the task resilient: it now catches up a run missed because your PC was off or asleep (StartWhenAvailable) and runs on battery too. Still per-user, no admin, no stored password.
Existing users: the in-app updater will offer this automatically. SHA-256 checksums in SHA256SUMS.txt.
BitBroom v1.1.2
Polish patch.
Fixed
- The Duplicates tab icon was blank — the chosen Fluent glyph had no drawing in the bundled font. Now shows a proper 'multiple documents' icon.
Changed
- The manual-delete safety guard now detects drive-root system items dynamically by their Hidden+System attributes (pagefile, hiberfil, Recycle Bin, System Volume Information, Recovery…), on top of the already-dynamic protected trees (Windows, Program Files, ProgramData, Users, your profile). Nothing is hardcoded to 'C:\'.
Existing users: the in-app updater will offer this automatically. SHA-256 checksums in SHA256SUMS.txt.
BitBroom v1.1.1
Safety + polish patch.
Fixed
- The Disk Analyzer's per-row Recycle now goes through a safety guard. Previously it could show a delete icon next to protected locations (Windows, Program Files, ProgramData, the Users root, drive-root system files) and relied on Windows alone to refuse. A new shared guard refuses those for both the Analyzer and Duplicates tabs, and the delete icon is hidden for any row that isn't safely deletable. Your own files/folders stay deletable.
Changed
- Roomier default window (1400x910), clamped to the monitor's work area so it still fits smaller laptop screens.
Existing users: the in-app updater will offer this automatically. SHA-256 checksums in SHA256SUMS.txt.