Skip to content
- Moved Save & Apply proposal validation and persistence into a GTK-free workflow, with click-time snapshots and explicit durable outcomes for partial failures.
- Consolidated standalone and daemon scan-result interpretation while retaining backend-specific counting and error semantics.
- Strengthened property-based tests for log redaction, Unicode preservation, filesystem and symlink validation, scheduled-command quoting, and threat-classification precedence.
- Rendered website Mermaid diagrams into accessible light and dark SVGs at build time, removing the Mermaid JavaScript payload from documentation pages.
- Replaced cumulative threat snapshots in standalone and daemon scan progress with ordered detection deltas, avoiding quadratic copying while preserving complete final results.
- Batched live threat rows into bounded GTK main-loop turns, retained findings while the scan view is hidden, and throttled only scalar progress updates.
- Cached the selected gettext catalog so building scan-result rows no longer repeats translation-file discovery; language changes still take effect after restarting.
- Restored the complete source-module tree after GTK-mocked tests so later scanner tests patch the correct module objects.
- Prevented delayed Save & Apply completion from replacing a newly selected configuration file with the previous save target.
- Preserved literal backslashes before percent signs in cron scan targets and command arguments instead of letting cron interpret them as an input separator.
- Registered the website’s English UI dictionary and added a custom 404 page with documentation and homepage recovery links without duplicate routes.
- Corrected wheel-install isolation checks to compare resolved path ancestry, avoiding false failures when the checkout is located at
/src.
- Added a Start in System Tray preference for login/autostart workflows while keeping explicit file and folder scans visible. (#221)
- Added Hungarian localization.
- Added an in-app Flatpak flow for installing the matching
clamui-privileged-helper on supported Debian-family hosts; it validates the release asset before requesting administrator authorization.
- Added regression coverage for privileged configuration read failures, mixed direct/elevated saves, staging cleanup, and direct-write filesystem rejection.
- Moved project documentation into the Starlight site at
/docs/, retaining root release notes as canonical sources.
- Updated Flatpak to GNOME 51/Python 3.14 and replaced the tray’s CairoSVG dependency with GdkPixbuf/librsvg rasterization.
- Simplified scanner output handling, daemon target counting, and ClamAV configuration parsing while preserving cancellation, exclusion scope, and explicit read-authorization behavior.
- Simplified preference configuration saving/loading, tray shutdown, scan-output streaming, and symlink safety checks while preserving their existing behavior.
- Clarified privileged-helper release asset validation without changing accepted metadata or security checks.
- Separated modern and legacy About dialog setup and removed redundant GTK setter checks while retaining GTK 4.6/libadwaita 1.1 compatibility and presentation behavior.
- Flattened daemon scan result parsing while preserving detection priority, skipped-file warnings, and error-message precedence.
- Simplified daemon log discovery while preserving common-location priority, configured log fallback, and Flatpak host access.
- Separated file-count exclusion preparation from traversal while preserving cancellation, partial counts, and symlink handling.
- Separated daemon scan-input preparation and temporary file-list ownership from execution while preserving exclusions, progress, cancellation, and cleanup.
- Consolidated scanner preference boolean collection without changing directive order, size units, or missing-widget handling.
- Extracted stateless clamscan result parsing from the scanner lifecycle while preserving summary precedence, threat detection, and warning classification.
- Bundled GLib’s desktop-launch helper in the AppImage so audit documentation links open on KDE and other non-Ubuntu host layouts. (#194)
- Prevented large standalone full scans from being reported as failed when capped verbose output hid the final summary and only nonfatal ClamAV warnings remained. (#217)
- Corrected Fedora
freshclam installation guidance and made the availability probe independent of Fedora’s root-only default configuration.
- Preserved raw POSIX filename bytes for
clamscan, daemon scans, and quarantine restore; reject newline-containing daemon file-list targets.
- Used the installed scheduled-scan module path when generating Debian jobs.
- Used the selected custom
freshclam.conf for manual database updates.
- Corrected tray-availability, VirusTotal setup, scan selection, and result-scroller behavior.
- Kept Configuration File paths readable by using compact configuration-file actions in Scanner and Database preferences.
- Rendered Mermaid diagrams in the documentation with light/dark theme support and a mobile-friendly tray architecture layout.
- Fixed scanner-test package isolation so later Flatpak configuration tests patch the restored modules rather than stale package references.
- Hardened trusted helper discovery in system
sbin directories and atomic configuration writes, with administrator reads and 0600 custom configs.
- Added distro-aware security-audit install advice for Debian, Fedora, and Arch families; unknown distributions show no guessed command. (#184)
- Added French and Simplified Chinese translation updates and additional translatable UI strings.
- Restored the GTK 4.6 / libadwaita 1.1 compatibility baseline.
- Made preference saves safer, retained standalone Flatpak scanner settings without a host helper, shipped the version-matched Flatpak host-helper companion package, and added Python 3.10 / 3.14 compatibility. (#170)
- Refreshed Python, Flatpak, CI, and runtime dependencies, including cryptography 50.0.0.
- Improved scan result handling for concurrent multi-target scans, partial output, nonfatal warnings, and all-failed scans.
- Staged forced database updates before activation.
- Added quarantine restore/delete confirmations, Escape-to-close dialogs, and short-write detection for quarantine copies.
- Hardened privileged configuration writes with canonical helper and destination validation that fails closed.
- Built scheduled scan commands from tokens and sanitized AppImage environments for every host helper.
- Added
clamui install-privileged-helper for installing the privileged ClamAV configuration helper and polkit policy. (#143)
- Added a real-GTK construction smoke test covering all views, preference pages, and dialogs.
- Flatpak ClamAV configuration preferences now persist through the host helper. (#136)
- CLI and scheduled scans now honor saved backend/exclusion settings consistently.
- Python, Flatpak, website, and translation assets were refreshed.
- Fixed one-shot CLI scans so every CLI-provided path is scanned.
- Fixed benign ClamAV size-limit warnings causing scan failures.
- Fixed CVD/CLD database age parsing when binary compressed payload bytes follow the text header.
- Fixed VirusTotal retry, large-upload, and engine-result counting behavior.
- Fixed VirusTotal UI result flow, stuck spinners, tray resynchronization, and deliberate tray shutdown behavior.
- Fixed AppImage host-tool execution by stripping bundled Python/GI environment variables. (#155)
- Fixed Debian package dependency compatibility with Debian 13 by accepting
pkexec | policykit-1.
- Hardened terminal/log output sanitization, scheduler quoting, profile import handling, ClamAV config parsing, quarantine cleanup, exclusion matching, and audit verdict handling.