Skip to content

Releases: garethgeorge/backrest

v1.0.0

20 May 02:14
73c8612
Compare
Choose a tag to compare

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)

v0.17.2

18 Apr 03:52
5d8633c
Compare
Choose a tag to compare

0.17.2 (2024-04-18)

This release is highly recommended for any users running docker containers with a rclone remote, 6408518 fixes a bug where restic leaves rclone processes without reaping their exit status. Given enough time this can exhaust PID space.

Bug Fixes

  • add tini to docker images to reap rclone processes left behind by restic (6408518)
  • armv7 support for docker releases (ec39533)
  • bug in new task queue implementation (5d6074e)
  • improve restic pkg's output handling and buffering (aacdf9b)
  • Linux ./install.sh script fails when used for updating backrest (#226) (be09303)
  • use new orchestrator queue (4a81889)

v0.17.1

12 Apr 10:20
66d63c1
Compare
Choose a tag to compare

0.17.1 (2024-04-12)

Reverts bad orchestrator changes in delisted release 0.17.0

Features

  • add a Bash script to help Linux user manage Backrest (#187) (d78bcfa)
  • allow hook exit codes to control backup execution (e.g fail, skip, etc) (c4ae5b3)
  • release backrest as a homebrew tap (16a7d0e)
  • use amd64 restic for arm64 Windows (#201) (3770966)

Bug Fixes

  • revert orchestrator changes (07cffcb)
  • address minor data race in command output handling and enable --race in coverage (3223138)
  • cannot set retention policy buckets to 0 (7e9bf15)
  • fixing overflow issue (#191) (1d9e43e)
  • default BACKREST_PORT to 127.0.0.1:9898 (localhost only) when using install.sh (eb07230)
  • handle backpressure correctly in event stream (4e2bf1f)
  • improve tooltips on AddRepoModal (e2be189)
  • limit cmd log length to 32KB per operation (92d52be)
  • misc UI and backend bug fixes (e96f403)
  • spawn goroutine to update oplog with progress during backup/restore (eab1c1b)
  • use C:\Program Files\backrest on both x64 and 32-bit (#200) (7b0d3aa)

v0.16.0

30 Mar 22:44
39aab6b
Compare
Choose a tag to compare

0.16.0 (2024-03-30)

Features

  • allow disabling authentication (8429174)
  • improve consistency of restic command execution and output capture (16e22aa)
  • improve observability by exposing restic command logs in UI (eeb8c8e)
  • make hostname configurable in settings panel (2e4e3cf)
  • sort lists in configuration (6f330ac)
  • support shoutrrr notification service (fa6407c)
  • switch alpine as the default base image for docker releases (7425c9b)
  • update macos install script to set PATH env var for use with rclone (8cf43f2)

Bug Fixes

  • add new logs to orchestrator and increase clock change polling to every 5 minutes (5b7e2b0)
  • api path relative to UI serving location to support reverse proxies with prefix stripping (ac7f24e)
  • cleanup spacing and hook titles in AddRepoModal and AddPlanModal (c32874c)
  • correctly auto-expand first 5 backups when opening plan/repo (d7ca35b)
  • include error messages in restic logs (b68f7c6)
  • include restic binary in alpine and scratch docker images (f7bd9f7)
  • incorrectly indicate AM/PM in formatted date strings (5d34e0b)
  • make notification title optional on discord notifications (e8bbe2c)
  • make tree view the default panel for repo overview (3f9c9f4)
  • tasks duplicated when config is updated during a running operation (035684c)

v0.15.1

19 Mar 17:01
96b490f
Compare
Choose a tag to compare

0.15.1 (2024-03-19)

Bug Fixes

  • forget operations failing with new retention policy format (0a059bb)

v0.15.0

19 Mar 07:44
1fc0c95
Compare
Choose a tag to compare

0.15.0 (2024-03-19)

Features

  • add 'compute stats' button to refresh stats on repo view (1f42b6a)
  • add option to disable scheduled execution of a plan (aea74c5)
  • add release artifacts for arm32 (a737371)
  • automatically remove Apples quarantine flag (#155) (3e76beb)
  • check for basic auth (#110) (#129) (871c54f)
  • improved stats visualization with graphs and cleanup operation filtering (5b362cc)
  • pass through all env variables from parent process to restic (24afd51)
  • support flag overrides for 'restic backup' in plan configuration (56f5e40)
  • use disambiguated retention policy format (5a5a229)

Bug Fixes

  • alpine linux Dockerfile and add openssh (3cb9d27)
  • backrest shows hidden operations in list view (c013f06)
  • BackupInfoCollector handling of filtered events (f1e4619)
  • bugs in env var validation and form field handling (7e909c4)
  • compression progress ratio should be float64 (1759b5d)
  • handle timezone correctly with tzdata package on alpine (0e94f30)
  • install rclone with apk for alpine image (#138) (79715a9)
  • proper display of retention policy (38ff5fe)
  • properly parse repo flags (348ec46)
  • stat operation interval for long running repos (f2477ab)
  • stats chart titles invisible on light color theme (746fd9c)

Miscellaneous Chores

v0.14.0

29 Feb 04:54
504a847
Compare
Choose a tag to compare

0.14.0 (2024-02-29)

Features

  • add 'compute stats' button to refresh stats on repo view (1f42b6a)
  • add release artifacts for arm32 (a737371)
  • check for basic auth (#110) (#129) (871c54f)
  • improved stats visualization with graphs and cleanup operation filtering (5b362cc)
  • support flag overrides for 'restic backup' in plan configuration (56f5e40)

Bug Fixes

  • alpine linux Dockerfile and add openssh (3cb9d27)
  • backrest shows hidden operations in list view (c013f06)
  • BackupInfoCollector handling of filtered events (f1e4619)
  • install rclone with apk for alpine image (#138) (79715a9)
  • properly parse repo flags (348ec46)
  • stat operation interval for long running repos (f2477ab)

v0.13.0

21 Feb 22:18
68d3e86
Compare
Choose a tag to compare

0.13.0 (2024-02-21)

Features

  • add case insensitive excludes (iexcludes) (#108) (bf6fb7e)
  • add flags to configure backrest options e.g. --config-file, --data-dir, --restic-cmd, --bind-address (41ddc8e)
  • add opt-in auto-unlock feature to remove locks on forget and prune (#107) (c1ee33f)
  • add rclone binary to docker image and arm64 support (#105) (5a49f2f)
  • bundle rclone, busybox commands, and bash in default backrest docker image (cec04f8)
  • display non-fatal errors in backup operations (e.g. unreadable files) in UI (#100) (caac35a)

Bug Fixes

  • improve error message when rclone config is missing (663b430)
  • improved sidebar status refresh interval during live operations (3d192fd)
  • live backup progress updates with partial-backup errors (97a4948)
  • migrate prune policy options to oneof (ef41d34)
  • restore operations should succeed for unassociated snapshots (448107d)
  • separate docker images for scratch and alpine linux base (#106) (40e3e04)

v0.12.2

16 Feb 10:17
c4e2632
Compare
Choose a tag to compare

0.12.2 (2024-02-16)

Bug Fixes

  • delete event button in UI is hard to see on light theme (8a05df8)
  • use 'embed' to package WebUI sources instead of go.rice (e3ba5cf)
  • release-please automation (63ddf15)

v0.12.0

15 Feb 07:48
11bd9e0
Compare
Choose a tag to compare

0.12.0 (2024-02-15)

Features

  • add button to forget individual snapshots (276b1d2)
  • add slack webhook (8fa90ab)
  • Add support for multiple sets of expected env vars per repo scheme (#90) (da0551c)
  • clear operations from history (dc7a3a5)
  • Windows WebUI uses correct path separator (f5521e7)

Bug Fixes

  • cleanup old versions of restic when upgrading (79f529f)
  • hide delete operation button if operation is in progress or pending (08c8762)
  • retention policy configuration in add plan view (dd24d90)
  • stats operations running at wrong interval (05e5ae0)