github creativeprojects/resticprofile v0.33.0

5 hours ago

🌸 Easter release 🥚

This release delivers a preview of a new Client/Server mode, Fish shell completions, Windows scheduling enhancements, and several dependency and toolchain upgrades.

Please note the documentation for the Client/Server mode is not available yet.

New Features

Client/Server Mode [PREVIEW]

  • Remote configuration delivery: resticprofile can now send a configuration profile to a remote server, enabling centralized management of backup profiles across multiple hosts.
  • A new remote section in the configuration allows specifying the server address and credentials for the client/server communication.

Fish Shell Completions

  • Fish shell support: Added shell completion script generation for the Fish shell (--fish-completion flag in the generate command).

Windows Scheduling: Start When Available

  • New schedule-start-when-available option: When a scheduled task is missed (e.g. because the machine was off), Windows Task Scheduler will now start it as soon as the machine is available again.

Bug Fixes

Scheduling Fixes

  • Battery power: Fixed a bug where Windows Task Scheduler tasks were incorrectly set to not start when running on battery power, regardless of battery state.
  • launchd log paths: When schedule-log is configured in a profile, resticprofile now omits the StandardOutPath/StandardErrorPath entries from the launchd plist, preventing the creation of empty log files.

Maintenance and Toolchain

  • Upgraded to Go 1.26
  • Upgraded golangci-lint to v2

⚠️ Breaking changes ⚠️

This release introduces two breaking changes in resticprofile exit codes during a failure:

Failure because of low memory

When resticprofile failed to start because the memory remaining is under the threshold in the configuration, the exit code is now 5 and no longer 1

Failure to find any restic binary

When resticprofile failed to start because it couldn't find any restic binary, it now fails with exit code 6 and no longer 1

New contributors

Thanks to @gr1da, @wyattjoh, @hollowhemlock and other contributors for their help in this release 🎉

Changelog

  • 4181598 Add Fish Shell Completions (#601)
  • 81a47cf Client/Server mode: sending configuration profile to a remote server (#377)
  • a64f02c Feature/589 windows start when available (#590)
  • 736da3f Fix typo in docker docs (#566)
  • e2ffdfb Fix windows scheduler flaky tests (#533)
  • ca2ff90 Upgrade golangci lint to v2 (#562)
  • 9653541 build without fuse code on unsupported platforms
  • 1906875 chore: update GitHub Actions workflows and dependencies, remove SonarCloud integration (#608)
  • 7bfce0b chore: update GitHub Actions workflows and improve test coverage (#612)
  • cc4cec9 chore: upgrade docker/setup-qemu-action to v4 in workflows
  • e03d9cd chore: upgrade goreleaser action to v7 in workflows
  • 2c47715 chore: upgrade packages
  • cc27dd2 chore: upgrade to go 1.26 (#610)
  • fd44cf6 ci: update GitHub Actions workflow for documentation build and deployment (#618)
  • 4d2a7b5 code modernisation (#611)
  • 3c2965e don't check broken links on stackoverflow, it returns too many 403 errors (anti bot detection)
  • dd15110 fix(schedule): allow task scheduling when on battery power (#609)
  • b4984af fix(schedule): omit launchd log paths when schedule-log is configured (#600)
  • 00f3f2d refactor: remove Node.js dependency and update JSON schema tests to use Go-based validation (#563)
  • 70fd44b refactor: replace magic numbers with named exit codes (#615)
  • c219cf1 refactor: simplify condition for including description in completions

Don't miss a new resticprofile release

NewReleases is sending notifications on new releases.