Skip to content

Releases: w0wzahh/cleaner

v2.12.3

Choose a tag to compare

@w0wzahh w0wzahh released this 13 Sep 16:20

Duplicate scanning is now dramatically faster, and the results list no longer stalls on huge scans.

Improved

  • Parallel duplicate detection — both hashing stages now run across all CPU cores (rayon) instead of one file at a time.
  • Much faster hashing — the fingerprint pass uses xxh3 (first 8 KB + last 4 KB + size — catches files that share a header but diverge at the end) and the confirmation pass uses BLAKE3 (~10x faster than SHA-256 while remaining collision-safe for deletion).
  • Fewer disk syscalls — file sizes come from the directory listing itself on Windows instead of a metadata call per file.
  • A 12,000-file folder with 6,000 duplicate groups now scans in well under a second.

Fixed

  • Duplicate results no longer freeze the app — the groups list rendered every group header every frame; with tens of thousands of groups the UI stalled out. It now renders only the visible slice (measured-height virtualization), and the sorted/filtered view is cached instead of rebuilt per frame.

Assets

  • Cleaner-Setup-2.12.3.exe — installer (per-user, no admin)
  • cleaner-v2.12.3-windows-x64.zip — portable

v2.12.2

Choose a tag to compare

@w0wzahh w0wzahh released this 13 Sep 15:46

A follow-up fix for the theme picker in the header.

Fixed

  • Theme dropdown vertical alignment — the ComboBox still sat a few pixels below the neighboring buttons. It's now a regular button with a painted arrow and a popup menu underneath (the same API ComboBox uses internally), so it shares the exact widget path as the other header buttons — identical height, perfectly level.

Assets

  • Cleaner-Setup-2.12.2.exe — installer (per-user, no admin)
  • cleaner-v2.12.2-windows-x64.zip — portable

v2.12.1

Choose a tag to compare

@w0wzahh w0wzahh released this 13 Sep 15:03

Layout overhaul for every scan tab, plus a header alignment fix.

Improved

  • Two-column scan pages — every cleaning tool now uses the same arrangement the pro tools do: setup options in a fixed-width left column (folder picker, filters, full-width scan button), results card filling the rest. Falls back to a single scrollable column on narrow windows.
  • Results cards got structure — stat chips up top (files matched, reclaimable size, selection count), a filter/sort toolbar, the virtualized list filling the available height, and a footer action bar pinned to the bottom with Export on the left and the destructive action on the right.
  • Storage tab — summary chips (drives / total / free) and a two-column drive grid on wide windows.
  • System Cleaner gained an Export report button, matching the other tabs.

Fixed

  • The theme dropdown in the header sat a few pixels low and its label rendered on the wrong side — the ComboBox now gets a centered child layout and reads "Theme: [picker] [Customize]".

Assets

  • Cleaner-Setup-2.12.1.exe — installer (per-user, no admin)
  • cleaner-v2.12.1-windows-x64.zip — portable

v2.12.0

Choose a tag to compare

@w0wzahh w0wzahh released this 13 Sep 14:10

UI polish round — a proper release-notes viewer, theme customization, and a redesigned About page.

Added

  • GitHub-style What's New page — pick a version from the dropdown; each section (Added / Fixed / Improved / Removed) renders with GitHub's own label colors. "View on GitHub" links to the releases page.
  • Theme customization — a "Customize" button next to the theme picker opens accent-color pickers (primary + secondary) and a UI-scale slider (75%–150%). Instant apply, persists across restarts.
  • About page hero — the real app icon, version chip, quick links, and a two-column highlights grid.

Improved

  • Accent overrides recolor the whole app — buttons, selections, links, progress bars, and the dashboard ring all follow the custom accent.

Assets

  • Cleaner-Setup-2.12.0.exe — installer (per-user, no admin)
  • cleaner-v2.12.0-windows-x64.zip — portable

v2.11.0

Choose a tag to compare

@w0wzahh w0wzahh released this 13 Sep 13:56

Second polish pass — startup integration, smarter duplicate selection, more interactive surfaces.

Added

  • "Keep newest" / "Keep oldest" on the Duplicates tab — one click selects every duplicate except the newest (or oldest) copy in each group; the "keep" marker moves to the right file.
  • "Run Cleaner when Windows starts" — per-user Run-key entry, no admin needed (new Startup card on the Dashboard).
  • "Start minimized to the system tray" + a --minimized launch flag the startup entry uses.
  • Taskbar flash when a scan or clean finishes while the window isn't focused.
  • Empty Folders gets a filter box + interactive rows; Folder Sizes bars reveal their folder on double-click/right-click.
  • F5 rescans the current tab.

Improved

  • Every tab's scan directory now persists across restarts.
  • The confirm dialog states the delete mode — Recycle Bin vs permanent vs secure — so the stakes are visible at the decision point.

Assets

  • Cleaner-Setup-2.11.0.exe — installer (per-user, no admin)
  • cleaner-v2.11.0-windows-x64.zip — portable

v2.10.0

Choose a tag to compare

@w0wzahh w0wzahh released this 13 Sep 13:37

Polish pass — usability and quality-of-life improvements. No changes to delete logic.

Added

  • Result rows are interactive — double-click any file/folder to reveal it in Explorer; right-click for a context menu (Copy path / Reveal in Explorer). Works on Custom Clean, Large Files, System Cleaner, and Empty Folders.
  • Filter + sort on System Cleaner results — the last tab that was missing them.
  • Copy button on the activity log — one click puts the log on your clipboard (handy for bug reports).
  • Elapsed time in summaries — completion lines end with "(took 1.8s)".
  • Status in window title + tray tooltip — "Cleaner — Scanning..." while busy.

Improved

  • Custom Clean filters and the Large Files threshold now persist across restarts.
  • "Select all" respects the active filter.
  • Escape closes the confirm dialog.
  • Activity log sticks to the bottom as new lines arrive.
  • "Reveal in Explorer" highlights folders too, not just files.

Assets

  • Cleaner-Setup-2.10.0.exe — installer (per-user, no admin)
  • cleaner-v2.10.0-windows-x64.zip — portable

v2.9.9

Choose a tag to compare

@w0wzahh w0wzahh released this 13 Sep 13:09

Seventh full audit pass — every source file re-read end-to-end; this round was mostly polish, which is a good sign.

Fixed

  • Duplicates and Empty Folders now have Export report buttons — the 2.4.0 changelog advertised export on all four result tabs, but only two had it. Duplicate groups export as file+size rows; empty folders use a new path-only report format.
  • Empty Folders results list is virtualized — thousands of entries no longer cost a layout pass each.

Tests

  • 3 new unit tests (path normalization, prepped excludes, size round-trip) — 13 total, all passing.

Assets

  • Cleaner-Setup-2.9.9.exe — installer (per-user, no admin)
  • cleaner-v2.9.9-windows-x64.zip — portable

v2.9.8

Choose a tag to compare

@w0wzahh w0wzahh released this 13 Sep 13:00

Sixth full audit pass — a real hot-path fix for history logging, secure-delete edge cases, and CLI hardening.

Fixed

  • History log is now written in batches — every log line used to open + append the file individually, so a 50k-file clean did 50k file opens on the UI thread. Now queued and flushed once per frame.
  • Secure delete can be cancelled mid-file — a large file used to block Cancel through all 3 passes. A cancelled shred leaves the file on disk (not deleted) and reports Cancelled.
  • Secure delete uses the long-path delete — >260-char files used to get shredded but then fail the final delete.
  • Duplicate system targets are skipped — %TEMP% and %LOCALAPPDATA%\Temp are the same folder; scanning it twice is wasted work.
  • CLI no longer panics on non-UTF8 args; --flag --flag can't swallow the next flag; new --exclude flag for custom scans.
  • "Big media" preset no longer leaks a stale age filter.

Performance

  • Hidden-file detection reuses walkdir's entry metadata — no per-file stat syscall.

Assets

  • Cleaner-Setup-2.9.8.exe — installer (per-user, no admin)
  • cleaner-v2.9.8-windows-x64.zip — portable

v2.9.7

Choose a tag to compare

@w0wzahh w0wzahh released this 13 Sep 12:46

Fifth full audit pass — transient-delete retries, settings robustness, and UI performance on very large scans.

Fixed

  • Deletes now retry briefly on transient lock errors (ACCESS_DENIED / SHARING_VIOLATION / DIR_NOT_EMPTY) — the AV-scanner/indexer race that used to surface as failed deletions. Same pattern Chromium's installer and SQLite use.
  • All settings fields now carry defaults — an older settings file can no longer be discarded as corrupt for missing a newer key.
  • explorer /select quoting handles paths with commas/spaces.
  • "Locate" in Large Files selects the file itself instead of opening its parent folder.
  • Schedule-interval label reports hand-edited values honestly.

Performance

  • Exclusion lists are normalized once per scan instead of once per file.
  • Result lists are virtualized — only visible rows are laid out, so scans matching tens of thousands of files stay smooth.

Assets

  • Cleaner-Setup-2.9.7.exe — installer (per-user, no admin needed)
  • cleaner-v2.9.7-windows-x64.zip — portable (cleaner.exe + README + LICENSE)

v2.9.6

Choose a tag to compare

@w0wzahh w0wzahh released this 13 Sep 12:32

Fourth audit pass — filesystem edge cases researched against upstream issues. Fixed: permanent deletes now retry via the \?\ verbatim path (files deeper than 260 chars / reserved names); embedded app manifest with longPathAware + supportedOS; protected paths with \?\ prefixes now match; path-form globs are case-insensitive; Images and Old Downloads presets no longer inherit stale filters; deterministic duplicate-group ordering; duplicate scans prune excluded dirs instead of walking them; dirent file-type instead of per-entry stat; atomic settings saves; custom-target dedupe + existence check; Reveal settings file actually reveals in Explorer.