diff --git a/Cargo.lock b/Cargo.lock
index 781e464d125f0a8c0ad9d7f4f256519d7ad68b9e..6f54299b7a2ad7e1cc364e2f26b7dbda86db8905 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -2355,7 +2355,7 @@ name = "chain-spec-builder"
 version = "2.0.0"
 dependencies = [
  "ansi_term",
- "clap 4.4.0",
+ "clap 4.4.1",
  "node-cli",
  "rand 0.8.5",
  "sc-chain-spec",
@@ -2486,9 +2486,9 @@ dependencies = [
 
 [[package]]
 name = "clap"
-version = "4.4.0"
+version = "4.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1d5f1946157a96594eb2d2c10eb7ad9a2b27518cb3000209dec700c35df9197d"
+checksum = "7c8d502cbaec4595d2e7d5f61e318f05417bd2b66fdc3809498f0d3fdf0bea27"
 dependencies = [
  "clap_builder",
  "clap_derive 4.4.0",
@@ -2497,9 +2497,9 @@ dependencies = [
 
 [[package]]
 name = "clap_builder"
-version = "4.4.0"
+version = "4.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "78116e32a042dd73c2901f0dc30790d20ff3447f3e3472fad359e8c3d282bcd6"
+checksum = "5891c7bc0edb3e1c2204fc5e94009affabeb1821c9e5fdc3959536c5c0bb984d"
 dependencies = [
  "anstream",
  "anstyle",
@@ -2513,7 +2513,7 @@ version = "4.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "586a385f7ef2f8b4d86bddaa0c094794e7ccbfe5ffef1f434fe928143fc783a5"
 dependencies = [
- "clap 4.4.0",
+ "clap 4.4.1",
 ]
 
 [[package]]
@@ -3113,7 +3113,7 @@ dependencies = [
  "anes",
  "cast",
  "ciborium",
- "clap 4.4.0",
+ "clap 4.4.1",
  "criterion-plot",
  "futures",
  "is-terminal",
@@ -3278,7 +3278,7 @@ dependencies = [
 name = "cumulus-client-cli"
 version = "0.1.0"
 dependencies = [
- "clap 4.4.0",
+ "clap 4.4.1",
  "parity-scale-codec",
  "sc-chain-spec",
  "sc-cli",
@@ -3971,7 +3971,7 @@ name = "cumulus-test-service"
 version = "0.1.0"
 dependencies = [
  "async-trait",
- "clap 4.4.0",
+ "clap 4.4.1",
  "criterion 0.5.1",
  "cumulus-client-cli",
  "cumulus-client-consensus-common",
@@ -5218,7 +5218,7 @@ dependencies = [
  "Inflector",
  "array-bytes",
  "chrono",
- "clap 4.4.0",
+ "clap 4.4.1",
  "comfy-table",
  "frame-benchmarking",
  "frame-support",
@@ -5310,7 +5310,7 @@ dependencies = [
 name = "frame-election-solution-type-fuzzer"
 version = "2.0.0-alpha.5"
 dependencies = [
- "clap 4.4.0",
+ "clap 4.4.1",
  "frame-election-provider-solution-type",
  "frame-election-provider-support",
  "frame-support",
@@ -8345,7 +8345,7 @@ name = "node-bench"
 version = "0.9.0-dev"
 dependencies = [
  "array-bytes",
- "clap 4.4.0",
+ "clap 4.4.1",
  "derive_more",
  "fs_extra",
  "futures",
@@ -8382,7 +8382,7 @@ version = "3.0.0-dev"
 dependencies = [
  "array-bytes",
  "assert_cmd",
- "clap 4.4.0",
+ "clap 4.4.1",
  "clap_complete",
  "criterion 0.4.0",
  "frame-benchmarking-cli",
@@ -8508,7 +8508,7 @@ dependencies = [
 name = "node-inspect"
 version = "0.9.0-dev"
 dependencies = [
- "clap 4.4.0",
+ "clap 4.4.1",
  "parity-scale-codec",
  "sc-cli",
  "sc-client-api",
@@ -8562,7 +8562,7 @@ dependencies = [
 name = "node-runtime-generate-bags"
 version = "3.0.0"
 dependencies = [
- "clap 4.4.0",
+ "clap 4.4.1",
  "generate-bags",
  "kitchensink-runtime",
 ]
@@ -8571,7 +8571,7 @@ dependencies = [
 name = "node-template"
 version = "4.0.0-dev"
 dependencies = [
- "clap 4.4.0",
+ "clap 4.4.1",
  "frame-benchmarking",
  "frame-benchmarking-cli",
  "frame-system",
@@ -8614,7 +8614,7 @@ dependencies = [
 name = "node-template-release"
 version = "3.0.0"
 dependencies = [
- "clap 4.4.0",
+ "clap 4.4.1",
  "flate2",
  "fs_extra",
  "glob",
@@ -11016,7 +11016,7 @@ dependencies = [
 name = "parachain-template-node"
 version = "0.1.0"
 dependencies = [
- "clap 4.4.0",
+ "clap 4.4.1",
  "color-print",
  "cumulus-client-cli",
  "cumulus-client-collator",
@@ -11746,7 +11746,7 @@ dependencies = [
 name = "polkadot-cli"
 version = "1.0.0"
 dependencies = [
- "clap 4.4.0",
+ "clap 4.4.1",
  "frame-benchmarking-cli",
  "futures",
  "log",
@@ -12579,7 +12579,7 @@ dependencies = [
  "bridge-hub-kusama-runtime",
  "bridge-hub-polkadot-runtime",
  "bridge-hub-rococo-runtime",
- "clap 4.4.0",
+ "clap 4.4.1",
  "collectives-polkadot-runtime",
  "color-print",
  "contracts-rococo-runtime",
@@ -13176,7 +13176,7 @@ version = "1.0.0"
 dependencies = [
  "assert_matches",
  "async-trait",
- "clap 4.4.0",
+ "clap 4.4.1",
  "color-eyre",
  "futures",
  "futures-timer",
@@ -13322,7 +13322,7 @@ dependencies = [
 name = "polkadot-voter-bags"
 version = "1.0.0"
 dependencies = [
- "clap 4.4.0",
+ "clap 4.4.1",
  "generate-bags",
  "kusama-runtime",
  "polkadot-runtime",
@@ -14084,7 +14084,7 @@ checksum = "e5ea92a5b6195c6ef2a0295ea818b312502c6fc94dde986c5553242e18fd4ce2"
 name = "remote-ext-tests-bags-list"
 version = "1.0.0"
 dependencies = [
- "clap 4.4.0",
+ "clap 4.4.1",
  "frame-system",
  "kusama-runtime",
  "kusama-runtime-constants",
@@ -14792,7 +14792,7 @@ version = "0.10.0-dev"
 dependencies = [
  "array-bytes",
  "chrono",
- "clap 4.4.0",
+ "clap 4.4.1",
  "fdlimit",
  "futures",
  "futures-timer",
@@ -15896,7 +15896,7 @@ dependencies = [
 name = "sc-storage-monitor"
 version = "0.1.0"
 dependencies = [
- "clap 4.4.0",
+ "clap 4.4.1",
  "fs4",
  "log",
  "sc-client-db",
@@ -16335,18 +16335,18 @@ checksum = "f97841a747eef040fcd2e7b3b9a220a7205926e60488e673d9e4926d27772ce5"
 
 [[package]]
 name = "serde"
-version = "1.0.186"
+version = "1.0.188"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9f5db24220c009de9bd45e69fb2938f4b6d2df856aa9304ce377b3180f83b7c1"
+checksum = "cf9e0fcba69a370eed61bcf2b728575f726b50b55cba78064753d708ddc7549e"
 dependencies = [
  "serde_derive",
 ]
 
 [[package]]
 name = "serde_derive"
-version = "1.0.186"
+version = "1.0.188"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5ad697f7e0b65af4983a4ce8f56ed5b357e8d3c36651bf6a7e13639c17b8e670"
+checksum = "4eca7ac642d82aa35b60049a6eccb4be6be75e599bd2e9adb5f875a737654af2"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -17424,7 +17424,7 @@ dependencies = [
 name = "sp-npos-elections-fuzzer"
 version = "2.0.0-alpha.5"
 dependencies = [
- "clap 4.4.0",
+ "clap 4.4.1",
  "honggfuzz",
  "rand 0.8.5",
  "sp-npos-elections",
@@ -17855,7 +17855,7 @@ name = "staking-miner"
 version = "1.0.0"
 dependencies = [
  "assert_cmd",
- "clap 4.4.0",
+ "clap 4.4.1",
  "exitcode",
  "frame-election-provider-support",
  "frame-remote-externalities",
@@ -18009,7 +18009,7 @@ dependencies = [
 name = "subkey"
 version = "3.0.0"
 dependencies = [
- "clap 4.4.0",
+ "clap 4.4.1",
  "sc-cli",
 ]
 
@@ -18051,7 +18051,7 @@ dependencies = [
 name = "substrate-frame-cli"
 version = "4.0.0-dev"
 dependencies = [
- "clap 4.4.0",
+ "clap 4.4.1",
  "frame-support",
  "frame-system",
  "sc-cli",
@@ -18530,7 +18530,7 @@ dependencies = [
 name = "test-parachain-adder-collator"
 version = "1.0.0"
 dependencies = [
- "clap 4.4.0",
+ "clap 4.4.1",
  "futures",
  "futures-timer",
  "log",
@@ -18579,7 +18579,7 @@ dependencies = [
 name = "test-parachain-undying-collator"
 version = "1.0.0"
 dependencies = [
- "clap 4.4.0",
+ "clap 4.4.1",
  "futures",
  "futures-timer",
  "log",
@@ -19255,7 +19255,7 @@ version = "0.10.0-dev"
 dependencies = [
  "assert_cmd",
  "async-trait",
- "clap 4.4.0",
+ "clap 4.4.1",
  "frame-remote-externalities",
  "frame-try-runtime",
  "hex",
diff --git a/cumulus/client/cli/Cargo.toml b/cumulus/client/cli/Cargo.toml
index 40c53ae919af113cb313d08bbd74199732e28b93..9f818ef846cd7dbcd53c7e721dce3d210ee2b39b 100644
--- a/cumulus/client/cli/Cargo.toml
+++ b/cumulus/client/cli/Cargo.toml
@@ -5,7 +5,7 @@ authors.workspace = true
 edition.workspace = true
 
 [dependencies]
-clap = { version = "4.3.24", features = ["derive"] }
+clap = { version = "4.4.1", features = ["derive"] }
 codec = { package = "parity-scale-codec", version = "3.0.0" }
 url = "2.4.0"
 
diff --git a/cumulus/client/relay-chain-rpc-interface/Cargo.toml b/cumulus/client/relay-chain-rpc-interface/Cargo.toml
index 1056efd2dc8eb60cebb224a8b58813b138ffb1a4..9797c512505ce38ac4dcb60466403a80d0f78a29 100644
--- a/cumulus/client/relay-chain-rpc-interface/Cargo.toml
+++ b/cumulus/client/relay-chain-rpc-interface/Cargo.toml
@@ -33,7 +33,7 @@ tracing = "0.1.37"
 async-trait = "0.1.73"
 url = "2.4.0"
 serde_json = "1.0.105"
-serde = "1.0.183"
+serde = "1.0.188"
 schnellru = "0.2.1"
 smoldot = { version = "0.11.0",  default_features = false, features = ["std"]}
 smoldot-light = { version = "0.9.0", default_features = false, features = ["std"] }
diff --git a/cumulus/parachain-template/node/Cargo.toml b/cumulus/parachain-template/node/Cargo.toml
index f4fdfc64facb3bc502db4470b888e57b1b768544..09938ede01a018a2fa897a34010eca61124be9e8 100644
--- a/cumulus/parachain-template/node/Cargo.toml
+++ b/cumulus/parachain-template/node/Cargo.toml
@@ -11,10 +11,10 @@ build = "build.rs"
 publish = false
 
 [dependencies]
-clap = { version = "4.3.24", features = ["derive"] }
+clap = { version = "4.4.1", features = ["derive"] }
 log = "0.4.20"
 codec = { package = "parity-scale-codec", version = "3.0.0" }
-serde = { version = "1.0.183", features = ["derive"] }
+serde = { version = "1.0.188", features = ["derive"] }
 jsonrpsee = { version = "0.16.2", features = ["server"] }
 futures = "0.3.28"
 
diff --git a/cumulus/parachain-template/pallets/template/Cargo.toml b/cumulus/parachain-template/pallets/template/Cargo.toml
index e06f836c3be0ebe4c77dfd846bb33758f18ba3bf..af35ab651dc48e85da2a6d138f84de367cb033f8 100644
--- a/cumulus/parachain-template/pallets/template/Cargo.toml
+++ b/cumulus/parachain-template/pallets/template/Cargo.toml
@@ -21,7 +21,7 @@ frame-support = { path = "../../../../substrate/frame/support", default-features
 frame-system = { path = "../../../../substrate/frame/system", default-features = false}
 
 [dev-dependencies]
-serde = { version = "1.0.183" }
+serde = { version = "1.0.188" }
 
 # Substrate
 sp-core = { path = "../../../../substrate/primitives/core", default-features = false}
diff --git a/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-kusama/Cargo.toml b/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-kusama/Cargo.toml
index f29ee82b7cb58dc4db995df591395711f9f03fba..1370838fec1f82b16ef9a2d0c2ab30c6054cbf96 100644
--- a/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-kusama/Cargo.toml
+++ b/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-kusama/Cargo.toml
@@ -13,7 +13,7 @@ codec = { package = "parity-scale-codec", version = "3.0.0", default-features =
 hex-literal = { version = "0.4.1" }
 log = { version = "0.4.20", default-features = false }
 scale-info = { version = "2.9.0", default-features = false, features = ["derive"] }
-serde = { version = "1.0.183", optional = true, features = ["derive"] }
+serde = { version = "1.0.188", optional = true, features = ["derive"] }
 smallvec = "1.11.0"
 
 # Substrate
diff --git a/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-polkadot/Cargo.toml b/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-polkadot/Cargo.toml
index 87afb20eb9066d1708dbf10f0aff5cd2df5c557f..a9c14af6dd36248275492c8240122a082767ba79 100644
--- a/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-polkadot/Cargo.toml
+++ b/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-polkadot/Cargo.toml
@@ -13,7 +13,7 @@ codec = { package = "parity-scale-codec", version = "3.0.0", default-features =
 hex-literal = { version = "0.4.1" }
 log = { version = "0.4.20", default-features = false }
 scale-info = { version = "2.9.0", default-features = false, features = ["derive"] }
-serde = { version = "1.0.183", optional = true, features = ["derive"] }
+serde = { version = "1.0.188", optional = true, features = ["derive"] }
 smallvec = "1.11.0"
 
 # Substrate
diff --git a/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/Cargo.toml b/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/Cargo.toml
index 95bf4c16967a1c5d242177500cb19bcae2b01410..af187bdb40eb76f90ffecc409d605eca13859c01 100644
--- a/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/Cargo.toml
+++ b/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/Cargo.toml
@@ -13,7 +13,7 @@ codec = { package = "parity-scale-codec", version = "3.0.0", default-features =
 hex-literal = { version = "0.4.1" }
 log = { version = "0.4.20", default-features = false }
 scale-info = { version = "2.9.0", default-features = false, features = ["derive"] }
-serde = { version = "1.0.183", optional = true, features = ["derive"] }
+serde = { version = "1.0.188", optional = true, features = ["derive"] }
 smallvec = "1.11.0"
 
 # Substrate
diff --git a/cumulus/polkadot-parachain/Cargo.toml b/cumulus/polkadot-parachain/Cargo.toml
index 8ae7a1f25f3288279859497f4293f935fd1bc6eb..aff88e1fa6ec0a14daf02ecb1c8053cf14870b33 100644
--- a/cumulus/polkadot-parachain/Cargo.toml
+++ b/cumulus/polkadot-parachain/Cargo.toml
@@ -12,12 +12,12 @@ path = "src/main.rs"
 
 [dependencies]
 async-trait = "0.1.73"
-clap = { version = "4.3.24", features = ["derive"] }
+clap = { version = "4.4.1", features = ["derive"] }
 codec = { package = "parity-scale-codec", version = "3.0.0" }
 futures = "0.3.28"
 hex-literal = "0.4.1"
 log = "0.4.20"
-serde = { version = "1.0.183", features = ["derive"] }
+serde = { version = "1.0.188", features = ["derive"] }
 serde_json = "1.0.105"
 
 # Local
diff --git a/cumulus/test/service/Cargo.toml b/cumulus/test/service/Cargo.toml
index 2869af94a77539d7cb6e91e342a807a421e811af..04247dd0248b17cbee624c967535fc853ea323e8 100644
--- a/cumulus/test/service/Cargo.toml
+++ b/cumulus/test/service/Cargo.toml
@@ -11,12 +11,12 @@ path = "src/main.rs"
 
 [dependencies]
 async-trait = "0.1.73"
-clap = { version = "4.3.24", features = ["derive"] }
+clap = { version = "4.4.1", features = ["derive"] }
 codec = { package = "parity-scale-codec", version = "3.0.0" }
 criterion = { version = "0.5.1", features = [ "async_tokio" ] }
 jsonrpsee = { version = "0.16.2", features = ["server"] }
 rand = "0.8.5"
-serde = { version = "1.0.183", features = ["derive"] }
+serde = { version = "1.0.188", features = ["derive"] }
 tokio = { version = "1.32.0", features = ["macros"] }
 tracing = "0.1.37"
 url = "2.4.0"
diff --git a/polkadot/cli/Cargo.toml b/polkadot/cli/Cargo.toml
index 2da40193e96336198daaa8210de1b3b466e154be..8a5b2d0446177c979541feb63bad7c7a172a3691 100644
--- a/polkadot/cli/Cargo.toml
+++ b/polkadot/cli/Cargo.toml
@@ -15,7 +15,7 @@ wasm-opt = false
 crate-type = ["cdylib", "rlib"]
 
 [dependencies]
-clap = { version = "4.0.9", features = ["derive"], optional = true }
+clap = { version = "4.4.1", features = ["derive"], optional = true }
 log = "0.4.17"
 thiserror = "1.0.31"
 futures = "0.3.21"
diff --git a/polkadot/node/malus/Cargo.toml b/polkadot/node/malus/Cargo.toml
index 6f39368168fece661fe2d23200c726d96e978834..f94e19ad5210d8c78b97aa5c25970bbe272d28e5 100644
--- a/polkadot/node/malus/Cargo.toml
+++ b/polkadot/node/malus/Cargo.toml
@@ -40,7 +40,7 @@ assert_matches = "1.5"
 async-trait = "0.1.57"
 sp-keystore = { path = "../../../substrate/primitives/keystore" }
 sp-core = { path = "../../../substrate/primitives/core" }
-clap = { version = "4.0.9", features = ["derive"] }
+clap = { version = "4.4.1", features = ["derive"] }
 futures = "0.3.21"
 futures-timer = "3.0.2"
 gum = { package = "tracing-gum", path = "../gum" }
diff --git a/polkadot/node/primitives/Cargo.toml b/polkadot/node/primitives/Cargo.toml
index fcd7d4b3af97598da909f428b7330bbe8464d6c4..33893ebeba6aeb23f3123a78c0c2d6fa21fea905 100644
--- a/polkadot/node/primitives/Cargo.toml
+++ b/polkadot/node/primitives/Cargo.toml
@@ -20,7 +20,7 @@ sp-runtime = { path = "../../../substrate/primitives/runtime" }
 polkadot-parachain = { path = "../../parachain", default-features = false }
 schnorrkel = "0.9.1"
 thiserror = "1.0.31"
-serde = { version = "1.0.163", features = ["derive"] }
+serde = { version = "1.0.188", features = ["derive"] }
 
 [target.'cfg(not(target_os = "unknown"))'.dependencies]
 zstd = { version = "0.11.2", default-features = false }
diff --git a/polkadot/node/service/Cargo.toml b/polkadot/node/service/Cargo.toml
index 3c89f1d2a54bf5d47343f6a23d85be6b83bcf6ab..0948a3c55d2b7955ef78cc86675ae7210481a2fb 100644
--- a/polkadot/node/service/Cargo.toml
+++ b/polkadot/node/service/Cargo.toml
@@ -77,7 +77,7 @@ frame-benchmarking = { path = "../../../substrate/frame/benchmarking" }
 futures = "0.3.21"
 hex-literal = "0.4.1"
 gum = { package = "tracing-gum", path = "../gum" }
-serde = { version = "1.0.163", features = ["derive"] }
+serde = { version = "1.0.188", features = ["derive"] }
 serde_json = "1.0.96"
 thiserror = "1.0.31"
 kvdb = "0.13.0"
diff --git a/polkadot/parachain/Cargo.toml b/polkadot/parachain/Cargo.toml
index b51ed8e9ecfe732acfe6146e88b0b6eabb4a3ec1..86db6cb9bab02b8928961fe3d933866e9b4a4baa 100644
--- a/polkadot/parachain/Cargo.toml
+++ b/polkadot/parachain/Cargo.toml
@@ -21,7 +21,7 @@ derive_more = "0.99.11"
 bounded-collections = { version = "0.1.8", default-features = false, features = ["serde"] }
 
 # all optional crates.
-serde = { version = "1.0.163", default-features = false, features = ["derive", "alloc"] }
+serde = { version = "1.0.188", default-features = false, features = ["derive", "alloc"] }
 
 [features]
 default = [ "std" ]
diff --git a/polkadot/parachain/test-parachains/adder/collator/Cargo.toml b/polkadot/parachain/test-parachains/adder/collator/Cargo.toml
index f706156d0cd842c5387b08665667ea94722d857d..1a013fa0b1e6d1ce959c0bdfb9c132250547871b 100644
--- a/polkadot/parachain/test-parachains/adder/collator/Cargo.toml
+++ b/polkadot/parachain/test-parachains/adder/collator/Cargo.toml
@@ -18,7 +18,7 @@ required-features = ["test-utils"]
 
 [dependencies]
 parity-scale-codec = { version = "3.6.1", default-features = false, features = ["derive"] }
-clap = { version = "4.0.9", features = ["derive"] }
+clap = { version = "4.4.1", features = ["derive"] }
 futures = "0.3.21"
 futures-timer = "3.0.2"
 log = "0.4.17"
diff --git a/polkadot/parachain/test-parachains/undying/collator/Cargo.toml b/polkadot/parachain/test-parachains/undying/collator/Cargo.toml
index c5eae3802c63e6540086fdf9532c3e18f338daed..2cb44fd25a6eb393d2456dc8306dbbc74263832e 100644
--- a/polkadot/parachain/test-parachains/undying/collator/Cargo.toml
+++ b/polkadot/parachain/test-parachains/undying/collator/Cargo.toml
@@ -18,7 +18,7 @@ required-features = ["test-utils"]
 
 [dependencies]
 parity-scale-codec = { version = "3.6.1", default-features = false, features = ["derive"] }
-clap = { version = "4.0.9", features = ["derive"] }
+clap = { version = "4.4.1", features = ["derive"] }
 futures = "0.3.19"
 futures-timer = "3.0.2"
 log = "0.4.17"
diff --git a/polkadot/primitives/Cargo.toml b/polkadot/primitives/Cargo.toml
index 520d10261be1c23e5492acece473d3a30b08ced5..c29159d18f90f73b087425919ecd3db3e9dc7bfc 100644
--- a/polkadot/primitives/Cargo.toml
+++ b/polkadot/primitives/Cargo.toml
@@ -10,7 +10,7 @@ bitvec = { version = "1.0.0", default-features = false, features = ["alloc"] }
 hex-literal = "0.4.1"
 parity-scale-codec = { version = "3.6.1", default-features = false, features = ["bit-vec", "derive"] }
 scale-info = { version = "2.5.0", default-features = false, features = ["bit-vec", "derive", "serde"] }
-serde = { version = "1.0.163", default-features = false, features = ["derive", "alloc"] }
+serde = { version = "1.0.188", default-features = false, features = ["derive", "alloc"] }
 
 application-crypto = { package = "sp-application-crypto", path = "../../substrate/primitives/application-crypto", default-features = false, features = ["serde"] }
 inherents = { package = "sp-inherents", path = "../../substrate/primitives/inherents", default-features = false }
diff --git a/polkadot/runtime/common/Cargo.toml b/polkadot/runtime/common/Cargo.toml
index 484eb826f29cd374aea7617532a24439400828ef..7574374b46a7224101e38aba410a15a654f9c01c 100644
--- a/polkadot/runtime/common/Cargo.toml
+++ b/polkadot/runtime/common/Cargo.toml
@@ -12,7 +12,7 @@ parity-scale-codec = { version = "3.6.1", default-features = false, features = [
 log = { version = "0.4.17", default-features = false }
 rustc-hex = { version = "2.1.0", default-features = false }
 scale-info = { version = "2.5.0", default-features = false, features = ["derive"] }
-serde = { version = "1.0.163", default-features = false, features = ["alloc"] }
+serde = { version = "1.0.188", default-features = false, features = ["alloc"] }
 serde_derive = { version = "1.0.117" }
 static_assertions = "1.1.0"
 
diff --git a/polkadot/runtime/kusama/Cargo.toml b/polkadot/runtime/kusama/Cargo.toml
index 3d7d1c9c5cb8824e84d32c337361fb47f1035f4d..e226b510739f294e76fcf4da323438f6cccfe257 100644
--- a/polkadot/runtime/kusama/Cargo.toml
+++ b/polkadot/runtime/kusama/Cargo.toml
@@ -12,7 +12,7 @@ parity-scale-codec = { version = "3.6.1", default-features = false, features = [
 scale-info = { version = "2.5.0", default-features = false, features = ["derive"] }
 log = { version = "0.4.17", default-features = false }
 rustc-hex = { version = "2.1.0", default-features = false }
-serde = { version = "1.0.163", default-features = false }
+serde = { version = "1.0.188", default-features = false }
 serde_derive = { version = "1.0.117", optional = true }
 static_assertions = "1.1.0"
 smallvec = "1.8.0"
diff --git a/polkadot/runtime/parachains/Cargo.toml b/polkadot/runtime/parachains/Cargo.toml
index 73f95c09292e2d595d953e3e60148a15a0055686..865ab44ac54afd87ab5fae0337496b01fcf8ca8d 100644
--- a/polkadot/runtime/parachains/Cargo.toml
+++ b/polkadot/runtime/parachains/Cargo.toml
@@ -11,7 +11,7 @@ parity-scale-codec = { version = "3.6.1", default-features = false, features = [
 log = { version = "0.4.17", default-features = false }
 rustc-hex = { version = "2.1.0", default-features = false }
 scale-info = { version = "2.5.0", default-features = false, features = ["derive"] }
-serde = { version = "1.0.163", default-features = false, features = ["derive", "alloc"] }
+serde = { version = "1.0.188", default-features = false, features = ["derive", "alloc"] }
 derive_more = "0.99.17"
 bitflags = "1.3.2"
 
diff --git a/polkadot/runtime/polkadot/Cargo.toml b/polkadot/runtime/polkadot/Cargo.toml
index 1cd5abfdd6d489e708821b63fc431233faad257c..7458df46351d0ec682ae06fc3de558eccd66ecd9 100644
--- a/polkadot/runtime/polkadot/Cargo.toml
+++ b/polkadot/runtime/polkadot/Cargo.toml
@@ -12,7 +12,7 @@ parity-scale-codec = { version = "3.6.1", default-features = false, features = [
 scale-info = { version = "2.5.0", default-features = false, features = ["derive"] }
 log = { version = "0.4.17", default-features = false }
 rustc-hex = { version = "2.1.0", default-features = false }
-serde = { version = "1.0.163", default-features = false }
+serde = { version = "1.0.188", default-features = false }
 serde_derive = { version = "1.0.117", optional = true }
 static_assertions = "1.1.0"
 smallvec = "1.8.0"
diff --git a/polkadot/runtime/rococo/Cargo.toml b/polkadot/runtime/rococo/Cargo.toml
index e552920243d7fe09639f9d7fa7468bad71ee18c5..cec9548163347454e7178f0a403a1620f30d3e01 100644
--- a/polkadot/runtime/rococo/Cargo.toml
+++ b/polkadot/runtime/rococo/Cargo.toml
@@ -10,7 +10,7 @@ license.workspace = true
 parity-scale-codec = { version = "3.6.1", default-features = false, features = ["derive", "max-encoded-len"] }
 scale-info = { version = "2.5.0", default-features = false, features = ["derive"] }
 log = { version = "0.4.17", default-features = false }
-serde = { version = "1.0.163", default-features = false }
+serde = { version = "1.0.188", default-features = false }
 serde_derive = { version = "1.0.117", optional = true }
 static_assertions = "1.1.0"
 smallvec = "1.8.0"
diff --git a/polkadot/runtime/test-runtime/Cargo.toml b/polkadot/runtime/test-runtime/Cargo.toml
index 8e212673a39333a985ec3ad68be5da42266f74e7..3413319410ddbf36923e2e554ea1d71e8741dffa 100644
--- a/polkadot/runtime/test-runtime/Cargo.toml
+++ b/polkadot/runtime/test-runtime/Cargo.toml
@@ -13,7 +13,7 @@ parity-scale-codec = { version = "3.6.1", default-features = false, features = [
 log = { version = "0.4.17", default-features = false }
 rustc-hex = { version = "2.1.0", default-features = false }
 scale-info = { version = "2.5.0", default-features = false, features = ["derive"] }
-serde = { version = "1.0.163", default-features = false }
+serde = { version = "1.0.188", default-features = false }
 serde_derive = { version = "1.0.117", optional = true }
 smallvec = "1.8.0"
 
diff --git a/polkadot/runtime/westend/Cargo.toml b/polkadot/runtime/westend/Cargo.toml
index a0410dc7d3c602ecf888234f770d5cd99b7b0a95..b1f9cf6f0ccde7b6277a27f4eb13df3720bf4e4d 100644
--- a/polkadot/runtime/westend/Cargo.toml
+++ b/polkadot/runtime/westend/Cargo.toml
@@ -12,7 +12,7 @@ parity-scale-codec = { version = "3.6.1", default-features = false, features = [
 scale-info = { version = "2.5.0", default-features = false, features = ["derive"] }
 log = { version = "0.4.17", default-features = false }
 rustc-hex = { version = "2.1.0", default-features = false }
-serde = { version = "1.0.163", default-features = false }
+serde = { version = "1.0.188", default-features = false }
 serde_derive = { version = "1.0.117", optional = true }
 smallvec = "1.8.0"
 
diff --git a/polkadot/utils/generate-bags/Cargo.toml b/polkadot/utils/generate-bags/Cargo.toml
index de5ec422ff41ebd047769f9a4ff2bba179002c14..1fdd6a107c6b4e51dd20405033bca53c73a3d6bc 100644
--- a/polkadot/utils/generate-bags/Cargo.toml
+++ b/polkadot/utils/generate-bags/Cargo.toml
@@ -6,7 +6,7 @@ edition.workspace = true
 license.workspace = true
 
 [dependencies]
-clap = { version = "4.0.9", features = ["derive"] }
+clap = { version = "4.4.1", features = ["derive"] }
 
 generate-bags = { path = "../../../substrate/utils/frame/generate-bags" }
 sp-io = { path = "../../../substrate/primitives/io" }
diff --git a/polkadot/utils/remote-ext-tests/bags-list/Cargo.toml b/polkadot/utils/remote-ext-tests/bags-list/Cargo.toml
index 3e5ccdb44d3cd8dc7944f99ed7eca20c5b5651e9..d1019317f6d28c36f2c6f219e240a6259e0f21e4 100644
--- a/polkadot/utils/remote-ext-tests/bags-list/Cargo.toml
+++ b/polkadot/utils/remote-ext-tests/bags-list/Cargo.toml
@@ -19,6 +19,6 @@ sp-tracing = { path = "../../../../substrate/primitives/tracing" }
 frame-system = { path = "../../../../substrate/frame/system" }
 sp-core = { path = "../../../../substrate/primitives/core" }
 
-clap = { version = "4.0.9", features = ["derive"] }
+clap = { version = "4.4.1", features = ["derive"] }
 log = "0.4.17"
 tokio = { version = "1.24.2", features = ["macros"] }
diff --git a/polkadot/utils/staking-miner/Cargo.toml b/polkadot/utils/staking-miner/Cargo.toml
index 5ca528235a503da572dc369fb667c1a75670b5ad..b9cddcb656e64e7d49e0cbc261e54bf56a842e56 100644
--- a/polkadot/utils/staking-miner/Cargo.toml
+++ b/polkadot/utils/staking-miner/Cargo.toml
@@ -12,12 +12,12 @@ publish = false
 
 [dependencies]
 codec = { package = "parity-scale-codec", version = "3.6.1" }
-clap = { version = "4.0.9", features = ["derive", "env"] }
+clap = { version = "4.4.1", features = ["derive", "env"] }
 tracing-subscriber = { version = "0.3.11", features = ["env-filter"] }
 jsonrpsee = { version = "0.16.2", features = ["ws-client", "macros"] }
 log = "0.4.17"
 paste = "1.0.7"
-serde = "1.0.163"
+serde = "1.0.188"
 serde_json = "1.0"
 thiserror = "1.0.31"
 tokio = { version = "1.24.2", features = ["macros", "rt-multi-thread", "sync"] }
diff --git a/polkadot/xcm/Cargo.toml b/polkadot/xcm/Cargo.toml
index ba1944ebe85f30a3d2a81cf0f1c247a3eebafb8f..6f442b1476962cfa41e7f98297482d072fe86d2f 100644
--- a/polkadot/xcm/Cargo.toml
+++ b/polkadot/xcm/Cargo.toml
@@ -14,7 +14,7 @@ log = { version = "0.4.17", default-features = false }
 parity-scale-codec = { version = "3.6.1", default-features = false, features = [ "derive", "max-encoded-len" ] }
 scale-info = { version = "2.5.0", default-features = false, features = ["derive", "serde"] }
 sp-weights = { path = "../../substrate/primitives/weights", default-features = false, features = ["serde"] }
-serde = { version = "1.0.163", default-features = false, features = ["alloc", "derive"] }
+serde = { version = "1.0.188", default-features = false, features = ["alloc", "derive"] }
 xcm-procedural = { path = "procedural" }
 
 [dev-dependencies]
diff --git a/polkadot/xcm/pallet-xcm/Cargo.toml b/polkadot/xcm/pallet-xcm/Cargo.toml
index f98741d01bd0ccc2bbdc4f38863a0b836c5e1f1f..1fd44d882e61611a89f895e23d6ecbb25fd8dd19 100644
--- a/polkadot/xcm/pallet-xcm/Cargo.toml
+++ b/polkadot/xcm/pallet-xcm/Cargo.toml
@@ -10,7 +10,7 @@ version = "1.0.0"
 bounded-collections = { version = "0.1.8", default-features = false }
 codec = { package = "parity-scale-codec", version = "3.6.1", default-features = false, features = ["derive"] }
 scale-info = { version = "2.5.0", default-features = false, features = ["derive"] }
-serde = { version = "1.0.163", optional = true, features = ["derive"] }
+serde = { version = "1.0.188", optional = true, features = ["derive"] }
 log = { version = "0.4.17", default-features = false }
 
 frame-benchmarking = { path = "../../../substrate/frame/benchmarking", default-features = false, optional = true }
diff --git a/substrate/bin/node-template/node/Cargo.toml b/substrate/bin/node-template/node/Cargo.toml
index 834668468f7936aa8ef6f406f88802bb55d801be..b89cd0c70887ceb84a0bcc78b3319f7d03f00978 100644
--- a/substrate/bin/node-template/node/Cargo.toml
+++ b/substrate/bin/node-template/node/Cargo.toml
@@ -17,7 +17,7 @@ targets = ["x86_64-unknown-linux-gnu"]
 name = "node-template"
 
 [dependencies]
-clap = { version = "4.2.5", features = ["derive"] }
+clap = { version = "4.4.1", features = ["derive"] }
 futures = { version = "0.3.21", features = ["thread-pool"]}
 
 sc-cli = { path = "../../../client/cli" }
diff --git a/substrate/bin/node/bench/Cargo.toml b/substrate/bin/node/bench/Cargo.toml
index c98547a33d6f1ac368bfb8dbcdfd91b44ce457b8..8f55aab5a1679a4ef2efc3143c55c9c55526c791 100644
--- a/substrate/bin/node/bench/Cargo.toml
+++ b/substrate/bin/node/bench/Cargo.toml
@@ -13,7 +13,7 @@ publish = false
 
 [dependencies]
 array-bytes = "6.1"
-clap = { version = "4.2.5", features = ["derive"] }
+clap = { version = "4.4.1", features = ["derive"] }
 log = "0.4.17"
 node-primitives = { path = "../primitives" }
 node-testing = { path = "../testing" }
@@ -21,7 +21,7 @@ kitchensink-runtime = { path = "../runtime" }
 sc-client-api = { path = "../../../client/api" }
 sp-runtime = { path = "../../../primitives/runtime" }
 sp-state-machine = { path = "../../../primitives/state-machine" }
-serde = "1.0.163"
+serde = "1.0.188"
 serde_json = "1.0.85"
 derive_more = { version = "0.99.17", default-features = false, features = ["display"] }
 kvdb = "0.13.0"
diff --git a/substrate/bin/node/cli/Cargo.toml b/substrate/bin/node/cli/Cargo.toml
index 01e8d87166500096cdd33213c49f6a88dce42487..330256dd2e5853ce59ea8507b231c7f453b06b5a 100644
--- a/substrate/bin/node/cli/Cargo.toml
+++ b/substrate/bin/node/cli/Cargo.toml
@@ -38,9 +38,9 @@ crate-type = ["cdylib", "rlib"]
 [dependencies]
 # third-party dependencies
 array-bytes = "6.1"
-clap = { version = "4.2.5", features = ["derive"], optional = true }
+clap = { version = "4.4.1", features = ["derive"], optional = true }
 codec = { package = "parity-scale-codec", version = "3.6.1" }
-serde = { version = "1.0.163", features = ["derive"] }
+serde = { version = "1.0.188", features = ["derive"] }
 jsonrpsee = { version = "0.16.2", features = ["server"] }
 futures = "0.3.21"
 log = "0.4.17"
@@ -135,7 +135,7 @@ pallet-timestamp = { path = "../../../frame/timestamp" }
 substrate-cli-test-utils = { path = "../../../test-utils/cli" }
 
 [build-dependencies]
-clap = { version = "4.2.5", optional = true }
+clap = { version = "4.4.1", optional = true }
 clap_complete = { version = "4.0.2", optional = true }
 node-inspect = { path = "../inspect", optional = true}
 frame-benchmarking-cli = { path = "../../../utils/frame/benchmarking-cli", optional = true}
diff --git a/substrate/bin/node/inspect/Cargo.toml b/substrate/bin/node/inspect/Cargo.toml
index 59700bca36e277dcca844ef0941be521781e3f66..31e2a18c9c183d658711fd0f940d1aa6d5c862b7 100644
--- a/substrate/bin/node/inspect/Cargo.toml
+++ b/substrate/bin/node/inspect/Cargo.toml
@@ -13,7 +13,7 @@ publish = false
 targets = ["x86_64-unknown-linux-gnu"]
 
 [dependencies]
-clap = { version = "4.2.5", features = ["derive"] }
+clap = { version = "4.4.1", features = ["derive"] }
 codec = { package = "parity-scale-codec", version = "3.6.1" }
 thiserror = "1.0"
 sc-cli = { path = "../../../client/cli" }
diff --git a/substrate/bin/utils/chain-spec-builder/Cargo.toml b/substrate/bin/utils/chain-spec-builder/Cargo.toml
index 0c8bc3b32dc26f295cd78051916910213ab11fa5..b85f7d5e065c0f7aec939c8cfb06d3384213a460 100644
--- a/substrate/bin/utils/chain-spec-builder/Cargo.toml
+++ b/substrate/bin/utils/chain-spec-builder/Cargo.toml
@@ -22,7 +22,7 @@ crate-type = ["rlib"]
 
 [dependencies]
 ansi_term = "0.12.1"
-clap = { version = "4.2.5", features = ["derive"] }
+clap = { version = "4.4.1", features = ["derive"] }
 rand = "0.8"
 node-cli = { path = "../../node/cli" }
 sc-chain-spec = { path = "../../../client/chain-spec" }
diff --git a/substrate/bin/utils/subkey/Cargo.toml b/substrate/bin/utils/subkey/Cargo.toml
index 5c1124d3984badf166cec78fe2d1b4b2920d1fb3..c936e9fba408f389bbffcc4e7f16fba1e2fec96d 100644
--- a/substrate/bin/utils/subkey/Cargo.toml
+++ b/substrate/bin/utils/subkey/Cargo.toml
@@ -17,5 +17,5 @@ path = "src/main.rs"
 name = "subkey"
 
 [dependencies]
-clap = { version = "4.2.5", features = ["derive"] }
+clap = { version = "4.4.1", features = ["derive"] }
 sc-cli = { path = "../../../client/cli" }
diff --git a/substrate/client/chain-spec/Cargo.toml b/substrate/client/chain-spec/Cargo.toml
index e032e24e7210bd37cca655e1c479019802de7bb6..6acd57ef51683d7d064dec5a652358979fc45481 100644
--- a/substrate/client/chain-spec/Cargo.toml
+++ b/substrate/client/chain-spec/Cargo.toml
@@ -14,7 +14,7 @@ targets = ["x86_64-unknown-linux-gnu"]
 
 [dependencies]
 memmap2 = "0.5.0"
-serde = { version = "1.0.163", features = ["derive"] }
+serde = { version = "1.0.188", features = ["derive"] }
 serde_json = "1.0.85"
 sc-client-api = { path = "../api" }
 sc-chain-spec-derive = { path = "derive" }
diff --git a/substrate/client/cli/Cargo.toml b/substrate/client/cli/Cargo.toml
index 6eebe0957290a2ffc166cdd1832e1e2892a2c3b2..9404ba1b959abe39e30dd99e154e1d065ba94514 100644
--- a/substrate/client/cli/Cargo.toml
+++ b/substrate/client/cli/Cargo.toml
@@ -15,7 +15,7 @@ targets = ["x86_64-unknown-linux-gnu"]
 [dependencies]
 array-bytes = "6.1"
 chrono = "0.4.27"
-clap = { version = "4.2.5", features = ["derive", "string"] }
+clap = { version = "4.4.1", features = ["derive", "string"] }
 fdlimit = "0.2.1"
 futures = "0.3.21"
 libp2p-identity = { version = "0.1.3", features = ["peerid", "ed25519"]}
@@ -25,7 +25,7 @@ parity-scale-codec = "3.6.1"
 rand = "0.8.5"
 regex = "1.6.0"
 rpassword = "7.0.0"
-serde = "1.0.163"
+serde = "1.0.188"
 serde_json = "1.0.85"
 thiserror = "1.0.30"
 tiny-bip39 = "1.0.0"
diff --git a/substrate/client/consensus/babe/rpc/Cargo.toml b/substrate/client/consensus/babe/rpc/Cargo.toml
index 0735cac21e7d9afd135ce8a4e73d683de56157ad..bfae5ad3fd0cef556d8180e55452a2cac572b314 100644
--- a/substrate/client/consensus/babe/rpc/Cargo.toml
+++ b/substrate/client/consensus/babe/rpc/Cargo.toml
@@ -15,7 +15,7 @@ targets = ["x86_64-unknown-linux-gnu"]
 [dependencies]
 jsonrpsee = { version = "0.16.2", features = ["client-core", "server", "macros"] }
 futures = "0.3.21"
-serde = { version = "1.0.163", features = ["derive"] }
+serde = { version = "1.0.188", features = ["derive"] }
 thiserror = "1.0"
 sc-consensus-babe = { path = ".." }
 sc-consensus-epochs = { path = "../../epochs" }
diff --git a/substrate/client/consensus/beefy/Cargo.toml b/substrate/client/consensus/beefy/Cargo.toml
index a5706724ebe11e26ffa7d7acf98d61815860e223..aae5a44d7fa26da98d90b02d1dcb9dbd22faae06 100644
--- a/substrate/client/consensus/beefy/Cargo.toml
+++ b/substrate/client/consensus/beefy/Cargo.toml
@@ -38,7 +38,7 @@ sp-mmr-primitives = { path = "../../../primitives/merkle-mountain-range" }
 sp-runtime = { path = "../../../primitives/runtime" }
 
 [dev-dependencies]
-serde = "1.0.163"
+serde = "1.0.188"
 tempfile = "3.1.0"
 tokio = "1.22.0"
 sc-block-builder = { path = "../../block-builder" }
diff --git a/substrate/client/consensus/beefy/rpc/Cargo.toml b/substrate/client/consensus/beefy/rpc/Cargo.toml
index 1480d87064c703984935b169166dad5d684a9a5c..f9c3b4a99dfe8613f2aecbe7db8068f91a20f79e 100644
--- a/substrate/client/consensus/beefy/rpc/Cargo.toml
+++ b/substrate/client/consensus/beefy/rpc/Cargo.toml
@@ -14,7 +14,7 @@ futures = "0.3.21"
 jsonrpsee = { version = "0.16.2", features = ["client-core", "server", "macros"] }
 log = "0.4"
 parking_lot = "0.12.1"
-serde = { version = "1.0.163", features = ["derive"] }
+serde = { version = "1.0.188", features = ["derive"] }
 thiserror = "1.0"
 sc-consensus-beefy = { path = ".." }
 sp-consensus-beefy = { path = "../../../../primitives/consensus/beefy" }
diff --git a/substrate/client/consensus/grandpa/Cargo.toml b/substrate/client/consensus/grandpa/Cargo.toml
index bf6549c6244d2050344e202e702a88046575bc05..dfd9916850e54d85eb53dee3226b6b57ec304a4b 100644
--- a/substrate/client/consensus/grandpa/Cargo.toml
+++ b/substrate/client/consensus/grandpa/Cargo.toml
@@ -52,7 +52,7 @@ sp-runtime = { path = "../../../primitives/runtime" }
 [dev-dependencies]
 assert_matches = "1.3.0"
 finality-grandpa = { version = "0.16.2", features = ["derive-codec", "test-helpers"] }
-serde = "1.0.163"
+serde = "1.0.188"
 tokio = "1.22.0"
 sc-network = { path = "../../network" }
 sc-network-test = { path = "../../network/test" }
diff --git a/substrate/client/consensus/grandpa/rpc/Cargo.toml b/substrate/client/consensus/grandpa/rpc/Cargo.toml
index fe8f17405d9c688371922735d3352267dc6740a8..e2f9e40afb2da661cd5003b4755d7ee425b5ee1a 100644
--- a/substrate/client/consensus/grandpa/rpc/Cargo.toml
+++ b/substrate/client/consensus/grandpa/rpc/Cargo.toml
@@ -15,7 +15,7 @@ futures = "0.3.16"
 jsonrpsee = { version = "0.16.2", features = ["client-core", "server", "macros"] }
 log = "0.4.8"
 parity-scale-codec = { version = "3.6.1", features = ["derive"] }
-serde = { version = "1.0.163", features = ["derive"] }
+serde = { version = "1.0.188", features = ["derive"] }
 thiserror = "1.0"
 sc-client-api = { path = "../../../api" }
 sc-consensus-grandpa = { path = ".." }
diff --git a/substrate/client/merkle-mountain-range/rpc/Cargo.toml b/substrate/client/merkle-mountain-range/rpc/Cargo.toml
index 38aea97859726d629783cab202b18ef80c80c944..6aa32333af9729d11193cd426dc0776ed3583ffd 100644
--- a/substrate/client/merkle-mountain-range/rpc/Cargo.toml
+++ b/substrate/client/merkle-mountain-range/rpc/Cargo.toml
@@ -14,7 +14,7 @@ targets = ["x86_64-unknown-linux-gnu"]
 [dependencies]
 codec = { package = "parity-scale-codec", version = "3.6.1" }
 jsonrpsee = { version = "0.16.2", features = ["client-core", "server", "macros"] }
-serde = { version = "1.0.163", features = ["derive"] }
+serde = { version = "1.0.188", features = ["derive"] }
 sp-api = { path = "../../../primitives/api" }
 sp-blockchain = { path = "../../../primitives/blockchain" }
 sp-core = { path = "../../../primitives/core" }
diff --git a/substrate/client/network/Cargo.toml b/substrate/client/network/Cargo.toml
index e8d847e14195dff1b6faaa8ad499f28c41812f15..72e38ce498d30421b53c860ab5621fa536b9080a 100644
--- a/substrate/client/network/Cargo.toml
+++ b/substrate/client/network/Cargo.toml
@@ -33,7 +33,7 @@ parking_lot = "0.12.1"
 partial_sort = "0.2.0"
 pin-project = "1.0.12"
 rand = "0.8.5"
-serde = { version = "1.0.163", features = ["derive"] }
+serde = { version = "1.0.188", features = ["derive"] }
 serde_json = "1.0.85"
 smallvec = "1.11.0"
 thiserror = "1.0"
diff --git a/substrate/client/rpc-api/Cargo.toml b/substrate/client/rpc-api/Cargo.toml
index c13ca207cea602925a9bf430483fd052360d7624..fb0d0a8a1f8a156cf6b53a5d9fecf9ad88d29547 100644
--- a/substrate/client/rpc-api/Cargo.toml
+++ b/substrate/client/rpc-api/Cargo.toml
@@ -15,7 +15,7 @@ targets = ["x86_64-unknown-linux-gnu"]
 [dependencies]
 codec = { package = "parity-scale-codec", version = "3.6.1" }
 scale-info = { version = "2.5.0", default-features = false, features = ["derive"] }
-serde = { version = "1.0.163", features = ["derive"] }
+serde = { version = "1.0.188", features = ["derive"] }
 serde_json = "1.0.85"
 thiserror = "1.0"
 sc-chain-spec = { path = "../chain-spec" }
diff --git a/substrate/client/service/Cargo.toml b/substrate/client/service/Cargo.toml
index 4a7539aa8a540a0785660c8a93711085b121288a..6f794d93fed30c33a455da3dcdbfd38066c87f3f 100644
--- a/substrate/client/service/Cargo.toml
+++ b/substrate/client/service/Cargo.toml
@@ -34,7 +34,7 @@ log = "0.4.17"
 futures-timer = "3.0.1"
 exit-future = "0.2.0"
 pin-project = "1.0.12"
-serde = "1.0.163"
+serde = "1.0.188"
 serde_json = "1.0.85"
 sc-keystore = { path = "../keystore" }
 sp-runtime = { path = "../../primitives/runtime" }
diff --git a/substrate/client/storage-monitor/Cargo.toml b/substrate/client/storage-monitor/Cargo.toml
index 48ee1b0356151a72d44215cfb93c709bfff82c29..e8e7fbcc46945b7ce9aca72410148417e00023cd 100644
--- a/substrate/client/storage-monitor/Cargo.toml
+++ b/substrate/client/storage-monitor/Cargo.toml
@@ -9,7 +9,7 @@ description = "Storage monitor service for substrate"
 homepage = "https://substrate.io"
 
 [dependencies]
-clap = { version = "4.2.5", features = ["derive", "string"] }
+clap = { version = "4.4.1", features = ["derive", "string"] }
 log = "0.4.17"
 fs4 = "0.6.3"
 sc-client-db = { path = "../db", default-features = false}
diff --git a/substrate/client/sync-state-rpc/Cargo.toml b/substrate/client/sync-state-rpc/Cargo.toml
index 6babb1f5c9a352aa947762c499d06dc642c0d470..59cc6ba40481765a60d6f58ef6776b1d62b23883 100644
--- a/substrate/client/sync-state-rpc/Cargo.toml
+++ b/substrate/client/sync-state-rpc/Cargo.toml
@@ -14,7 +14,7 @@ targets = ["x86_64-unknown-linux-gnu"]
 [dependencies]
 codec = { package = "parity-scale-codec", version = "3.6.1" }
 jsonrpsee = { version = "0.16.2", features = ["client-core", "server", "macros"] }
-serde = { version = "1.0.163", features = ["derive"] }
+serde = { version = "1.0.188", features = ["derive"] }
 serde_json = "1.0.85"
 thiserror = "1.0.30"
 sc-chain-spec = { path = "../chain-spec" }
diff --git a/substrate/client/sysinfo/Cargo.toml b/substrate/client/sysinfo/Cargo.toml
index 7301f28921c848c046ccf004b6fbae01fc8134f6..5834d8dec07778aeefe2d9e08d8ad6514b45a8e1 100644
--- a/substrate/client/sysinfo/Cargo.toml
+++ b/substrate/client/sysinfo/Cargo.toml
@@ -20,7 +20,7 @@ log = "0.4.17"
 rand = "0.8.5"
 rand_pcg = "0.3.1"
 regex = "1"
-serde = { version = "1.0.163", features = ["derive"] }
+serde = { version = "1.0.188", features = ["derive"] }
 serde_json = "1.0.85"
 sc-telemetry = { path = "../telemetry" }
 sp-core = { path = "../../primitives/core" }
diff --git a/substrate/client/telemetry/Cargo.toml b/substrate/client/telemetry/Cargo.toml
index 452715c449ab3c6417a84ca8abc22190df6013bb..15362912909193178acaaa3dbb26605af338550d 100644
--- a/substrate/client/telemetry/Cargo.toml
+++ b/substrate/client/telemetry/Cargo.toml
@@ -22,7 +22,7 @@ parking_lot = "0.12.1"
 pin-project = "1.0.12"
 sc-utils = { path = "../utils" }
 rand = "0.8.5"
-serde = { version = "1.0.163", features = ["derive"] }
+serde = { version = "1.0.188", features = ["derive"] }
 serde_json = "1.0.85"
 thiserror = "1.0.30"
 wasm-timer = "0.2.5"
diff --git a/substrate/client/tracing/Cargo.toml b/substrate/client/tracing/Cargo.toml
index f2e7cd116275bb4023c32d10486a0e0c890acdf3..c9cd6ca313cdb65251062c8f4054af4fccec5455 100644
--- a/substrate/client/tracing/Cargo.toml
+++ b/substrate/client/tracing/Cargo.toml
@@ -22,7 +22,7 @@ log = { version = "0.4.17" }
 parking_lot = "0.12.1"
 regex = "1.6.0"
 rustc-hash = "1.1.0"
-serde = "1.0.163"
+serde = "1.0.188"
 thiserror = "1.0.30"
 tracing = "0.1.29"
 tracing-log = "0.1.3"
diff --git a/substrate/client/transaction-pool/Cargo.toml b/substrate/client/transaction-pool/Cargo.toml
index 6f56378c699f0e958fdf19a34640c81ba61bc9c4..0e502cb39fba02736c86f3dbe417f9484983c689 100644
--- a/substrate/client/transaction-pool/Cargo.toml
+++ b/substrate/client/transaction-pool/Cargo.toml
@@ -20,7 +20,7 @@ futures-timer = "3.0.2"
 linked-hash-map = "0.5.4"
 log = "0.4.17"
 parking_lot = "0.12.1"
-serde = { version = "1.0.163", features = ["derive"] }
+serde = { version = "1.0.188", features = ["derive"] }
 thiserror = "1.0.30"
 prometheus-endpoint = { package = "substrate-prometheus-endpoint", path = "../../utils/prometheus" }
 sc-client-api = { path = "../api" }
diff --git a/substrate/client/transaction-pool/api/Cargo.toml b/substrate/client/transaction-pool/api/Cargo.toml
index 65d32dc60f46240d16a9983b35fabe72b3b9514e..edab1304e01c18b72c657aebc6ebfb8d5ca930ba 100644
--- a/substrate/client/transaction-pool/api/Cargo.toml
+++ b/substrate/client/transaction-pool/api/Cargo.toml
@@ -13,7 +13,7 @@ async-trait = "0.1.57"
 codec = { package = "parity-scale-codec", version = "3.6.1" }
 futures = "0.3.21"
 log = "0.4.17"
-serde = { version = "1.0.163", features = ["derive"] }
+serde = { version = "1.0.188", features = ["derive"] }
 thiserror = "1.0.30"
 sp-blockchain = { path = "../../../primitives/blockchain" }
 sp-core = { path = "../../../primitives/core", default-features = false}
diff --git a/substrate/frame/beefy-mmr/Cargo.toml b/substrate/frame/beefy-mmr/Cargo.toml
index 82970ca385cfe24b82d7e8f46b857a0184836474..020ca52a277f68581479c59d9b053df3a2c672ef 100644
--- a/substrate/frame/beefy-mmr/Cargo.toml
+++ b/substrate/frame/beefy-mmr/Cargo.toml
@@ -13,7 +13,7 @@ array-bytes = { version = "6.1", optional = true }
 codec = { package = "parity-scale-codec", version = "3.6.1", default-features = false, features = ["derive"] }
 log = { version = "0.4.17", default-features = false }
 scale-info = { version = "2.5.0", default-features = false, features = ["derive"] }
-serde = { version = "1.0.163", optional = true }
+serde = { version = "1.0.188", optional = true }
 binary-merkle-tree = { path = "../../utils/binary-merkle-tree", default-features = false}
 frame-support = { path = "../support", default-features = false}
 frame-system = { path = "../system", default-features = false}
diff --git a/substrate/frame/beefy/Cargo.toml b/substrate/frame/beefy/Cargo.toml
index ddee3c6fe8ebe1ab621d6150dcfca75eceb1d812..1445658bafb53bc857489e9784ef6a8a4c282949 100644
--- a/substrate/frame/beefy/Cargo.toml
+++ b/substrate/frame/beefy/Cargo.toml
@@ -12,7 +12,7 @@ homepage = "https://substrate.io"
 codec = { package = "parity-scale-codec", version = "3.6.1", default-features = false, features = ["derive"] }
 log = { version = "0.4.17", default-features = false }
 scale-info = { version = "2.5.0", default-features = false, features = ["derive", "serde"] }
-serde = { version = "1.0.163", optional = true }
+serde = { version = "1.0.188", optional = true }
 frame-support = { path = "../support", default-features = false}
 frame-system = { path = "../system", default-features = false}
 pallet-authorship = { path = "../authorship", default-features = false}
diff --git a/substrate/frame/benchmarking/Cargo.toml b/substrate/frame/benchmarking/Cargo.toml
index 8b47a1f948b9dd59a2c512f161041a7f729b110d..107f3b7d56fef156171de1c19295338b23b427e1 100644
--- a/substrate/frame/benchmarking/Cargo.toml
+++ b/substrate/frame/benchmarking/Cargo.toml
@@ -18,7 +18,7 @@ linregress = { version = "0.5.1", optional = true }
 log = { version = "0.4.17", default-features = false }
 paste = "1.0"
 scale-info = { version = "2.5.0", default-features = false, features = ["derive"] }
-serde = { version = "1.0.163", optional = true }
+serde = { version = "1.0.188", optional = true }
 frame-support = { path = "../support", default-features = false}
 frame-support-procedural = { path = "../support/procedural", default-features = false}
 frame-system = { path = "../system", default-features = false}
diff --git a/substrate/frame/conviction-voting/Cargo.toml b/substrate/frame/conviction-voting/Cargo.toml
index 6efa631cd97b0e046471cdfe25b774cd3e9578be..666a02e9b2396d83b221cbd3502281d362bba86f 100644
--- a/substrate/frame/conviction-voting/Cargo.toml
+++ b/substrate/frame/conviction-voting/Cargo.toml
@@ -19,7 +19,7 @@ codec = { package = "parity-scale-codec", version = "3.6.1", default-features =
 	"max-encoded-len",
 ] }
 scale-info = { version = "2.5.0", default-features = false, features = ["derive"] }
-serde = { version = "1.0.163", features = ["derive"], optional = true }
+serde = { version = "1.0.188", features = ["derive"], optional = true }
 frame-benchmarking = { path = "../benchmarking", default-features = false, optional = true}
 frame-support = { path = "../support", default-features = false}
 frame-system = { path = "../system", default-features = false}
diff --git a/substrate/frame/democracy/Cargo.toml b/substrate/frame/democracy/Cargo.toml
index d686684b63807cc3f8834456b41c168e5076f000..038e8d2cef47d7e86d69d932d67e97131b22de5c 100644
--- a/substrate/frame/democracy/Cargo.toml
+++ b/substrate/frame/democracy/Cargo.toml
@@ -17,7 +17,7 @@ codec = { package = "parity-scale-codec", version = "3.6.1", default-features =
 	"derive",
 ] }
 scale-info = { version = "2.5.0", default-features = false, features = ["derive"] }
-serde = { version = "1.0.163", features = ["derive"], optional = true }
+serde = { version = "1.0.188", features = ["derive"], optional = true }
 frame-benchmarking = { path = "../benchmarking", default-features = false, optional = true}
 frame-support = { path = "../support", default-features = false}
 frame-system = { path = "../system", default-features = false}
diff --git a/substrate/frame/election-provider-support/solution-type/fuzzer/Cargo.toml b/substrate/frame/election-provider-support/solution-type/fuzzer/Cargo.toml
index 1bf4196e825ee83ea686c6a0a7400b3a513ab860..9b1e0264956ed6602e9076d8ae89f842968d3310 100644
--- a/substrate/frame/election-provider-support/solution-type/fuzzer/Cargo.toml
+++ b/substrate/frame/election-provider-support/solution-type/fuzzer/Cargo.toml
@@ -13,7 +13,7 @@ publish = false
 targets = ["x86_64-unknown-linux-gnu"]
 
 [dependencies]
-clap = { version = "4.2.5", features = ["derive"] }
+clap = { version = "4.4.1", features = ["derive"] }
 honggfuzz = "0.5"
 rand = { version = "0.8", features = ["std", "small_rng"] }
 
diff --git a/substrate/frame/message-queue/Cargo.toml b/substrate/frame/message-queue/Cargo.toml
index 81f929c8f0732568452613be72d2c5b5f3ef2377..19ea25198f3489d5e6e8d9baf970bbef376bceae 100644
--- a/substrate/frame/message-queue/Cargo.toml
+++ b/substrate/frame/message-queue/Cargo.toml
@@ -11,7 +11,7 @@ description = "FRAME pallet to queue and process messages"
 [dependencies]
 codec = { package = "parity-scale-codec", version = "3.6.1", default-features = false, features = ["derive"] }
 scale-info = { version = "2.5.0", default-features = false, features = ["derive"] }
-serde = { version = "1.0.163", optional = true, features = ["derive"] }
+serde = { version = "1.0.188", optional = true, features = ["derive"] }
 log = { version = "0.4.17", default-features = false }
 
 sp-core = { path = "../../primitives/core", default-features = false}
diff --git a/substrate/frame/offences/Cargo.toml b/substrate/frame/offences/Cargo.toml
index 7e9b093a038693537a1088ebbceb4f0da9253d83..2cfbfe6b5d0a1a5822cdd4cc133356c60078a5fc 100644
--- a/substrate/frame/offences/Cargo.toml
+++ b/substrate/frame/offences/Cargo.toml
@@ -16,7 +16,7 @@ targets = ["x86_64-unknown-linux-gnu"]
 codec = { package = "parity-scale-codec", version = "3.6.1", default-features = false, features = ["derive"] }
 log = { version = "0.4.17", default-features = false }
 scale-info = { version = "2.5.0", default-features = false, features = ["derive"] }
-serde = { version = "1.0.163", optional = true }
+serde = { version = "1.0.188", optional = true }
 frame-support = { path = "../support", default-features = false}
 frame-system = { path = "../system", default-features = false}
 pallet-balances = { path = "../balances", default-features = false}
diff --git a/substrate/frame/referenda/Cargo.toml b/substrate/frame/referenda/Cargo.toml
index 6c0e86db346bf8f908e5825670fc808b64d88112..ac4f46d12df957821bde1cdc626b7ef613401648 100644
--- a/substrate/frame/referenda/Cargo.toml
+++ b/substrate/frame/referenda/Cargo.toml
@@ -18,7 +18,7 @@ codec = { package = "parity-scale-codec", version = "3.6.1", default-features =
 	"derive",
 ] }
 scale-info = { version = "2.5.0", default-features = false, features = ["derive"] }
-serde = { version = "1.0.163", features = ["derive"], optional = true }
+serde = { version = "1.0.188", features = ["derive"], optional = true }
 sp-arithmetic = { path = "../../primitives/arithmetic", default-features = false}
 frame-benchmarking = { path = "../benchmarking", default-features = false, optional = true}
 frame-support = { path = "../support", default-features = false}
diff --git a/substrate/frame/remark/Cargo.toml b/substrate/frame/remark/Cargo.toml
index cf98ae2794a938c820fe58585fdfad56dc0c3802..ae791011b160c47d7ec74371acccbd837050df09 100644
--- a/substrate/frame/remark/Cargo.toml
+++ b/substrate/frame/remark/Cargo.toml
@@ -15,7 +15,7 @@ targets = ["x86_64-unknown-linux-gnu"]
 [dependencies]
 codec = { package = "parity-scale-codec", version = "3.6.1", default-features = false }
 scale-info = { version = "2.5.0", default-features = false, features = ["derive"] }
-serde = { version = "1.0.163", optional = true }
+serde = { version = "1.0.188", optional = true }
 frame-benchmarking = { path = "../benchmarking", default-features = false, optional = true}
 frame-support = { path = "../support", default-features = false}
 frame-system = { path = "../system", default-features = false}
diff --git a/substrate/frame/staking/Cargo.toml b/substrate/frame/staking/Cargo.toml
index 491d19008da00d344aeee179faaadd059b4480ac..5cd134471ebcd61731d943adee66199d0c6757d4 100644
--- a/substrate/frame/staking/Cargo.toml
+++ b/substrate/frame/staking/Cargo.toml
@@ -13,7 +13,7 @@ readme = "README.md"
 targets = ["x86_64-unknown-linux-gnu"]
 
 [dependencies]
-serde = { version = "1.0.163", default-features = false, features = ["alloc", "derive"]}
+serde = { version = "1.0.188", default-features = false, features = ["alloc", "derive"]}
 codec = { package = "parity-scale-codec", version = "3.6.1", default-features = false, features = [
 	"derive",
 ] }
diff --git a/substrate/frame/state-trie-migration/Cargo.toml b/substrate/frame/state-trie-migration/Cargo.toml
index 8ba57fc8f71ef050ca79116940a04b7710faf933..2a9de6f2acc0c3d59e42ead3abe4d8739c46f7cf 100644
--- a/substrate/frame/state-trie-migration/Cargo.toml
+++ b/substrate/frame/state-trie-migration/Cargo.toml
@@ -15,7 +15,7 @@ targets = ["x86_64-unknown-linux-gnu"]
 codec = { package = "parity-scale-codec", version = "3.6.1", default-features = false }
 log = { version = "0.4.17", default-features = false }
 scale-info = { version = "2.5.0", default-features = false, features = ["derive"] }
-serde = { version = "1.0.163", optional = true }
+serde = { version = "1.0.188", optional = true }
 thousands = { version = "0.2.0", optional = true }
 zstd = { version = "0.12.3", default-features = false, optional = true }
 frame-benchmarking = { path = "../benchmarking", default-features = false, optional = true}
diff --git a/substrate/frame/support/Cargo.toml b/substrate/frame/support/Cargo.toml
index fa85181b31e7d1833dae9bb1f7650f6f23999e69..864e3bd9ad3077142692aac6d22f3ec063d49825 100644
--- a/substrate/frame/support/Cargo.toml
+++ b/substrate/frame/support/Cargo.toml
@@ -13,7 +13,7 @@ readme = "README.md"
 targets = ["x86_64-unknown-linux-gnu"]
 
 [dependencies]
-serde = { version = "1.0.163", default-features = false, features = ["alloc", "derive"] }
+serde = { version = "1.0.188", default-features = false, features = ["alloc", "derive"] }
 codec = { package = "parity-scale-codec", version = "3.6.1", default-features = false, features = ["derive", "max-encoded-len"] }
 scale-info = { version = "2.5.0", default-features = false, features = ["derive"] }
 frame-metadata = { version = "16.0.0", default-features = false, features = ["current"] }
diff --git a/substrate/frame/support/test/Cargo.toml b/substrate/frame/support/test/Cargo.toml
index 1519d3f5cc3ef0791ea1416b1ca4d625bf1c8b11..8b8912799142e02fe914f7320de32c7cea8a21e9 100644
--- a/substrate/frame/support/test/Cargo.toml
+++ b/substrate/frame/support/test/Cargo.toml
@@ -13,7 +13,7 @@ targets = ["x86_64-unknown-linux-gnu"]
 
 [dependencies]
 static_assertions = "1.1.0"
-serde = { version = "1.0.163", default-features = false, features = ["derive"] }
+serde = { version = "1.0.188", default-features = false, features = ["derive"] }
 codec = { package = "parity-scale-codec", version = "3.6.1", default-features = false, features = ["derive"] }
 scale-info = { version = "2.5.0", default-features = false, features = ["derive"] }
 frame-metadata = { version = "16.0.0", default-features = false, features = ["current"] }
diff --git a/substrate/frame/support/test/pallet/Cargo.toml b/substrate/frame/support/test/pallet/Cargo.toml
index 8aae80362d39a9e0c60d4b68abbe87b34b8e8bde..8db2e9ba7c4975d5e0e5b1d24a3357b35653ef09 100644
--- a/substrate/frame/support/test/pallet/Cargo.toml
+++ b/substrate/frame/support/test/pallet/Cargo.toml
@@ -14,7 +14,7 @@ targets = ["x86_64-unknown-linux-gnu"]
 [dependencies]
 codec = { package = "parity-scale-codec", version = "3.6.1", default-features = false, features = ["derive"] }
 scale-info = { version = "2.0.0", default-features = false, features = ["derive"] }
-serde = { version = "1.0.163", default-features = false, features = ["derive"] }
+serde = { version = "1.0.188", default-features = false, features = ["derive"] }
 frame-support = { path = "../..", default-features = false}
 frame-system = { path = "../../../system", default-features = false}
 sp-runtime = { path = "../../../../primitives/runtime", default-features = false}
diff --git a/substrate/frame/system/Cargo.toml b/substrate/frame/system/Cargo.toml
index 32bcc796f60bdf923b7d61223ec497bf4f1e609f..d1d5897ce35524adf1d2b034700bd2fc5505d39b 100644
--- a/substrate/frame/system/Cargo.toml
+++ b/substrate/frame/system/Cargo.toml
@@ -17,7 +17,7 @@ cfg-if = "1.0"
 codec = { package = "parity-scale-codec", version = "3.6.1", default-features = false, features = ["derive"] }
 log = { version = "0.4.17", default-features = false }
 scale-info = { version = "2.5.0", default-features = false, features = ["derive", "serde"] }
-serde = { version = "1.0.163", default-features = false, features = ["derive", "alloc"] }
+serde = { version = "1.0.188", default-features = false, features = ["derive", "alloc"] }
 frame-support = { path = "../support", default-features = false}
 sp-core = { path = "../../primitives/core", default-features = false, features = ["serde"] }
 sp-io = { path = "../../primitives/io", default-features = false}
diff --git a/substrate/frame/tips/Cargo.toml b/substrate/frame/tips/Cargo.toml
index 63b5c5cefff5ef999acddc49392fe1290ad35b4e..0e9314a9f97c58f1dc44df2ab696fc263c50fb83 100644
--- a/substrate/frame/tips/Cargo.toml
+++ b/substrate/frame/tips/Cargo.toml
@@ -16,7 +16,7 @@ targets = ["x86_64-unknown-linux-gnu"]
 codec = { package = "parity-scale-codec", version = "3.6.1", default-features = false, features = ["derive"] }
 log = { version = "0.4.17", default-features = false }
 scale-info = { version = "2.5.0", default-features = false, features = ["derive"] }
-serde = { version = "1.0.163", features = ["derive"], optional = true }
+serde = { version = "1.0.188", features = ["derive"], optional = true }
 frame-benchmarking = { path = "../benchmarking", default-features = false, optional = true}
 frame-support = { path = "../support", default-features = false}
 frame-system = { path = "../system", default-features = false}
diff --git a/substrate/frame/transaction-payment/Cargo.toml b/substrate/frame/transaction-payment/Cargo.toml
index 6fe9c7eb7e39e3404ba650dc7b4ec78205419c07..1db63bd134ad87aeae6f1243d6dc19d21bb2db2c 100644
--- a/substrate/frame/transaction-payment/Cargo.toml
+++ b/substrate/frame/transaction-payment/Cargo.toml
@@ -17,7 +17,7 @@ codec = { package = "parity-scale-codec", version = "3.6.1", default-features =
 	"derive",
 ] }
 scale-info = { version = "2.5.0", default-features = false, features = ["derive"] }
-serde = { version = "1.0.163", optional = true }
+serde = { version = "1.0.188", optional = true }
 frame-support = { path = "../support", default-features = false}
 frame-system = { path = "../system", default-features = false}
 sp-core = { path = "../../primitives/core", default-features = false}
diff --git a/substrate/frame/transaction-payment/asset-tx-payment/Cargo.toml b/substrate/frame/transaction-payment/asset-tx-payment/Cargo.toml
index d89336fbf9fbaa70049917bb2a153629b891cf83..edf05a0533178c0dfc436c3ff2919023902a837f 100644
--- a/substrate/frame/transaction-payment/asset-tx-payment/Cargo.toml
+++ b/substrate/frame/transaction-payment/asset-tx-payment/Cargo.toml
@@ -27,7 +27,7 @@ frame-benchmarking = { path = "../../benchmarking", default-features = false, op
 # Other dependencies
 codec = { package = "parity-scale-codec", version = "3.6.1", default-features = false, features = ["derive"] }
 scale-info = { version = "2.5.0", default-features = false, features = ["derive"] }
-serde = { version = "1.0.163", optional = true }
+serde = { version = "1.0.188", optional = true }
 
 [dev-dependencies]
 serde_json = "1.0.85"
diff --git a/substrate/frame/transaction-storage/Cargo.toml b/substrate/frame/transaction-storage/Cargo.toml
index 1f2773f62850cd365094206f195e80436c8600c4..a1aec7ef65a389b9a2b0e48b7ed58e87daba392d 100644
--- a/substrate/frame/transaction-storage/Cargo.toml
+++ b/substrate/frame/transaction-storage/Cargo.toml
@@ -16,7 +16,7 @@ targets = ["x86_64-unknown-linux-gnu"]
 array-bytes = { version = "6.1", optional = true }
 codec = { package = "parity-scale-codec", version = "3.6.1", default-features = false }
 scale-info = { version = "2.5.0", default-features = false, features = ["derive"] }
-serde = { version = "1.0.163", optional = true }
+serde = { version = "1.0.188", optional = true }
 frame-benchmarking = { path = "../benchmarking", default-features = false, optional = true}
 frame-support = { path = "../support", default-features = false}
 frame-system = { path = "../system", default-features = false}
diff --git a/substrate/frame/treasury/Cargo.toml b/substrate/frame/treasury/Cargo.toml
index f5bcb17b406162858f8cbb067ff1950d6d3d8713..785564cd9888d19fce3834189a55a60107715838 100644
--- a/substrate/frame/treasury/Cargo.toml
+++ b/substrate/frame/treasury/Cargo.toml
@@ -19,7 +19,7 @@ codec = { package = "parity-scale-codec", version = "3.6.1", default-features =
 ] }
 impl-trait-for-tuples = "0.2.2"
 scale-info = { version = "2.5.0", default-features = false, features = ["derive"] }
-serde = { version = "1.0.163", features = ["derive"], optional = true }
+serde = { version = "1.0.188", features = ["derive"], optional = true }
 frame-benchmarking = { path = "../benchmarking", default-features = false, optional = true}
 frame-support = { path = "../support", default-features = false}
 frame-system = { path = "../system", default-features = false}
diff --git a/substrate/primitives/application-crypto/Cargo.toml b/substrate/primitives/application-crypto/Cargo.toml
index 0eea63fefcb86699f29ce2431b1a03307d4bd50c..7c5e317307790728977a1f069388dc671cceba87 100644
--- a/substrate/primitives/application-crypto/Cargo.toml
+++ b/substrate/primitives/application-crypto/Cargo.toml
@@ -18,7 +18,7 @@ targets = ["x86_64-unknown-linux-gnu"]
 sp-core = { path = "../core", default-features = false}
 codec = { package = "parity-scale-codec", version = "3.6.1", default-features = false, features = ["derive"] }
 scale-info = { version = "2.5.0", default-features = false, features = ["derive"] }
-serde = { version = "1.0.163", default-features = false, optional = true, features = ["derive", "alloc"]  }
+serde = { version = "1.0.188", default-features = false, optional = true, features = ["derive", "alloc"]  }
 sp-std = { path = "../std", default-features = false}
 sp-io = { path = "../io", default-features = false}
 
diff --git a/substrate/primitives/arithmetic/Cargo.toml b/substrate/primitives/arithmetic/Cargo.toml
index ba7f6f8e1760cd2c51262f08c2a48b45734030b5..4c2a78aec6fbad473194dfe7acdd1e5b854a3363 100644
--- a/substrate/primitives/arithmetic/Cargo.toml
+++ b/substrate/primitives/arithmetic/Cargo.toml
@@ -21,7 +21,7 @@ codec = { package = "parity-scale-codec", version = "3.6.1", default-features =
 integer-sqrt = "0.1.2"
 num-traits = { version = "0.2.8", default-features = false }
 scale-info = { version = "2.5.0", default-features = false, features = ["derive"] }
-serde = { version = "1.0.163", default-features = false, features = ["derive", "alloc"], optional = true }
+serde = { version = "1.0.188", default-features = false, features = ["derive", "alloc"], optional = true }
 static_assertions = "1.1.0"
 sp-std = { path = "../std", default-features = false}
 
diff --git a/substrate/primitives/consensus/babe/Cargo.toml b/substrate/primitives/consensus/babe/Cargo.toml
index ba011c84ea5950684423af6ab3d3aaf67040ccff..764e95501801b5448abae882a4c30e30f9d0312b 100644
--- a/substrate/primitives/consensus/babe/Cargo.toml
+++ b/substrate/primitives/consensus/babe/Cargo.toml
@@ -16,7 +16,7 @@ targets = ["x86_64-unknown-linux-gnu"]
 async-trait = { version = "0.1.57", optional = true }
 codec = { package = "parity-scale-codec", version = "3.6.1", default-features = false }
 scale-info = { version = "2.5.0", default-features = false, features = ["derive"] }
-serde = { version = "1.0.163", default-features = false, features = ["derive", "alloc"], optional = true }
+serde = { version = "1.0.188", default-features = false, features = ["derive", "alloc"], optional = true }
 sp-api = { path = "../../api", default-features = false}
 sp-application-crypto = { path = "../../application-crypto", default-features = false}
 sp-consensus-slots = { path = "../slots", default-features = false}
diff --git a/substrate/primitives/consensus/beefy/Cargo.toml b/substrate/primitives/consensus/beefy/Cargo.toml
index 2c38917999f9a340222d2756d368ad316dd53544..6a12a5a7c7c522f9fb28740bc28544de32dc1c3d 100644
--- a/substrate/primitives/consensus/beefy/Cargo.toml
+++ b/substrate/primitives/consensus/beefy/Cargo.toml
@@ -14,7 +14,7 @@ targets = ["x86_64-unknown-linux-gnu"]
 [dependencies]
 codec = { package = "parity-scale-codec", version = "3.6.1", default-features = false, features = ["derive"] }
 scale-info = { version = "2.5.0", default-features = false, features = ["derive"] }
-serde = { version = "1.0.163", default-features = false,  optional = true, features =  ["derive", "alloc"] }
+serde = { version = "1.0.188", default-features = false,  optional = true, features =  ["derive", "alloc"] }
 sp-api = { path = "../../api", default-features = false}
 sp-application-crypto = { path = "../../application-crypto", default-features = false}
 sp-core = { path = "../../core", default-features = false}
diff --git a/substrate/primitives/consensus/grandpa/Cargo.toml b/substrate/primitives/consensus/grandpa/Cargo.toml
index bf2ae2921a493afa897a28619865d06696077779..bee9092b986816a0609bf5aa490ce08135c7e1fd 100644
--- a/substrate/primitives/consensus/grandpa/Cargo.toml
+++ b/substrate/primitives/consensus/grandpa/Cargo.toml
@@ -18,7 +18,7 @@ codec = { package = "parity-scale-codec", version = "3.6.1", default-features =
 grandpa = { package = "finality-grandpa", version = "0.16.2", default-features = false, features = ["derive-codec"] }
 log = { version = "0.4.17", default-features = false }
 scale-info = { version = "2.5.0", default-features = false, features = ["derive"] }
-serde = { version = "1.0.163", features = ["derive", "alloc"], default-features = false, optional = true }
+serde = { version = "1.0.188", features = ["derive", "alloc"], default-features = false, optional = true }
 sp-api = { path = "../../api", default-features = false}
 sp-application-crypto = { path = "../../application-crypto", default-features = false}
 sp-core = { path = "../../core", default-features = false}
diff --git a/substrate/primitives/core/Cargo.toml b/substrate/primitives/core/Cargo.toml
index 4300c6a08fa7b4d796b8c8f95069a23f4c7ef0d5..355cbab26fb9d85ae3da3c9bba842028d2239c6a 100644
--- a/substrate/primitives/core/Cargo.toml
+++ b/substrate/primitives/core/Cargo.toml
@@ -17,7 +17,7 @@ arrayvec = { version = "0.7.2", default-features = false }
 codec = { package = "parity-scale-codec", version = "3.6.1", default-features = false, features = ["derive","max-encoded-len"] }
 scale-info = { version = "2.5.0", default-features = false, features = ["derive"] }
 log = { version = "0.4.17", default-features = false }
-serde = { version = "1.0.163", optional = true,  default-features = false, features = ["derive", "alloc"] }
+serde = { version = "1.0.188", optional = true,  default-features = false, features = ["derive", "alloc"] }
 bounded-collections = { version = "0.1.8", default-features = false }
 primitive-types = { version = "0.12.0", default-features = false, features = ["codec", "scale-info"] }
 impl-serde = { version = "0.4.0", default-features = false, optional = true }
diff --git a/substrate/primitives/merkle-mountain-range/Cargo.toml b/substrate/primitives/merkle-mountain-range/Cargo.toml
index 4d985e7a7846e588c96fa862fab00c83e9ee3c3f..747b967dd9ed78162840f9648c208ae55f9442fa 100644
--- a/substrate/primitives/merkle-mountain-range/Cargo.toml
+++ b/substrate/primitives/merkle-mountain-range/Cargo.toml
@@ -16,7 +16,7 @@ codec = { package = "parity-scale-codec", version = "3.6.1", default-features =
 scale-info = { version = "2.5.0", default-features = false, features = ["derive"] }
 log = { version = "0.4.17", default-features = false }
 mmr-lib = { package = "ckb-merkle-mountain-range", version = "0.5.2", default-features = false }
-serde = { version = "1.0.163", features = ["derive", "alloc"], default-features = false, optional = true }
+serde = { version = "1.0.188", features = ["derive", "alloc"], default-features = false, optional = true }
 sp-api = { path = "../api", default-features = false}
 sp-core = { path = "../core", default-features = false}
 sp-debug-derive = { path = "../debug-derive", default-features = false}
diff --git a/substrate/primitives/npos-elections/Cargo.toml b/substrate/primitives/npos-elections/Cargo.toml
index 00b4bd14b7d7c1058cb395bc2d9decf8e8def860..68f1bef91665c6b168f736e8125a633a265652d9 100644
--- a/substrate/primitives/npos-elections/Cargo.toml
+++ b/substrate/primitives/npos-elections/Cargo.toml
@@ -15,7 +15,7 @@ targets = ["x86_64-unknown-linux-gnu"]
 [dependencies]
 codec = { package = "parity-scale-codec", version = "3.6.1", default-features = false, features = ["derive"] }
 scale-info = { version = "2.5.0", default-features = false, features = ["derive"] }
-serde = { version = "1.0.163", default-features = false, features = ["derive", "alloc"], optional = true }
+serde = { version = "1.0.188", default-features = false, features = ["derive", "alloc"], optional = true }
 sp-arithmetic = { path = "../arithmetic", default-features = false}
 sp-core = { path = "../core", default-features = false}
 sp-runtime = { path = "../runtime", default-features = false}
diff --git a/substrate/primitives/npos-elections/fuzzer/Cargo.toml b/substrate/primitives/npos-elections/fuzzer/Cargo.toml
index 8a36cea3b2e0e2302211352ee49c806058cda2ed..aad90a36c730fc81a21e0be3c52842b229ed3b72 100644
--- a/substrate/primitives/npos-elections/fuzzer/Cargo.toml
+++ b/substrate/primitives/npos-elections/fuzzer/Cargo.toml
@@ -14,7 +14,7 @@ publish = false
 targets = ["x86_64-unknown-linux-gnu"]
 
 [dependencies]
-clap = { version = "4.2.5", features = ["derive"] }
+clap = { version = "4.4.1", features = ["derive"] }
 honggfuzz = "0.5"
 rand = { version = "0.8", features = ["std", "small_rng"] }
 sp-npos-elections = { path = ".." }
diff --git a/substrate/primitives/rpc/Cargo.toml b/substrate/primitives/rpc/Cargo.toml
index d2bbaeff3d2cea766a53db6c3a295859ec287007..21447dafb050d90542380eaecd0ce5f2bb847dc0 100644
--- a/substrate/primitives/rpc/Cargo.toml
+++ b/substrate/primitives/rpc/Cargo.toml
@@ -14,7 +14,7 @@ targets = ["x86_64-unknown-linux-gnu"]
 
 [dependencies]
 rustc-hash = "1.1.0"
-serde = { version = "1.0.163", features = ["derive"] }
+serde = { version = "1.0.188", features = ["derive"] }
 sp-core = { path = "../core" }
 
 [dev-dependencies]
diff --git a/substrate/primitives/runtime/Cargo.toml b/substrate/primitives/runtime/Cargo.toml
index 7f31f0930b1d6725fbef984db73d664733f4169c..6ca435f2c2b2ec6a246b18da62d92d33e8cce5fe 100644
--- a/substrate/primitives/runtime/Cargo.toml
+++ b/substrate/primitives/runtime/Cargo.toml
@@ -22,7 +22,7 @@ log = { version = "0.4.17", default-features = false }
 paste = "1.0"
 rand = { version = "0.8.5", optional = true }
 scale-info = { version = "2.5.0", default-features = false, features = ["derive"] }
-serde = { version = "1.0.163", default-features = false, features = ["derive", "alloc"], optional = true }
+serde = { version = "1.0.188", default-features = false, features = ["derive", "alloc"], optional = true }
 sp-application-crypto = { path = "../application-crypto", default-features = false}
 sp-arithmetic = { path = "../arithmetic", default-features = false}
 sp-core = { path = "../core", default-features = false}
diff --git a/substrate/primitives/staking/Cargo.toml b/substrate/primitives/staking/Cargo.toml
index 9f67446969da6e82c77f93cffd45006f4a17f7a9..825806078f6e9fde8b0a3e41d4013166cd649f96 100644
--- a/substrate/primitives/staking/Cargo.toml
+++ b/substrate/primitives/staking/Cargo.toml
@@ -13,7 +13,7 @@ readme = "README.md"
 targets = ["x86_64-unknown-linux-gnu"]
 
 [dependencies]
-serde = { version = "1.0.163", default-features = false, features = ["derive", "alloc"], optional = true }
+serde = { version = "1.0.188", default-features = false, features = ["derive", "alloc"], optional = true }
 codec = { package = "parity-scale-codec", version = "3.6.1", default-features = false, features = ["derive"] }
 scale-info = { version = "2.5.0", default-features = false, features = ["derive"] }
 impl-trait-for-tuples = "0.2.2"
diff --git a/substrate/primitives/storage/Cargo.toml b/substrate/primitives/storage/Cargo.toml
index 01a9b9b650aafb1fdd5ed99e726c84b414c0cbce..11e574f1c4ced1402ec7488cce7b722bedd7cca5 100644
--- a/substrate/primitives/storage/Cargo.toml
+++ b/substrate/primitives/storage/Cargo.toml
@@ -17,7 +17,7 @@ targets = ["x86_64-unknown-linux-gnu"]
 codec = { package = "parity-scale-codec", version = "3.6.1", default-features = false, features = ["derive"] }
 impl-serde = { version = "0.4.0", optional = true, default-features = false }
 ref-cast = "1.0.0"
-serde = { version = "1.0.163", default-features = false, features = ["derive", "alloc"], optional = true }
+serde = { version = "1.0.188", default-features = false, features = ["derive", "alloc"], optional = true }
 sp-debug-derive = { path = "../debug-derive", default-features = false}
 sp-std = { path = "../std", default-features = false}
 
diff --git a/substrate/primitives/test-primitives/Cargo.toml b/substrate/primitives/test-primitives/Cargo.toml
index a5d7b518a69b96d4eb4f40e0ab741f9a02f7600b..91d532b6e16caa2584a68eff94408ae47f26c6ff 100644
--- a/substrate/primitives/test-primitives/Cargo.toml
+++ b/substrate/primitives/test-primitives/Cargo.toml
@@ -14,7 +14,7 @@ targets = ["x86_64-unknown-linux-gnu"]
 [dependencies]
 codec = { package = "parity-scale-codec", version = "3.6.1", default-features = false, features = ["derive"] }
 scale-info = { version = "2.1.1", default-features = false, features = ["derive"] }
-serde = { version = "1.0.163", default-features = false, features = ["derive"], optional = true }
+serde = { version = "1.0.188", default-features = false, features = ["derive"], optional = true }
 sp-application-crypto = { path = "../application-crypto", default-features = false}
 sp-core = { path = "../core", default-features = false}
 sp-runtime = { path = "../runtime", default-features = false}
diff --git a/substrate/primitives/version/Cargo.toml b/substrate/primitives/version/Cargo.toml
index bcd701c2f6ecd378cfcf42d3a7a93d2e5c754b41..3002566f74ff78aba61b326b52a67cd15db307eb 100644
--- a/substrate/primitives/version/Cargo.toml
+++ b/substrate/primitives/version/Cargo.toml
@@ -18,7 +18,7 @@ codec = { package = "parity-scale-codec", version = "3.6.1", default-features =
 impl-serde = { version = "0.4.0", default-features = false, optional = true }
 parity-wasm = { version = "0.45", optional = true }
 scale-info = { version = "2.5.0", default-features = false, features = ["derive"] }
-serde = { version = "1.0.163",  default-features = false, features = ["derive", "alloc"], optional = true }
+serde = { version = "1.0.188",  default-features = false, features = ["derive", "alloc"], optional = true }
 thiserror = { version = "1.0.30", optional = true }
 sp-core-hashing-proc-macro = { path = "../core/hashing/proc-macro" }
 sp-runtime = { path = "../runtime", default-features = false}
diff --git a/substrate/primitives/weights/Cargo.toml b/substrate/primitives/weights/Cargo.toml
index 467cb145c94a29081ed829a2d05fbf844f2a1923..03e06aad086535c8b5313a81c284c0e8a90cd1cb 100644
--- a/substrate/primitives/weights/Cargo.toml
+++ b/substrate/primitives/weights/Cargo.toml
@@ -15,7 +15,7 @@ targets = ["x86_64-unknown-linux-gnu"]
 [dependencies]
 codec = { package = "parity-scale-codec", version = "3.6.1", default-features = false, features = ["derive"] }
 scale-info = { version = "2.5.0", default-features = false, features = ["derive"] }
-serde = { version = "1.0.163", default-features = false, optional = true, features = ["derive", "alloc"] }
+serde = { version = "1.0.188", default-features = false, optional = true, features = ["derive", "alloc"] }
 smallvec = "1.11.0"
 sp-arithmetic = { path = "../arithmetic", default-features = false}
 sp-core = { path = "../core", default-features = false}
diff --git a/substrate/scripts/ci/node-template-release/Cargo.toml b/substrate/scripts/ci/node-template-release/Cargo.toml
index 5cd90a25f6cc17beaa40ddb2bf41d315bff45cf0..6d8636e4fe26de621bf6df350797d2161e140259 100644
--- a/substrate/scripts/ci/node-template-release/Cargo.toml
+++ b/substrate/scripts/ci/node-template-release/Cargo.toml
@@ -11,7 +11,7 @@ publish = false
 targets = ["x86_64-unknown-linux-gnu"]
 
 [dependencies]
-clap = { version = "4.2.5", features = ["derive"] }
+clap = { version = "4.4.1", features = ["derive"] }
 flate2 = "1.0"
 fs_extra = "1.3"
 glob = "0.3"
diff --git a/substrate/test-utils/client/Cargo.toml b/substrate/test-utils/client/Cargo.toml
index 1ee3e74fdd1b35a658c7f3a54545569ad87f837b..91c30f5a8ecef0ffb525ba536c5763701d90975f 100644
--- a/substrate/test-utils/client/Cargo.toml
+++ b/substrate/test-utils/client/Cargo.toml
@@ -17,7 +17,7 @@ array-bytes = "6.1"
 async-trait = "0.1.57"
 codec = { package = "parity-scale-codec", version = "3.6.1" }
 futures = "0.3.21"
-serde = "1.0.163"
+serde = "1.0.188"
 serde_json = "1.0.85"
 sc-client-api = { path = "../../client/api" }
 sc-client-db = { path = "../../client/db", default-features = false, features = [
diff --git a/substrate/test-utils/runtime/Cargo.toml b/substrate/test-utils/runtime/Cargo.toml
index 654479f5fdd0d477e42f24717ba7484e141b5383..4f587d55e79da2d918f1a5aaa81d30496c927f7c 100644
--- a/substrate/test-utils/runtime/Cargo.toml
+++ b/substrate/test-utils/runtime/Cargo.toml
@@ -48,7 +48,7 @@ sp-externalities = { path = "../../primitives/externalities", default-features =
 # 3rd party
 array-bytes = { version = "6.1", optional = true }
 log = { version = "0.4.17", default-features = false }
-serde = { version = "1.0.163", features = ["alloc", "derive"], default-features = false }
+serde = { version = "1.0.188", features = ["alloc", "derive"], default-features = false }
 serde_json = { version = "1.0.85", default-features = false, features = ["alloc"] }
 
 [dev-dependencies]
diff --git a/substrate/utils/frame/benchmarking-cli/Cargo.toml b/substrate/utils/frame/benchmarking-cli/Cargo.toml
index 7238aa2ba324ec306236a4060eea307bd257a837..5a74abb1c935f6afa7a03cf11b564a79073d75cd 100644
--- a/substrate/utils/frame/benchmarking-cli/Cargo.toml
+++ b/substrate/utils/frame/benchmarking-cli/Cargo.toml
@@ -15,7 +15,7 @@ targets = ["x86_64-unknown-linux-gnu"]
 [dependencies]
 array-bytes = "6.1"
 chrono = "0.4"
-clap = { version = "4.2.5", features = ["derive"] }
+clap = { version = "4.4.1", features = ["derive"] }
 codec = { package = "parity-scale-codec", version = "3.6.1" }
 comfy-table = { version = "7.0.1", default-features = false }
 handlebars = "4.2.2"
@@ -26,7 +26,7 @@ linked-hash-map = "0.5.4"
 log = "0.4.17"
 rand = { version = "0.8.4", features = ["small_rng"] }
 rand_pcg = "0.3.1"
-serde = "1.0.163"
+serde = "1.0.188"
 serde_json = "1.0.85"
 thiserror = "1.0.30"
 thousands = "0.2.0"
diff --git a/substrate/utils/frame/frame-utilities-cli/Cargo.toml b/substrate/utils/frame/frame-utilities-cli/Cargo.toml
index 4e6392d51025fd69e3a9e7bb2b9df591e75ee3af..4653e585ebdd46e381085b7e517f80d74aa57cd3 100644
--- a/substrate/utils/frame/frame-utilities-cli/Cargo.toml
+++ b/substrate/utils/frame/frame-utilities-cli/Cargo.toml
@@ -11,7 +11,7 @@ documentation = "https://docs.rs/substrate-frame-cli"
 readme = "README.md"
 
 [dependencies]
-clap = { version = "4.2.5", features = ["derive"] }
+clap = { version = "4.4.1", features = ["derive"] }
 frame-support = { path = "../../../frame/support" }
 frame-system = { path = "../../../frame/system" }
 sc-cli = { path = "../../../client/cli" }
diff --git a/substrate/utils/frame/generate-bags/node-runtime/Cargo.toml b/substrate/utils/frame/generate-bags/node-runtime/Cargo.toml
index c72912aeafcecf5b8cd4c8ad202fb5835ba8f914..37b70564f3fb30c348921576a30488ca20aa311c 100644
--- a/substrate/utils/frame/generate-bags/node-runtime/Cargo.toml
+++ b/substrate/utils/frame/generate-bags/node-runtime/Cargo.toml
@@ -14,4 +14,4 @@ kitchensink-runtime = { path = "../../../../bin/node/runtime" }
 generate-bags = { path = ".." }
 
 # third-party
-clap = { version = "4.2.5", features = ["derive"] }
+clap = { version = "4.4.1", features = ["derive"] }
diff --git a/substrate/utils/frame/remote-externalities/Cargo.toml b/substrate/utils/frame/remote-externalities/Cargo.toml
index 49f9fac11f62c8097b2c71bdc7e21a70f47d89aa..ad6ab006da1dcd0c69c3ffa1b24a2a00128c6d34 100644
--- a/substrate/utils/frame/remote-externalities/Cargo.toml
+++ b/substrate/utils/frame/remote-externalities/Cargo.toml
@@ -15,7 +15,7 @@ targets = ["x86_64-unknown-linux-gnu"]
 jsonrpsee = { version = "0.16.2", features = ["http-client"] }
 codec = { package = "parity-scale-codec", version = "3.6.1" }
 log = "0.4.17"
-serde = "1.0.163"
+serde = "1.0.188"
 sp-core = { path = "../../../primitives/core" }
 sp-state-machine = { path = "../../../primitives/state-machine" }
 sp-io = { path = "../../../primitives/io" }
diff --git a/substrate/utils/frame/try-runtime/cli/Cargo.toml b/substrate/utils/frame/try-runtime/cli/Cargo.toml
index 01b655cea8aed58a27baf696b2cbd1e4a078dfa5..c17dfa823fbe64730db3b8ab44718adf1712e57a 100644
--- a/substrate/utils/frame/try-runtime/cli/Cargo.toml
+++ b/substrate/utils/frame/try-runtime/cli/Cargo.toml
@@ -35,11 +35,11 @@ frame-try-runtime = { path = "../../../../frame/try-runtime", optional = true}
 substrate-rpc-client = { path = "../../rpc/client" }
 
 async-trait = "0.1.57"
-clap = { version = "4.2.5", features = ["derive"] }
+clap = { version = "4.4.1", features = ["derive"] }
 hex = { version = "0.4.3", default-features = false }
 log = "0.4.17"
 parity-scale-codec = "3.6.1"
-serde = "1.0.163"
+serde = "1.0.188"
 serde_json = "1.0.85"
 zstd = { version = "0.12.3", default-features = false }