🍁 Autumn release 🍂
This release brings significant improvements to scheduling, HTTP hooks, configuration handling, and copy operations, along with important bug fixes and dependency updates.
New Features
Enhanced Copy Command Support
- Copy from repository: Added support for specifying source repositories in copy operations with new
from-repository
,from-password-file
,from-password-command
, and otherfrom-*
configuration options. - This enables more flexible backup copying workflows between different repositories.
Improved Windows Task Scheduler Integration
- Run Level Control: New
schedule-run-level
option allows setting task privilege levels (lowest
,highest
,auto
) for Windows Task Scheduler. - Hide Window Option: New
schedule-hide-window
option to prevent task windows from interrupting user activity when running withuser_logged_on
permission. - Enhanced Task Management: Completely rewritten task information parsing to fix issues with spaces in filenames.
Template Function Enhancements
- Random Number Generation: New
randInt
template function for generating pseudo-random numbers with seeded repeatability. - Usage:
{{ "seed" | randInt low high }}
- useful for creating variable schedules or unique identifiers.
HTTP Hooks Improvements
- URL Encoding: Automatic URL encoding applied to
ERROR
,ERROR_COMMANDLINE
, andERROR_STDERR
environment variables when used in URLs. - Environment Variable Resolution: Enhanced environment variable resolution in both URL and body of HTTP hooks, with proper separation of URL and body processing.
Bug Fixes and Improvements
Signal Handling
- Group Execution: Fixed interrupt signal handling to properly stop execution of remaining profiles in a group when Ctrl+C is pressed.
Path Resolution
- Executable Handling: Enhanced executable path resolution on Linux to properly handle relative paths, PATH lookups, and working directory resolution.
- Configuration Escaping: Fixed proper escaping of backup source paths in configuration to handle special characters and spaces.
Scheduling Fixes
- Crontab Generation: Fixed crontab file generation to work without user field, improving compatibility with various cron implementations.
New contributors
Thanks to @lil5, @jeinwag, @hansmi and @zumm for their valuable help in making this new release 🎉
Changelog
- c7e87a1 Add "randInt" template function for random number (#540)
- f93ce20 Add copy from repository in configuration (#486)
- de391cb [Docs] Add ~/.config/resticprofile/ to macOS default paths (#509)
- f222ed2 add Makefile help target
- 63dee21 add field bytes_added_packed in status file etc. (#519)
- adf90cb enhance Executable function to handle relative paths (#537)
- f98a2f5 feat(schedule): introduce
run-level
option (#546) - 5f1c69d feat(schedule): introduce
schtasks-hide-window
option (#541) - 461710b fix(http-hooks): apply url encoding for ERROR_* env vars (#538)
- f9039fa fix(http-hooks): resolve profile env in url and body (#544)
- 1dce428 fix(schedule): generate crontab files without user field (#556)
- 25c2f06 linux: don't resolve symlink on executable to keep a constant name when installed via homebrew (#508)
- 859da21 optimize systemctl commands (#531)
- f748032 read task info from list format instead of CSV (#547)
- 99e6d33 stop running other profiles in group after receiving interrupt signal (#539)
- 720d7ee update Node.js version to 22 and upgrade dependencies in go.mod and go.sum (#543)
- f265fa2 update SonarCloud trigger condition to check for SONAR_TOKEN presence (#542)