1.8.7
version 1.8.7
Changes since 1.8.6:
- Remove the
arrayrefdependency. Unfortunately the crates.io owner was compromised.
1.8.6
version 1.8.6
Changes since 1.8.5:
-
update_mmapandupdate_mmap_rayon(and by extensionb3sum) now useseekrather thanmetadatato get the length of a file/mapping, and they toleratemmapfailures. That meansb3sumwill now memory map e.g. Linux block devices, which support mapping despite reporting length 0 inmetadata. HashingNULfiles on Windows also works now, where previously it was an error unless you used--no-mmapor<. This change was originally proposed by @nabijaczleweli.
1.8.5
version 1.8.5
Changes since 1.8.4:
- Forcibly disable LTO when compiling C intrinsics from the Rust build. This fixes a build break on Arch Linux ARM: https://github.com/BLAKE3-team/BLAKE3/issues/550
1.8.4
version 1.8.4
Changes since 1.8.3:
- Updated the
digestdependency from v0.10 to v0.11. THIS IS A POTENTIALLY BREAKING CHANGE for callers using thetraits-previewCargo feature. But this is not considered a breaking change for theblake3crate itself; see the docs fortraits-preview. - Performance for WASM SIMD targets is improved by ~20% when the
wasm32_simdfeature is enabled. Contributed by @lamb356.
1.8.3
version 1.8.3
Changes since 1.8.2:
- Add
Hash::as_slice. - Update to the 2024 Edition and bump the MSRV to 1.85.
- Fix a set of Miri failures in the intrinsics implementations. We were computing (though not dereferencing) an out-of-bounds pointer using
addrather thanwrapping_add. I'm not aware of any observable consequences of this bug. See https://github.com/BLAKE3-team/BLAKE3/pull/507. - CPU feature detection on x86/x86-64 no longer requires the
stdCargo feature in theblake3crate. - Build fixes in the C implementation for macOS and Cygwin, and various improvements to the CMake build.
1.8.2
version 1.8.2
Changes since 1.8.1:
- Fixes to the CMake build, particularly around the new TBB feature.
1.8.1
version 1.8.1
Changes since 1.8.0:
- [CMake] Fix transitive dependencies for TBB when libblake3 is built with BLAKE3_USE_TBB=1 (#460 and #461).
1.8.0
version 1.8.0
Changes since 1.7.0:
- The Rust crate now provides the
blake3::hazmatmodule, which replaces the undocumented and now deprecatedblake3::gutsmodule. This is intended for advanced use cases like Bao and Iroh, which need to manipulate chunk and subtree "chaining values" directly. See the module docs for more: https://docs.rs/blake3/1.8.0/blake3/hazmat
1.7.0
version 1.7.0
Changes since 1.6.1:
- The C implementation has gained multithreading support, based on Intel's oneTBB library. This works similarly to the Rayon-based multithreading used in the Rust implementation. See c/README.md for details. Contributed by @silvanshade (#445).
- The Rust implementation has gained a WASM SIMD backend, gated by the
wasm32_simdCargo feature. Under Wasmtime on my laptop, this is a 6x performance improvement for large inputs. This backend is currently Rust-only. Contributed by @monoid (#341). - Fixed cross-compilation builds targeting Windows with cargo-xwin. Contributed by @Sporif and @toothbrush7777777 (#230).
- Added
b3sum --tag, which changes the output format. This is for compatibility with GNU checksum tools (which use the same flag) and BSD checksum tools (which use the output format this flag turns on). Contributed by @leahneukirchen (#453) and @dbohdan (#430).
1.6.1
version 1.6.1
Changes since 1.6.0:
- Remove
mmapfrom the default features list. It was added accidentally in v1.6.0, last week. This is technically a backwards-incompatible change, but I would rather not tag v2.0.0 for a build-time bugfix with a simple workaround.