Skip to content

Tags: oconnor663/bao

Tags

0.12.1

Toggle 0.12.1's commit message
version 0.12.1

Changes since 0.12.0:
- BUGFIX: Fixed mishandling of empty slices in `Encoder::write`.
  Previously writing exactly 1024 bytes, and then calling `write` once
  more with an empty slice, would lead to an incorrect hash returned
  from `Encoder::finalize`. (The chunk should've been finalized as root,
  but instead it was finalized as non-root.)

0.12.0

Toggle 0.12.0's commit message
version 0.12.0

Changes since 0.11.0:
- Updated the `blake3` dependency to 1.0.0. This is an incompatible
  change, because this crate's API uses `blake3::Hash`.

0.11.0

Toggle 0.11.0's commit message
version 0.11.0

Changes since 0.10.1:
- Encoder, SliceExtractor, Decoder, and SliceDecoder all support
  into_inner().
- Once an Encoder has been finalized, writing to it or finalizing it
  again will now panic.
- The dependency on upstream blake3 has been updated to 0.3, which
  affects this crate's callers because blake3::Hash is reexported.
- The bao_bin crate has removed the "c" feature and renamed the "c_neon"
  feature to "neon", for consistency with the upstream blake3 crate.
- The license of this crate has been changed from MIT to (CC0 || Apache),
  for consistency with the upstream blake3 crate.

0.10.1

Toggle 0.10.1's commit message
version 0.10.1

Changes since 0.10.0:
- Upgrade the `blake3` dependency to version 0.2. This includes new
  assembly implementations, so `bao hash` is faster.
- Other perf improvements: Don't mmap tiny files, and use a 64 KiB
  incremental buffer size. This mirrors the behavior of `b3sum`.

0.10.0

Toggle 0.10.0's commit message
version 0.10.0

Changes since 0.9.1:
- Bao is now based BLAKE3. This is a backwards-incompatible change.

0.9.1

Toggle 0.9.1's commit message
version 0.9.1

Changes since 0.9.0:
- Fixed a bug in copy() which could lose bytes.

0.9.0

Toggle 0.9.0's commit message
version 0.9.0

Changes since 0.8.0:
- The hash:: module is gone. It's been merged into the crate root.
- Added the copy() helper function, which uses an efficient buffer size.
- Fixed a bug in bao_bin where it was using an inefficient buffer size.
- No change to the hash output.

0.8.0

Toggle 0.8.0's commit message
version 0.8.0:

Changes since 0.7.0:
- Compatibility break, due to the following.
- The node offset parameter is capped at 2^32-1, rather than 2^48-1, for
  compatibility with BLAKE2X.
- Edge cases in slice extraction and decoding are now well-defined.

0.7.0

Toggle 0.7.0's commit message
version 0.7.0

Changes since 0.6.0:
- Compatibility break, due to the following.
- Each chunk now gets hashed with a unique node_offset parameter. This
  change was originally proposed by @zooko at
  https://twitter.com/zooko/status/1060218512990363650. It discourages
  caching optimizations that would break constant time execution.
- `hash_from_encoded` and other related functions have been removed.
  They were confusing and questionably useful.

0.6.0

Toggle 0.6.0's commit message
version 0.6

Changes since 0.5.0:
- Compatibility break, for all of the reasons below.
- Switched from BLAKE2b to BLAKE2s. Detailed reasoning about this change
  is in the spec. This plus all the optimizations through blake2s_simd
  0.5.6 result in a 16% increase in the long slice performance. Other
  benchmarks are much more dramatically improved, now that the encoder
  and decoder take advantage of SIMD through the hash_many interface.
- Removed the length suffix from hashing the root node. Again detailed
  reasoning about this change is in the spec.
- Change the max_depth parameter from 64 to 255, to better follow the
  convention defined for max_depth in the BLAKE2 spec.