New Features
- Remote SSH storage monitoring (#49) — The Storage Locations page now shows disk usage for remote SSH repositories (rsync.net, Hetzner Storage Box, etc.) with progress bars. Polled every 15 minutes via
df -kover SSH. Providers that don't support disk queries (BorgBase) show "Quota unavailable." - Low storage notifications for remote hosts — Storage alert threshold now also monitors remote SSH storage. You'll receive notifications when remote hosts are running low on space.
- Per-agent server host and SSH port overrides (#54) — Agents connecting from outside the local network can use a different hostname and SSH port. Set in Edit Client modal.
Bug Fixes
- Fix bbs-update crashing on some PHP installations —
php_ini_scanned_dir()doesn't exist on all PHP builds, which caused the update to abort mid-way (steps 5-9 never ran). Users who updated to v2.18.3-v2.18.5 should re-run the update to complete the remaining steps. - Fix race condition: stall detection abandoning jobs being delivered (#55)
- Fix daily report showing 0 completed/failed backups — Now counts backups since the last report instead of a timezone-dependent "today" window.
- Fix plugin test timeout (#50) — Test was using a hardcoded 30s timeout instead of the configured value (default 300s).
- Fix repo card dropdown menu clipped by parent container
- Fix PHP warnings on malformed request URIs (#53)
- Fix schedule showing Overdue while backup is running
Improvements
- Increase PHP max_execution_time to 300s — Default 30s was too short for large catalog imports and API operations under load. Set for both Docker and bare metal installs.
- Increase agent API request timeout to 60s — Was 30s, could silently fail under server load.
- Reduce ClickHouse idle CPU usage — Internal async metrics polling reduced from 1s to 60s. Note: Bare metal/VM installs need to restart ClickHouse (
sudo systemctl restart clickhouse-server) after updating.