Releases: Shadow53/hoard
0.6.1 (2024-08-19)
0.6.0 (2023-10-05)
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)
0.5.2
0.5.1
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)
Hoard v0.5.0
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
andhoard status
commands.- Use
hoard upgrade
to upgrade your operation logs in-place.
- Use
-
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
andhoard 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 theHOARD_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
ortrace
.
Basically everything got some amount of refactoring over this release -- too much to list here. These are the highlights:
- Replaced bare
String
andPathbuf
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.
Hoard v0.4.0
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
totime
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: v0.3.0...v0.4.0
Hoard v0.3.0
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