All notable changes in MedHash Tools will be documented in this file.
The format is based on Keep a Changelog. This project attempts to adhere to Semantic Versioning.
- Upgraded
gopkg.in/yaml.v3
to v3.0.0.
- Added support for multiple target directories. Pass each target directory as positional arguments to each tool.
- Added
--ignore
parameter togen
andupgrade
. - Added
--force
parameter toupgrade
. - Added preset parameters to
gen
,chk
, andupgrade
.gen
andupgrade
will generate hashes using the preset.chk
will only attempt to verify hashes in the preset. Non-existent hashes are ignored.- Added
--default
preset parameter. - Added
--all
preset parameter.
- Added
- Added hash algorithm parameters to
gen
,chk
, andupgrade
.gen
andupgrade
will only generate hashes using the specified algorithm.chk
will only verify hashes of the specified algorithm. Non-existent hashes are ignored.- Added
--xxh3
parameter. - Added
--sha3
parameter. - Added
--sha256
parameter. - Added
--sha1
parameter. - Added
--md5
parameter.
- Added
- Added
version
command. - Added colored status labels. It works on Windows too!
medhash-*
commands are now subcommands. Pass them as the first parameter tomedhash
. For example,medhash-gen
is nowmedhash gen
.- Updated MedHash Manifest Specification to v0.5.0.
upgrade
now upgrades Manifest v0.4.0 without--force
. Manifest v0.5.0 can be regenerated with--force
. - Default preset now only generates XXH3_64 hash.
For cryptographic use, specify the appropriate algorithm or use
--all
.
- Manifest field
media.hash.sha3-256
is now deprecated. Usemedia.hash.sha3
instead. For compatibility, MedHash Tools populate SHA3 hashes into both fields.chk
prefersmedia.hash.sha3
tomedia.hash.sha3-256
, meaning that it will attempt to verify the former before attempting to verify the latter.
- Removed
-v
parameter. Previously, this parameter enables verbose mode.
- Fixed #1: invalid memory address when files are not found.
- Upgraded
golang.org/x/crypto
to v0.11.0.
medhash-gen
andmedhash-chk
will now generate and verify SHA3-256 hash for every Media.
- Manifest Specification has been updated to v0.4.0.
v0.3.0 Manifests are compatible and will continue to work with this version of MedHash Tools.
However, you will be prompted to rerun
medhash-gen
to upgrade the Manifest. medhash-gen
now credits itself for Manifest generation in the generator field.medhash-chk
now prints the Manifest generator in verbose mode (-v
flag).medhash-chk
now validates the Manifest version. Compatible Manifests will prompt the user to rerunmedhash-gen
for upgrade. Non-compatible Manifests will prevent the tool from working.
- SHA1 support is now deprecated.
- MD5 support is now deprecated.
- Fixed a bug where
medhash-gen
andmedhash-check
would display paths with/
separator on Windows. - Optimized
medhash-gen
andmedhash-chk
.
Now in color!
- Added verbose flag to
medhash-gen
andmedhash-chk
. Both tools will no longer print target and working directory paths without the verbose flag. - Added version flag to
medhash-gen
andmedhash-chk
. Both tools will print the toolset version and exit with the flag set. - Added manifest flag to
medhash-gen
andmedhash-chk
. Inmedhash-gen
, the Manifest will be stored in the specified path. Inmedhash-chk
, the Manifest will be read from the specified path. - Added file flag to
medhash-chk
. Verify only the specified file. - Added status color to
medhash-gen
andmedhash-chk
.medhash-gen
will color the sanity check status for each Media appropriately.medhash-chk
will color the verification status for each Media appropriately. - macOS binaries are now universal binaries. They will work in both Intel and M1 Macs.
- Changed target directory behavior in
medhash-gen
. Previously, the Manifest will always be stored in the current working directory, with Media paths relative to the current working directory. Now, the Manifest will be stored in either the target directory or the path specified in-manifest
. The Media paths will always be relative to the target directory. - Rewrote internal library.
The
data
internal library has been rewritten tomedhash
internal library. The originaldata
library is deprecated and will be removed in the future. - Optimized
medhash-gen
andmedhash-chk
. Both tools now are now more efficient and behave more similarly to each other. Errors will be printed and the tools will now attempt to recover before exiting.
- Deprecated
data
internal library.
The internal logic of medhash-tools did not use buffers. As a result, hashing large media can consume large amounts of memory (up to triple the media size). This update should fix that issue.
- Optimized hash generation with buffered I/O.
Manage your media file hashes better with medhash-tools!
medhash-tools handles the creation (medhash-gen
) and verification (medhash-chk
) of media hashes.
If you are a user of the legacy medhash-tools from here,
you can upgrade your legacy medhash files with medhash-upgrade
.
See more usage details here.
- Added medhash upgrade tool (
medhash-upgrade
).
- Optimized medhash generation with
medhash-gen
. - Optimized medhash verification with
medhash-chk
. - Switched medhash format to JSON format.