aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2026-01-08version 1.8.3HEAD1.8.3masterJack O'Connor
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 `add` rather than `wrapping_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 `std` Cargo feature in the `blake3` crate. - Build fixes in the C implementation for macOS and Cygwin, and various improvements to the CMake build.
2026-01-08update to the 2024 editionJack O'Connor
While we're taking this MSRV bump, we can also update `constant_time_eq`, which uses the 2024 edition in its most recent versions.
2026-01-08bump constant_time_eq version to 0.4.2silverstillisntgold
2025-12-09Fix Cygwin build by skipping blake3_xof_many_avx512kikairoya
Temporarily skip blake3_xof_many_avx512 on Cygwin, as is already done for _WIN32. This workaround should be removed when blake3_xof_many_avx512 is implemented in blake3_avx512_x86-64_windows_gnu.S . fixes https://github.com/BLAKE3-team/BLAKE3/issues/494
2025-11-24Add `Hash::as_slice()` for convenient serialization to bytesJosh Triplett
`Hash::as_bytes()` returns the hash as an array of bytes. However, sometimes it's useful to have the hash as a slice of bytes instead, such as for serialization via an API that takes `&[u8]`. While `.as_bytes().as_slice()` works for this, it'd be more convenient to have a direct `.as_slice()` on hashes.
2025-11-12Revert "pin `generic-array` to the un-deprecated version"Jack O'Connor
Upstream `crypto-common` now does the pin itself: https://github.com/RustCrypto/traits/issues/2036#issuecomment-3522196740
2025-11-11pin `generic-array` to the un-deprecated versionJack O'Connor
This is a temporary hack to fix warnings in CI. Upstream tracking issue: https://github.com/RustCrypto/traits/issues/2036
2025-10-30add a warning to the --check docJack O'Connor
2025-10-26update ccache reference to official release notes URLJoel Rosdahl
2025-10-22chore: make some documents clearer (#528)wyrapeseed
2025-10-21replace the dead link to JNI bindingsJack O'Connor
2025-10-19Update CMakeLists cmake_minimum_required to suppress warningKeith Winstein
cmake 3.31.6 prints a warning when configuring projects that specify a minimum version of < 3.10. This updates the version range to suppress the warning. We chose CMake 3.18 as the upper bound as the vast majority of users should be using newer CMake versions--CMake 3.18 is shipped in the current LTS version of Debian (11). Furthermore it precludes some of the more significant policy changes introduced with CMake 3.19, i.e. we should get away with not testing the build with every CMake version.
2025-09-29some more unsafe blocks, in wasm32_simd.rsJack O'Connor
2025-09-29one more unsafe block, in ffi_neon.rsJack O'Connor
2025-09-29add explicit unsafe blocks to more unsafe functionsJack O'Connor
These blocks silence warnings that we'll see when we eventually turn on the 2024 edition. I used Claude to make these changes.
2025-08-13bump the MSRV in CI to 1.80.1Jack O'Connor
The current driver is `rayon-core` v1.13.0.
2025-08-12Fix prefetch pointer addition that resulted in UBNazar Mokrynskyi
2025-07-16Mark blake3_hash_neon as static (#497)Nikita Popov
* Mark blake3_hash_neon as static This is an implementation detail, which should not be exported. This avoids unnecessary symbol conflicts with vendored copies of blake3. * style: fix formatting of `blake3_hash4_neon` --------- Co-authored-by: Henrik Gaßmann <[email protected]>
2025-06-23silence -Wunused-function on MacOS-arm64hanshenrik
the #endif was in the wrong place, causing the error /Users/runner/work/php-src/php-src/ext/hash/blake3/upstream_blake3/c/blake3_dispatch.c:112:5: error: unused function 'get_cpu_features' [-Werror,-Wunused-function] full compiler log https://github.com/php/php-src/actions/runs/7762643678/job/21173438425?pr=13194
2025-06-20Update wasm32_simd.rskilavvy
2025-06-16Update wasm32_simd.rsleopardracer
2025-06-04remove a commaJack O'Connor
2025-06-01stop testing target-cpu=i386 on the i686 target tripleJack O'Connor
This started emitting warnings recently, and in the future those will be hard errors. See https://github.com/rust-lang/rust/issues/141848. The i586 target triple still works, and it's sufficient for exercising the non-SSE2 case. Fixes https://github.com/BLAKE3-team/BLAKE3/issues/489.
2025-05-29fix link to cryptography FM interviewTW
the old link isn't working and visiting it starts with a security warning from the browser...
2025-05-07update duct to v1.0.0Jack O'Connor
2025-04-30Quote cmake compiler frontend variable expansionsilvanshade
2025-04-30Relax Clang frontend variant detectionsilvanshade
This allows Clang frontend variant detection to work better in more scenarios such as when compiling with cross-compilers with platform prefixes.
2025-04-29build(cmake): Use tbb32 pkgconfig package on 32-bit buildsTim Schumacher
2025-04-24flesh out hash_derive_key_context and new_from_context_key docsJack O'Connor
2025-04-24update docs for the "std" featureJack O'Connor
Previously "std" enabled runtime CPU feature detection on x86, but as of https://github.com/BLAKE3-team/BLAKE3/pull/469 that's always on.
2025-04-24Check x86 features even in `no_std`Nazar Mokrynskyi
2025-04-20version 1.8.21.8.2Jack O'Connor
Changes since 1.8.1: - Fixes to the CMake build, particularly around the new TBB feature.
2025-04-20Remove `std` feature from `rayon` featureNazar Mokrynskyi
2025-04-20more entries in the Adoption sectionJack O'Connor
2025-04-19c: fix cmake call in docsPavel Shago
2025-04-17Add C++ std lib to pkg-configsilvanshade
2025-04-17Remove compiler check for TBB featuresilvanshade
Compilation may work with other configurations such as MinGW under the right circumstances.
2025-04-16clarify a commentJack O'Connor
2025-04-15alphabetical orderingJack O'Connor
2025-04-15Added Clickhouse to the adoption listShivji Kumar Jha
2025-04-13update what_does_check_do.md to mention \r escapingJack O'Connor
Windows newline escaping was added in b3sum v1.5.5 last year (1170f023bf459ea3d0bedd285d6ae32309ee348c), and this commit updates the check doc to reflect that. Note that Coreutils added \r escaping in v9.0 in 2021 (https://github.com/coreutils/coreutils/commit/ed1c58427d574fb4ff0cb8f915eb0d554000ceeb), a year after the original check doc was written.
2025-04-03Add CI tests for pkg-configsilvanshade
2025-04-03Fix pkg-config CFLAGS for multiple featuressilvanshade
2025-04-02version 1.8.11.8.1Jack O'Connor
Changes since 1.8.0: - [CMake] Fix transitive dependencies for TBB when libblake3 is built with BLAKE3_USE_TBB=1 (#460 and #461).
2025-04-02Add -DBLAKE3_USE_TBB to pkg-config CFLAGSsilvanshade
2025-04-02refactor: fix a few nits in the join function Henrik Gaßmann
The `join_pkg_config_requires` function would misbehave in a few edge cases. Though these edge cases aren't triggered by our current usage.
2025-04-02Propagate tbb through CMake configsilvanshade
2025-04-02Propagate tbb through pkg-configsilvanshade
2025-03-30version 1.8.01.8.0Jack O'Connor
Changes since 1.7.0: - The Rust crate now provides the `blake3::hazmat` module, which replaces the undocumented and now deprecated `blake3::guts` module. 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
2025-03-30add the `hazmat` module and deprecate the undocumented `guts` moduleJack O'Connor
https://github.com/BLAKE3-team/BLAKE3/pull/458