github netinvent/npbackup v2.2.0
The backup solution I wanted

latest releases: v3.0.3, v3.0.2, v3.0.1...
2 years ago

This is our fist major public release !

In this release we have a new remote upgrade feature, and improved the GUI experience.
We also now ship pre-built executables for

  • Linux amd64 (glibc >= 2.17)
  • Linux arm and arm64 (glibc >= 2.24).
  • Windows x64 (Windows >= 10)
  • Windows x86 (Windows >= 7)

Windows pre-built executables are signed with an EV certificate.

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
  • Added --no-gui compile time parameter
  • Added arm/arm64 support
  • Added source types (--files-from, --files-from-verbatim and --files-from-raw equivalent)
  • Add encrypted environment variables support
  • Add SSL certificate verification bypass for prometheus metrics
  • Add grafana dashboard to examples directory
  • Implemented new password command functionality
  • Added windows executable signature script

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
  • Make sure all multiline entries in config files are processed as lists
  • Add exclude-patterns to GUI (was present in CLI version already)
  • Make sure we always quote exclusions patterns or files
  • SECURITY Show unencrypted is only allowed on compiled builds where default AES KEY is not used
  • This prevents a password injection from another conf file
  • SECURITY Prevent raw password update in config file
  • Fix empty password makes GUI fail
  • Fix empty password makes CLI fail
  • Fix empty data is shown as encrypted
  • Enforce repository and passwords to be strings, also remove trailing and ending spaces
  • Add warning when source and destination are the same path
  • Add default 1 minute timeout for init operations
  • Fix auto_upgrade_group wasn't transmitted to server
  • Fix potential deadlock in evaluate variables
  • Fix additionnal parameters should only apply for backup operations
  • Fix unnecessary exclude statements when no exclusions are given

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
  • Updated internal restic binary to 0.15.2 compiled with go1.20.3
  • SECURITY Don't log password command, even in debug mode
  • Compiled with Nuitka commercial 1.5.8
  • Make sure new binary is set as executable in linux upgrade

Don't miss a new npbackup release

NewReleases is sending notifications on new releases.