Skip to content

Let's upgrade - prebuilts

Compare
Choose a tag to compare
@deajan deajan released this 28 Mar 12:52
· 1169 commits to main since this release

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