Skip to content

Releases: jimman0I/prune

Prune 3.0.1

Choose a tag to compare

@github-actions github-actions released this 13 Oct 10:48

Fixed

  • An MSI program could report a successful uninstall and not actually be removed. Some registry UninstallStrings publish the Install verb (/I{GUID}) instead of Uninstall (/X{GUID}) -- a known authoring mistake. Making that silent ran a quiet repair instead of a removal: no window, exit code 0, nothing gone. The verb is corrected before Prune ever adds /qn.
  • A program's own uninstaller could genuinely open and still never be seen. Windows grants permission to steal the foreground once, to whichever process asks for it next -- not necessarily the uninstaller, and a self-relaunching installer can hand the real window to a different process than the one Prune started. Prune now actively searches for the window (its own, or any process it spawns) for a few seconds after launch and brings that exact one forward, rather than granting the permission once before anything exists to use it.
  • Nothing checked whether an uninstall actually worked. A successful spawn and a 0 exit code both say nothing reliable on their own -- Prune now re-reads the registry once the uninstaller exits, and if the program is still there, offers Forced Uninstall directly instead of moving on as if it had succeeded.
  • The scan-depth picker (Safe / Moderate / Advanced) no longer sits on the initial confirmation dialog. It is its own screen now, shown only once the real uninstaller has already run -- the confirmation dialog asks one question at a time.
  • The removal summary breaks a quarantined folder down into what was actually inside it -- folders, files, registry keys and registry values counted separately -- instead of rounding every quarantined item up to "1 item".

Prune 3.0.0

Choose a tag to compare

@github-actions github-actions released this 09 Oct 09:44

Added

Disk Map

  • Choose any local drive; several NTFS drives are scanned under one administrator prompt. The fast scan needs no prompt when Prune already runs as administrator, and offers a one-click "Restart Prune as administrator".
  • Tree view shows size on disk (Allocated) beside size; hard-linked files are counted once; the scan reports totals so they can be checked against the drive. Modified dates come from the MFT and are sortable.
  • Excluded folders and file types are honoured by the fast scan too.
  • Search by text, */? wildcard or /regex/ over the Tree and File views, with matches marked on the map. Export the view as CSV and the map as PNG.
  • Tree rows and map blocks highlight each other; right-click gains Properties and Exclude this folder.
  • Save, reopen, delete and compare Disk Map scans.
  • The Disk Map remembers the last scan of each drive. A finished fast scan or folder walk is saved on its own (the latest two per drive, never touching scans you saved by hand), and the Disk Map opens on it at once, marked "Scanned 3 hours ago", with Fast scan and Walk folders one click away. Nothing scans by itself, and moving files to Quarantine stays off until you scan again. Each saved scan is the folder tree plus the biggest files, gzipped: a few MB, about 25 MB for a drive with a million folders (measured). A partial scan is never kept, since it would make the next comparison look like everything shrank. Settings -> General has a switch (on by default) and offers to delete the saved ones when you turn it off.
  • What grew since the last scan. Above the map: the drive's total change and the five folders that grew most (new folders included, anything under 1 MB left out), each opening in the map. It uses the same comparison as Compare saved scans and warns when either scan was partial, the drive changed size, or one was a fast scan and the other a folder walk. Collapsible, and it stays collapsed.
  • The folder walk now runs to completion, shows results as it goes and has no time limit.

Deep Clean

  • "Overwrite files before deleting" (1 or 3 passes, off by default) for Delete now and an uninstall's permanent delete; a Shred files… tool for files and folders, with confirmation and protected-path guards. Overwriting is not reliable on SSDs, and the setting says so.
  • Free-space wipe: any local drive, 1 zero pass or 3 random passes.
  • Locked files can be deleted at the next restart.
  • A prune-cli command line (list, preview, clean, --json), shipped as prune-cli.cmd next to Prune.exe.
  • A scheduled clean that runs while Prune is closed. Settings -> Cleanup has an opt-in, off-by-default switch, "Also run when Prune is closed", under the schedule (installed app on Windows only). It adds one Task Scheduler task, Prune\Scheduled clean, for your account only: run only when you are logged on, no elevation, no stored password. The task runs prune-cli.cmd clean --preset recommended --report at the schedule's time (no second schedule to set), so it skips anything that loses data and keeps your exclusions, protected paths and Quarantine setting. The switch reads the real task from Windows, the in-app scheduler stands down while the task exists, changing the schedule updates the task, and turning it off or uninstalling Prune deletes it. The Dashboard and Settings show one line, "Last automatic clean: 3 hours ago, moved 1.2 GB, freed 0 B", and the space really freed joins the lifetime total once per run. prune-cli now reads the app's own settings and Quarantine folder when run from an install (it used a different folder before, so it ignored your exclusions) and gains clean --report.
  • Start Prune when I sign in to Windows, minimised to the tray. Settings -> General has an opt-in, off-by-default switch and a "Start minimized to the tray" choice. It writes one per-user Run value, Prune, holding the quoted path of the installed Prune.exe and, if chosen, --start-minimized (nothing else; refused in a development build), and reads the real entry back from the registry, including when Task Manager has switched it off. A minimised start goes to the tray when "Minimize to tray" is on and to the taskbar when it is off or the tray icon does not appear, so the window is never lost. Prune now runs one copy at a time: opening it again shows the running window. When "Always run as administrator" is also on, a warning says Windows will not start it silently. Turning the switch off, or uninstalling Prune, removes the entry.
  • Right-click in File Explorer, and drop a program onto Prune. Settings -> General has an opt-in, off-by-default switch, "Add Prune to the right-click menu". It adds four per-user menu entries (no administrator rights): "Shred with Prune" on files and folders, and "Find in Prune (uninstall)" on programs and shortcuts, each running the installed Prune.exe with one fixed option and the file's path (nothing else; refused in a development build). The captions follow Prune's language, the switch shows what the registry really holds, and turning it off or uninstalling Prune removes every entry it made and nothing else. A right-click never does anything by itself: Shred opens the Shred dialog with the path filled in and still asks you to confirm, and Find looks the program up (a shortcut is followed to its target) and opens the ordinary uninstall dialog, or offers Forced uninstall when nothing installed matches. Opening Prune this way while it is running shows the running window. You can also drop a program (.exe) or shortcut (.lnk) on the Applications screen to find it the same way.
  • Preview lists each rule's biggest files, and the Delete-now confirmation names the biggest items.
  • Custom locations: add your own paths to Deep Clean. Import a cleaner definition file (.xml); the import reports exactly what it skipped.

Uninstaller

  • A Safe / Moderate / Advanced leftover scan in the uninstall dialog, remembered between uninstalls. Leftovers are tiered certain / likely / possible; Windows, Microsoft components and other installed programs' folders are never offered.
  • Scheduled-task leftovers can be removed, with their XML saved first.
  • Forced uninstall for software that isn't listed.
  • Install with monitoring… records an install so uninstalling it later is exact. Hunter identifies a program: drag its small crosshair onto any window and let go.
  • Quarantine gains Backups (restore registry and task backups) and History tabs. Browser extensions have a Copy page address button, since Prune cannot remove them itself: paste the address into that browser and remove the extension there. (Prune deliberately never starts a browser; launching one with profile arguments made Microsoft Defender flag it as Behavior:Win32/WebBrowserCredAccess.E2, and a test now guards against it.)
  • Fixed: program names with an apostrophe broke the leftover scan.
  • Icons are there when the window opens. Program and Store icons and the Store list used to be worked out again on every launch (about 10 seconds here: a Store scan that measures every package folder, a search for each program's main executable, a scan of browser extensions) and only once Applications was opened. The finished results are now kept beside settings.json (icons-programs.json, icons-packages.json, store-apps.json) and the first ask of a launch is answered from them at once, 61 ms here instead of 10.6 s, while the real answer is made behind them and swapped in (the screen asks once more 15 seconds after launch, so a program installed since gets its icon without a restart). The very first launch has nothing saved, so about 20 seconds after launch, once the window's first load is over and one at a time, Prune makes and saves them. A failed or empty scan never overwrites a good saved list, and an app removed through Prune cannot be brought back by a scan that began before the removal.
  • The program list follows changes made outside Prune. Installing or removing something in Windows, or finishing an installer, never reached an open window: nothing refetched on focus and the screens stay mounted, so only a restart or a removal made in Prune updated the list. Coming back to the window after being away at least 15 seconds now reads the program list and sizes, and has the backend re-scan the Store apps behind the list it holds (read again 12 seconds later, when that scan has landed). A quick alt-tab does nothing.
  • Fixed: a Store app you had just removed stayed in the Applications list, and the Uninstall button waited several seconds before doing anything. The list of Store apps was kept for the whole session and never told about the removal, and the removal first re-scanned every Store package (measuring each folder) only to look up one. The removed app now leaves the list at once, removal asks Windows about just that package (0.8 s instead of 7.4 s here), and the list is re-read every five minutes so an app removed from Windows Settings stops showing too.

Cleaner rules

  • 16 new cleaner rules, grounded in a live scan against a real third-party reference tool (265 cleaner options, each invoked as its own process so deletes could be attributed precisely) before being written. Covers Brave/Chrome/Edge sync data, Chrome's on-device AI models, Discord cookies/history, VS Code local file history, Vim history, Office recent-docs, legacy Internet Explorer cookies/history/logs, and four Explorer registry traces (typed paths/dialog MRU, Run history, shellbags, recent documents). Deliberately skipped: anything already covered by an existing rule, anything needing a directory-whole-match capability Prune doesn't have yet, and every claude.* option, since that's real conversation history, not a general-purpose cache.
  • 20 more Deep Clean rules, found by reading what other cleaning tools cover: Firefox cookies, form history, open tabs and crash reports; the cache of several...
Read more

Prune 2.9.2

Choose a tag to compare

@github-actions github-actions released this 01 Oct 09:41

Added

  • Report a bug now includes the installed-programs count. Within about a second of launch, the report lists a 4th fact, "Installed programs found: N" -- never a fresh read of its own, so the dialog stays instant. Translated into all 39 languages, with the "nothing else is collected" line reworded to stay accurate.
  • Low power mode (Settings -> General). Pauses the background animation, flattens the glass panels to solid ones, and shortens transitions to near-instant -- the same treatment prefers-reduced- transparency/prefers-reduced-motion already get, reused rather than reinvented. Turned on automatically, once, the first time Prune is installed on a PC with under 8 GiB of RAM, under 4 logical cores, or a GPU Chromium itself falls back to software compositing on -- generous thresholds on purpose. A real choice made afterwards, in Settings or by a file that already recorded one, is never silently overridden later. Translated into all 39 languages.

Changed

  • Five Applications-only reads no longer run on every screen. Icon extraction (around 90 executables), binary versions, install dates, browser extensions and the running-process poll used to fire the moment the app opened, including a session that never visits Applications at all -- the running-process poll was the worst of these, repeating every 15 seconds for as long as the app stayed open. All five now wait until Applications has actually been opened once. Dashboard's own space breakdown and largest-programs list still load immediately, since nothing about them changed.
  • Six screens and the Applications list no longer load until opened either. Icon extraction aside, Deep Clean, Disk Map, Settings, Startup, Duplicates, Quarantine and Applications together were over 5,000 lines of JavaScript bundled into the one file every launch had to parse before Dashboard could show anything, whether or not that session ever opened them. Deep Clean's own 754 KB and Disk Map's 294 KB alone cut about 1.1 MB off the initial bundle. Dashboard itself is unaffected -- it's the one screen every launch shows regardless.

Fixed

  • Cleared 6 Dependabot alerts, all a nested undici only ever reachable while installing build tooling (downloading Electron's binary, compiling native modules), never shipped in the built app.
  • The installer's "who should this be installed for?" page was stuck in English for 19 of Prune's 40 languages, even though the person had just picked their own language on the screen before it -- electron- builder ships its own translations for this page, but only for about 20 languages. Patched the missing 19 by hand, matching how Windows' own installers and UAC prompts phrase "all users / just me / admin credentials" in each.

Prune 2.9.1

Choose a tag to compare

@github-actions github-actions released this 29 Sep 20:37

Fixed

  • Applications no longer trusts an empty program list at face value. Reported live: a fresh Windows 10 install showed Applications as completely empty. A real Windows machine always has dozens of Uninstall registry entries, so an empty result from the primary read is now retried once, then handed to a fallback that reads the same three registry hives through reg.exe's own text output instead of PowerShell's Get-ItemProperty -- a different code path for a different failure mode. If it still comes back empty, Applications says so plainly with a Retry button, instead of "Nothing matches", which used to blame a filter that was never set. Translated into all 39 languages.
  • Removed competitor names from user-visible text. The Delete now label and Deep Clean's delete-mode subtitle named BleachBit in every language, and the README named BleachBit, WizTree and Revo. Reworded without naming any of them, keeping the same facts.

Prune 2.9.0

Choose a tag to compare

@github-actions github-actions released this 26 Sep 21:43

A design pass over the whole app. The Dashboard now answers one question, the dangerous choice is never the easy one (a safer right-click menu, Clean that waits for a Preview, leftovers left unticked), colour is kept for what you click, and everything is reachable and readable from the keyboard. Deep Clean now works like BleachBit too: an opt-in Delete now mode that frees space straight away, Deep scan rules, and a free-space wipe.

Added

  • A Delete now mode for Deep Clean, like BleachBit. Settings › Cleanup has a new choice, When Deep Clean removes files: Move to Quarantine (the default, and what Prune has always done) or Delete now, which removes files outright so the space is free straight away. The choice is read from your settings by the backend, never from a request. Exclusions, the recent-files guard and locked files still apply, rules that lose data still ask first, and scheduled cleans always go to Quarantine. Deep Clean says which mode is on beside Clean, and the confirm reads Delete 37 items (15.7 GB)? This can't be undone. with a red Delete button. Auto-Quarantine is switched off, with the reason beside it, while Delete now is chosen.
  • A Deep scan category, mirroring BleachBit's. Backup files, Office temporary files, Vim swap files, .DS_Store files and Thumbs.db files, found anywhere under your user folder with BleachBit's own patterns. The search is bounded (entry, depth, match and time limits), never follows a junction out of your profile or enters Prune's own folders, streams what it is doing while it runs, and stops when you press Stop. A search that hit a limit is labelled partial instead of being shown as a total. Backup, Office temp and Vim swap files are marked as losing data and none of these is ticked by default.
  • Free disk space, BleachBit's system.empty_space. Overwrites the drive's free space with zeros and deletes the filler so earlier deletions cannot be recovered. It is never recommended, never reached by Select everything, never remembered from a previous session, and asks every time with the drive, how much will be written and a time estimate from a one-second write test. It always leaves the larger of 2 GB and 2% of the drive free, stops at once on Stop, deletes its filler even after an error, and removes anything a crashed run left behind on the next start. It frees no space, does nothing useful on an SSD with TRIM and adds write wear, which is why it is off by default.

Changed

  • The Dashboard now answers one question: where is my space going? One bar splits the drive into installed programs, everything else and free, with every figure repeated as text, and the five largest programs sit under it, each a link into Applications. Drive health, junk files and programs left behind are one quiet row instead of three cards, and the glowing Deep Clean button is gone. Nothing is drawn until it is measured: the program split waits for the program sizes rather than appearing and then changing, and Junk files has its own Measure button that walks the recommended cleaners and shows the total. The health ring and SMART table are behind a Drive details toggle.

  • The right-click menu no longer starts on Uninstall. It opens with focus on the menu itself, so pressing Enter straight after the right-click does nothing. Down and Up step in from the first and last choice, and Uninstall is now the last item, set apart in red, below Open folder and Copy uninstall command.

  • Clean waits for a Preview. Deep Clean's Clean button stays off until a Preview has measured something you have ticked, and says so beside it. Until then Preview is the highlighted button; afterwards Clean is.

  • Leftovers are no longer ticked by default on new installs. The review after an uninstall opens with nothing ticked and you choose. Installs that already have the setting keep whatever they had; it is still under Settings, Uninstall, "Tick every leftover by default".

  • Cyan now marks only what you click. The NEW badge and its "new in 7 days" count, the sorted column heading, the Recommended tag on the Disk Map chooser, leftover notes and the reclaimable size, sizes in the scan log, a running batch item and info toasts use neutral text instead.

  • Bigger click targets and a larger minimum text size. Every Deep Clean checkbox and category heading is now at least 24 by 24 pixels (the boxes look the same), and no text anywhere is smaller than 11 pixels.

  • Applications rows can be reached with the keyboard. One row is in the Tab order, the arrow keys, Home and End move between rows, and a focused row shows its Folder and Uninstall buttons and a focus ring, as hovering does.

  • The Applications count follows your search and filter. Under a search or a filter the heading reads, for example, "1 of 210 shown · 105.3 GB" instead of the total for the whole machine.

  • Long startup paths can be read and copied. Selecting a launch path opens the whole thing wrapped on its own line, with a Copy path button. It is a button, so the keyboard and screen readers reach it too.

  • Deep Clean descriptions wrap to two lines instead of being cut mid-word, and its scan and clean logs name each rule with its category ("Brave · Cache"), so three rules all called Cache can be told apart.

  • Unused says what it means. Selecting the filter shows a line saying Prune keeps no launch history, and the filter is only offered when something is flagged, since nothing on this machine could be.

  • Clearer settings and wording. The two restore-point switches now say what each covers (before an uninstaller runs, and before leftovers are removed), the registry backup no longer quotes a size from the author's machine, the About text no longer says "one-click", and the state named Broken on Applications is now "Left behind" to match the Dashboard.

  • Startup states the scheduled-task explanation once at the top of the group instead of on every row.

  • New wording, including Delete now, Deep scan and the free-space wipe, is translated in all 39 languages, using each language's existing terms for Left behind, Junk files, Drive details and the rest.

Fixed

  • Deep Clean no longer says Freed for files it only moved. Clean moves files into Quarantine by default, which frees nothing until Quarantine is emptied, yet the result said Freed 15.7 GB. Results now keep deleted bytes and moved bytes apart: Freed appears only for space that is really back, and a move reads Moved 15.7 GB to Quarantine. The space comes back when you empty it. with an Open Quarantine button. The same applies to the Recycle Bin and to the sandbox self-test.

  • Bug reports name the Windows version. The report says "Windows 11 (build 26200)" instead of "Windows_NT 10.0.26200".

Prune 2.8.2

Choose a tag to compare

@github-actions github-actions released this 26 Sep 14:18

A second, deeper pass over every translation. Every language now uses one word for each feature everywhere, and a review that translated each string back to English without the original caught wrong meanings that a normal read-through misses.

Fixed

  • Scheduled runs said the wrong thing in about ten languages. "Due" was translated as "overdue", "expired" or "payable", and "missed" as "skipped".
  • Wrong quantities and wrong words. Russian said the Deep Clean measuring takes "about half an hour" instead of half a minute, Vietnamese turned "a dozen others" into "dozens", Lithuanian translated "Open in File Explorer" as "Open in the browser", and Serbian's "Sandbox test failed" read as "sand test". Several languages called the disk index a "registry" and the app's own Dashboard "Control Panel".
  • The Windows folder name "System Volume Information" had been translated in about ten languages, so users would not recognise it on disk. It is the literal name again.
  • "Clear selection" buttons read like the Clean or Delete action in Spanish, French, Italian and Indonesian. They now say what they do.
  • The same feature had different names in different places. Deep Clean, Quarantine, Disk Map, Startup, scan, leftovers, restore, cleaner and uninstaller each now have one term per language, page titles match the side bar labels, and the grammar around every changed word was corrected. A few side bar labels changed where the old name was the odd one out (Deep Clean in Polish, Slovak, Turkish, Romanian, Hungarian, Serbian, Lithuanian, Indonesian and Malay; Startup in Thai, Indonesian and Vietnamese; Quarantine and Dashboard in Vietnamese).
  • Plurals and counts. "1 copies", "1 programs" and similar were fixed in most languages, including proper forms for Slavic, Baltic, Arabic and Hebrew counts, and a Greek verb form.

Prune 2.8.1

Choose a tag to compare

@github-actions github-actions released this 25 Sep 16:54

Every language reads better, and Deep Clean now speaks yours: its rule names, descriptions and scan log were English in every language until now.

Fixed

  • Translations were stiff, literal or inconsistent. About 120 strings from 2.8 (Report a bug, the Disk Map chooser, the batch uninstaller, Quarantine settings, theme and shortcut labels) were reviewed in all 39 languages and rewritten where they read as translated rather than written. Page titles now match the side bar labels, the "scan for leftovers" action has one name in both uninstall dialogs, the Quarantine settings no longer read as "undo", counts like "1 copies" are grammatical, and Serbian's Latin-script strings inside the Cyrillic text are Cyrillic.
  • The Report a bug label in the side bar was cut off in longer languages. Side bar labels now wrap to two lines instead of truncating.
  • The Thumbnail Cache rule described itself as "a deeper pass than Smart Cleanup", a feature that no longer exists. It is now just "Thumbnail Cache", with a plain description.

Added

  • Deep Clean is translated. All 87 rule names and descriptions and the 31 category labels are in 39 languages; product names (Brave, Discord, Steam and so on) stay as they are. A rule that is ever missing in a language falls back to English rather than showing blank, and the filter box finds a rule by its translated name or its English one.
  • Deep Clean's scan and clean log is translated too: the status words (empty, not installed, needs admin, locked, skipped) and the Delete, Recycle, Clear, Compact and Trim verbs.

Prune 2.8.0

Choose a tag to compare

@github-actions github-actions released this 25 Sep 12:05

Prune now remembers where you left it, uninstallers that never opened now do, the Disk Map shows real progress while it scans, Deep Clean gains Windows Defender and WinRAR cleaners, and every screen has been reviewed against Apple's Human Interface Guidelines for legibility, keyboard and screen-reader access, and safer destructive actions.

Fixed

  • The Dashboard's health score is now only about your drive. It used to blend in free space and broken apps, so a healthy SSD on a nearly full disk scored badly; those already have their own cards. A drive that reports media or uncorrected errors now lands in the red band whatever its wear life. The live CPU and memory gauges are gone too: Prune is a storage tool.

  • Deep Clean listed and ticked cleaners for software you never had. Slack, Teams, Zoom, Vivaldi, Telegram and other rules for programs that aren't installed were shown, and a saved selection could tick them again. Hiding cleaners that don't apply is now on by default, and a remembered selection is checked against what is actually installed before it is restored.

  • Disk Map's first screen was a wall of text. Choosing between the fast scan and walking folders is now two side-by-side options, aligned with the page, with the fast scan marked recommended and each one's catch in a single line.

  • At high zoom the Deep Clean footer covered the list. The page now scrolls inside its own area and the footer wraps its controls.

  • Page descriptions were a narrow block on wide windows. Deep Clean, Disk Map, Duplicates and Startup now use the width they have.

  • The Uninstall button on a hovered row looked like an alarm. It is now a quiet outlined button with a bin icon that turns red only when you point at it.

  • An uninstall could be hidden by pressing Escape while it was still running. Escape and Close are now off while an uninstall, leftover scan or removal is in progress, so the work can't carry on with no window. If a vendor's own uninstaller stalls for 30 seconds, the single-program dialog says so and can then be closed (Prune does nothing further after that); a batch stays open and puts "Stop after this one" in front.

  • The leftover review's buttons could sit off-screen at the smallest window size. The dialog now scrolls and keeps its buttons in view.

  • Text couldn't be made larger. Removing the window menu had also removed Ctrl+Plus, Ctrl+Minus, Ctrl+0 and Ctrl+mouse wheel. They work again, and the zoom level is remembered.

  • In Windows high-contrast themes, switches, the current page in the side bar, selected tabs and the storage bar disappeared. They now draw with the system's own colours.

  • Small text and small targets. Text under 10 px is gone from the whole app, the tiny checkboxes in Applications and Deep Clean can be clicked from the whole row, unticked boxes and off switches are visible in light mode, and disabled or not-installed rows are readable again.

  • Startup lost its Status column below about 1000 px, taking the "Invalid" marker with it. It stays visible now.

  • Disk Map's folder table could only be used with a mouse. Its rows are keyboard-operable, treemap labels meet contrast, and stopping a scan shows one message instead of two.

  • Deleting a Quarantine batch could be confirmed by a double-click. The confirm button ignores clicks for half a second.

  • Uninstallers whose path contains a space never started at all. Clicking Uninstall on VALORANT (and any program whose registered uninstall command is a quoted path with a space in it, which includes everything under Program Files) launched nothing: Windows' command processor rejected the command as "not recognized" before any uninstaller ran, and Prune reported the uninstall as done anyway. This is the real cause of "the uninstaller doesn't open"; 2.7.0's fix for it addressed a window that was never being created. The command is now handed over exactly as the program registered it.

  • Batch uninstall could report "Uninstalled" while the program was still fully installed. Selecting programs and choosing "Uninstall N programs" scanned for leftovers the instant each uninstaller's process exited. Some uninstallers hand the real work off and exit almost immediately -- Riot's VALORANT uninstaller, confirmed live, returned within seconds while its 32 GB install was never touched -- so Prune reported success and cleaned a few small leftovers while the program itself stayed exactly where it was. Batch uninstall now waits for you to confirm the uninstallers are done before it scans, the same step the single-program uninstall already had.

  • The "Read the whole drive" card's text now stays inside the card. Long lines wrap within a centred card of bounded width instead of running to the edge, and the two buttons wrap onto a second row rather than overflowing when the window is narrow.

  • With "hide cleaners that don't apply" on, Deep Clean no longer hides the browser history, cookie and autofill rules before a scan. Those rules were reported as not present until a scan had run, because the check looked only at the older single-path rule form. Folders that exist but that Windows won't let a normal user read (Defender's) now count as present too.

Added

  • Report a bug from inside Prune. A "Report a bug" button in the side bar and in Settings > About opens a prefilled issue on GitHub in your browser. Prune sends nothing itself: you see the whole report first, and it holds only what you write plus the Prune version, Windows version and architecture (no file paths, scan results or user name). Reports on GitHub are public and need a free GitHub account.
  • A labelled side bar. From 1100 px of window width the rail widens to show each screen's name; below that it stays icons only. Dashboard has its own gauge icon, Settings sits at the bottom, and Ctrl+1 to Ctrl+8 jump between screens. Page headings now match their names in the bar (Disk Map, Startup, Applications).
  • Choose System, Light or Dark. "System" follows Windows again after you've picked a theme by hand.
  • Deep Clean can be filtered, shows "N of M selected", remembers which categories you collapsed, and the whole row is the click target. While a clean is running, rows are read-only.
  • Applications: a right-click menu (Uninstall, Open folder, Copy uninstall command), an Uninstall button that stays reachable in a narrow window, and sizes that no longer turn red -- red is kept for broken programs and destructive actions.
  • "Stop after this one" for a batch uninstall, and the "automatically remove everything found" option is only offered when leftovers go to Quarantine, so the one-click path is always undoable.
  • Toasts wait for you. Warnings stay until dismissed, and hovering or tabbing to a message pauses its timer.
  • Dashboard: a health ring coloured by its own score and shown out of 100, free space as the storage headline, and a layout that stacks instead of cutting off drive details at the smallest window size.
  • Duplicates says what actually happens. Files go to Quarantine and are freed when you empty it; each copy is marked Keep or To quarantine, and a new search clears earlier ticks.
  • Real progress while the Disk Map walks folders. The scan now streams what it has done so far: a live count of files scanned and bytes processed, and an animated bar. On a whole-drive scan of C: the bar carries a percentage, and it is a real one -- bytes read divided by the bytes Windows says are in use on the drive -- held at 99% until the scan actually finishes, because the two figures never match exactly. For a single folder, or another drive, no total is known, so there is no percentage at all: a moving bar and the counters.
  • Time left, worded honestly. A folder walk shows "up to N s left": the walk has a 30-second time limit that the app reports and counts down to, but a small folder finishes long before it, so it is an upper bound, and at the limit it says the scan stopped early rather than sitting on zero. The fast scan (admin) cannot report progress (it runs in a separate elevated process that only hands back its result at the end), so it estimates from how long your last fast scan took ("about N s left, based on your last scan") and says so if it runs longer; the first time, with nothing to base it on, it shows no estimate, only the time so far. Finished scans draw a checkmark and offer "Scan again"; one that ran out of time says it stopped early (with a warning mark, not a checkmark) and offers the same; a failed one offers "Retry".
  • A Stop button on the folder walk. It asks the scanner to stop and shows what was measured so far, worded as stopped early. The fast scan (admin) has no Stop: it runs in a separate elevated process that cannot be interrupted part-way. While a real percentage is showing, the card shows only the bar and the counters; the spinner and rings appear only when the length of the wait is unknown.
  • Motion, kept restrained and off under Windows' reduce-motion setting. Buttons and nav items press in briefly when clicked and do nothing on hover (the primary button lifts 1px), with no bounce; switching tabs is a quick 160 ms fade instead of a slide; toggle switches slide on a spring; the scan counters count up to their value instead of jumping. The background glow stops drifting while the window is unfocused or hidden.
  • Windows Defender and WinRAR cleaners in Deep Clean, matching what BleachBit offers for both. Defender: its scan history, temporary files and logs, plus its Quarantine and its definition-update backups. Those last two are marked as losing data and are off by default -- Quarantine is how Defender restores a file it caught by mistake, and the backup is what it rolls back to after a bad update. WinRAR: the archive names, extract paths and search terms it remembers, and stray .tmp files. Defender's folders need administrator access, so without it those ...
Read more

Prune 2.7.1

Choose a tag to compare

@github-actions github-actions released this 18 Sep 14:42

Fixes a real Deep Clean false positive: a game could show up as
cleanable on a machine that never had it installed.

Fixed

  • A game/launcher rule (Steam, Epic Games Launcher, Riot Client,
    League of Legends) could report itself as cleanable even when that
    program was never installed.
    These 8 rules only ever checked whether
    a folder existed, not whether the program itself was actually
    installed -- and a launcher can create its own placeholder folders for
    titles it merely lists, not titles you've installed. They're now
    cross-checked against the same real, registry-based installed-programs
    list that already powers the Applications screen, so a rule can no
    longer claim a game is here when it isn't.

Prune 2.7.0

Choose a tag to compare

@github-actions github-actions released this 18 Sep 10:54

Fixes a real uninstaller bug (some uninstallers' own windows never came
to the front), plus two new screens: a real "Cookies to Preserve" picker
and a composite Dashboard health score.

Fixed

  • Some uninstallers' own confirmation window never came to the front.
    A program's uninstaller (Riot's VALORANT uninstall dialog, confirmed
    live) could genuinely open and sit there, hidden behind Prune's own
    window, with no sign anything had happened -- Windows' own
    focus-stealing prevention was refusing to let a background-spawned
    process's window become the foreground window. Prune now grants that
    right before spawning any uninstaller.
  • Deep Clean and Disk Map's own "still working" indicators no longer
    borrow a generic loading pulse -- the row a scan or clean is currently
    reading now sweeps, and Disk Map's file-type bars grow into their
    measured width as the numbers actually arrive, instead of snapping to
    a value that was already final.

Added

  • Cookies to Preserve (Settings → Cleanup): scan for the real cookie
    domains on this machine and choose which ones survive a Deep Clean,
    instead of always losing every cookie on a browser's cookie rules. The
    keep-list engine has existed since Deep Clean's rebuilt cleaning engine
    landed in 2.6.0 -- this is the screen to actually use it.
  • A composite System Health score on the Dashboard, replacing the
    ring that only ever showed drive wear. It now combines drive health,
    free disk space, broken/orphaned installs and hardware errors into one
    number, with a breakdown line underneath so it's never a mystery figure
    -- and it stays blank rather than guess until the real reads it depends
    on have actually come back.
  • Uninstalling now matches Revo Uninstaller's own two-step flow: a
    manual "Scan" step once the uninstaller has actually finished (instead
    of racing into a leftover scan the moment its process exits, which can
    race real background cleanup some uninstallers keep doing), and an
    optional "automatically remove everything found" checkbox that skips
    the review screen -- still fully undoable through Quarantine either
    way.
  • More hover and click feedback across the app: every button that wasn't
    already using one of the app's three named button styles now
    acknowledges a click, and checkboxes press with a distinct feel of
    their own.