Skip to content

Tags: alexnakouzi/BLAKE3

Tags

0.3.7

Toggle 0.3.7's commit message
version 0.3.7

Changes since 0.3.6:
- BUGFIX: The C implementation was incorrect on big endian systems for
  inputs longer than 1024 bytes. This bug affected all previous versions
  of the C implementation. Little endian platforms like x86 were
  unaffected. The Rust implementation was also unaffected.
  @jakub-zwolakowski and @pascal-cuoq from TrustInSoft reported this
  bug: BLAKE3-team#118
- BUGFIX: The C build on x86-64 was producing binaries with an
  executable stack. @tristanheaven reported this bug:
  BLAKE3-team#109
- @mkrupcale added optimized implementations for SSE2. This improves
  performance on older x86 processors that don't support SSE4.1.
- The C implementation now exposes the
  `blake3_hasher_init_derive_key_raw` function, to make it easier to
  implement language bindings. Added by @k0001.

c-0.3.7

Toggle c-0.3.7's commit message
version 0.3.7

Changes since 0.3.6:
- BUGFIX: The C implementation was incorrect on big endian systems for
  inputs longer than 1024 bytes. This bug affected all previous versions
  of the C implementation. Little endian platforms like x86 were
  unaffected. The Rust implementation was also unaffected.
  @jakub-zwolakowski and @pascal-cuoq from TrustInSoft reported this
  bug: BLAKE3-team#118
- BUGFIX: The C build on x86-64 was producing binaries with an
  executable stack. @tristanheaven reported this bug:
  BLAKE3-team#109
- @mkrupcale added optimized implementations for SSE2. This improves
  performance on older x86 processors that don't support SSE4.1.
- The C implementation now exposes the
  `blake3_hasher_init_derive_key_raw` function, to make it easier to
  implement language bindings. Added by @k0001.

0.3.6

Toggle 0.3.6's commit message
version 0.3.6

Changes since 0.3.5:
- Fix a build break in the assembly files under older versions of GCC.

0.3.5

Toggle 0.3.5's commit message
version 0.3.5

Changes since 0.3.4:
- The `digest` dependency is now v0.9 and the `crypto-mac` dependency is
  now v0.8.
- Intel CET is supported in the assembly implementations.
- `b3sum` error output includes filepaths again.

0.3.4

Toggle 0.3.4's commit message
version 0.3.4

Changes since 0.3.3:
- `b3sum` now supports the `--check` flag. This is intended to be a
  drop-in replacement for e.g. `md5sum --check` from Coreutils. The
  behavior is somewhat stricter than Coreutils with respect to invalid
  Unicode in filenames. For a complete description of how `--check`
  works, see the file `b3sum/what_does_check_do.md`.
- To support the `--check` feature, backslashes and newlines that appear
  in filenames are now escaped in the output of `b3sum`. This is done
  the same way as in Coreutils.
- To support `--check` interoperability between Unix and Windows,
  backslashes in filepaths on Windows are now replaced with forward
  slashes in the output of `b3sum`. Note that this is different from
  Coreutils.

0.3.3

Toggle 0.3.3's commit message
version 0.3.3

Changes since 0.3.2:
- `b3sum` binaries are built in CI and attached to new GitHub tags.

0.3.2

Toggle 0.3.2's commit message
version 0.3.2

Changes since 0.3.1:
- Fixed a compiler error on older versions of Clang,
  BLAKE3-team#79.

0.3.1

Toggle 0.3.1's commit message
version 0.3.1

Changes since 0.3.0:
- The x86 build now automatically falls back to "pure" Rust intrinsics,
  under either of two possible conditions:
  1. The `cc` crate fails to invoke a C compiler at all, indicating that
     nothing of the right name (e.g. "cc" or "$CC" on Unix) is installed.
  2. The `cc` crate detects that the compiler doesn't support AVX-512
     flags, usually because it's too old.
  The end result should be that most callers successfully build the
  assembly implementations, and that callers who can't build those see a
  warning but not an error. (And note that Cargo suppresses warnings for
  non-path depencies.)

0.3.0

Toggle 0.3.0's commit message
version 0.3.0

Changes since version 0.2.3:
- The optimized assembly implementations are now built by default. They
  perform better than the intrinsics implementations, and they compile
  much more quickly. Bringing the default behavior in line with reported
  benchmark figures should also simplify things for people running their
  own benchmarks. Previously this crate only built Rust intrinsics
  implementations by default, and the assembly implementations were
  gated by the (slightly confusingly named) "c" feature. Now the "c"
  feature is gone, and applications that need the old behavior can use
  the new "pure" feature. Mainly this will be applications that don't
  want to require a C compiler. Note that the `b3sum` crate previously
  activated the "c" feature by default, so its behavior hasn't changed.

0.2.3

Toggle 0.2.3's commit message
version 0.2.3

Changes since version 0.2.2:
- Bug fix: Commit 13556be fixes a crash on Windows when using the SSE4.1
  assembly implementation (--features=c, set by default for b3sum). This
  is undefined behavior and therefore a potential security issue.
- b3sum now supports the --num-threads flag.
- The C API now includes a blake3_hasher_finalize_seek() function, which
  returns output from any position in the extended output stream.
- Build fix: Commit 5fad419 fixes a compiler error in the AVX-512 C
  intrinsics implementation targeting the Windows GNU ABI.