Let's upgrade
This release has a major new feature: Remote upgrade
Also put emphasis on better GUI experience.
Note: These releases are not signed with an EV certificate yet.
Warning: This release breaks earlier config file compatibiliity. Next releases will keep config file compatibility unless technically required.
Features
- Added a full auto-upgrade solution:
- Aupgrade client integrated into NPBackup, that can be called manually via --auto-upgrade or automatically run every n backups
- Upgrade server which servers files and their metadata
- Upgrade server now fetches the real client IP if behind a proxy
- Upgrade server systemd service file example
- Support for --config-file parameter in upgrade_server
- Added a gui to create a scheduled task under Windows
- Added a gui to configure backup admin password (was compile time setting before)
- Made windows cloud file filter optional (enabled by default)
- Add variable substitution in configuration
- Add machine identification in configuration
- Add variable ${RANDOM}[n] to config file in order to distinguish non unique hostnames
- Make backup state and upgrade state messages more coherent
- Auto minimize console window when run in GUI mode to not distract end user
- Trigger GUI refresh after configuration changes
- Main program now loads directly after first time GUI setup
- A popup is now shown on non-readable repos
Fixes
- Fix config fails when restic password is an int
- Fix empty config files did not show a proper error message
- Fix various config file malformation will break execution
- Fix backup hangs when no restic password is given (restic asks for password in backgroud job)
- Fix error message in logs when repo is not initialized
- Various smaller fixes
- Fix empty restic results will make prometheus metrics fail
Misc
- Improved setup.py to provide launch scripts for both Linux and Windows platforms
- Added default configuration settings
- Rewrite configuration gui into a tabbed gui
- Updated restic binary to restic 0.15.1 compiled with go1.19.5
- Changed backup interval unit from seconds to minutes
- Add gui popup when config cannot be saved
- Make repo connection messages more clear
- Remove default backup admin password from config