Six reported bugs, all reproduced and verified before shipping.
Web
- Notification services: Disable/Enable did nothing (#448). The button's form was nested inside the edit form, so browsers submitted the edit instead — "Notification service updated" and no change. The toggle is its own form now, in both the settings tab and the standalone page.
- S3 settings: Test Connection tests what is in the form (#441). Previously it tested only the saved settings, so checking a change meant saving it first — and losing the working settings if it was wrong. The form's current values are laid over the stored credentials for the test only; blank key fields mean the stored keys. The API test endpoint accepts the same optional overrides.
- Job stats: the Directories row rewrote history (#452). It was read live from the plan, so editing a plan changed what every past job appeared to have backed up. The directory list is now frozen onto the job at dispatch (plugin dump directories included); older jobs still fall back to the plan's current value. The stats panel also shows the archive's deduplicated size. The byte and file counters were always the job's own numbers.
Docker
- Server restore from an S3 offsite backup broke the container's database access (#447). In Docker,
config/.envis a symlink to the data volume; the restore's credential fix-up replaced the symlink with a plain file, leaving the backup's stale database password on the volume — the next start couldn't reach the database. The restore now writes the real file, and the container also reconciles the database user with.envon every start, so a restored or hand-edited.envcan't lock it out. - Real client IPs behind a reverse proxy (#451). New
TRUSTED_PROXIESenvironment variable (comma-separated IPs or CIDRs): requests from those addresses get theirX-Forwarded-Forhonoured — in the access log and everything BBS records — while the header stays ignored from anywhere else. Off by default. See the wiki's reverse-proxy section.
macOS agent (agent 2.93.6)
- Updating borg failed with a pip error, and a manual brew upgrade wasn't seen (#453). On macOS the agent now updates borg through Homebrew, run as the user who owns brew; an already-current borg reports as up to date instead of failing, and pip is never attempted. Version detection prefers
/opt/homebrew/bin/borg, so a manually upgraded borg shows up within the hour.