Skip to content

Releases: netinvent/npbackup

Stairway to backup - another stairway maintenance

05 Jul 21:39
Compare
Choose a tag to compare

Maintenance release

Third maintenance release for v3.0.0 series.
It mainly adds emailing support, better prometheus metrics, and a smoother GUI experience.

Disruptive changes

  • An automatic config file migration tool has been added which will migrate config files from 3.0.0 to 3.0.3
  • The configuration file format has changed for retention policies
    • 'tags' has become 'keep_tags' which is more meaningful
    • 'apply_tags' has been added to filter retention policies only on specific snapshots containing defined tags
  • Existing files will be in-place upgraded

Features

  • New finer grained concurrency control
  • New optional random delay before backup operations
  • All prometheus metrics now have repo_name label, thanks to @GuitarBilly
  • All prometheus metrics now include os, arch and audience labels
  • Metrics are now send for non executed backups because of concurrency checks, #161, thanks to @GuitarBilly
  • Implement operations notifications per email, #139
  • CLI: Add --list-selected-repos command
  • Retention policies can now be filtered by tags
  • GUI: Restore operation now has throughput statistics and a better overall presentation

Fixes

  • GUI: Fix possible result mismatch with concurrency checks
  • GUI: Hide background window while restoration is running
  • Fix npbackup_exec_state inherited previous run states in the same session (ie GUI or group operations)

Misc

  • GUI: Finally a worthy fix for hiding the console window in Windows 11 (they changed conhost.exe to Windows Terminal)
  • GUI: Workaround to make the config window close faster by threading it into background
  • Update restic metrics tests
  • Updated Nuitka compiler to 2.7.8
  • KVM Qemu script now has VM exclusion lists
  • KVM Qemu script does not try to create snapshots for VMs that aren't running
  • KVM Qemu can now add specific tags to VMs defined in a list
  • KVM Qemu now issues thaw command after a quiescing snapshot in order to workaround some FreeBSD corner cases

Stairway to backup - stairway maintenance 2

10 Jun 12:02
Compare
Choose a tag to compare

Maintenance release

Second maintenance release for v3.0.0 series.

Enhancements

  • Make NTP offset configurable at compile time
  • Implement new restic --exclude-cloud-files, replacing previous implementation

Fixes

  • Fix rclone debug output preventing proper execution, #132, thanks @GuitarBilly
  • Don't throw error on missing metrics size
  • GUI: Fix empty strings in numeric conversions, #156, thanks @GuitarBilly
  • GUI: Fix missing inheritance on prune settings
  • GUI: Fix showing irregular / missing files in GUI did not show the right icons, #157, thanks @GuitarBilly
  • GUI: Don't lock viewer, #155, thanks @jmigual for reporting
  • Fix potential AES key read problem
  • Don't require lock for snapshot viewing, #160, thanks @GuitarBilly

Misc

  • Bump restic version to 0.18.0
  • Make alternative legacy builds for linux and windows
  • Reduce debug output
  • Don't run snapshot command on every run, fixes #159, thanks @GuitarBilly
  • Various log message improvements
  • Set default backup interval to 23h55, #162, thanks @GuitarBilly

Stairway to backup - stairway maintenance

21 Mar 15:32
Compare
Choose a tag to compare

Maintenance release

So this is shall become the first maintenance release for v3.0.0 series.
At this point we shouldn't add any major features, but still add minor enhancements.
The major enhancement here comes from random housekeeping / auto-upgrade run chances, which will allow many workstation instances to spread these actions over a larger time range, in order to avoid network congestion.

Enhancements

  • Enable prune tuning parameters
  • Add housekeeping after backup run chance parameter
  • Add auto upgrade run chance parameter
  • Configuration file checks are now subversion aware
  • Allow partial configuration files (missing default repo / group)

Fixes

  • Missing specified backup paths won't trigger errors (backend behavior), see #151
  • Updated Grafana Dashboard: fixed variable gathering from wrong metric name)
  • CLI: Fix --prune-max (deprecated)
  • CLI: Add --prune max (replaces --prune-max)
  • CLI: Fix --policy not allowed in group operations
  • GUI: Fix CTRL+C triggers and error, #125
  • GUI: Fix showing inheritance icon on entries wiith units, #148
  • GUI: Permission set button should be red if no permission set
  • GUI: Default units should be IEC bytes, like restic backend, fixes #143
  • Fix for textcollector & push gateway data being overwritten in group operations mode, #150
  • Dissociate minimum backup size error from absent backup error, #141

Misc

  • GUI general UX and cosmetic changes

Thanks to @GuitarBilly for his help reporting bugs ;)

Stairway to backup - stairway maintenance

07 Mar 12:58
Compare
Choose a tag to compare

Maintenance release

So this is shall become the first maintenance release for v3.0.0 series.
At this point we shouldn't add any major features, but still add minor enhancements.
The major enhancement here comes from random housekeeping / auto-upgrade run chances, which will allow many workstation instances to spread these actions over a larger time range, in order to avoid network congestion.

Enhancements

  • Enable prune tuning parameters
  • Add housekeeping after backup run chance parameter
  • Add auto upgrade run chance parameter (deprecates interval runs)

Fixes

  • Missing specified backup paths won't trigger errors (backend behavior), see #151
  • Updated Grafana Dashboard: fixed variable gathering from wrong metric name)
  • CLI: Fix --prune-max
  • CLI: Fix --policy not allowed in group operations
  • GUI: Fix CTRL+C triggers and error, #125
  • GUI: Fix showing inheritance icon on entries wiith units, #148
  • Fix for textcollector & push gateway data being overwritten in group operations mode, #150
  • Dissociate minimum backup size error from absent backup error, #141

Misc

  • GUI general UX and cosmetic changes

Stairway to Backup

24 Feb 21:14
Compare
Choose a tag to compare

Official v3.0.0 release

It's been a long wait for this release. Almost all parts of NPBackup have been rewritten or have been updated.
A very long release candidate period has been observed in order to iron out all possible bugs and nipticks.
So here we are, proud to build some stairways to h... euhh easier but reliable backups.

This release is way too big to enumerate all the new functions. But here's a list of the major features:

  • Multi-repository support
  • Easier repo setups which can inherit from group settings
  • New viewer application for viewing/restoring data from any restic repositories
  • CLI and GUI are now two separate applications (still GUI can act as CLI)
  • CLI can now fully operate in API mode via --json parameter
  • New operation center which allows to run operations on multiple repositories and / or groups
  • New housekeeping operation, which checks, implements retention policy and prunes backups
  • Prometheus monitoring now supports all operations
  • Upgrade server can now filter on client / group / platforms
  • Memory and speed optimization
  • Automatic tests

For the full changelog, please see CHANGELOG.md file.

Special thanks to @GuitarBilly for his help in finding bugs / asking questions / general help.

6-strings

18 Feb 08:48
Compare
Choose a tag to compare
6-strings Pre-release
Pre-release

Almost half of the bug fixes for this release could happen thanks to @GuitarBilly who made alot of nice feedback. Thank you.

Features

  • NPBackup now allows not having default repo and default_group group
  • Allow group operations to be cancelled

Fixes

  • GUI
    • Make sure we don't allow dots in repo and group names
    • Fix update of repo type on repo change
    • Fix double full permission introduced in rc14, thanks to @GuitarBilly
  • Preserve pre/post script execution order, thanks to @GuitarBilly
  • Fix writing metrics twice in group operation mode
  • Fix repo name not populated in prometheus metrics when metrics destination not set
  • Fix forget operation bug introduced in earlier rc
  • Fix --repo-name trying to show corresponding groups
  • Fix scheduled task creation bug introduced in rc13, thanks to @GuitarBilly

Misc

  • viewer now creates it's own log file, thanks to @GuitarBilly
  • GUI: cosmetic hack for linux

Made with love... and python

14 Feb 17:57
Compare
Choose a tag to compare
Pre-release

Today's valentine day special... A new NPBackup v3 release candidate.
This one has been long in the making.

I'd like to thank @GuitarBilly for his really good issues / bug tracking, which highly improves the quality of this RC release.

Features

  • Upgrade server/client now can filter and provide different binaries / upgrade scripts for specific machines / groups
  • Upgrade rollback has been improved on Windows
  • Upgrade client can identify if the initial scheduled program launch needs to run
  • Upgrade server now has a basic multi-user and permission system
  • Upgrade client now tests if new binaries can properly read current config file
  • GUI:
    • Minor UX improvements
    • GUI can now remove a manager password
    • Improve upgrade process messages
    • Add new config file santizer check
  • New restore_only permission

Fixes

  • Upgrade client now retains config file if it was in the same directory as the binaries
  • Rollback behavior is more resilient under Windows
  • GUI:
    • Don't polluate logs with snapshot content
    • GUI now accepts multiple --run-as-cli arguments when it's relaunched with prior arguments
    • Adding multiple files at once to backup paths now expand to list
    • Don't try to kill current process when exiting, only backup backend
    • Fix deletion of just created objects
    • Fix permissions & manager password reset when saving configuration twice
  • Fix files-from source not recognized
  • Windows x86 legacy builds now include the adequate older backend binary

Misc

  • Unlocking actions is now permitted for all permissions
  • Reword some metrics in Grafana dashboard
  • Added variable and user expansion for additional_parameters and additional_backup_only_parameters
  • Added a new environment variable with path to current backend binary for script usage
  • Newer windows builds now run with Python 3.13
  • Switched to Nuitka commercial v2.6.4 compiler

2 Minutes to Release

10 Jan 12:23
Compare
Choose a tag to compare
2 Minutes to Release Pre-release
Pre-release

Features

  • GUI: Better UX for cloud provider setup

Fixes

  • GUI: Fix show snapshot content for legacy builds using Python 3.9 or 3.10 (Using non existing StrEnum)

Misc

  • Include buildtype in version string and prometheus metrics
  • CLI: Improve --show-config help
  • By default, follow mountpoints in backup (prefer backup too much than not enough philosophy)
  • Remove /mnt from default linux exclusions (again, same philosophy)
  • Linux now has legacy (Python 3.9) and recent (Python 3.12) builds, which run depending on your glibc version

Caught Somewhere in Time(stamp)

11 Dec 13:06
Compare
Choose a tag to compare
Pre-release

Features

  • New restic binaries are now downloaded on the fly when compiling
  • Added windows/linux functional tests for all operations

Fixes

  • GUI: Avoid complaining about missing snapshots*
  • CLI: Fix upgrade process for linux, also allow .tar.gz archives
  • CLI: Improve upgrade process logs
  • CLI: Make upgrader resume initial command after succesfull upgrade
  • CLI: Fix --dry-run wasn't honored for commands other than backup
  • CLI: Fix --json only output when logfile isn't writable (we printed a warning to stdout, which should only be logged)
  • CLI: Make sure --dump only outputs raw data without logs

Misc

  • GUI: Added default values to task creation
  • CLI: Allow combining --json and --debug
  • Increased default timeouts for init operation and tests
  • Don't set process priority when getting backend version (operation isn't time consuming enough)

Interim Build

17 Nov 22:24
Compare
Choose a tag to compare
Interim Build Pre-release
Pre-release

This is a quick interim build with restic 0.17.3 to address the VSS issues that came with 0.17.2.