Releases: creativeprojects/resticprofile
v0.29.0
🧙🏻♀️ Halloween edition 🎃
- Finally a long standing bug was fixed in this version: use proper
nice
andionice
values onsystemd
scheduled tasks. - Also the last chunk of work for the configuration
v2
: we can now schedule groups! - Improvement on the JSON schema: a single URL can be used for
v1
andv2
configuration - Another long standing bug on Windows: escape configuration file path on scheduled tasks
Changelog
- fb6c7a2 Escape config file name in schedule parameters (#420)
- 1d3ec32 Fix scheduling arguments (#423)
- 62c5c64 Global json schema (auto versioning) (#412)
- 2a34ea7 Group schedule (#418)
- 830d0fd Setup systemd priority (#409)
- 62f3118 doc: upgrade hugo theme
- da03de7 fix deprecated option in goreleaser config
v0.28.1
🍂 Autumn bug fixing 🍁
- fix JSON schema for TOML files that stopped working some time ago (when using
Even Better TOML
extension on VSCode) - [configuration v2] fix regression bug where profile groups were stopping after an error when the
continue-on-error
flag was set
Changelog
- 57d1439 Fix for continue-on-error broken in 0.26.0 (#407)
- ccccfa2 Linters (#397)
- 249fd41 add base url on json schema (#408)
- b254503 add misspell linter
- 7dcb41b fix bullet points from restic man (#398)
- 4181d9e fix overflow integer conversion lint warning from gosec (#399)
- 2231793 generate JSON schema for restic 0.17
- 0ad1b68 prepare next release
- 3612b51 use goreleaser v2
v0.28.0
🌞 Sunny Summer Edition 🌻
Two big things in this release:
- support for all the new commands and flags of
restic 0.17
- experimental support for environment variables in configuration flags
Example of using environment variables in configuration:
check-repo-profile:
inherit: default
run-before:
- "echo DOW=`date +\"%u\"` >> {{ env }}"
check:
read-data-subset: "$DOW/7"
Changelog
v0.27.1
🌦️ Rainy Summer Edition ☔
Fix of a regression bug preventing resticprofile from sending logs to a temporary session log file (prefixed with temp:/t/
)
Thanks @iluvatyr for the quick bug report 👍🏻
Changelog
- a615444 fix creation of mock binaries during unit tests (#375)
- c9f87ec fix documentation for release
- eb13003 fix regression with temporary log file (#386)
- abf35a7 prepare next release
- 854f6c9 refactor unit tests on package lock (#374)
- ffffabf remove flaky test
- 5cfdca2 remove goarm linked to the internal variable of runtime go1.23 will apparently forbid the use of linkname to the standard library
v0.27.0
🌻 Summer release 🌞
Summer is here in the Northern Hemisphere! A new release is here too! 🎉
A lot of goodies in this release:
new run-schedule command
It's more a behind the scene feature: you no longer need to re-schedule your targets after you changed the configuration. The generated schedule command line is now using this new run-schedule
command that reads all the newest bits from the configuration.
You might want to unschedule
and schedule
all your profiles one last time to replace the existing command line using the new run-schedule
command.
More information: https://creativeprojects.github.io/resticprofile/schedules/commands/index.html#run-schedule-command
direct support for crontab files
Previously resticprofile was using the crontab
tool to read and write crond
schedules. Now you can directly setup a crontab
file no matter which tool is going to consume it.
More information: https://creativeprojects.github.io/resticprofile/schedules/index.html
keep content of configuration variables between commands
This was a big issue for some time. The wait is over! You can now set a configuration variable anywhere in a script and use its value later.
More information: https://creativeprojects.github.io/resticprofile/configuration/run_hooks/index.html#passing-environment-variables
"RESTICPROFILE_{FLAGNAME}" env vars
All cli flags can now be set using environment variables.
More information: #334
allow controlling command output redirection
Allow redirection of the console messages to a log file or to syslog.
More information: #343
Add "--stderr" to redirect console to stderr (for "cat" and "dump")
More information: #353
Add option to set working directory for restic backup
More information: #354
many bug fixes!
Changelog
- 1bbac2a Add "--stderr" to redirect console to stderr (for "cat" and "dump") (#353)
- 0598026 Add documentation on how to ingest resticprofile stats into telegraf (#366)
- f9b5dac Add option to set working directory for restic backup (#354)
- 00360a2 Fix group priority (#339)
- a05ad39 Relative source followup: Evaluate symlinks (#355)
- 56f20af Squashed commit of the following: (#259)
- 6b00c2c add "profile" flag as an alias for "name" (#357)
- 6da0317 also search configuration from ~/.config/resticprofile on macOS (#370)
- 5739b13 crond: add support for crontab file only (on any OS) (#289)
- 9719411 don't replace header value in stringifyHeaders (#327)
- 2a7d5fc drop-ins: move systemd drop-ins into unified schedule struct (#341)
- 7e03741 drop-ins: transparent timer drop-in support (#340)
- 9b2bd8c env-file: Implement dotenv and {{env}} support (#323)
- 16f5dc5 fix remaining unit tests failing in Windows (#360)
- 3b8613e fixed link to config reference / global section (#349)
- 5fad1cb flags: added "RESTICPROFILE_{FLAGNAME}" env vars (#335)
- 85d5afc log: allow controlling command output redirection (#343)
- e5b17d3 restic: use repository-file if the repo flag contains a password (#336)
- 4255868 schedule: added unified schedule config struct (#333)
- 667180e syslog: local syslog and stdout redirection (#344)
- e93874d build with go 1.22 and macOs arm64 (#317)
- e6eed3d update test to pass on Windows 11 (#359)
- 655e9c5 upgrade packages (CVE-2024-24786) (#347)
- 08a01c4 upgrade packages (CVE-2024-6104)
v0.26.0
🦆 Second time lucky February release 🚀
🆕 A lot of pre-built binaries have been added on this release. This is to align with the list of pre-built binaries provided by restic
Otherwise this is mostly a maintenance release with a few fixes:
- fixes multiple backup profiles exporting prometheus files to
node_exporter
- fix missing fields in the
show
command - weekly docker image build (rebuilt under the same version tag, and as
latest
) - restrict the
copy
command to a list of snapshots in the configuration
Changelog
- 2ab1f3a Add pre-built binary targets to release pipeline (#324)
- 233e4b8 Add prometheus label to build info (#319)
- b1b03db Change priority warning message (#310)
- 9eba431 Fix missing fields in show command (#315)
- a9273f8 Merge pull request #312 from creativeprojects/nightly
- 15004f9 Restrict copy command to a list of snapshots (#291)
- 1c076dc add separate goreleaser config for rebuilding the docker image only (#309)
- bbb3760 add snapshot build to docker hub
- 8aebd28 publish docker images and manifest manually (#313)
v0.25.0
💖 February release 💝
⚠️ Potential breaking change
The prometheus library used to send metrics to the proxy using protobuf
.
By default it's now using the more widely used text
format.
If you have any issue sending metrics to your proxy, you can revert to the previous behaviour by adding this option to your profile (it's not a global option)
my_profile:
prometheus-push-format: protobuf
More information about the different formats: https://prometheus.io/docs/instrumenting/exposition_formats/#exposition-formats
New in this version
- fix for CVE-2023-48795
- new option
prometheus-push-format
with valuestext
orprotobuf
(#281) - new option to set log output in
global
section (#277) - more control over the default systemd service files (#267)
- and bug fixes!
Thanks to all our contributors for the good work!
Changelog
- 765c2af Add
prometheus-push-format
to allow selecting text format (#281) - ae9554a Pass context to own commands and profile runner (#280)
- fccc05b Remove rclone binary in make clean target (#283)
- 0871d28 Trying new configuration for CodeQL (#306)
- 1317f60 Upgrade packages (#307)
- 63f8faf chore: prep next release & allow deployment to fail on PR
- 3d72803 chore: various fixes (#285)
- 952380f doc: add information about windows path in variables
- f346571 doc: add various missing information (#278)
- 1b3292c logging: allow to setup default log output in global (#277)
- 99484bf macOS: create LaunchAgents folder if it doesn't exist
- 37dcf84 profile: support source with "-" (dash) prefix (#276)
- a1b7840 systemd drop-ins support, option to wait for network-online.target (#267)
v0.24.0
🎃 October release 👻
- upgrade dependencies to fix CVE-2023-3978, CVE-2023-39325 and CVE-2023-44487
- fix the broken documentation (some tabs were not accessible)
- can now stop the wait for a lock (restic or resticprofile lock). Before the fix the
CTRL-C
or other signal was ignored until the lock was acquired or timed out. - resticprofile is now available on scoop! thanks @hgraeber
- detect if the host is running on battery and cancel an action depending on how much battery is left - see schedule section
- bug fixes (see changelog)
Changelog
- ac99302 Allow to interrupt the wait for a lock (#249)
- b08ac73 Detect if running on battery (#235)
- 1e6d07a Docs for installation from scoop (#268)
- 0d73c2b Fix doc shortcodes (#271)
- f5e751c Template: Reduce log level for
Getwd()
failures (#251) - e20973e systemd: prevent paging in systemd schedules (#270)
- bcfaaa7 upgrade packages - CVE-2023-3978 - CVE-2023-39325 - CVE-2023-44487
v0.23.0
🌞 New summer edition 🌻
This release mostly fixes a few regression from version 0.21.0 and adds a handful of new features:
- Allow to set
base-dir
andsource-dir
in a profile so you can start resticprofile from any current folder - Allow to set
keep-tag
,tag
&group-by
as empty string - Support for restic v0.16 new flags
Thanks to all the contributors for the great work 👍🏻
Changelog
- b0767ad Added {{ "data" | base64 }} & {{ "data" | hex }} (#213)
- b00c8a0 Allow to set a base-dir inside the profile (#183) (#192)
- 4b2ea31 Fix 194: Allow to set "keep-tag", “tag” & “group-by” as empty string (#220)
- 10057d4 Fix 218: Args filter must not remove paths (#222)
- 0c8c985 Fix 223, 230: Escape args and absolute restic path for pwsh (#224)
- 2bf0d28 Fix 242: iexclude-file not converted to abs path (#243)
- 6cbfdb3 Fix links for versioned JSON schema files (#244)
- fc66fab Fix schedule tests (#236)
- 304e418 Fix: Do not add
--tag
fortag: true
(#221) - 82fccdb Restic: Add restic v16 release (#238)
- 3f4e0bf Restic: Fixed unit tests for restic v16 (#239)
- ba9297a Retention: Align host filter with "backup" (#227)
- 347501d Schedule: Capture
os.Environ
on schedule creation (#212) - 9c05157 Support
lock-wait
with--lock-retry
in restic 0.16 (#240) - 6cc332d Support build when GOPATH is unset / fix mockery build warning (#234)
- 3476fbc Variables: Allow to escape "$" with "$$" (#216)
v0.22.0
⚠️ Breaking change
The default value of the job
tag on prometheus gateway push has changed from command
to profile.command
.
But don't worry: you can easily revert back to the original value by adding this option in your configuration:
prometheus-push-job: "${COMMAND}"
Fixes:
- Complicated scheduling on Windows was sometimes setting up a random delay before starting a job