Skip to content

Releases: netinvent/npbackup

The Backups that Man (will) Do

04 Nov 11:22
Compare
Choose a tag to compare
Pre-release

Features

  • --repo-name and --repo-group now accept multiple (comma separated) repos / groups
  • Add new GUI for repo statistics
    • Added raw repo statistics
  • Allow forgetting multiple snapshots at once using --forget with comma separated snapshot-ids

Fixes

  • Avoid panic when backend doesn't output anything
  • Allow critical errors in group operation since it should only fail current operation
  • Fixed a regression with missing exec time in backup process

Misc

  • Updated Grafana dashboard
  • Updated KVM backup script
  • Improved --json output to include optional errors
  • Don't emit warnings when running in --dry-run mode
  • Deprecated --check-quick, --check-full in favor of --check quick|full
  • Deprecated --repair-index, --repair-snapshots, --repair-packsin favor of --repair index|snapshots|packs
  • Deprecated --group-operation since --repo-name and --repo-group now accept multiple repos / groups

two release candidates a day !

29 Oct 20:41
Compare
Choose a tag to compare
Pre-release

Features

  • Add --check-config-file parameter
  • Refactored pre/post exec hooks so that we always get metrics regardless of their execution state

Fixes

  • Fixed a regression introduced in rc4 preventing --dry-run to work
  • Fixed a regression with missing exec time in backup process

Misc

  • Refactored repo anonymiser code for future enhancements

Tasked to near release

29 Oct 15:19
Compare
Choose a tag to compare
Pre-release

Another rc release.

Features

  • Add task creation for different repo / repo groups
  • Config window now shows config file name in window title

Fixes

  • Fixes backup task creation under Linux
  • Fixes task creation under Windows introduced with last rc7

Misc

  • Windows x64 builds updated from Python 3.11 to Python 3.12
  • Changed default upgrade log file location

Infamous JSON error fix

25 Oct 13:20
0b6e1c4
Compare
Choose a tag to compare
Pre-release

So this release candidate adresses a couple of minor issues of which the most annoying was introduced in last rc.

  • Bogus json decode messages introduced with RC6 newer json decoder. Those error messages weren't a stopper, but annoying
  • Missing on the fly output in GUI introduced with RC5
  • Fixed repo unlocking didn't work since it first checked if repo is locked
  • Fixed error message propagation to json output didn't work properly
  • Improve housekeeping error messages

Be quick or be dredd

16 Sep 13:46
Compare
Choose a tag to compare
Be quick or be dredd Pre-release
Pre-release

Yet another release candidate.
While discussing with @markft in issue #87 about GUI performance which has been adressed in latest RC5, we also discussed memory usage.
I've switched the standard json library to msgspec, and use msgspec.struct internal data representation, for a whopping 40% memory usage improvement in restore window.

Since msgspec is only available for Python 3.8+, there are now legacy builds using Python 3.7, and fast Python 3.9+ builds that leverage msgspec. These builds also highly improve GUI responsiveness on Linux, since they use a newer Tcl/tk implementation.

On linux, the legacy builds require glibc >= 2.17, and the newer builds require glibc >= 2.34.
On windows, the legacy x86 builds work on vista+, and the newer x64 builds work on anything windows 7+.

Features

  • Added exec time to prometheus metrics
  • Added cancel button for GUI execution window
  • Added heartbeat logging every hour
  • Symlinks and irregular files are now shown in restore GUI

Misc

  • Minor GUI improvements and more clear log messages
  • EV Signature is now part of compilation process

This is it (second edition)

07 Sep 19:45
Compare
Choose a tag to compare
Pre-release

Yet another release candidate !

But hey, restic 0.17.1 came out, with some interesting fixes, so here we are.
Also implemented two new commands (that's fairly easy now and shouldn't break anything).
Metrics and auto upgrade have been reworked as part of what we missed before going final.
Also, the Grafana Dashboard has been updated for new metrics.

Features

  • Improved restore GUI UX
  • Implemented recover command
  • Implemented repair packs command
  • Implemented config file identification via CRC32
  • Metrics
    • Metrics are now sent for every action, including upgrade
    • Merged oper and state metrics into one single metric
  • Updated Grafana Dashboard for new metrics

Fixes

  • Fix upgrade client, since we don't ship single binaries anymore
  • Don't report auto upgrades as errors when self invoked (prevents errors when upgrade server is not reachable, prefer prometheus metrics for reporting)
  • Hide repository uri in logs
  • Fixed snapshot date parsing in GUI which is not platform agnostic
  • Fixed exclude file search expansion implemented in last rc

Misc

  • Added VSS mountpoints windows_excludes
  • Reworded some logs

Interim build

06 Sep 15:31
Compare
Choose a tag to compare
Interim build Pre-release
Pre-release

This is a test build to validate various enhancements and restic 0.17.1 support

The GUI, the bad and the ugly

04 Sep 11:03
Compare
Choose a tag to compare
Pre-release

So this is hopefully the last release candidate before RTM.

Usually, at this stage, we wouldn't add new features, but restic 0.17 made a killer feature that was quite easy to implement.
The feature allows to run commands and backup their stdout, while getting the error codes from said command (I look at you mysqldump !)
It has been implemented as backup_opts.source_type: stdin_from_command and backup_opts.stdin_from_command: your command parameters in the config file.

Another minor feature is --housekeeping CLI parameter which is just a quick shorthand for existing code.
Finally, and since we have housekeeping, a new task creation entry was necessary, in order to fully appreciate it ;)

As usual for the last RCs, CLI didn't really need a lot of love (it's used for more than 100 workloads), but GUI did.
Getting the GUI right si really a painfull experience, but the payout is enough when it comes to quickly write config files that later can be used on headless servers.

Anyway, here's the full list of changes since RC3

  • Features
    • Implement --stdin-from-command restic function
    • Implement --housekeeping shorthand for --check, --forget & --prune
    • Improve task creation
      • Implement housekeeping task creation
      • Fix double task creation on linux
  • GUI fixes
    • Fix slow GUI when lots of snapshots exists, thanks to @markft
    • Fix loading alternative config file, also try to load default config files with absolute paths
    • Fix prometheus labels not saving
    • Fix reloading config UX
    • Improve group inheritance by removing identical group/repo values from repo config
    • Allow the GUI to act as CLI with --run-as-cli argument
    • Improve UX by allowing non existent repos to not drop errors on first load
  • Default logs to current dir for Windows
  • Reintroduce --debug parameter on top of _DEBUG=true
  • Check source type before launching backup

Interim build

26 Aug 08:41
Compare
Choose a tag to compare
Interim build Pre-release
Pre-release

This is a quick and dirty interim build for internal testing purposes.

The release I wanted

05 Aug 15:26
Compare
Choose a tag to compare
The release I wanted Pre-release
Pre-release

This third release candidate of NPBackup v3 is mostly done because we shifted from PySimpleGUI to FreeSimpleGUI framework.

Other minor issues resolved:

  • Added special __all__ argument to --repo-name for group operations
  • Fixed group operations when bogus repo names / group names were given
  • Better error messages when missing subject for restic commands