Releases: creativeprojects/resticprofile
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
Changelog
v0.21.1
Bug fixes!
This small release fixes two regression bugs introduced in version 0.21.0
- the
~
was no longer replaced by the user's home directory for some flag (repository
and others...) - environment variables were no longer replaced by their value for some flag (
repository
and others...)
Thanks @jkellerer for the quick fixes 😉 👍🏻
New features from v0.21.0
This release adds a verification of all the flags permitted by restic. Only the flags compatible with your version of restic will be generated (prior to this version, any flag like unknown-flag
would end up on the restic command line as --unknown-flag
.
Also this version generates a JSON schema: this is the configuration schema which can auto-complete options, and verify that your configuration is correct. It works with any compatible editor for the JSON, TOML and YAML configuration file format. Thanks @jkellerer for the awesome work on this 🎉 . More information here.
Other nice feature is the introduction of the help
command which works for both all the resticprofile and restic commands and flags. Try it out!
Changelog
v0.21.0
This is a great milestone for resticprofile 🥳
This release adds a verification of all the flags permitted by restic. Only the flags compatible with your version of restic will be generated (prior to this version, any flag like unknown-flag
would end up on the restic command line as --unknown-flag
.
Also this version generates a JSON schema: this is the configuration schema which can auto-complete options, and verify that your configuration is correct. It works with any compatible editor for the JSON, TOML and YAML configuration file format. Thanks @jkellerer for the awesome work on this 🎉 . More information here.
Other nice feature is the introduction of the help
command which works for both all the resticprofile and restic commands and flags. Try it out!
And as usual, a lot of bug fixes 😉
Changelog
- 683bf78 Add variables
.OS
and.Arch
to all templates (#181) - 74b0c46 Allow config encoding in UTF16 and ISO88591
- d6a51ad Enhanced: Catch any --help & --dry-run (http only) (#178)
- 3f5cdc6 Feature: JSON schema (#103) & generated reference
- 1aad0fb Fix #164: Failure on uppercase mixin names
- e65f9bc Implement tempDir and log without locking (#168) (#174)
- f2a9c04 Make URL and header confidential in HTTP-hook (#175)
- e069b77 Restic: Add restic v15 release (#180)
- d2e789c add build tag to disable self-update (#184)
- 8231087 add suppport for user_logged_on (#160)
- f782ef5 build with go 1.20
- bd3813a upgrade packages CVE-2022-41721
v0.20.0
Not too many new features in this release, but I wanted to build a new docker image with the new restic 0.15.0
Improvements
- Adds shell command hooks to the following additional commands:
dump
,find
,ls
,mount
,restore
,snapshots
,stats
andtag
. - Docker image now contains ssh (to allow
sftp
repository), curl, tzdata and ca-certificates
Changelog
v0.19.0
New version 0.19.0 of resticprofile!
With:
- New help system showing all flags from resticprofile and restic. Just type
resticprofile help backup
and see (thanks @jkellerer) copy
command now hasrun-before
,run-after
,run-after-fail
andrun-finally
targets. Also more targets are now available forbackup
and for a profile. See the documentation.- groups of profiles can keep running after a profile failed (this is a global settings)
- Prevent your system from idle sleeping (Windows, macOS, and unix type OS using
systemd
) - May contain nuts
Changelog
- c360880 Add --help to own commands (e.g. generate --help) (#139)
- 1edf995 Add last backup time to prometheus metrics (#132)
- 8a70e7b Config: Add run before/after/fail to more restic commands than backup (#138)
- 419e66c Continue profile in group on error (#149)
- a880b44 Fixes zsh completion script (use of outdated CLI) (#150)
- 49c4920 Prevent system from idle sleeping (#140)
- d4c1032 add devcontainer config
- 0c43c2c chore: upgrade packages
v0.18.0
Following the release of the long awaited restic 0.14.0, here’s a new resticprofile!
A few big features were introduced in this version:
- HTTP hooks using a similar syntax to command hooks but sending HTTP messages to monitoring platforms
- Better support of the new-ish
copy
command - Addition of mixins on configuration file v2 (in preview)
- Ability to choose your preferred shell on Windows (cmd, powershell or bash)
- Send resticprofile logs to a syslog server
- Add armv8 (arm64) CPU target to docker images
- Upgrade to restic 0.14.0 in docker image
- Add rclone to docker image
- Also search for a configuration file in the resticprofile program folder on Windows (to be used in portable mode)
Changelog
- 7ba20ad Add http hooks (#114)
- fb62876 Add support for syslog (#127)
- a5c1147 Allow to choose
shell
in global config (#112) - d492d7d ConfigV2: Mixins (#115)
- ca9a418 ConfigV2: Replace list params - fix #108 (#113)
- 2ed3045 Initialise copy repository using --copy-chunker-params (#117)
- 43ce0be Mixins: List merging & inheritance update (#121)
- 1b8774c add binary dir in path and .BinaryDir template var (#134)
- eb70a8a add goreleaser config to also build arm64 images
- 35d07ee add rclone to docker image #131
- 0381942 upgrade packages (CVE-2022-28948)