From 5841277b3e5498e7126f0fb5347f027039071d51 Mon Sep 17 00:00:00 2001
From: Elena Frank <elena.frank@protonmail.com>
Date: Thu, 2 Jan 2025 21:35:44 +0700
Subject: [PATCH 1/6] chore(kad): revert version bump

Revert version bump, because `libp2p-kad-0.47.0` isn't released yet.

Pull-Request: #5776.
---
 Cargo.lock                 |  2 +-
 Cargo.toml                 |  2 +-
 protocols/kad/CHANGELOG.md | 11 ++++-------
 protocols/kad/Cargo.toml   |  2 +-
 4 files changed, 7 insertions(+), 10 deletions(-)

diff --git a/Cargo.lock b/Cargo.lock
index e6f00ab4c9f..c73e12ed86d 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -2935,7 +2935,7 @@ dependencies = [
 
 [[package]]
 name = "libp2p-kad"
-version = "0.47.1"
+version = "0.47.0"
 dependencies = [
  "async-std",
  "asynchronous-codec",
diff --git a/Cargo.toml b/Cargo.toml
index 8c5c4c320c1..61266bd5827 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -84,7 +84,7 @@ 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-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" }
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"

From a14776ea7778b7ec17057b8a6cd1711d64131ceb Mon Sep 17 00:00:00 2001
From: Elena Frank <elena.frank@protonmail.com>
Date: Thu, 2 Jan 2025 21:46:07 +0700
Subject: [PATCH 2/6] chore(autonat): revert version bump

Revert version bump, `libp2p-autonat-v0.13.1` isn't released yet.

Pull-Request: #5777.
---
 Cargo.lock                     | 2 +-
 Cargo.toml                     | 2 +-
 protocols/autonat/CHANGELOG.md | 6 +-----
 protocols/autonat/Cargo.toml   | 2 +-
 4 files changed, 4 insertions(+), 8 deletions(-)

diff --git a/Cargo.lock b/Cargo.lock
index c73e12ed86d..f7597208662 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -2716,7 +2716,7 @@ dependencies = [
 
 [[package]]
 name = "libp2p-autonat"
-version = "0.13.2"
+version = "0.13.1"
 dependencies = [
  "async-trait",
  "asynchronous-codec",
diff --git a/Cargo.toml b/Cargo.toml
index 61266bd5827..17ac1f3dadc 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -75,7 +75,7 @@ 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-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" }
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>",

From f7f9e137960a3e57d14f05fdf41ce5a64c0deae6 Mon Sep 17 00:00:00 2001
From: Elena Frank <elena.frank@protonmail.com>
Date: Thu, 2 Jan 2025 22:02:25 +0700
Subject: [PATCH 3/6] chore(server): revert version bump

Revert version bump, `libp2p-server-v0.12.6` isn't released yet.

Pull-Request: #5780.
---
 Cargo.lock               |  2 +-
 Cargo.toml               |  2 +-
 misc/server/CHANGELOG.md | 20 +++++---------------
 misc/server/Cargo.toml   |  2 +-
 4 files changed, 8 insertions(+), 18 deletions(-)

diff --git a/Cargo.lock b/Cargo.lock
index f7597208662..8df2890b494 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -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 17ac1f3dadc..8030d400320 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -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/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"

From 2f9294c5d6fd62a2dd0daefc9fce526ffc52217f Mon Sep 17 00:00:00 2001
From: Elena Frank <elena.frank@protonmail.com>
Date: Thu, 2 Jan 2025 22:13:02 +0700
Subject: [PATCH 4/6] chore(identify): revert version bump

Revert version bump, `libp2p-identify-v0.46.0` isn't released yet.

Pull-Request: #5778.
---
 Cargo.lock                      | 2 +-
 Cargo.toml                      | 2 +-
 protocols/identify/CHANGELOG.md | 6 ++----
 protocols/identify/Cargo.toml   | 2 +-
 4 files changed, 5 insertions(+), 7 deletions(-)

diff --git a/Cargo.lock b/Cargo.lock
index 8df2890b494..8b7ef2022a3 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -2886,7 +2886,7 @@ dependencies = [
 
 [[package]]
 name = "libp2p-identify"
-version = "0.46.1"
+version = "0.46.0"
 dependencies = [
  "async-std",
  "asynchronous-codec",
diff --git a/Cargo.toml b/Cargo.toml
index 8030d400320..657a347d45e 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -82,7 +82,7 @@ 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.0", path = "protocols/kad" }
 libp2p-mdns = { version = "0.46.1", path = "protocols/mdns" }
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"

From fd3f7c400b39e8a7d5913d53dc151db58781c3a8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jo=C3=A3o=20Oliveira?= <hello@jxs.pt>
Date: Thu, 2 Jan 2025 15:26:24 +0000
Subject: [PATCH 5/6] chore(ci): add Zlib to deny.toml

Similar to https://github.com/libp2p/rust-libp2p/pull/5738,  [`foldhash`](https://crates.io/crates/foldhash) is the dependency that requires it. It was introduced by `hashbrown` which is dependency of a lot of crates [here](https://github.com/rust-lang/hashbrown/pull/563).
`hashbrown` is MIT, and Zlib is also an Open Source Initiative [approved license](https://opensource.org/license/zlib).

If you prefer we can also do as the upstream `cargo-deny` do and just add `foldhash` [to the exceptions](https://github.com/EmbarkStudios/cargo-deny/pull/618/files#diff-1040309c64844eb1b6b63d8fd67938adbf9461f1b3c61f12cf738f064a02d3deR56) but I can't see any advantage to it.
Cc @hanabi1224

Pull-Request: #5769.
---
 deny.toml | 1 +
 1 file changed, 1 insertion(+)

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

From 02040ffd79fab078d94cf6bbc000f02a647a95b0 Mon Sep 17 00:00:00 2001
From: Elena Frank <elena.frank@protonmail.com>
Date: Thu, 2 Jan 2025 23:48:57 +0700
Subject: [PATCH 6/6] chore(allow-block-list): revert version bump

Revert version bump, `libp2p-allow-block-list-v0.4.1` isn't released yet.

Pull-Request: #5779.
---
 Cargo.lock                         | 2 +-
 Cargo.toml                         | 2 +-
 misc/allow-block-list/CHANGELOG.md | 7 ++-----
 misc/allow-block-list/Cargo.toml   | 2 +-
 4 files changed, 5 insertions(+), 8 deletions(-)

diff --git a/Cargo.lock b/Cargo.lock
index 8b7ef2022a3..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",
diff --git a/Cargo.toml b/Cargo.toml
index 657a347d45e..b8186584487 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -74,7 +74,7 @@ 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-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" }
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"]