aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-07-12Add xof_many_avx512 for Windowscodex/port-blake3_xof_many_avx512-to-windowsJack O'Connor
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
2025-03-21macOS-latest runners are now ARM CPUsJack O'Connor
2025-03-18mention the "wasm32_simd" Cargo feature in the crate docsJack O'Connor
2025-03-18version 1.7.01.7.0Jack O'Connor
Changes since 1.6.1: - The C implementation has gained multithreading support, based on Intel's oneTBB library. This works similarly to the Rayon-based multithreading used in the Rust implementation. See c/README.md for details. Contributed by @silvanshade (#445). - The Rust implementation has gained a WASM SIMD backend, gated by the `wasm32_simd` Cargo feature. Under Wasmtime on my laptop, this is a 6x performance improvement for large inputs. This backend is currently Rust-only. Contributed by @monoid (#341). - Fixed cross-compilation builds targeting Windows with cargo-xwin. Contributed by @Sporif and @toothbrush7777777 (#230). - Added `b3sum --tag`, which changes the output format. This is for compatibility with GNU checksum tools (which use the same flag) and BSD checksum tools (which use the output format this flag turns on). Contributed by @leahneukirchen (#453) and @dbohdan (#430).
2025-03-18README.md tweaksJack O'Connor
2025-03-18make the test_vectors tests WASM-compatibleJack O'Connor
2025-03-18add wasm tests to CIJack O'Connor
2025-03-17many_chunks and many_parents benchmarks for wasmJack O'Connor
2025-03-17Define runner for wasm32-wasip1 target in config.tomlIvan Boldyrev
2025-03-16Rust 1.80 compatibility form `blake3_wasm32_simd`Ivan Boldyrev
2025-03-16Make some function safeIvan Boldyrev
Certain functions' unsafety comes from v128 loads and store. If argument types guarantee that these loads and stores are safe, function is declared safe, and internal unsafe blocks are commented.
2025-03-16Fix platform constantsIvan Boldyrev
2025-03-16Fix commentIvan Boldyrev
2025-03-16Remove unsafe from functions that do not need itIvan Boldyrev
Wasm SIMD API has certain function safe.
2025-03-16Misc textual improvementsIvan Boldyrev
2025-03-16Wasm32 SIMD implementationIvan Boldyrev
This code is based on rust_sse2.rs of the same distribution, and is subject to further improvements. Some comments are left intact even if their applicability is questioned. SIMD implementation is gated by `wasm32-simd` feature, portable version is used otherwise. Performance measurements with a primitive benchmark with ~16Kb of data: | M1 native | 11,610 ns | | M1 WASM SIMD | 13,355 ns | | M1 WASM | 22,037 ns | | x64 native | 6,713 ns | | x64 WASM SIMD | 11,985 ns | | x64 WASM | 25,978 ns | wasmtime v12.0.1 was used on both platforms. Closes #187.
2025-03-15close the fd in example_tbb.cJack O'Connor
2025-03-15example_tbb.cJack O'Connor