Hoard 0.4.0 Release

  • By Michael Bryant (Shadow53)
  •  • 
  • 28th Dec 2021
  •  • 
  • 3 min read

This was originally going to be a bugfix release, but a critical dependency replacement made this a minor release instead (see warning below), so I decided to go ahead and sneak some bigger stuff in:

First of all, I've added YAML support due to (relatively) popular demand.

This is supported on a best-effort basis. I will do my best to avoid breaking this and have some CI/CD tests in place to help with this, but I do not and will not use YAML personally, so bugs may crop up.

Second, I've made changes to Hoard's output. When the log level is set to DEBUG or higher, the output now looks a bit nicer and should be a little easier to grok. When set to INFO (default) or lower, the output is much simpler and in some cases (e.g. hoard list) can theoretically be used in scripts.

UPGRADE WARNING:

Due to the change in time libraries, operation log files created by older versions of Hoard can no longer be parsed correctly and will cause Hoard to error.

To prevent this, make sure that your hoards are current (i.e. the files in the hoard and the files on the filesystem are the same, a hoard restore should be enough for this) and then run one of the following commands, depending on your system:

[ -n "$XDG_DATA_HOME" ] && rm -r "$XDG_DATA_HOME/hoard/history" || rm -r "$HOME/.local/share/hoard/history"

rm -r $HOME/Library/Application Support/com.shadow53.hoard/history

rm -r %AppData%\shadow53\hoard\history

New Features

  • You can now expand environment variables in the path_exists env condition.
  • Added "Getting Started" section to the documentation.
  • Added support for YAML configuration files
  • Added new hoard list command
  • Refactored logging output into a custom format depending on whether debugging or not.

Fixes

  • Switched from chrono to time crate to avoid a CVE.
  • Nonexistent source directories are detected and warned about without failing the operation.
  • Ignore patterns no longer need to be prefixed with **/ to match any nested directory or file.
  • Non-configuration items named config are now detected and warned against.
  • Glob patterns are now parsed with the rest of the configuration rather than at use.

Links