github creativeprojects/resticprofile v0.32.0

20 hours ago

🍁 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 other from-* 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 with user_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, and ERROR_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)

Don't miss a new resticprofile release

NewReleases is sending notifications on new releases.