Releases: garethgeorge/backrest
v1.6.0
1.6.0 (2024-10-20)
This update comes with new UI and quality of life features. Top of the list are:
- Custom commands (e.g. Run Command feature) are now tracked in the operation log & supports long running jobs. This means backrest can be used for operations e.g.
restic mount
while you browse your repo, or to runcheck
orprune
with custom flags. - Summary dashboard as the new homepage shows recent backup statuses and metrics.
- Built-in support for healthchecks.io notifications
- Linkable pages, you can now bookmark specific repo / plan views.
- Resizeable tree view allowing for focusing in on either the tree itself or details of the operation you currently have selected
- Under-the-hood: sqlite3 migration for operation storage improves performance for very large operation histories & improves maintainability.
Features
- add a summary dashboard as the "main view" when backrest opens (#518) (4b3c7e5)
- add watchdog thread to reschedule tasks when system time changes (66a5241)
- initial support for healthchecks.io notifications (#480) (f6ee51f)
- migrate oplog history from bbolt to sqlite store (#515) (0806eb9)
- support --skip-if-unchanged (afcecae)
- track long running generic commands in the oplog (#516) (28c3172)
- use react-router to enable linking to webUI pages (#522) (fff3dbd)
- use sqlite logstore (#514) (4d557a1)
Bug Fixes
v1.5.1
1.5.1 (2024-09-18)
The most significant change in this patch release is a restic version bump to restic 0.17.1 which is the latest restic patch release. See restic changelog for more info on what's changed in restic.
Bug Fixes
v1.5.0
1.5.0 (2024-09-10)
Excited to announce Backrest 1.5.0 which comes with a number of new scheduling options focused on laptop users and scriptability for plans that adapt to tricky network environments. These are
- 'on error retry' policies which allows you to define a command hook that will be retried until it succeds, this can be used to check that your network is healthy before allowing backups to execute e.g. on a laptop.
- last task relative scheduling uses the last time the task ran rather than Backrest's startup time to determine when to run a job. This allows laptop users to ensure backups are never skipped e.g. when a device is powered off.
Additionally, broad improvements to logging are included e.g. logs are now streamed live for running operations and hooks. Lastly, a number of more minor bug fixes and quality of life improvements are bundled.
Features
- add prometheus metrics (#459) (daacf28)
- compact the scheduling UI and use an enum for clock configuration (#452) (9205da1)
- implement 'on error retry' policy (#428) (038bc87)
- implement scheduling relative to last task execution (#439) (6ed1280)
- support live logrefs for in-progress operations (#456) (bfaad8b)
Bug Fixes
- apply oplog migrations correctly using new storage interface (491a6a6)
- backrest can erroneously show 'forget snapshot' button for restore entries (bfde425)
- broken refresh and sizing for mobile view in operation tree (0d01c5c)
- bugs in displaying repo / plan / activity status (cceda4f)
- double display of snapshot ID for 'Snapshots' in operation tree (80dbe91)
- hide system operations in tree view (8c1cf79)
- misc bugs in restore operation view and activity bar view (656ac9e)
- misc bugs related to new logref support (97e3f03)
- misc logging improvements (1879ddf)
- new config validations make it harder to lock yourself out of backrest (c419861)
- reformat tags row in operation list (0eb560d)
- remove migrations for fields that have been since backrest 1.0.0 (#453) (546482f)
- restic cli commands through 'run command' are cancelled when closing dialogue (bb00afa)
- simplify auth handling (6894128)
- test fixes for windows file restore (44585ed)
- UI quality of life improvements (cc173aa)
- use 'restic restore <snapshot id>:' for restore operations (af09e47)
- write debug-level logs to data dir on all platforms (a9eb786)
v1.4.0
1.4.0 (2024-08-15)
This release brings support for restic 0.17.0 and with it new backrest capabilities! The new restic version tracks the summary of the last backup command directly in the snapshot objects it creates. Backrest now includes these details in the displayed summary of each snapshot! This is of particular interest for users using Backrest to browse externally created backups.
Beyond this, a number of bug fixes and quality of life improvements are included in this release. Repos will no longer implicitly initialize if added directly to the config, they must be added through the UI which is explicit and safer. Additionally, updates to repo configuration are now blocked if they break the ability to connect to the repo.
A number of minor bugs are fixed including a rare race condition, missing debug output for some commands, and formatting issues for hooks.
Features
- accept up to 2 decimals of precision for check % and prune % policies (5374273)
- add UI support for new summary details introduced in restic 0.17.0 (4859e52)
- start tracking snapshot summary fields introduced in restic 0.17.0 (505765d)
- update to restic 0.17.0 (#416) (500f2ee)
Bug Fixes
- activitybar does not reset correctly when an in-progress operation is deleted (244fe7e)
- add condition_snapshot_success to .EventName (#410) (c45f0f3)
- backrest should only initialize repos explicitly added through WebUI (62a97a3)
- forget snapshot by ID should not require a plan (49e46b0)
- hide cron options for hours/minutes/days of week for infrequent schedules (7c091e0)
- improve debug output when trying to configure a new repo (11b3e99)
- possible race condition leading to rare panic in GetOperationEvents (f250adf)
- run list snapshots after updating repo config or adding new repo (48626b9)
- use addrepo RPC to apply validations when updating repo config (a67c29b)
v1.3.1
v1.3.0
1.3.0 (2024-07-11)
Highlights of this release are improved hook execution, the hook model has been a painpoint for me for a while and has felt like an afterthought tossed on top of Backrest's operation and task model. In this release hooks are reimplemented as tasks & share similar execution strategies. Hooks are also logically reorganized in the UI as children of the operations that trigger them.
Features
Bug Fixes
v1.2.1
1.2.1 (2024-07-02)
Backrest 1.2.1 patches a couple of UI bugs and improves UI performance with optimized rendering of the operation tree view with component caching.
Notably for Windows users, the github actions pipeline for generating windows installers is fixed in this patch meaning I'm happy to announce that this is the first release including pre-compiled Windows installers! The windows install places backrest and the backrestmon binary (Windows tray application) in C:\Program Files\backrest
by default and configures Backrest to launch on startup!.
Bug Fixes
- AddPlanModal and AddRepoModal should only be closeable explicitly (15f92fc)
- disable sorting for excludes and iexcludes (d7425b5)
- github actions release flow for windows installers (90e0656)
- make instance ID required field (7c8ded2)
- operation tree UI bugs (76ce3c1)
- restore always uses ~/Downloads path (955771e)
v1.2.0
Changelog
- 614b410 chore(main): release 1.2.0 (#327)
- 5427d75 feat: default non-docker packages to listen on localhost only
- 232cd57 feat: improve log formatting
- 9067027 feat: misc ui improvements
- 2c7d85b fix: hook bug fixes
- 7940642 fix: improve robustness of .Summary template
- 91e0fda fix: make backup and restore operations more robust to non-JSON output events
- e2ef66e fix: minor hook and naming bugs in check and backup tasks
- 793666c fix: misc ui consistency and refresh errors
- f42df20 fix: rare deadlock in GetOperationEvents (#319)
- 879e39c fix: viewing backup details in very long tree view
v1.1.0
v1.0.0
1.0.0 (2024-05-20)
Hey all, I'm excited to announce the 1.0.0 release of Backrest. This release makes large strides to normalize Backrest's config format and operation model for upcoming plans e.g. multihost management and support for restic check
. Your config and operations will be migrated automatically. After upgrading you will be prompted to set a permanent "instance ID" next time you open the Web UI. This instance ID will be included on snapshots (created-by:
tag) going forward and will identify the backrest install that created a snapshot when multiple installations share a single repo.
New features are added including:
- New scheduling options for plans e.g. max frequency hours, and max frequency days
- Ability to better schedule prune operations e.g. cron schedules are now supported
- A limited shell for running restic commands in your repo is included in the WebUI, this provides a convenient way to run arbitrary snapshot management operations or commands not supported by backrest.
- Stats view is migrated to a new (and improved) chart library.
And finally, this release continues with stability improvements addressing a number of UI and backend bugs.
⚠ BREAKING CHANGES
- redefine hostname as a required property that maps to --host (#256)
Features
- add CONDITION_SNAPSHOT_WARNING hook triggered by any warning status at the completion of a snapshot (f0ee20f)
- add download link to create a zip archive of restored files (a75a5c2)
- add force kill signal handler that dumps stacks (386f46a)
- add seek support to join iterator for better performance (802146a)
- ensure instance ID is set for all operations (65d4a1d)
- implement 'run command' button to execute arbitrary restic commands in a repo (fbad981)
- improve support for instance ID tag (be0cdd5)
- keep a rolling backup of the last 10 config versions (1a053f2)
- overhaul task interface and introduce 'flow ID' for simpler grouping of operations (#253) (7a10bdc)
- redefine hostname as a required property that maps to --host (#256) (4847010)
- support env variable substitution e.g. FOO=${MY_FOO_VAR} (8448f4c)
- unified scheduling model (#282) (531cd28)
- update snapshot management to track and filter on instance ID, migrate existing snapshots (5a996d7)
- validate plan ID and repo ID (f314c7c)
Bug Fixes
- add virtual root node to snapshot browser (6045c87)
- additional tooltips for add plan modal (fcdf07d)
- adjust task priorities (756e64a)
- center-right align settings icons for plans/repos (982e2fb)
- concurrency issues in run command handler (411a4fb)
- date formatting (b341146)
- downgrade omission of 'instance' field from an error to a warning (6ae82f7)
- error formatting for repo init (1a3ace9)
- hide successful hook executions in the backup view (65bb8ef)
- improve cmd error formatting now that logs are available for all operations (6eb704f)
- improve concurrency handling in RunCommand (07b0950)
- improve download speeds for restored files (eb07931)
- install.sh was calling systemctl on Darwin (#260) (f6d5837)
- minor bugs and tweak log rotation history to 14 days (ad9a770)
- miscellaneous bug fixes (df4be0f)
- prompt for user action to set an instance ID on upgrade (294864f)
- rebase stats panel onto a better chart library (b22028e)
- reserve IDs starting and ending with '__' for internal use (711064f)
- retention policy display may show default values for some fields (9d6c1ba)
- run stats after every prune operation (7fce593)
- schedule view bug (0764804)
- secure download URLs when downloading tar archive of exported files (a30d5ef)
- UI fixes for restore row and settings modal (e9d6cbe)
- use int64 for large values in structs for compatibility with 32bit devices (#250) (84b4b68)
- use locale to properly format time (89a49c1)