⚡ New Features
- Converted internal sqlite3 database to MariaDB
- Compose page layout and backend has been reworked and now uses proper
docker composecalls - Info & debug log levels can now be adjusted through Settings
- Fixed rare log file rotation bug that created duplicate files
- Login system has been fully reworked to use a MariaDB table to store logins
- Added auditing for intrusion attempts, that will save it, log it and notify about it
- Added a new cron task in housekeeper to remove large created /tmp files that are caused by the scanner running out of memory (#145 & #150)
- Vulnerability scan history is now preserved across image updates
- Added a start-up notify when Dockwatchs internal version has changed
- Added an
ignoredbucket to theupdatesfield in the Overview stats API to separate ignored containers from the outdated count (#149) - Fixed CVE-2026-58455
📝 What's Changed
16bcc63: Convert from sqlite3 to mariadb by @austinwbestb8fe6a4: Start working on the compose page and logic to make the system integrate tighter with compose calls instead of always using docker calls by @austinwbest9177a43: Change how the default server url is fetched instead of only forcing localhost as that breaks the websocket connection by @austinwbest8ffcfe4: fix: disable logins if there are any docker errors and hide navbar, header and footer on login page by @nzxl1013b4a6f6: fix: use proper set/deleteFile funcs for scanner download by @nzxl10181c3ce2: Add info & debug log levels by @austinwbesta480ea1: Logging rotation adjustment to solve duplicate files being created by @austinwbest194f44d: fix: php/nginx logrotate path by @nzxl101a7db67d: fix(docker): remove phpmyadmin pkg by @nzxl1015fe6005: Fix compose page datatable error by @austinwbestdb13352: switch the logfile name back to time() instead of microtime() but keep the pid function call to help with collisions in the rotation by @austinwbestc069fcd: fix(security): strip non-utf chars from payload details by @nzxl1015a953b3: Fix js error with the compose function by @austinwbest3c44f46: chore(github): normalize issue type case to match org types by @bakerboy4487774b96: Update the login system to use the database, login file is still supported but should be changed to the database by @austinwbest4c14026: Add auditing for intrusion attempts to save it, log it, notify about it (need more testing with mattermost and telegram) by @austinwbest8444840: fix: add cron to clean up left over tmp files from grype by @nzxl101e6e8f56: feat(security): preserve scan history across image updates by adding a mapped security_scans db table by @nzxl10188c1e15: Fix issue where saving settings would confirm about disabling auth even when there where not users or no active users that where changed by @austinwbestdae848e: Fix SSE not working after moving database to mysql by @austinwbest4d0183c: fix(security): replace iconv with mb_scrub by @nzxl1019a585fe: fix(orphans): additional guard to check if image is actually still in use by @nzxl1010ab4fa3: fix(notifications): add missing fields to security test payload by @nzxl101659fae3: feat(startup): notify on dockwatch container update by @nzxl101211810a: fix: pass processList to getOrphanContainers in prune cron by @nzxl101031f8a1: fix(notifications): ensure valid UTF-8 in payloads by @nzxl101651f3a8: fix(stats): exclude ignored containers from outdated count by @nzxl1015ad8866: chore(deps): update composer lock by @nzxl101ef1c611: feat(intrusion): add IP whitelist for notifications by @nzxl101309e914: fix(login): set form container min width for mobile by @nzxl1017c19be6: feat(settings): add scanner ram recommendation to prevent oom issues by @nzxl101
👥 Contributors
@austinwbest @bakerboy448 @nzxl101
Full Changelog: v0.6.567...v0.6.611