Summary
- Added per-backup-job notification channel selection so each job can choose the Shoutrrr channels it may use.
- Added job-level notification enablement while keeping notification channel activation as the global on/off control per channel.
- Added default notification channel support for preselecting channels on new backup jobs without limiting which channels a job can use.
- Updated notification delivery so only selected, active channels receive backup results for a job.
- Added inline active toggles for notification channels and backup destinations, plus toggle-style controls for persistent on/off settings in the frontend.
- Updated backup job web/API flows, OpenAPI schema, docs, tests, and all supported locale files for per-job notification configuration.
- Cleaned up CI test bootstrapping so Laravel tests run without
.envfile warnings in GitHub Actions.
Upgrade Notes
- This release includes a database migration adding
notifications_enabledtobackup_jobsandis_defaulttonotification_channels. - Existing backup jobs keep notifications enabled by default.
- During migration, the first existing notification channel is marked as the default and attached to existing backup jobs.
- Notification channel
is_activeremains the global control for whether a channel can send. - Notification channel
is_defaultonly preselects that channel when creating new backup jobs; it does not restrict channel usage. - Notification channel
scoperemains in the schema for existing data but notification delivery now resolves through the channels selected on each backup job. - Inactive channels can remain selected on jobs, but they will not send until reactivated.
Verification
- GitHub Actions tests workflow passed on main for da1dc28.
- GitHub Actions documentation deploy workflow passed on main for da1dc28.
- GitHub Actions container image publish workflow passed on main for da1dc28.
- Local verification before merge included
npm run build,git diff --check, locale key parity checks, Pint via Docker, targeted feature tests via Docker, and the full PHP test suite via Docker.