Skip to content

Releases: BLAKE3-team/BLAKE3

1.5.3

15 Jul 05:18
Compare
Choose a tag to compare

version 1.5.3

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.

1.5.2

12 Jul 17:16
Compare
Choose a tag to compare

version 1.5.2

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.

1.5.1

12 Mar 07:55
Compare
Choose a tag to compare

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

21 Sep 03:35
Compare
Choose a tag to compare

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

06 Jul 21:44
Compare
Choose a tag to compare

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 and b3sum.

1.4.0

08 Jun 20:24
Compare
Choose a tag to compare

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 supports from_bytes, which is const.

1.3.3

26 Nov 05:44
Compare
Choose a tag to compare

version 1.3.3

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
    #271.

1.3.2

20 Nov 23:47
Compare
Choose a tag to compare

version 1.3.2:

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.

1.3.1

14 Feb 00:50
Compare
Choose a tag to compare

version 1.3.1

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.

1.3.0

08 Jan 05:24
Compare
Choose a tag to compare

version 1.3.0

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.