| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2026-01-08 | update to the 2024 edition | Jack 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. | |||
| 2025-11-24 | Add `Hash::as_slice()` for convenient serialization to bytes | Josh 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-10-22 | chore: make some documents clearer (#528) | wyrapeseed | |
| 2025-09-29 | some more unsafe blocks, in wasm32_simd.rs | Jack O'Connor | |
| 2025-09-29 | one more unsafe block, in ffi_neon.rs | Jack O'Connor | |
| 2025-09-29 | add explicit unsafe blocks to more unsafe functions | Jack 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-12 | Fix prefetch pointer addition that resulted in UB | Nazar Mokrynskyi | |
| 2025-06-20 | Update wasm32_simd.rs | kilavvy | |
| 2025-06-16 | Update wasm32_simd.rs | leopardracer | |
| 2025-06-04 | remove a comma | Jack O'Connor | |
| 2025-04-24 | flesh out hash_derive_key_context and new_from_context_key docs | Jack O'Connor | |
| 2025-04-24 | update docs for the "std" feature | Jack 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-24 | Check x86 features even in `no_std` | Nazar Mokrynskyi | |
| 2025-04-16 | clarify a comment | Jack O'Connor | |
| 2025-03-30 | add the `hazmat` module and deprecate the undocumented `guts` module | Jack O'Connor | |
| https://github.com/BLAKE3-team/BLAKE3/pull/458 | |||
| 2025-03-18 | mention the "wasm32_simd" Cargo feature in the crate docs | Jack O'Connor | |
| 2025-03-16 | Make some function safe | Ivan 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-16 | Fix platform constants | Ivan Boldyrev | |
| 2025-03-16 | Fix comment | Ivan Boldyrev | |
| 2025-03-16 | Remove unsafe from functions that do not need it | Ivan Boldyrev | |
| Wasm SIMD API has certain function safe. | |||
| 2025-03-16 | Misc textual improvements | Ivan Boldyrev | |
| 2025-03-16 | Wasm32 SIMD implementation | Ivan 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-02-20 | revert `unsafe extern "C"` blocks | Jack O'Connor | |
| This will be necessary when we eventually move to the 2024 edition, but for now it's an unnecessary MSRV bump. | |||
| 2025-02-20 | add `unsafe` annotations needed for the 2024 edition | Jack O'Connor | |
| 2025-02-17 | Add `Hash::from_slice` to handle conversion from `&[u8]` bytes | Josh Triplett | |
| This is a convenience method, to avoid having to first call `<[u8; 32]>::try_from(slice)?`. | |||
| 2025-02-06 | remove checks that memmap2 does internally | Jack O'Connor | |
| 2025-02-03 | upgrade rand to v0.9 | Jack O'Connor | |
| 2024-08-27 | Remove Miri equality workaround function | Aaron Feickert | |
| 2024-08-22 | put equivalent Hasher examples in the hash/keyed_hash/derive_key docs | Jack O'Connor | |
| This was a good suggestion by @dhardy: https://github.com/rust-random/rand/issues/989#issuecomment-2303969094 | |||
| 2024-08-19 | test_compare_reference_impl_long_xof | Jack O'Connor | |
| 2024-08-18 | delete portable::xof_many and blake3_xof_many_portable | Jack O'Connor | |
| 2024-08-18 | make xof_many fall back to compress_xof instead of portable code | Jack O'Connor | |
| 2024-08-18 | small cleanup in fill_one_block | Jack O'Connor | |
| 2024-08-18 | debug_assert that xof_many is always called with whole blocks | Jack O'Connor | |
| 2024-08-18 | test that xof_many doesn't write more blocks than requested | Jack O'Connor | |
| 2024-08-15 | mark blake3_xof_many_avx512 Unix-only in Rust and C | Jack O'Connor | |
| 2024-08-15 | test_fuzz_xof | Jack O'Connor | |
| 2024-08-15 | integrate xof_many with the Rust implementation and with Rust and C tests | Jack O'Connor | |
| 2024-07-17 | Manually implement `Zeroize` | Gard Kylling | |
| Removes dependence on proc-macros when enabling the zeroize feature. | |||
| 2024-07-14 | Revert "serialize Hash with serde_bytes" | Jack O'Connor | |
| This mostly reverts commits 8416b1658c2690dc6351bdc7e0975b0d5f1a5282 and dd0afd640ad97b5ebcf887107162009a23ffdca0. Changing the serialization of Hash can only be backwards-compatible in self-describing formats like CBOR. In non-self-describing formats like bincode, the deserializer has to know in advance which serialization format was used. Fixes https://github.com/BLAKE3-team/BLAKE3/issues/414. Reopens https://github.com/BLAKE3-team/BLAKE3/issues/412. | |||
| 2024-07-10 | update CBOR tests per @BurningEnlightenment's suggestions | Jack O'Connor | |
| https://github.com/BLAKE3-team/BLAKE3/issues/412#issuecomment-2220970998 | |||
| 2024-07-09 | serialize Hash with serde_bytes | Jack O'Connor | |
| Closes #412. | |||
| 2024-07-03 | chore: fix some comments | wangcundashang | |
| Signed-off-by: wangcundashang <[email protected]> | |||
| 2024-07-03 | Switch to rayon-core for faster build | silvanshade | |
| 2024-03-10 | test_miri_smoketest | Jack O'Connor | |
| 2024-03-09 | avoid using NamedTempFile under Miri | Jack O'Connor | |
| 2024-03-09 | avoid using constant_time_eq under Miri | Jack O'Connor | |
| 2024-03-09 | Support running inside miri | Ryo Onodera | |
| 2023-10-02 | allow(unreachable_code) in all the *_detected functions | Jack O'Connor | |
| Previously we only disabled these warnings for SSE2, which is assumed enabled on x86-64, but it looks like new nightly compilers are also assuming SSE4.1 on macOS. Disabling these warnings across all the detection functions accounts for that, and it also gets rid of some warnings that you'd see if you used RUSTFLAGS='-C target-cpu=native'. | |||
| 2023-09-19 | add a test for the new serde feature | Jack O'Connor | |
