Skip to content

Commit 9653541

Browse files
build without fuse code on unsupported platforms
1 parent 3c2965e commit 9653541

11 files changed

Lines changed: 84 additions & 23 deletions

File tree

README.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -27,14 +27,14 @@ With resticprofile:
2727
* Get backup statistics in your status file
2828
* Automatically clear up stale locks
2929
* Export a **prometheus** file after a backup, or send the report to a push gateway automatically
30-
* **[new for v0.17.0]** Run shell commands in the background when non fatal errors are detected from restic
31-
* **[new for v0.18.0]** Send messages to HTTP hooks before, after a successful or failed job (backup, forget, check, prune, copy)
32-
* **[new for v0.18.0]** Automatically initialize the secondary repository using `copy-chunker-params` flag
33-
* **[new for v0.18.0]** Send resticprofile logs to a syslog server
34-
* **[new for v0.19.0]** Preventing your system from idle sleeping
35-
* **[new for v0.21.0]** See the help from both restic and resticprofile via the `help` command or `-h` flag
36-
* **[new for v0.24.0]** Don't schedule a job when the system is running on battery
37-
* **[new for v0.29.0]** Scheduling a group of profiles is finally available (configuration `v2` only)
30+
* Run shell commands in the background when non fatal errors are detected from restic
31+
* Send messages to HTTP hooks before, after a successful or failed job (backup, forget, check, prune, copy)
32+
* Automatically initialize the secondary repository using `copy-chunker-params` flag
33+
* Send resticprofile logs to a syslog server
34+
* Preventing your system from idle sleeping
35+
* See the help from both restic and resticprofile via the `help` command or `-h` flag
36+
* Don't schedule a job when the system is running on battery
37+
* **[new for v0.29.0]** Scheduling a group of profiles (configuration `v2` only)
3838

3939
The configuration file accepts various formats:
4040
* [TOML](https://github.com/toml-lang/toml) : configuration file with extension _.toml_ and _.conf_ to keep compatibility with versions before 0.6.0

docs/content/changelog.md

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,65 @@ title: Release Notes
55
weight: 8
66
---
77

8+
# v0.33.0 (2026-04-02)
9+
10+
## 🌸 Easter release 🥚
11+
12+
This release delivers a preview of a new Client/Server mode, Fish shell completions, Windows scheduling enhancements, and several dependency and toolchain upgrades.
13+
14+
*Please note the documentation for the Client/Server mode is not available yet.*
15+
16+
### New Features
17+
18+
#### Client/Server Mode [PREVIEW]
19+
- **Remote configuration delivery**: resticprofile can now send a configuration profile to a remote server, enabling centralized management of backup profiles across multiple hosts.
20+
- A new `remote` section in the configuration allows specifying the server address and credentials for the client/server communication.
21+
22+
#### Fish Shell Completions
23+
- **Fish shell support**: Added shell completion script generation for the Fish shell (`--fish-completion` flag in the `generate` command).
24+
25+
#### Windows Scheduling: Start When Available
26+
- **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.
27+
28+
### Bug Fixes
29+
30+
#### Scheduling Fixes
31+
- **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.
32+
- **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.
33+
34+
### Maintenance and Toolchain
35+
36+
- Upgraded to **Go 1.26**
37+
- Upgraded **golangci-lint** to v2
38+
39+
### ⚠️ Breaking changes ⚠️
40+
41+
This release introduces two breaking changes in resticprofile **exit codes during a failure**:
42+
43+
#### Failure because of low memory
44+
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**
45+
46+
#### Failure to find any restic binary
47+
When resticprofile failed to start because it couldn't find any `restic` binary, it now fails with exit code **6** and no longer **1**
48+
49+
## New contributors
50+
Thanks to @Ryan (holler+git@hollowhemlock.com) and other contributors for their help in this release 🎉
51+
52+
## Changelog
53+
* [Add Fish Shell Completions (#601)](https://github.com/creativeprojects/resticprofile/commit/41815987353b7d1ffa86aa0637eb992000b1d451)
54+
* [Client/Server mode: sending configuration profile to a remote server (#377)](https://github.com/creativeprojects/resticprofile/commit/81a47cfcb722036d917e382ef08fd73d408fdc7e)
55+
* [Feature/589 windows start when available (#590)](https://github.com/creativeprojects/resticprofile/commit/a64f02c9a41e9d2953c5cce2c8b9affbfe89c43d)
56+
* [fix(schedule): allow task scheduling when on battery power (#609)](https://github.com/creativeprojects/resticprofile/commit/dd15110e33f32ac9a74e3169fe1c1f12d5a6f7e1)
57+
* [fix(schedule): omit launchd log paths when schedule-log is configured (#600)](https://github.com/creativeprojects/resticprofile/commit/b4984afceeb041bd5fa8ace9b0c73892376a5054)
58+
* [refactor: replace magic numbers with named exit codes (#615)](https://github.com/creativeprojects/resticprofile/commit/70fd44b8e9d4325a1bc38555114c213fd9a56b7b)
59+
* [chore: upgrade to go 1.26 (#610)](https://github.com/creativeprojects/resticprofile/commit/cc27dd21e0aa93c45202e029d910b6a3b482b47c)
60+
* [Upgrade golangci lint to v2 (#562)](https://github.com/creativeprojects/resticprofile/commit/ca2ff90aa4eb179d30b7b10f813847d731573cfa)
61+
* [upgrade mockery to v3 (#561)](https://github.com/creativeprojects/resticprofile/commit/b2e0ea9a9f1f7b77d8a2835e60504a26502d7e31)
62+
* [refactor: remove Node.js dependency and update JSON schema tests to use Go-based validation (#563)](https://github.com/creativeprojects/resticprofile/commit/00f3f2d379daa5e6a4b288e32b0530bcf9c92892)
63+
* [Fix windows scheduler flaky tests (#533)](https://github.com/creativeprojects/resticprofile/commit/e2ffdfb09916a217ab222db04fee20fc2089d554)
64+
65+
66+
867
# v0.32.0 (2025-09-26)
968

1069
## 🍁 Autumn release 🍂

fuse/fs_file.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
//go:build !windows
1+
//go:build !windows && !netbsd && !openbsd && !solaris
22

33
package fuse
44

fuse/memfs.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
//go:build !windows
1+
//go:build !windows && !netbsd && !openbsd && !solaris
22

33
// Package fuse implements a simple in-memory read-only filesystem.
44
//

fuse/mount.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
//go:build !windows
1+
//go:build !windows && !netbsd && !openbsd && !solaris
22

33
package fuse
44

fuse/mount_unsupported.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
//go:build windows || netbsd || openbsd || solaris
2+
3+
package fuse
4+
5+
import "errors"
6+
7+
func MountFS(_ string, _ []File) (func(), error) {
8+
return nil, errors.New("not supported on this platform")
9+
}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
//go:build windows
1+
//go:build windows || netbsd || openbsd || solaris
22

33
package fuse
44

fuse/mount_windows.go

Lines changed: 0 additions & 7 deletions
This file was deleted.

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ go 1.26.1
55
require (
66
github.com/Masterminds/semver/v3 v3.4.0
77
github.com/adrg/xdg v0.5.3
8-
github.com/coreos/go-systemd/v22 v22.7.0
8+
github.com/coreos/go-systemd/v22 v22.6.0
99
github.com/creativeprojects/clog v0.14.0
1010
github.com/creativeprojects/go-selfupdate v1.5.2
1111
github.com/distatus/battery v0.11.0

go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
1010
github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw=
1111
github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs=
1212
github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
13-
github.com/coreos/go-systemd/v22 v22.7.0 h1:LAEzFkke61DFROc7zNLX/WA2i5J8gYqe0rSj9KI28KA=
14-
github.com/coreos/go-systemd/v22 v22.7.0/go.mod h1:xNUYtjHu2EDXbsxz1i41wouACIwT7Ybq9o0BQhMwD0w=
13+
github.com/coreos/go-systemd/v22 v22.6.0 h1:aGVa/v8B7hpb0TKl0MWoAavPDmHvobFe5R5zn0bCJWo=
14+
github.com/coreos/go-systemd/v22 v22.6.0/go.mod h1:iG+pp635Fo7ZmV/j14KUcmEyWF+0X7Lua8rrTWzYgWU=
1515
github.com/creativeprojects/clog v0.14.0 h1:kthfMG6efS9kI4ACgYRIOPZ2efQkXvW7VhqZigCtpzU=
1616
github.com/creativeprojects/clog v0.14.0/go.mod h1:iHLlN4sZU+o5rRiFab6ZGHs2vApq09DyykMVJ2Sflro=
1717
github.com/creativeprojects/go-selfupdate v1.5.2 h1:3KR3JLrq70oplb9yZzbmJ89qRP78D1AN/9u+l3k0LJ4=

0 commit comments

Comments
 (0)