What changed, and why it matters
This commit is a routine version bump for the internal 'bitcoin-internals' Rust package from 0.4.2 to 0.5.0. It updates version numbers in package manifests, lock files, and adds a changelog entry describing two minor internal code cleanups. There is no indication of any security fix or vulnerability being addressed.
No security action needed. Treat as normal release housekeeping.
Security signals we found
No strong security signals were identified.
Evidence from the diff
The commit updates the bitcoin-internals crate version to 0.5.0 across Cargo.toml files and lock files. The changelog notes two non-functional changes: removal of doc_auto_cfg and moving impl_array_newtype into internals. No source code behavior changes, bug fixes, or security patches are present in the diff.
Changed components
bitcoin-internals crate versioningworkspace Cargo.toml and lock filesInspect captured patch +15 / −10
diff --git a/Cargo-minimal.lock b/Cargo-minimal.lock
index faf2d41c..61a10016 100644
--- a/Cargo-minimal.lock
+++ b/Cargo-minimal.lock
@@ -105,7 +105,7 @@ dependencies = [
[[package]]
name = "bitcoin-internals"
-version = "0.4.2"
+version = "0.5.0"
dependencies = [
"bincode",
"hex-conservative 0.3.0",
diff --git a/Cargo-recent.lock b/Cargo-recent.lock
index 690a24f0..1c2065d1 100644
--- a/Cargo-recent.lock
+++ b/Cargo-recent.lock
@@ -104,7 +104,7 @@ dependencies = [
[[package]]
name = "bitcoin-internals"
-version = "0.4.2"
+version = "0.5.0"
dependencies = [
"bincode",
"hex-conservative 0.3.0",
diff --git a/bitcoin/Cargo.toml b/bitcoin/Cargo.toml
index e94d6720..cc2d4693 100644
--- a/bitcoin/Cargo.toml
+++ b/bitcoin/Cargo.toml
@@ -30,7 +30,7 @@ bech32 = { version = "0.11.0", default-features = false, features = ["alloc"] }
hashes = { package = "bitcoin_hashes", path = "../hashes", version = "0.18.0", default-features = false, features = ["alloc", "hex"] }
encoding = { package = "bitcoin-consensus-encoding", path = "../consensus_encoding", version = "=1.0.0-rc.2", default-features = false, features = ["alloc"] }
hex = { package = "hex-conservative", version = "0.3.0", default-features = false, features = ["alloc"] }
-internals = { package = "bitcoin-internals", path = "../internals", version = "0.4.2", features = ["alloc", "hex"] }
+internals = { package = "bitcoin-internals", path = "../internals", version = "0.5.0", features = ["alloc", "hex"] }
io = { package = "bitcoin-io", path = "../io", version = "0.3.0", default-features = false, features = ["alloc", "hashes"] }
primitives = { package = "bitcoin-primitives", path = "../primitives", version = "=1.0.0-rc.1", default-features = false, features = ["alloc", "hex"] }
secp256k1 = { version = "0.32.0-beta.2", default-features = false, features = ["alloc"] }
diff --git a/consensus_encoding/Cargo.toml b/consensus_encoding/Cargo.toml
index 31a5028e..bcf4ce01 100644
--- a/consensus_encoding/Cargo.toml
+++ b/consensus_encoding/Cargo.toml
@@ -18,7 +18,7 @@ std = ["alloc", "internals/std"]
alloc = ["internals/alloc"]
[dependencies]
-internals = { package = "bitcoin-internals", path = "../internals", version = "0.4.0" }
+internals = { package = "bitcoin-internals", path = "../internals", version = "0.5.0" }
[dev-dependencies]
hex = { package = "hex-conservative", version = "0.3.0" }
diff --git a/hashes/Cargo.toml b/hashes/Cargo.toml
index 358a44d7..c2af3065 100644
--- a/hashes/Cargo.toml
+++ b/hashes/Cargo.toml
@@ -22,7 +22,7 @@ serde = ["dep:serde", "hex"]
small-hash = []
[dependencies]
-internals = { package = "bitcoin-internals", path = "../internals", version = "0.4.1" }
+internals = { package = "bitcoin-internals", path = "../internals", version = "0.5.0" }
encoding = { package = "bitcoin-consensus-encoding", path = "../consensus_encoding", version = "=1.0.0-rc.2", default-features = false }
hex = { package = "hex-conservative", version = "0.3.0", default-features = false, optional = true }
diff --git a/internals/CHANGELOG.md b/internals/CHANGELOG.md
index a1609c5a..6bbf8931 100644
--- a/internals/CHANGELOG.md
+++ b/internals/CHANGELOG.md
@@ -1,3 +1,8 @@
+# 0.5.0 - 2025-12-05
+
+- Remove `doc_auto_cfg` [#5162](https://github.com/rust-bitcoin/rust-bitcoin/pull/5162)
+- Move `impl_array_newtype` to `internals` [#5334](https://github.com/rust-bitcoin/rust-bitcoin/pull/5334)
+
# 0.4.2 - 2025-12-08
Yanking this release because it is on top of the to-be-yanked `v0.4.1`.
diff --git a/internals/Cargo.toml b/internals/Cargo.toml
index ce816562..f652348f 100644
--- a/internals/Cargo.toml
+++ b/internals/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "bitcoin-internals"
-version = "0.4.2"
+version = "0.5.0"
authors = ["Andrew Poelstra <apoelstra@wpsoftware.net>", "The Rust Bitcoin developers"]
license = "CC0-1.0"
repository = "https://github.com/rust-bitcoin/rust-bitcoin/"
diff --git a/io/Cargo.toml b/io/Cargo.toml
index 2649a69d..9beb8db1 100644
--- a/io/Cargo.toml
+++ b/io/Cargo.toml
@@ -19,7 +19,7 @@ std = ["alloc", "encoding/std", "hashes?/std", "internals/std"]
alloc = ["encoding/alloc", "hashes?/alloc", "internals/alloc"]
[dependencies]
-internals = { package = "bitcoin-internals", path = "../internals", version = "0.4.1" }
+internals = { package = "bitcoin-internals", path = "../internals", version = "0.5.0" }
encoding = { package = "bitcoin-consensus-encoding", path = "../consensus_encoding", version = "=1.0.0-rc.2", default-features = false }
hashes = { package = "bitcoin_hashes", path = "../hashes", version = "0.18.0", default-features = false, optional = true }
diff --git a/primitives/Cargo.toml b/primitives/Cargo.toml
index 0a87a32f..d4e109e8 100644
--- a/primitives/Cargo.toml
+++ b/primitives/Cargo.toml
@@ -23,7 +23,7 @@ hex = ["dep:hex-stable", "dep:hex-unstable", "hashes/hex", "internals/hex"]
[dependencies]
encoding = { package = "bitcoin-consensus-encoding", path = "../consensus_encoding", version = "=1.0.0-rc.2", default-features = false }
hashes = { package = "bitcoin_hashes", path = "../hashes", version = "0.18.0", default-features = false }
-internals = { package = "bitcoin-internals", path = "../internals", version = "0.4.1" }
+internals = { package = "bitcoin-internals", path = "../internals", version = "0.5.0" }
units = { package = "bitcoin-units", path = "../units", version = "=1.0.0-rc.3", default-features = false, features = [ "encoding" ] }
arbitrary = { version = "1.4.1", optional = true }
diff --git a/units/Cargo.toml b/units/Cargo.toml
index 9c255076..99f7fe27 100644
--- a/units/Cargo.toml
+++ b/units/Cargo.toml
@@ -19,13 +19,13 @@ alloc = ["internals/alloc", "serde?/alloc", "encoding?/alloc"]
[dependencies]
encoding = { package = "bitcoin-consensus-encoding", path = "../consensus_encoding", version = "=1.0.0-rc.2", default-features = false, optional = true }
-internals = { package = "bitcoin-internals", path = "../internals", version = "0.4.1" }
+internals = { package = "bitcoin-internals", path = "../internals", version = "0.5.0" }
serde = { version = "1.0.195", default-features = false, features = ["derive"], optional = true }
arbitrary = { version = "1.4.1", optional = true }
[dev-dependencies]
-internals = { package = "bitcoin-internals", path = "../internals", version = "0.4.0", features = ["test-serde"] }
+internals = { package = "bitcoin-internals", path = "../internals", version = "0.5.0", features = ["test-serde"] }
bincode = "1.3.1"
serde = { version = "1.0.195", default-features = false, features = ["derive"] }
serde_test = "1.0.19"
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.