1.0.2-3 — June 2026
Orphaned DKMS module detection in the Drivers tab, orphaned module reference scanner in APT Cache, and automatic reference cleanup after driver removal.
Added
- Drivers tab — orphaned DKMS modules: New scanner checks
/var/lib/dkms/for compiled.kofiles whose source package (*-dkms) is no longer installed. Shown as[DKMS]entries alongside regular driver packages and removed viadkms removeor direct directory deletion +depmod -a+dracut -f. - APT Cache — orphaned module references: New scanner detects leftover references to modules from uninstalled packages across five locations:
/etc/modules,/etc/modules-load.d/,/etc/modprobe.d/, systemd unit files and X11/XDG autostart files. Covers orphaned entries from VirtualBox, VMware, Hyper-V and guest tool packages. - Automatic reference cleanup on driver removal: After purging driver packages, leftover entries in
/etc/modulesand/etc/modules-load.d/are automatically removed beforedracut -f. Covers VirtualBox, VMware, NVIDIA, Broadcom and Hyper-V module references. - Full orphan reference cleanup action: Removes module load entries, orphaned
modprobe.dfiles, disables and removes orphaned systemd services, removes orphaned X11/XDG autostart files, then rebuilds initramfs withdracut -f.
1.0.2-2 — May 2026
Extended hardware detection in the Drivers tab (VM guest tools, printer drivers, Wacom tablets, Broadcom WiFi) and critical fixes for Intel GPU false positives in VMs, dracut firmware protection and progress bar display.
Added
- Drivers tab — VM guest tools: New
VM_GUEST_PACKAGESdict mapssystemd-detect-virtoutput to guest tool packages. Tools for the current hypervisor are protected; all others are shown as removable. Covers VirtualBox (virtualbox-guest-x11/utils/dkms), VMware (xserver-xorg-video-vmware,open-vm-tools,open-vm-tools-desktop), KVM/QEMU (spice-vdagent,spice-webdavd), Hyper-V (hyperv-daemons), Xen (xen-utils-guest,xe-guest-utilities). - Drivers tab — printer drivers: USB vendor detection for HP (
hplip,hplip-data), Epson (epson-inkjet-printer-escpr/2), Canon (cnijfilter2,scangearmp2), Brother (printer-driver-brlaser), Samsung (printer-driver-splix), Kyocera (printer-driver-c2esp). Packages only shown as removable when the corresponding USB vendor is not detected. - Drivers tab — Wacom tablets:
xserver-xorg-input-wacom,libwacom2shown as removable when USB vendor056a(Wacom) is absent. - Drivers tab — Broadcom proprietary WiFi:
broadcom-sta-dkms,bcmwl-kernel-sourceshown as removable when PCI vendor14e4(Broadcom) is absent.
Fixed
- Drivers tab — Intel GPU false positive in VMs: VMs expose Intel chipset devices (i440FX, ICH9) with vendor
8086inlspci, causing Intel GPU driver packages to be incorrectly protected. A new_scan_gpu_pci_vendors()function useslspci -nto check PCI class03xxand only protects Intel GPU packages when a real Intel GPU is present. - Drivers tab — VMware tools shown as removable when running in VMware: When VirtualBox is configured with VMSVGA display, the VMware PCI vendor
15adappears inlspci, incorrectly protectingopen-vm-tools. VM tools are now managed exclusively viasystemd-detect-virt, not PCI vendor detection. - Drivers tab — fixes not applying in production: All hardware detection improvements were applied to
root_scan.pybut the live app usesroot_helper.pyvia pkexec.root_helper.pywas not updated withgpu_pci_vendorsandvm_guest_typeparameters — this is now corrected. - Firmwares tab — dracut protection layer missing client-side:
root_helper.pywas not exportingdracut_fw_dirsin the scan JSON. The client-side firmware protection set rebuild now correctly includes firmware directories declared in/etc/dracut.conf.d/. - Progress bar — showing 100% during operations:
set_ui_state(..., pulse=True)now resetsfractionto0.0before callingpulse(). Previously the leftover1.0fraction from a completed scan persisted as "100%" text during all subsequent indeterminate operations. - "Select all" checkbox not resetting after cleanup: The checkbox remained checked after a successful cleanup and re-scan. Added reset via
handler_block_by_func+set_active(False)in theon_donecallback ofdrivers_tab,firmware_tab,temp_tab,logs_tab,user_cache_tab, andflatpak_tab.
1.0.2-1 — April 2026
Snap tab redesigned with full purge support, virtual machine guest detection with hypervisor identification, and critical fixes for kernel removal, package management commands and translation coverage.
Added
- Snap tab redesigned: Now has two sections like Flatpak — installed snaps with full uninstall (
snap remove --purge, removes snap and all its data) and old/disabled revisions. - VM guest detection:
systemd-detect-virtnow identifies the hypervisor type (KVM, QEMU, VMware, VirtualBox, Hyper-V, Xen, Parallels…) and displays it in the Drivers tab label. Fallbacks via/sys/hypervisor/typeand DMI strings. - QEMU/KVM guest support: Added Red Hat/Virtio PCI vendor
1af4to the hardware map so QEMU guest devices are properly recognised.
Fixed
- Kernel removal: After purging kernel packages,
dracut -fandupdate-grubare now always executed to regenerate the initramfs and update the bootloader. Previously neither was called. apt-get→apt: All package management commands in the root helper now use the modernaptfrontend.- Translation coverage: 27 previously untranslated strings (Drivers tab, Firmware tab, Kernels orphan section, Locales tab) added to all 8 language dictionaries and
.mofiles recompiled.
1.0.2 — March 2026
New Installed Apps and Snap tabs, firmware size display, individual APT cache .deb selection, auto-scan on launch, and extensive fixes for Flatpak, firmware protection, overview layout and progress bar.
Added
- Installed Apps tab: New user-mode tab listing all manually installed packages with search, size info and selective uninstall via pkexec.
- Snap tab: New user-mode tab detecting and removing old/disabled Snap revisions (consistent with Flatpak tab).
- Firmware sizes: Each firmware family in the Firmwares tab now shows its disk usage.
- APT Cache — individual .deb selection: The APT Cache tab now lists every cached
.debfile individually, allowing selective deletion instead of all-or-nothing. - Auto-scan on open: User-mode scan now starts automatically on launch without requiring a manual button press.
- Overview Snap card: Old Snap revisions now appear as a card in the user-mode overview.
- Overview Apps card: Manually installed packages appear as a card in the user-mode overview.
- "Select all docs" button: New button in the Languages tab to select all documentation entries at once.
Fixed
- AMD/GPU firmware protection: Firmware directories belonging to the detected GPU (amdgpu, radeon, i915…) are now locked in the Firmwares tab, preventing accidental removal.
- KVM/QEMU/VirtualBox detection: Virtual machine packages and firmwares are now detected and protected when the corresponding technology is active.
- Overview grid symmetry: Cards in the overview now use column-homogeneous layout so incomplete rows still render all cards at equal width.
- Flatpak tab redesigned: Now shows two sections — installed Flatpak apps (human-readable name, app ID, version, disk size) and unused runtimes. Previously the tab only showed runtime refs with no useful app information.
- Flatpak sizes: Fixed 0 B size display by reading actual disk usage via
duon the flatpak installation directories. The previousflatpak list --columns=sizereturns download size, always 0 for already-installed items. - Flatpak unused runtime detection: Replaced the naive runtime comparison (which incorrectly flagged the SDK and Platform GL extensions as unused) with delegation to
flatpak uninstall --unused, which correctly handles extensions, SDK dependencies and transitive references. - Apps tab — firmware and kernel filtering: Firmware and kernel packages no longer appear in the Installed Apps tab after a root-mode cleanup. Packages are now filtered by dpkg section (
kernel,firmware) and by name prefix (firmware-,linux-image-,linux-headers-, etc.). - Progress bar stuck at 100%: Fixed. User-mode scan now uses real progress fractions per step (0 → 0.15 → 0.35 → … → 1.0). Root-mode scan uses a continuous 120 ms pulse timer that stops when the scan completes.
Improved
- Tab order (user mode): Overview → Apps → Flatpak → Snap → User Cache → Trash.
- Overview card order: Mirrors tab order in both user and root modes.
1.0.1 — March 2026
Dual-layer user/administrator scanning, new Flatpak, User Cache and Trash tabs, dynamic tab visibility, and major fixes for root session reuse and pkexec prompt reduction.
Added
- Dual-Layer Scanning: Separates User and Administrator scans. Starts with a fast user-level scan, only requesting administrative privileges when explicitly requested via the top header button.
- Flatpak Cleaning: New dedicated tab to detect and safely uninstall unused Flatpak runtimes (
flatpak uninstall --unused). - User Cache Cleaning: New scanner specifically targeting
~/.cache, grouped by application folders. - Trash Management: New dedicated tab to easily empty the user's local trash (
~/.local/share/Trash). - Dynamic Tabs: System-critical tabs (GPU Drivers, Firmwares, Kernels, APT, Logs, Languages) now logically remain hidden until an administrative scan is authorized.
- Unified Overview: The overview tab now perfectly aggregates sizes and elements from both the user-level and root-level scans dynamically.
Fixed
- Root Session Refreshing: Resolved a major architectural frustration where the administrative session was hard-killed (triggering repeated
pkexecpassword prompts) just to refresh the UI after a cleanup. The persistent IPC helper is now gracefully reused for subsequent rescans. - Silent User Cleanup: Removed intrusive
pkexecfallbacks from user-level tasks. Clearing user cache or trash now silently skips unprivileged files instead of throwing root password prompts. - Kernel Tab Display: Fixed a
TypeErrorin IPC data deserialization that caused the Kernels tab to crash silently and display completely empty. - Root Launch Optimization: The administrative scan now correctly detects if the application is already running under
sudo/ root, bypassing redundant Polkit authentication prompts.
1.0.0-2 — March 2026
Minor packaging fixes for the About dialog on KDE.
Fixed
- About dialog credits panel on KDE: The credits area now displays with an opaque dark background and square corners instead of transparent or rounded-corner artifacts.
- About dialog app icon: Standardized to 48×48 pixels.
1.0.0-1 — March 2026
Initial release: intelligent system cleaner with dual APT/Flatpak/Snap/kernel/firmware scanning, Languages tab, Soplos v2.0 UI standard, hardware monitoring, 8-language i18n and full keyboard shortcuts.
Added
- Ctrl+Tab / Ctrl+Shift+Tab: Keyboard shortcuts to cycle forward/backward between tabs.
- F1 — About dialog: Press F1 to open the About dialog with version, author, license and website.
Fixed — GNOME
- GNOME HeaderBar: Now displays with correct dark background matching other Soplos apps.
- GNOME CSD controls: Minimize/maximize/close buttons no longer affected by the global
button {}CSS rule.
Added — Initial Features
- Languages & Docs: Intelligent cleanup tab that protects active system locales and clears translations and help files.
- Standardized UI: Implemented Soplos v2.0 Standard with slim tabs and professional HeaderBar (matching WebApp Manager).
- Core Security: Consolidated administrative tasks into a single
pkexecprompt. - Advanced Cleaning: Recursive
__pycache__cleaning and system cache optimization. - Intelligent Protection: Locked network firmwares and active kernels to prevent system failures.
- Precision Scanning: Universal scanner using
du -skfor accurate and fast size calculation. - Hardware Monitoring: Extended overview including Temperature, GPU, and Disk usage.
- Global Reach: Fully localized UI in 8 languages (ES, EN, FR, DE, PT, IT, RO, RU).
- Responsive Design: Optimized layout for GTK environments (X11/Wayland/GNOME/KDE/XFCE).
- Keyboard Shortcuts: Ctrl+W (close), Ctrl+R (rescan), Ctrl+1–7 (tab navigation).
- Scan Icon: Enlarged to 128px in Overview tab for better visibility.
Fixed
- Action buttons: Remove, Clean and Autoremove buttons now re-enable after failed or cancelled operations instead of remaining permanently disabled.
- Progress bar in Kernels tab: Now closes correctly after cleanup completes.
- Translatable strings: GPU Drivers and Firmware tab strings were hardcoded in Spanish; corrected to English as required by the i18n system.
- Temp Files — active session files: Socket files, named pipes and symlinks (D-Bus, MCP, systemd) are now excluded from the scanner — they are active session files and must not be deleted.
- Temp Files — root-owned files: Deletion of root-owned files now uses a single
pkexecfallback call instead of silently failing withPermissionError. - APT Cache scanner: Was only counting
.debfiles, always showing 0 on clean systems. It now also measures the package lists (/var/lib/apt/lists/) populated byapt update. - APT Cache — orphan button: "Remove orphaned packages" button is now hidden instead of visually active when there are no orphans — the XFCE theme did not grey out
destructive-actionbuttons correctly. - Overview metrics timer: System usage metrics moved to a background thread to prevent UI freezes after scan.
- Languages tab: Widget creation deferred until the tab is first opened (lazy loading). Previously, 500–1000+ GTK widgets were created synchronously on scan completion, causing the entire application to freeze on any subsequent interaction.
Improved
- fmt_size() consolidated in
utils/constants.py, eliminating duplication across 6 tab files. - Duplicate constants removed: Single source of truth for
SUPPORTED_LANGUAGESandPROTECTED_FIRMWAREin their respective modules. - Unused functions removed:
get_autoremove_size_kb(),_get_size()andget_total_temp_size()eliminated. - Import cleanup: Misplaced and unused imports cleaned up across all UI and scanner modules.
- Logging unified through the
loggermodule inapplication.py(replacedprint()calls). - Overview card strings (items, family(s), removable) are now translatable across all 8 languages.
ES
FR
PT
DE
IT
RO
RU