Skip to content

Releases: netinvent/npbackup

The backup solution I wanted

03 Jun 15:11
Compare
Choose a tag to compare

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

Almost there

03 May 21:48
Compare
Choose a tag to compare

This is an interim release after we made an internal RC11 release which was supposed to become our first RTM release of the 2.2.x series.

On top of RC11, this release adds password_command parameter which works like RESTIC_PASSWORD_COMMAND environment variable, while encrypting the command in the config file.

From now on, all RC and RTM releases will have Microsoft Authenticode signed executables.

Let's upgrade - more prebuilts

30 Mar 15:19
Compare
Choose a tag to compare

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 for AMD64 (glibc >=2.17), arm and arm64 (glibb >= 2.24).

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
  • Added --no-gui compile time parameter
  • Added arm/arm64 support

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

Let's upgrade - prebuilts

28 Mar 12:52
Compare
Choose a tag to compare

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

Let's upgrade

21 Mar 23:39
Compare
Choose a tag to compare

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
  • Highly optimize tree window creation times (x3.5) by replacing dateutil.parser.parse()
  • Add --gui-status parameter and more GUI related info

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
  • Add an inline copy of maintained python-i18n to deal with portability issues (see requirements.txt for more)

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/python-i18n
  • upgrade server now identifies npbackup version in current_version call

Let's upgrade

20 Mar 13:25
Compare
Choose a tag to compare

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

  • 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

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/python-i18n
  • upgrade server now identifies npbackup version in current_version call

Let's upgrade

07 Mar 14:34
Compare
Choose a tag to compare

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
  • 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

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/python-i18n
  • upgrade server now identifies npbackup version in current_version call

Let's upgrade

08 Feb 14:17
Compare
Choose a tag to compare

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

Let's upgrade

07 Feb 08:30
Compare
Choose a tag to compare

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

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

Let's upgrade

03 Feb 07:10
Compare
Choose a tag to compare
Let's upgrade Pre-release
Pre-release

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.

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
  • 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

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

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