1.0.3-2 — July 2026
New Administrator desktop launcher created automatically on first root session; two bug fixes for duplicate VM package entries and Intel GPU firmware locked without a real Intel GPU.
Added
--rootlaunch flag and Administrator.desktoplauncher: New CLI flag relaunches the app viapkexecstraight into Administrator mode. A second.desktopentry (org.soplos.sys-cleaner-root.desktop) is written to/usr/share/applications/automatically the first time a root session is established — no additional authentication prompt. Idempotent: checks for the file's existence first.
Fixed
- Duplicate
spice-vdagent/spice-webdavdentries on non-KVM/QEMU guests:VM_GUEST_PACKAGESlists the same two packages under both thekvmandqemukeys. On any other guest type (e.g. VMware), both keys were iterated with no cross-key deduplication, listing each package twice and breaking the "Select all" checkbox. Added aseen_vm_pkgsset to deduplicate by package name across the whole loop. - Intel GPU firmware (
i915) locked without a real Intel GPU:get_firmware_protection_set()protectedi915/intel/iwlwififirmware whenever any PCI device with vendor8086was present — including chipset/bridge/USB-controller devices emulated by VMware and other hypervisors on AMD hosts.i915is now only protected when a genuine GPU-class Intel device is present (gpu_pci_vendors), mirroring the same distinction already used for Intel driver packages.
1.0.3-1 — July 2026
Four bug fixes across firmware handling, KVM package detection, orphaned dracut config cleanup, and VirtualBox Guest Additions uninstall; plus firmware families without a dedicated package now marked as temporary.
Fixed
- NVIDIA firmware deletion left the driver package installed:
do_remove_firmwareonly checked the dedicatedfirmware-*package before deciding whether to delete files directly; if the full driver stack (nvidia-driver,nvidia-kernel-dkms, etc.) was installed under a different package, its firmware got wiped while the driver stayed installed. Now checks the full driver package stack fromhardware.pybefore purging. virt-viewer/virt-manager/libvirt-clientsfalse positive inKVM_PACKAGES: These are remote-capable client tools that connect to any libvirt/QEMU/SPICE host over the network, independent of local KVM support — a user accessing a remote Proxmox host viavirt-viewerfrom a non-KVM machine had it flagged as unused. Removed from the host-only package list.- Orphaned
/etc/dracut.conf.d/*.conffrom driver installers never cleaned: Files likenvidia.conf/blacklist-nouveau.confare written directly by driver install scripts, not as package conffiles, soapt purgenever removes them. Added as a fifth orphan-reference source inget_orphan_module_refs(), with a hard exclusion list for distro-policy files (soplos.conf,i18n.conf,local.conf) that must never be touched. - VirtualBox Guest Additions never fully uninstalled: Orphan cleanup only removed leftover systemd service/autostart files, never the actual kernel modules/DKMS/
/opt/VBoxGuestAdditions-*payload installed by the official.runinstaller (not tracked by dpkg). Now runs the officialuninstall.sh(orrcvboxadd cleanup) first when present.
Added
- Firmware families without a dedicated package marked as temporary: Families bundled inside
firmware-linux-nonfree/firmware-misc-nonfreeare resolved via realdpkg -Sownership lookup (fixed for merged-usr/lib→/usr/libsymlink resolution) and shown with a warning icon — deleting them only reclaims space until the next package update, it is not permanent.
Improved
- Unified package/module mapping across
hardware.py,cache.py,root_helper.py: Each file previously kept its own hand-written copy of the package ↔ kernel module mapping, which had already drifted. Consolidated into a singlePKG_MODULESdict inhardware.py, withget_module_to_package_map()deriving the inverse direction.
1.0.3 — July 2026
Build dependency update — python3-all replaced with python3 in debian/control.
Changed
- Build dependency
python3-allreplaced withpython3.
1.0.2-9 — June 2026
Security and logic fix: Protected active Soplos kernel DKMS modules from being incorrectly flagged as orphans.
Fixed
- DKMS orphan scanner: Fixed an indentation logic bug that incorrectly handled Soplos kernel versions causing false positives (NVIDIA, v4l2loopback).
1.0.2-8 — June 2026
Twelve bug fixes: kernel active-detection false positives, race condition in APT cache cleanup, DKMS scanner extended to all installed kernels, CPU temperature prioritized hwmon reader (k10temp/coretemp over acpitz), substring-match fixes for modprobe.d and module names, and service file orphan check requiring all co-owning packages to be uninstalled.
Fixed
- Kernel false-positive active detection (
kernels.py):version in currentused substring matching —6.1.0-2-amd64was a substring of6.1.0-27-amd64, so an old kernel could be marked as active and protected from removal. Changed to exact equality (==) in bothget_installed_kernelsand_find_unmatched_modules_dirs. _clean_filemishandled commented module entries (root_helper.py):l.strip().lstrip('#')left a leading space on# vboxguest→' vboxguest'which didn't match the module name, so orphaned comment lines were never removed. Conversely,#vboxguest(no space) matched and was deleted. Fixed with.strip().lstrip('#').strip().- Race condition in APT Cache orphan cleanup (
cache_tab.py):clean_module_refs(which runsdracut -f) andapt_autoremovewere dispatched to the root_helper concurrently — two threads writing/reading the same stdin/stdout pipe could corrupt the JSON protocol.apt_autoremoveis now chained in the callback ofclean_module_refs. - "Detected hardware" label included non-GPU PCI vendors (
hardware.py):_detect_gpu_names()received all PCI vendor IDs; on a KVM host, virtio devices (vendor1af4) were present in lspci and the label incorrectly showed "QEMU/KVM". Fixed by passinggpu_pci_vendors(class 03xx devices only). - VM guest type missing from "Detected hardware" label (
main_window.py):hardware_summaryonly listed GPU vendor names and KVM host status. Running inside VirtualBox, VMware, Hyper-V etc. was never shown. Added human-readable guest VM labels for all supported hypervisors. - Locale sizes reported as 0 KB when
duhas partial read errors (locales.py):check=TruecausedCalledProcessErrorwhendureturned exit code 1 (common in/usr/share/localedue to restricted subdirs), discarding the partial stdout result. Removedcheck=True; stdout is now used regardless of return code. - DKMS orphan scanner only checked the running kernel (
hardware.py):/var/lib/dkms/<mod>/<ver>/<kver>/was only scanned for the currently booted kernel. Compiled modules for other installed kernels (not currently active) were never detected. Scanner now iterates all kernel-version subdirs (matched by^\d+\.\d+) under each DKMS version directory. apt_purgetriggered after failed DKMS cleanup (drivers_tab.py):on_dkms_donedid not check the result of the DKMS removal step — even ifdracut -ffailed,apt_purgewas dispatched next withrebuild_initrd: False, leaving the system with purged packages but an outdated initrd. Now aborts on DKMS step failure. Also corrected: when DKMS step succeeds and APT packages follow,rebuild_initrdis nowTrueso dracut runs after the purge.- Substring match for module names in modprobe.d files (
cache.py):if mod in contentwas a plain substring search — module'wl'matched inside'brcmwl', potentially flagging valid config files as orphaned and deleting them. Replaced withre.search(r'\b<mod>\b', content)for word-boundary matching. - Service/autostart files flagged as orphans when a co-owning package is still installed (
cache.py):vboxadd.serviceis listed under bothvirtualbox-guest-utilsandvirtualbox-guest-dkms. When onlyvirtualbox-guest-utilswas autoremoved, the service was shown as orphaned even thoughvirtualbox-guest-dkms(still installed) legitimately owns it. Added reverse-map check: a file is only flagged as orphaned when ALL packages that list it are uninstalled. root_scan.pyreferenced non-existent fields (root_scan.py): This script was superseded byroot_helper.pybut still referencedk.packages(removed fromKernelInfo) and lacked calls toget_orphan_module_refs,get_firmware_sizesand other newer scanners. Marked as deprecated —root_helper.pyis the active entry point.- CPU temperature always showed 20°C on some boards (
overview_tab.py): The overview panel read/sys/class/thermal/thermal_zone0/tempdirectly, which on many AMD/Ryzen boards maps toacpitz— a stub driver that always returns 20°C. Replaced with a prioritized hwmon reader: searches/sys/class/hwmon/*/namefork10temp(AMD Tctl) first, thencoretemp(Intel Package/Core 0), then other common drivers, falling back toacpitz/thermal_zoneas a last resort. Within each hwmon, labeled inputs (Tctl, Package, Core 0) are preferred over lowest-indexed.
1.0.2-7 — June 2026
VirtualBox guest file false positives fixed: guest service files are no longer shown as orphans when running inside a VM, and duplicate entries for 98vboxadd-xclient are eliminated.
Fixed
- VirtualBox (and other hypervisor) guest service files shown as orphans when running inside a VM:
get_orphan_module_refs()was unaware of the current hypervisor guest type. When Boro/Tyron runs inside VirtualBox with Guest Additions installed from the ISO (not via apt), files likevboxadd.service,98vboxadd-xclientandvboxclient.desktopexisted on disk without a matching dpkg package, so they were incorrectly reported as orphaned. The function now acceptsvm_guest_type(fromsystemd-detect-virt) and protects all files belonging to the current guest platform: VirtualBox (oracle), VMware (vmware), Hyper-V (microsoft), KVM/QEMU (kvm/qemu). - Duplicate entries for
98vboxadd-xclient: The file/etc/X11/Xsession.d/98vboxadd-xclientwas listed in bothvirtualbox-guest-x11andvirtualbox-guest-utilsentries ofPKG_AUTOSTART, causing it to appear twice in the orphans list. Addedseen_pathsdeduplication so each file path is reported at most once.
1.0.2-6 — June 2026
KVM/QEMU guest tools fix: SPICE packages are now correctly protected when running in a KVM or QEMU virtual machine.
Fixed
- SPICE guest tools shown as removable in KVM/QEMU VMs (virt-manager):
VM_GUEST_PACKAGEShas separate entries forkvmandqemu, both containingspice-vdagentandspice-webdavd. Whensystemd-detect-virtreturnskvm, only thekvmentry was protected — theqemuentry caused the same packages to appear as removable. Added alias logic so that detectingkvmalso protectsqemupackages and vice versa.
1.0.2-5 — June 2026
Firmware removal made permanent: the action now purges the owning APT package when all its firmware directories are removed, preventing files from being restored on the next upgrade.
Fixed
- Firmware removal not permanent — files restored on every
apt upgrade:do_remove_firmwarewas deleting files from/lib/firmware/directly without purging the owning APT packages. Any subsequentapt full-upgraderestored the deleted files. The action now runsapt purgefor the owning package when all its firmware directories are removed, covering:firmware-amd-graphics,firmware-intel-graphics,firmware-intel-sound,firmware-iwlwifi,firmware-realtek,firmware-brcm80211,firmware-atheros,firmware-mediatek,firmware-libertasandfirmware-nvidia-graphics. Generic bundles (firmware-linux-nonfree,firmware-misc-nonfree) are not purged as they contain firmware for many unrelated hardware families.
1.0.2-4 — June 2026
Bug fixes for the DKMS orphan detector — false positive on active NVIDIA driver and missed old compiled versions after upgrades.
Fixed
- DKMS orphan detector — active driver shown as orphan (NVIDIA false positive): Added
DKMS_MODULE_PACKAGESmapping covering NVIDIA (nvidia→nvidia-kernel-dkms), VirtualBox guest (vboxguest→virtualbox-guest-dkms), Broadcom (broadcom-sta,wl→broadcom-sta-dkms/bcmwl-kernel-source), ZFS, v4l2loopback, bbswitch and other known mismatches between DKMS directory name and package name. - DKMS orphan detector — old compiled versions not detected after upgrade: When a driver is upgraded, old compiled modules in
/var/lib/dkms/<module>/<old-version>/were not flagged as orphans because the new package was found installed. The detector now checks for the DKMS source directory/usr/src/<module>-<version>/— its absence confirms no owning package for that specific version. A version-string comparison against the installed package version is used as fallback.
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