Releases: PatrickJnr/crapcleaner
Release list
v1.0.11: Engineering audit implementation: correctness and safety fixes, a modular GUI views package, faster duplicate hashing and storage analysis, wider cleanup coverage, and machine-readable CLI progress
Engineering audit implementation: correctness and safety fixes, a modular GUI views package, faster duplicate hashing and storage analysis, wider cleanup coverage, and machine-readable CLI progress.
Fixed
- Duplicate cleanup category IDs:
directx_shader_cachenow has a single owner (Windows provider) and the .NET provider's JetBrains entry becameresharper_caches, so no two categories share an ID or scan the same path twice. Enforced by tests. - Individual file cleanup targets: a target pointing at a single file (stray
.pycfiles) is now sized, previewed, and deleted correctly through the normal pipeline instead of being silently skipped. - Platform-specific categories: Windows-only targets are no longer registered on Linux and vice versa. This covers the application providers (winget, Chocolatey, Scoop vs apt, dnf, pacman, Flatpak, Snap) and the Windows system provider, so a Linux install no longer lists Prefetch, CBS logs, or Windows TEMP. Emptying the trash stays available on both platforms.
- Windows drive formatting: drive letters render one colon (
Drive C:), Linux mount points are printed unchanged. - Storage analyzer traversal: the analyzer uses the shared reparse-point guard and skips junctions and symlinks instead of resolving through them, so data that lives on another volume is never billed to the scanned drive.
- Recursive CSV storage export: a list-rooted storage report now exports every descendant instead of stopping at the top level.
- Linux storage health: capacity comes from byte-accurate
lsblk -boutput and free space is correlated through the device's mount point. An unmounted device keeps its real capacity rather than reporting zeros. - Cold cleanup preview reported zero:
crapcleaner --cleanup-previewruns without a prior scan, so categories that discover their targets through a finder (__pycache__, stray.pyc, Python tool caches, AI models) previewed as empty while the cleanup would have removed thousands of files. The preview now resolves those finders when no scan data exists. - Blank volume label and filesystem on Windows: PC Specs printed drives with no label or filesystem because
get_drive_infonever queried them. Both now come fromGetVolumeInformationW, and a drive that cannot be queried reports blank rather than a placeholder. - Ruff and mypy: both pass with zero errors across the package, with no suppressions or broad
Anycasts added. - PyInstaller packaging: stale hidden imports were replaced with modules that actually exist, and
onedirbuilds a real folder distribution (EXE+COLLECT) instead of silently producing a onefile build. Both build scripts pass their mode through and report the matching output path.
Added
- Running-browser detection before cleanup: one process listing identifies every relevant browser; the confirmation dialog, status bar, and CLI warn that locked cache files will be skipped. Browsers are never terminated, and a cleanup that skipped locked files is reported as partial rather than complete.
- Wider browser coverage: Thorium on Windows and Linux, Floorp on Linux, alongside the existing Chromium and Firefox derivatives. Only cache directories are targeted.
- Wider developer cache coverage: shared
sccacheand Zig compiler caches, project-local.ruff_cache,.mypy_cache,.pytest_cache, and.toxfolders discovered through the existing single scan-root walk, and the Docker Buildx cache exposed as a confirmeddocker buildx pruneaction rather than a file delete. - Vendor-neutral GPU telemetry: AMD and Intel load, temperature, and VRAM through Linux DRM sysfs, NVML retained for NVIDIA, and any Windows display adapter contributing its name and VRAM size. A metric the hardware does not expose is shown as
N/Ainstead of a fabricated zero. - Wider local AI model discovery: Jan.ai, ComfyUI, and text-generation-webui model stores in their conventional locations. Models remain inspection-only and are never auto-selected.
--progress-jsonlstreaming CLI progress: scans and cleanups emit one standalone JSON object per line covering start, per-category progress and results, warnings, errors, cancellation, and completion (including apartialflag). Standard output is unchanged without the flag.
Changed
- GUI views modularized: the 9,000-line
gui/views.pybecame agui/views/package with one module per major view plus a shared widgets module. Public imports and lazy view creation are unchanged. - Centralized subprocess execution:
run_commandreturns a typedCommandResultwith consistent timeout, working-directory, and environment handling, and every capturing subprocess call site now goes through it, so a failed command can never look like empty-but-successful output. - Parallel duplicate hashing: full SHA-256 hashing runs on a bounded worker pool and consumes results in submission order, keeping grouping deterministic while staying responsive to cancellation.
- Scan cache invalidation: continuously rewritten groups (browser caches, Windows Temp) use a short TTL so a stale entry cannot outlive its data, while static categories keep the full TTL.
- On-demand storage drill-down: navigating past the analyzed depth measures that folder in a worker and keeps the result, instead of requiring a slower whole-drive pass at a higher depth.
v1.0.10.1: Theme Studio performance optimization, Windows config locking resilience, and release title automation
Theme Studio performance optimization, Windows config locking resilience, and release title automation.
Fixed
- Theme Studio Slider Performance & Lag: optimized live theme preview rendering by updating only the actively visible tab (
_update_active_view) during drag events, reducing per-dragsetStyleSheetand contrast calculation overhead by over 95%. Bypasses redundant SVG icon and button restyling during active sliding and tunes the application debounce timer to 220ms for fluid 60+ FPS interaction. - Windows Config Lock Collision (
PermissionError: [WinError 5]): resolved access denied errors during rapid settings saves by eliminating redundant duplicate saves in custom theme builder and implementing PID/nanosecond unique temporary files, exponential retry backoff, and direct-write fallbacks insave_settings.
Added
- Automated Descriptive GitHub Release Titles: enhanced
scripts/extract_changelog.pyand.github/workflows/release.ymlto automatically extract release headlines fromCHANGELOG.mdand populate descriptive release titles during GitHub Actions publication.
v1.0.10: Custom Theme Studio & Perceptual Color Engine
Custom Theme Studio release: perceptual color theory engine, 6 harmony mood styles, 15 designer presets, magic dice generator, JSON theme import/export, and dedicated Settings sub-navigation tabs.
Added
- Custom Theme Studio: introduces a dedicated workspace inside Settings enabling users to design, fine-tune, and apply personalized themes without manual configuration of dozens of individual hex codes.
-
Perceptual Color Theory Engine (
color_engine.py):- Implements hue-dependent brightness bias compensation (
hue_lightness_bias) and perceptual lightness tuning, ensuring high-luminance hues (amber, yellow, lime) avoid blinding glare while deep blues and violets maintain rich vibrancy. - Enforces strict WCAG 2.1 AA/AAA contrast guidelines (minimum 7:1 text contrast and 4.5:1 UI contrast) with automated lightness correction (
ensure_contrast). - Generates complete 27-token palettes mapping chosen signature colors across stratified background levels (
window,panel,surface,surface2,elevated,border,border2), semantic states (success,warning,danger,review,info,selection), and typography.
- Implements hue-dependent brightness bias compensation (
-
6 Palette Harmony Mood Styles:
-
Cohesive(default balanced surface tinting with 14% primary saturation) -
Vibrant(high-energy saturated surfaces and neon accents) -
Muted(subdued slate undertones for low-profile visual focus) -
OLED Pure(true#000000deep black canvas with stratified dark panels and glowing accent highlights) -
Pastel(soft, airy low-saturation tones) -
Minimal(clean monochromatic neutral greys with single accent focus)
-
- 15 Curated Designer Color Presets: one-click curated palettes (Sapphire Blue, Emerald Forest, Cyber Violet, Sunset Amber, Crimson Velvet, Rose Gold, Hyper Cyan, Deep Slate, Mint Sage, Solar Orange, Royal Indigo, Cherry Blossom, Arctic Frost, Matrix Lime, Espresso Gold).
-
Color Harmonies & Magic Dice Generator:
-
generate_color_harmoniescomputing Analogous ($H \pm 30^\circ$ ), Complementary ($H + 180^\circ$ ), Triadic ($H \pm 120^\circ$ ), and Split-Complementary variations. - "Surprise Me (Magic Dice)" rolling harmonious, randomized palettes across curated hues and mood formulas on demand.
-
-
Theme JSON Export & Import:
- Serialization and parsing tools (
export_custom_theme_json,import_custom_theme_json) with clipboard copy and modal import dialog for sharing themes.
- Serialization and parsing tools (
-
Interactive Multi-View Live Preview:
- Live preview card featuring switchable views: Mockup Overview, Clean-up Queue Table, and 27-Token Palette Matrix with live contrast ratio badge meter (
AAA,AA,LOW).
- Live preview card featuring switchable views: Mockup Overview, Clean-up Queue Table, and 27-Token Palette Matrix with live contrast ratio badge meter (
-
Dedicated Sub-Navigation Tabs in Settings:
- Clean separation into
Theme GalleryandCustom Theme Studio, providing full viewport height for both browsing 40+ built-in themes and designing custom themes. - Added "Custom Studio" shortcut button on the active theme hero banner.
- Clean separation into
Fixed
- Table Column Sorting Recursion Error: resolved
RecursionErrorin PySide6NumericItemduring table column sorting by isolating numerical sort values toQt.ItemDataRole.UserRole + 99and handling string fallbacks safely. - Mnemonic Accelerator Underscore Artifacts: escaped ampersands in button labels (
Apply && Save Custom Theme) and enforcedQt.TextFormat.PlainTexton labels to prevent unwanted mnemonic accelerator parsing. - Live Theme Application on Color Pick: instant real-time visual application across the entire application upon selecting a color or changing tuning sliders.
Full Changelog: v1.0.9.1...v1.0.10
v1.0.9.1: Python 3.10 & 3.11 Source Installation Hotfix
Source installation fix for Python 3.10 and 3.11.
Fixed
- Import Failure On Python 3.10 And 3.11: computes the installer account name outside the f-string in
crapcleaner.system.backends.updates_windows. A backslash inside an f-string expression is a syntax error before Python 3.12, so that module could not be imported on the older interpreters this project supports, and the System Updates page raised on Windows before it could report anything. The published 1.0.9 executables bundle their own Python 3.12 and are unaffected; this reaches installations made from source withpip,uv, or a checkout. - Linter Coverage Of The Update Backend:
ruffstops at the first syntax error in a file, so the rest ofupdates_windows.pyhad never been checked. It is linted and formatted with the rest of the codebase now.
Changed
- File-Type Analysis Wording: corrects the 1.0.9 note about where file sizes come from. On Windows the directory listing carries the size and reading it from the entry costs nothing; on Linux the entry still needs a stat, though one relative to the open directory rather than a fresh resolution of the whole path. The improvement is real on both, and largest on Windows.
Internal
- Cross-Platform Test Corrections: three tests asserted Windows-specific behaviour and failed on the Linux side of the CI matrix. The services badge now takes its noun from the view rather than hard-coding services, since the page correctly reads units under systemd; the XDG autostart fixture redirects the system directory as well as the user one, so a listing no longer includes whatever the host distribution installed; and the file-type analysis test asserts that stat calls do not scale with file count rather than requiring an exact count, which differs between platforms.
Full Changelog: v1.0.9...v1.0.9.1
v1.0.9: Platform-Aware Architecture (Windows & Linux)
Platform-aware architecture release: Startup, Services, and System Updates managers that adapt to Windows or Linux, plus cross-platform App Updates.
Added
- Platform Capability Registry: introduces
crapcleaner.system.capabilities, the single source of truth for which system-management features the running operating system provides and what each one is called there. The navigation rail, the page set, the view headings, and the CLI all read from it, so no user-facing code branches on the operating system. Supporting another platform means adding backend modules and one registry entry per capability. - Platform-Neutral Dispatchers & Per-OS Backends: splits the startup, service, and update managers into a shared dispatcher holding the data model, cache, and safety rules, over a backend per operating system in
crapcleaner.system.backends. Platform dependencies stay inside their own backend:winreg, PowerShell, andsc.exeappear only in the Windows modules, andsystemctl,pkexec, and package-manager commands only in the Linux ones. - Linux Service Management via systemd: adds full parity with the Windows Services page for systemd, listing both system and user units with their active state and unit-file state, and offering start, stop, restart, and enable/disable/mask. System units elevate per command through
pkexecso the application need not run as root, and units that keep a session alive -dbus,systemd-logind,polkit,user@,getty@- are guarded the same way critical Windows services are. - Linux System Updates: adds distribution update management through
apt,dnf/yum,pacman, andzypper, reporting pending updates with security errata marked, recent package history, and whether a reboot is pending. - Linux Startup Entry Management: completes XDG autostart support with enable, disable, and remove alongside the existing listing. A user entry shadows the packaged entry of the same name, and disabling or removing a system entry in root-owned
/etc/xdg/autostartwrites a user-level override that hides it rather than touching a file the package manager owns. - Graceful Handling of Unsupported Features: pages whose platform tooling is absent are hidden rather than shown broken, a navigation section whose entries are all unavailable is omitted, and every dispatcher entry point returns the registry's explanation instead of letting a platform command fail. A Linux system without systemd shows no Services page at all.
- Platform-Filtered Memory Actions: offers only the reclamation actions the running kernel provides, so Windows lists the standby list purge and Linux lists the filesystem cache drop. Each action's description names the exact call that system will make -
EmptyWorkingSeton Windows,malloc_trimanddrop_cacheson Linux - rather than listing every platform's mechanism at once. Requesting a hidden action by id still reports why it is unavailable instead of an unknown-action error. --capabilitiesCLI Flag: reports which platform features the current operating system supports, with--jsonfor automation.- Linux Privilege Escalation: teaches
elevate()andrelaunch_as_admin()to usepkexec, and reports administrative rights on Linux from the effective user id rather than assuming every non-Windows user is privileged. - Windows Startup Manager: introduces a dedicated Startup Applications manager that allows users to view, enable, disable, add, and remove programs and scripts configured to launch automatically with Windows. Inspects Current User and All Users Registry Run/RunOnce keys, modern
StartupApprovedflags, and user/system Startup folders with intelligent publisher discovery and boot impact estimations. - Windows Update Manager: adds comprehensive Windows Update inspection and management via PowerShell COM APIs (
Microsoft.Update.Session). Displays pending update titles, KB IDs, severity levels, download states, package sizes, and support URLs, initiates update downloads and installations with administrative elevation enforcement, and provides complete installed hotfix history auditing. - Windows Services Manager: introduces interactive background service management enabling users to view, start, stop, restart, and configure startup types (Automatic, Automatic (Delayed Start), Manual, Disabled) for all installed Windows services. Features safety guardrails protecting critical OS services from accidental stoppage or disablement, multi-criteria filtering, and one-click access to the system management console (
services.msc). - App Updates via Package Managers: adds a cross-platform application update manager (
crapcleaner.system.package_managers) that detects the package managers installed on the current system and reports every available application upgrade in one place. Supportswingetandchocolateyon Windows andapt/apt-get,flatpak,snap,pacman, anddnf/yumon Linux, with a two-minute result cache, live search, and per-manager filtering. Upgrades run one package at a time, across a multi-row selection, or across an entire manager, and a queued selection continues past any package that fails. Installers are allowed 30 minutes for a single package and 2 hours for a whole-manager upgrade, since large IDE, SDK, and creative-suite installers routinely run for many minutes. - Column-Accurate Package Manager Parsing: reads
winget upgradeoutput using the column offsets declared in its own header, so a value that exactly fills its column, and is therefore separated from the next by a single space, still yields a usable package ID and version. - Friendly Windows Error Explanations: introduces
crapcleaner.utils.windows_errors, translating raw0x8024xxxxWindows Update and servicing failure codes into a plain-language title and remediation hint instead of surfacing the bare hexadecimal code. - New Sidebar Navigation & Material Icons: adds Startup Apps, Services, App Updates, and System Updates to the left navigation rail under the System tier, carrying the
rocket_launch,tune, andsystem_updateMaterial Icons, dynamically recoloured for each of the 43 theme palettes. The icon map also gainsmiscellaneous_services,play_arrow, andstopfor use in the service control surfaces. - Platform-Aware Navigation Rail: teaches the sidebar to accept the set of pages the running platform actually provides, and to take each label from the capability registry so a page reads Windows Services on Windows and systemd Services on Linux.
- CLI Management Options: adds
--startup,--services, and--system-updatescommand-line flags with full--jsonexport support for headless automation and terminal diagnostics.--windows-updatesremains accepted as an alias. - Sortable Table Header Hover Feedback: adds a
QHeaderView::section:hoverstyle across all 43 themes so sortable column headers visibly respond before they are clicked. - Shared Visual Effects Toolkit: introduces
crapcleaner.gui.effectswith an animated count-up label, a history sparkline, a proportional segmented bar, and hover-depth and accent-glow helpers. Every colour resolves from a palette token, so all 43 themes are covered without per-theme code, and every animation honours the Reduce motion preference by landing on its final value instead of easing to it. Depth is split deliberately: widgets that repeat inside a scroll area use a painted hover, because aQGraphicsEffectrenders through an offscreen pixmap that disables subpixel text antialiasing, while a real drop shadow is reserved for single hero surfaces. - Live Vitals Sparklines: draws a rolling 60-sample history under the Memory, Processor, Graphics, and Network cards on the Dashboard. The strips are fed from the vitals tick the Dashboard already runs, so no card owns a timer. Percentages plot against a fixed 0–100 ceiling for comparability over time, and network throughput auto-scales to its own peak.
- Reclaimable Breakdown Panel: fills the empty lower third of the Dashboard with a proportional bar and the top categories by size, coloured by safety level. Before a first scan it lists the category groups a scan would check, so the panel is informative rather than blank on a fresh install.
- Counting Headline Figures: eases the reclaimable total on the hero card and in the breakdown panel up to its new value when a scan completes.
Changed
- Faster CLI Quick Scan: limits the
--quickscan to the first five non-administrative, default-selected categories and caps it at 200 files, so a terminal health check returns promptly. - Platform-Neutral Storage Presets: resolves the Storage Breakdown preset buttons through the stdlib and the platform helpers, so Temp points at the real temporary directory and AppData becomes App Config pointing at
$XDG_CONFIG_HOMEon Linux. - Deprecated Windows-Flavoured Names:
crapcleaner.system.windows_updates,WindowsUpdateItem,WindowsUpdateReport,WindowsUpdateView,WindowsUpdateWorker,WindowsUpdateInstallWorker, andopen_services_mscremain importable as aliases of their platform-neutral replacements insystem_updates,SystemUpdatesView,SystemUpdateWorker,SystemUpdateInstallWorker, andopen_services_console.
Fixed
- Windows Junctions Followed During Scanning And Cleanup: skips reparse points during every filesystem traversal. A Windows directory junction reports itself as an ordinary directory through
S_ISLNK,os.path.islink, andDirEntry.is_dir(follow_symlinks=False), so the only reliable signal is its reparse tag, which nothing checked. A junction loop therefore recursed until the file budget ran out, counting the same files repeatedly and truncating the result, and a junction pointing outside the scanned tree presented unrelated files as reclaimable junk.crapcleaner.utils.files.walk_safenow back...
v1.0.8.1: Astral uv Build Scripts & Packaging Updates
Astral uv build and development scripts, dependency lockfile, and documentation updates.
Added
- Astral uv Build & Run Scripts: adds
scripts/builduv.shandscripts/runuv.shfor fast virtual environment bootstrapping, automated dependency synchronization, and PyInstaller binary compilation using Astraluv. - Dependency Lockfile (
uv.lock): introducesuv.lockfor deterministic, reproducible dependency resolution across environments while preserving the existing pip/venv workflow.
Documentation
- Updated Setup & Run Guides: expands
README.mdwith uv-based workflow instructions for local execution, development, testing, and executable builds alongside standard pip commands.
What's Changed
Full Changelog: v1.0.8...v1.0.8.1
v1.0.8: Extended Theme Set & Standalone Executable Builds
Help & Safety modal dialog architecture, sidebar reorganization, sponsorship integration, and standalone packaging fixes.
Added
- Help & Safety Modal Dialog: introduces
HelpSafetyDialog, a dedicated modal window housing the comprehensive 9-part safety philosophy, technical documentation, troubleshooting guide, live FAQ search, category filter chips, and one-click system diagnostics copier. - Global Help & Documentation Access: adds global
F1shortcut trigger, sidebar "Safety First" footer card action buttons, and direct About view links to open the Help & Safety modal dialog from anywhere in the application. - GitHub Funding Configuration: adds
.github/FUNDING.ymlconfiguration supporting GitHub Sponsors, Ko-fi, Buy Me a Coffee, and custom PayPal donation endpoints. - PyInstaller Packaging Specification (
CrapCleaner.spec): introduces a dedicated spec file collecting allcrapcleanersubpackages, assets, and PySide6 Qt6 platform plugins, resolving standalone executable packaging across Windows and Linux.
Changed
- Sidebar Navigation Reorganization: streamlines the left navigation rail into four logical, ordered tiers (Overview, Deep Scan, System, and Preferences), placing Settings and About at the bottom of the navigation rail for intuitive desktop navigation.
- Drive Usage Donut Theme Palette Integration: renders the Dashboard storage capacity ring using the active theme's accent color (
pal["accent"]), replacing the diagonal linear gradient for consistent visual cohesion across all 43 themes. - Contributor Card Layout: bounds community contributor cards to a proportional maximum width in a balanced two-column grid.
Fixed
- PyInstaller Standalone Executable Packaging: resolves
ModuleNotFoundError: No module named 'crapcleaner.gui'in compiled Windows and Linux release binaries by updating release workflows to use full package installs andCrapCleaner.spec.
Full Changelog: v1.0.7.1...v1.0.8
v1.0.7.1: UI Performance & Visual Smoothing Hotfix
Theme additions and worker lifecycle stability patch.
Added
- Adwaita Themes: adds GNOME-inspired Adwaita Dark (neutral dark surfaces with restrained blue accents) and Adwaita Light (clean light surfaces with understated blue accents) color palettes, expanding the theme gallery to 43 curated themes.
- Dynamic Theme Category Counts: calculates theme category counts dynamically in the Theme Gallery filter chips (Modern Dark (7), Light & Pastel (5), Retro & Vintage (8), Cyber & Synth (4), Code Palettes (8), Warm & Nature (11)).
Fixed
- Worker Thread Internal C++ Object Deletion: resolves Shiboken
RuntimeError: libshiboken: Internal C++ object (...) already deletedwhen re-triggering storage health diagnostics (refresh_health), hardware queries (refresh_specs), storage analysis (run_analysis), or memory actions by introducingis_worker_runningandstop_workersafe lifecycle helpers and automatically clearing finished worker references.
What's Changed
Full Changelog: v1.0.7...v1.0.7.1
v1.0.7: Quality of Life, Scan Insights & Stability
Quality of Life, Scan Insights, and Stability release.
Added
- Scan Insights & Space Recommendations: adds an interactive
ScanInsightsWidgetdirectly in the Deep Cleanup view providing immediate visual breakdowns of safe vs reviewable reclaimable space, top storage-consuming categories, and actionable recommendations. - Storage Analyzer Quick-Access Bookmarks: introduces a one-click directory favorites bar in the Storage Breakdown view (Home, Downloads, Documents, AppData / .config, Temp, Videos) for instant storage exploration without manual folder browsing.
- Async Worker Thread Lifecycle & Stability: introduces strict QThread lifecycle management across all async inspectors (
SpecsWorker,HealthWorker,StorageAnalysisWorker,MemoryReportWorker,MemoryActionWorker), ensuring clean thread termination, graceful parent widget destruction, and zero headless CI/Windows access violations. - Theme Fade Transition Polish: optimizes UI theme cross-fades by safeguarding against widget and animation double-deletion, with resilient fallback handling in headless and virtual display environments.
Improved
- Hardware & GPU Detection: enhances GPU and VRAM introspection across Windows and Linux platforms with robust error handling for hybrid multi-GPU setups and virtual display environments.
- Test Suite Teardown & Isolation: adds automated Qt top-level widget and thread cleanup fixtures in pytest, ensuring 100% test isolation and zero cross-test event leaks.
What's Changed
Full Changelog: v1.0.6...v1.0.7
v1.0.6: Hardware Specs & Storage Health Diagnostics
Theme Gallery and Preferences redesign release.
Added
- Visual Theme Gallery: replaces the plain dropdown with an interactive visual gallery displaying all 41 themes. Features real-time 5-color swatch bars, active theme preview banner, category filter chips (Modern Dark, Light & Pastel, Retro & Vintage, Cyber & Synth, Code Palettes, Warm & Nature), live search filtering, "Surprise Me" randomizer, and default reset.
- Live System Vitals Dashboard: introduces zero-overhead real-time telemetry cards on the Dashboard for Network bandwidth (download & upload transfer rates, session transfer totals, and active connection adapter), RAM utilization with dynamic high-memory pressure alerts and quick Memory Cleaner access, real-time multi-core CPU load, GPU temperature monitoring & VRAM utilization, and live system uptime with fluid OutCubic animated transitions.
- Hardware Specs Skeleton Loading: renders modern animated pulsing skeleton placeholder cards across the PC Specs view during async hardware, GPU, and SMART sensor queries, eliminating empty layout states.
- Overhauled Memory Cleaner View & Kernel Cache Purging: redesigns the Memory Cleaner view with a high-impact Hero status banner, 2-column hardware vitals, and a multi-tier memory flush engine. Supports multi-pass process working set trimming (
psapi.EmptyWorkingSet) for standard users, alongside one-click administrator elevation to purge the Windows kernel standby list (priorities 0–7), modified page list, and system file cache. - Segmented Settings Architecture: organizes Preferences & Configuration into dedicated sub-tabs (Appearance & Themes, Safety & Protection, Exclusions & Roots, Scan Performance, Category Rules, Backup & Sync) with sticky top actions and quick-tuning performance presets.
- Pure Material Icon Typography & View Upgrades: renders crisp Google Material Icons dynamically colored to match the active theme palette across all preferences, action buttons, category chips, and toolbar controls in every view, alongside real-time active scanning indicators.
Changed
- Branding consistency: standardizes application title and branding to pure CrapCleaner, removing legacy comparison references.
Full Changelog: v1.0.5...v1.0.6