What changed, and why it matters
This commit is a routine release-preparation change. It bumps the version number of the `bitcoin_hashes` crate from 0.21.0 to 1.0.0, updates the changelog, and updates dependency references in lock files and other crates' configuration files. There are no code changes and no security relevance.
No security action required. Treat as a normal release-management commit.
Security signals we found
No strong security signals were identified.
Evidence from the diff
The diff consists entirely of version-string substitutions: bitcoin_hashes is updated from 0.21.0 to 1.0.0 in hashes/Cargo.toml, Cargo-minimal.lock, Cargo-recent.lock, and downstream crate Cargo.toml files (base58, bitcoin, crypto, io, key_expression, p2p, primitives, taproot-primitives). The changelog adds a 1.0.0 release entry stating ‘No changes since v0.21.0.’ No source code, logic, API, or cryptographic implementation is modified.
Changed components
hashes/Cargo.tomlhashes/CHANGELOG.mdCargo-minimal.lockCargo-recent.lockbase58/Cargo.tomlbitcoin/Cargo.tomlcrypto/Cargo.tomlio/Cargo.tomlkey_expression/Cargo.tomlp2p/Cargo.tomlprimitives/Cargo.tomltaproot-primitives/Cargo.tomlInspect captured patch +34 / −29
diff --git a/Cargo-minimal.lock b/Cargo-minimal.lock
index 7236cca4..d352ab62 100644
--- a/Cargo-minimal.lock
+++ b/Cargo-minimal.lock
@@ -29,7 +29,7 @@ name = "base58ck"
version = "0.4.0"
dependencies = [
"bitcoin-internals 0.5.0",
- "bitcoin_hashes 0.21.0",
+ "bitcoin_hashes 1.0.0",
"hex-conservative 1.1.0",
]
@@ -90,7 +90,7 @@ dependencies = [
"bitcoin-primitives",
"bitcoin-taproot-primitives",
"bitcoin-units 0.4.0",
- "bitcoin_hashes 0.21.0",
+ "bitcoin_hashes 1.0.0",
"bitcoinconsensus",
"hex-conservative 1.1.0",
"secp256k1 0.32.0-beta.2",
@@ -124,7 +124,7 @@ dependencies = [
"bitcoin-internals 0.5.0",
"bitcoin-network-kind",
"bitcoin-primitives",
- "bitcoin_hashes 0.21.0",
+ "bitcoin_hashes 1.0.0",
"hex-conservative 1.1.0",
"secp256k1 0.32.0-beta.2",
"serde",
@@ -174,7 +174,7 @@ version = "0.5.0"
dependencies = [
"bitcoin-consensus-encoding",
"bitcoin-internals 0.5.0",
- "bitcoin_hashes 0.21.0",
+ "bitcoin_hashes 1.0.0",
]
[[package]]
@@ -186,7 +186,7 @@ dependencies = [
"bitcoin-crypto",
"bitcoin-internals 0.5.0",
"bitcoin-network-kind",
- "bitcoin_hashes 0.21.0",
+ "bitcoin_hashes 1.0.0",
"hex-conservative 1.1.0",
"secp256k1 0.32.0-beta.2",
"serde",
@@ -214,7 +214,7 @@ dependencies = [
"bitcoin-network-kind",
"bitcoin-primitives",
"bitcoin-units 0.4.0",
- "bitcoin_hashes 0.21.0",
+ "bitcoin_hashes 1.0.0",
"hex-conservative 1.1.0",
"serde",
]
@@ -228,7 +228,7 @@ dependencies = [
"bitcoin-consensus-encoding",
"bitcoin-internals 0.5.0",
"bitcoin-units 0.4.0",
- "bitcoin_hashes 0.21.0",
+ "bitcoin_hashes 1.0.0",
"hex-conservative 1.1.0",
"serde",
"serde_json",
@@ -246,7 +246,7 @@ version = "0.1.0"
dependencies = [
"arbitrary",
"bitcoin-internals 0.5.0",
- "bitcoin_hashes 0.21.0",
+ "bitcoin_hashes 1.0.0",
"secp256k1 0.32.0-beta.2",
"serde",
]
@@ -294,7 +294,7 @@ dependencies = [
[[package]]
name = "bitcoin_hashes"
-version = "0.21.0"
+version = "1.0.0"
dependencies = [
"arbitrary",
"bitcoin-consensus-encoding",
diff --git a/Cargo-recent.lock b/Cargo-recent.lock
index eba0f87a..1b1613fc 100644
--- a/Cargo-recent.lock
+++ b/Cargo-recent.lock
@@ -29,7 +29,7 @@ name = "base58ck"
version = "0.4.0"
dependencies = [
"bitcoin-internals 0.5.0",
- "bitcoin_hashes 0.21.0",
+ "bitcoin_hashes 1.0.0",
"hex-conservative 1.1.0",
]
@@ -89,7 +89,7 @@ dependencies = [
"bitcoin-primitives",
"bitcoin-taproot-primitives",
"bitcoin-units 0.4.0",
- "bitcoin_hashes 0.21.0",
+ "bitcoin_hashes 1.0.0",
"bitcoinconsensus",
"hex-conservative 1.1.0",
"secp256k1 0.32.0-beta.2",
@@ -123,7 +123,7 @@ dependencies = [
"bitcoin-internals 0.5.0",
"bitcoin-network-kind",
"bitcoin-primitives",
- "bitcoin_hashes 0.21.0",
+ "bitcoin_hashes 1.0.0",
"hex-conservative 1.1.0",
"secp256k1 0.32.0-beta.2",
"serde",
@@ -173,7 +173,7 @@ version = "0.5.0"
dependencies = [
"bitcoin-consensus-encoding",
"bitcoin-internals 0.5.0",
- "bitcoin_hashes 0.21.0",
+ "bitcoin_hashes 1.0.0",
]
[[package]]
@@ -185,7 +185,7 @@ dependencies = [
"bitcoin-crypto",
"bitcoin-internals 0.5.0",
"bitcoin-network-kind",
- "bitcoin_hashes 0.21.0",
+ "bitcoin_hashes 1.0.0",
"hex-conservative 1.1.0",
"secp256k1 0.32.0-beta.2",
"serde",
@@ -213,7 +213,7 @@ dependencies = [
"bitcoin-network-kind",
"bitcoin-primitives",
"bitcoin-units 0.4.0",
- "bitcoin_hashes 0.21.0",
+ "bitcoin_hashes 1.0.0",
"hex-conservative 1.1.0",
"serde",
]
@@ -227,7 +227,7 @@ dependencies = [
"bitcoin-consensus-encoding",
"bitcoin-internals 0.5.0",
"bitcoin-units 0.4.0",
- "bitcoin_hashes 0.21.0",
+ "bitcoin_hashes 1.0.0",
"hex-conservative 1.1.0",
"serde",
"serde_json",
@@ -239,7 +239,7 @@ version = "0.1.0"
dependencies = [
"arbitrary",
"bitcoin-internals 0.5.0",
- "bitcoin_hashes 0.21.0",
+ "bitcoin_hashes 1.0.0",
"secp256k1 0.32.0-beta.2",
"serde",
]
@@ -278,7 +278,7 @@ dependencies = [
[[package]]
name = "bitcoin_hashes"
-version = "0.21.0"
+version = "1.0.0"
dependencies = [
"arbitrary",
"bitcoin-consensus-encoding",
diff --git a/base58/Cargo.toml b/base58/Cargo.toml
index 921c6f63..8be95a3e 100644
--- a/base58/Cargo.toml
+++ b/base58/Cargo.toml
@@ -19,7 +19,7 @@ std = ["alloc", "hashes/std", "internals/std"]
alloc = ["hashes/alloc", "internals/alloc"]
[dependencies]
-hashes = { package = "bitcoin_hashes", path = "../hashes", version = "0.21.0", default-features = false }
+hashes = { package = "bitcoin_hashes", path = "../hashes", version = "1.0.0", default-features = false }
internals = { package = "bitcoin-internals", path = "../internals", version = "0.5.0" }
[dev-dependencies]
diff --git a/bitcoin/Cargo.toml b/bitcoin/Cargo.toml
index 5cddaf33..756838e3 100644
--- a/bitcoin/Cargo.toml
+++ b/bitcoin/Cargo.toml
@@ -29,7 +29,7 @@ arbitrary = ["crypto/arbitrary", "dep:arbitrary", "units/arbitrary", "primitives
base58 = { package = "base58ck", path = "../base58", version = "0.4.0", default-features = false, features = ["alloc"] }
bech32 = { version = "0.11.0", default-features = false, features = ["alloc"] }
crypto = { package = "bitcoin-crypto", path = "../crypto", version = "0.2.0", default-features = false, features = ["alloc"] }
-hashes = { package = "bitcoin_hashes", path = "../hashes", version = "0.21.0", default-features = false, features = ["alloc", "hex"] }
+hashes = { package = "bitcoin_hashes", path = "../hashes", version = "1.0.0", default-features = false, features = ["alloc", "hex"] }
key-expression = { package = "bitcoin-key-expression", path = "../key_expression", version = "0.0.0", default-features = false, features = ["alloc"] }
encoding = { package = "bitcoin-consensus-encoding", path = "../consensus_encoding", version = "1.0.0", default-features = false, features = ["alloc"] }
hex = { package = "hex-conservative", version = "1.1.0", default-features = false, features = ["alloc"] }
diff --git a/crypto/Cargo.toml b/crypto/Cargo.toml
index 43f19a80..1f16fc7d 100644
--- a/crypto/Cargo.toml
+++ b/crypto/Cargo.toml
@@ -23,7 +23,7 @@ arbitrary = ["dep:arbitrary", "secp256k1/arbitrary"]
[dependencies]
base58 = { package = "base58ck", path = "../base58", version = "0.4.0", default-features = false }
-hashes = { package = "bitcoin_hashes", path = "../hashes", version = "0.21.0", default-features = false, features = ["hex"] }
+hashes = { package = "bitcoin_hashes", path = "../hashes", version = "1.0.0", default-features = false, features = ["hex"] }
hex = { package = "hex-conservative", version = "1.1.0", default-features = false }
internals = { package = "bitcoin-internals", path = "../internals", version = "0.5.0", features = ["hex"] }
network = { package = "bitcoin-network-kind", path = "../network", version = "0.1.0", default-features = false }
diff --git a/hashes/CHANGELOG.md b/hashes/CHANGELOG.md
index 71e45818..04c831ef 100644
--- a/hashes/CHANGELOG.md
+++ b/hashes/CHANGELOG.md
@@ -2,6 +2,10 @@
## [Unreleased]
+# 1.0.0 - 2026-06-01
+
+* No changes since `v0.21.0`.
+
## [0.21.0] - 2026-05-12
This is intended to be the last release prior to `bitcoin_hashes 1.0.0`.
@@ -347,7 +351,8 @@ Note that we have stopped re-exporting the `core` crate when compiling without `
* Initial release
-[Unreleased]: https://github.com/rust-bitcoin/rust-bitcoin/compare/bitcoin_hashes-0.21.0...HEAD
+[Unreleased]: https://github.com/rust-bitcoin/rust-bitcoin/compare/bitcoin_hashes-1.0.0...HEAD
+[1.0.0]: https://github.com/rust-bitcoin/rust-bitcoin/compare/bitcoin_hashes-0.21.0...bitcoin_hashes-1.0.0
[0.21.0]: https://github.com/rust-bitcoin/rust-bitcoin/compare/bitcoin_hashes-0.20.0...bitcoin_hashes-0.21.0
[0.20.0]: https://github.com/rust-bitcoin/rust-bitcoin/compare/bitcoin_hashes-0.19.0...bitcoin_hashes-0.20.0
[0.19.0]: https://github.com/rust-bitcoin/rust-bitcoin/compare/bitcoin_hashes-0.18.0...bitcoin_hashes-0.19.0
diff --git a/hashes/Cargo.toml b/hashes/Cargo.toml
index 395c57a5..0ca10ed5 100644
--- a/hashes/Cargo.toml
+++ b/hashes/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "bitcoin_hashes"
-version = "0.21.0"
+version = "1.0.0"
authors = ["Andrew Poelstra <apoelstra@wpsoftware.net>"]
license = "CC0-1.0"
repository = "https://github.com/rust-bitcoin/rust-bitcoin"
diff --git a/io/Cargo.toml b/io/Cargo.toml
index 0178c01a..87f1ff30 100644
--- a/io/Cargo.toml
+++ b/io/Cargo.toml
@@ -23,10 +23,10 @@ alloc = ["encoding/alloc", "hashes?/alloc", "internals/alloc"]
internals = { package = "bitcoin-internals", path = "../internals", version = "0.5.0" }
encoding = { package = "bitcoin-consensus-encoding", path = "../consensus_encoding", version = "1.0.0", default-features = false }
-hashes = { package = "bitcoin_hashes", path = "../hashes", version = "0.21.0", default-features = false, optional = true }
+hashes = { package = "bitcoin_hashes", path = "../hashes", version = "1.0.0", default-features = false, optional = true }
[dev-dependencies]
-hashes = { package = "bitcoin_hashes", path = "../hashes", version = "0.21.0", default-features = false, features = ["hex"] }
+hashes = { package = "bitcoin_hashes", path = "../hashes", version = "1.0.0", default-features = false, features = ["hex"] }
[package.metadata.docs.rs]
all-features = true
diff --git a/key_expression/Cargo.toml b/key_expression/Cargo.toml
index e8a0a45b..a20e80c1 100644
--- a/key_expression/Cargo.toml
+++ b/key_expression/Cargo.toml
@@ -23,7 +23,7 @@ arbitrary = ["crypto/arbitrary", "dep:arbitrary", "hashes/arbitrary", "secp256k1
[dependencies]
base58 = { package = "base58ck", path = "../base58", version = "0.4.0", default-features = false }
crypto = { package = "bitcoin-crypto", path = "../crypto", version = "0.2.0", default-features = false }
-hashes = { package = "bitcoin_hashes", path = "../hashes", version = "0.21.0", default-features = false, features = ["hex"] }
+hashes = { package = "bitcoin_hashes", path = "../hashes", version = "1.0.0", default-features = false, features = ["hex"] }
hex = { package = "hex-conservative", version = "1.1.0", default-features = false, features = ["alloc"] }
internals = { package = "bitcoin-internals", path = "../internals", version = "0.5.0", features = ["hex"] }
network = { package = "bitcoin-network-kind", path = "../network", version = "0.1.0", default-features = false }
diff --git a/p2p/Cargo.toml b/p2p/Cargo.toml
index 31d0ecb7..36a5718e 100644
--- a/p2p/Cargo.toml
+++ b/p2p/Cargo.toml
@@ -21,7 +21,7 @@ serde = ["dep:serde", "hashes/serde"]
[dependencies]
encoding = { package = "bitcoin-consensus-encoding", version = "1.0.0", path = "../consensus_encoding", features = ["alloc"], default-features = false }
-hashes = { package = "bitcoin_hashes", version = "0.21.0", path = "../hashes", default-features = false }
+hashes = { package = "bitcoin_hashes", version = "1.0.0", path = "../hashes", default-features = false }
network = { package = "bitcoin-network-kind", path = "../network", version = "0.1.0", default-features = false }
primitives = { package = "bitcoin-primitives", path = "../primitives", version = "0.102.0", features = ["hex", "alloc"], default-features = false }
hex = { package = "hex-conservative", version = "1.1.0", default-features = false, features = ["alloc"] }
diff --git a/primitives/Cargo.toml b/primitives/Cargo.toml
index 93d08baf..59dc5160 100644
--- a/primitives/Cargo.toml
+++ b/primitives/Cargo.toml
@@ -23,7 +23,7 @@ hex = ["dep:hex", "hashes/hex", "internals/hex"]
[dependencies]
encoding = { package = "bitcoin-consensus-encoding", path = "../consensus_encoding", version = "1.0.0", default-features = false }
-hashes = { package = "bitcoin_hashes", path = "../hashes", version = "0.21.0", default-features = false }
+hashes = { package = "bitcoin_hashes", path = "../hashes", version = "1.0.0", default-features = false }
internals = { package = "bitcoin-internals", path = "../internals", version = "0.5.0" }
units = { package = "bitcoin-units", path = "../units", version = "0.4.0", default-features = false, features = [ "encoding" ] }
diff --git a/taproot-primitives/Cargo.toml b/taproot-primitives/Cargo.toml
index 52132fcb..7ebb51ce 100644
--- a/taproot-primitives/Cargo.toml
+++ b/taproot-primitives/Cargo.toml
@@ -21,7 +21,7 @@ arbitrary = ["dep:arbitrary", "secp256k1/arbitrary"]
hex = ["hashes/hex"]
[dependencies]
-hashes = { package = "bitcoin_hashes", path = "../hashes", version = "0.21.0", default-features = false }
+hashes = { package = "bitcoin_hashes", path = "../hashes", version = "1.0.0", default-features = false }
internals = { package = "bitcoin-internals", path = "../internals", version = "0.5.0" }
arbitrary = { version = "1.4.1", optional = true }
Why this scored 15/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.