aboutsummaryrefslogtreecommitdiff
path: root/b3sum
AgeCommit message (Collapse)Author
2024-08-19version 1.5.41.5.4Jack O'Connor
Changes since 1.5.3: - Initial implementation of SIMD acceleration for the XOF (i.e. blake3::Hasher::finalize_xof). This brings long output performance into line with long input performance. Currently AVX-512-only and Unix-only. - Add build support for "gnullvm" targets (Clang on Windows). - The "zeroize" feature no longer depends on proc-macros and syn.
2024-08-19update b3sum/Cargo.lockJack O'Connor
2024-07-15Update the license field in b3sum/Cargo.tomlBenjamin A. Beasley
2024-07-14version 1.5.31.5.3Jack O'Connor
Changes since 1.5.2: - Revert the serialization change. It was intended to be backwards compatible, but that didn't hold for non-self-describing serialization formats like bincode. See #414.
2024-07-14update Cargo.lockJack O'Connor
2024-07-12version 1.5.21.5.2Jack O'Connor
Changes since 1.5.1: - `build.rs` sets `cc::Build::emit_rerun_if_env_changed(false)` to prevent some unnecessary rebuilds, particularly when the `PATH` changes on Windows. See #324. - Serializing a `Hash` produces a bytestring instead of an array in formats that support bytestrings (like CBOR). Deserialization is backwards-compatible with the array format. - Cleanup and edge case fixes in the C and CMake builds.
2024-07-12update b3sum/Cargo.lockJack O'Connor
2024-07-12update b3sum license symlinksJack O'Connor
2024-07-03Switch to rayon-core for faster buildsilvanshade
2024-03-12Fix missing LICENSE file in b3sum crateBenjamin A. Beasley
Add a symbolic link to the top-level license file; this is dereferenced by cargo publish, and the LICENSE appears as a regular file in the published crate.
2024-03-12version 1.5.11.5.1Jack O'Connor
Changes since 1.5.0: - The Rust crate is now compatible with Miri. - ~1% performance improvement on Arm NEON contributed by @divinity76 (#384). - Various fixes and improvements in the CMake build. - The MSRV of b3sum is now 1.74.1. (The MSRV of the library crate is unchanged, 1.66.1.)
2024-01-21update memmap2 to v0.9Jack O'Connor
2023-09-20version 1.5.01.5.0Jack O'Connor
Changes since 1.4.1: - The Rust crate's Hasher type has gained new helper methods for common forms of IO: update_reader, update_mmap, and update_mmap_rayon. The latter matches the default behavior of b3sum. The mmap methods are gated by the new "mmap" Cargo feature. - Most of the Rust crate's public types now implement the Zeroize trait. This is gated by the new "zeroize" Cargo feature. - The Rust crate's Hash types now implements the serde Serialize and Deserialize traits. This is gated by the new "serde" Cargo feature. - The C library now uses atomics to cache detected CPU features under most compilers other than MSVC. Previously this was a non-atomic write, which was probably "benign" but made TSan unhappy. - NEON support is now disabled by default on big-endian AArch64. Previously this was a build error if the caller didn't explicitly disable it.
2023-09-16replace the new file module with inherent methods on HasherJack O'Connor
New methods: - update_reader - update_mmap - update_mmap_rayon These are more discoverable, more convenient, and safer. There are two problems I want to avoid by taking a `Path` instead of a `File`. First, exposing `Mmap` objects to the caller is fundamentally unsafe, and making `maybe_mmap_file` private avoids that issue. Second, taking a `File` raises questions about whether memory mapped reads should behave like regular file reads. (Should they respect the current seek position? Should they update the seek position?) Taking a `Path` from the caller and opening the `File` internally avoids these questions.
2023-09-16move file operations from b3sum to blake3Banyc
2023-09-10update dev-dependenciesJack O'Connor
2023-07-06version 1.4.11.4.1Jack O'Connor
Changes since 1.4.0: - Improved performance in the ARM NEON implementation for both C and Rust callers. This affects AArch64 targets by default and ARMv7 targets that explicitly enable (and support) NEON. The size of the improvement depends on the microarchitecture, but I've benchmarked ~1.3x on a Cortex-A53 and ~1.2x on an Apple M1. Contributed by @sdlyyxy in #319. - The MSRV is now 1.66.1 for both the `blake3` crate and `b3sum`.
2023-07-06update constant_time_eq to v0.3.0Jack O'Connor
This bumps the MSRV of both `blake3` and `b3sum` to 1.66.1.
2023-06-08version 1.4.01.4.0Jack O'Connor
Changes since 1.3.3: - The C implementation provides a `CMakeLists.txt` for callers who build with CMake. The CMake build is not yet stable, and callers should expect breaking changes in patch version updates. The "by hand" build will always continue to be supported and documented. - `b3sum` supports the `--seek` flag, to set the starting position in the output stream. - `b3sum --check` prints a summary of errors to stderr. - `Hash::as_bytes` is const. - `Hash` supports `from_bytes`, which is const.
2023-06-08update memmap2 to v0.7.0Jack O'Connor
2023-06-06add b3sum --seekJack O'Connor
2023-03-25upgrade all Cargo.toml files to edition=2021Jack O'Connor
The MSRV is already 1.60, so this doesn't affect much. The only impact to other code is that we no longer need to explicitly import TryInto.
2023-02-04do another saturating_add for consistencyJack O'Connor
This one is less security/correctness-critical than the other one I just added, but I might as well be consistent.
2023-02-04suppress expected stderr prints in b3sum testsJack O'Connor
2023-02-04add a colon to the b3sum warning formatJack O'Connor
This matches what md5sum does.
2023-02-04do a saturating_add for files_failedJack O'Connor
2023-02-04Use u64 instead of i64joveian
2023-02-04Add --check summary of failuresjoveian
Add a warning to stderr at the end similar to other *sum utilities when --check is used and some files failed verification. At least the last part of the comment above check_one_checkfile seemed to be incorrect so I removed that comment. Fixes #283
2022-12-13test `b3sum --keyed` with bad key lengthsJack O'Connor
2022-12-13expand the short description of b3sum --keyedJack O'Connor
2022-11-26version 1.3.31.3.3Jack O'Connor
Changes since 1.3.2: - Fix incorrect output from AVX-512 intrinsics under GCC 5.4 and 6.1 in debug mode. This bug was found in unit tests and probably doesn't affect the public API in practice. See https://github.com/BLAKE3-team/BLAKE3/issues/271.
2022-11-20grammar fix in b3sum help outputJack O'Connor
2022-11-20version 1.3.2:1.3.2Jack O'Connor
Changes since 1.3.1: - Dependency updates only. This includes updating Clap to v4, which changes the format of the `b3sum --help` output. The new MSRV is 1.59.0 for `blake3` and 1.60.0 for `b3sum`. Note that this project doesn't have any particular MSRV policy, and we don't consider MSRV bumps to be breaking changes.
2022-11-20downgrade os_str_bytes to v6.3.1 in b3sum/Cargo.lockJack O'Connor
v6.4.0 has a bug where invalid UTF-16 filenames fail a debug_assert on Windows. See https://github.com/dylni/os_str_bytes/issues/14. The vast majority of b3sum users should be running a binary built in release mode and shouldn't be affected by this. This lockfile change fixes our CI, but note that `cargo install` doesn't respect lockfiles by default (without --locked), so anyone running a debug binary against invalid Windows filepaths (very rare) will still need to wait for an upstream patch release.
2022-11-20clean up b3sum help strings and increase max_term_width to 100Jack O'Connor
2022-11-20regenerate b3sum/Cargo.lockJack O'Connor
2022-10-03Split short summary from full help textShun Sakai
2022-10-03Bump clap to v4.0Shun Sakai
2022-09-14Rewrite CLI using Derive APIShun Sakai
2022-03-27fix a deprecation warning from clapJack O'Connor
2022-03-27refresh the Cargo.lock file for b3sumJack O'Connor
2022-03-26Update crossbeam-utils from yanked versionZach Crownover
2022-03-26Update crossbeam-channel from yanked versionZach Crownover
2022-03-26Update block-buffer from yanked versionZach Crownover
2022-03-26RUSTSEC-2020-0077Zach Crownover
Migrate from the abandoned memmap library to the now maintained fork of memmap2
2022-01-25version 1.3.11.3.1Jack O'Connor
Changes since 1.3.0: - The unstable `traits-preview` feature now includes an implementation of `crypto_common::BlockSizeUser`, AKA `digest::core_api::BlockSizeUser`. This allows `blake3::Hasher` to be used with `hmac::SimpleHmac`.
2022-01-08version 1.3.01.3.0Jack O'Connor
Changes since 1.2.0: - Added blake3_hasher_reset to the C API, for parity with the Rust API. - Updated digest to v0.10. This version merged the crypto-mac crate with digest, so the dependency on crypto-mac has been removed. These trait implementations are still gated behind the "traits-preview" feature. - Updated clap to v3.
2022-01-07update clap to v3Jack O'Connor
2021-12-30Update digest crate to 0.10 for traits-preview featureMatthias Schiffer
Adjust to the following changes that happened in digest: - The crypto-mac crate has been merged into digest (with "mac" feature enabled) - Various traits have been split up - The Digest and Mac traits now share their update/finalize/reset implementations - The BlockInput trait was dropped without replacement apparently (as long as the low-level core API is not used)
2021-12-18check in the Cargo.lock for b3sumJack O'Connor
We'll need to make sure to update this when we do a version bump. Adding an explicit `!Cargo.lock` line to b3sum/.gitignore helps with this, by making sure Cargo.lock shows up by defauls in searches like: rg "1\.2\.0" Closes https://github.com/BLAKE3-team/BLAKE3/issues/210.