Releases: netinvent/npbackup
2 Minutes to 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)
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
This is a quick interim build with restic 0.17.3 to address the VSS issues that came with 0.17.2.
The Backups that Man (will) Do
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-packs
in 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 !
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
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
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
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)
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
This is a test build to validate various enhancements and restic 0.17.1 support