Highlights
- Update confirmation dialog — container updates now require explicit confirmation before triggering
- MQTT attribute filtering for Home Assistant — selective publishing based on container attributes
- Docker Compose post_start env validation — prevents runtime errors from missing/invalid env var references
- SHA-1 hash deprecation banner — dismissible dashboard banner prompts migration to argon2id
- Socket proxy ECONNREFUSED fix — removed
:roflag from socket mount examples, added health checks and FAQ entry
Security
- Fail-closed webhook token enforcement — missing or mismatched tokens now return 403 instead of allowing bypass
- Lockout counter persistence — brute-force lockout counter no longer resets prematurely; strategy IDs protected from enumeration
Fixes
- Container status not reconciled on cron poll — stopped containers now detected between event stream updates
DD_AUTH_ANONYMOUS_CONFIRMenv var alias now accepted- LSCR (lscr.io) cross-host auth failure with ghcr.io token endpoint
- iPad sidebar clipping — uses
dvhinstead ofvh - Mobile dashboard scroll clipping
- Stale vulnerability data retained on fetch error
- Audit service missing
limitquery parameter
Performance
- Session index cache with atomic login locks for O(1) session lookups
- Proactive LokiJS store cache eviction to reduce memory pressure
- Async secret file loading via
fs/promisesfor faster startup
Dependencies
- Trivy upgraded to 0.69.3
Other
- Argon2id entry moved to correct CHANGELOG section (Changed, not duplicated)
- Error contract description refined
- Behavior load test made advisory in CI (#123)
See full CHANGELOG for details.