Stable v2.8.47
- fix(backup): never overwrite an FTP repo that couldn't be staged locally
- docs(whatsnew): pending note for S3 priority + FTP staging warning
- feat(backup): prioritize S3 + red warning that FTP is staged locally
- fix(backup): use error-code envelope for mount failure (i18n guardrail)
- docs(whatsnew): pending note for NFS/CIFS backup storage
- feat(backup): mount NFS/CIFS network storage as the backup target
- style(backup): satisfy golangci-lint on ftp_staging (gosec/staticcheck)
- docs(whatsnew): pending note for reliable FTP/SFTP backups
- feat(backup): FTP local-staging via lftp + disk-space precheck
- feat(backup): native SFTP restic backend (no rclone)
- fix(installer): refuse to reinstall over an already-provisioned or demo box
- fix(backup): allow panel/node/ssl/config scopes in the schedule CHECK constraint