Shadow53 Hoard Versions Save

v0.6.0

6 months ago

Breaking Changes

allow setting default environment variable values (#185)

Fixes

update rust crate sha2 to 0.10.7 (#176)

update rust crate tempfile to 3.6 (#170)

update rust crate uuid to 1.3 (#167)

update rust crate regex to 1.8 (#154)

update rust crate digest to 0.10.7 (#155)

update rust crate toml to 0.7.4 (#159)

update rust crate thiserror to 1.0.40 (#164)

update rust crate clap to 4.3 (#165)

v0.5.2

1 year ago

0.5.2

Features

  • add init subcommand (#168)

v0.5.1

1 year ago

0.5.1

Fixes

  • get Windows string length in a different way
  • update rust crate similar to 2.2 (#150)
  • update rust crate md-5 to 0.10.5 (#143)
  • update rust crate digest to 0.10.5 (#142)
  • update rust crate regex to 1.6 (#141)
  • update rust crate uuid to 1.2 (#138)
  • update rust crate once_cell to 1.15 (#137)
  • update rust crate sha2 to 0.10.6 (#148)
  • update rust crate thiserror to 1.0.37 (#149)

v0.5.0

1 year ago

This release comes with a complete reworking under the hood, which you can read about in the new changelog.

  • The operation log file format was changed to better support the new hoard diff and hoard status commands.

    • Use hoard upgrade to upgrade your operation logs in-place.
  • Added a new hoard edit command to allow users to modify their Hoard configuration file without needing to know where it is stored.

  • Added new hoard status and hoard diff commands, which help you understand the current state of all of your hoards. See the book for more on each command.

  • You can now tell Hoard to set special permissions on files and folders that it manages.

  • Fixed an invalid directive warning if the HOARD_LOG environment variable was not set.

  • Improved logging output, including cleaning up unnecessary output and making sure error messages are logged where they occur, for maximum context when HOARD_LOG=debug or trace.

Basically everything got some amount of refactoring over this release -- too much to list here. These are the highlights:

  • Replaced bare String and Pathbuf with wrapper types that enforce extra invariants.
  • Added types to cache file operations to decrease runtime.
  • Added a dependency on the multi-threaded tokio runtime, further decreasing runtime to within a few seconds.

The above changes led to an anecdotal runtime decrease from 20 minutes to less than one minute, with multiple hoards, one of which contains multiple large binary files.

v0.4.0

2 years ago

This was originally going to be a bugfix release, but a critical dependency replacement made this a minor release instead.

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:

  • Linux/BSD: [ -n "$XDG_DATA_HOME" ] && rm -r "$XDG_DATA_HOME/hoard/history" || rm -r "$HOME/.local/share/hoard/history"
  • Mac: rm -r $HOME/Library/Application Support/com.shadow53.hoard/history
  • Windows: 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
    • 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.
  • Added new hoard list command
  • Refactored logging output into a custom format depending on whether debugging or not.
    • If debugging, output should be easier to parse, albeit a bit longer.
    • If not, output should be a bit simpler.

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.

Full Changelog: https://github.com/Shadow53/hoard/compare/v0.3.0...v0.4.0

v0.3.0

2 years ago

What's Changed

  • Support environment variables in pile paths
  • Improved logging
  • Added runtime checks to prevent accidentally overwriting or deleting the wrong files
  • Added the ability to ignore specific paths on backup
  • !!! Pile configurations are merged (global config merged with hoard config, merged with named pile config)
  • Added documentation using mdBook
  • Use CI/CD to attach built executables to the GitHub release
  • Added a hoard cleanup command
  • Added integration tests using Python scripts and included results from those tests in calculating coverage

Full Changelog: https://github.com/Shadow53/hoard/commits/v0.3.0