diff --git a/Cargo.lock b/Cargo.lock
index e6f00ab4c9f..091b1b8dede 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -2704,7 +2704,7 @@ dependencies = [
 
 [[package]]
 name = "libp2p-allow-block-list"
-version = "0.4.2"
+version = "0.4.1"
 dependencies = [
  "async-std",
  "libp2p-core",
@@ -2716,7 +2716,7 @@ dependencies = [
 
 [[package]]
 name = "libp2p-autonat"
-version = "0.13.2"
+version = "0.13.1"
 dependencies = [
  "async-trait",
  "asynchronous-codec",
@@ -2886,7 +2886,7 @@ dependencies = [
 
 [[package]]
 name = "libp2p-identify"
-version = "0.46.1"
+version = "0.46.0"
 dependencies = [
  "async-std",
  "asynchronous-codec",
@@ -2935,7 +2935,7 @@ dependencies = [
 
 [[package]]
 name = "libp2p-kad"
-version = "0.47.1"
+version = "0.47.0"
 dependencies = [
  "async-std",
  "asynchronous-codec",
@@ -3267,7 +3267,7 @@ dependencies = [
 
 [[package]]
 name = "libp2p-server"
-version = "0.12.8"
+version = "0.12.6"
 dependencies = [
  "axum",
  "base64 0.22.1",
diff --git a/Cargo.toml b/Cargo.toml
index 8c5c4c320c1..b8186584487 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -74,17 +74,17 @@ rust-version = "1.75.0"
 
 [workspace.dependencies]
 libp2p = { version = "0.54.2", path = "libp2p" }
-libp2p-allow-block-list = { version = "0.4.2", path = "misc/allow-block-list" }
-libp2p-autonat = { version = "0.13.2", path = "protocols/autonat" }
+libp2p-allow-block-list = { version = "0.4.1", path = "misc/allow-block-list" }
+libp2p-autonat = { version = "0.13.1", path = "protocols/autonat" }
 libp2p-connection-limits = { version = "0.4.1", path = "misc/connection-limits" }
 libp2p-core = { version = "0.42.1", path = "core" }
 libp2p-dcutr = { version = "0.12.1", path = "protocols/dcutr" }
 libp2p-dns = { version = "0.42.1", path = "transports/dns" }
 libp2p-floodsub = { version = "0.45.0", path = "protocols/floodsub" }
 libp2p-gossipsub = { version = "0.48.0", path = "protocols/gossipsub" }
-libp2p-identify = { version = "0.46.1", path = "protocols/identify" }
+libp2p-identify = { version = "0.46.0", path = "protocols/identify" }
 libp2p-identity = { version = "0.2.10" }
-libp2p-kad = { version = "0.47.1", path = "protocols/kad" }
+libp2p-kad = { version = "0.47.0", path = "protocols/kad" }
 libp2p-mdns = { version = "0.46.1", path = "protocols/mdns" }
 libp2p-memory-connection-limits = { version = "0.3.1", path = "misc/memory-connection-limits" }
 libp2p-metrics = { version = "0.15.0", path = "misc/metrics" }
@@ -98,7 +98,7 @@ libp2p-quic = { version = "0.11.2", path = "transports/quic" }
 libp2p-relay = { version = "0.18.1", path = "protocols/relay" }
 libp2p-rendezvous = { version = "0.15.1", path = "protocols/rendezvous" }
 libp2p-request-response = { version = "0.28.0", path = "protocols/request-response" }
-libp2p-server = { version = "0.12.8", path = "misc/server" }
+libp2p-server = { version = "0.12.6", path = "misc/server" }
 libp2p-stream = { version = "0.2.0-alpha.1", path = "protocols/stream" }
 libp2p-swarm = { version = "0.45.2", path = "swarm" }
 libp2p-swarm-derive = { version = "=0.35.0", path = "swarm-derive" } # `libp2p-swarm-derive` may not be compatible with different `libp2p-swarm` non-breaking releases. E.g. `libp2p-swarm` might introduce a new enum variant `FromSwarm` (which is `#[non-exhaustive]`) in a non-breaking release. Older versions of `libp2p-swarm-derive` would not forward this enum variant within the `NetworkBehaviour` hierarchy. Thus the version pinning is required.
diff --git a/deny.toml b/deny.toml
index 9e0e201527b..47487553028 100644
--- a/deny.toml
+++ b/deny.toml
@@ -44,6 +44,7 @@ allow = [
     "MPL-2.0",
     "Unlicense",
     "Unicode-3.0",
+    "Zlib",
 ]
 # The confidence threshold for detecting a license from license text.
 # The higher the value, the more closely the license text must be to the
diff --git a/misc/allow-block-list/CHANGELOG.md b/misc/allow-block-list/CHANGELOG.md
index b5ffd7f0495..e7f68f6f8fe 100644
--- a/misc/allow-block-list/CHANGELOG.md
+++ b/misc/allow-block-list/CHANGELOG.md
@@ -1,13 +1,10 @@
-## 0.4.2
-
-- Deprecate `void` crate.
-  See [PR 5676](https://github.com/libp2p/rust-libp2p/pull/5676).
-
 ## 0.4.1
 
 - Add getters & setters for the allowed/blocked peers.
   Return a `bool` for every "insert/remove" function, informing if a change was performed.
   See [PR 5572](https://github.com/libp2p/rust-libp2p/pull/5572).
+- Deprecate `void` crate.
+  See [PR 5676](https://github.com/libp2p/rust-libp2p/pull/5676).
 
 ## 0.4.0
 
diff --git a/misc/allow-block-list/Cargo.toml b/misc/allow-block-list/Cargo.toml
index 66ee3ef9124..c169be87056 100644
--- a/misc/allow-block-list/Cargo.toml
+++ b/misc/allow-block-list/Cargo.toml
@@ -3,7 +3,7 @@ name = "libp2p-allow-block-list"
 edition = "2021"
 rust-version = { workspace = true }
 description = "Allow/block list connection management for libp2p."
-version = "0.4.2"
+version = "0.4.1"
 license = "MIT"
 repository = "https://github.com/libp2p/rust-libp2p"
 keywords = ["peer-to-peer", "libp2p", "networking"]
diff --git a/misc/server/CHANGELOG.md b/misc/server/CHANGELOG.md
index fe48de0f553..53341baa9ab 100644
--- a/misc/server/CHANGELOG.md
+++ b/misc/server/CHANGELOG.md
@@ -1,25 +1,15 @@
-## 0.12.8
-
-### Changed
-
-- Remove deprecated [`libp2p-lookup`](https://github.com/mxinden/libp2p-lookup) from Dockerfile.
-  See [PR 5610](https://github.com/libp2p/rust-libp2p/pull/5610).
-
-## 0.12.7
+## 0.12.6
 
 ### Changed
 
+- Stop using kad default protocol.
+  See [PR 5122](https://github.com/libp2p/rust-libp2p/pull/5122)
 - Use periodic and automatic bootstrap of Kademlia.
   See [PR 4838](https://github.com/libp2p/rust-libp2p/pull/4838).
 - Update to [`libp2p-identify` `v0.45.0`](protocols/identify/CHANGELOG.md#0450).
   See [PR 4981](https://github.com/libp2p/rust-libp2p/pull/4981).
-
-## 0.12.6
-
-### Changed
-
-- Stop using kad default protocol.
-  See [PR 5122](https://github.com/libp2p/rust-libp2p/pull/5122)
+- Remove deprecated [`libp2p-lookup`](https://github.com/mxinden/libp2p-lookup) from Dockerfile.
+  See [PR 5610](https://github.com/libp2p/rust-libp2p/pull/5610).
 
 ## 0.12.5
 
diff --git a/misc/server/Cargo.toml b/misc/server/Cargo.toml
index 02da0adb9ef..b2b3d33ca1e 100644
--- a/misc/server/Cargo.toml
+++ b/misc/server/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "libp2p-server"
-version = "0.12.8"
+version = "0.12.6"
 authors = ["Max Inden <mail@max-inden.de>"]
 edition = "2021"
 repository = "https://github.com/libp2p/rust-libp2p"
diff --git a/protocols/autonat/CHANGELOG.md b/protocols/autonat/CHANGELOG.md
index f946f59c9ef..75a40b8c5ad 100644
--- a/protocols/autonat/CHANGELOG.md
+++ b/protocols/autonat/CHANGELOG.md
@@ -1,13 +1,9 @@
-## 0.13.2
-
-- Update to `libp2p-request-response` `v0.28.0`.
-
 ## 0.13.1
 
 - Verify that an incoming AutoNAT dial comes from a connected peer. See [PR 5597](https://github.com/libp2p/rust-libp2p/pull/5597).
-
 - Deprecate `void` crate.
   See [PR 5676](https://github.com/libp2p/rust-libp2p/pull/5676).
+- Update to `libp2p-request-response` `v0.28.0`.
 
 ## 0.13.0
 
diff --git a/protocols/autonat/Cargo.toml b/protocols/autonat/Cargo.toml
index 5f5d18562fd..8ad4492fbff 100644
--- a/protocols/autonat/Cargo.toml
+++ b/protocols/autonat/Cargo.toml
@@ -3,7 +3,7 @@ name = "libp2p-autonat"
 edition = "2021"
 rust-version = { workspace = true }
 description = "NAT and firewall detection for libp2p"
-version = "0.13.2"
+version = "0.13.1"
 authors = [
     "David Craven <david@craven.ch>",
     "Elena Frank <elena.frank@protonmail.com>",
diff --git a/protocols/identify/CHANGELOG.md b/protocols/identify/CHANGELOG.md
index 2b136740156..e9f7b017574 100644
--- a/protocols/identify/CHANGELOG.md
+++ b/protocols/identify/CHANGELOG.md
@@ -1,11 +1,9 @@
-## 0.46.1
-- Discard `Info`s received from remote peers that contain a public key that doesn't match their peer ID.
-  See [PR 5707](https://github.com/libp2p/rust-libp2p/pull/5707).
-
 ## 0.46.0
 
 - Make `identify::Config` fields private and add getter functions.
   See [PR 5663](https://github.com/libp2p/rust-libp2p/pull/5663).
+- Discard `Info`s received from remote peers that contain a public key that doesn't match their peer ID.
+  See [PR 5707](https://github.com/libp2p/rust-libp2p/pull/5707).
 
 ## 0.45.1
 
diff --git a/protocols/identify/Cargo.toml b/protocols/identify/Cargo.toml
index 4ce2a0c1bd9..9c4f8ea3707 100644
--- a/protocols/identify/Cargo.toml
+++ b/protocols/identify/Cargo.toml
@@ -3,7 +3,7 @@ name = "libp2p-identify"
 edition = "2021"
 rust-version = { workspace = true }
 description = "Nodes identification protocol for libp2p"
-version = "0.46.1"
+version = "0.46.0"
 authors = ["Parity Technologies <admin@parity.io>"]
 license = "MIT"
 repository = "https://github.com/libp2p/rust-libp2p"
diff --git a/protocols/kad/CHANGELOG.md b/protocols/kad/CHANGELOG.md
index 71ef499a179..0793c964fd8 100644
--- a/protocols/kad/CHANGELOG.md
+++ b/protocols/kad/CHANGELOG.md
@@ -1,10 +1,3 @@
-## 0.47.1
-
-- Expose Distance private field U256 to public.
-  See [PR 5705](https://github.com/libp2p/rust-libp2p/pull/5705).
-- Fix systematic memory allocation when iterating over `KBuckets`.
-  See [PR 5715](https://github.com/libp2p/rust-libp2p/pull/5715).
-
 ## 0.47.0
 
 - Expose a kad query facility allowing specify num_results dynamicaly.
@@ -15,6 +8,10 @@
   See [PR 5645](https://github.com/libp2p/rust-libp2p/pull/5645).
 - Fix `cargo clippy` warnings in `rustc 1.84.0-beta.1`.
   See [PR 5700](https://github.com/libp2p/rust-libp2p/pull/5700).
+- Expose Distance private field U256 to public.
+  See [PR 5705](https://github.com/libp2p/rust-libp2p/pull/5705).
+- Fix systematic memory allocation when iterating over `KBuckets`.
+  See [PR 5715](https://github.com/libp2p/rust-libp2p/pull/5715).
 
 ## 0.46.2
 
diff --git a/protocols/kad/Cargo.toml b/protocols/kad/Cargo.toml
index 9b8ec64205a..757c0aed189 100644
--- a/protocols/kad/Cargo.toml
+++ b/protocols/kad/Cargo.toml
@@ -3,7 +3,7 @@ name = "libp2p-kad"
 edition = "2021"
 rust-version = { workspace = true }
 description = "Kademlia protocol for libp2p"
-version = "0.47.1"
+version = "0.47.0"
 authors = ["Parity Technologies <admin@parity.io>"]
 license = "MIT"
 repository = "https://github.com/libp2p/rust-libp2p"