diff --git a/.github/workflows/ascon-hash.yml b/.github/workflows/ascon-hash.yml index 86e5acce8..a231f37b8 100644 --- a/.github/workflows/ascon-hash.yml +++ b/.github/workflows/ascon-hash.yml @@ -21,7 +21,7 @@ jobs: set-msrv: uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master with: - msrv: 1.81.0 + msrv: 1.85.0 build: needs: set-msrv diff --git a/.github/workflows/belt-hash.yml b/.github/workflows/belt-hash.yml index fb96bf72b..9b2129618 100644 --- a/.github/workflows/belt-hash.yml +++ b/.github/workflows/belt-hash.yml @@ -21,7 +21,7 @@ jobs: set-msrv: uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master with: - msrv: 1.81.0 + msrv: 1.85.0 build: needs: set-msrv diff --git a/.github/workflows/blake2.yml b/.github/workflows/blake2.yml index eb0d9d770..eece44fc0 100644 --- a/.github/workflows/blake2.yml +++ b/.github/workflows/blake2.yml @@ -21,7 +21,7 @@ jobs: set-msrv: uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master with: - msrv: 1.81.0 + msrv: 1.85.0 build: needs: set-msrv diff --git a/.github/workflows/fsb.yml b/.github/workflows/fsb.yml index a8c5d4a91..61d3f3642 100644 --- a/.github/workflows/fsb.yml +++ b/.github/workflows/fsb.yml @@ -21,7 +21,7 @@ jobs: set-msrv: uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master with: - msrv: 1.81.0 + msrv: 1.85.0 build: needs: set-msrv diff --git a/.github/workflows/gost94.yml b/.github/workflows/gost94.yml index d6671341a..305152183 100644 --- a/.github/workflows/gost94.yml +++ b/.github/workflows/gost94.yml @@ -21,7 +21,7 @@ jobs: set-msrv: uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master with: - msrv: 1.81.0 + msrv: 1.85.0 build: needs: set-msrv diff --git a/.github/workflows/groestl.yml b/.github/workflows/groestl.yml index 34d4652c8..43cd74c8b 100644 --- a/.github/workflows/groestl.yml +++ b/.github/workflows/groestl.yml @@ -21,7 +21,7 @@ jobs: set-msrv: uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master with: - msrv: 1.81.0 + msrv: 1.85.0 build: needs: set-msrv diff --git a/.github/workflows/jh.yml b/.github/workflows/jh.yml index 64ebc3057..480dc8ff5 100644 --- a/.github/workflows/jh.yml +++ b/.github/workflows/jh.yml @@ -21,7 +21,7 @@ jobs: set-msrv: uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master with: - msrv: 1.81.0 + msrv: 1.85.0 build: needs: set-msrv diff --git a/.github/workflows/k12.yml b/.github/workflows/k12.yml index a25abb7ba..7b9a206e0 100644 --- a/.github/workflows/k12.yml +++ b/.github/workflows/k12.yml @@ -21,7 +21,7 @@ jobs: set-msrv: uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master with: - msrv: 1.81.0 + msrv: 1.85.0 build: needs: set-msrv diff --git a/.github/workflows/md2.yml b/.github/workflows/md2.yml index 6a3496140..7a6405ef7 100644 --- a/.github/workflows/md2.yml +++ b/.github/workflows/md2.yml @@ -21,7 +21,7 @@ jobs: set-msrv: uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master with: - msrv: 1.81.0 + msrv: 1.85.0 build: needs: set-msrv diff --git a/.github/workflows/md4.yml b/.github/workflows/md4.yml index c6e105aba..1315b67bb 100644 --- a/.github/workflows/md4.yml +++ b/.github/workflows/md4.yml @@ -21,7 +21,7 @@ jobs: set-msrv: uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master with: - msrv: 1.81.0 + msrv: 1.85.0 build: needs: set-msrv diff --git a/.github/workflows/md5.yml b/.github/workflows/md5.yml index b0b1be243..6a4c8ebfb 100644 --- a/.github/workflows/md5.yml +++ b/.github/workflows/md5.yml @@ -24,7 +24,7 @@ jobs: set-msrv: uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master with: - msrv: 1.81.0 + msrv: 1.85.0 build: needs: set-msrv diff --git a/.github/workflows/ripemd.yml b/.github/workflows/ripemd.yml index 5ace6345d..f67ec085a 100644 --- a/.github/workflows/ripemd.yml +++ b/.github/workflows/ripemd.yml @@ -21,7 +21,7 @@ jobs: set-msrv: uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master with: - msrv: 1.81.0 + msrv: 1.85.0 build: needs: set-msrv diff --git a/.github/workflows/sha1-checked.yml b/.github/workflows/sha1-checked.yml index 7080ee68a..0fa2713c4 100644 --- a/.github/workflows/sha1-checked.yml +++ b/.github/workflows/sha1-checked.yml @@ -21,7 +21,7 @@ jobs: set-msrv: uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master with: - msrv: 1.81.0 + msrv: 1.85.0 # Builds for no_std platforms build: @@ -47,7 +47,6 @@ jobs: - run: cargo hack build --target ${{ matrix.target }} --each-feature --exclude-features default,std minimal-versions: - if: false # TODO: temp disabled due to unpublished prerelease dependencies uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master with: working-directory: ${{ github.workflow }} diff --git a/.github/workflows/sha1.yml b/.github/workflows/sha1.yml index 7c254e403..deba1614d 100644 --- a/.github/workflows/sha1.yml +++ b/.github/workflows/sha1.yml @@ -21,7 +21,7 @@ jobs: set-msrv: uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master with: - msrv: 1.81.0 + msrv: 1.85.0 # Builds for no_std platforms build: diff --git a/.github/workflows/sha2.yml b/.github/workflows/sha2.yml index 96d1eb8dd..d969564ad 100644 --- a/.github/workflows/sha2.yml +++ b/.github/workflows/sha2.yml @@ -21,7 +21,7 @@ jobs: set-msrv: uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master with: - msrv: 1.81.0 + msrv: 1.85.0 # Builds for no_std platforms build: diff --git a/.github/workflows/sha3.yml b/.github/workflows/sha3.yml index 988eb5010..5dbe6b145 100644 --- a/.github/workflows/sha3.yml +++ b/.github/workflows/sha3.yml @@ -21,7 +21,7 @@ jobs: set-msrv: uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master with: - msrv: 1.81.0 + msrv: 1.85.0 build: needs: set-msrv diff --git a/.github/workflows/shabal.yml b/.github/workflows/shabal.yml index 29ee2aab9..90bcb5274 100644 --- a/.github/workflows/shabal.yml +++ b/.github/workflows/shabal.yml @@ -21,7 +21,7 @@ jobs: set-msrv: uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master with: - msrv: 1.81.0 + msrv: 1.85.0 build: needs: set-msrv diff --git a/.github/workflows/skein.yml b/.github/workflows/skein.yml index 8bb1aa44c..8d8ac984a 100644 --- a/.github/workflows/skein.yml +++ b/.github/workflows/skein.yml @@ -21,7 +21,7 @@ jobs: set-msrv: uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master with: - msrv: 1.81.0 + msrv: 1.85.0 build: needs: set-msrv diff --git a/.github/workflows/sm3.yml b/.github/workflows/sm3.yml index 6d7f61654..b258fc506 100644 --- a/.github/workflows/sm3.yml +++ b/.github/workflows/sm3.yml @@ -21,7 +21,7 @@ jobs: set-msrv: uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master with: - msrv: 1.81.0 + msrv: 1.85.0 build: needs: set-msrv diff --git a/.github/workflows/streebog.yml b/.github/workflows/streebog.yml index d0f746202..015e14501 100644 --- a/.github/workflows/streebog.yml +++ b/.github/workflows/streebog.yml @@ -21,7 +21,7 @@ jobs: set-msrv: uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master with: - msrv: 1.81.0 + msrv: 1.85.0 build: needs: set-msrv diff --git a/.github/workflows/tiger.yml b/.github/workflows/tiger.yml index 44a4e80e6..0b653ec91 100644 --- a/.github/workflows/tiger.yml +++ b/.github/workflows/tiger.yml @@ -24,7 +24,7 @@ jobs: set-msrv: uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master with: - msrv: 1.81.0 + msrv: 1.85.0 build: needs: set-msrv diff --git a/.github/workflows/whirlpool.yml b/.github/workflows/whirlpool.yml index b7ee6ef3a..ddb60d20f 100644 --- a/.github/workflows/whirlpool.yml +++ b/.github/workflows/whirlpool.yml @@ -21,7 +21,7 @@ jobs: set-msrv: uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master with: - msrv: 1.81.0 + msrv: 1.85.0 build: needs: set-msrv diff --git a/.github/workflows/workspace.yml b/.github/workflows/workspace.yml index 2a2b6cc61..5f73e8b7f 100644 --- a/.github/workflows/workspace.yml +++ b/.github/workflows/workspace.yml @@ -17,7 +17,7 @@ jobs: - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: - toolchain: 1.84.0 + toolchain: 1.85.0 components: clippy - run: cargo clippy --all -- -D warnings diff --git a/Cargo.lock b/Cargo.lock index f53521082..06f03fab6 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -56,15 +56,15 @@ dependencies = [ [[package]] name = "blobby" -version = "0.3.1" +version = "0.4.0-pre.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "847495c209977a90e8aad588b959d0ca9f5dc228096d29a6bd3defd53f35eaec" +checksum = "4a859067dcb257cb2ae028cb821399b55140b76fb8b2a360e052fe109019db43" [[package]] name = "block-buffer" -version = "0.11.0-rc.3" +version = "0.11.0-rc.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fd016a0ddc7cb13661bf5576073ce07330a693f8608a1320b4e20561cc12cdc" +checksum = "a229bfd78e4827c91b9b95784f69492c1b77c1ab75a45a8a037b139215086f94" dependencies = [ "hybrid-array", "zeroize", @@ -90,29 +90,27 @@ checksum = "68ff6be19477a1bd5441f382916a89bc2a0b2c35db6d41e0f6e8538bf6d6463f" [[package]] name = "cpufeatures" -version = "0.2.16" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16b80225097f2e5ae4e7179dd2266824648f3e2f49d9134d584b76389d31c4c3" +checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" dependencies = [ "libc", ] [[package]] name = "crypto-common" -version = "0.2.0-rc.1" +version = "0.2.0-rc.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0b8ce8218c97789f16356e7896b3714f26c2ee1079b79c0b7ae7064bb9089fa" +checksum = "170d71b5b14dec99db7739f6fc7d6ec2db80b78c3acb77db48392ccc3d8a9ea0" dependencies = [ - "getrandom", "hybrid-array", - "rand_core", ] [[package]] name = "digest" -version = "0.11.0-pre.9" +version = "0.11.0-pre.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf2e3d6615d99707295a9673e889bf363a04b2a466bd320c65a72536f7577379" +checksum = "6c478574b20020306f98d61c8ca3322d762e1ff08117422ac6106438605ea516" dependencies = [ "blobby", "block-buffer", @@ -132,17 +130,6 @@ dependencies = [ "whirlpool", ] -[[package]] -name = "getrandom" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" -dependencies = [ - "cfg-if", - "libc", - "wasi", -] - [[package]] name = "gost94" version = "0.11.0-pre" @@ -169,15 +156,15 @@ checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" [[package]] name = "hex-literal" -version = "0.4.1" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" +checksum = "bcaaec4551594c969335c98c903c1397853d4198408ea609190f420500f6be71" [[package]] name = "hybrid-array" -version = "0.2.1" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45a9a965bb102c1c891fb017c09a05c965186b1265a207640f323ddd009f9deb" +checksum = "4dab50e193aebe510fe0e40230145820e02f48dae0cf339ea4204e6e708ff7bd" dependencies = [ "typenum", ] @@ -212,9 +199,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.164" +version = "0.2.169" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "433bfe06b8c75da9b2e3fbea6e5329ff87748f0b144ef75306e674c3f6f7c13f" +checksum = "b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a" [[package]] name = "md-5" @@ -255,31 +242,22 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.92" +version = "1.0.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37d3544b3f2748c54e147655edb5025752e2303145b5aefb3c3ea2c78b973bb0" +checksum = "60946a68e5f9d28b0dc1c21bb8a97ee7d018a8b322fa57838ba31cc878e22d99" dependencies = [ "unicode-ident", ] [[package]] name = "quote" -version = "1.0.37" +version = "1.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" +checksum = "0e4dccaaaf89514f546c693ddc140f729f958c247918a13380cccc6078391acc" dependencies = [ "proc-macro2", ] -[[package]] -name = "rand_core" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" -dependencies = [ - "getrandom", -] - [[package]] name = "ripemd" version = "0.2.0-pre.4" @@ -383,9 +361,9 @@ checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" [[package]] name = "syn" -version = "2.0.89" +version = "2.0.98" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44d46482f1c1c87acd84dea20c1bf5ebff4c757009ed6bf19cfd36fb10e92c4e" +checksum = "36147f1a48ae0ec2b5b3bc5b537d267457555a10dc06f3dbc8cb11ba3006d3b1" dependencies = [ "proc-macro2", "quote", @@ -412,21 +390,15 @@ dependencies = [ [[package]] name = "typenum" -version = "1.17.0" +version = "1.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" +checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f" [[package]] name = "unicode-ident" -version = "1.0.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adb9e6ca4f869e1180728b7950e35922a7fc6397f7b641499e8f3ef06e50dc83" - -[[package]] -name = "wasi" -version = "0.11.0+wasi-snapshot-preview1" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" +checksum = "00e2473a93778eb0bad35909dff6a10d28e63f792f16ed15e404fca9d5eeedbe" [[package]] name = "whirlpool" diff --git a/Cargo.toml b/Cargo.toml index e13018a46..f333d2a4c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,5 +1,5 @@ [workspace] -resolver = "2" +resolver = "3" members = [ "ascon-hash", "belt-hash", @@ -27,6 +27,3 @@ members = [ [profile.dev] opt-level = 2 - -[patch.crates-io] -sha1 = { path = "./sha1" } diff --git a/README.md b/README.md index fcfe6b357..23bab4915 100644 --- a/README.md +++ b/README.md @@ -13,28 +13,28 @@ Additionally all crates do not require the standard library (i.e. `no_std` capab | Algorithm | Crate | Crates.io | Documentation | MSRV | [Security] | |-----------|-------|:---------:|:-------------:|:----:|:----------:| -| [Ascon] hash | [`ascon‑hash`] | [![crates.io](https://img.shields.io/crates/v/ascon-hash.svg)](https://crates.io/crates/ascon-hash) | [![Documentation](https://docs.rs/ascon-hash/badge.svg)](https://docs.rs/ascon-hash) | ![MSRV 1.81][msrv-1.81] | :green_heart: | -| [BelT] hash | [`belt‑hash`] | [![crates.io](https://img.shields.io/crates/v/belt-hash.svg)](https://crates.io/crates/belt-hash) | [![Documentation](https://docs.rs/belt-hash/badge.svg)](https://docs.rs/belt-hash) | ![MSRV 1.81][msrv-1.81] | :green_heart: | -| [BLAKE2] | [`blake2`] | [![crates.io](https://img.shields.io/crates/v/blake2.svg)](https://crates.io/crates/blake2) | [![Documentation](https://docs.rs/blake2/badge.svg)](https://docs.rs/blake2) | ![MSRV 1.81][msrv-1.81] | :green_heart: | -| [FSB] | [`fsb`] | [![crates.io](https://img.shields.io/crates/v/fsb.svg)](https://crates.io/crates/fsb) | [![Documentation](https://docs.rs/fsb/badge.svg)](https://docs.rs/fsb) | ![MSRV 1.81][msrv-1.81] | :green_heart: | -| [GOST R 34.11-94][GOST94] | [`gost94`] | [![crates.io](https://img.shields.io/crates/v/gost94.svg)](https://crates.io/crates/gost94) | [![Documentation](https://docs.rs/gost94/badge.svg)](https://docs.rs/gost94) | ![MSRV 1.81][msrv-1.81] | :yellow_heart: | -| [Grøstl] (Groestl) | [`groestl`] | [![crates.io](https://img.shields.io/crates/v/groestl.svg)](https://crates.io/crates/groestl) | [![Documentation](https://docs.rs/groestl/badge.svg)](https://docs.rs/groestl) | ![MSRV 1.81][msrv-1.81] | :green_heart: | -| [JH] | [`jh`] | [![crates.io](https://img.shields.io/crates/v/jh.svg)](https://crates.io/crates/jh) | [![Documentation](https://docs.rs/jh/badge.svg)](https://docs.rs/jh) | ![MSRV 1.81][msrv-1.81] | :green_heart: | -| [KangarooTwelve] | [`k12`] | [![crates.io](https://img.shields.io/crates/v/k12.svg)](https://crates.io/crates/k12) | [![Documentation](https://docs.rs/k12/badge.svg)](https://docs.rs/k12) | ![MSRV 1.81][msrv-1.81] | :green_heart: | -| [MD2] | [`md2`] | [![crates.io](https://img.shields.io/crates/v/md2.svg)](https://crates.io/crates/md2) | [![Documentation](https://docs.rs/md2/badge.svg)](https://docs.rs/md2) | ![MSRV 1.81][msrv-1.81] | :broken_heart: | -| [MD4] | [`md4`] | [![crates.io](https://img.shields.io/crates/v/md4.svg)](https://crates.io/crates/md4) | [![Documentation](https://docs.rs/md4/badge.svg)](https://docs.rs/md4) | ![MSRV 1.81][msrv-1.81] | :broken_heart: | -| [MD5] | [`md5`] [:exclamation:] | [![crates.io](https://img.shields.io/crates/v/md-5.svg)](https://crates.io/crates/md-5) | [![Documentation](https://docs.rs/md-5/badge.svg)](https://docs.rs/md-5) | ![MSRV 1.81][msrv-1.81] | :broken_heart: | -| [RIPEMD] | [`ripemd`] | [![crates.io](https://img.shields.io/crates/v/ripemd.svg)](https://crates.io/crates/ripemd) | [![Documentation](https://docs.rs/ripemd/badge.svg)](https://docs.rs/ripemd) | ![MSRV 1.81][msrv-1.81] | :green_heart: | -| [SHA-1] | [`sha1`] | [![crates.io](https://img.shields.io/crates/v/sha1.svg)](https://crates.io/crates/sha1) | [![Documentation](https://docs.rs/sha1/badge.svg)](https://docs.rs/sha1) | ![MSRV 1.81][msrv-1.81] | :broken_heart: | -| [SHA-1 Checked] | [`sha1-checked`] | [![crates.io](https://img.shields.io/crates/v/sha1-checked.svg)](https://crates.io/crates/sha1-checked) | [![Documentation](https://docs.rs/sha1-checked/badge.svg)](https://docs.rs/sha1-checked) | ![MSRV 1.81][msrv-1.81] | :yellow_heart: | -| [SHA-2] | [`sha2`] | [![crates.io](https://img.shields.io/crates/v/sha2.svg)](https://crates.io/crates/sha2) | [![Documentation](https://docs.rs/sha2/badge.svg)](https://docs.rs/sha2) | ![MSRV 1.81][msrv-1.81] | :green_heart: | -| [SHA-3] (Keccak) | [`sha3`] | [![crates.io](https://img.shields.io/crates/v/sha3.svg)](https://crates.io/crates/sha3) | [![Documentation](https://docs.rs/sha3/badge.svg)](https://docs.rs/sha3) | ![MSRV 1.81][msrv-1.81] | :green_heart: | -| [SHABAL] | [`shabal`] | [![crates.io](https://img.shields.io/crates/v/shabal.svg)](https://crates.io/crates/shabal) | [![Documentation](https://docs.rs/shabal/badge.svg)](https://docs.rs/shabal) | ![MSRV 1.81][msrv-1.81] | :green_heart: | -| [Skein] | [`skein`] | [![crates.io](https://img.shields.io/crates/v/skein.svg)](https://crates.io/crates/skein) | [![Documentation](https://docs.rs/skein/badge.svg)](https://docs.rs/skein) | ![MSRV 1.81][msrv-1.81] | :green_heart: | -| [SM3] (OSCCA GM/T 0004-2012) | [`sm3`] | [![crates.io](https://img.shields.io/crates/v/sm3.svg)](https://crates.io/crates/sm3) | [![Documentation](https://docs.rs/sm3/badge.svg)](https://docs.rs/sm3) | ![MSRV 1.81][msrv-1.81] | :green_heart: | -| [Streebog] (GOST R 34.11-2012) | [`streebog`] | [![crates.io](https://img.shields.io/crates/v/streebog.svg)](https://crates.io/crates/streebog) | [![Documentation](https://docs.rs/streebog/badge.svg)](https://docs.rs/streebog) | ![MSRV 1.81][msrv-1.81] | :yellow_heart: | -| [Tiger] | [`tiger`] | [![crates.io](https://img.shields.io/crates/v/tiger.svg)](https://crates.io/crates/tiger) | [![Documentation](https://docs.rs/tiger/badge.svg)](https://docs.rs/tiger) | ![MSRV 1.81][msrv-1.81] | :green_heart: | -| [Whirlpool] | [`whirlpool`] | [![crates.io](https://img.shields.io/crates/v/whirlpool.svg)](https://crates.io/crates/whirlpool) | [![Documentation](https://docs.rs/whirlpool/badge.svg)](https://docs.rs/whirlpool) | ![MSRV 1.81][msrv-1.81] | :green_heart: | +| [Ascon] hash | [`ascon‑hash`] | [![crates.io](https://img.shields.io/crates/v/ascon-hash.svg)](https://crates.io/crates/ascon-hash) | [![Documentation](https://docs.rs/ascon-hash/badge.svg)](https://docs.rs/ascon-hash) | ![MSRV 1.85][msrv-1.85] | :green_heart: | +| [BelT] hash | [`belt‑hash`] | [![crates.io](https://img.shields.io/crates/v/belt-hash.svg)](https://crates.io/crates/belt-hash) | [![Documentation](https://docs.rs/belt-hash/badge.svg)](https://docs.rs/belt-hash) | ![MSRV 1.85][msrv-1.85] | :green_heart: | +| [BLAKE2] | [`blake2`] | [![crates.io](https://img.shields.io/crates/v/blake2.svg)](https://crates.io/crates/blake2) | [![Documentation](https://docs.rs/blake2/badge.svg)](https://docs.rs/blake2) | ![MSRV 1.85][msrv-1.85] | :green_heart: | +| [FSB] | [`fsb`] | [![crates.io](https://img.shields.io/crates/v/fsb.svg)](https://crates.io/crates/fsb) | [![Documentation](https://docs.rs/fsb/badge.svg)](https://docs.rs/fsb) | ![MSRV 1.85][msrv-1.85] | :green_heart: | +| [GOST R 34.11-94][GOST94] | [`gost94`] | [![crates.io](https://img.shields.io/crates/v/gost94.svg)](https://crates.io/crates/gost94) | [![Documentation](https://docs.rs/gost94/badge.svg)](https://docs.rs/gost94) | ![MSRV 1.85][msrv-1.85] | :yellow_heart: | +| [Grøstl] (Groestl) | [`groestl`] | [![crates.io](https://img.shields.io/crates/v/groestl.svg)](https://crates.io/crates/groestl) | [![Documentation](https://docs.rs/groestl/badge.svg)](https://docs.rs/groestl) | ![MSRV 1.85][msrv-1.85] | :green_heart: | +| [JH] | [`jh`] | [![crates.io](https://img.shields.io/crates/v/jh.svg)](https://crates.io/crates/jh) | [![Documentation](https://docs.rs/jh/badge.svg)](https://docs.rs/jh) | ![MSRV 1.85][msrv-1.85] | :green_heart: | +| [KangarooTwelve] | [`k12`] | [![crates.io](https://img.shields.io/crates/v/k12.svg)](https://crates.io/crates/k12) | [![Documentation](https://docs.rs/k12/badge.svg)](https://docs.rs/k12) | ![MSRV 1.85][msrv-1.85] | :green_heart: | +| [MD2] | [`md2`] | [![crates.io](https://img.shields.io/crates/v/md2.svg)](https://crates.io/crates/md2) | [![Documentation](https://docs.rs/md2/badge.svg)](https://docs.rs/md2) | ![MSRV 1.85][msrv-1.85] | :broken_heart: | +| [MD4] | [`md4`] | [![crates.io](https://img.shields.io/crates/v/md4.svg)](https://crates.io/crates/md4) | [![Documentation](https://docs.rs/md4/badge.svg)](https://docs.rs/md4) | ![MSRV 1.85][msrv-1.85] | :broken_heart: | +| [MD5] | [`md5`] [:exclamation:] | [![crates.io](https://img.shields.io/crates/v/md-5.svg)](https://crates.io/crates/md-5) | [![Documentation](https://docs.rs/md-5/badge.svg)](https://docs.rs/md-5) | ![MSRV 1.85][msrv-1.85] | :broken_heart: | +| [RIPEMD] | [`ripemd`] | [![crates.io](https://img.shields.io/crates/v/ripemd.svg)](https://crates.io/crates/ripemd) | [![Documentation](https://docs.rs/ripemd/badge.svg)](https://docs.rs/ripemd) | ![MSRV 1.85][msrv-1.85] | :green_heart: | +| [SHA-1] | [`sha1`] | [![crates.io](https://img.shields.io/crates/v/sha1.svg)](https://crates.io/crates/sha1) | [![Documentation](https://docs.rs/sha1/badge.svg)](https://docs.rs/sha1) | ![MSRV 1.85][msrv-1.85] | :broken_heart: | +| [SHA-1 Checked] | [`sha1-checked`] | [![crates.io](https://img.shields.io/crates/v/sha1-checked.svg)](https://crates.io/crates/sha1-checked) | [![Documentation](https://docs.rs/sha1-checked/badge.svg)](https://docs.rs/sha1-checked) | ![MSRV 1.85][msrv-1.85] | :yellow_heart: | +| [SHA-2] | [`sha2`] | [![crates.io](https://img.shields.io/crates/v/sha2.svg)](https://crates.io/crates/sha2) | [![Documentation](https://docs.rs/sha2/badge.svg)](https://docs.rs/sha2) | ![MSRV 1.85][msrv-1.85] | :green_heart: | +| [SHA-3] (Keccak) | [`sha3`] | [![crates.io](https://img.shields.io/crates/v/sha3.svg)](https://crates.io/crates/sha3) | [![Documentation](https://docs.rs/sha3/badge.svg)](https://docs.rs/sha3) | ![MSRV 1.85][msrv-1.85] | :green_heart: | +| [SHABAL] | [`shabal`] | [![crates.io](https://img.shields.io/crates/v/shabal.svg)](https://crates.io/crates/shabal) | [![Documentation](https://docs.rs/shabal/badge.svg)](https://docs.rs/shabal) | ![MSRV 1.85][msrv-1.85] | :green_heart: | +| [Skein] | [`skein`] | [![crates.io](https://img.shields.io/crates/v/skein.svg)](https://crates.io/crates/skein) | [![Documentation](https://docs.rs/skein/badge.svg)](https://docs.rs/skein) | ![MSRV 1.85][msrv-1.85] | :green_heart: | +| [SM3] (OSCCA GM/T 0004-2012) | [`sm3`] | [![crates.io](https://img.shields.io/crates/v/sm3.svg)](https://crates.io/crates/sm3) | [![Documentation](https://docs.rs/sm3/badge.svg)](https://docs.rs/sm3) | ![MSRV 1.85][msrv-1.85] | :green_heart: | +| [Streebog] (GOST R 34.11-2012) | [`streebog`] | [![crates.io](https://img.shields.io/crates/v/streebog.svg)](https://crates.io/crates/streebog) | [![Documentation](https://docs.rs/streebog/badge.svg)](https://docs.rs/streebog) | ![MSRV 1.85][msrv-1.85] | :yellow_heart: | +| [Tiger] | [`tiger`] | [![crates.io](https://img.shields.io/crates/v/tiger.svg)](https://crates.io/crates/tiger) | [![Documentation](https://docs.rs/tiger/badge.svg)](https://docs.rs/tiger) | ![MSRV 1.85][msrv-1.85] | :green_heart: | +| [Whirlpool] | [`whirlpool`] | [![crates.io](https://img.shields.io/crates/v/whirlpool.svg)](https://crates.io/crates/whirlpool) | [![Documentation](https://docs.rs/whirlpool/badge.svg)](https://docs.rs/whirlpool) | ![MSRV 1.85][msrv-1.85] | :green_heart: | NOTE: the [`blake3`] crate implements the `digest` traits used by the rest of the hashes in this repository, but is maintained by the BLAKE3 team. @@ -64,10 +64,6 @@ Note that the library itself is named as `md5`, i.e. inside `use` statements you The SHA-1 implementation was previously published as `sha-1`, but migrated to `sha1` since v0.10.0. `sha-1` will continue to receive v0.10.x patch updates, but will be deprecated after `sha1` v0.11 release. -### Minimum Supported Rust Version (MSRV) Policy - -MSRV bumps are considered breaking changes and will be performed only with minor version bump. - ## Examples Let us demonstrate how to use crates in this repository using SHA-2 as an example. @@ -234,7 +230,7 @@ Unless you explicitly state otherwise, any contribution intentionally submitted [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg [deps-image]: https://deps.rs/repo/github/RustCrypto/hashes/status.svg [deps-link]: https://deps.rs/repo/github/RustCrypto/hashes -[msrv-1.81]: https://img.shields.io/badge/rustc-1.81.0+-blue.svg +[msrv-1.85]: https://img.shields.io/badge/rustc-1.85.0+-blue.svg [//]: # (crates) diff --git a/ascon-hash/CHANGELOG.md b/ascon-hash/CHANGELOG.md index e06a029be..7f7de4da2 100644 --- a/ascon-hash/CHANGELOG.md +++ b/ascon-hash/CHANGELOG.md @@ -4,6 +4,14 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.3.0 (UNRELEASED) +### Changed +- Edition changed to 2024 and MSRV bumped to 1.85 ([#652]) +- Relax MSRV policy and allow MSRV bumps in patch releases +- Update to `digest` v0.11 + +[#652]: https://github.com/RustCrypto/hashes/pull/652 + ## 0.2.0 (2023-03-21) ### Changed - Drop MSRV back to 1.56 and keep it in sync with `ascon` ([#459]) diff --git a/ascon-hash/Cargo.toml b/ascon-hash/Cargo.toml index 017c5b59d..4dcb8c82e 100644 --- a/ascon-hash/Cargo.toml +++ b/ascon-hash/Cargo.toml @@ -8,21 +8,21 @@ authors = [ ] license = "Apache-2.0 OR MIT" readme = "README.md" -edition = "2021" +edition = "2024" +rust-version = "1.85" documentation = "https://docs.rs/ascon-hash" repository = "https://github.com/RustCrypto/hashes" keywords = ["crypto", "hash", "ascon"] categories = ["cryptography", "no-std"] -rust-version = "1.81" [dependencies] -digest = { version = "=0.11.0-pre.9", default-features = false, features = ["core-api"] } +digest = { version = "=0.11.0-pre.10", default-features = false, features = ["core-api"] } ascon = { version = "0.4", default-features = false } [dev-dependencies] spectral = { version = "0.6", default-features = false } hex = "0.4" -hex-literal = "0.4" +hex-literal = "1" base16ct = { version = "0.2", features = ["alloc"] } [features] diff --git a/ascon-hash/README.md b/ascon-hash/README.md index 35483358b..e9d15089e 100644 --- a/ascon-hash/README.md +++ b/ascon-hash/README.md @@ -49,13 +49,6 @@ assert_eq!(dst, hex!("c21972fde9")); Also, see the [examples section] in the RustCrypto/hashes readme. -## Minimum Supported Rust Version - -This crate requires **Rust 1.81** at a minimum. - -We may change the MSRV in the future, but it will be accompanied by a minor -version bump. - ## License The crate is licensed under either of: @@ -78,7 +71,7 @@ dual licensed as above, without any additional terms or conditions. [docs-image]: https://docs.rs/ascon-hash/badge.svg [docs-link]: https://docs.rs/ascon-hash/ [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg -[rustc-image]: https://img.shields.io/badge/rustc-1.81+-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.85+-blue.svg [chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg [chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes [build-image]: https://github.com/RustCrypto/hashes/workflows/ascon-hash/badge.svg?branch=master diff --git a/ascon-hash/src/lib.rs b/ascon-hash/src/lib.rs index 0733f811e..5c138fe63 100644 --- a/ascon-hash/src/lib.rs +++ b/ascon-hash/src/lib.rs @@ -9,17 +9,17 @@ use core::marker::PhantomData; -use ascon::{pad, State}; +use ascon::{State, pad}; pub use digest::{self, Digest, ExtendableOutput, Reset, Update, XofReader}; use digest::{ + HashMarker, Output, OutputSizeUser, block_buffer::Eager, - consts::{U32, U8}, + consts::{U8, U32}, core_api::{ AlgorithmName, Block, Buffer, BufferKindUser, CoreWrapper, ExtendableOutputCore, FixedOutputCore, UpdateCore, XofReaderCore, XofReaderCoreWrapper, }, crypto_common::BlockSizeUser, - HashMarker, Output, OutputSizeUser, }; /// Parameters for Ascon hash instances. diff --git a/ascon-hash/tests/kats_tests.rs b/ascon-hash/tests/kats_tests.rs index 899409e43..825cbb7b4 100644 --- a/ascon-hash/tests/kats_tests.rs +++ b/ascon-hash/tests/kats_tests.rs @@ -4,7 +4,7 @@ use std::collections::HashMap; use std::include_str; -use spectral::prelude::{asserting, OrderedAssertions}; +use spectral::prelude::{OrderedAssertions, asserting}; use ascon_hash::{ AsconAHash, AsconAXof, AsconHash, AsconXof, Digest, ExtendableOutput, Reset, XofReader, diff --git a/belt-hash/CHANGELOG.md b/belt-hash/CHANGELOG.md index 449e99ef9..e33c8aeb1 100644 --- a/belt-hash/CHANGELOG.md +++ b/belt-hash/CHANGELOG.md @@ -5,6 +5,14 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.2.0 (UNRELEASED) +### Changed +- Edition changed to 2024 and MSRV bumped to 1.85 ([#652]) +- Relax MSRV policy and allow MSRV bumps in patch releases +- Update to `digest` v0.11 + +[#652]: https://github.com/RustCrypto/hashes/pull/652 + ## 0.1.1 (2022-11-22) ### Added - `belt_compress` function ([#520]) diff --git a/belt-hash/Cargo.toml b/belt-hash/Cargo.toml index 294df5203..4cf39672d 100644 --- a/belt-hash/Cargo.toml +++ b/belt-hash/Cargo.toml @@ -5,20 +5,20 @@ description = "BelT hash function (STB 34.101.31-2020)" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" readme = "README.md" -edition = "2021" -rust-version = "1.81" +edition = "2024" +rust-version = "1.85" documentation = "https://docs.rs/belt-hash" repository = "https://github.com/RustCrypto/hashes" keywords = ["crypto", "belt", "stb", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "=0.11.0-pre.9" +digest = "=0.11.0-pre.10" belt-block = { version = "0.1.1", default-features = false } [dev-dependencies] -digest = { version = "=0.11.0-pre.9", features = ["dev"] } -hex-literal = "0.4" +digest = { version = "=0.11.0-pre.10", features = ["dev"] } +hex-literal = "1" base16ct = { version = "0.2", features = ["alloc"] } [features] diff --git a/belt-hash/README.md b/belt-hash/README.md index 6faa749f3..035b333c2 100644 --- a/belt-hash/README.md +++ b/belt-hash/README.md @@ -27,18 +27,6 @@ assert_eq!(hex_hash, "afb175816416fbadad4629ecbd78e1887789881f2d2e5b80c22a746b7a Also, see the [examples section] in the RustCrypto/hashes readme. -## Minimum Supported Rust Version - -Rust **1.81** or higher. - -Minimum supported Rust version can be changed in the future, but it will be -done with a minor version bump. - -## SemVer Policy - -- All on-by-default features of this library are covered by SemVer -- MSRV is considered exempt from SemVer as noted above - ## License The crate is licensed under either of: @@ -61,7 +49,7 @@ dual licensed as above, without any additional terms or conditions. [docs-image]: https://docs.rs/belt-hash/badge.svg [docs-link]: https://docs.rs/belt-hash [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg -[rustc-image]: https://img.shields.io/badge/rustc-1.81+-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.85+-blue.svg [chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg [chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes [build-image]: https://github.com/RustCrypto/hashes/workflows/belt-hash/badge.svg?branch=master diff --git a/belt-hash/src/lib.rs b/belt-hash/src/lib.rs index 874b490e8..545826195 100644 --- a/belt-hash/src/lib.rs +++ b/belt-hash/src/lib.rs @@ -15,13 +15,13 @@ use core::fmt; #[cfg(feature = "oid")] use digest::const_oid::{AssociatedOid, ObjectIdentifier}; use digest::{ + HashMarker, Output, block_buffer::Eager, core_api::{ AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, CoreWrapper, FixedOutputCore, OutputSizeUser, Reset, UpdateCore, }, - typenum::{Unsigned, U32}, - HashMarker, Output, + typenum::{U32, Unsigned}, }; #[cfg(feature = "zeroize")] diff --git a/benches/Cargo.toml b/benches/Cargo.toml index d57094bbc..8e5322fe9 100644 --- a/benches/Cargo.toml +++ b/benches/Cargo.toml @@ -4,8 +4,8 @@ version = "0.0.0" authors = ["RustCrypto Developers"] license = "Apache-2.0 OR MIT" description = "Criterion benchmarks of the hash crates" -edition = "2021" -rust-version = "1.71" +edition = "2024" +rust-version = "1.85" publish = false [workspace] @@ -13,7 +13,7 @@ publish = false [dependencies] ascon-hash = { path = "../ascon-hash" } criterion = "0.4" -rand = { version = "0.8", default-features = false, features = [ +rand = { version = "0.9", default-features = false, features = [ "std_rng", "getrandom", ] } diff --git a/blake2/CHANGELOG.md b/blake2/CHANGELOG.md index 632a5cb9f..b0890d62e 100644 --- a/blake2/CHANGELOG.md +++ b/blake2/CHANGELOG.md @@ -5,6 +5,14 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.11.0 (UNRELEASED) +### Changed +- Edition changed to 2024 and MSRV bumped to 1.85 ([#652]) +- Relax MSRV policy and allow MSRV bumps in patch releases +- Update to `digest` v0.11 + +[#652]: https://github.com/RustCrypto/hashes/pull/652 + ## 0.10.6 (2022-12-16) ### Added - `size_opt` Cargo feature ([#440]) diff --git a/blake2/Cargo.toml b/blake2/Cargo.toml index 23d13c928..3f731956f 100644 --- a/blake2/Cargo.toml +++ b/blake2/Cargo.toml @@ -5,19 +5,19 @@ description = "BLAKE2 hash functions" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" readme = "README.md" -edition = "2021" +edition = "2024" +rust-version = "1.85" documentation = "https://docs.rs/blake2" repository = "https://github.com/RustCrypto/hashes" keywords = ["crypto", "blake2", "hash", "digest"] categories = ["cryptography", "no-std"] -rust-version = "1.81" [dependencies] -digest = { version = "=0.11.0-pre.9", features = ["mac"] } +digest = { version = "=0.11.0-pre.10", features = ["mac"] } [dev-dependencies] -digest = { version = "=0.11.0-pre.9", features = ["dev"] } -hex-literal = "0.4" +digest = { version = "=0.11.0-pre.10", features = ["dev"] } +hex-literal = "1" base16ct = { version = "0.2", features = ["alloc"] } [features] diff --git a/blake2/README.md b/blake2/README.md index 3c4e3a092..c4f5dd948 100644 --- a/blake2/README.md +++ b/blake2/README.md @@ -73,18 +73,6 @@ let res = hasher.finalize(); assert_eq!(res, hex!("2cc55c84e416924e6400")); ``` -## Minimum Supported Rust Version - -Rust **1.81** or higher. - -Minimum supported Rust version can be changed in the future, but it will be -done with a minor version bump. - -## SemVer Policy - -- All on-by-default features of this library are covered by SemVer -- MSRV is considered exempt from SemVer as noted above - ## License The crate is licensed under either of: @@ -109,7 +97,7 @@ dual licensed as above, without any additional terms or conditions. [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg [chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg [chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes -[rustc-image]: https://img.shields.io/badge/rustc-1.81+-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.85+-blue.svg [build-image]: https://github.com/RustCrypto/hashes/workflows/blake2/badge.svg?branch=master [build-link]: https://github.com/RustCrypto/hashes/actions?query=workflow%3Ablake2 diff --git a/blake2/src/lib.rs b/blake2/src/lib.rs index 5f14c2310..46c64be5e 100644 --- a/blake2/src/lib.rs +++ b/blake2/src/lib.rs @@ -17,9 +17,10 @@ pub use digest::{self, Digest}; use core::{fmt, marker::PhantomData, ops::Div}; use digest::{ + FixedOutput, HashMarker, InvalidOutputSize, MacMarker, Output, Update, array::{Array, ArraySize}, block_buffer::{Lazy, LazyBuffer}, - consts::{U128, U16, U32, U4, U64}, + consts::{U4, U16, U32, U64, U128}, core_api::{ AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, CoreWrapper, CtVariableCoreWrapper, OutputSizeUser, RtVariableCoreWrapper, TruncSide, UpdateCore, @@ -27,7 +28,6 @@ use digest::{ }, crypto_common::{InvalidLength, Key, KeyInit, KeySizeUser}, typenum::{IsLessOrEqual, LeEq, NonZero, Unsigned}, - FixedOutput, HashMarker, InvalidOutputSize, MacMarker, Output, Update, }; #[cfg(feature = "reset")] use digest::{FixedOutputReset, Reset}; @@ -45,7 +45,7 @@ mod macros; use as_bytes::AsBytes; use consts::{BLAKE2B_IV, BLAKE2S_IV}; -use simd::{u32x4, u64x4, Vector4}; +use simd::{Vector4, u32x4, u64x4}; blake2_impl!( Blake2bVarCore, diff --git a/blake2/tests/mac.rs b/blake2/tests/mac.rs index 6534f98cb..370fae092 100644 --- a/blake2/tests/mac.rs +++ b/blake2/tests/mac.rs @@ -8,7 +8,7 @@ new_test!(blake2s_mac, "blake2s/mac", blake2::Blake2sMac256); #[test] fn blake2b_new_test() { - use blake2::digest::{array::Array, KeyInit, Mac}; + use blake2::digest::{KeyInit, Mac, array::Array}; fn run(key: &[u8]) { const DATA: &[u8] = &[42; 300]; diff --git a/blake2/tests/persona.rs b/blake2/tests/persona.rs index b2c552df4..b9c0503e1 100644 --- a/blake2/tests/persona.rs +++ b/blake2/tests/persona.rs @@ -1,4 +1,4 @@ -use blake2::{digest::FixedOutput, Blake2bMac512, Blake2sMac256}; +use blake2::{Blake2bMac512, Blake2sMac256, digest::FixedOutput}; use hex_literal::hex; #[test] diff --git a/blake2/tests/unkeyed.rs b/blake2/tests/unkeyed.rs index 37bcb14e9..8d1dedc7d 100644 --- a/blake2/tests/unkeyed.rs +++ b/blake2/tests/unkeyed.rs @@ -1,4 +1,4 @@ -use blake2::{digest::FixedOutput, Blake2bMac512, Blake2sMac256}; +use blake2::{Blake2bMac512, Blake2sMac256, digest::FixedOutput}; use hex_literal::hex; #[test] diff --git a/fsb/CHANGELOG.md b/fsb/CHANGELOG.md index 6e986538b..ff864ccb6 100644 --- a/fsb/CHANGELOG.md +++ b/fsb/CHANGELOG.md @@ -5,6 +5,14 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.2.0 (UNRELEASED) +### Changed +- Edition changed to 2024 and MSRV bumped to 1.85 ([#652]) +- Relax MSRV policy and allow MSRV bumps in patch releases +- Update to `digest` v0.11 + +[#652]: https://github.com/RustCrypto/hashes/pull/652 + ## 0.1.3 (2022-09-03) ### Fixed - MSRV issue caused by `resolver = "2"` ([#402]) diff --git a/fsb/Cargo.toml b/fsb/Cargo.toml index 826862aa3..837319e56 100644 --- a/fsb/Cargo.toml +++ b/fsb/Cargo.toml @@ -5,20 +5,20 @@ description = "FSB hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" readme = "README.md" -edition = "2021" +edition = "2024" +rust-version = "1.85" documentation = "https://docs.rs/fsb" repository = "https://github.com/RustCrypto/hashes" keywords = ["crypto", "fsb", "hash", "digest"] categories = ["cryptography", "no-std"] -rust-version = "1.81" [dependencies] -digest = "=0.11.0-pre.9" +digest = "=0.11.0-pre.10" whirlpool = { version = "=0.11.0-pre.4", path = "../whirlpool", default-features = false } [dev-dependencies] -digest = { version = "=0.11.0-pre.9", features = ["dev"] } -hex-literal = "0.4" +digest = { version = "=0.11.0-pre.10", features = ["dev"] } +hex-literal = "1" base16ct = { version = "0.2", features = ["alloc"] } [features] diff --git a/fsb/README.md b/fsb/README.md index c15ec4a09..02e3ea5a1 100644 --- a/fsb/README.md +++ b/fsb/README.md @@ -39,18 +39,6 @@ assert_eq!(hex_hash, "0f036dc3761aed2cba9de586a85976eedde6fa8f115c0190763decc02f Also, see the [examples section] in the RustCrypto/hashes readme. -## Minimum Supported Rust Version - -Rust **1.81** or higher. - -Minimum supported Rust version can be changed in the future, but it will be -done with a minor version bump. - -## SemVer Policy - -- All on-by-default features of this library are covered by SemVer -- MSRV is considered exempt from SemVer as noted above - ## License The crate is licensed under either of: @@ -75,7 +63,7 @@ dual licensed as above, without any additional terms or conditions. [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg [chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg [chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes -[rustc-image]: https://img.shields.io/badge/rustc-1.81+-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.85+-blue.svg [build-image]: https://github.com/RustCrypto/hashes/workflows/fsb/badge.svg?branch=master [build-link]: https://github.com/RustCrypto/hashes/actions?query=workflow%3Afsb diff --git a/fsb/src/lib.rs b/fsb/src/lib.rs index 8bf527228..f6623810e 100644 --- a/fsb/src/lib.rs +++ b/fsb/src/lib.rs @@ -19,14 +19,14 @@ pub use digest::{self, Digest}; static PI: &[u8; 272384] = include_bytes!("pi.bin"); use digest::{ + HashMarker, Output, block_buffer::Eager, core_api::{ AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, CoreWrapper, FixedOutputCore, OutputSizeUser, Reset, UpdateCore, }, crypto_common::hazmat::{DeserializeStateError, SerializableState, SerializedState}, - typenum::{Unsigned, U8}, - HashMarker, Output, + typenum::{U8, Unsigned}, }; #[cfg(feature = "zeroize")] diff --git a/gost94/CHANGELOG.md b/gost94/CHANGELOG.md index d15cd465d..711f2d2c2 100644 --- a/gost94/CHANGELOG.md +++ b/gost94/CHANGELOG.md @@ -5,6 +5,14 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.11.0 (UNRELEASED) +### Changed +- Edition changed to 2024 and MSRV bumped to 1.85 ([#652]) +- Relax MSRV policy and allow MSRV bumps in patch releases +- Update to `digest` v0.11 + +[#652]: https://github.com/RustCrypto/hashes/pull/652 + ## 0.10.4 (2022-10-05) ### Added - Feature-gated OID support ([#417]) diff --git a/gost94/Cargo.toml b/gost94/Cargo.toml index 008746240..e035704e3 100644 --- a/gost94/Cargo.toml +++ b/gost94/Cargo.toml @@ -5,19 +5,19 @@ description = "GOST R 34.11-94 hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" readme = "README.md" -edition = "2021" +edition = "2024" +rust-version = "1.85" documentation = "https://docs.rs/gost94" repository = "https://github.com/RustCrypto/hashes" keywords = ["crypto", "gost94", "gost", "hash", "digest"] categories = ["cryptography", "no-std"] -rust-version = "1.81" [dependencies] -digest = "=0.11.0-pre.9" +digest = "=0.11.0-pre.10" [dev-dependencies] -digest = { version = "=0.11.0-pre.9", features = ["dev"] } -hex-literal = "0.4" +digest = { version = "=0.11.0-pre.10", features = ["dev"] } +hex-literal = "1" base16ct = { version = "0.2", features = ["alloc"] } [features] diff --git a/gost94/README.md b/gost94/README.md index e57166caf..b452b1ada 100644 --- a/gost94/README.md +++ b/gost94/README.md @@ -33,18 +33,6 @@ There can be a confusion regarding OIDs associated with declared types. According to the [RFC 4357], the OIDs 1.2.643.2.2.30.1 and 1.2.643.2.2.30.0 are used to identify the hash function parameter sets (CryptoPro vs Test ones). According to [RFC 4490] the OID 1.2.643.2.2.9 identifies the GOST 34.311-95 (former GOST R 34.11-94) function, but then it continues that this function MUST be used only with the CryptoPro parameter set. -## Minimum Supported Rust Version - -Rust **1.81** or higher. - -Minimum supported Rust version can be changed in the future, but it will be -done with a minor version bump. - -## SemVer Policy - -- All on-by-default features of this library are covered by SemVer -- MSRV is considered exempt from SemVer as noted above - ## License The crate is licensed under either of: @@ -67,7 +55,7 @@ dual licensed as above, without any additional terms or conditions. [docs-image]: https://docs.rs/gost94/badge.svg [docs-link]: https://docs.rs/gost94/ [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg -[rustc-image]: https://img.shields.io/badge/rustc-1.81+-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.85+-blue.svg [chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg [chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes [build-image]: https://github.com/RustCrypto/hashes/workflows/gost94/badge.svg?branch=master diff --git a/gost94/src/gost94_core.rs b/gost94/src/gost94_core.rs index ff76f2b8f..0fb602b2f 100644 --- a/gost94/src/gost94_core.rs +++ b/gost94/src/gost94_core.rs @@ -1,6 +1,7 @@ #![allow(clippy::many_single_char_names)] use core::fmt; use digest::{ + HashMarker, Output, array::Array, block_buffer::Eager, core_api::{ @@ -8,8 +9,7 @@ use digest::{ OutputSizeUser, Reset, UpdateCore, }, crypto_common::hazmat::{DeserializeStateError, SerializableState, SerializedState}, - typenum::{Unsigned, U32, U96}, - HashMarker, Output, + typenum::{U32, U96, Unsigned}, }; #[cfg(feature = "zeroize")] diff --git a/groestl/CHANGELOG.md b/groestl/CHANGELOG.md index 3033d2362..60b03208a 100644 --- a/groestl/CHANGELOG.md +++ b/groestl/CHANGELOG.md @@ -5,6 +5,14 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.11.0 (UNRELEASED) +### Changed +- Edition changed to 2024 and MSRV bumped to 1.85 ([#652]) +- Relax MSRV policy and allow MSRV bumps in patch releases +- Update to `digest` v0.11 + +[#652]: https://github.com/RustCrypto/hashes/pull/652 + ## 0.10.1 (2022-02-17) ### Fixed - Minimal versions build ([#363]) diff --git a/groestl/Cargo.toml b/groestl/Cargo.toml index c6b2da7a3..34ddee9fa 100644 --- a/groestl/Cargo.toml +++ b/groestl/Cargo.toml @@ -5,19 +5,19 @@ description = "Grøstl hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" readme = "README.md" -edition = "2021" +edition = "2024" +rust-version = "1.85" documentation = "https://docs.rs/groestl" repository = "https://github.com/RustCrypto/hashes" keywords = ["crypto", "groestl", "grostl", "hash", "digest"] categories = ["cryptography", "no-std"] -rust-version = "1.81" [dependencies] -digest = "=0.11.0-pre.9" +digest = "=0.11.0-pre.10" [dev-dependencies] -digest = { version = "=0.11.0-pre.9", features = ["dev"] } -hex-literal = "0.4" +digest = { version = "=0.11.0-pre.10", features = ["dev"] } +hex-literal = "1" base16ct = { version = "0.2", features = ["alloc"] } [features] diff --git a/groestl/README.md b/groestl/README.md index 1064072f0..d50010fc5 100644 --- a/groestl/README.md +++ b/groestl/README.md @@ -28,18 +28,6 @@ assert_eq!(hex_hash, "dc0283ca481efa76b7c19dd5a0b763dff0e867451bd9488a9c59f6c8b8 Also, see the [examples section] in the RustCrypto/hashes readme. -## Minimum Supported Rust Version - -Rust **1.81** or higher. - -Minimum supported Rust version can be changed in the future, but it will be -done with a minor version bump. - -## SemVer Policy - -- All on-by-default features of this library are covered by SemVer -- MSRV is considered exempt from SemVer as noted above - ## License The crate is licensed under either of: @@ -62,7 +50,7 @@ dual licensed as above, without any additional terms or conditions. [docs-image]: https://docs.rs/groestl/badge.svg [docs-link]: https://docs.rs/groestl/ [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg -[rustc-image]: https://img.shields.io/badge/rustc-1.81+-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.85+-blue.svg [chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg [chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes [build-image]: https://github.com/RustCrypto/hashes/workflows/groestl/badge.svg?branch=master diff --git a/groestl/src/lib.rs b/groestl/src/lib.rs index df7eacc9f..c5a394bcd 100644 --- a/groestl/src/lib.rs +++ b/groestl/src/lib.rs @@ -12,6 +12,7 @@ pub use digest::{self, Digest}; use core::{convert::TryInto, fmt}; use digest::{ + HashMarker, InvalidOutputSize, Output, block_buffer::Eager, core_api::{ AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, CoreWrapper, @@ -19,8 +20,7 @@ use digest::{ VariableOutputCore, }, crypto_common::hazmat::{DeserializeStateError, SerializableState, SerializedState}, - typenum::{Unsigned, U128, U136, U28, U32, U48, U64, U72}, - HashMarker, InvalidOutputSize, Output, + typenum::{U28, U32, U48, U64, U72, U128, U136, Unsigned}, }; #[cfg(feature = "zeroize")] diff --git a/jh/CHANGELOG.md b/jh/CHANGELOG.md index 43a72ca02..f50f6facb 100644 --- a/jh/CHANGELOG.md +++ b/jh/CHANGELOG.md @@ -5,6 +5,14 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.2.0 (UNRELEASED) +### Changed +- Edition changed to 2024 and MSRV bumped to 1.85 ([#652]) +- Relax MSRV policy and allow MSRV bumps in patch releases +- Update to `digest` v0.11 + +[#652]: https://github.com/RustCrypto/hashes/pull/652 + ## 0.1.0 (2023-06-11) - Initial release ([#484]) diff --git a/jh/Cargo.toml b/jh/Cargo.toml index f97db8da8..48e8c539f 100644 --- a/jh/Cargo.toml +++ b/jh/Cargo.toml @@ -4,21 +4,21 @@ version = "0.2.0-pre" description = "Pure Rust implementation of the JH cryptographic hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" -edition = "2021" -rust-version = "1.81" readme = "README.md" +edition = "2024" +rust-version = "1.85" documentation = "https://docs.rs/jh" repository = "https://github.com/RustCrypto/hashes" keywords = ["crypto", "jh", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "=0.11.0-pre.9" -hex-literal = "0.4" +digest = "=0.11.0-pre.10" +hex-literal = "1" simd = { package = "ppv-lite86", version = "0.2.6" } [dev-dependencies] -digest = { version = "=0.11.0-pre.9", features = ["dev"] } +digest = { version = "=0.11.0-pre.10", features = ["dev"] } base16ct = { version = "0.2", features = ["alloc"] } [features] diff --git a/jh/README.md b/jh/README.md index 1135eb8ba..a04f3d220 100644 --- a/jh/README.md +++ b/jh/README.md @@ -35,18 +35,6 @@ assert_eq!(hex_hash, "94fd3f4c564957c6754265676bf8b244c707d3ffb294e18af1f2e4f9b8 Also, see the [examples section] in the RustCrypto/hashes readme. -## Minimum Supported Rust Version - -Rust **1.81** or higher. - -Minimum supported Rust version can be changed in the future, but it will be -done with a minor version bump. - -## SemVer Policy - -- All on-by-default features of this library are covered by SemVer -- MSRV is considered exempt from SemVer as noted above - ## License The crate is licensed under either of: @@ -69,7 +57,7 @@ dual licensed as above, without any additional terms or conditions. [docs-image]: https://docs.rs/jh/badge.svg [docs-link]: https://docs.rs/jh/ [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg -[rustc-image]: https://img.shields.io/badge/rustc-1.81+-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.85+-blue.svg [chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg [chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes [build-image]: https://github.com/RustCrypto/hashes/workflows/jh/badge.svg?branch=master diff --git a/jh/benches/machine.rs b/jh/benches/machine.rs index e503592de..32344d260 100644 --- a/jh/benches/machine.rs +++ b/jh/benches/machine.rs @@ -1,7 +1,7 @@ #![feature(test)] extern crate test; -use simd::{vec128_storage, x86_64, Machine}; +use simd::{Machine, vec128_storage, x86_64}; use test::Bencher; macro_rules! mach_bench { diff --git a/jh/src/compressor.rs b/jh/src/compressor.rs index 4b184f72b..6613d9822 100644 --- a/jh/src/compressor.rs +++ b/jh/src/compressor.rs @@ -1,8 +1,8 @@ #![allow(non_upper_case_globals)] use core::ptr; -use digest::array::{typenum::U64, Array}; -use simd::{dispatch, vec128_storage, AndNot, Machine, Swap64, VZip, Vec2}; +use digest::array::{Array, typenum::U64}; +use simd::{AndNot, Machine, Swap64, VZip, Vec2, dispatch, vec128_storage}; #[rustfmt::skip] macro_rules! unroll7 { diff --git a/jh/src/lib.rs b/jh/src/lib.rs index 44da3b16e..1d281bfb9 100644 --- a/jh/src/lib.rs +++ b/jh/src/lib.rs @@ -18,14 +18,14 @@ pub use digest::{self, Digest}; use crate::compressor::Compressor; use core::fmt; use digest::{ - array::typenum::{Unsigned, U28, U32, U48, U64}, + HashMarker, InvalidOutputSize, Output, + array::typenum::{U28, U32, U48, U64, Unsigned}, block_buffer::Eager, core_api::{ AlgorithmName, Block, Buffer, BufferKindUser, CoreWrapper, CtVariableCoreWrapper, TruncSide, UpdateCore, VariableOutputCore, }, crypto_common::{BlockSizeUser, OutputSizeUser}, - HashMarker, InvalidOutputSize, Output, }; #[cfg(feature = "zeroize")] diff --git a/k12/CHANGELOG.md b/k12/CHANGELOG.md index 381891b74..76e2cfa45 100644 --- a/k12/CHANGELOG.md +++ b/k12/CHANGELOG.md @@ -5,6 +5,14 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.4.0 (UNRELEASED) +### Changed +- Edition changed to 2024 and MSRV bumped to 1.85 ([#652]) +- Relax MSRV policy and allow MSRV bumps in patch releases +- Update to `digest` v0.11 + +[#652]: https://github.com/RustCrypto/hashes/pull/652 + ## 0.3.0 (2023-06-10) ### Added - Support for heapless `no_std` targets ([#353]) diff --git a/k12/Cargo.toml b/k12/Cargo.toml index 58c440302..5ed1084f2 100644 --- a/k12/Cargo.toml +++ b/k12/Cargo.toml @@ -5,20 +5,20 @@ description = "Pure Rust implementation of the KangarooTwelve hash function" authors = ["RustCrypto Developers", "Diggory Hardy "] license = "Apache-2.0 OR MIT" readme = "README.md" -edition = "2021" +edition = "2024" +rust-version = "1.85" documentation = "https://docs.rs/k12" repository = "https://github.com/RustCrypto/hashes" keywords = ["crypto", "hash", "digest"] categories = ["cryptography", "no-std"] -rust-version = "1.81" [dependencies] -digest = { version = "=0.11.0-pre.9", default-features = false, features = ["core-api"] } +digest = { version = "=0.11.0-pre.10", default-features = false, features = ["core-api"] } sha3 = { version = "=0.11.0-pre.4", default-features = false, path = "../sha3" } [dev-dependencies] -digest = { version = "=0.11.0-pre.9", features = ["alloc", "dev"] } -hex-literal = "0.4" +digest = { version = "=0.11.0-pre.10", features = ["alloc", "dev"] } +hex-literal = "1" [features] default = ["std"] diff --git a/k12/README.md b/k12/README.md index ea6676d4f..e2f9908d9 100644 --- a/k12/README.md +++ b/k12/README.md @@ -8,18 +8,6 @@ Pure Rust implementation of the [KangarooTwelve] eXtendable-Output Function (XOF). -## Minimum Supported Rust Version - -Rust **1.81** or higher. - -Minimum supported Rust version can be changed in the future, but it will be -done with a minor version bump. - -## SemVer Policy - -- All on-by-default features of this library are covered by SemVer -- MSRV is considered exempt from SemVer as noted above - ## License The crate is licensed under either of: @@ -42,7 +30,7 @@ dual licensed as above, without any additional terms or conditions. [docs-image]: https://docs.rs/k12/badge.svg [docs-link]: https://docs.rs/k12/ [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg -[rustc-image]: https://img.shields.io/badge/rustc-1.81+-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.85+-blue.svg [chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg [chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes [build-image]: https://github.com/RustCrypto/hashes/workflows/k12/badge.svg?branch=master diff --git a/k12/tests/mod.rs b/k12/tests/mod.rs index 7f54c2676..adf43a910 100644 --- a/k12/tests/mod.rs +++ b/k12/tests/mod.rs @@ -1,8 +1,8 @@ use core::iter; use hex_literal::hex; use k12::{ - digest::{ExtendableOutput, Update}, KangarooTwelve, KangarooTwelveCore, + digest::{ExtendableOutput, Update}, }; fn digest_and_box(data: &[u8], n: usize) -> Box<[u8]> { diff --git a/md2/CHANGELOG.md b/md2/CHANGELOG.md index cf34126d7..46a5ee250 100644 --- a/md2/CHANGELOG.md +++ b/md2/CHANGELOG.md @@ -5,6 +5,14 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.11.0 (UNRELEASED) +### Changed +- Edition changed to 2024 and MSRV bumped to 1.85 ([#652]) +- Relax MSRV policy and allow MSRV bumps in patch releases +- Update to `digest` v0.11 + +[#652]: https://github.com/RustCrypto/hashes/pull/652 + ## 0.10.2 (2022-10-05) ### Added - Feature-gated OID support ([#419]) diff --git a/md2/Cargo.toml b/md2/Cargo.toml index 3b8547216..6ed6ca251 100644 --- a/md2/Cargo.toml +++ b/md2/Cargo.toml @@ -5,19 +5,19 @@ license = "MIT OR Apache-2.0" authors = ["RustCrypto Developers"] description = "MD2 hash function" readme = "README.md" -edition = "2021" +edition = "2024" +rust-version = "1.85" documentation = "https://docs.rs/md2" repository = "https://github.com/RustCrypto/hashes" keywords = ["crypto", "md2", "hash", "digest"] categories = ["cryptography", "no-std"] -rust-version = "1.81" [dependencies] -digest = "=0.11.0-pre.9" +digest = "=0.11.0-pre.10" [dev-dependencies] -digest = { version = "=0.11.0-pre.9", features = ["dev"] } -hex-literal = "0.4" +digest = { version = "=0.11.0-pre.10", features = ["dev"] } +hex-literal = "1" base16ct = { version = "0.2", features = ["alloc"] } [features] diff --git a/md2/README.md b/md2/README.md index 04cfefe4a..206e293a1 100644 --- a/md2/README.md +++ b/md2/README.md @@ -28,18 +28,6 @@ assert_eq!(hex_hash, "d9cce882ee690a5c1ce70beff3a78c77"); Also, see the [examples section] in the RustCrypto/hashes readme. -## Minimum Supported Rust Version - -Rust **1.81** or higher. - -Minimum supported Rust version can be changed in the future, but it will be -done with a minor version bump. - -## SemVer Policy - -- All on-by-default features of this library are covered by SemVer -- MSRV is considered exempt from SemVer as noted above - ## License The crate is licensed under either of: @@ -62,7 +50,7 @@ dual licensed as above, without any additional terms or conditions. [docs-image]: https://docs.rs/md2/badge.svg [docs-link]: https://docs.rs/md2/ [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg -[rustc-image]: https://img.shields.io/badge/rustc-1.81+-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.85+-blue.svg [chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg [chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes [build-image]: https://github.com/RustCrypto/hashes/workflows/md2/badge.svg?branch=master diff --git a/md2/src/lib.rs b/md2/src/lib.rs index 45685a5fe..78e63f0ba 100644 --- a/md2/src/lib.rs +++ b/md2/src/lib.rs @@ -12,6 +12,7 @@ pub use digest::{self, Digest}; use core::fmt; use digest::{ + HashMarker, Output, array::Array, block_buffer::Eager, consts::{U16, U48, U64}, @@ -20,7 +21,6 @@ use digest::{ OutputSizeUser, Reset, UpdateCore, }, crypto_common::hazmat::{DeserializeStateError, SerializableState, SerializedState}, - HashMarker, Output, }; #[cfg(feature = "oid")] diff --git a/md4/CHANGELOG.md b/md4/CHANGELOG.md index 21eef39e8..6f82cc67b 100644 --- a/md4/CHANGELOG.md +++ b/md4/CHANGELOG.md @@ -5,6 +5,14 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.11.0 (UNRELEASED) +### Changed +- Edition changed to 2024 and MSRV bumped to 1.85 ([#652]) +- Relax MSRV policy and allow MSRV bumps in patch releases +- Update to `digest` v0.11 + +[#652]: https://github.com/RustCrypto/hashes/pull/652 + ## 0.10.2 (2022-10-05) ### Added - Feature-gated OID support ([#418]) diff --git a/md4/Cargo.toml b/md4/Cargo.toml index 612c22892..891b79138 100644 --- a/md4/Cargo.toml +++ b/md4/Cargo.toml @@ -5,19 +5,19 @@ description = "MD4 hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" readme = "README.md" -edition = "2021" +edition = "2024" +rust-version = "1.85" documentation = "https://docs.rs/md4" repository = "https://github.com/RustCrypto/hashes" keywords = ["crypto", "md4", "hash", "digest"] categories = ["cryptography", "no-std"] -rust-version = "1.81" [dependencies] -digest = "=0.11.0-pre.9" +digest = "=0.11.0-pre.10" [dev-dependencies] -digest = { version = "=0.11.0-pre.9", features = ["dev"] } -hex-literal = "0.4" +digest = { version = "=0.11.0-pre.10", features = ["dev"] } +hex-literal = "1" base16ct = { version = "0.2", features = ["alloc"] } [features] diff --git a/md4/README.md b/md4/README.md index 7c4270580..a6cce66e2 100644 --- a/md4/README.md +++ b/md4/README.md @@ -33,18 +33,6 @@ assert_eq!(hex_hash, "aa010fbc1d14c795d86ef98c95479d17"); Also, see the [examples section] in the RustCrypto/hashes readme. -## Minimum Supported Rust Version - -Rust **1.81** or higher. - -Minimum supported Rust version can be changed in the future, but it will be -done with a minor version bump. - -## SemVer Policy - -- All on-by-default features of this library are covered by SemVer -- MSRV is considered exempt from SemVer as noted above - ## License The crate is licensed under either of: @@ -67,7 +55,7 @@ dual licensed as above, without any additional terms or conditions. [docs-image]: https://docs.rs/md4/badge.svg [docs-link]: https://docs.rs/md4/ [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg -[rustc-image]: https://img.shields.io/badge/rustc-1.81+-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.85+-blue.svg [chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg [chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes [build-image]: https://github.com/RustCrypto/hashes/workflows/md4/badge.svg?branch=master diff --git a/md4/src/lib.rs b/md4/src/lib.rs index e4f4ee5fc..d9f9100d6 100644 --- a/md4/src/lib.rs +++ b/md4/src/lib.rs @@ -12,14 +12,14 @@ pub use digest::{self, Digest}; use core::{fmt, num::Wrapping as W}; use digest::{ + HashMarker, Output, block_buffer::Eager, core_api::{ AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, CoreWrapper, FixedOutputCore, OutputSizeUser, Reset, UpdateCore, }, crypto_common::hazmat::{DeserializeStateError, SerializableState, SerializedState}, - typenum::{Unsigned, U16, U24, U64}, - HashMarker, Output, + typenum::{U16, U24, U64, Unsigned}, }; #[cfg(feature = "oid")] diff --git a/md5/CHANGELOG.md b/md5/CHANGELOG.md index c263d4c16..cc79e3756 100644 --- a/md5/CHANGELOG.md +++ b/md5/CHANGELOG.md @@ -5,11 +5,17 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## UNRELEASED +## 0.11.0 (UNRELEASED) +### Changed +- Edition changed to 2024 and MSRV bumped to 1.85 ([#652]) +- Relax MSRV policy and allow MSRV bumps in patch releases +- Update to `digest` v0.11 + ### Removed - `asm` and `loongarch64_asm` crate features [#542] [#542]: https://github.com/RustCrypto/hashes/pull/542 +[#652]: https://github.com/RustCrypto/hashes/pull/652 ## 0.10.6 (2023-09-22) ### Added diff --git a/md5/Cargo.toml b/md5/Cargo.toml index 73940c05b..c3e449af4 100644 --- a/md5/Cargo.toml +++ b/md5/Cargo.toml @@ -5,23 +5,23 @@ description = "MD5 hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" readme = "README.md" -edition = "2021" +edition = "2024" +rust-version = "1.85" documentation = "https://docs.rs/md-5" repository = "https://github.com/RustCrypto/hashes" keywords = ["crypto", "md5", "hash", "digest"] categories = ["cryptography", "no-std"] -rust-version = "1.81" [lib] name = "md5" [dependencies] -digest = "=0.11.0-pre.9" +digest = "=0.11.0-pre.10" cfg-if = "1" [dev-dependencies] -digest = { version = "=0.11.0-pre.9", features = ["dev"] } -hex-literal = "0.4" +digest = { version = "=0.11.0-pre.10", features = ["dev"] } +hex-literal = "1" base16ct = { version = "0.2", features = ["alloc"] } [features] diff --git a/md5/README.md b/md5/README.md index 843142036..71f4918d1 100644 --- a/md5/README.md +++ b/md5/README.md @@ -41,18 +41,6 @@ assert_eq!(hex_hash, "5eb63bbbe01eeed093cb22bb8f5acdc3"); Also, see the [examples section] in the RustCrypto/hashes readme. -## Minimum Supported Rust Version - -Rust **1.81** or higher. - -Minimum supported Rust version can be changed in the future, but it will be -done with a minor version bump. - -## SemVer Policy - -- All on-by-default features of this library are covered by SemVer -- MSRV is considered exempt from SemVer as noted above - ## License The crate is licensed under either of: @@ -75,7 +63,7 @@ dual licensed as above, without any additional terms or conditions. [docs-image]: https://docs.rs/md-5/badge.svg [docs-link]: https://docs.rs/md-5/ [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg -[rustc-image]: https://img.shields.io/badge/rustc-1.81+-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.85+-blue.svg [chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg [chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes [build-image]: https://github.com/RustCrypto/hashes/workflows/md5/badge.svg?branch=master diff --git a/md5/src/lib.rs b/md5/src/lib.rs index 9803578cd..62b23974f 100644 --- a/md5/src/lib.rs +++ b/md5/src/lib.rs @@ -14,6 +14,7 @@ pub(crate) mod consts; use core::{convert::TryInto, fmt, slice::from_ref}; use digest::{ + HashMarker, Output, array::Array, block_buffer::Eager, core_api::{ @@ -21,8 +22,7 @@ use digest::{ OutputSizeUser, Reset, UpdateCore, }, crypto_common::hazmat::{DeserializeStateError, SerializableState, SerializedState}, - typenum::{Unsigned, U16, U24, U64}, - HashMarker, Output, + typenum::{U16, U24, U64, Unsigned}, }; #[cfg(feature = "oid")] diff --git a/ripemd/CHANGELOG.md b/ripemd/CHANGELOG.md index 81cef616c..5b5b0d465 100644 --- a/ripemd/CHANGELOG.md +++ b/ripemd/CHANGELOG.md @@ -5,6 +5,14 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.2.0 (UNRELEASED) +### Changed +- Edition changed to 2024 and MSRV bumped to 1.85 ([#652]) +- Relax MSRV policy and allow MSRV bumps in patch releases +- Update to `digest` v0.11 + +[#652]: https://github.com/RustCrypto/hashes/pull/652 + ## 0.1.3 (2022-09-23) ### Added - Feature-gated OID support ([#415]) diff --git a/ripemd/Cargo.toml b/ripemd/Cargo.toml index 01b41c735..8be4989a0 100644 --- a/ripemd/Cargo.toml +++ b/ripemd/Cargo.toml @@ -5,19 +5,19 @@ description = "Pure Rust implementation of the RIPEMD hash functions" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" readme = "README.md" -edition = "2021" +edition = "2024" +rust-version = "1.85" documentation = "https://docs.rs/ripemd" repository = "https://github.com/RustCrypto/hashes" keywords = ["crypto", "ripemd", "hash", "digest"] categories = ["cryptography", "no-std"] -rust-version = "1.81" [dependencies] -digest = "=0.11.0-pre.9" +digest = "=0.11.0-pre.10" [dev-dependencies] -digest = { version = "=0.11.0-pre.9", features = ["dev"] } -hex-literal = "0.4" +digest = { version = "=0.11.0-pre.10", features = ["dev"] } +hex-literal = "1" base16ct = { version = "0.2", features = ["alloc"] } [features] diff --git a/ripemd/README.md b/ripemd/README.md index 3c587caa1..cdef1ec2b 100644 --- a/ripemd/README.md +++ b/ripemd/README.md @@ -44,18 +44,6 @@ assert_eq!(hash320, hex!( Also, see the [examples section] in the RustCrypto/hashes readme. -## Minimum Supported Rust Version - -Rust **1.81** or higher. - -Minimum supported Rust version can be changed in the future, but it will be -done with a minor version bump. - -## SemVer Policy - -- All on-by-default features of this library are covered by SemVer -- MSRV is considered exempt from SemVer as noted above - ## License The crate is licensed under either of: @@ -78,7 +66,7 @@ dual licensed as above, without any additional terms or conditions. [docs-image]: https://docs.rs/ripemd/badge.svg [docs-link]: https://docs.rs/ripemd/ [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg -[rustc-image]: https://img.shields.io/badge/rustc-1.81+-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.85+-blue.svg [chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg [chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes [build-image]: https://github.com/RustCrypto/hashes/workflows/ripemd/badge.svg?branch=master diff --git a/ripemd/src/lib.rs b/ripemd/src/lib.rs index 90a104569..e4ac45fe0 100644 --- a/ripemd/src/lib.rs +++ b/ripemd/src/lib.rs @@ -12,14 +12,14 @@ pub use digest::{self, Digest}; use core::{convert::TryInto, fmt}; use digest::{ + HashMarker, Output, block_buffer::Eager, core_api::{ AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, CoreWrapper, FixedOutputCore, OutputSizeUser, Reset, UpdateCore, }, crypto_common::hazmat::{DeserializeStateError, SerializableState, SerializedState}, - typenum::{Sum, Unsigned, U16, U20, U32, U40, U64, U8}, - HashMarker, Output, + typenum::{Sum, U8, U16, U20, U32, U40, U64, Unsigned}, }; #[cfg(feature = "oid")] diff --git a/sha1-checked/CHANGELOG.md b/sha1-checked/CHANGELOG.md index dadf78569..2b2bc2c7b 100644 --- a/sha1-checked/CHANGELOG.md +++ b/sha1-checked/CHANGELOG.md @@ -5,4 +5,13 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## UNRELEASED +## 0.11.0 (UNRELEASED) +### Changed +- Edition changed to 2024 and MSRV bumped to 1.85 ([#652]) +- Relax MSRV policy and allow MSRV bumps in patch releases +- Update to `digest` v0.11 + +[#652]: https://github.com/RustCrypto/hashes/pull/652 + +## 0.10.0 (2024-03-27) +- Initial release diff --git a/sha1-checked/Cargo.toml b/sha1-checked/Cargo.toml index c2a8a0e38..4d3cc6721 100644 --- a/sha1-checked/Cargo.toml +++ b/sha1-checked/Cargo.toml @@ -5,12 +5,12 @@ description = "SHA-1 hash function with collision detection" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" readme = "README.md" -edition = "2021" +edition = "2024" +rust-version = "1.85" documentation = "https://docs.rs/sha1-checked" repository = "https://github.com/RustCrypto/hashes" keywords = ["crypto", "sha1", "hash", "digest"] categories = ["cryptography", "no-std"] -rust-version = "1.81" exclude = [ "sha1-checked/tests/data/shattered-1.pdf", @@ -18,13 +18,13 @@ exclude = [ ] [dependencies] -digest = "=0.11.0-pre.9" -sha1 = { version = "=0.11.0-pre.4", default-features = false } +digest = "=0.11.0-pre.10" +sha1 = { version = "=0.11.0-pre.4", path = "../sha1", default-features = false } zeroize = { version = "1.8", default-features = false, optional = true } [dev-dependencies] -digest = { version = "=0.11.0-pre.9", features = ["dev"] } -hex-literal = "0.4" +digest = { version = "=0.11.0-pre.10", features = ["dev"] } +hex-literal = "1" base16ct = { version = "0.2", features = ["alloc"] } [features] diff --git a/sha1-checked/README.md b/sha1-checked/README.md index 57b5625d9..19fd3c518 100644 --- a/sha1-checked/README.md +++ b/sha1-checked/README.md @@ -54,18 +54,6 @@ assert!(!result.has_collision()); Also, see the [examples section] in the RustCrypto/hashes readme. -## Minimum Supported Rust Version - -Rust **1.81** or higher. - -Minimum supported Rust version can be changed in the future, but it will be -done with a minor version bump. - -## SemVer Policy - -- All on-by-default features of this library are covered by SemVer -- MSRV is considered exempt from SemVer as noted above - ## License The crate is licensed under either of: @@ -88,7 +76,7 @@ dual licensed as above, without any additional terms or conditions. [docs-image]: https://docs.rs/sha1-checked/badge.svg [docs-link]: https://docs.rs/sha1-checked/ [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg -[rustc-image]: https://img.shields.io/badge/rustc-1.81+-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.85+-blue.svg [chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg [chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes [build-image]: https://github.com/RustCrypto/hashes/workflows/sha1-checked/badge.svg?branch=master diff --git a/sha1-checked/src/compress.rs b/sha1-checked/src/compress.rs index 60e4bf876..5aa322ea7 100644 --- a/sha1-checked/src/compress.rs +++ b/sha1-checked/src/compress.rs @@ -7,7 +7,7 @@ use crate::{ BLOCK_SIZE, - {ubc_check::Testt, DetectionState}, + {DetectionState, ubc_check::Testt}, }; const K: [u32; 4] = [0x5A827999, 0x6ED9EBA1, 0x8F1BBCDC, 0xCA62C1D6]; @@ -466,7 +466,7 @@ fn add_assign(left: &mut [u32; 5], right: [u32; 5]) { } fn compression_w(ihv: &mut [u32; 5], w: &[u32; 80]) { - let [mut a, mut b, mut c, mut d, mut e] = ihv; + let &mut [mut a, mut b, mut c, mut d, mut e] = ihv; round1_step4(&mut a, &mut b, &mut c, &mut d, &mut e, w, 0); round1_step4(&mut b, &mut c, &mut d, &mut e, &mut a, w, 4); @@ -502,7 +502,7 @@ fn compression_states( state_58: &mut [u32; 5], state_65: &mut [u32; 5], ) { - let [mut a, mut b, mut c, mut d, mut e] = ihv; + let &mut [mut a, mut b, mut c, mut d, mut e] = ihv; full_round1_step_load4(&mut a, &mut b, &mut c, &mut d, &mut e, m, w, 0); full_round1_step_load4(&mut b, &mut c, &mut d, &mut e, &mut a, m, w, 4); @@ -554,7 +554,7 @@ fn recompress_fast_58( me2: &[u32; 80], state: &[u32; 5], ) { - let [mut a, mut b, mut c, mut d, mut e] = state; + let &[mut a, mut b, mut c, mut d, mut e] = state; round3_step_bw(d, &mut e, a, b, &mut c, me2[57]); round3_step_bw(e, &mut a, b, c, &mut d, me2[56]); @@ -601,7 +601,7 @@ fn recompress_fast_65( me2: &[u32; 80], state: &[u32; 5], ) { - let [mut a, mut b, mut c, mut d, mut e] = state; + let &[mut a, mut b, mut c, mut d, mut e] = state; round4_step_bw(b, &mut c, d, e, &mut a, me2[64]); round4_step_bw4(&mut c, &mut d, &mut e, &mut a, &mut b, me2, 63); diff --git a/sha1-checked/src/lib.rs b/sha1-checked/src/lib.rs index ee4ead8d8..c2eb71cac 100644 --- a/sha1-checked/src/lib.rs +++ b/sha1-checked/src/lib.rs @@ -27,11 +27,11 @@ use core::slice::from_ref; extern crate std; use digest::{ + FixedOutput, FixedOutputReset, HashMarker, Output, OutputSizeUser, Reset, Update, array::Array, block_buffer::{BlockBuffer, Eager}, core_api::BlockSizeUser, - typenum::{Unsigned, U20, U64}, - FixedOutput, FixedOutputReset, HashMarker, Output, OutputSizeUser, Reset, Update, + typenum::{U20, U64, Unsigned}, }; #[cfg(feature = "zeroize")] use zeroize::{Zeroize, ZeroizeOnDrop}; @@ -139,9 +139,9 @@ impl CollisionResult { /// Returns the output hash. pub fn hash(&self) -> &Output { match self { - CollisionResult::Ok(ref s) => s, - CollisionResult::Mitigated(ref s) => s, - CollisionResult::Collision(ref s) => s, + CollisionResult::Ok(s) => s, + CollisionResult::Mitigated(s) => s, + CollisionResult::Collision(s) => s, } } @@ -181,7 +181,7 @@ impl Update for Sha1 { } = self; buffer.digest_blocks(input, |blocks| { self.block_len += blocks.len() as u64; - if let Some(ref mut ctx) = detection { + if let Some(ctx) = detection { // SAFETY: GenericArray and [u8; 64] have // exactly the same memory layout let blocks: &[[u8; BLOCK_SIZE]] = diff --git a/sha1/CHANGELOG.md b/sha1/CHANGELOG.md index e91b2c89c..7161c4016 100644 --- a/sha1/CHANGELOG.md +++ b/sha1/CHANGELOG.md @@ -5,11 +5,17 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## UNRELEASED +## 0.11.0 (UNRELEASED) +### Changed +- Edition changed to 2024 and MSRV bumped to 1.85 ([#652]) +- Relax MSRV policy and allow MSRV bumps in patch releases +- Update to `digest` v0.11 + ### Removed - `asm`, `loongarch64_asm`, and `compress` crate features [#542] [#542]: https://github.com/RustCrypto/hashes/pull/542 +[#652]: https://github.com/RustCrypto/hashes/pull/652 ## 0.10.6 (2023-09-21) ### Added diff --git a/sha1/Cargo.toml b/sha1/Cargo.toml index 31de29fb7..6ce78a1a9 100644 --- a/sha1/Cargo.toml +++ b/sha1/Cargo.toml @@ -5,23 +5,23 @@ description = "SHA-1 hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" readme = "README.md" -edition = "2021" +edition = "2024" +rust-version = "1.85" documentation = "https://docs.rs/sha1" repository = "https://github.com/RustCrypto/hashes" keywords = ["crypto", "sha1", "hash", "digest"] categories = ["cryptography", "no-std"] -rust-version = "1.81" [dependencies] -digest = "=0.11.0-pre.9" +digest = "=0.11.0-pre.10" cfg-if = "1.0" [target.'cfg(any(target_arch = "aarch64", target_arch = "x86", target_arch = "x86_64"))'.dependencies] cpufeatures = "0.2" [dev-dependencies] -digest = { version = "=0.11.0-pre.9", features = ["dev"] } -hex-literal = "0.4" +digest = { version = "=0.11.0-pre.10", features = ["dev"] } +hex-literal = "1" base16ct = { version = "0.2", features = ["alloc"] } [features] diff --git a/sha1/README.md b/sha1/README.md index 8da82fad4..eab9782c0 100644 --- a/sha1/README.md +++ b/sha1/README.md @@ -51,18 +51,6 @@ assert_eq!(hex_hash, "2aae6c35c94fcfb415dbe95f408b9ce91ee846ed"); Also, see the [examples section] in the RustCrypto/hashes readme. -## Minimum Supported Rust Version - -Rust **1.81** or higher. - -Minimum supported Rust version can be changed in the future, but it will be -done with a minor version bump. - -## SemVer Policy - -- All on-by-default features of this library are covered by SemVer -- MSRV is considered exempt from SemVer as noted above - ## License The crate is licensed under either of: @@ -85,7 +73,7 @@ dual licensed as above, without any additional terms or conditions. [docs-image]: https://docs.rs/sha1/badge.svg [docs-link]: https://docs.rs/sha1/ [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg -[rustc-image]: https://img.shields.io/badge/rustc-1.81+-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.85+-blue.svg [chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg [chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes [build-image]: https://github.com/RustCrypto/hashes/workflows/sha1/badge.svg?branch=master diff --git a/sha1/src/compress/aarch64.rs b/sha1/src/compress/aarch64.rs index f757f7f2d..8eae88303 100644 --- a/sha1/src/compress/aarch64.rs +++ b/sha1/src/compress/aarch64.rs @@ -11,6 +11,7 @@ cpufeatures::new!(sha1_hwcap, "sha2"); // note that `sha2` implicitly enables `neon` #[target_feature(enable = "sha2")] +#[allow(unsafe_op_in_unsafe_fn)] unsafe fn compress_sha1_neon(state: &mut [u32; 5], blocks: &[[u8; 64]]) { use core::arch::aarch64::*; diff --git a/sha1/src/compress/x86.rs b/sha1/src/compress/x86.rs index d59e7fd09..4a25bf3ba 100644 --- a/sha1/src/compress/x86.rs +++ b/sha1/src/compress/x86.rs @@ -31,6 +31,7 @@ macro_rules! schedule_rounds4 { } #[target_feature(enable = "sha,sse2,ssse3,sse4.1")] +#[allow(unsafe_op_in_unsafe_fn)] unsafe fn digest_blocks(state: &mut [u32; 5], blocks: &[[u8; 64]]) { #[allow(non_snake_case)] let MASK: __m128i = _mm_set_epi64x(0x0001_0203_0405_0607, 0x0809_0A0B_0C0D_0E0F); diff --git a/sha1/src/lib.rs b/sha1/src/lib.rs index cbf5fbee8..b7f4acea1 100644 --- a/sha1/src/lib.rs +++ b/sha1/src/lib.rs @@ -11,6 +11,7 @@ pub use digest::{self, Digest}; use core::{convert::TryInto, fmt, slice::from_ref}; use digest::{ + HashMarker, Output, array::Array, block_buffer::Eager, core_api::{ @@ -18,8 +19,7 @@ use digest::{ OutputSizeUser, Reset, UpdateCore, }, crypto_common::hazmat::{DeserializeStateError, SerializableState, SerializedState}, - typenum::{Unsigned, U20, U28, U64}, - HashMarker, Output, + typenum::{U20, U28, U64, Unsigned}, }; #[cfg(feature = "oid")] diff --git a/sha2/CHANGELOG.md b/sha2/CHANGELOG.md index bc3030704..6fbfef195 100644 --- a/sha2/CHANGELOG.md +++ b/sha2/CHANGELOG.md @@ -5,18 +5,24 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## UNRELEASED +## 0.11.0 (UNRELEASED) +### Changed +- Edition changed to 2024 and MSRV bumped to 1.85 ([#652]) +- Relax MSRV policy and allow MSRV bumps in patch releases +- Update to `digest` v0.11 + ### Added - RISC-V scalar crypto extension support gated behind `sha2_backend = "riscv-zknh"` or - `sha2_backend = "riscv-zknh-compact"` configuration flags [#614] + `sha2_backend = "riscv-zknh-compact"` configuration flags ([#614]) ### Removed -- `asm`, `asm-aarch64`, `loongarch64_asm`, and `compress` crate features [#542] -- `soft` crate feature. Replaced with `sha2_backend = "soft"` configuration flag [#615] +- `asm`, `asm-aarch64`, `loongarch64_asm`, and `compress` crate features ([#542]) +- `soft` crate feature. Replaced with `sha2_backend = "soft"` configuration flag ([#615]) [#542]: https://github.com/RustCrypto/hashes/pull/542 [#614]: https://github.com/RustCrypto/hashes/pull/614 [#615]: https://github.com/RustCrypto/hashes/pull/615 +[#652]: https://github.com/RustCrypto/hashes/pull/652 ## 0.10.8 (2023-09-26) ### Added diff --git a/sha2/Cargo.toml b/sha2/Cargo.toml index aef7a8a87..96979e628 100644 --- a/sha2/Cargo.toml +++ b/sha2/Cargo.toml @@ -8,23 +8,23 @@ including SHA-224, SHA-256, SHA-384, and SHA-512. authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" readme = "README.md" -edition = "2021" +edition = "2024" +rust-version = "1.85" documentation = "https://docs.rs/sha2" repository = "https://github.com/RustCrypto/hashes" keywords = ["crypto", "sha2", "hash", "digest"] categories = ["cryptography", "no-std"] -rust-version = "1.81" [dependencies] -digest = "=0.11.0-pre.9" +digest = "=0.11.0-pre.10" cfg-if = "1" [target.'cfg(any(target_arch = "aarch64", target_arch = "x86_64", target_arch = "x86"))'.dependencies] cpufeatures = "0.2" [dev-dependencies] -digest = { version = "=0.11.0-pre.9", features = ["dev"] } -hex-literal = "0.4" +digest = { version = "=0.11.0-pre.10", features = ["dev"] } +hex-literal = "1" base16ct = { version = "0.2", features = ["alloc"] } [features] diff --git a/sha2/README.md b/sha2/README.md index acd2e743b..b9c58812c 100644 --- a/sha2/README.md +++ b/sha2/README.md @@ -59,18 +59,6 @@ assert_eq!(hash512, hex!( Also, see the [examples section] in the RustCrypto/hashes readme. -## Minimum Supported Rust Version - -Rust **1.81** or higher. - -Minimum supported Rust version can be changed in the future, but it will be -done with a minor version bump. - -## SemVer Policy - -- All on-by-default features of this library are covered by SemVer -- MSRV is considered exempt from SemVer as noted above - ## License The crate is licensed under either of: @@ -93,7 +81,7 @@ dual licensed as above, without any additional terms or conditions. [docs-image]: https://docs.rs/sha2/badge.svg [docs-link]: https://docs.rs/sha2/ [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg -[rustc-image]: https://img.shields.io/badge/rustc-1.81+-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.85+-blue.svg [chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg [chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes [build-image]: https://github.com/RustCrypto/hashes/workflows/sha2/badge.svg?branch=master diff --git a/sha2/src/core_api.rs b/sha2/src/core_api.rs index acd23541c..16229601b 100644 --- a/sha2/src/core_api.rs +++ b/sha2/src/core_api.rs @@ -1,6 +1,7 @@ use crate::{consts, sha256::compress256, sha512::compress512}; use core::{convert::TryInto, fmt, slice::from_ref}; use digest::{ + HashMarker, InvalidOutputSize, Output, array::Array, block_buffer::Eager, core_api::{ @@ -8,8 +9,7 @@ use digest::{ UpdateCore, VariableOutputCore, }, crypto_common::hazmat::{DeserializeStateError, SerializableState, SerializedState}, - typenum::{Unsigned, U128, U32, U40, U64, U80}, - HashMarker, InvalidOutputSize, Output, + typenum::{U32, U40, U64, U80, U128, Unsigned}, }; #[cfg(feature = "zeroize")] diff --git a/sha2/src/sha256/aarch64.rs b/sha2/src/sha256/aarch64.rs index 91fedbba5..892a1f0b1 100644 --- a/sha2/src/sha256/aarch64.rs +++ b/sha2/src/sha256/aarch64.rs @@ -1,4 +1,5 @@ //! SHA-256 `aarch64` backend. +#![allow(unsafe_op_in_unsafe_fn)] // Implementation adapted from mbedtls. diff --git a/sha2/src/sha256/wasm32.rs b/sha2/src/sha256/wasm32.rs index 31659bb44..50922099d 100644 --- a/sha2/src/sha256/wasm32.rs +++ b/sha2/src/sha256/wasm32.rs @@ -1,4 +1,4 @@ -#![allow(clippy::many_single_char_names)] +#![allow(clippy::many_single_char_names, unsafe_op_in_unsafe_fn)] use core::arch::wasm32::*; use core::mem::size_of; diff --git a/sha2/src/sha256/x86_shani.rs b/sha2/src/sha256/x86_shani.rs index 2f59dcf77..1b6257940 100644 --- a/sha2/src/sha256/x86_shani.rs +++ b/sha2/src/sha256/x86_shani.rs @@ -1,6 +1,6 @@ //! SHA-256 `x86`/`x86_64` backend -#![allow(clippy::many_single_char_names)] +#![allow(clippy::many_single_char_names, unsafe_op_in_unsafe_fn)] #[cfg(target_arch = "x86")] use core::arch::x86::*; diff --git a/sha2/src/sha512/aarch64.rs b/sha2/src/sha512/aarch64.rs index dcd0ada07..68179e925 100644 --- a/sha2/src/sha512/aarch64.rs +++ b/sha2/src/sha512/aarch64.rs @@ -1,4 +1,5 @@ // Implementation adapted from mbedtls. +#![allow(unsafe_op_in_unsafe_fn)] use core::arch::aarch64::*; diff --git a/sha2/src/sha512/riscv_zknh.rs b/sha2/src/sha512/riscv_zknh.rs index be7310f7f..c17fe41e9 100644 --- a/sha2/src/sha512/riscv_zknh.rs +++ b/sha2/src/sha512/riscv_zknh.rs @@ -12,6 +12,7 @@ use core::arch::riscv64::*; compile_error!("riscv-zknh backend requires zknh and zbkb (or zbb) target features"); #[cfg(target_arch = "riscv32")] +#[allow(unsafe_op_in_unsafe_fn)] unsafe fn sha512sum0(x: u64) -> u64 { let a = sha512sum0r((x >> 32) as u32, x as u32); let b = sha512sum0r(x as u32, (x >> 32) as u32); @@ -19,6 +20,7 @@ unsafe fn sha512sum0(x: u64) -> u64 { } #[cfg(target_arch = "riscv32")] +#[allow(unsafe_op_in_unsafe_fn)] unsafe fn sha512sum1(x: u64) -> u64 { let a = sha512sum1r((x >> 32) as u32, x as u32); let b = sha512sum1r(x as u32, (x >> 32) as u32); @@ -26,6 +28,7 @@ unsafe fn sha512sum1(x: u64) -> u64 { } #[cfg(target_arch = "riscv32")] +#[allow(unsafe_op_in_unsafe_fn)] unsafe fn sha512sig0(x: u64) -> u64 { let a = sha512sig0h((x >> 32) as u32, x as u32); let b = sha512sig0l(x as u32, (x >> 32) as u32); @@ -33,6 +36,7 @@ unsafe fn sha512sig0(x: u64) -> u64 { } #[cfg(target_arch = "riscv32")] +#[allow(unsafe_op_in_unsafe_fn)] unsafe fn sha512sig1(x: u64) -> u64 { let a = sha512sig1h((x >> 32) as u32, x as u32); let b = sha512sig1l(x as u32, (x >> 32) as u32); diff --git a/sha2/src/sha512/riscv_zknh_compact.rs b/sha2/src/sha512/riscv_zknh_compact.rs index 729157c45..585bd57e0 100644 --- a/sha2/src/sha512/riscv_zknh_compact.rs +++ b/sha2/src/sha512/riscv_zknh_compact.rs @@ -12,6 +12,7 @@ use core::arch::riscv64::*; compile_error!("riscv-zknh-compact backend requires zknh and zbkb (or zbb) target features"); #[cfg(target_arch = "riscv32")] +#[allow(unsafe_op_in_unsafe_fn)] unsafe fn sha512sum0(x: u64) -> u64 { let a = sha512sum0r((x >> 32) as u32, x as u32); let b = sha512sum0r(x as u32, (x >> 32) as u32); @@ -19,6 +20,7 @@ unsafe fn sha512sum0(x: u64) -> u64 { } #[cfg(target_arch = "riscv32")] +#[allow(unsafe_op_in_unsafe_fn)] unsafe fn sha512sum1(x: u64) -> u64 { let a = sha512sum1r((x >> 32) as u32, x as u32); let b = sha512sum1r(x as u32, (x >> 32) as u32); @@ -26,6 +28,7 @@ unsafe fn sha512sum1(x: u64) -> u64 { } #[cfg(target_arch = "riscv32")] +#[allow(unsafe_op_in_unsafe_fn)] unsafe fn sha512sig0(x: u64) -> u64 { let a = sha512sig0h((x >> 32) as u32, x as u32); let b = sha512sig0l(x as u32, (x >> 32) as u32); @@ -33,6 +36,7 @@ unsafe fn sha512sig0(x: u64) -> u64 { } #[cfg(target_arch = "riscv32")] +#[allow(unsafe_op_in_unsafe_fn)] unsafe fn sha512sig1(x: u64) -> u64 { let a = sha512sig1h((x >> 32) as u32, x as u32); let b = sha512sig1l(x as u32, (x >> 32) as u32); diff --git a/sha2/src/sha512/wasm32.rs b/sha2/src/sha512/wasm32.rs index 6ff60bf2c..745520c7f 100644 --- a/sha2/src/sha512/wasm32.rs +++ b/sha2/src/sha512/wasm32.rs @@ -1,4 +1,4 @@ -#![allow(clippy::many_single_char_names)] +#![allow(clippy::many_single_char_names, unsafe_op_in_unsafe_fn)] use core::arch::wasm32::*; use core::mem::size_of; diff --git a/sha2/src/sha512/x86_avx2.rs b/sha2/src/sha512/x86_avx2.rs index 40a21f05d..179ec3236 100644 --- a/sha2/src/sha512/x86_avx2.rs +++ b/sha2/src/sha512/x86_avx2.rs @@ -1,6 +1,6 @@ //! SHA-512 `x86`/`x86_64` backend -#![allow(clippy::many_single_char_names)] +#![allow(clippy::many_single_char_names, unsafe_op_in_unsafe_fn)] use core::mem::size_of; diff --git a/sha3/CHANGELOG.md b/sha3/CHANGELOG.md index 9992ac31e..0e55126fb 100644 --- a/sha3/CHANGELOG.md +++ b/sha3/CHANGELOG.md @@ -5,6 +5,14 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.11.0 (UNRELEASED) +### Changed +- Edition changed to 2024 and MSRV bumped to 1.85 ([#652]) +- Relax MSRV policy and allow MSRV bumps in patch releases +- Update to `digest` v0.11 + +[#652]: https://github.com/RustCrypto/hashes/pull/652 + ## 0.10.8 (2023-04-08) ### Fixed - Performance regression: now uses `p1600` fn ([#472]) diff --git a/sha3/Cargo.toml b/sha3/Cargo.toml index eef6a51a5..18b0926b9 100644 --- a/sha3/Cargo.toml +++ b/sha3/Cargo.toml @@ -9,20 +9,20 @@ the accelerated variant TurboSHAKE authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" readme = "README.md" -edition = "2021" +edition = "2024" +rust-version = "1.85" documentation = "https://docs.rs/sha3" repository = "https://github.com/RustCrypto/hashes" keywords = ["crypto", "sha3", "keccak", "hash", "digest"] categories = ["cryptography", "no-std"] -rust-version = "1.81" [dependencies] -digest = "=0.11.0-pre.9" +digest = "=0.11.0-pre.10" keccak = "=0.2.0-pre.0" [dev-dependencies] -digest = { version = "=0.11.0-pre.9", features = ["dev"] } -hex-literal = "0.4" +digest = { version = "=0.11.0-pre.10", features = ["dev"] } +hex-literal = "1" base16ct = { version = "0.2", features = ["alloc"] } [features] diff --git a/sha3/README.md b/sha3/README.md index f0067b901..1885712b1 100644 --- a/sha3/README.md +++ b/sha3/README.md @@ -61,18 +61,6 @@ assert_eq!(buf, hex!("5881092dd818bf5cf8a3")); Also, see the [examples section] in the RustCrypto/hashes readme. -## Minimum Supported Rust Version - -Rust **1.81** or higher. - -Minimum supported Rust version can be changed in the future, but it will be -done with a minor version bump. - -## SemVer Policy - -- All on-by-default features of this library are covered by SemVer -- MSRV is considered exempt from SemVer as noted above - ## License The crate is licensed under either of: @@ -95,7 +83,7 @@ dual licensed as above, without any additional terms or conditions. [docs-image]: https://docs.rs/sha3/badge.svg [docs-link]: https://docs.rs/sha3/ [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg -[rustc-image]: https://img.shields.io/badge/rustc-1.81+-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.85+-blue.svg [chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg [chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes [build-image]: https://github.com/RustCrypto/hashes/workflows/sha3/badge.svg?branch=master diff --git a/sha3/src/lib.rs b/sha3/src/lib.rs index 2db64efac..f5a1d1ba9 100644 --- a/sha3/src/lib.rs +++ b/sha3/src/lib.rs @@ -12,16 +12,16 @@ pub use digest::{self, Digest}; use core::fmt; use digest::{ + HashMarker, Output, array::typenum::Unsigned, block_buffer::Eager, - consts::{U104, U136, U144, U168, U200, U28, U32, U48, U64, U72}, + consts::{U28, U32, U48, U64, U72, U104, U136, U144, U168, U200}, core_api::{ AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, CoreWrapper, ExtendableOutputCore, FixedOutputCore, OutputSizeUser, Reset, UpdateCore, XofReaderCore, XofReaderCoreWrapper, }, crypto_common::hazmat::{DeserializeStateError, SerializableState, SerializedState}, - HashMarker, Output, }; #[cfg(feature = "oid")] diff --git a/sha3/tests/turboshake.rs b/sha3/tests/turboshake.rs index 14308acf0..f379beaaf 100644 --- a/sha3/tests/turboshake.rs +++ b/sha3/tests/turboshake.rs @@ -48,8 +48,13 @@ macro_rules! new_turbo_shake_test { let data = include_bytes!(concat!("data/", $test_name, ".blb")); for (i, row) in Blob5Iterator::new(data).unwrap().enumerate() { - let [domain_separation, input, input_pattern_length, output, truncate_output] = - row.unwrap(); + let [ + domain_separation, + input, + input_pattern_length, + output, + truncate_output, + ] = row.unwrap(); let input = if (input_pattern_length.len() == 0) { input.to_vec() diff --git a/shabal/CHANGELOG.md b/shabal/CHANGELOG.md index 5c34a9824..01125c93d 100644 --- a/shabal/CHANGELOG.md +++ b/shabal/CHANGELOG.md @@ -5,6 +5,14 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.5.0 (UNRELEASED) +### Changed +- Edition changed to 2024 and MSRV bumped to 1.85 ([#652]) +- Relax MSRV policy and allow MSRV bumps in patch releases +- Update to `digest` v0.11 + +[#652]: https://github.com/RustCrypto/hashes/pull/652 + ## 0.4.1 (2022-02-17) ### Fixed - Minimal versions build ([#363]) diff --git a/shabal/Cargo.toml b/shabal/Cargo.toml index 25e2dadc3..bdde61985 100644 --- a/shabal/Cargo.toml +++ b/shabal/Cargo.toml @@ -5,19 +5,19 @@ description = "Shabal hash functions" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" readme = "README.md" -edition = "2021" +edition = "2024" +rust-version = "1.85" documentation = "https://docs.rs/shabal" repository = "https://github.com/RustCrypto/hashes" keywords = ["crypto", "shabal", "hash", "digest"] categories = ["cryptography", "no-std"] -rust-version = "1.81" [dependencies] -digest = "=0.11.0-pre.9" +digest = "=0.11.0-pre.10" [dev-dependencies] -digest = { version = "=0.11.0-pre.9", features = ["dev"] } -hex-literal = "0.4" +digest = { version = "=0.11.0-pre.10", features = ["dev"] } +hex-literal = "1" base16ct = { version = "0.2", features = ["alloc"] } [features] diff --git a/shabal/README.md b/shabal/README.md index 5057edde4..e164bbfdb 100644 --- a/shabal/README.md +++ b/shabal/README.md @@ -30,18 +30,6 @@ assert_eq!(hex_hash, "d945dee21ffca23ac232763aa9cac6c15805f144db9d6c97395437e01c Also, see the [examples section] in the RustCrypto/hashes readme. -## Minimum Supported Rust Version - -Rust **1.81** or higher. - -Minimum supported Rust version can be changed in the future, but it will be -done with a minor version bump. - -## SemVer Policy - -- All on-by-default features of this library are covered by SemVer -- MSRV is considered exempt from SemVer as noted above - ## License The crate is licensed under either of: @@ -64,7 +52,7 @@ dual licensed as above, without any additional terms or conditions. [docs-image]: https://docs.rs/shabal/badge.svg [docs-link]: https://docs.rs/shabal/ [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg -[rustc-image]: https://img.shields.io/badge/rustc-1.81+-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.85+-blue.svg [chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg [chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes [build-image]: https://github.com/RustCrypto/hashes/workflows/shabal/badge.svg?branch=master diff --git a/shabal/src/core_api.rs b/shabal/src/core_api.rs index a49a7d7eb..2001f5069 100644 --- a/shabal/src/core_api.rs +++ b/shabal/src/core_api.rs @@ -1,15 +1,15 @@ use crate::consts; use core::{fmt, mem, num::Wrapping}; use digest::{ + HashMarker, InvalidOutputSize, Output, array::Array, block_buffer::Eager, - consts::{U184, U48, U64, U8}, + consts::{U8, U48, U64, U184}, core_api::{ AlgorithmName, BlockSizeUser, Buffer, BufferKindUser, OutputSizeUser, TruncSide, UpdateCore, VariableOutputCore, }, crypto_common::hazmat::{DeserializeStateError, SerializableState, SerializedState}, - HashMarker, InvalidOutputSize, Output, }; #[cfg(feature = "zeroize")] diff --git a/skein/CHANGELOG.md b/skein/CHANGELOG.md index 54f3b9ef0..e5cd31b1a 100644 --- a/skein/CHANGELOG.md +++ b/skein/CHANGELOG.md @@ -5,6 +5,14 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.2.0 (UNRELEASED) +### Changed +- Edition changed to 2024 and MSRV bumped to 1.85 ([#652]) +- Relax MSRV policy and allow MSRV bumps in patch releases +- Update to `digest` v0.11 + +[#652]: https://github.com/RustCrypto/hashes/pull/652 + ## 0.1.0 (2023-06-09) - Initial release ([#483]) diff --git a/skein/Cargo.toml b/skein/Cargo.toml index caef980af..3a4778dc9 100644 --- a/skein/Cargo.toml +++ b/skein/Cargo.toml @@ -4,8 +4,8 @@ version = "0.2.0-pre" description = "Skein hash functions" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" -edition = "2021" -rust-version = "1.81" +edition = "2024" +rust-version = "1.85" readme = "README.md" documentation = "https://docs.rs/skein" repository = "https://github.com/RustCrypto/hashes" @@ -13,12 +13,12 @@ keywords = ["crypto", "skein", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "=0.11.0-pre.9" +digest = "=0.11.0-pre.10" threefish = { version = "0.5.2", default-features = false } [dev-dependencies] -digest = { version = "=0.11.0-pre.9", features = ["dev"] } -hex-literal = "0.4" +digest = { version = "=0.11.0-pre.10", features = ["dev"] } +hex-literal = "1" base16ct = { version = "0.2", features = ["alloc"] } [features] diff --git a/skein/README.md b/skein/README.md index 1f1923688..c3491758c 100644 --- a/skein/README.md +++ b/skein/README.md @@ -34,18 +34,6 @@ assert_eq!(hex_hash, "b3250457e05d3060b1a4bbc1428bc75a3f525ca389aeab96cfa34638d9 Also, see the [examples section] in the RustCrypto/hashes readme. -## Minimum Supported Rust Version - -Rust **1.81** or higher. - -Minimum supported Rust version can be changed in the future, but it will be -done with a minor version bump. - -## SemVer Policy - -- All on-by-default features of this library are covered by SemVer -- MSRV is considered exempt from SemVer as noted above - ## License The crate is licensed under either of: @@ -68,7 +56,7 @@ dual licensed as above, without any additional terms or conditions. [docs-image]: https://docs.rs/skein/badge.svg [docs-link]: https://docs.rs/skein/ [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg -[rustc-image]: https://img.shields.io/badge/rustc-1.81+-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.85+-blue.svg [chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg [chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes [build-image]: https://github.com/RustCrypto/hashes/workflows/skein/badge.svg?branch=master diff --git a/skein/src/lib.rs b/skein/src/lib.rs index 7595cba26..db80dff7a 100644 --- a/skein/src/lib.rs +++ b/skein/src/lib.rs @@ -8,20 +8,20 @@ #![warn(missing_docs, rust_2018_idioms)] #![deny(unsafe_code)] -pub use digest::{self, consts, Digest}; +pub use digest::{self, Digest, consts}; use core::{fmt, marker::PhantomData}; use digest::{ - array::{typenum::Unsigned, Array, ArraySize}, + HashMarker, Output, + array::{Array, ArraySize, typenum::Unsigned}, block_buffer::Lazy, - consts::{U128, U32, U64}, + consts::{U32, U64, U128}, core_api::{ AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, CoreWrapper, FixedOutputCore, OutputSizeUser, Reset, UpdateCore, }, - HashMarker, Output, }; -use threefish::{Threefish1024, Threefish256, Threefish512}; +use threefish::{Threefish256, Threefish512, Threefish1024}; #[cfg(feature = "zeroize")] use digest::zeroize::{Zeroize, ZeroizeOnDrop}; diff --git a/skein/tests/mod.rs b/skein/tests/mod.rs index 54360d763..c711bc195 100644 --- a/skein/tests/mod.rs +++ b/skein/tests/mod.rs @@ -1,7 +1,7 @@ use skein::{ - consts::{U128, U32, U64}, + Skein256, Skein512, Skein1024, + consts::{U32, U64, U128}, digest::{dev::fixed_test, new_test}, - Skein1024, Skein256, Skein512, }; new_test!(skein256_32, "skein256_32", Skein256, fixed_test); diff --git a/sm3/CHANGELOG.md b/sm3/CHANGELOG.md index 5c2568488..ac3ad3b43 100644 --- a/sm3/CHANGELOG.md +++ b/sm3/CHANGELOG.md @@ -5,6 +5,14 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.5.0 (UNRELEASED) +### Changed +- Edition changed to 2024 and MSRV bumped to 1.85 ([#652]) +- Relax MSRV policy and allow MSRV bumps in patch releases +- Update to `digest` v0.11 + +[#652]: https://github.com/RustCrypto/hashes/pull/652 + ## 0.4.2 (2023-05-16) ### Changed - Minor performance improvement ([#477]) diff --git a/sm3/Cargo.toml b/sm3/Cargo.toml index cc2d3e4cd..c82a44fa9 100644 --- a/sm3/Cargo.toml +++ b/sm3/Cargo.toml @@ -5,19 +5,19 @@ description = "SM3 (OSCCA GM/T 0004-2012) hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" readme = "README.md" -edition = "2021" +edition = "2024" +rust-version = "1.85" documentation = "https://docs.rs/sm3" repository = "https://github.com/RustCrypto/hashes" keywords = ["crypto", "sm3", "hash", "digest"] categories = ["cryptography", "no-std"] -rust-version = "1.81" [dependencies] -digest = "=0.11.0-pre.9" +digest = "=0.11.0-pre.10" [dev-dependencies] -digest = { version = "=0.11.0-pre.9", features = ["dev"] } -hex-literal = "0.4" +digest = { version = "=0.11.0-pre.10", features = ["dev"] } +hex-literal = "1" base16ct = { version = "0.2", features = ["alloc"] } [features] diff --git a/sm3/README.md b/sm3/README.md index 20367334f..f9cff2ac5 100644 --- a/sm3/README.md +++ b/sm3/README.md @@ -29,18 +29,6 @@ assert_eq!(hex_hash, "44f0061e69fa6fdfc290c494654a05dc0c053da7e5c52b84ef93a9d67d Also, see the [examples section] in the RustCrypto/hashes readme. -## Minimum Supported Rust Version - -Rust **1.81** or higher. - -Minimum supported Rust version can be changed in the future, but it will be -done with a minor version bump. - -## SemVer Policy - -- All on-by-default features of this library are covered by SemVer -- MSRV is considered exempt from SemVer as noted above - ## License The crate is licensed under either of: @@ -63,7 +51,7 @@ dual licensed as above, without any additional terms or conditions. [docs-image]: https://docs.rs/sm3/badge.svg [docs-link]: https://docs.rs/sm3/ [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg -[rustc-image]: https://img.shields.io/badge/rustc-1.81+-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.85+-blue.svg [chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg [chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes [build-image]: https://github.com/RustCrypto/hashes/workflows/sm3/badge.svg?branch=master diff --git a/sm3/src/compress.rs b/sm3/src/compress.rs index c0155d58b..998dd71d7 100644 --- a/sm3/src/compress.rs +++ b/sm3/src/compress.rs @@ -1,5 +1,5 @@ #![allow(clippy::many_single_char_names, clippy::too_many_arguments)] -use crate::{consts::T32, Block, Sm3Core}; +use crate::{Block, Sm3Core, consts::T32}; #[inline(always)] fn ff1(x: u32, y: u32, z: u32) -> u32 { diff --git a/sm3/src/lib.rs b/sm3/src/lib.rs index 7ed965b93..9b5235a45 100644 --- a/sm3/src/lib.rs +++ b/sm3/src/lib.rs @@ -12,14 +12,14 @@ pub use digest::{self, Digest}; use core::{convert::TryInto, fmt, slice::from_ref}; use digest::{ + HashMarker, Output, block_buffer::Eager, core_api::{ AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, CoreWrapper, FixedOutputCore, OutputSizeUser, Reset, UpdateCore, }, crypto_common::hazmat::{DeserializeStateError, SerializableState, SerializedState}, - typenum::{Unsigned, U32, U40, U64}, - HashMarker, Output, + typenum::{U32, U40, U64, Unsigned}, }; #[cfg(feature = "zeroize")] diff --git a/streebog/CHANGELOG.md b/streebog/CHANGELOG.md index 042ffc8a6..fd2a6d7c3 100644 --- a/streebog/CHANGELOG.md +++ b/streebog/CHANGELOG.md @@ -5,6 +5,14 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.11.0 (UNRELEASED) +### Changed +- Edition changed to 2024 and MSRV bumped to 1.85 ([#652]) +- Relax MSRV policy and allow MSRV bumps in patch releases +- Update to `digest` v0.11 + +[#652]: https://github.com/RustCrypto/hashes/pull/652 + ## 0.10.2 (2022-09-16) ### Added - Feature-gated OID support ([#405]) diff --git a/streebog/Cargo.toml b/streebog/Cargo.toml index 0d2c7a9b4..5e69abeaa 100644 --- a/streebog/Cargo.toml +++ b/streebog/Cargo.toml @@ -5,19 +5,19 @@ description = "Streebog (GOST R 34.11-2012) hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" readme = "README.md" -edition = "2021" +edition = "2024" +rust-version = "1.85" documentation = "https://docs.rs/streebog" repository = "https://github.com/RustCrypto/hashes" keywords = ["crypto", "streebog", "gost", "hash", "digest"] categories = ["cryptography", "no-std"] -rust-version = "1.81" [dependencies] -digest = "=0.11.0-pre.9" +digest = "=0.11.0-pre.10" [dev-dependencies] -digest = { version = "=0.11.0-pre.9", features = ["dev"] } -hex-literal = "0.4" +digest = { version = "=0.11.0-pre.10", features = ["dev"] } +hex-literal = "1" base16ct = { version = "0.2", features = ["alloc"] } [features] diff --git a/streebog/README.md b/streebog/README.md index a055b955c..3f59303af 100644 --- a/streebog/README.md +++ b/streebog/README.md @@ -38,18 +38,6 @@ assert_eq!(hash512, hex!( Also, see the [examples section] in the RustCrypto/hashes readme. -## Minimum Supported Rust Version - -Rust **1.81** or higher. - -Minimum supported Rust version can be changed in the future, but it will be -done with a minor version bump. - -## SemVer Policy - -- All on-by-default features of this library are covered by SemVer -- MSRV is considered exempt from SemVer as noted above - ## License The crate is licensed under either of: @@ -72,7 +60,7 @@ dual licensed as above, without any additional terms or conditions. [docs-image]: https://docs.rs/streebog/badge.svg [docs-link]: https://docs.rs/streebog/ [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg -[rustc-image]: https://img.shields.io/badge/rustc-1.81+-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.85+-blue.svg [chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg [chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes [build-image]: https://github.com/RustCrypto/hashes/workflows/streebog/badge.svg?branch=master diff --git a/streebog/src/core_api.rs b/streebog/src/core_api.rs index 9fd75914e..bba9f2bc6 100644 --- a/streebog/src/core_api.rs +++ b/streebog/src/core_api.rs @@ -1,14 +1,14 @@ use core::fmt; use digest::{ + HashMarker, InvalidOutputSize, Output, array::Array, block_buffer::Eager, - consts::{U192, U64}, + consts::{U64, U192}, core_api::{ AlgorithmName, Block as GenBlock, BlockSizeUser, Buffer, BufferKindUser, OutputSizeUser, TruncSide, UpdateCore, VariableOutputCore, }, crypto_common::hazmat::{DeserializeStateError, SerializableState, SerializedState}, - HashMarker, InvalidOutputSize, Output, }; #[cfg(feature = "zeroize")] diff --git a/tiger/CHANGELOG.md b/tiger/CHANGELOG.md index 22c7ecded..7b3a98c11 100644 --- a/tiger/CHANGELOG.md +++ b/tiger/CHANGELOG.md @@ -5,6 +5,14 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.3.0 (UNRELEASED) +### Changed +- Edition changed to 2024 and MSRV bumped to 1.85 ([#652]) +- Relax MSRV policy and allow MSRV bumps in patch releases +- Update to `digest` v0.11 + +[#652]: https://github.com/RustCrypto/hashes/pull/652 + ## 0.2.1 (2022-02-17) ### Fixed - Minimal versions build ([#363]) diff --git a/tiger/Cargo.toml b/tiger/Cargo.toml index d87f3a958..a590b697f 100644 --- a/tiger/Cargo.toml +++ b/tiger/Cargo.toml @@ -5,19 +5,19 @@ description = "Tiger hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" readme = "README.md" -edition = "2021" +edition = "2024" +rust-version = "1.85" documentation = "https://docs.rs/tiger" repository = "https://github.com/RustCrypto/hashes" keywords = ["crypto", "hash", "tiger", "digest"] categories = ["cryptography", "no-std"] -rust-version = "1.81" [dependencies] -digest = "=0.11.0-pre.9" +digest = "=0.11.0-pre.10" [dev-dependencies] -digest = { version = "=0.11.0-pre.9", features = ["dev"] } -hex-literal = "0.4" +digest = { version = "=0.11.0-pre.10", features = ["dev"] } +hex-literal = "1" base16ct = { version = "0.2", features = ["alloc"] } [features] diff --git a/tiger/README.md b/tiger/README.md index 1cc2fbda9..6c2e0d3cf 100644 --- a/tiger/README.md +++ b/tiger/README.md @@ -30,18 +30,6 @@ assert_eq!(hex_hash, "4c8fbddae0b6f25832af45e7c62811bb64ec3e43691e9cc3"); Also, see the [examples section] in the RustCrypto/hashes readme. -## Minimum Supported Rust Version - -Rust **1.81** or higher. - -Minimum supported Rust version can be changed in the future, but it will be -done with a minor version bump. - -## SemVer Policy - -- All on-by-default features of this library are covered by SemVer -- MSRV is considered exempt from SemVer as noted above - ## License The crate is licensed under either of: @@ -63,7 +51,7 @@ for inclusion in the work by you, as defined in the Apache-2.0 license, without [docs-image]: https://docs.rs/tiger/badge.svg [docs-link]: https://docs.rs/tiger/ [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg -[rustc-image]: https://img.shields.io/badge/rustc-1.81+-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.85+-blue.svg [chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg [chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes [build-image]: https://github.com/RustCrypto/hashes/workflows/tiger/badge.svg?branch=master diff --git a/tiger/src/compress.rs b/tiger/src/compress.rs index 8ac864050..aa6930d1f 100644 --- a/tiger/src/compress.rs +++ b/tiger/src/compress.rs @@ -1,5 +1,5 @@ -use super::tables::TABLES; use super::State; +use super::tables::TABLES; #[inline(always)] fn round(a: &mut u64, b: &mut u64, c: &mut u64, x: &u64, mul: u8) { diff --git a/tiger/src/lib.rs b/tiger/src/lib.rs index 5f42675b2..151b1fbb8 100644 --- a/tiger/src/lib.rs +++ b/tiger/src/lib.rs @@ -11,14 +11,14 @@ pub use digest::{self, Digest}; use core::{convert::TryInto, fmt}; use digest::{ + HashMarker, Output, block_buffer::Eager, core_api::{ AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, CoreWrapper, FixedOutputCore, OutputSizeUser, Reset, UpdateCore, }, crypto_common::hazmat::{DeserializeStateError, SerializableState, SerializedState}, - typenum::{Unsigned, U24, U32, U64}, - HashMarker, Output, + typenum::{U24, U32, U64, Unsigned}, }; #[cfg(feature = "zeroize")] diff --git a/whirlpool/CHANGELOG.md b/whirlpool/CHANGELOG.md index 7fbd0606d..1eea78d72 100644 --- a/whirlpool/CHANGELOG.md +++ b/whirlpool/CHANGELOG.md @@ -5,11 +5,17 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## UNRELEASED +## 0.11.0 (UNRELEASED) +### Changed +- Edition changed to 2024 and MSRV bumped to 1.85 ([#652]) +- Relax MSRV policy and allow MSRV bumps in patch releases +- Update to `digest` v0.11 + ### Removed - `asm` crate feature [#542] [#542]: https://github.com/RustCrypto/hashes/pull/542 +[#652]: https://github.com/RustCrypto/hashes/pull/652 ## 0.10.4 (2022-09-02) ### Fixed diff --git a/whirlpool/Cargo.toml b/whirlpool/Cargo.toml index b80370aba..f1ae2b361 100644 --- a/whirlpool/Cargo.toml +++ b/whirlpool/Cargo.toml @@ -5,19 +5,19 @@ description = "Whirlpool hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" readme = "README.md" -edition = "2021" +edition = "2024" +rust-version = "1.85" documentation = "https://docs.rs/whirlpool" repository = "https://github.com/RustCrypto/hashes" keywords = ["crypto", "whirlpool", "hash", "digest"] categories = ["cryptography", "no-std"] -rust-version = "1.81" [dependencies] -digest = "=0.11.0-pre.9" +digest = "=0.11.0-pre.10" [dev-dependencies] -digest = { version = "=0.11.0-pre.9", features = ["dev"] } -hex-literal = "0.4" +digest = { version = "=0.11.0-pre.10", features = ["dev"] } +hex-literal = "1" base16ct = { version = "0.2", features = ["alloc"] } [features] diff --git a/whirlpool/README.md b/whirlpool/README.md index 3546890df..acfbbb8e2 100644 --- a/whirlpool/README.md +++ b/whirlpool/README.md @@ -46,18 +46,6 @@ assert_eq!( Also, see the [examples section] in the RustCrypto/hashes readme. -## Minimum Supported Rust Version - -Rust **1.81** or higher. - -Minimum supported Rust version can be changed in the future, but it will be -done with a minor version bump. - -## SemVer Policy - -- All on-by-default features of this library are covered by SemVer -- MSRV is considered exempt from SemVer as noted above - ## License The crate is licensed under either of: @@ -80,7 +68,7 @@ dual licensed as above, without any additional terms or conditions. [docs-image]: https://docs.rs/whirlpool/badge.svg [docs-link]: https://docs.rs/whirlpool/ [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg -[rustc-image]: https://img.shields.io/badge/rustc-1.81+-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.85+-blue.svg [chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg [chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes [build-image]: https://github.com/RustCrypto/hashes/workflows/whirlpool/badge.svg?branch=master diff --git a/whirlpool/src/lib.rs b/whirlpool/src/lib.rs index a4d4c9ccf..07f7c6e26 100644 --- a/whirlpool/src/lib.rs +++ b/whirlpool/src/lib.rs @@ -12,6 +12,7 @@ pub use digest::{self, Digest}; use core::{convert::TryInto, fmt}; use digest::{ + HashMarker, Output, array::Array, block_buffer::Eager, core_api::{ @@ -20,7 +21,6 @@ use digest::{ }, crypto_common::hazmat::{DeserializeStateError, SerializableState, SerializedState}, typenum::{U32, U64, U96}, - HashMarker, Output, }; #[cfg(feature = "zeroize")]