Releases: BLAKE3-team/BLAKE3
Releases · BLAKE3-team/BLAKE3
1.5.4
version 1.5.4
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.
1.5.3
1.5.2
version 1.5.2
Changes since 1.5.1:
build.rs
setscc::Build::emit_rerun_if_env_changed(false)
to
prevent some unnecessary rebuilds, particularly when thePATH
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.
1.5.1
version 1.5.1
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.)
1.5.0
version 1.5.0
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.
1.4.1
version 1.4.1
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 andb3sum
.
1.4.0
version 1.4.0
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
supportsfrom_bytes
, which is const.
1.3.3
1.3.2
version 1.3.2:
Changes since 1.3.1:
- Dependency updates only. This includes updating Clap to v4, which
changes the format of theb3sum --help
output. The new MSRV is
1.59.0 forblake3
and 1.60.0 forb3sum
. Note that this project
doesn't have any particular MSRV policy, and we don't consider MSRV
bumps to be breaking changes.
1.3.1
version 1.3.1
Changes since 1.3.0:
- The unstable
traits-preview
feature now includes an implementation
ofcrypto_common::BlockSizeUser
, AKA
digest::core_api::BlockSizeUser
. This allowsblake3::Hasher
to be
used withhmac::SimpleHmac
.