Let's upgrade - prebuilts
This release has a major new feature: Remote upgrade
Also put emphasis on better GUI experience.
New: This release also provides linux pre-built executables (glibc >=2.17)
Note: These releases are not signed with an EV certificate yet. Your antivirus software might not be happy.
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
- Highly optimize tree window creation times (x3.5) by replacing dateutil.parser.parse()
- Add --gui-status parameter and more GUI related info
- Added messages when no tcl/tk exists in GUI mode
- Allow AES key rotation by keeping old key and updating config file to new key encryption
Fixes
- Cosmetic fixes
- Fixup bogus restic command line when empty tag lines were given
- Added missing default value for ignoring cloud files in the example configuration
- Made sure npbackup can run when no tkinter is installed (headless)
- 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
- Fix upgrade server missing port in config file would prevent default port usage
- Fix empty tag lines did create bogus restic commands
- Fix upgrade client was using OS arch instead of python arch preventing old builds with Python 3.7 x86 to properly update
- Fix missing locale might fail on certain linux builds
- Don't build NPBackupInstaller on non Windows platforms
- Make translation manager more resilient
- Make sure backend binary is always executable in Linux nuitka builds
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
- Switch to maintained version of python-i18n at https://github.com/Krutyi-4el/i18nice
- upgrade server now identifies npbackup version in current_version call