deps: bump hkdf 0.12→0.13 and sha2 0.10→0.11.0-rc.5

mainline 6.1.2 loosened its digest pin, unblocking hkdf 0.13 (which
needs digest 0.11). sha2 stays on the prerelease '=0.11.0-rc.5' to
match iroh-base's hard-pin; can drop the '=' once iroh-base relaxes.

HKDF-SHA256 KAT (keys_hkdf_kat_passphrase_abc_app_test_v1_k3) passes
byte-for-byte, so on-wire/on-disk key material is unchanged.

Updates the pinning rationale comment in Cargo.toml accordingly.
This commit is contained in:
swaits committed 2026-05-10 14:16:15 -06:00
1 parent 271c418397
commit d0b091feb4
2 files changed
+14 -13

No files matched your search

Generated
+7 -7
View File
@@ -979,7 +979,6 @@ checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
dependencies = [
"block-buffer 0.10.4",
"crypto-common 0.1.7",
"subtle",
]
[[package]]
@@ -991,6 +990,7 @@ dependencies = [
"block-buffer 0.12.0",
"const-oid 0.10.2",
"crypto-common 0.2.1",
"ctutils",
]
[[package]]
@@ -1603,20 +1603,20 @@ dependencies = [
[[package]]
name = "hkdf"
version = "0.12.4"
version = "0.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7"
checksum = "4aaa26c720c68b866f2c96ef5c1264b3e6f473fe5d4ce61cd44bbe913e553018"
dependencies = [
"hmac",
]
[[package]]
name = "hmac"
version = "0.12.1"
version = "0.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e"
checksum = "6303bc9732ae41b04cb554b844a762b4115a61bfaa81e3e83050991eeb56863f"
dependencies = [
"digest 0.10.7",
"digest 0.11.2",
]
[[package]]
@@ -2102,7 +2102,7 @@ dependencies = [
"mutants",
"proptest",
"rand 0.9.4",
"sha2 0.10.9",
"sha2 0.11.0-rc.5",
"stateright",
"thiserror 2.0.18",
"tokio",
+7 -6
View File
@@ -95,15 +95,16 @@ mainline = { version = "6", features = ["async"] }
#
# * `ed25519-dalek = 2`: 3.0 is pre-release (`3.0.0-pre.6`). Move to 3 once stable.
# * `chacha20poly1305 = 0.10`: 0.11 is `rc`. Same story.
# * `sha2 = 0.10` / `hkdf = 0.12`: **pinned by `mainline`**, which in turn
# hard-pins `digest = "=0.11.0-rc.9"`. Bumping sha2 or hkdf requires either
# a mainline release that relaxes the pin, or a coordinated fork. Attempting
# `sha2 = 0.11` / `hkdf = 0.13` fails cargo-outdated and `cargo check`.
# * `sha2 = "=0.11.0-rc.5"`: hard-pinned by `iroh-base` (which depends on
# `sha2 = "=0.11.0-rc.5"`). Drop the `=` once iroh-base relaxes the pin.
# * `hkdf = 0.13`: works as of mainline 6.1.2, which loosened its `digest`
# pin to `0.11`. The HKDF-SHA256 KAT covers compatibility — bump only if
# it still passes byte-for-byte.
# * `rand = 0.9`: 0.10 is coordinated with iroh + bridge; hold until iroh bumps.
ed25519-dalek = "2"
chacha20poly1305 = "0.10"
hkdf = "0.12"
sha2 = "0.10"
hkdf = "0.13"
sha2 = "=0.11.0-rc.5"
blake3 = "1"
zeroize = { version = "1", features = ["derive"] }
rand = "0.9"