From edf73199ab353e9f199a7eee898e4bf1f6019143 Mon Sep 17 00:00:00 2001
From: David <dvdplm@gmail.com>
Date: Wed, 15 Dec 2021 12:36:17 +0100
Subject: [PATCH] Prepare `sp-runtime` for publication (#10451)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

* Bump versions of sp-core and dependencies to v4.0.0

* Update references from `4.0.0-dev` –> `4.0.0`

* Funny whitespace

* Funny whitespace 2

* Prepare `sp-runtime` for publication
---
 substrate/Cargo.lock                             | 16 ++++++++--------
 substrate/bin/node-template/node/Cargo.toml      |  2 +-
 .../node-template/pallets/template/Cargo.toml    |  2 +-
 substrate/bin/node-template/runtime/Cargo.toml   |  2 +-
 substrate/bin/node/bench/Cargo.toml              |  6 +++---
 substrate/bin/node/cli/Cargo.toml                |  6 +++---
 substrate/bin/node/executor/Cargo.toml           | 10 +++++-----
 substrate/bin/node/inspect/Cargo.toml            |  2 +-
 substrate/bin/node/primitives/Cargo.toml         |  4 ++--
 substrate/bin/node/rpc/Cargo.toml                |  4 ++--
 substrate/bin/node/runtime/Cargo.toml            |  4 ++--
 substrate/bin/node/testing/Cargo.toml            |  2 +-
 .../bin/utils/chain-spec-builder/Cargo.toml      |  2 +-
 substrate/client/api/Cargo.toml                  |  8 ++++----
 substrate/client/authority-discovery/Cargo.toml  |  4 ++--
 substrate/client/basic-authorship/Cargo.toml     |  2 +-
 substrate/client/beefy/Cargo.toml                |  8 ++++----
 substrate/client/beefy/rpc/Cargo.toml            |  2 +-
 substrate/client/block-builder/Cargo.toml        |  4 ++--
 substrate/client/chain-spec/Cargo.toml           |  2 +-
 substrate/client/cli/Cargo.toml                  |  6 +++---
 substrate/client/consensus/aura/Cargo.toml       |  6 +++---
 substrate/client/consensus/babe/Cargo.toml       |  8 ++++----
 substrate/client/consensus/babe/rpc/Cargo.toml   |  6 +++---
 substrate/client/consensus/common/Cargo.toml     |  4 ++--
 substrate/client/consensus/epochs/Cargo.toml     |  2 +-
 .../client/consensus/manual-seal/Cargo.toml      |  4 ++--
 substrate/client/consensus/pow/Cargo.toml        |  2 +-
 substrate/client/consensus/slots/Cargo.toml      |  6 +++---
 substrate/client/consensus/uncles/Cargo.toml     |  2 +-
 substrate/client/db/Cargo.toml                   |  8 ++++----
 substrate/client/executor/Cargo.toml             |  8 ++++----
 .../client/executor/runtime-test/Cargo.toml      |  2 +-
 substrate/client/executor/wasmtime/Cargo.toml    |  2 +-
 substrate/client/finality-grandpa/Cargo.toml     |  8 ++++----
 substrate/client/finality-grandpa/rpc/Cargo.toml |  2 +-
 substrate/client/informant/Cargo.toml            |  2 +-
 substrate/client/keystore/Cargo.toml             |  4 ++--
 substrate/client/network-gossip/Cargo.toml       |  2 +-
 substrate/client/network/Cargo.toml              |  4 ++--
 substrate/client/network/test/Cargo.toml         |  2 +-
 substrate/client/offchain/Cargo.toml             |  2 +-
 substrate/client/rpc-api/Cargo.toml              |  2 +-
 substrate/client/rpc/Cargo.toml                  |  6 +++---
 substrate/client/service/Cargo.toml              | 10 +++++-----
 substrate/client/service/test/Cargo.toml         |  8 ++++----
 substrate/client/sync-state-rpc/Cargo.toml       |  2 +-
 substrate/client/tracing/Cargo.toml              |  2 +-
 substrate/client/transaction-pool/Cargo.toml     |  2 +-
 substrate/client/transaction-pool/api/Cargo.toml |  2 +-
 substrate/frame/assets/Cargo.toml                |  4 ++--
 substrate/frame/atomic-swap/Cargo.toml           |  2 +-
 substrate/frame/aura/Cargo.toml                  |  4 ++--
 substrate/frame/authority-discovery/Cargo.toml   |  4 ++--
 substrate/frame/authorship/Cargo.toml            |  2 +-
 substrate/frame/babe/Cargo.toml                  |  6 +++---
 substrate/frame/bags-list/Cargo.toml             |  2 +-
 .../frame/bags-list/remote-tests/Cargo.toml      |  2 +-
 substrate/frame/balances/Cargo.toml              |  2 +-
 substrate/frame/beefy-mmr/Cargo.toml             |  2 +-
 substrate/frame/beefy/Cargo.toml                 |  2 +-
 substrate/frame/benchmarking/Cargo.toml          |  8 ++++----
 substrate/frame/bounties/Cargo.toml              |  4 ++--
 substrate/frame/child-bounties/Cargo.toml        |  2 +-
 substrate/frame/collective/Cargo.toml            |  2 +-
 substrate/frame/contracts/Cargo.toml             |  2 +-
 substrate/frame/contracts/common/Cargo.toml      |  2 +-
 substrate/frame/contracts/rpc/Cargo.toml         |  2 +-
 .../frame/contracts/rpc/runtime-api/Cargo.toml   |  2 +-
 substrate/frame/democracy/Cargo.toml             |  4 ++--
 .../election-provider-multi-phase/Cargo.toml     |  6 +++---
 .../frame/election-provider-support/Cargo.toml   |  4 ++--
 substrate/frame/elections-phragmen/Cargo.toml    |  4 ++--
 substrate/frame/examples/basic/Cargo.toml        |  4 ++--
 .../frame/examples/offchain-worker/Cargo.toml    |  4 ++--
 substrate/frame/examples/parallel/Cargo.toml     |  2 +-
 substrate/frame/executive/Cargo.toml             |  2 +-
 substrate/frame/gilt/Cargo.toml                  |  4 ++--
 substrate/frame/grandpa/Cargo.toml               |  6 +++---
 substrate/frame/identity/Cargo.toml              |  4 ++--
 substrate/frame/im-online/Cargo.toml             |  6 +++---
 substrate/frame/indices/Cargo.toml               |  2 +-
 substrate/frame/lottery/Cargo.toml               |  2 +-
 substrate/frame/membership/Cargo.toml            |  2 +-
 substrate/frame/merkle-mountain-range/Cargo.toml |  2 +-
 .../merkle-mountain-range/primitives/Cargo.toml  |  2 +-
 .../frame/merkle-mountain-range/rpc/Cargo.toml   |  2 +-
 substrate/frame/multisig/Cargo.toml              |  4 ++--
 substrate/frame/nicks/Cargo.toml                 |  4 ++--
 substrate/frame/node-authorization/Cargo.toml    |  2 +-
 substrate/frame/offences/Cargo.toml              |  2 +-
 substrate/frame/offences/benchmarking/Cargo.toml |  2 +-
 substrate/frame/preimage/Cargo.toml              |  2 +-
 substrate/frame/proxy/Cargo.toml                 |  4 ++--
 .../frame/randomness-collective-flip/Cargo.toml  |  2 +-
 substrate/frame/recovery/Cargo.toml              |  4 ++--
 substrate/frame/scheduler/Cargo.toml             |  4 ++--
 substrate/frame/scored-pool/Cargo.toml           |  4 ++--
 substrate/frame/session/Cargo.toml               |  4 ++--
 substrate/frame/session/benchmarking/Cargo.toml  |  2 +-
 substrate/frame/society/Cargo.toml               |  2 +-
 substrate/frame/staking/Cargo.toml               |  6 +++---
 substrate/frame/staking/reward-curve/Cargo.toml  |  2 +-
 substrate/frame/staking/reward-fn/Cargo.toml     |  2 +-
 substrate/frame/sudo/Cargo.toml                  |  4 ++--
 substrate/frame/support/Cargo.toml               |  8 ++++----
 substrate/frame/support/test/Cargo.toml          |  8 ++++----
 .../frame/support/test/compile_pass/Cargo.toml   |  2 +-
 substrate/frame/system/Cargo.toml                |  4 ++--
 substrate/frame/system/benchmarking/Cargo.toml   |  4 ++--
 substrate/frame/timestamp/Cargo.toml             |  4 ++--
 substrate/frame/tips/Cargo.toml                  |  2 +-
 substrate/frame/transaction-payment/Cargo.toml   |  2 +-
 .../asset-tx-payment/Cargo.toml                  |  2 +-
 .../frame/transaction-payment/rpc/Cargo.toml     |  2 +-
 .../rpc/runtime-api/Cargo.toml                   |  2 +-
 substrate/frame/transaction-storage/Cargo.toml   |  4 ++--
 substrate/frame/treasury/Cargo.toml              |  2 +-
 substrate/frame/try-runtime/Cargo.toml           |  2 +-
 substrate/frame/uniques/Cargo.toml               |  2 +-
 substrate/frame/utility/Cargo.toml               |  4 ++--
 substrate/frame/vesting/Cargo.toml               |  2 +-
 substrate/primitives/api/Cargo.toml              |  4 ++--
 substrate/primitives/api/test/Cargo.toml         |  4 ++--
 .../primitives/application-crypto/Cargo.toml     |  4 ++--
 .../application-crypto/test/Cargo.toml           |  6 +++---
 substrate/primitives/arithmetic/Cargo.toml       |  2 +-
 .../primitives/arithmetic/fuzzer/Cargo.toml      |  2 +-
 .../primitives/authority-discovery/Cargo.toml    |  4 ++--
 substrate/primitives/authorship/Cargo.toml       |  2 +-
 substrate/primitives/beefy/Cargo.toml            |  6 +++---
 substrate/primitives/block-builder/Cargo.toml    |  2 +-
 substrate/primitives/blockchain/Cargo.toml       |  4 ++--
 substrate/primitives/consensus/aura/Cargo.toml   |  4 ++--
 substrate/primitives/consensus/babe/Cargo.toml   |  6 +++---
 substrate/primitives/consensus/common/Cargo.toml |  4 ++--
 substrate/primitives/consensus/pow/Cargo.toml    |  2 +-
 substrate/primitives/consensus/slots/Cargo.toml  |  4 ++--
 substrate/primitives/consensus/vrf/Cargo.toml    |  2 +-
 substrate/primitives/finality-grandpa/Cargo.toml |  6 +++---
 substrate/primitives/inherents/Cargo.toml        |  2 +-
 substrate/primitives/io/Cargo.toml               |  8 ++++----
 substrate/primitives/keyring/Cargo.toml          |  2 +-
 substrate/primitives/keystore/Cargo.toml         |  2 +-
 substrate/primitives/npos-elections/Cargo.toml   |  4 ++--
 .../primitives/npos-elections/fuzzer/Cargo.toml  |  2 +-
 .../npos-elections/solution-type/Cargo.toml      |  2 +-
 substrate/primitives/offchain/Cargo.toml         |  2 +-
 substrate/primitives/panic-handler/Cargo.toml    |  2 +-
 .../primitives/runtime-interface/Cargo.toml      |  2 +-
 .../primitives/runtime-interface/test/Cargo.toml |  6 +++---
 substrate/primitives/runtime/Cargo.toml          | 10 +++++-----
 substrate/primitives/sandbox/Cargo.toml          |  2 +-
 substrate/primitives/session/Cargo.toml          |  2 +-
 substrate/primitives/staking/Cargo.toml          |  2 +-
 substrate/primitives/state-machine/Cargo.toml    |  8 ++++----
 substrate/primitives/tasks/Cargo.toml            |  2 +-
 substrate/primitives/test-primitives/Cargo.toml  |  4 ++--
 substrate/primitives/timestamp/Cargo.toml        |  2 +-
 substrate/primitives/transaction-pool/Cargo.toml |  2 +-
 .../transaction-storage-proof/Cargo.toml         |  4 ++--
 substrate/primitives/trie/Cargo.toml             |  4 ++--
 substrate/primitives/version/Cargo.toml          |  2 +-
 substrate/test-utils/client/Cargo.toml           |  6 +++---
 substrate/test-utils/runtime/Cargo.toml          | 10 +++++-----
 substrate/test-utils/runtime/client/Cargo.toml   |  2 +-
 .../runtime/transaction-pool/Cargo.toml          |  2 +-
 .../utils/frame/benchmarking-cli/Cargo.toml      |  6 +++---
 .../utils/frame/frame-utilities-cli/Cargo.toml   |  2 +-
 substrate/utils/frame/generate-bags/Cargo.toml   |  2 +-
 .../utils/frame/remote-externalities/Cargo.toml  |  2 +-
 substrate/utils/frame/rpc/system/Cargo.toml      |  2 +-
 substrate/utils/frame/try-runtime/cli/Cargo.toml |  6 +++---
 173 files changed, 317 insertions(+), 317 deletions(-)

diff --git a/substrate/Cargo.lock b/substrate/Cargo.lock
index c6c49939a8f..0364fafd254 100644
--- a/substrate/Cargo.lock
+++ b/substrate/Cargo.lock
@@ -9203,7 +9203,7 @@ dependencies = [
 
 [[package]]
 name = "sp-application-crypto"
-version = "4.0.0-dev"
+version = "4.0.0"
 dependencies = [
  "parity-scale-codec",
  "scale-info",
@@ -9227,7 +9227,7 @@ dependencies = [
 
 [[package]]
 name = "sp-arithmetic"
-version = "4.0.0-dev"
+version = "4.0.0"
 dependencies = [
  "criterion",
  "integer-sqrt",
@@ -9528,7 +9528,7 @@ dependencies = [
 
 [[package]]
 name = "sp-io"
-version = "4.0.0-dev"
+version = "4.0.0"
 dependencies = [
  "futures 0.3.16",
  "hash-db",
@@ -9561,7 +9561,7 @@ dependencies = [
 
 [[package]]
 name = "sp-keystore"
-version = "0.10.0-dev"
+version = "0.10.0"
 dependencies = [
  "async-trait",
  "derive_more",
@@ -9639,7 +9639,7 @@ dependencies = [
 
 [[package]]
 name = "sp-panic-handler"
-version = "4.0.0-dev"
+version = "4.0.0"
 dependencies = [
  "backtrace",
  "lazy_static",
@@ -9658,7 +9658,7 @@ dependencies = [
 
 [[package]]
 name = "sp-runtime"
-version = "4.0.0-dev"
+version = "4.0.0"
 dependencies = [
  "either",
  "hash256-std-hasher",
@@ -9802,7 +9802,7 @@ dependencies = [
 
 [[package]]
 name = "sp-state-machine"
-version = "0.10.0-dev"
+version = "0.10.0"
 dependencies = [
  "hash-db",
  "hex-literal",
@@ -9917,7 +9917,7 @@ dependencies = [
 
 [[package]]
 name = "sp-trie"
-version = "4.0.0-dev"
+version = "4.0.0"
 dependencies = [
  "criterion",
  "hash-db",
diff --git a/substrate/bin/node-template/node/Cargo.toml b/substrate/bin/node-template/node/Cargo.toml
index 731e6fcda40..dbf44a75c13 100644
--- a/substrate/bin/node-template/node/Cargo.toml
+++ b/substrate/bin/node-template/node/Cargo.toml
@@ -34,7 +34,7 @@ sc-consensus = { version = "0.10.0-dev", path = "../../../client/consensus/commo
 sc-finality-grandpa = { version = "0.10.0-dev", path = "../../../client/finality-grandpa" }
 sp-finality-grandpa = { version = "4.0.0-dev", path = "../../../primitives/finality-grandpa" }
 sc-client-api = { version = "4.0.0-dev", path = "../../../client/api" }
-sp-runtime = { version = "4.0.0-dev", path = "../../../primitives/runtime" }
+sp-runtime = { version = "4.0.0", path = "../../../primitives/runtime" }
 sp-timestamp = { version = "4.0.0-dev", path = "../../../primitives/timestamp" }
 
 # These dependencies are used for the node template's RPCs
diff --git a/substrate/bin/node-template/pallets/template/Cargo.toml b/substrate/bin/node-template/pallets/template/Cargo.toml
index d473119702f..ab69a3fe73e 100644
--- a/substrate/bin/node-template/pallets/template/Cargo.toml
+++ b/substrate/bin/node-template/pallets/template/Cargo.toml
@@ -24,7 +24,7 @@ frame-benchmarking = { default-features = false, version = "4.0.0-dev", path = "
 [dev-dependencies]
 sp-core = { default-features = false, version = "4.1.0-dev", path = "../../../../primitives/core" }
 sp-io = { default-features = false, version = "4.0.0-dev", path = "../../../../primitives/io" }
-sp-runtime = { default-features = false, version = "4.0.0-dev", path = "../../../../primitives/runtime" }
+sp-runtime = { default-features = false, version = "4.0.0", path = "../../../../primitives/runtime" }
 
 [features]
 default = ["std"]
diff --git a/substrate/bin/node-template/runtime/Cargo.toml b/substrate/bin/node-template/runtime/Cargo.toml
index 4818535e196..c56162c8ffe 100644
--- a/substrate/bin/node-template/runtime/Cargo.toml
+++ b/substrate/bin/node-template/runtime/Cargo.toml
@@ -32,7 +32,7 @@ sp-consensus-aura = { version = "0.10.0-dev", default-features = false, path = "
 sp-core = { version = "4.1.0-dev", default-features = false, path = "../../../primitives/core" }
 sp-inherents = { path = "../../../primitives/inherents", default-features = false, version = "4.0.0-dev"}
 sp-offchain = { version = "4.0.0-dev", default-features = false, path = "../../../primitives/offchain" }
-sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../../../primitives/runtime" }
+sp-runtime = { version = "4.0.0", default-features = false, path = "../../../primitives/runtime" }
 sp-session = { version = "4.0.0-dev", default-features = false, path = "../../../primitives/session" }
 sp-std = { version = "4.0.0", default-features = false, path = "../../../primitives/std" }
 sp-transaction-pool = { version = "4.0.0-dev", default-features = false, path = "../../../primitives/transaction-pool" }
diff --git a/substrate/bin/node/bench/Cargo.toml b/substrate/bin/node/bench/Cargo.toml
index 65d12378c4c..8d2ca810273 100644
--- a/substrate/bin/node/bench/Cargo.toml
+++ b/substrate/bin/node/bench/Cargo.toml
@@ -14,15 +14,15 @@ node-primitives = { version = "2.0.0", path = "../primitives" }
 node-testing = { version = "3.0.0-dev", path = "../testing" }
 node-runtime = { version = "3.0.0-dev", path = "../runtime" }
 sc-client-api = { version = "4.0.0-dev", path = "../../../client/api/" }
-sp-runtime = { version = "4.0.0-dev", path = "../../../primitives/runtime" }
-sp-state-machine = { version = "0.10.0-dev", path = "../../../primitives/state-machine" }
+sp-runtime = { version = "4.0.0", path = "../../../primitives/runtime" }
+sp-state-machine = { version = "0.10.0", path = "../../../primitives/state-machine" }
 serde = "1.0.126"
 serde_json = "1.0.71"
 structopt = "0.3"
 derive_more = "0.99.16"
 kvdb = "0.10.0"
 kvdb-rocksdb = "0.14.0"
-sp-trie = { version = "4.0.0-dev", path = "../../../primitives/trie" }
+sp-trie = { version = "4.0.0", path = "../../../primitives/trie" }
 sp-core = { version = "4.1.0-dev", path = "../../../primitives/core" }
 sp-consensus = { version = "0.10.0-dev", path = "../../../primitives/consensus/common" }
 sc-basic-authorship = { version = "0.10.0-dev", path = "../../../client/basic-authorship" }
diff --git a/substrate/bin/node/cli/Cargo.toml b/substrate/bin/node/cli/Cargo.toml
index 6da2fddd331..d7143b39816 100644
--- a/substrate/bin/node/cli/Cargo.toml
+++ b/substrate/bin/node/cli/Cargo.toml
@@ -48,12 +48,12 @@ sp-consensus-babe = { version = "0.10.0-dev", path = "../../../primitives/consen
 grandpa-primitives = { version = "4.0.0-dev", package = "sp-finality-grandpa", path = "../../../primitives/finality-grandpa" }
 sp-api = { version = "4.0.0-dev", path = "../../../primitives/api" }
 sp-core = { version = "4.1.0-dev", path = "../../../primitives/core" }
-sp-runtime = { version = "4.0.0-dev", path = "../../../primitives/runtime" }
+sp-runtime = { version = "4.0.0", path = "../../../primitives/runtime" }
 sp-timestamp = { version = "4.0.0-dev", path = "../../../primitives/timestamp" }
 sp-authorship = { version = "4.0.0-dev", path = "../../../primitives/authorship" }
 sp-inherents = { version = "4.0.0-dev", path = "../../../primitives/inherents" }
 sp-keyring = { version = "4.0.0-dev", path = "../../../primitives/keyring" }
-sp-keystore = { version = "0.10.0-dev", path = "../../../primitives/keystore" }
+sp-keystore = { version = "0.10.0", path = "../../../primitives/keystore" }
 sp-consensus = { version = "0.10.0-dev", path = "../../../primitives/consensus/common" }
 sp-transaction-pool = { version = "4.0.0-dev", path = "../../../primitives/transaction-pool" }
 sp-transaction-storage-proof = { version = "4.0.0-dev", path = "../../../primitives/transaction-storage-proof" }
@@ -106,7 +106,7 @@ sc-cli = { version = "0.10.0-dev", optional = true, path = "../../../client/cli"
 sc-service = { version = "0.10.0-dev", default-features = false, path = "../../../client/service", features = [
 	"wasmtime",
 ] }
-sp-trie = { version = "4.0.0-dev", default-features = false, path = "../../../primitives/trie", features = [
+sp-trie = { version = "4.0.0", default-features = false, path = "../../../primitives/trie", features = [
 	"memory-tracker",
 ] }
 
diff --git a/substrate/bin/node/executor/Cargo.toml b/substrate/bin/node/executor/Cargo.toml
index 20898315d0e..531e53d2048 100644
--- a/substrate/bin/node/executor/Cargo.toml
+++ b/substrate/bin/node/executor/Cargo.toml
@@ -18,10 +18,10 @@ node-primitives = { version = "2.0.0", path = "../primitives" }
 node-runtime = { version = "3.0.0-dev", path = "../runtime" }
 sc-executor = { version = "0.10.0-dev", path = "../../../client/executor" }
 sp-core = { version = "4.1.0-dev", path = "../../../primitives/core" }
-sp-keystore = { version = "0.10.0-dev", path = "../../../primitives/keystore" }
-sp-state-machine = { version = "0.10.0-dev", path = "../../../primitives/state-machine" }
+sp-keystore = { version = "0.10.0", path = "../../../primitives/keystore" }
+sp-state-machine = { version = "0.10.0", path = "../../../primitives/state-machine" }
 sp-tracing = { version = "4.0.0", path = "../../../primitives/tracing" }
-sp-trie = { version = "4.0.0-dev", path = "../../../primitives/trie" }
+sp-trie = { version = "4.0.0", path = "../../../primitives/trie" }
 frame-benchmarking = { version = "4.0.0-dev", path = "../../../frame/benchmarking" }
 
 [dev-dependencies]
@@ -34,9 +34,9 @@ pallet-contracts = { version = "4.0.0-dev", path = "../../../frame/contracts" }
 pallet-im-online = { version = "4.0.0-dev", path = "../../../frame/im-online" }
 pallet-timestamp = { version = "4.0.0-dev", path = "../../../frame/timestamp" }
 pallet-treasury = { version = "4.0.0-dev", path = "../../../frame/treasury" }
-sp-application-crypto = { version = "4.0.0-dev", path = "../../../primitives/application-crypto" }
+sp-application-crypto = { version = "4.0.0", path = "../../../primitives/application-crypto" }
 sp-consensus-babe = { version = "0.10.0-dev", path = "../../../primitives/consensus/babe" }
-sp-runtime = { version = "4.0.0-dev", path = "../../../primitives/runtime" }
+sp-runtime = { version = "4.0.0", path = "../../../primitives/runtime" }
 sp-externalities = { version = "0.10.0", path = "../../../primitives/externalities" }
 sp-keyring = { version = "4.0.0-dev", path = "../../../primitives/keyring" }
 wat = "1.0"
diff --git a/substrate/bin/node/inspect/Cargo.toml b/substrate/bin/node/inspect/Cargo.toml
index b0db8f63047..cb9557b506a 100644
--- a/substrate/bin/node/inspect/Cargo.toml
+++ b/substrate/bin/node/inspect/Cargo.toml
@@ -19,5 +19,5 @@ sc-executor = { version = "0.10.0-dev", path = "../../../client/executor" }
 sc-service = { version = "0.10.0-dev", default-features = false, path = "../../../client/service" }
 sp-blockchain = { version = "4.0.0-dev", path = "../../../primitives/blockchain" }
 sp-core = { version = "4.1.0-dev", path = "../../../primitives/core" }
-sp-runtime = { version = "4.0.0-dev", path = "../../../primitives/runtime" }
+sp-runtime = { version = "4.0.0", path = "../../../primitives/runtime" }
 structopt = "0.3.8"
diff --git a/substrate/bin/node/primitives/Cargo.toml b/substrate/bin/node/primitives/Cargo.toml
index d2c315bd9b6..05def58be23 100644
--- a/substrate/bin/node/primitives/Cargo.toml
+++ b/substrate/bin/node/primitives/Cargo.toml
@@ -16,9 +16,9 @@ codec = { package = "parity-scale-codec", version = "2.0.0", default-features =
 ] }
 scale-info = { version = "1.0", default-features = false, features = ["derive"] }
 frame-system = { version = "4.0.0-dev", default-features = false, path = "../../../frame/system" }
-sp-application-crypto = { version = "4.0.0-dev", default-features = false, path = "../../../primitives/application-crypto" }
+sp-application-crypto = { version = "4.0.0", default-features = false, path = "../../../primitives/application-crypto" }
 sp-core = { version = "4.1.0-dev", default-features = false, path = "../../../primitives/core" }
-sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../../../primitives/runtime" }
+sp-runtime = { version = "4.0.0", default-features = false, path = "../../../primitives/runtime" }
 
 [features]
 default = ["std"]
diff --git a/substrate/bin/node/rpc/Cargo.toml b/substrate/bin/node/rpc/Cargo.toml
index ef111e3f194..3eed3ad4e0c 100644
--- a/substrate/bin/node/rpc/Cargo.toml
+++ b/substrate/bin/node/rpc/Cargo.toml
@@ -29,9 +29,9 @@ sc-sync-state-rpc = { version = "0.10.0-dev", path = "../../../client/sync-state
 sp-api = { version = "4.0.0-dev", path = "../../../primitives/api" }
 sp-block-builder = { version = "4.0.0-dev", path = "../../../primitives/block-builder" }
 sp-blockchain = { version = "4.0.0-dev", path = "../../../primitives/blockchain" }
-sp-keystore = { version = "0.10.0-dev", path = "../../../primitives/keystore" }
+sp-keystore = { version = "0.10.0", path = "../../../primitives/keystore" }
 sp-consensus = { version = "0.10.0-dev", path = "../../../primitives/consensus/common" }
 sp-consensus-babe = { version = "0.10.0-dev", path = "../../../primitives/consensus/babe" }
-sp-runtime = { version = "4.0.0-dev", path = "../../../primitives/runtime" }
+sp-runtime = { version = "4.0.0", path = "../../../primitives/runtime" }
 sc-transaction-pool-api = { version = "4.0.0-dev", path = "../../../client/transaction-pool/api" }
 substrate-frame-rpc-system = { version = "4.0.0-dev", path = "../../../utils/frame/rpc/system" }
diff --git a/substrate/bin/node/runtime/Cargo.toml b/substrate/bin/node/runtime/Cargo.toml
index 83a66f5a47b..fa879adf5cb 100644
--- a/substrate/bin/node/runtime/Cargo.toml
+++ b/substrate/bin/node/runtime/Cargo.toml
@@ -33,14 +33,14 @@ sp-offchain = { version = "4.0.0-dev", default-features = false, path = "../../.
 sp-core = { version = "4.1.0-dev", default-features = false, path = "../../../primitives/core" }
 sp-std = { version = "4.0.0", default-features = false, path = "../../../primitives/std" }
 sp-api = { version = "4.0.0-dev", default-features = false, path = "../../../primitives/api" }
-sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../../../primitives/runtime" }
+sp-runtime = { version = "4.0.0", default-features = false, path = "../../../primitives/runtime" }
 sp-staking = { version = "4.0.0-dev", default-features = false, path = "../../../primitives/staking" }
 sp-keyring = { version = "4.0.0-dev", optional = true, path = "../../../primitives/keyring" }
 sp-session = { version = "4.0.0-dev", default-features = false, path = "../../../primitives/session" }
 sp-transaction-pool = { version = "4.0.0-dev", default-features = false, path = "../../../primitives/transaction-pool" }
 sp-version = { version = "4.0.0-dev", default-features = false, path = "../../../primitives/version" }
 sp-npos-elections = { version = "4.0.0-dev", default-features = false, path = "../../../primitives/npos-elections" }
-sp-io = { version = "4.0.0-dev", default-features = false, path = "../../../primitives/io" }
+sp-io = { version = "4.0.0", default-features = false, path = "../../../primitives/io" }
 sp-sandbox = { version = "0.10.0-dev", default-features = false, path = "../../../primitives/sandbox" }
 
 # frame dependencies
diff --git a/substrate/bin/node/testing/Cargo.toml b/substrate/bin/node/testing/Cargo.toml
index 7f3a9119624..bee6f92d128 100644
--- a/substrate/bin/node/testing/Cargo.toml
+++ b/substrate/bin/node/testing/Cargo.toml
@@ -30,7 +30,7 @@ node-primitives = { version = "2.0.0", path = "../primitives" }
 node-runtime = { version = "3.0.0-dev", path = "../runtime" }
 sp-core = { version = "4.1.0-dev", path = "../../../primitives/core" }
 sp-io = { version = "4.0.0-dev", path = "../../../primitives/io" }
-sp-runtime = { version = "4.0.0-dev", path = "../../../primitives/runtime" }
+sp-runtime = { version = "4.0.0", path = "../../../primitives/runtime" }
 sc-executor = { version = "0.10.0-dev", path = "../../../client/executor", features = [
     "wasmtime",
 ] }
diff --git a/substrate/bin/utils/chain-spec-builder/Cargo.toml b/substrate/bin/utils/chain-spec-builder/Cargo.toml
index c5872ca2970..f9bb4f94491 100644
--- a/substrate/bin/utils/chain-spec-builder/Cargo.toml
+++ b/substrate/bin/utils/chain-spec-builder/Cargo.toml
@@ -19,6 +19,6 @@ sc-keystore = { version = "4.0.0-dev", path = "../../../client/keystore" }
 sc-chain-spec = { version = "4.0.0-dev", path = "../../../client/chain-spec" }
 node-cli = { version = "3.0.0-dev", path = "../../node/cli" }
 sp-core = { version = "4.1.0-dev", path = "../../../primitives/core" }
-sp-keystore = { version = "0.10.0-dev", path = "../../../primitives/keystore" }
+sp-keystore = { version = "0.10.0", path = "../../../primitives/keystore" }
 rand = "0.7.2"
 structopt = "0.3.25"
diff --git a/substrate/client/api/Cargo.toml b/substrate/client/api/Cargo.toml
index 13ec13538e6..4738a7d611b 100644
--- a/substrate/client/api/Cargo.toml
+++ b/substrate/client/api/Cargo.toml
@@ -28,12 +28,12 @@ log = "0.4.8"
 parking_lot = "0.11.1"
 sp-database = { version = "4.0.0-dev", path = "../../primitives/database" }
 sp-core = { version = "4.1.0-dev", default-features = false, path = "../../primitives/core" }
-sp-keystore = { version = "0.10.0-dev", default-features = false, path = "../../primitives/keystore" }
+sp-keystore = { version = "0.10.0", default-features = false, path = "../../primitives/keystore" }
 sp-api = { version = "4.0.0-dev", path = "../../primitives/api" }
 sc-utils = { version = "4.0.0-dev", path = "../utils" }
-sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../../primitives/runtime" }
-sp-state-machine = { version = "0.10.0-dev", path = "../../primitives/state-machine" }
-sp-trie = { version = "4.0.0-dev", path = "../../primitives/trie" }
+sp-runtime = { version = "4.0.0", default-features = false, path = "../../primitives/runtime" }
+sp-state-machine = { version = "0.10.0", path = "../../primitives/state-machine" }
+sp-trie = { version = "4.0.0", path = "../../primitives/trie" }
 sp-storage = { version = "4.0.0", path = "../../primitives/storage" }
 sc-transaction-pool-api = { version = "4.0.0-dev", path = "../transaction-pool/api" }
 prometheus-endpoint = { package = "substrate-prometheus-endpoint", version = "0.10.0-dev", path = "../../utils/prometheus" }
diff --git a/substrate/client/authority-discovery/Cargo.toml b/substrate/client/authority-discovery/Cargo.toml
index 207f22753e4..fd94e71ceb8 100644
--- a/substrate/client/authority-discovery/Cargo.toml
+++ b/substrate/client/authority-discovery/Cargo.toml
@@ -33,8 +33,8 @@ sc-network = { version = "0.10.0-dev", path = "../network" }
 sp-authority-discovery = { version = "4.0.0-dev", path = "../../primitives/authority-discovery" }
 sp-blockchain = { version = "4.0.0-dev", path = "../../primitives/blockchain" }
 sp-core = { version = "4.1.0-dev", path = "../../primitives/core" }
-sp-keystore = { version = "0.10.0-dev", path = "../../primitives/keystore" }
-sp-runtime = { version = "4.0.0-dev", path = "../../primitives/runtime" }
+sp-keystore = { version = "0.10.0", path = "../../primitives/keystore" }
+sp-runtime = { version = "4.0.0", path = "../../primitives/runtime" }
 sp-api = { version = "4.0.0-dev", path = "../../primitives/api" }
 
 [dev-dependencies]
diff --git a/substrate/client/basic-authorship/Cargo.toml b/substrate/client/basic-authorship/Cargo.toml
index c1a8e9210a4..4b4627cb6ee 100644
--- a/substrate/client/basic-authorship/Cargo.toml
+++ b/substrate/client/basic-authorship/Cargo.toml
@@ -19,7 +19,7 @@ futures-timer = "3.0.1"
 log = "0.4.8"
 prometheus-endpoint = { package = "substrate-prometheus-endpoint", path = "../../utils/prometheus", version = "0.10.0-dev"}
 sp-api = { version = "4.0.0-dev", path = "../../primitives/api" }
-sp-runtime = { version = "4.0.0-dev", path = "../../primitives/runtime" }
+sp-runtime = { version = "4.0.0", path = "../../primitives/runtime" }
 sp-core = { version = "4.1.0-dev", path = "../../primitives/core" }
 sp-blockchain = { version = "4.0.0-dev", path = "../../primitives/blockchain" }
 sc-client-api = { version = "4.0.0-dev", path = "../api" }
diff --git a/substrate/client/beefy/Cargo.toml b/substrate/client/beefy/Cargo.toml
index cb561c0dc77..6c281deb85e 100644
--- a/substrate/client/beefy/Cargo.toml
+++ b/substrate/client/beefy/Cargo.toml
@@ -19,12 +19,12 @@ codec = { version = "2.2.0", package = "parity-scale-codec", features = ["derive
 prometheus = { version = "0.10.0-dev", package = "substrate-prometheus-endpoint", path = "../../utils/prometheus" }
 
 sp-api = { version = "4.0.0-dev", path = "../../primitives/api" }
-sp-application-crypto = { version = "4.0.0-dev", path = "../../primitives/application-crypto" }
-sp-arithmetic = { version = "4.0.0-dev", path = "../../primitives/arithmetic" }
+sp-application-crypto = { version = "4.0.0", path = "../../primitives/application-crypto" }
+sp-arithmetic = { version = "4.0.0", path = "../../primitives/arithmetic" }
 sp-blockchain = { version = "4.0.0-dev", path = "../../primitives/blockchain" }
 sp-core = { version = "4.1.0-dev", path = "../../primitives/core" }
-sp-keystore = { version = "0.10.0-dev", path = "../../primitives/keystore" }
-sp-runtime = { version = "4.0.0-dev", path = "../../primitives/runtime" }
+sp-keystore = { version = "0.10.0", path = "../../primitives/keystore" }
+sp-runtime = { version = "4.0.0", path = "../../primitives/runtime" }
 
 sc-utils = { version = "4.0.0-dev", path = "../utils" }
 sc-client-api = { version = "4.0.0-dev", path = "../api" }
diff --git a/substrate/client/beefy/rpc/Cargo.toml b/substrate/client/beefy/rpc/Cargo.toml
index 83f6b392f55..9f4a1305f2d 100644
--- a/substrate/client/beefy/rpc/Cargo.toml
+++ b/substrate/client/beefy/rpc/Cargo.toml
@@ -22,7 +22,7 @@ codec = { version = "2.2.0", package = "parity-scale-codec", features = ["derive
 sc-rpc = { version = "4.0.0-dev", path = "../../rpc" }
 
 sp-core = { version = "4.1.0-dev", path = "../../../primitives/core" }
-sp-runtime = { version = "4.0.0-dev", path = "../../../primitives/runtime" }
+sp-runtime = { version = "4.0.0", path = "../../../primitives/runtime" }
 
 beefy-gadget = { version = "4.0.0-dev", path = "../." }
 beefy-primitives = { version = "4.0.0-dev", path = "../../../primitives/beefy" }
diff --git a/substrate/client/block-builder/Cargo.toml b/substrate/client/block-builder/Cargo.toml
index 69154699e3f..ab77bc005f6 100644
--- a/substrate/client/block-builder/Cargo.toml
+++ b/substrate/client/block-builder/Cargo.toml
@@ -14,8 +14,8 @@ targets = ["x86_64-unknown-linux-gnu"]
 
 
 [dependencies]
-sp-state-machine = { version = "0.10.0-dev", path = "../../primitives/state-machine" }
-sp-runtime = { version = "4.0.0-dev", path = "../../primitives/runtime" }
+sp-state-machine = { version = "0.10.0", path = "../../primitives/state-machine" }
+sp-runtime = { version = "4.0.0", path = "../../primitives/runtime" }
 sp-api = { version = "4.0.0-dev", path = "../../primitives/api" }
 sp-blockchain = { version = "4.0.0-dev", path = "../../primitives/blockchain" }
 sp-core = { version = "4.1.0-dev", path = "../../primitives/core" }
diff --git a/substrate/client/chain-spec/Cargo.toml b/substrate/client/chain-spec/Cargo.toml
index fdc72307af2..d06e0bce18c 100644
--- a/substrate/client/chain-spec/Cargo.toml
+++ b/substrate/client/chain-spec/Cargo.toml
@@ -19,7 +19,7 @@ sc-network = { version = "0.10.0-dev", path = "../network" }
 sp-core = { version = "4.1.0-dev", path = "../../primitives/core" }
 serde = { version = "1.0.126", features = ["derive"] }
 serde_json = "1.0.71"
-sp-runtime = { version = "4.0.0-dev", path = "../../primitives/runtime" }
+sp-runtime = { version = "4.0.0", path = "../../primitives/runtime" }
 sc-telemetry = { version = "4.0.0-dev", path = "../telemetry" }
 codec = { package = "parity-scale-codec", version = "2.0.0" }
 memmap2 = "0.5.0"
diff --git a/substrate/client/cli/Cargo.toml b/substrate/client/cli/Cargo.toml
index 566ce21cfe9..2e2b208923d 100644
--- a/substrate/client/cli/Cargo.toml
+++ b/substrate/client/cli/Cargo.toml
@@ -25,15 +25,15 @@ rand = "0.7.3"
 tiny-bip39 = "0.8.2"
 serde_json = "1.0.71"
 sc-keystore = { version = "4.0.0-dev", path = "../keystore" }
-sp-panic-handler = { version = "4.0.0-dev", path = "../../primitives/panic-handler" }
+sp-panic-handler = { version = "4.0.0", path = "../../primitives/panic-handler" }
 sc-client-api = { version = "4.0.0-dev", path = "../api" }
 sp-blockchain = { version = "4.0.0-dev", path = "../../primitives/blockchain" }
 sc-network = { version = "0.10.0-dev", path = "../network" }
-sp-runtime = { version = "4.0.0-dev", path = "../../primitives/runtime" }
+sp-runtime = { version = "4.0.0", path = "../../primitives/runtime" }
 sc-utils = { version = "4.0.0-dev", path = "../utils" }
 sp-version = { version = "4.0.0-dev", path = "../../primitives/version" }
 sp-core = { version = "4.1.0-dev", path = "../../primitives/core" }
-sp-keystore = { version = "0.10.0-dev", path = "../../primitives/keystore" }
+sp-keystore = { version = "0.10.0", path = "../../primitives/keystore" }
 sc-service = { version = "0.10.0-dev", default-features = false, path = "../service" }
 sc-telemetry = { version = "4.0.0-dev", path = "../telemetry" }
 sp-keyring = { version = "4.0.0-dev", path = "../../primitives/keyring" }
diff --git a/substrate/client/consensus/aura/Cargo.toml b/substrate/client/consensus/aura/Cargo.toml
index f12578b8a67..05f0d3804e7 100644
--- a/substrate/client/consensus/aura/Cargo.toml
+++ b/substrate/client/consensus/aura/Cargo.toml
@@ -13,7 +13,7 @@ readme = "README.md"
 targets = ["x86_64-unknown-linux-gnu"]
 
 [dependencies]
-sp-application-crypto = { version = "4.0.0-dev", path = "../../../primitives/application-crypto" }
+sp-application-crypto = { version = "4.0.0", path = "../../../primitives/application-crypto" }
 sp-consensus-aura = { version = "0.10.0-dev", path = "../../../primitives/consensus/aura" }
 sp-block-builder = { version = "4.0.0-dev", path = "../../../primitives/block-builder" }
 sc-block-builder = { version = "0.10.0-dev", path = "../../block-builder" }
@@ -30,8 +30,8 @@ sp-core = { version = "4.1.0-dev", path = "../../../primitives/core" }
 sp-blockchain = { version = "4.0.0-dev", path = "../../../primitives/blockchain" }
 sc-consensus-slots = { version = "0.10.0-dev", path = "../slots" }
 sp-api = { version = "4.0.0-dev", path = "../../../primitives/api" }
-sp-runtime = { version = "4.0.0-dev", path = "../../../primitives/runtime" }
-sp-keystore = { version = "0.10.0-dev", path = "../../../primitives/keystore" }
+sp-runtime = { version = "4.0.0", path = "../../../primitives/runtime" }
+sp-keystore = { version = "0.10.0", path = "../../../primitives/keystore" }
 sc-telemetry = { version = "4.0.0-dev", path = "../../telemetry" }
 prometheus-endpoint = { package = "substrate-prometheus-endpoint", path = "../../../utils/prometheus", version = "0.10.0-dev" }
 async-trait = "0.1.50"
diff --git a/substrate/client/consensus/babe/Cargo.toml b/substrate/client/consensus/babe/Cargo.toml
index 7daab5557b5..634c987444a 100644
--- a/substrate/client/consensus/babe/Cargo.toml
+++ b/substrate/client/consensus/babe/Cargo.toml
@@ -20,14 +20,14 @@ codec = { package = "parity-scale-codec", version = "2.0.0", features = [
 sp-consensus-babe = { version = "0.10.0-dev", path = "../../../primitives/consensus/babe" }
 sc-consensus = { version = "0.10.0-dev", path = "../../../client/consensus/common" }
 sp-core = { version = "4.1.0-dev", path = "../../../primitives/core" }
-sp-application-crypto = { version = "4.0.0-dev", path = "../../../primitives/application-crypto" }
-sp-keystore = { version = "0.10.0-dev", path = "../../../primitives/keystore" }
+sp-application-crypto = { version = "4.0.0", path = "../../../primitives/application-crypto" }
+sp-keystore = { version = "0.10.0", path = "../../../primitives/keystore" }
 num-bigint = "0.2.3"
 num-rational = "0.2.2"
 num-traits = "0.2.8"
 serde = { version = "1.0.126", features = ["derive"] }
 sp-version = { version = "4.0.0-dev", path = "../../../primitives/version" }
-sp-io = { version = "4.0.0-dev", path = "../../../primitives/io" }
+sp-io = { version = "4.0.0", path = "../../../primitives/io" }
 sp-inherents = { version = "4.0.0-dev", path = "../../../primitives/inherents" }
 sc-telemetry = { version = "4.0.0-dev", path = "../../telemetry" }
 sc-keystore = { version = "4.0.0-dev", path = "../../keystore" }
@@ -40,7 +40,7 @@ sp-consensus = { version = "0.10.0-dev", path = "../../../primitives/consensus/c
 sp-consensus-slots = { version = "0.10.0-dev", path = "../../../primitives/consensus/slots" }
 sp-consensus-vrf = { version = "0.10.0-dev", path = "../../../primitives/consensus/vrf" }
 sc-consensus-slots = { version = "0.10.0-dev", path = "../slots" }
-sp-runtime = { version = "4.0.0-dev", path = "../../../primitives/runtime" }
+sp-runtime = { version = "4.0.0", path = "../../../primitives/runtime" }
 fork-tree = { version = "3.0.0", path = "../../../utils/fork-tree" }
 prometheus-endpoint = { package = "substrate-prometheus-endpoint", path = "../../../utils/prometheus", version = "0.10.0-dev" }
 futures = "0.3.9"
diff --git a/substrate/client/consensus/babe/rpc/Cargo.toml b/substrate/client/consensus/babe/rpc/Cargo.toml
index 3bd8bf6e765..cea2aea4553 100644
--- a/substrate/client/consensus/babe/rpc/Cargo.toml
+++ b/substrate/client/consensus/babe/rpc/Cargo.toml
@@ -21,15 +21,15 @@ jsonrpc-derive = "18.0.0"
 sp-consensus-babe = { version = "0.10.0-dev", path = "../../../../primitives/consensus/babe" }
 serde = { version = "1.0.126", features=["derive"] }
 sp-blockchain = { version = "4.0.0-dev", path = "../../../../primitives/blockchain" }
-sp-runtime = { version = "4.0.0-dev", path = "../../../../primitives/runtime" }
+sp-runtime = { version = "4.0.0", path = "../../../../primitives/runtime" }
 sc-consensus-epochs = { version = "0.10.0-dev", path = "../../epochs" }
 futures = "0.3.16"
 derive_more = "0.99.16"
 sp-api = { version = "4.0.0-dev", path = "../../../../primitives/api" }
 sp-consensus = { version = "0.10.0-dev", path = "../../../../primitives/consensus/common" }
 sp-core = { version = "4.1.0-dev", path = "../../../../primitives/core" }
-sp-application-crypto = { version = "4.0.0-dev", path = "../../../../primitives/application-crypto" }
-sp-keystore = { version = "0.10.0-dev", path = "../../../../primitives/keystore" }
+sp-application-crypto = { version = "4.0.0", path = "../../../../primitives/application-crypto" }
+sp-keystore = { version = "0.10.0", path = "../../../../primitives/keystore" }
 
 [dev-dependencies]
 sc-consensus = { version = "0.10.0-dev", path = "../../../consensus/common" }
diff --git a/substrate/client/consensus/common/Cargo.toml b/substrate/client/consensus/common/Cargo.toml
index f20e12cc4aa..9d2323b7576 100644
--- a/substrate/client/consensus/common/Cargo.toml
+++ b/substrate/client/consensus/common/Cargo.toml
@@ -22,8 +22,8 @@ sc-client-api = { version = "4.0.0-dev", path = "../../api" }
 sp-blockchain = { version = "4.0.0-dev", path = "../../../primitives/blockchain" }
 sp-core = { path = "../../../primitives/core", version = "4.1.0-dev" }
 sp-consensus = { path = "../../../primitives/consensus/common", version = "0.10.0-dev" }
-sp-state-machine = { version = "0.10.0-dev", path = "../../../primitives/state-machine" }
-sp-runtime = { version = "4.0.0-dev", path = "../../../primitives/runtime" }
+sp-state-machine = { version = "0.10.0", path = "../../../primitives/state-machine" }
+sp-runtime = { version = "4.0.0", path = "../../../primitives/runtime" }
 sc-utils = { version = "4.0.0-dev", path = "../../utils" }
 sp-api = { version = "4.0.0-dev", path = "../../../primitives/api" }
 parking_lot = "0.11.1"
diff --git a/substrate/client/consensus/epochs/Cargo.toml b/substrate/client/consensus/epochs/Cargo.toml
index 4cac4a24d18..efd11b8d401 100644
--- a/substrate/client/consensus/epochs/Cargo.toml
+++ b/substrate/client/consensus/epochs/Cargo.toml
@@ -15,7 +15,7 @@ targets = ["x86_64-unknown-linux-gnu"]
 [dependencies]
 codec = { package = "parity-scale-codec", version = "2.0.0", features = ["derive"] }
 fork-tree = { version = "3.0.0", path = "../../../utils/fork-tree" }
-sp-runtime = {  path = "../../../primitives/runtime" , version = "4.0.0-dev"}
+sp-runtime = {  path = "../../../primitives/runtime" , version = "4.0.0"}
 sp-blockchain = { version = "4.0.0-dev", path = "../../../primitives/blockchain" }
 sc-client-api = { path = "../../api" , version = "4.0.0-dev"}
 sc-consensus = { path = "../common" , version = "0.10.0-dev"}
diff --git a/substrate/client/consensus/manual-seal/Cargo.toml b/substrate/client/consensus/manual-seal/Cargo.toml
index 59d35819c78..c69ed21fb3a 100644
--- a/substrate/client/consensus/manual-seal/Cargo.toml
+++ b/substrate/client/consensus/manual-seal/Cargo.toml
@@ -35,9 +35,9 @@ sp-blockchain = { path = "../../../primitives/blockchain", version = "4.0.0-dev"
 sp-consensus = { path = "../../../primitives/consensus/common", version = "0.10.0-dev" }
 sp-consensus-slots = { path = "../../../primitives/consensus/slots", version = "0.10.0-dev" }
 sp-inherents = { path = "../../../primitives/inherents", version = "4.0.0-dev" }
-sp-runtime = { path = "../../../primitives/runtime", version = "4.0.0-dev" }
+sp-runtime = { path = "../../../primitives/runtime", version = "4.0.0" }
 sp-core = { path = "../../../primitives/core", version = "4.1.0-dev" }
-sp-keystore = { path = "../../../primitives/keystore", version = "0.10.0-dev" }
+sp-keystore = { path = "../../../primitives/keystore", version = "0.10.0" }
 sp-api = { path = "../../../primitives/api", version = "4.0.0-dev" }
 sc-transaction-pool-api = { path = "../../../client/transaction-pool/api", version = "4.0.0-dev" }
 sp-timestamp = { path = "../../../primitives/timestamp", version = "4.0.0-dev" }
diff --git a/substrate/client/consensus/pow/Cargo.toml b/substrate/client/consensus/pow/Cargo.toml
index d4b156f0b8f..00ee58c2124 100644
--- a/substrate/client/consensus/pow/Cargo.toml
+++ b/substrate/client/consensus/pow/Cargo.toml
@@ -16,7 +16,7 @@ targets = ["x86_64-unknown-linux-gnu"]
 codec = { package = "parity-scale-codec", version = "2.0.0", features = ["derive"] }
 sp-core = { version = "4.1.0-dev", path = "../../../primitives/core" }
 sp-blockchain = { version = "4.0.0-dev", path = "../../../primitives/blockchain" }
-sp-runtime = { version = "4.0.0-dev", path = "../../../primitives/runtime" }
+sp-runtime = { version = "4.0.0", path = "../../../primitives/runtime" }
 sp-api = { version = "4.0.0-dev", path = "../../../primitives/api" }
 sc-client-api = { version = "4.0.0-dev", path = "../../api" }
 sp-block-builder = { version = "4.0.0-dev", path = "../../../primitives/block-builder" }
diff --git a/substrate/client/consensus/slots/Cargo.toml b/substrate/client/consensus/slots/Cargo.toml
index c97a3d1fe03..bf2bd59bb91 100644
--- a/substrate/client/consensus/slots/Cargo.toml
+++ b/substrate/client/consensus/slots/Cargo.toml
@@ -17,12 +17,12 @@ targets = ["x86_64-unknown-linux-gnu"]
 codec = { package = "parity-scale-codec", version = "2.0.0" }
 sc-client-api = { version = "4.0.0-dev", path = "../../api" }
 sp-core = { version = "4.1.0-dev", path = "../../../primitives/core" }
-sp-arithmetic = { version = "4.0.0-dev", path = "../../../primitives/arithmetic" }
+sp-arithmetic = { version = "4.0.0", path = "../../../primitives/arithmetic" }
 sp-blockchain = { version = "4.0.0-dev", path = "../../../primitives/blockchain" }
 sc-consensus = { version = "0.10.0-dev", path = "../../../client/consensus/common" }
 sp-consensus-slots = { version = "0.10.0-dev", path = "../../../primitives/consensus/slots" }
-sp-runtime = { version = "4.0.0-dev", path = "../../../primitives/runtime" }
-sp-state-machine = { version = "0.10.0-dev", path = "../../../primitives/state-machine" }
+sp-runtime = { version = "4.0.0", path = "../../../primitives/runtime" }
+sp-state-machine = { version = "0.10.0", path = "../../../primitives/state-machine" }
 sp-api = { version = "4.0.0-dev", path = "../../../primitives/api" }
 sc-telemetry = { version = "4.0.0-dev", path = "../../telemetry" }
 sp-consensus = { version = "0.10.0-dev", path = "../../../primitives/consensus/common" }
diff --git a/substrate/client/consensus/uncles/Cargo.toml b/substrate/client/consensus/uncles/Cargo.toml
index bc5f1f25838..346d3e34c01 100644
--- a/substrate/client/consensus/uncles/Cargo.toml
+++ b/substrate/client/consensus/uncles/Cargo.toml
@@ -14,6 +14,6 @@ targets = ["x86_64-unknown-linux-gnu"]
 
 [dependencies]
 sc-client-api = { version = "4.0.0-dev", path = "../../api" }
-sp-runtime = { version = "4.0.0-dev", path = "../../../primitives/runtime" }
+sp-runtime = { version = "4.0.0", path = "../../../primitives/runtime" }
 sp-authorship = { version = "4.0.0-dev", path = "../../../primitives/authorship" }
 thiserror = "1.0.30"
diff --git a/substrate/client/db/Cargo.toml b/substrate/client/db/Cargo.toml
index a2ed46c48e1..80ba026de3c 100644
--- a/substrate/client/db/Cargo.toml
+++ b/substrate/client/db/Cargo.toml
@@ -25,12 +25,12 @@ codec = { package = "parity-scale-codec", version = "2.0.0", features = [
 ] }
 
 sc-client-api = { version = "4.0.0-dev", path = "../api" }
-sp-arithmetic = { version = "4.0.0-dev", path = "../../primitives/arithmetic" }
+sp-arithmetic = { version = "4.0.0", path = "../../primitives/arithmetic" }
 sp-core = { version = "4.1.0-dev", path = "../../primitives/core" }
-sp-runtime = { version = "4.0.0-dev", path = "../../primitives/runtime" }
-sp-state-machine = { version = "0.10.0-dev", path = "../../primitives/state-machine" }
+sp-runtime = { version = "4.0.0", path = "../../primitives/runtime" }
+sp-state-machine = { version = "0.10.0", path = "../../primitives/state-machine" }
 sc-state-db = { version = "0.10.0-dev", path = "../state-db" }
-sp-trie = { version = "4.0.0-dev", path = "../../primitives/trie" }
+sp-trie = { version = "4.0.0", path = "../../primitives/trie" }
 sp-blockchain = { version = "4.0.0-dev", path = "../../primitives/blockchain" }
 sp-database = { version = "4.0.0-dev", path = "../../primitives/database" }
 parity-db = { version = "0.3.5", optional = true }
diff --git a/substrate/client/executor/Cargo.toml b/substrate/client/executor/Cargo.toml
index 377623512fa..a87a3829137 100644
--- a/substrate/client/executor/Cargo.toml
+++ b/substrate/client/executor/Cargo.toml
@@ -18,9 +18,9 @@ codec = { package = "parity-scale-codec", version = "2.0.0" }
 sp-io = { version = "4.0.0-dev", path = "../../primitives/io" }
 sp-core = { version = "4.1.0-dev", path = "../../primitives/core" }
 sp-tasks = { version = "4.0.0-dev", path = "../../primitives/tasks" }
-sp-trie = { version = "4.0.0-dev", path = "../../primitives/trie" }
+sp-trie = { version = "4.0.0", path = "../../primitives/trie" }
 sp-version = { version = "4.0.0-dev", path = "../../primitives/version" }
-sp-panic-handler = { version = "4.0.0-dev", path = "../../primitives/panic-handler" }
+sp-panic-handler = { version = "4.0.0", path = "../../primitives/panic-handler" }
 wasmi = "0.9.1"
 lazy_static = "1.4.0"
 sp-api = { version = "4.0.0-dev", path = "../../primitives/api" }
@@ -41,8 +41,8 @@ wat = "1.0"
 hex-literal = "0.3.4"
 sc-runtime-test = { version = "2.0.0", path = "runtime-test" }
 substrate-test-runtime = { version = "2.0.0", path = "../../test-utils/runtime" }
-sp-state-machine = { version = "0.10.0-dev", path = "../../primitives/state-machine" }
-sp-runtime = { version = "4.0.0-dev", path = "../../primitives/runtime" }
+sp-state-machine = { version = "0.10.0", path = "../../primitives/state-machine" }
+sp-runtime = { version = "4.0.0", path = "../../primitives/runtime" }
 sp-maybe-compressed-blob = { version = "4.1.0-dev", path = "../../primitives/maybe-compressed-blob" }
 sc-tracing = { version = "4.0.0-dev", path = "../tracing" }
 tracing = "0.1.29"
diff --git a/substrate/client/executor/runtime-test/Cargo.toml b/substrate/client/executor/runtime-test/Cargo.toml
index 4572a23c630..8fbaf2102ae 100644
--- a/substrate/client/executor/runtime-test/Cargo.toml
+++ b/substrate/client/executor/runtime-test/Cargo.toml
@@ -15,7 +15,7 @@ targets = ["x86_64-unknown-linux-gnu"]
 [dependencies]
 sp-core = { version = "4.1.0-dev", default-features = false, path = "../../../primitives/core" }
 sp-io = { version = "4.0.0-dev", default-features = false, path = "../../../primitives/io" }
-sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../../../primitives/runtime" }
+sp-runtime = { version = "4.0.0", default-features = false, path = "../../../primitives/runtime" }
 sp-sandbox = { version = "0.10.0-dev", default-features = false, path = "../../../primitives/sandbox" }
 sp-std = { version = "4.0.0", default-features = false, path = "../../../primitives/std" }
 sp-tasks = { version = "4.0.0-dev", default-features = false, path = "../../../primitives/tasks" }
diff --git a/substrate/client/executor/wasmtime/Cargo.toml b/substrate/client/executor/wasmtime/Cargo.toml
index 06f668ef67b..6718e6d13f3 100644
--- a/substrate/client/executor/wasmtime/Cargo.toml
+++ b/substrate/client/executor/wasmtime/Cargo.toml
@@ -32,5 +32,5 @@ wasmtime = { version = "0.31.0", default-features = false, features = [
 
 [dev-dependencies]
 sc-runtime-test = { version = "2.0.0", path = "../runtime-test" }
-sp-io = { version = "4.0.0-dev", path = "../../../primitives/io" }
+sp-io = { version = "4.0.0", path = "../../../primitives/io" }
 wat = "1.0"
diff --git a/substrate/client/finality-grandpa/Cargo.toml b/substrate/client/finality-grandpa/Cargo.toml
index 12aedbfe014..2ddd4f76516 100644
--- a/substrate/client/finality-grandpa/Cargo.toml
+++ b/substrate/client/finality-grandpa/Cargo.toml
@@ -24,14 +24,14 @@ log = "0.4.8"
 parking_lot = "0.11.1"
 rand = "0.8.4"
 parity-scale-codec = { version = "2.3.1", features = ["derive"] }
-sp-application-crypto = { version = "4.0.0-dev", path = "../../primitives/application-crypto" }
-sp-arithmetic = { version = "4.0.0-dev", path = "../../primitives/arithmetic" }
-sp-runtime = { version = "4.0.0-dev", path = "../../primitives/runtime" }
+sp-application-crypto = { version = "4.0.0", path = "../../primitives/application-crypto" }
+sp-arithmetic = { version = "4.0.0", path = "../../primitives/arithmetic" }
+sp-runtime = { version = "4.0.0", path = "../../primitives/runtime" }
 sc-utils = { version = "4.0.0-dev", path = "../utils" }
 sp-consensus = { version = "0.10.0-dev", path = "../../primitives/consensus/common" }
 sc-consensus = { version = "0.10.0-dev", path = "../consensus/common" }
 sp-core = { version = "4.1.0-dev", path = "../../primitives/core" }
-sp-keystore = { version = "0.10.0-dev", path = "../../primitives/keystore" }
+sp-keystore = { version = "0.10.0", path = "../../primitives/keystore" }
 sp-api = { version = "4.0.0-dev", path = "../../primitives/api" }
 sc-telemetry = { version = "4.0.0-dev", path = "../telemetry" }
 sc-keystore = { version = "4.0.0-dev", path = "../keystore" }
diff --git a/substrate/client/finality-grandpa/rpc/Cargo.toml b/substrate/client/finality-grandpa/rpc/Cargo.toml
index 9d0affde3b1..b923ec41d33 100644
--- a/substrate/client/finality-grandpa/rpc/Cargo.toml
+++ b/substrate/client/finality-grandpa/rpc/Cargo.toml
@@ -13,7 +13,7 @@ sc-finality-grandpa = { version = "0.10.0-dev", path = "../" }
 sc-rpc = { version = "4.0.0-dev", path = "../../rpc" }
 sp-blockchain = { version = "4.0.0-dev", path = "../../../primitives/blockchain" }
 sp-core = { version = "4.1.0-dev", path = "../../../primitives/core" }
-sp-runtime = { version = "4.0.0-dev", path = "../../../primitives/runtime" }
+sp-runtime = { version = "4.0.0", path = "../../../primitives/runtime" }
 finality-grandpa = { version = "0.14.4", features = ["derive-codec"] }
 jsonrpc-core = "18.0.0"
 jsonrpc-core-client = "18.0.0"
diff --git a/substrate/client/informant/Cargo.toml b/substrate/client/informant/Cargo.toml
index 5eba3ecaeb2..d6e9c655aad 100644
--- a/substrate/client/informant/Cargo.toml
+++ b/substrate/client/informant/Cargo.toml
@@ -21,5 +21,5 @@ parity-util-mem = { version = "0.10.2", default-features = false, features = ["p
 sc-client-api = { version = "4.0.0-dev", path = "../api" }
 sc-network = { version = "0.10.0-dev", path = "../network" }
 sp-blockchain = { version = "4.0.0-dev", path = "../../primitives/blockchain" }
-sp-runtime = { version = "4.0.0-dev", path = "../../primitives/runtime" }
+sp-runtime = { version = "4.0.0", path = "../../primitives/runtime" }
 sc-transaction-pool-api = { version = "4.0.0-dev", path = "../transaction-pool/api" }
diff --git a/substrate/client/keystore/Cargo.toml b/substrate/client/keystore/Cargo.toml
index 912de249ad0..abdd4ac372e 100644
--- a/substrate/client/keystore/Cargo.toml
+++ b/substrate/client/keystore/Cargo.toml
@@ -17,9 +17,9 @@ targets = ["x86_64-unknown-linux-gnu"]
 [dependencies]
 async-trait = "0.1.50"
 derive_more = "0.99.16"
-sp-application-crypto = { version = "4.0.0-dev", path = "../../primitives/application-crypto" }
+sp-application-crypto = { version = "4.0.0", path = "../../primitives/application-crypto" }
 sp-core = { version = "4.1.0-dev", path = "../../primitives/core" }
-sp-keystore = { version = "0.10.0-dev", path = "../../primitives/keystore" }
+sp-keystore = { version = "0.10.0", path = "../../primitives/keystore" }
 hex = "0.4.0"
 parking_lot = "0.11.1"
 serde_json = "1.0.71"
diff --git a/substrate/client/network-gossip/Cargo.toml b/substrate/client/network-gossip/Cargo.toml
index 840cb50c8c9..c90d1db44af 100644
--- a/substrate/client/network-gossip/Cargo.toml
+++ b/substrate/client/network-gossip/Cargo.toml
@@ -22,7 +22,7 @@ log = "0.4.8"
 lru = "0.7.0"
 prometheus-endpoint = { package = "substrate-prometheus-endpoint", version = "0.10.0-dev", path = "../../utils/prometheus" }
 sc-network = { version = "0.10.0-dev", path = "../network" }
-sp-runtime = { version = "4.0.0-dev", path = "../../primitives/runtime" }
+sp-runtime = { version = "4.0.0", path = "../../primitives/runtime" }
 tracing = "0.1.29"
 
 [dev-dependencies]
diff --git a/substrate/client/network/Cargo.toml b/substrate/client/network/Cargo.toml
index 5c8aedc84c1..95f84f493bb 100644
--- a/substrate/client/network/Cargo.toml
+++ b/substrate/client/network/Cargo.toml
@@ -49,12 +49,12 @@ sc-peerset = { version = "4.0.0-dev", path = "../peerset" }
 serde = { version = "1.0.126", features = ["derive"] }
 serde_json = "1.0.71"
 smallvec = "1.7.0"
-sp-arithmetic = { version = "4.0.0-dev", path = "../../primitives/arithmetic" }
+sp-arithmetic = { version = "4.0.0", path = "../../primitives/arithmetic" }
 sp-blockchain = { version = "4.0.0-dev", path = "../../primitives/blockchain" }
 sp-consensus = { version = "0.10.0-dev", path = "../../primitives/consensus/common" }
 sc-consensus = { version = "0.10.0-dev", path = "../consensus/common" }
 sp-core = { version = "4.1.0-dev", path = "../../primitives/core" }
-sp-runtime = { version = "4.0.0-dev", path = "../../primitives/runtime" }
+sp-runtime = { version = "4.0.0", path = "../../primitives/runtime" }
 sc-utils = { version = "4.0.0-dev", path = "../utils" }
 sp-finality-grandpa = { version = "4.0.0-dev", path = "../../primitives/finality-grandpa" }
 thiserror = "1"
diff --git a/substrate/client/network/test/Cargo.toml b/substrate/client/network/test/Cargo.toml
index 748037fef64..fd9e9e2f7ef 100644
--- a/substrate/client/network/test/Cargo.toml
+++ b/substrate/client/network/test/Cargo.toml
@@ -25,7 +25,7 @@ sp-consensus = { version = "0.10.0-dev", path = "../../../primitives/consensus/c
 sc-consensus = { version = "0.10.0-dev", path = "../../consensus/common" }
 sc-client-api = { version = "4.0.0-dev", path = "../../api" }
 sp-blockchain = { version = "4.0.0-dev", path = "../../../primitives/blockchain" }
-sp-runtime = { version = "4.0.0-dev", path = "../../../primitives/runtime" }
+sp-runtime = { version = "4.0.0", path = "../../../primitives/runtime" }
 sp-core = { version = "4.1.0-dev", path = "../../../primitives/core" }
 sc-block-builder = { version = "0.10.0-dev", path = "../../block-builder" }
 sp-consensus-babe = { version = "0.10.0-dev", path = "../../../primitives/consensus/babe" }
diff --git a/substrate/client/offchain/Cargo.toml b/substrate/client/offchain/Cargo.toml
index 4494beb2e3f..5ed182d6cfc 100644
--- a/substrate/client/offchain/Cargo.toml
+++ b/substrate/client/offchain/Cargo.toml
@@ -27,7 +27,7 @@ sc-network = { version = "0.10.0-dev", path = "../network" }
 sp-api = { version = "4.0.0-dev", path = "../../primitives/api" }
 sp-core = { version = "4.1.0-dev", path = "../../primitives/core" }
 sp-offchain = { version = "4.0.0-dev", path = "../../primitives/offchain" }
-sp-runtime = { version = "4.0.0-dev", path = "../../primitives/runtime" }
+sp-runtime = { version = "4.0.0", path = "../../primitives/runtime" }
 sc-utils = { version = "4.0.0-dev", path = "../utils" }
 threadpool = "1.7"
 hyper = { version = "0.14.14", features = ["stream", "http2"] }
diff --git a/substrate/client/rpc-api/Cargo.toml b/substrate/client/rpc-api/Cargo.toml
index 3c97677c3fe..18f499c5144 100644
--- a/substrate/client/rpc-api/Cargo.toml
+++ b/substrate/client/rpc-api/Cargo.toml
@@ -25,7 +25,7 @@ thiserror = "1.0"
 
 sp-core = { version = "4.1.0-dev", path = "../../primitives/core" }
 sp-version = { version = "4.0.0-dev", path = "../../primitives/version" }
-sp-runtime = { path = "../../primitives/runtime", version = "4.0.0-dev" }
+sp-runtime = { path = "../../primitives/runtime", version = "4.0.0" }
 sc-chain-spec = { path = "../chain-spec", version = "4.0.0-dev" }
 serde = { version = "1.0.126", features = ["derive"] }
 serde_json = "1.0.71"
diff --git a/substrate/client/rpc/Cargo.toml b/substrate/client/rpc/Cargo.toml
index 1f1fe6b12ae..707fbf75f7c 100644
--- a/substrate/client/rpc/Cargo.toml
+++ b/substrate/client/rpc/Cargo.toml
@@ -26,10 +26,10 @@ sp-version = { version = "4.0.0-dev", path = "../../primitives/version" }
 serde_json = "1.0.71"
 sp-session = { version = "4.0.0-dev", path = "../../primitives/session" }
 sp-offchain = { version = "4.0.0-dev", path = "../../primitives/offchain" }
-sp-runtime = { version = "4.0.0-dev", path = "../../primitives/runtime" }
+sp-runtime = { version = "4.0.0", path = "../../primitives/runtime" }
 sc-utils = { version = "4.0.0-dev", path = "../utils" }
 sp-rpc = { version = "4.0.0-dev", path = "../../primitives/rpc" }
-sp-keystore = { version = "0.10.0-dev", path = "../../primitives/keystore" }
+sp-keystore = { version = "0.10.0", path = "../../primitives/keystore" }
 sc-chain-spec = { version = "4.0.0-dev", path = "../chain-spec" }
 sc-block-builder = { version = "0.10.0-dev", path = "../block-builder" }
 sp-blockchain = { version = "4.0.0-dev", path = "../../primitives/blockchain" }
@@ -43,7 +43,7 @@ sc-transaction-pool-api = { version = "4.0.0-dev", path = "../transaction-pool/a
 assert_matches = "1.3.0"
 lazy_static = "1.4.0"
 sc-network = { version = "0.10.0-dev", path = "../network" }
-sp-io = { version = "4.0.0-dev", path = "../../primitives/io" }
+sp-io = { version = "4.0.0", path = "../../primitives/io" }
 substrate-test-runtime-client = { version = "2.0.0", path = "../../test-utils/runtime/client" }
 sc-transaction-pool = { version = "4.0.0-dev", path = "../transaction-pool" }
 sp-consensus = { version = "0.10.0-dev", path = "../../primitives/consensus/common" }
diff --git a/substrate/client/service/Cargo.toml b/substrate/client/service/Cargo.toml
index 25cd9026bc8..6d96cafec20 100644
--- a/substrate/client/service/Cargo.toml
+++ b/substrate/client/service/Cargo.toml
@@ -36,17 +36,17 @@ hash-db = "0.15.2"
 serde = "1.0.126"
 serde_json = "1.0.71"
 sc-keystore = { version = "4.0.0-dev", path = "../keystore" }
-sp-runtime = { version = "4.0.0-dev", path = "../../primitives/runtime" }
-sp-trie = { version = "4.0.0-dev", path = "../../primitives/trie" }
+sp-runtime = { version = "4.0.0", path = "../../primitives/runtime" }
+sp-trie = { version = "4.0.0", path = "../../primitives/trie" }
 sp-externalities = { version = "0.10.0", path = "../../primitives/externalities" }
 sc-utils = { version = "4.0.0-dev", path = "../utils" }
 sp-version = { version = "4.0.0-dev", path = "../../primitives/version" }
 sp-blockchain = { version = "4.0.0-dev", path = "../../primitives/blockchain" }
 sp-core = { version = "4.1.0-dev", path = "../../primitives/core" }
-sp-keystore = { version = "0.10.0-dev", path = "../../primitives/keystore" }
+sp-keystore = { version = "0.10.0", path = "../../primitives/keystore" }
 sp-session = { version = "4.0.0-dev", path = "../../primitives/session" }
-sp-state-machine = { version = "0.10.0-dev", path = "../../primitives/state-machine" }
-sp-application-crypto = { version = "4.0.0-dev", path = "../../primitives/application-crypto" }
+sp-state-machine = { version = "0.10.0", path = "../../primitives/state-machine" }
+sp-application-crypto = { version = "4.0.0", path = "../../primitives/application-crypto" }
 sp-consensus = { version = "0.10.0-dev", path = "../../primitives/consensus/common" }
 sc-consensus = { version = "0.10.0-dev", path = "../../client/consensus/common" }
 sp-inherents = { version = "4.0.0-dev", path = "../../primitives/inherents" }
diff --git a/substrate/client/service/test/Cargo.toml b/substrate/client/service/test/Cargo.toml
index 52f0ff6ecce..113ed0d0802 100644
--- a/substrate/client/service/test/Cargo.toml
+++ b/substrate/client/service/test/Cargo.toml
@@ -21,9 +21,9 @@ fdlimit = "0.2.1"
 parking_lot = "0.11.1"
 sp-blockchain = { version = "4.0.0-dev", path = "../../../primitives/blockchain" }
 sp-api = { version = "4.0.0-dev", path = "../../../primitives/api" }
-sp-state-machine = { version = "0.10.0-dev", path = "../../../primitives/state-machine" }
+sp-state-machine = { version = "0.10.0", path = "../../../primitives/state-machine" }
 sp-externalities = { version = "0.10.0", path = "../../../primitives/externalities" }
-sp-trie = { version = "4.0.0-dev", path = "../../../primitives/trie" }
+sp-trie = { version = "4.0.0", path = "../../../primitives/trie" }
 sp-storage = { version = "4.0.0", path = "../../../primitives/storage" }
 sc-client-db = { version = "0.10.0-dev", default-features = false, path = "../../db" }
 futures = "0.3.16"
@@ -31,7 +31,7 @@ sc-service = { version = "0.10.0-dev", features = ["test-helpers"], path = "../.
 sc-network = { version = "0.10.0-dev", path = "../../network" }
 sp-consensus = { version = "0.10.0-dev", path = "../../../primitives/consensus/common" }
 sc-consensus = { version = "0.10.0-dev", path = "../../../client/consensus/common" }
-sp-runtime = { version = "4.0.0-dev", path = "../../../primitives/runtime" }
+sp-runtime = { version = "4.0.0", path = "../../../primitives/runtime" }
 sp-core = { version = "4.1.0-dev", path = "../../../primitives/core" }
 sc-transaction-pool-api = { version = "4.0.0-dev", path = "../../../client/transaction-pool/api" }
 substrate-test-runtime = { version = "2.0.0", path = "../../../test-utils/runtime" }
@@ -39,6 +39,6 @@ substrate-test-runtime-client = { version = "2.0.0", path = "../../../test-utils
 sc-client-api = { version = "4.0.0-dev", path = "../../api" }
 sc-block-builder = { version = "0.10.0-dev", path = "../../block-builder" }
 sc-executor = { version = "0.10.0-dev", path = "../../executor" }
-sp-panic-handler = { version = "4.0.0-dev", path = "../../../primitives/panic-handler" }
+sp-panic-handler = { version = "4.0.0", path = "../../../primitives/panic-handler" }
 parity-scale-codec = "2.3.1"
 sp-tracing = { version = "4.0.0", path = "../../../primitives/tracing" }
diff --git a/substrate/client/sync-state-rpc/Cargo.toml b/substrate/client/sync-state-rpc/Cargo.toml
index c609ac42c76..a7b632b8180 100644
--- a/substrate/client/sync-state-rpc/Cargo.toml
+++ b/substrate/client/sync-state-rpc/Cargo.toml
@@ -26,5 +26,5 @@ sc-rpc-api = { version = "0.10.0-dev", path = "../rpc-api" }
 serde_json = "1.0.71"
 serde = { version = "1.0.126", features = ["derive"] }
 sp-blockchain = { version = "4.0.0-dev", path = "../../primitives/blockchain" }
-sp-runtime = { version = "4.0.0-dev", path = "../../primitives/runtime" }
+sp-runtime = { version = "4.0.0", path = "../../primitives/runtime" }
 codec = { package = "parity-scale-codec", version = "2.0.0" }
diff --git a/substrate/client/tracing/Cargo.toml b/substrate/client/tracing/Cargo.toml
index 4d91e61127d..137cab55461 100644
--- a/substrate/client/tracing/Cargo.toml
+++ b/substrate/client/tracing/Cargo.toml
@@ -30,7 +30,7 @@ tracing-log = "0.1.2"
 tracing-subscriber = { version = "0.2.25", features = ["parking_lot"] }
 sp-tracing = { version = "4.0.0", path = "../../primitives/tracing" }
 sp-rpc = { version = "4.0.0-dev", path = "../../primitives/rpc" }
-sp-runtime = { version = "4.0.0-dev", path = "../../primitives/runtime" }
+sp-runtime = { version = "4.0.0", path = "../../primitives/runtime" }
 sp-blockchain = { version = "4.0.0-dev", path = "../../primitives/blockchain" }
 sp-api = { version = "4.0.0-dev", path = "../../primitives/api" }
 sp-core = { version = "4.1.0-dev", path = "../../primitives/core" }
diff --git a/substrate/client/transaction-pool/Cargo.toml b/substrate/client/transaction-pool/Cargo.toml
index 6ed97edbf47..9aaaaa36a2c 100644
--- a/substrate/client/transaction-pool/Cargo.toml
+++ b/substrate/client/transaction-pool/Cargo.toml
@@ -24,7 +24,7 @@ prometheus-endpoint = { package = "substrate-prometheus-endpoint", path = "../..
 sc-client-api = { version = "4.0.0-dev", path = "../api" }
 sp-api = { version = "4.0.0-dev", path = "../../primitives/api" }
 sp-core = { version = "4.1.0-dev", path = "../../primitives/core" }
-sp-runtime = { version = "4.0.0-dev", path = "../../primitives/runtime" }
+sp-runtime = { version = "4.0.0", path = "../../primitives/runtime" }
 sp-tracing = { version = "4.0.0", path = "../../primitives/tracing" }
 sp-transaction-pool = { version = "4.0.0-dev", path = "../../primitives/transaction-pool" }
 sc-transaction-pool-api = { version = "4.0.0-dev", path = "./api" }
diff --git a/substrate/client/transaction-pool/api/Cargo.toml b/substrate/client/transaction-pool/api/Cargo.toml
index f44ec588e95..0c65234b0d6 100644
--- a/substrate/client/transaction-pool/api/Cargo.toml
+++ b/substrate/client/transaction-pool/api/Cargo.toml
@@ -13,7 +13,7 @@ futures = { version = "0.3.1"  }
 log = { version = "0.4.8" }
 serde = { version = "1.0.126", features = ["derive"] }
 thiserror = { version = "1.0.30" }
-sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../../../primitives/runtime" }
+sp-runtime = { version = "4.0.0", default-features = false, path = "../../../primitives/runtime" }
 
 derive_more = { version = "0.99.16" }
 sp-blockchain = { version = "4.0.0-dev", path = "../../../primitives/blockchain" }
diff --git a/substrate/frame/assets/Cargo.toml b/substrate/frame/assets/Cargo.toml
index 37ff7582f5c..c36200fb1ac 100644
--- a/substrate/frame/assets/Cargo.toml
+++ b/substrate/frame/assets/Cargo.toml
@@ -17,7 +17,7 @@ codec = { package = "parity-scale-codec", version = "2.0.0", default-features =
 scale-info = { version = "1.0", default-features = false, features = ["derive"] }
 sp-std = { version = "4.0.0", default-features = false, path = "../../primitives/std" }
 # Needed for various traits. In our case, `OnFinalize`.
-sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../../primitives/runtime" }
+sp-runtime = { version = "4.0.0", default-features = false, path = "../../primitives/runtime" }
 # Needed for type-safe access to storage DB.
 frame-support = { version = "4.0.0-dev", default-features = false, path = "../support" }
 # `system` module provides us with all sorts of useful stuff and macros depend on it being around.
@@ -27,7 +27,7 @@ frame-benchmarking = { version = "4.0.0-dev", default-features = false, path = "
 [dev-dependencies]
 sp-core = { version = "4.1.0-dev", path = "../../primitives/core" }
 sp-std = { version = "4.0.0", path = "../../primitives/std" }
-sp-io = { version = "4.0.0-dev", path = "../../primitives/io" }
+sp-io = { version = "4.0.0", path = "../../primitives/io" }
 pallet-balances = { version = "4.0.0-dev", path = "../balances" }
 
 [features]
diff --git a/substrate/frame/atomic-swap/Cargo.toml b/substrate/frame/atomic-swap/Cargo.toml
index 54e57955044..7a1415946e7 100644
--- a/substrate/frame/atomic-swap/Cargo.toml
+++ b/substrate/frame/atomic-swap/Cargo.toml
@@ -17,7 +17,7 @@ codec = { package = "parity-scale-codec", version = "2.0.0", default-features =
 scale-info = { version = "1.0", default-features = false, features = ["derive"] }
 frame-support = { version = "4.0.0-dev", default-features = false, path = "../support" }
 frame-system = { version = "4.0.0-dev", default-features = false, path = "../system" }
-sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../../primitives/runtime" }
+sp-runtime = { version = "4.0.0", default-features = false, path = "../../primitives/runtime" }
 sp-std = { version = "4.0.0", default-features = false, path = "../../primitives/std" }
 sp-io = { version = "4.0.0-dev", default-features = false, path = "../../primitives/io" }
 sp-core = { version = "4.1.0-dev", default-features = false, path = "../../primitives/core" }
diff --git a/substrate/frame/aura/Cargo.toml b/substrate/frame/aura/Cargo.toml
index 9ed07e724b3..34956b1116e 100644
--- a/substrate/frame/aura/Cargo.toml
+++ b/substrate/frame/aura/Cargo.toml
@@ -13,11 +13,11 @@ readme = "README.md"
 targets = ["x86_64-unknown-linux-gnu"]
 
 [dependencies]
-sp-application-crypto = { version = "4.0.0-dev", default-features = false, path = "../../primitives/application-crypto" }
+sp-application-crypto = { version = "4.0.0", default-features = false, path = "../../primitives/application-crypto" }
 codec = { package = "parity-scale-codec", version = "2.2.0", default-features = false, features = ["derive", "max-encoded-len"] }
 scale-info = { version = "1.0", default-features = false, features = ["derive"] }
 sp-std = { version = "4.0.0", default-features = false, path = "../../primitives/std" }
-sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../../primitives/runtime" }
+sp-runtime = { version = "4.0.0", default-features = false, path = "../../primitives/runtime" }
 frame-support = { version = "4.0.0-dev", default-features = false, path = "../support" }
 sp-consensus-aura = { version = "0.10.0-dev", path = "../../primitives/consensus/aura", default-features = false }
 frame-system = { version = "4.0.0-dev", default-features = false, path = "../system" }
diff --git a/substrate/frame/authority-discovery/Cargo.toml b/substrate/frame/authority-discovery/Cargo.toml
index 1a0f5925732..4cb40a0f266 100644
--- a/substrate/frame/authority-discovery/Cargo.toml
+++ b/substrate/frame/authority-discovery/Cargo.toml
@@ -14,7 +14,7 @@ targets = ["x86_64-unknown-linux-gnu"]
 
 [dependencies]
 sp-authority-discovery = { version = "4.0.0-dev", default-features = false, path = "../../primitives/authority-discovery" }
-sp-application-crypto = { version = "4.0.0-dev", default-features = false, path = "../../primitives/application-crypto" }
+sp-application-crypto = { version = "4.0.0", default-features = false, path = "../../primitives/application-crypto" }
 codec = { package = "parity-scale-codec", version = "2.0.0", default-features = false, features = [
 	"derive",
 ] }
@@ -23,7 +23,7 @@ sp-std = { version = "4.0.0", default-features = false, path = "../../primitives
 pallet-session = { version = "4.0.0-dev", features = [
 	"historical",
 ], path = "../session", default-features = false }
-sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../../primitives/runtime" }
+sp-runtime = { version = "4.0.0", default-features = false, path = "../../primitives/runtime" }
 frame-support = { version = "4.0.0-dev", default-features = false, path = "../support" }
 frame-system = { version = "4.0.0-dev", default-features = false, path = "../system" }
 
diff --git a/substrate/frame/authorship/Cargo.toml b/substrate/frame/authorship/Cargo.toml
index 2a0dc8bdd9a..77be81c082b 100644
--- a/substrate/frame/authorship/Cargo.toml
+++ b/substrate/frame/authorship/Cargo.toml
@@ -19,7 +19,7 @@ codec = { package = "parity-scale-codec", version = "2.0.0", default-features =
 scale-info = { version = "1.0", default-features = false, features = ["derive"] }
 sp-authorship = { version = "4.0.0-dev", default-features = false, path = "../../primitives/authorship" }
 sp-std = { version = "4.0.0", default-features = false, path = "../../primitives/std" }
-sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../../primitives/runtime" }
+sp-runtime = { version = "4.0.0", default-features = false, path = "../../primitives/runtime" }
 frame-support = { version = "4.0.0-dev", default-features = false, path = "../support" }
 frame-system = { version = "4.0.0-dev", default-features = false, path = "../system" }
 impl-trait-for-tuples = "0.2.1"
diff --git a/substrate/frame/babe/Cargo.toml b/substrate/frame/babe/Cargo.toml
index 414cfcb222d..5242de638c3 100644
--- a/substrate/frame/babe/Cargo.toml
+++ b/substrate/frame/babe/Cargo.toml
@@ -21,11 +21,11 @@ frame-system = { version = "4.0.0-dev", default-features = false, path = "../sys
 pallet-authorship = { version = "4.0.0-dev", default-features = false, path = "../authorship" }
 pallet-session = { version = "4.0.0-dev", default-features = false, path = "../session" }
 pallet-timestamp = { version = "4.0.0-dev", default-features = false, path = "../timestamp" }
-sp-application-crypto = { version = "4.0.0-dev", default-features = false, path = "../../primitives/application-crypto" }
+sp-application-crypto = { version = "4.0.0", default-features = false, path = "../../primitives/application-crypto" }
 sp-consensus-babe = { version = "0.10.0-dev", default-features = false, path = "../../primitives/consensus/babe" }
 sp-consensus-vrf = { version = "0.10.0-dev", default-features = false, path = "../../primitives/consensus/vrf" }
-sp-io = { version = "4.0.0-dev", default-features = false, path = "../../primitives/io" }
-sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../../primitives/runtime" }
+sp-io = { version = "4.0.0", default-features = false, path = "../../primitives/io" }
+sp-runtime = { version = "4.0.0", default-features = false, path = "../../primitives/runtime" }
 sp-session = { version = "4.0.0-dev", default-features = false, path = "../../primitives/session" }
 sp-staking = { version = "4.0.0-dev", default-features = false, path = "../../primitives/staking" }
 sp-std = { version = "4.0.0", default-features = false, path = "../../primitives/std" }
diff --git a/substrate/frame/bags-list/Cargo.toml b/substrate/frame/bags-list/Cargo.toml
index 66bb1c48a92..e5e746ad1b6 100644
--- a/substrate/frame/bags-list/Cargo.toml
+++ b/substrate/frame/bags-list/Cargo.toml
@@ -18,7 +18,7 @@ codec = { package = "parity-scale-codec", version = "2.0.0", default-features =
 scale-info = { version = "1.0", default-features = false, features = ["derive"] }
 
 # primitives
-sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../../primitives/runtime" }
+sp-runtime = { version = "4.0.0", default-features = false, path = "../../primitives/runtime" }
 sp-std = { version = "4.0.0", default-features = false, path = "../../primitives/std" }
 
 # FRAME
diff --git a/substrate/frame/bags-list/remote-tests/Cargo.toml b/substrate/frame/bags-list/remote-tests/Cargo.toml
index 646b47275c1..8e6a24674d0 100644
--- a/substrate/frame/bags-list/remote-tests/Cargo.toml
+++ b/substrate/frame/bags-list/remote-tests/Cargo.toml
@@ -24,7 +24,7 @@ frame-support = { path = "../../support", version = "4.0.0-dev" }
 sp-storage = { path = "../../../primitives/storage", version = "4.0.0" }
 sp-core = { path = "../../../primitives/core", version = "4.1.0-dev" }
 sp-tracing = { path = "../../../primitives/tracing", version = "4.0.0" }
-sp-runtime = { path = "../../../primitives/runtime", version = "4.0.0-dev" }
+sp-runtime = { path = "../../../primitives/runtime", version = "4.0.0" }
 sp-std = { path = "../../../primitives/std", version = "4.0.0" }
 
 # utils
diff --git a/substrate/frame/balances/Cargo.toml b/substrate/frame/balances/Cargo.toml
index 1ac7b71fb34..fdabb4132b1 100644
--- a/substrate/frame/balances/Cargo.toml
+++ b/substrate/frame/balances/Cargo.toml
@@ -16,7 +16,7 @@ targets = ["x86_64-unknown-linux-gnu"]
 codec = { package = "parity-scale-codec", version = "2.2.0", default-features = false, features = ["derive", "max-encoded-len"] }
 scale-info = { version = "1.0", default-features = false, features = ["derive"] }
 sp-std = { version = "4.0.0", default-features = false, path = "../../primitives/std" }
-sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../../primitives/runtime" }
+sp-runtime = { version = "4.0.0", default-features = false, path = "../../primitives/runtime" }
 frame-benchmarking = { version = "4.0.0-dev", default-features = false, path = "../benchmarking", optional = true }
 frame-support = { version = "4.0.0-dev", default-features = false, path = "../support" }
 frame-system = { version = "4.0.0-dev", default-features = false, path = "../system" }
diff --git a/substrate/frame/beefy-mmr/Cargo.toml b/substrate/frame/beefy-mmr/Cargo.toml
index 64cdf805db9..50c4fd3f7f3 100644
--- a/substrate/frame/beefy-mmr/Cargo.toml
+++ b/substrate/frame/beefy-mmr/Cargo.toml
@@ -23,7 +23,7 @@ pallet-session = { version = "4.0.0-dev", path = "../session", default-features
 
 sp-core = { version = "4.1.0-dev", path = "../../primitives/core", default-features = false }
 sp-io = { version = "4.0.0-dev", path = "../../primitives/io", default-features = false }
-sp-runtime = { version = "4.0.0-dev", path = "../../primitives/runtime", default-features = false }
+sp-runtime = { version = "4.0.0", path = "../../primitives/runtime", default-features = false }
 sp-std = { version = "4.0.0", path = "../../primitives/std", default-features = false }
 
 beefy-merkle-tree = { version = "4.0.0-dev", path = "./primitives", default-features = false }
diff --git a/substrate/frame/beefy/Cargo.toml b/substrate/frame/beefy/Cargo.toml
index c90f0d7328b..2f7059d5156 100644
--- a/substrate/frame/beefy/Cargo.toml
+++ b/substrate/frame/beefy/Cargo.toml
@@ -15,7 +15,7 @@ serde = { version = "1.0.130", optional = true }
 frame-support = { version = "4.0.0-dev", path = "../support", default-features = false }
 frame-system = { version = "4.0.0-dev", path = "../system", default-features = false }
 
-sp-runtime = { version = "4.0.0-dev", path = "../../primitives/runtime", default-features = false }
+sp-runtime = { version = "4.0.0", path = "../../primitives/runtime", default-features = false }
 sp-std = { version = "4.0.0", path = "../../primitives/std", default-features = false }
 
 pallet-session = { version = "4.0.0-dev", path = "../session", default-features = false }
diff --git a/substrate/frame/benchmarking/Cargo.toml b/substrate/frame/benchmarking/Cargo.toml
index 1e89c39be1c..d3dcf589e44 100644
--- a/substrate/frame/benchmarking/Cargo.toml
+++ b/substrate/frame/benchmarking/Cargo.toml
@@ -19,10 +19,10 @@ codec = { package = "parity-scale-codec", version = "2.0.0", default-features =
 scale-info = { version = "1.0", default-features = false, features = ["derive"] }
 sp-api = { version = "4.0.0-dev", path = "../../primitives/api", default-features = false }
 sp-runtime-interface = { version = "4.1.0-dev", path = "../../primitives/runtime-interface", default-features = false }
-sp-runtime = { version = "4.0.0-dev", path = "../../primitives/runtime", default-features = false }
+sp-runtime = { version = "4.0.0", path = "../../primitives/runtime", default-features = false }
 sp-std = { version = "4.0.0", path = "../../primitives/std", default-features = false }
-sp-io = { version = "4.0.0-dev", path = "../../primitives/io", default-features = false }
-sp-application-crypto = { version = "4.0.0-dev", path = "../../primitives/application-crypto", default-features = false }
+sp-io = { version = "4.0.0", path = "../../primitives/io", default-features = false }
+sp-application-crypto = { version = "4.0.0", path = "../../primitives/application-crypto", default-features = false }
 sp-storage = { version = "4.0.0", path = "../../primitives/storage", default-features = false }
 frame-support = { version = "4.0.0-dev", default-features = false, path = "../support" }
 frame-system = { version = "4.0.0-dev", default-features = false, path = "../system" }
@@ -30,7 +30,7 @@ log = { version = "0.4.14", default-features = false }
 
 [dev-dependencies]
 hex-literal = "0.3.4"
-sp-keystore = { version = "0.10.0-dev", path = "../../primitives/keystore" }
+sp-keystore = { version = "0.10.0", path = "../../primitives/keystore" }
 
 [features]
 default = ["std"]
diff --git a/substrate/frame/bounties/Cargo.toml b/substrate/frame/bounties/Cargo.toml
index 97364ba41f6..2e328e19b8e 100644
--- a/substrate/frame/bounties/Cargo.toml
+++ b/substrate/frame/bounties/Cargo.toml
@@ -18,11 +18,11 @@ codec = { package = "parity-scale-codec", version = "2.0.0", default-features =
 ] }
 scale-info = { version = "1.0", default-features = false, features = ["derive"] }
 sp-std = { version = "4.0.0", default-features = false, path = "../../primitives/std" }
-sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../../primitives/runtime" }
+sp-runtime = { version = "4.0.0", default-features = false, path = "../../primitives/runtime" }
 frame-support = { version = "4.0.0-dev", default-features = false, path = "../support" }
 frame-system = { version = "4.0.0-dev", default-features = false, path = "../system" }
 pallet-treasury = { version = "4.0.0-dev", default-features = false, path = "../treasury" }
-sp-io = { version = "4.0.0-dev", path = "../../primitives/io", default-features = false }
+sp-io = { version = "4.0.0", path = "../../primitives/io", default-features = false }
 sp-core = { version = "4.1.0-dev", path = "../../primitives/core", default-features = false }
 frame-benchmarking = { version = "4.0.0-dev", default-features = false, path = "../benchmarking", optional = true }
 log = { version = "0.4.14", default-features = false }
diff --git a/substrate/frame/child-bounties/Cargo.toml b/substrate/frame/child-bounties/Cargo.toml
index 17cfc482af0..fcd8e839fb1 100644
--- a/substrate/frame/child-bounties/Cargo.toml
+++ b/substrate/frame/child-bounties/Cargo.toml
@@ -18,7 +18,7 @@ codec = { package = "parity-scale-codec", version = "2.0.0", default-features =
 ] }
 scale-info = { version = "1.0", default-features = false, features = ["derive"] }
 sp-std = { version = "4.0.0", default-features = false, path = "../../primitives/std" }
-sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../../primitives/runtime" }
+sp-runtime = { version = "4.0.0", default-features = false, path = "../../primitives/runtime" }
 frame-support = { version = "4.0.0-dev", default-features = false, path = "../support" }
 frame-system = { version = "4.0.0-dev", default-features = false, path = "../system" }
 pallet-treasury = { version = "4.0.0-dev", default-features = false, path = "../treasury" }
diff --git a/substrate/frame/collective/Cargo.toml b/substrate/frame/collective/Cargo.toml
index 6d3b081c89c..cc17a6d7ce6 100644
--- a/substrate/frame/collective/Cargo.toml
+++ b/substrate/frame/collective/Cargo.toml
@@ -19,7 +19,7 @@ scale-info = { version = "1.0", default-features = false, features = ["derive"]
 
 sp-core = { version = "4.1.0-dev", default-features = false, path = "../../primitives/core" }
 sp-io = { version = "4.0.0-dev", default-features = false, path = "../../primitives/io" }
-sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../../primitives/runtime" }
+sp-runtime = { version = "4.0.0", default-features = false, path = "../../primitives/runtime" }
 sp-std = { version = "4.0.0", default-features = false, path = "../../primitives/std" }
 
 frame-benchmarking = { version = "4.0.0-dev", default-features = false, path = "../benchmarking", optional = true }
diff --git a/substrate/frame/contracts/Cargo.toml b/substrate/frame/contracts/Cargo.toml
index 963f1466a9e..4067148e13e 100644
--- a/substrate/frame/contracts/Cargo.toml
+++ b/substrate/frame/contracts/Cargo.toml
@@ -40,7 +40,7 @@ pallet-contracts-primitives = { version = "4.0.0-dev", default-features = false,
 pallet-contracts-proc-macro = { version = "4.0.0-dev", path = "proc-macro" }
 sp-core = { version = "4.1.0-dev", default-features = false, path = "../../primitives/core" }
 sp-io = { version = "4.0.0-dev", default-features = false, path = "../../primitives/io" }
-sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../../primitives/runtime" }
+sp-runtime = { version = "4.0.0", default-features = false, path = "../../primitives/runtime" }
 sp-sandbox = { version = "0.10.0-dev", default-features = false, path = "../../primitives/sandbox" }
 sp-std = { version = "4.0.0", default-features = false, path = "../../primitives/std" }
 
diff --git a/substrate/frame/contracts/common/Cargo.toml b/substrate/frame/contracts/common/Cargo.toml
index 0e0cf1528b1..2b565b4c9e2 100644
--- a/substrate/frame/contracts/common/Cargo.toml
+++ b/substrate/frame/contracts/common/Cargo.toml
@@ -22,7 +22,7 @@ serde = { version = "1", features = ["derive"], optional = true }
 sp-core = { version = "4.1.0-dev", path = "../../../primitives/core", default-features = false }
 sp-std = { version = "4.0.0", default-features = false, path = "../../../primitives/std" }
 sp-rpc = { version = "4.0.0-dev", path = "../../../primitives/rpc", optional = true }
-sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../../../primitives/runtime" }
+sp-runtime = { version = "4.0.0", default-features = false, path = "../../../primitives/runtime" }
 
 [features]
 default = ["std"]
diff --git a/substrate/frame/contracts/rpc/Cargo.toml b/substrate/frame/contracts/rpc/Cargo.toml
index e380708a9de..51a512277c5 100644
--- a/substrate/frame/contracts/rpc/Cargo.toml
+++ b/substrate/frame/contracts/rpc/Cargo.toml
@@ -26,7 +26,7 @@ sp-api = { version = "4.0.0-dev", path = "../../../primitives/api" }
 sp-blockchain = { version = "4.0.0-dev", path = "../../../primitives/blockchain" }
 sp-core = { version = "4.1.0-dev", path = "../../../primitives/core" }
 sp-rpc = { version = "4.0.0-dev", path = "../../../primitives/rpc" }
-sp-runtime = { version = "4.0.0-dev", path = "../../../primitives/runtime" }
+sp-runtime = { version = "4.0.0", path = "../../../primitives/runtime" }
 
 [dev-dependencies]
 serde_json = "1"
diff --git a/substrate/frame/contracts/rpc/runtime-api/Cargo.toml b/substrate/frame/contracts/rpc/runtime-api/Cargo.toml
index 2c293b3a906..c7251306192 100644
--- a/substrate/frame/contracts/rpc/runtime-api/Cargo.toml
+++ b/substrate/frame/contracts/rpc/runtime-api/Cargo.toml
@@ -19,7 +19,7 @@ scale-info = { version = "1.0", default-features = false, features = ["derive"]
 # Substrate Dependencies
 pallet-contracts-primitives = { version = "4.0.0-dev", default-features = false, path = "../../common" }
 sp-api = { version = "4.0.0-dev", default-features = false, path = "../../../../primitives/api" }
-sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../../../../primitives/runtime" }
+sp-runtime = { version = "4.0.0", default-features = false, path = "../../../../primitives/runtime" }
 sp-std = { version = "4.0.0", default-features = false, path = "../../../../primitives/std" }
 
 [features]
diff --git a/substrate/frame/democracy/Cargo.toml b/substrate/frame/democracy/Cargo.toml
index 32acdb964ed..b1b84d9ad03 100644
--- a/substrate/frame/democracy/Cargo.toml
+++ b/substrate/frame/democracy/Cargo.toml
@@ -19,8 +19,8 @@ codec = { package = "parity-scale-codec", version = "2.0.0", default-features =
 ] }
 scale-info = { version = "1.0", default-features = false, features = ["derive"] }
 sp-std = { version = "4.0.0", default-features = false, path = "../../primitives/std" }
-sp-io = { version = "4.0.0-dev", default-features = false, path = "../../primitives/io" }
-sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../../primitives/runtime" }
+sp-io = { version = "4.0.0", default-features = false, path = "../../primitives/io" }
+sp-runtime = { version = "4.0.0", default-features = false, path = "../../primitives/runtime" }
 frame-benchmarking = { version = "4.0.0-dev", default-features = false, path = "../benchmarking", optional = true }
 frame-support = { version = "4.0.0-dev", default-features = false, path = "../support" }
 frame-system = { version = "4.0.0-dev", default-features = false, path = "../system" }
diff --git a/substrate/frame/election-provider-multi-phase/Cargo.toml b/substrate/frame/election-provider-multi-phase/Cargo.toml
index a1df7edc133..72ec62f321c 100644
--- a/substrate/frame/election-provider-multi-phase/Cargo.toml
+++ b/substrate/frame/election-provider-multi-phase/Cargo.toml
@@ -23,12 +23,12 @@ log = { version = "0.4.14", default-features = false }
 frame-support = { version = "4.0.0-dev", default-features = false, path = "../support" }
 frame-system = { version = "4.0.0-dev", default-features = false, path = "../system" }
 
-sp-io = { version = "4.0.0-dev", default-features = false, path = "../../primitives/io" }
+sp-io = { version = "4.0.0", default-features = false, path = "../../primitives/io" }
 sp-std = { version = "4.0.0", default-features = false, path = "../../primitives/std" }
 sp-core = { version = "4.1.0-dev", default-features = false, path = "../../primitives/core" }
-sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../../primitives/runtime" }
+sp-runtime = { version = "4.0.0", default-features = false, path = "../../primitives/runtime" }
 sp-npos-elections = { version = "4.0.0-dev", default-features = false, path = "../../primitives/npos-elections" }
-sp-arithmetic = { version = "4.0.0-dev", default-features = false, path = "../../primitives/arithmetic" }
+sp-arithmetic = { version = "4.0.0", default-features = false, path = "../../primitives/arithmetic" }
 frame-election-provider-support = { version = "4.0.0-dev", default-features = false, path = "../election-provider-support" }
 
 # Optional imports for benchmarking
diff --git a/substrate/frame/election-provider-support/Cargo.toml b/substrate/frame/election-provider-support/Cargo.toml
index 80b7f9d7bfc..8fabefa7a12 100644
--- a/substrate/frame/election-provider-support/Cargo.toml
+++ b/substrate/frame/election-provider-support/Cargo.toml
@@ -16,14 +16,14 @@ targets = ["x86_64-unknown-linux-gnu"]
 codec = { package = "parity-scale-codec", version = "2.0.0", default-features = false, features = ["derive"] }
 scale-info = { version = "1.0", default-features = false, features = ["derive"] }
 sp-std = { version = "4.0.0", default-features = false, path = "../../primitives/std" }
-sp-arithmetic = { version = "4.0.0-dev", default-features = false, path = "../../primitives/arithmetic" }
+sp-arithmetic = { version = "4.0.0", default-features = false, path = "../../primitives/arithmetic" }
 sp-npos-elections = { version = "4.0.0-dev", default-features = false, path = "../../primitives/npos-elections" }
 frame-support = { version = "4.0.0-dev", default-features = false, path = "../support" }
 frame-system = { version = "4.0.0-dev", default-features = false, path = "../system" }
 
 [dev-dependencies]
 sp-npos-elections = { version = "4.0.0-dev", path = "../../primitives/npos-elections" }
-sp-runtime = { version = "4.0.0-dev", path = "../../primitives/runtime" }
+sp-runtime = { version = "4.0.0", path = "../../primitives/runtime" }
 sp-core = { version = "4.1.0-dev", path = "../../primitives/core" }
 sp-io = { version = "4.0.0-dev", path = "../../primitives/io" }
 
diff --git a/substrate/frame/elections-phragmen/Cargo.toml b/substrate/frame/elections-phragmen/Cargo.toml
index 7ab81a4f330..bcf91ac5c73 100644
--- a/substrate/frame/elections-phragmen/Cargo.toml
+++ b/substrate/frame/elections-phragmen/Cargo.toml
@@ -17,9 +17,9 @@ codec = { package = "parity-scale-codec", version = "2.0.0", default-features =
 	"derive",
 ] }
 scale-info = { version = "1.0", default-features = false, features = ["derive"] }
-sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../../primitives/runtime" }
+sp-runtime = { version = "4.0.0", default-features = false, path = "../../primitives/runtime" }
 sp-npos-elections = { version = "4.0.0-dev", default-features = false, path = "../../primitives/npos-elections" }
-sp-io = { version = "4.0.0-dev", default-features = false, path = "../../primitives/io" }
+sp-io = { version = "4.0.0", default-features = false, path = "../../primitives/io" }
 frame-support = { version = "4.0.0-dev", default-features = false, path = "../support" }
 frame-system = { version = "4.0.0-dev", default-features = false, path = "../system" }
 sp-std = { version = "4.0.0", default-features = false, path = "../../primitives/std" }
diff --git a/substrate/frame/examples/basic/Cargo.toml b/substrate/frame/examples/basic/Cargo.toml
index db39d339f2c..48f50544488 100644
--- a/substrate/frame/examples/basic/Cargo.toml
+++ b/substrate/frame/examples/basic/Cargo.toml
@@ -21,8 +21,8 @@ frame-benchmarking = { version = "4.0.0-dev", default-features = false, path = "
 frame-support = { version = "4.0.0-dev", default-features = false, path = "../../support" }
 frame-system = { version = "4.0.0-dev", default-features = false, path = "../../system" }
 pallet-balances = { version = "4.0.0-dev", default-features = false, path = "../../balances" }
-sp-io = { version = "4.0.0-dev", default-features = false, path = "../../../primitives/io" }
-sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../../../primitives/runtime" }
+sp-io = { version = "4.0.0", default-features = false, path = "../../../primitives/io" }
+sp-runtime = { version = "4.0.0", default-features = false, path = "../../../primitives/runtime" }
 sp-std = { version = "4.0.0", default-features = false, path = "../../../primitives/std" }
 
 [dev-dependencies]
diff --git a/substrate/frame/examples/offchain-worker/Cargo.toml b/substrate/frame/examples/offchain-worker/Cargo.toml
index f53ea369278..6152b2ca95e 100644
--- a/substrate/frame/examples/offchain-worker/Cargo.toml
+++ b/substrate/frame/examples/offchain-worker/Cargo.toml
@@ -22,8 +22,8 @@ frame-support = { version = "4.0.0-dev", default-features = false, path = "../..
 frame-system = { version = "4.0.0-dev", default-features = false, path = "../../system" }
 sp-core = { version = "4.1.0-dev", default-features = false, path = "../../../primitives/core" }
 sp-io = { version = "4.0.0-dev", default-features = false, path = "../../../primitives/io" }
-sp-keystore = { version = "0.10.0-dev", path = "../../../primitives/keystore", optional = true }
-sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../../../primitives/runtime" }
+sp-keystore = { version = "0.10.0", path = "../../../primitives/keystore", optional = true }
+sp-runtime = { version = "4.0.0", default-features = false, path = "../../../primitives/runtime" }
 sp-std = { version = "4.0.0", default-features = false, path = "../../../primitives/std" }
 
 [features]
diff --git a/substrate/frame/examples/parallel/Cargo.toml b/substrate/frame/examples/parallel/Cargo.toml
index d28dd5b9ee0..94c18b6c982 100644
--- a/substrate/frame/examples/parallel/Cargo.toml
+++ b/substrate/frame/examples/parallel/Cargo.toml
@@ -19,7 +19,7 @@ frame-support = { version = "4.0.0-dev", default-features = false, path = "../..
 frame-system = { version = "4.0.0-dev", default-features = false, path = "../../system" }
 sp-core = { version = "4.1.0-dev", default-features = false, path = "../../../primitives/core" }
 sp-io = { version = "4.0.0-dev", default-features = false, path = "../../../primitives/io" }
-sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../../../primitives/runtime" }
+sp-runtime = { version = "4.0.0", default-features = false, path = "../../../primitives/runtime" }
 sp-std = { version = "4.0.0", default-features = false, path = "../../../primitives/std" }
 sp-tasks = { version = "4.0.0-dev", default-features = false, path = "../../../primitives/tasks" }
 
diff --git a/substrate/frame/executive/Cargo.toml b/substrate/frame/executive/Cargo.toml
index d511bb858c7..02cb2b22b38 100644
--- a/substrate/frame/executive/Cargo.toml
+++ b/substrate/frame/executive/Cargo.toml
@@ -19,7 +19,7 @@ codec = { package = "parity-scale-codec", version = "2.0.0", default-features =
 scale-info = { version = "1.0", default-features = false, features = ["derive"] }
 frame-support = { version = "4.0.0-dev", default-features = false, path = "../support" }
 frame-system = { version = "4.0.0-dev", default-features = false, path = "../system" }
-sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../../primitives/runtime" }
+sp-runtime = { version = "4.0.0", default-features = false, path = "../../primitives/runtime" }
 sp-tracing = { version = "4.0.0", default-features = false, path = "../../primitives/tracing" }
 sp-std = { version = "4.0.0", default-features = false, path = "../../primitives/std" }
 sp-io = { version = "4.0.0-dev", default-features = false, path = "../../primitives/io" }
diff --git a/substrate/frame/gilt/Cargo.toml b/substrate/frame/gilt/Cargo.toml
index 05e252627b2..39b9fb55829 100644
--- a/substrate/frame/gilt/Cargo.toml
+++ b/substrate/frame/gilt/Cargo.toml
@@ -16,8 +16,8 @@ targets = ["x86_64-unknown-linux-gnu"]
 codec = { package = "parity-scale-codec", version = "2.0.0", default-features = false, features = ["derive"] }
 scale-info = { version = "1.0", default-features = false, features = ["derive"] }
 sp-std = { version = "4.0.0", default-features = false, path = "../../primitives/std" }
-sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../../primitives/runtime" }
-sp-arithmetic = { version = "4.0.0-dev", default-features = false, path = "../../primitives/arithmetic" }
+sp-runtime = { version = "4.0.0", default-features = false, path = "../../primitives/runtime" }
+sp-arithmetic = { version = "4.0.0", default-features = false, path = "../../primitives/arithmetic" }
 frame-benchmarking = { version = "4.0.0-dev", default-features = false, path = "../benchmarking", optional = true }
 frame-support = { version = "4.0.0-dev", default-features = false, path = "../support" }
 frame-system = { version = "4.0.0-dev", default-features = false, path = "../system" }
diff --git a/substrate/frame/grandpa/Cargo.toml b/substrate/frame/grandpa/Cargo.toml
index 601ec9aee10..f123fdbb61e 100644
--- a/substrate/frame/grandpa/Cargo.toml
+++ b/substrate/frame/grandpa/Cargo.toml
@@ -15,13 +15,13 @@ targets = ["x86_64-unknown-linux-gnu"]
 [dependencies]
 codec = { package = "parity-scale-codec", version = "2.0.0", default-features = false, features = ["derive"] }
 scale-info = { version = "1.0", default-features = false, features = ["derive"] }
-sp-application-crypto = { version = "4.0.0-dev", default-features = false, path = "../../primitives/application-crypto" }
+sp-application-crypto = { version = "4.0.0", default-features = false, path = "../../primitives/application-crypto" }
 sp-core = { version = "4.1.0-dev", default-features = false, path = "../../primitives/core" }
 sp-finality-grandpa = { version = "4.0.0-dev", default-features = false, path = "../../primitives/finality-grandpa" }
-sp-io = { version = "4.0.0-dev", default-features = false, path = "../../primitives/io" }
+sp-io = { version = "4.0.0", default-features = false, path = "../../primitives/io" }
 sp-session = { version = "4.0.0-dev", default-features = false, path = "../../primitives/session" }
 sp-std = { version = "4.0.0", default-features = false, path = "../../primitives/std" }
-sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../../primitives/runtime" }
+sp-runtime = { version = "4.0.0", default-features = false, path = "../../primitives/runtime" }
 sp-staking = { version = "4.0.0-dev", default-features = false, path = "../../primitives/staking" }
 frame-benchmarking = { version = "4.0.0-dev", default-features = false, path = "../benchmarking", optional = true }
 frame-support = { version = "4.0.0-dev", default-features = false, path = "../support" }
diff --git a/substrate/frame/identity/Cargo.toml b/substrate/frame/identity/Cargo.toml
index 76a187f90c5..32e62d8aec0 100644
--- a/substrate/frame/identity/Cargo.toml
+++ b/substrate/frame/identity/Cargo.toml
@@ -17,8 +17,8 @@ codec = { package = "parity-scale-codec", version = "2.2.0", default-features =
 scale-info = { version = "1.0", default-features = false, features = ["derive"] }
 enumflags2 = { version = "0.6.2" }
 sp-std = { version = "4.0.0", default-features = false, path = "../../primitives/std" }
-sp-io = { version = "4.0.0-dev", default-features = false, path = "../../primitives/io" }
-sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../../primitives/runtime" }
+sp-io = { version = "4.0.0", default-features = false, path = "../../primitives/io" }
+sp-runtime = { version = "4.0.0", default-features = false, path = "../../primitives/runtime" }
 frame-benchmarking = { version = "4.0.0-dev", default-features = false, path = "../benchmarking", optional = true }
 frame-support = { version = "4.0.0-dev", default-features = false, path = "../support" }
 frame-system = { version = "4.0.0-dev", default-features = false, path = "../system" }
diff --git a/substrate/frame/im-online/Cargo.toml b/substrate/frame/im-online/Cargo.toml
index fdafc5376ad..dc839d0d1f9 100644
--- a/substrate/frame/im-online/Cargo.toml
+++ b/substrate/frame/im-online/Cargo.toml
@@ -13,14 +13,14 @@ readme = "README.md"
 targets = ["x86_64-unknown-linux-gnu"]
 
 [dependencies]
-sp-application-crypto = { version = "4.0.0-dev", default-features = false, path = "../../primitives/application-crypto" }
+sp-application-crypto = { version = "4.0.0", default-features = false, path = "../../primitives/application-crypto" }
 pallet-authorship = { version = "4.0.0-dev", default-features = false, path = "../authorship" }
 codec = { package = "parity-scale-codec", version = "2.0.0", default-features = false, features = ["derive"] }
 scale-info = { version = "1.0", default-features = false, features = ["derive"] }
 sp-core = { version = "4.1.0-dev", default-features = false, path = "../../primitives/core" }
 sp-std = { version = "4.0.0", default-features = false, path = "../../primitives/std" }
-sp-io = { version = "4.0.0-dev", default-features = false, path = "../../primitives/io" }
-sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../../primitives/runtime" }
+sp-io = { version = "4.0.0", default-features = false, path = "../../primitives/io" }
+sp-runtime = { version = "4.0.0", default-features = false, path = "../../primitives/runtime" }
 sp-staking = { version = "4.0.0-dev", default-features = false, path = "../../primitives/staking" }
 frame-support = { version = "4.0.0-dev", default-features = false, path = "../support" }
 frame-system = { version = "4.0.0-dev", default-features = false, path = "../system" }
diff --git a/substrate/frame/indices/Cargo.toml b/substrate/frame/indices/Cargo.toml
index cd3957a45f8..da56606ed2f 100644
--- a/substrate/frame/indices/Cargo.toml
+++ b/substrate/frame/indices/Cargo.toml
@@ -18,7 +18,7 @@ scale-info = { version = "1.0", default-features = false, features = ["derive"]
 sp-keyring = { version = "4.0.0-dev", optional = true, path = "../../primitives/keyring" }
 sp-std = { version = "4.0.0", default-features = false, path = "../../primitives/std" }
 sp-io = { version = "4.0.0-dev", default-features = false, path = "../../primitives/io" }
-sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../../primitives/runtime" }
+sp-runtime = { version = "4.0.0", default-features = false, path = "../../primitives/runtime" }
 sp-core = { version = "4.1.0-dev", default-features = false, path = "../../primitives/core" }
 frame-support = { version = "4.0.0-dev", default-features = false, path = "../support" }
 frame-system = { version = "4.0.0-dev", default-features = false, path = "../system" }
diff --git a/substrate/frame/lottery/Cargo.toml b/substrate/frame/lottery/Cargo.toml
index 259be8267fe..9f31f801734 100644
--- a/substrate/frame/lottery/Cargo.toml
+++ b/substrate/frame/lottery/Cargo.toml
@@ -18,7 +18,7 @@ codec = { package = "parity-scale-codec", version = "2.0.0", default-features =
 ] }
 scale-info = { version = "1.0", default-features = false, features = ["derive"] }
 sp-std = { version = "4.0.0", default-features = false, path = "../../primitives/std" }
-sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../../primitives/runtime" }
+sp-runtime = { version = "4.0.0", default-features = false, path = "../../primitives/runtime" }
 frame-support = { version = "4.0.0-dev", default-features = false, path = "../support" }
 frame-system = { version = "4.0.0-dev", default-features = false, path = "../system" }
 
diff --git a/substrate/frame/membership/Cargo.toml b/substrate/frame/membership/Cargo.toml
index d0567a3eeb1..fc0d44c7665 100644
--- a/substrate/frame/membership/Cargo.toml
+++ b/substrate/frame/membership/Cargo.toml
@@ -19,7 +19,7 @@ log = { version = "0.4.0", default-features = false }
 
 sp-core = { version = "4.1.0-dev", default-features = false, path = "../../primitives/core" }
 sp-io = { version = "4.0.0-dev", default-features = false, path = "../../primitives/io" }
-sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../../primitives/runtime" }
+sp-runtime = { version = "4.0.0", default-features = false, path = "../../primitives/runtime" }
 sp-std = { version = "4.0.0", default-features = false, path = "../../primitives/std" }
 
 frame-benchmarking = { version = "4.0.0-dev", default-features = false, path = "../benchmarking", optional = true }
diff --git a/substrate/frame/merkle-mountain-range/Cargo.toml b/substrate/frame/merkle-mountain-range/Cargo.toml
index fd6615a4b54..10476e9a73d 100644
--- a/substrate/frame/merkle-mountain-range/Cargo.toml
+++ b/substrate/frame/merkle-mountain-range/Cargo.toml
@@ -18,7 +18,7 @@ mmr-lib = { package = "ckb-merkle-mountain-range", default-features = false, ver
 
 sp-core = { version = "4.1.0-dev", default-features = false, path = "../../primitives/core" }
 sp-io = { version = "4.0.0-dev", default-features = false, path = "../../primitives/io" }
-sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../../primitives/runtime" }
+sp-runtime = { version = "4.0.0", default-features = false, path = "../../primitives/runtime" }
 sp-std = { version = "4.0.0", default-features = false, path = "../../primitives/std" }
 
 frame-benchmarking = { version = "4.0.0-dev", default-features = false, path = "../benchmarking", optional = true }
diff --git a/substrate/frame/merkle-mountain-range/primitives/Cargo.toml b/substrate/frame/merkle-mountain-range/primitives/Cargo.toml
index 0d11e50a8b6..713da64e26d 100644
--- a/substrate/frame/merkle-mountain-range/primitives/Cargo.toml
+++ b/substrate/frame/merkle-mountain-range/primitives/Cargo.toml
@@ -18,7 +18,7 @@ serde = { version = "1.0.126", optional = true, features = ["derive"] }
 
 sp-api = { version = "4.0.0-dev", default-features = false, path = "../../../primitives/api" }
 sp-core = { version = "4.1.0-dev", default-features = false, path = "../../../primitives/core" }
-sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../../../primitives/runtime" }
+sp-runtime = { version = "4.0.0", default-features = false, path = "../../../primitives/runtime" }
 sp-std = { version = "4.0.0", default-features = false, path = "../../../primitives/std" }
 
 frame-support = { version = "4.0.0-dev", default-features = false, path = "../../support" }
diff --git a/substrate/frame/merkle-mountain-range/rpc/Cargo.toml b/substrate/frame/merkle-mountain-range/rpc/Cargo.toml
index 7283a4fac8b..13d60142dfc 100644
--- a/substrate/frame/merkle-mountain-range/rpc/Cargo.toml
+++ b/substrate/frame/merkle-mountain-range/rpc/Cargo.toml
@@ -22,7 +22,7 @@ serde = { version = "1.0.126", features = ["derive"] }
 sp-api = { version = "4.0.0-dev", path = "../../../primitives/api" }
 sp-blockchain = { version = "4.0.0-dev", path = "../../../primitives/blockchain" }
 sp-core = { version = "4.1.0-dev", path = "../../../primitives/core" }
-sp-runtime = { version = "4.0.0-dev", path = "../../../primitives/runtime" }
+sp-runtime = { version = "4.0.0", path = "../../../primitives/runtime" }
 
 pallet-mmr-primitives = { version = "4.0.0-dev", path = "../primitives" }
 
diff --git a/substrate/frame/multisig/Cargo.toml b/substrate/frame/multisig/Cargo.toml
index d01dd58a2f3..d1c8d8c60c2 100644
--- a/substrate/frame/multisig/Cargo.toml
+++ b/substrate/frame/multisig/Cargo.toml
@@ -17,9 +17,9 @@ codec = { package = "parity-scale-codec", version = "2.0.0", default-features =
 scale-info = { version = "1.0", default-features = false, features = ["derive"] }
 frame-support = { version = "4.0.0-dev", default-features = false, path = "../support" }
 frame-system = { version = "4.0.0-dev", default-features = false, path = "../system" }
-sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../../primitives/runtime" }
+sp-runtime = { version = "4.0.0", default-features = false, path = "../../primitives/runtime" }
 sp-std = { version = "4.0.0", default-features = false, path = "../../primitives/std" }
-sp-io = { version = "4.0.0-dev", default-features = false, path = "../../primitives/io" }
+sp-io = { version = "4.0.0", default-features = false, path = "../../primitives/io" }
 
 frame-benchmarking = { version = "4.0.0-dev", default-features = false, path = "../benchmarking", optional = true }
 
diff --git a/substrate/frame/nicks/Cargo.toml b/substrate/frame/nicks/Cargo.toml
index 28cabde0916..08d529070a5 100644
--- a/substrate/frame/nicks/Cargo.toml
+++ b/substrate/frame/nicks/Cargo.toml
@@ -16,8 +16,8 @@ targets = ["x86_64-unknown-linux-gnu"]
 codec = { package = "parity-scale-codec", version = "2.0.0", default-features = false, features = ["derive"] }
 scale-info = { version = "1.0", default-features = false, features = ["derive"] }
 sp-std = { version = "4.0.0", default-features = false, path = "../../primitives/std" }
-sp-io = { version = "4.0.0-dev", default-features = false, path = "../../primitives/io" }
-sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../../primitives/runtime" }
+sp-io = { version = "4.0.0", default-features = false, path = "../../primitives/io" }
+sp-runtime = { version = "4.0.0", default-features = false, path = "../../primitives/runtime" }
 frame-support = { version = "4.0.0-dev", default-features = false, path = "../support" }
 frame-system = { version = "4.0.0-dev", default-features = false, path = "../system" }
 
diff --git a/substrate/frame/node-authorization/Cargo.toml b/substrate/frame/node-authorization/Cargo.toml
index efaaf6371f8..350914381c1 100644
--- a/substrate/frame/node-authorization/Cargo.toml
+++ b/substrate/frame/node-authorization/Cargo.toml
@@ -18,7 +18,7 @@ frame-support = { version = "4.0.0-dev", default-features = false, path = "../su
 frame-system = { version = "4.0.0-dev", default-features = false, path = "../system" }
 sp-core = { version = "4.1.0-dev", default-features = false, path = "../../primitives/core" }
 sp-io = { version = "4.0.0-dev", default-features = false, path = "../../primitives/io" }
-sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../../primitives/runtime" }
+sp-runtime = { version = "4.0.0", default-features = false, path = "../../primitives/runtime" }
 sp-std = { version = "4.0.0", default-features = false, path = "../../primitives/std" }
 log = { version = "0.4.14", default-features = false }
 
diff --git a/substrate/frame/offences/Cargo.toml b/substrate/frame/offences/Cargo.toml
index 5058f17d385..02f36fab0a2 100644
--- a/substrate/frame/offences/Cargo.toml
+++ b/substrate/frame/offences/Cargo.toml
@@ -18,7 +18,7 @@ codec = { package = "parity-scale-codec", version = "2.0.0", default-features =
 scale-info = { version = "1.0", default-features = false, features = ["derive"] }
 sp-std = { version = "4.0.0", default-features = false, path = "../../primitives/std" }
 serde = { version = "1.0.126", optional = true }
-sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../../primitives/runtime" }
+sp-runtime = { version = "4.0.0", default-features = false, path = "../../primitives/runtime" }
 sp-staking = { version = "4.0.0-dev", default-features = false, path = "../../primitives/staking" }
 frame-support = { version = "4.0.0-dev", default-features = false, path = "../support" }
 frame-system = { version = "4.0.0-dev", default-features = false, path = "../system" }
diff --git a/substrate/frame/offences/benchmarking/Cargo.toml b/substrate/frame/offences/benchmarking/Cargo.toml
index 625f275a70c..28e4fde7c3c 100644
--- a/substrate/frame/offences/benchmarking/Cargo.toml
+++ b/substrate/frame/offences/benchmarking/Cargo.toml
@@ -29,7 +29,7 @@ pallet-session = { version = "4.0.0-dev", default-features = false, path = "../.
 pallet-staking = { version = "4.0.0-dev", default-features = false, features = [
 	"runtime-benchmarks",
 ], path = "../../staking" }
-sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../../../primitives/runtime" }
+sp-runtime = { version = "4.0.0", default-features = false, path = "../../../primitives/runtime" }
 sp-staking = { version = "4.0.0-dev", default-features = false, path = "../../../primitives/staking" }
 sp-std = { version = "4.0.0", default-features = false, path = "../../../primitives/std" }
 frame-election-provider-support = { version = "4.0.0-dev", default-features = false, path = "../../election-provider-support" }
diff --git a/substrate/frame/preimage/Cargo.toml b/substrate/frame/preimage/Cargo.toml
index b60c3fa8548..29763d08017 100644
--- a/substrate/frame/preimage/Cargo.toml
+++ b/substrate/frame/preimage/Cargo.toml
@@ -16,7 +16,7 @@ scale-info = { version = "1.0", default-features = false, features = ["derive"]
 sp-std = { version = "4.0.0", default-features = false, path = "../../primitives/std" }
 sp-io = { version = "4.0.0-dev", default-features = false, path = "../../primitives/io" }
 sp-core = { version = "4.1.0-dev", default-features = false, optional = true, path = "../../primitives/core" }
-sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../../primitives/runtime" }
+sp-runtime = { version = "4.0.0", default-features = false, path = "../../primitives/runtime" }
 frame-system = { version = "4.0.0-dev", default-features = false, path = "../system" }
 frame-support = { version = "4.0.0-dev", default-features = false, path = "../support" }
 frame-benchmarking = { version = "4.0.0-dev", default-features = false, path = "../benchmarking", optional = true }
diff --git a/substrate/frame/proxy/Cargo.toml b/substrate/frame/proxy/Cargo.toml
index 7a1fc61da9d..c5d9dc857b8 100644
--- a/substrate/frame/proxy/Cargo.toml
+++ b/substrate/frame/proxy/Cargo.toml
@@ -17,8 +17,8 @@ codec = { package = "parity-scale-codec", version = "2.2.0", default-features =
 scale-info = { version = "1.0", default-features = false, features = ["derive"] }
 frame-support = { version = "4.0.0-dev", default-features = false, path = "../support" }
 frame-system = { version = "4.0.0-dev", default-features = false, path = "../system" }
-sp-io = { version = "4.0.0-dev", default-features = false, path = "../../primitives/io" }
-sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../../primitives/runtime" }
+sp-io = { version = "4.0.0", default-features = false, path = "../../primitives/io" }
+sp-runtime = { version = "4.0.0", default-features = false, path = "../../primitives/runtime" }
 sp-std = { version = "4.0.0", default-features = false, path = "../../primitives/std" }
 
 frame-benchmarking = { version = "4.0.0-dev", default-features = false, path = "../benchmarking", optional = true }
diff --git a/substrate/frame/randomness-collective-flip/Cargo.toml b/substrate/frame/randomness-collective-flip/Cargo.toml
index 903e167ef95..037ce134045 100644
--- a/substrate/frame/randomness-collective-flip/Cargo.toml
+++ b/substrate/frame/randomness-collective-flip/Cargo.toml
@@ -16,7 +16,7 @@ targets = ["x86_64-unknown-linux-gnu"]
 safe-mix = { version = "1.0", default-features = false }
 codec = { package = "parity-scale-codec", version = "2.0.0", default-features = false, features = ["derive"] }
 scale-info = { version = "1.0", default-features = false, features = ["derive"] }
-sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../../primitives/runtime" }
+sp-runtime = { version = "4.0.0", default-features = false, path = "../../primitives/runtime" }
 sp-std = { version = "4.0.0", default-features = false, path = "../../primitives/std" }
 
 frame-support = { version = "4.0.0-dev", default-features = false, path = "../support" }
diff --git a/substrate/frame/recovery/Cargo.toml b/substrate/frame/recovery/Cargo.toml
index c1126ad1edd..3ed194225d0 100644
--- a/substrate/frame/recovery/Cargo.toml
+++ b/substrate/frame/recovery/Cargo.toml
@@ -16,8 +16,8 @@ targets = ["x86_64-unknown-linux-gnu"]
 codec = { package = "parity-scale-codec", version = "2.0.0", default-features = false, features = ["derive"] }
 scale-info = { version = "1.0", default-features = false, features = ["derive"] }
 sp-std = { version = "4.0.0", default-features = false, path = "../../primitives/std" }
-sp-io = { version = "4.0.0-dev", default-features = false, path = "../../primitives/io" }
-sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../../primitives/runtime" }
+sp-io = { version = "4.0.0", default-features = false, path = "../../primitives/io" }
+sp-runtime = { version = "4.0.0", default-features = false, path = "../../primitives/runtime" }
 frame-support = { version = "4.0.0-dev", default-features = false, path = "../support" }
 frame-system = { version = "4.0.0-dev", default-features = false, path = "../system" }
 
diff --git a/substrate/frame/scheduler/Cargo.toml b/substrate/frame/scheduler/Cargo.toml
index 2f767359815..9cc34f69db7 100644
--- a/substrate/frame/scheduler/Cargo.toml
+++ b/substrate/frame/scheduler/Cargo.toml
@@ -13,10 +13,10 @@ readme = "README.md"
 codec = { package = "parity-scale-codec", version = "2.0.0", default-features = false, features = ["derive"] }
 scale-info = { version = "1.0", default-features = false, features = ["derive"] }
 log = { version = "0.4.14", default-features = false }
-sp-std = { version = "4.0.0-dev", default-features = false, path = "../../primitives/std" }
+sp-std = { version = "4.0.0", default-features = false, path = "../../primitives/std" }
 sp-io = { version = "4.0.0-dev", default-features = false, path = "../../primitives/io" }
 
-sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../../primitives/runtime" }
+sp-runtime = { version = "4.0.0", default-features = false, path = "../../primitives/runtime" }
 frame-system = { version = "4.0.0-dev", default-features = false, path = "../system" }
 frame-support = { version = "4.0.0-dev", default-features = false, path = "../support" }
 frame-benchmarking = { version = "4.0.0-dev", default-features = false, path = "../benchmarking", optional = true }
diff --git a/substrate/frame/scored-pool/Cargo.toml b/substrate/frame/scored-pool/Cargo.toml
index e77661204d7..f570039abc3 100644
--- a/substrate/frame/scored-pool/Cargo.toml
+++ b/substrate/frame/scored-pool/Cargo.toml
@@ -15,8 +15,8 @@ targets = ["x86_64-unknown-linux-gnu"]
 [dependencies]
 codec = { package = "parity-scale-codec", version = "2.0.0", default-features = false, features = ["derive"] }
 scale-info = { version = "1.0", default-features = false, features = ["derive"] }
-sp-io = { version = "4.0.0-dev", default-features = false, path = "../../primitives/io" }
-sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../../primitives/runtime" }
+sp-io = { version = "4.0.0", default-features = false, path = "../../primitives/io" }
+sp-runtime = { version = "4.0.0", default-features = false, path = "../../primitives/runtime" }
 sp-std = { version = "4.0.0", default-features = false, path = "../../primitives/std" }
 frame-support = { version = "4.0.0-dev", default-features = false, path = "../support" }
 frame-system = { version = "4.0.0-dev", default-features = false, path = "../system" }
diff --git a/substrate/frame/session/Cargo.toml b/substrate/frame/session/Cargo.toml
index 909dfe329c9..57b7fff9947 100644
--- a/substrate/frame/session/Cargo.toml
+++ b/substrate/frame/session/Cargo.toml
@@ -22,10 +22,10 @@ scale-info = { version = "1.0", default-features = false, features = ["derive"]
 sp-std = { version = "4.0.0", default-features = false, path = "../../primitives/std" }
 sp-core = { version = "4.1.0-dev", default-features = false, path = "../../primitives/core" }
 sp-io = { version = "4.0.0-dev", default-features = false, path = "../../primitives/io" }
-sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../../primitives/runtime" }
+sp-runtime = { version = "4.0.0", default-features = false, path = "../../primitives/runtime" }
 sp-session = { version = "4.0.0-dev", default-features = false, path = "../../primitives/session" }
 sp-staking = { version = "4.0.0-dev", default-features = false, path = "../../primitives/staking" }
-sp-trie = { version = "4.0.0-dev", default-features = false, path = "../../primitives/trie", optional = true }
+sp-trie = { version = "4.0.0", default-features = false, path = "../../primitives/trie", optional = true }
 
 frame-support = { version = "4.0.0-dev", default-features = false, path = "../support" }
 frame-system = { version = "4.0.0-dev", default-features = false, path = "../system" }
diff --git a/substrate/frame/session/benchmarking/Cargo.toml b/substrate/frame/session/benchmarking/Cargo.toml
index 37dc40e9b25..5f889e66a87 100644
--- a/substrate/frame/session/benchmarking/Cargo.toml
+++ b/substrate/frame/session/benchmarking/Cargo.toml
@@ -16,7 +16,7 @@ targets = ["x86_64-unknown-linux-gnu"]
 rand = { version = "0.7.2", default-features = false }
 
 sp-std = { version = "4.0.0", default-features = false, path = "../../../primitives/std" }
-sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../../../primitives/runtime" }
+sp-runtime = { version = "4.0.0", default-features = false, path = "../../../primitives/runtime" }
 sp-session = { version = "4.0.0-dev", default-features = false, path = "../../../primitives/session" }
 
 frame-benchmarking = { version = "4.0.0-dev", default-features = false, path = "../../benchmarking" }
diff --git a/substrate/frame/society/Cargo.toml b/substrate/frame/society/Cargo.toml
index cf14d7f9f51..ad53026f4ce 100644
--- a/substrate/frame/society/Cargo.toml
+++ b/substrate/frame/society/Cargo.toml
@@ -15,7 +15,7 @@ targets = ["x86_64-unknown-linux-gnu"]
 [dependencies]
 codec = { package = "parity-scale-codec", version = "2.0.0", default-features = false, features = ["derive"] }
 scale-info = { version = "1.0", default-features = false, features = ["derive"] }
-sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../../primitives/runtime" }
+sp-runtime = { version = "4.0.0", default-features = false, path = "../../primitives/runtime" }
 sp-std = { version = "4.0.0", default-features = false, path = "../../primitives/std" }
 frame-support = { version = "4.0.0-dev", default-features = false, path = "../support" }
 frame-system = { version = "4.0.0-dev", default-features = false, path = "../system" }
diff --git a/substrate/frame/staking/Cargo.toml b/substrate/frame/staking/Cargo.toml
index 42fe1075317..c91db8c24fd 100644
--- a/substrate/frame/staking/Cargo.toml
+++ b/substrate/frame/staking/Cargo.toml
@@ -19,8 +19,8 @@ codec = { package = "parity-scale-codec", version = "2.0.0", default-features =
 ] }
 scale-info = { version = "1.0", default-features = false, features = ["derive"] }
 sp-std = { version = "4.0.0", default-features = false, path = "../../primitives/std" }
-sp-io = { version = "4.0.0-dev", default-features = false, path = "../../primitives/io" }
-sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../../primitives/runtime" }
+sp-io = { version = "4.0.0", default-features = false, path = "../../primitives/io" }
+sp-runtime = { version = "4.0.0", default-features = false, path = "../../primitives/runtime" }
 sp-staking = { version = "4.0.0-dev", default-features = false, path = "../../primitives/staking" }
 frame-support = { version = "4.0.0-dev", default-features = false, path = "../support" }
 frame-system = { version = "4.0.0-dev", default-features = false, path = "../system" }
@@ -28,7 +28,7 @@ pallet-session = { version = "4.0.0-dev", default-features = false, features = [
 	"historical",
 ], path = "../session" }
 pallet-authorship = { version = "4.0.0-dev", default-features = false, path = "../authorship" }
-sp-application-crypto = { version = "4.0.0-dev", default-features = false, path = "../../primitives/application-crypto" }
+sp-application-crypto = { version = "4.0.0", default-features = false, path = "../../primitives/application-crypto" }
 frame-election-provider-support = { version = "4.0.0-dev", default-features = false, path = "../election-provider-support" }
 log = { version = "0.4.14", default-features = false }
 
diff --git a/substrate/frame/staking/reward-curve/Cargo.toml b/substrate/frame/staking/reward-curve/Cargo.toml
index fd306eb0857..82f0a6dde2b 100644
--- a/substrate/frame/staking/reward-curve/Cargo.toml
+++ b/substrate/frame/staking/reward-curve/Cargo.toml
@@ -21,4 +21,4 @@ proc-macro2 = "1.0.29"
 proc-macro-crate = "1.1.0"
 
 [dev-dependencies]
-sp-runtime = { version = "4.0.0-dev", path = "../../../primitives/runtime" }
+sp-runtime = { version = "4.0.0", path = "../../../primitives/runtime" }
diff --git a/substrate/frame/staking/reward-fn/Cargo.toml b/substrate/frame/staking/reward-fn/Cargo.toml
index 4e3be2a1bc7..07dc404c8e3 100644
--- a/substrate/frame/staking/reward-fn/Cargo.toml
+++ b/substrate/frame/staking/reward-fn/Cargo.toml
@@ -14,7 +14,7 @@ targets = ["x86_64-unknown-linux-gnu"]
 [lib]
 
 [dependencies]
-sp-arithmetic = { version = "4.0.0-dev", default-features = false, path = "../../../primitives/arithmetic" }
+sp-arithmetic = { version = "4.0.0", default-features = false, path = "../../../primitives/arithmetic" }
 log = { version = "0.4.14", default-features = false }
 
 [features]
diff --git a/substrate/frame/sudo/Cargo.toml b/substrate/frame/sudo/Cargo.toml
index 33642ef7dc3..c553c80d19d 100644
--- a/substrate/frame/sudo/Cargo.toml
+++ b/substrate/frame/sudo/Cargo.toml
@@ -16,8 +16,8 @@ targets = ["x86_64-unknown-linux-gnu"]
 codec = { package = "parity-scale-codec", version = "2.0.0", default-features = false, features = ["derive"] }
 scale-info = { version = "1.0", default-features = false, features = ["derive"] }
 sp-std = { version = "4.0.0", default-features = false, path = "../../primitives/std" }
-sp-io = { version = "4.0.0-dev", default-features = false, path = "../../primitives/io" }
-sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../../primitives/runtime" }
+sp-io = { version = "4.0.0", default-features = false, path = "../../primitives/io" }
+sp-runtime = { version = "4.0.0", default-features = false, path = "../../primitives/runtime" }
 frame-support = { version = "4.0.0-dev", default-features = false, path = "../support" }
 frame-system = { version = "4.0.0-dev", default-features = false, path = "../system" }
 
diff --git a/substrate/frame/support/Cargo.toml b/substrate/frame/support/Cargo.toml
index c3eab98f9e7..3cfce23dabe 100644
--- a/substrate/frame/support/Cargo.toml
+++ b/substrate/frame/support/Cargo.toml
@@ -18,18 +18,18 @@ codec = { package = "parity-scale-codec", version = "2.2.0", default-features =
 scale-info = { version = "1.0", default-features = false, features = ["derive"] }
 frame-metadata = { version = "14.0.0", default-features = false, features = ["v14"] }
 sp-std = { version = "4.0.0", default-features = false, path = "../../primitives/std" }
-sp-io = { version = "4.0.0-dev", default-features = false, path = "../../primitives/io" }
-sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../../primitives/runtime" }
+sp-io = { version = "4.0.0", default-features = false, path = "../../primitives/io" }
+sp-runtime = { version = "4.0.0", default-features = false, path = "../../primitives/runtime" }
 sp-tracing = { version = "4.0.0", default-features = false, path = "../../primitives/tracing" }
 sp-core = { version = "4.1.0-dev", default-features = false, path = "../../primitives/core" }
-sp-arithmetic = { version = "4.0.0-dev", default-features = false, path = "../../primitives/arithmetic" }
+sp-arithmetic = { version = "4.0.0", default-features = false, path = "../../primitives/arithmetic" }
 sp-inherents = { version = "4.0.0-dev", default-features = false, path = "../../primitives/inherents" }
 sp-staking = { version = "4.0.0-dev", default-features = false, path = "../../primitives/staking" }
 tt-call = "1.0.8"
 frame-support-procedural = { version = "4.0.0-dev", default-features = false, path = "./procedural" }
 paste = "1.0"
 once_cell = { version = "1", default-features = false, optional = true }
-sp-state-machine = { version = "0.10.0-dev", optional = true, path = "../../primitives/state-machine" }
+sp-state-machine = { version = "0.10.0", optional = true, path = "../../primitives/state-machine" }
 bitflags = "1.3"
 impl-trait-for-tuples = "0.2.1"
 smallvec = "1.7.0"
diff --git a/substrate/frame/support/test/Cargo.toml b/substrate/frame/support/test/Cargo.toml
index cdbefae4bde..d41b0fcacf2 100644
--- a/substrate/frame/support/test/Cargo.toml
+++ b/substrate/frame/support/test/Cargo.toml
@@ -15,11 +15,11 @@ targets = ["x86_64-unknown-linux-gnu"]
 serde = { version = "1.0.126", default-features = false, features = ["derive"] }
 codec = { package = "parity-scale-codec", version = "2.0.0", default-features = false, features = ["derive"] }
 scale-info = { version = "1.0", default-features = false, features = ["derive"] }
-sp-arithmetic = { version = "4.0.0-dev", default-features = false, path = "../../../primitives/arithmetic" }
-sp-io = { version = "4.0.0-dev", path = "../../../primitives/io", default-features = false }
-sp-state-machine = { version = "0.10.0-dev", optional = true, path = "../../../primitives/state-machine" }
+sp-arithmetic = { version = "4.0.0", default-features = false, path = "../../../primitives/arithmetic" }
+sp-io = { version = "4.0.0", path = "../../../primitives/io", default-features = false }
+sp-state-machine = { version = "0.10.0", optional = true, path = "../../../primitives/state-machine" }
 frame-support = { version = "4.0.0-dev", default-features = false, path = "../" }
-sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../../../primitives/runtime" }
+sp-runtime = { version = "4.0.0", default-features = false, path = "../../../primitives/runtime" }
 sp-core = { version = "4.1.0-dev", default-features = false, path = "../../../primitives/core" }
 sp-std = { version = "4.0.0", default-features = false, path = "../../../primitives/std" }
 sp-version = { version = "4.0.0-dev", default-features = false, path = "../../../primitives/version" }
diff --git a/substrate/frame/support/test/compile_pass/Cargo.toml b/substrate/frame/support/test/compile_pass/Cargo.toml
index b72bbc2f01f..21d3be66725 100644
--- a/substrate/frame/support/test/compile_pass/Cargo.toml
+++ b/substrate/frame/support/test/compile_pass/Cargo.toml
@@ -15,7 +15,7 @@ targets = ["x86_64-unknown-linux-gnu"]
 codec = { package = "parity-scale-codec", version = "2.0.0", default-features = false, features = ["derive"] }
 scale-info = { version = "1.0", default-features = false, features = ["derive"] }
 sp-core = { version = "4.1.0-dev", default-features = false, path = "../../../../primitives/core" }
-sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../../../../primitives/runtime" }
+sp-runtime = { version = "4.0.0", default-features = false, path = "../../../../primitives/runtime" }
 sp-version = { version = "4.0.0-dev", default-features = false, path = "../../../../primitives/version" }
 frame-support = { version = "4.0.0-dev", default-features = false, path = "../../" }
 frame-system = { version = "4.0.0-dev", default-features = false, path = "../../../system" }
diff --git a/substrate/frame/system/Cargo.toml b/substrate/frame/system/Cargo.toml
index 0d771cd1f80..70a9b12c7a2 100644
--- a/substrate/frame/system/Cargo.toml
+++ b/substrate/frame/system/Cargo.toml
@@ -18,8 +18,8 @@ codec = { package = "parity-scale-codec", version = "2.0.0", default-features =
 scale-info = { version = "1.0", default-features = false, features = ["derive"] }
 sp-core = { version = "4.1.0-dev", default-features = false, path = "../../primitives/core" }
 sp-std = { version = "4.0.0", default-features = false, path = "../../primitives/std" }
-sp-io = { version = "4.0.0-dev", path = "../../primitives/io", default-features = false }
-sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../../primitives/runtime" }
+sp-io = { version = "4.0.0", path = "../../primitives/io", default-features = false }
+sp-runtime = { version = "4.0.0", default-features = false, path = "../../primitives/runtime" }
 sp-version = { version = "4.0.0-dev", default-features = false, path = "../../primitives/version" }
 frame-support = { version = "4.0.0-dev", default-features = false, path = "../support" }
 log = { version = "0.4.14", default-features = false }
diff --git a/substrate/frame/system/benchmarking/Cargo.toml b/substrate/frame/system/benchmarking/Cargo.toml
index acf13c8f6b2..ff31c6fdbac 100644
--- a/substrate/frame/system/benchmarking/Cargo.toml
+++ b/substrate/frame/system/benchmarking/Cargo.toml
@@ -16,14 +16,14 @@ targets = ["x86_64-unknown-linux-gnu"]
 codec = { package = "parity-scale-codec", version = "2.0.0", default-features = false }
 scale-info = { version = "1.0", default-features = false, features = ["derive"] }
 sp-std = { version = "4.0.0", default-features = false, path = "../../../primitives/std" }
-sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../../../primitives/runtime" }
+sp-runtime = { version = "4.0.0", default-features = false, path = "../../../primitives/runtime" }
 frame-benchmarking = { version = "4.0.0-dev", default-features = false, path = "../../benchmarking" }
 frame-system = { version = "4.0.0-dev", default-features = false, path = "../../system" }
 frame-support = { version = "4.0.0-dev", default-features = false, path = "../../support" }
 sp-core = { version = "4.1.0-dev", default-features = false, path = "../../../primitives/core" }
 
 [dev-dependencies]
-sp-io = { version = "4.0.0-dev", path = "../../../primitives/io" }
+sp-io = { version = "4.0.0", path = "../../../primitives/io" }
 
 [features]
 default = ["std"]
diff --git a/substrate/frame/timestamp/Cargo.toml b/substrate/frame/timestamp/Cargo.toml
index f8ff0a587b1..e10acdc2545 100644
--- a/substrate/frame/timestamp/Cargo.toml
+++ b/substrate/frame/timestamp/Cargo.toml
@@ -18,8 +18,8 @@ targets = ["x86_64-unknown-linux-gnu"]
 codec = { package = "parity-scale-codec", version = "2.2.0", default-features = false, features = ["derive", "max-encoded-len"] }
 scale-info = { version = "1.0", default-features = false, features = ["derive"] }
 sp-std = { version = "4.0.0", default-features = false, path = "../../primitives/std" }
-sp-io = { version = "4.0.0-dev", default-features = false, path = "../../primitives/io", optional = true }
-sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../../primitives/runtime" }
+sp-io = { version = "4.0.0", default-features = false, path = "../../primitives/io", optional = true }
+sp-runtime = { version = "4.0.0", default-features = false, path = "../../primitives/runtime" }
 sp-inherents = { version = "4.0.0-dev", default-features = false, path = "../../primitives/inherents" }
 frame-benchmarking = { version = "4.0.0-dev", default-features = false, path = "../benchmarking", optional = true }
 frame-support = { version = "4.0.0-dev", default-features = false, path = "../support" }
diff --git a/substrate/frame/tips/Cargo.toml b/substrate/frame/tips/Cargo.toml
index cb682769ec8..a637fa3928e 100644
--- a/substrate/frame/tips/Cargo.toml
+++ b/substrate/frame/tips/Cargo.toml
@@ -20,7 +20,7 @@ serde = { version = "1.0.126", features = ["derive"], optional = true }
 
 sp-core = { version = "4.1.0-dev", default-features = false, path = "../../primitives/core" }
 sp-io = { version = "4.0.0-dev", default-features = false, path = "../../primitives/io" }
-sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../../primitives/runtime" }
+sp-runtime = { version = "4.0.0", default-features = false, path = "../../primitives/runtime" }
 sp-std = { version = "4.0.0", default-features = false, path = "../../primitives/std" }
 
 frame-support = { version = "4.0.0-dev", default-features = false, path = "../support" }
diff --git a/substrate/frame/transaction-payment/Cargo.toml b/substrate/frame/transaction-payment/Cargo.toml
index 642c9bd399b..ac6fc5c71c0 100644
--- a/substrate/frame/transaction-payment/Cargo.toml
+++ b/substrate/frame/transaction-payment/Cargo.toml
@@ -22,7 +22,7 @@ smallvec = "1.7.0"
 
 sp-core = { version = "4.1.0-dev", path = "../../primitives/core", default-features = false }
 sp-io = { version = "4.0.0-dev", path = "../../primitives/io", default-features = false }
-sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../../primitives/runtime" }
+sp-runtime = { version = "4.0.0", default-features = false, path = "../../primitives/runtime" }
 sp-std = { version = "4.0.0", default-features = false, path = "../../primitives/std" }
 
 frame-support = { version = "4.0.0-dev", default-features = false, path = "../support" }
diff --git a/substrate/frame/transaction-payment/asset-tx-payment/Cargo.toml b/substrate/frame/transaction-payment/asset-tx-payment/Cargo.toml
index 21fae45282d..3f89a5c4b5f 100644
--- a/substrate/frame/transaction-payment/asset-tx-payment/Cargo.toml
+++ b/substrate/frame/transaction-payment/asset-tx-payment/Cargo.toml
@@ -16,7 +16,7 @@ targets = ["x86_64-unknown-linux-gnu"]
 # Substrate dependencies
 sp-core = { version = "4.1.0-dev", default-features = false, path = "../../../primitives/core" }
 sp-io = { version = "4.0.0-dev", default-features = false, path = "../../../primitives/io" }
-sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../../../primitives/runtime" }
+sp-runtime = { version = "4.0.0", default-features = false, path = "../../../primitives/runtime" }
 sp-std = { version = "4.0.0", default-features = false, path = "../../../primitives/std" }
 
 frame-support = { version = "4.0.0-dev", default-features = false, path = "../../support" }
diff --git a/substrate/frame/transaction-payment/rpc/Cargo.toml b/substrate/frame/transaction-payment/rpc/Cargo.toml
index 36dad610f69..b8e43848dbf 100644
--- a/substrate/frame/transaction-payment/rpc/Cargo.toml
+++ b/substrate/frame/transaction-payment/rpc/Cargo.toml
@@ -22,5 +22,5 @@ sp-api = { version = "4.0.0-dev", path = "../../../primitives/api" }
 sp-blockchain = { version = "4.0.0-dev", path = "../../../primitives/blockchain" }
 sp-core = { version = "4.1.0-dev", path = "../../../primitives/core" }
 sp-rpc = { version = "4.0.0-dev", path = "../../../primitives/rpc" }
-sp-runtime = { version = "4.0.0-dev", path = "../../../primitives/runtime" }
+sp-runtime = { version = "4.0.0", path = "../../../primitives/runtime" }
 pallet-transaction-payment-rpc-runtime-api = { version = "4.0.0-dev", path = "./runtime-api" }
diff --git a/substrate/frame/transaction-payment/rpc/runtime-api/Cargo.toml b/substrate/frame/transaction-payment/rpc/runtime-api/Cargo.toml
index 315f140fc4f..6cfe02d15c4 100644
--- a/substrate/frame/transaction-payment/rpc/runtime-api/Cargo.toml
+++ b/substrate/frame/transaction-payment/rpc/runtime-api/Cargo.toml
@@ -15,7 +15,7 @@ targets = ["x86_64-unknown-linux-gnu"]
 [dependencies]
 codec = { package = "parity-scale-codec", version = "2.0.0", default-features = false, features = ["derive"] }
 sp-api = { version = "4.0.0-dev", default-features = false, path = "../../../../primitives/api" }
-sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../../../../primitives/runtime" }
+sp-runtime = { version = "4.0.0", default-features = false, path = "../../../../primitives/runtime" }
 pallet-transaction-payment = { version = "4.0.0-dev", default-features = false, path = "../../../transaction-payment" }
 
 [features]
diff --git a/substrate/frame/transaction-storage/Cargo.toml b/substrate/frame/transaction-storage/Cargo.toml
index f5ce6f84416..10f1d3d2e2b 100644
--- a/substrate/frame/transaction-storage/Cargo.toml
+++ b/substrate/frame/transaction-storage/Cargo.toml
@@ -20,9 +20,9 @@ scale-info = { version = "1.0", default-features = false, features = ["derive"]
 frame-support = { version = "4.0.0-dev", default-features = false, path = "../support" }
 frame-system = { version = "4.0.0-dev", default-features = false, path = "../system" }
 pallet-balances = { version = "4.0.0-dev", default-features = false, path = "../balances" }
-sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../../primitives/runtime" }
+sp-runtime = { version = "4.0.0", default-features = false, path = "../../primitives/runtime" }
 sp-std = { version = "4.0.0", default-features = false, path = "../../primitives/std" }
-sp-io = { version = "4.0.0-dev", default-features = false, path = "../../primitives/io" }
+sp-io = { version = "4.0.0", default-features = false, path = "../../primitives/io" }
 sp-inherents = { version = "4.0.0-dev", default-features = false, path = "../../primitives/inherents" }
 sp-transaction-storage-proof = { version = "4.0.0-dev", default-features = false, path = "../../primitives/transaction-storage-proof" }
 frame-benchmarking = { version = "4.0.0-dev", default-features = false, path = "../benchmarking", optional = true }
diff --git a/substrate/frame/treasury/Cargo.toml b/substrate/frame/treasury/Cargo.toml
index fed6b98f55e..5fe5734120d 100644
--- a/substrate/frame/treasury/Cargo.toml
+++ b/substrate/frame/treasury/Cargo.toml
@@ -22,7 +22,7 @@ serde = { version = "1.0.126", features = ["derive"], optional = true }
 impl-trait-for-tuples = "0.2.1"
 
 sp-std = { version = "4.0.0", default-features = false, path = "../../primitives/std" }
-sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../../primitives/runtime" }
+sp-runtime = { version = "4.0.0", default-features = false, path = "../../primitives/runtime" }
 
 frame-benchmarking = { version = "4.0.0-dev", default-features = false, path = "../benchmarking", optional = true }
 frame-support = { version = "4.0.0-dev", default-features = false, path = "../support" }
diff --git a/substrate/frame/try-runtime/Cargo.toml b/substrate/frame/try-runtime/Cargo.toml
index 64622bcceb0..860a9e988b1 100644
--- a/substrate/frame/try-runtime/Cargo.toml
+++ b/substrate/frame/try-runtime/Cargo.toml
@@ -15,7 +15,7 @@ targets = ["x86_64-unknown-linux-gnu"]
 [dependencies]
 sp-api = { version = "4.0.0-dev", path = "../../primitives/api", default-features = false }
 sp-std = { version = "4.0.0", path = "../../primitives/std" , default-features = false }
-sp-runtime = { version = "4.0.0-dev", path = "../../primitives/runtime" , default-features = false }
+sp-runtime = { version = "4.0.0", path = "../../primitives/runtime" , default-features = false }
 
 frame-support = { version = "4.0.0-dev", path = "../support", default-features = false }
 
diff --git a/substrate/frame/uniques/Cargo.toml b/substrate/frame/uniques/Cargo.toml
index 2ce0c1b484e..c9892cac269 100644
--- a/substrate/frame/uniques/Cargo.toml
+++ b/substrate/frame/uniques/Cargo.toml
@@ -16,7 +16,7 @@ targets = ["x86_64-unknown-linux-gnu"]
 codec = { package = "parity-scale-codec", version = "2.0.0", default-features = false }
 scale-info = { version = "1.0", default-features = false, features = ["derive"] }
 sp-std = { version = "4.0.0", default-features = false, path = "../../primitives/std" }
-sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../../primitives/runtime" }
+sp-runtime = { version = "4.0.0", default-features = false, path = "../../primitives/runtime" }
 frame-support = { version = "4.0.0-dev", default-features = false, path = "../support" }
 frame-system = { version = "4.0.0-dev", default-features = false, path = "../system" }
 frame-benchmarking = { version = "4.0.0-dev", default-features = false, path = "../benchmarking", optional = true }
diff --git a/substrate/frame/utility/Cargo.toml b/substrate/frame/utility/Cargo.toml
index 9dfbd7b410e..62fa402705e 100644
--- a/substrate/frame/utility/Cargo.toml
+++ b/substrate/frame/utility/Cargo.toml
@@ -18,9 +18,9 @@ scale-info = { version = "1.0", default-features = false, features = ["derive"]
 frame-support = { version = "4.0.0-dev", default-features = false, path = "../support" }
 frame-system = { version = "4.0.0-dev", default-features = false, path = "../system" }
 sp-core = { version = "4.1.0-dev", default-features = false, path = "../../primitives/core" }
-sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../../primitives/runtime" }
+sp-runtime = { version = "4.0.0", default-features = false, path = "../../primitives/runtime" }
 sp-std = { version = "4.0.0", default-features = false, path = "../../primitives/std" }
-sp-io = { version = "4.0.0-dev", default-features = false, path = "../../primitives/io" }
+sp-io = { version = "4.0.0", default-features = false, path = "../../primitives/io" }
 
 frame-benchmarking = { version = "4.0.0-dev", default-features = false, path = "../benchmarking", optional = true }
 
diff --git a/substrate/frame/vesting/Cargo.toml b/substrate/frame/vesting/Cargo.toml
index 30cdc91d44f..fa0b564c855 100644
--- a/substrate/frame/vesting/Cargo.toml
+++ b/substrate/frame/vesting/Cargo.toml
@@ -18,7 +18,7 @@ codec = { package = "parity-scale-codec", version = "2.0.0", default-features =
 ] }
 scale-info = { version = "1.0", default-features = false, features = ["derive"] }
 sp-std = { version = "4.0.0", default-features = false, path = "../../primitives/std" }
-sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../../primitives/runtime" }
+sp-runtime = { version = "4.0.0", default-features = false, path = "../../primitives/runtime" }
 frame-support = { version = "4.0.0-dev", default-features = false, path = "../support" }
 frame-system = { version = "4.0.0-dev", default-features = false, path = "../system" }
 frame-benchmarking = { version = "4.0.0-dev", default-features = false, path = "../benchmarking", optional = true }
diff --git a/substrate/primitives/api/Cargo.toml b/substrate/primitives/api/Cargo.toml
index 65e39571c7e..b940ae93baa 100644
--- a/substrate/primitives/api/Cargo.toml
+++ b/substrate/primitives/api/Cargo.toml
@@ -17,9 +17,9 @@ codec = { package = "parity-scale-codec", version = "2.0.0", default-features =
 sp-api-proc-macro = { version = "4.0.0-dev", path = "proc-macro" }
 sp-core = { version = "4.1.0-dev", default-features = false, path = "../core" }
 sp-std = { version = "4.0.0", default-features = false, path = "../std" }
-sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../runtime" }
+sp-runtime = { version = "4.0.0", default-features = false, path = "../runtime" }
 sp-version = { version = "4.0.0-dev", default-features = false, path = "../version" }
-sp-state-machine = { version = "0.10.0-dev", optional = true, path = "../state-machine" }
+sp-state-machine = { version = "0.10.0", optional = true, path = "../state-machine" }
 hash-db = { version = "0.15.2", optional = true }
 thiserror = { version = "1.0.30", optional = true }
 
diff --git a/substrate/primitives/api/test/Cargo.toml b/substrate/primitives/api/test/Cargo.toml
index b7716f6b8de..53d26c08c1d 100644
--- a/substrate/primitives/api/test/Cargo.toml
+++ b/substrate/primitives/api/test/Cargo.toml
@@ -16,11 +16,11 @@ sp-api = { version = "4.0.0-dev", path = "../" }
 substrate-test-runtime-client = { version = "2.0.0", path = "../../../test-utils/runtime/client" }
 sp-version = { version = "4.0.0-dev", path = "../../version" }
 sp-tracing = { version = "4.0.0", path = "../../tracing" }
-sp-runtime = { version = "4.0.0-dev", path = "../../runtime" }
+sp-runtime = { version = "4.0.0", path = "../../runtime" }
 sp-consensus = { version = "0.10.0-dev", path = "../../consensus/common" }
 sc-block-builder = { version = "0.10.0-dev", path = "../../../client/block-builder" }
 codec = { package = "parity-scale-codec", version = "2.0.0" }
-sp-state-machine = { version = "0.10.0-dev", path = "../../state-machine" }
+sp-state-machine = { version = "0.10.0", path = "../../state-machine" }
 trybuild = "1.0.53"
 rustversion = "1.0.5"
 
diff --git a/substrate/primitives/application-crypto/Cargo.toml b/substrate/primitives/application-crypto/Cargo.toml
index f3a9f9a9383..8090203bbca 100644
--- a/substrate/primitives/application-crypto/Cargo.toml
+++ b/substrate/primitives/application-crypto/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "sp-application-crypto"
-version = "4.0.0-dev"
+version = "4.0.0"
 authors = ["Parity Technologies <admin@parity.io>"]
 edition = "2021"
 description = "Provides facilities for generating application specific crypto wrapper types."
@@ -20,7 +20,7 @@ codec = { package = "parity-scale-codec", version = "2.0.0", default-features =
 scale-info = { version = "1.0", default-features = false, features = ["derive"] }
 serde = { version = "1.0.126", optional = true, features = ["derive"] }
 sp-std = { version = "4.0.0", default-features = false, path = "../std" }
-sp-io = { version = "4.0.0-dev", default-features = false, path = "../io" }
+sp-io = { version = "4.0.0", default-features = false, path = "../io" }
 
 [features]
 default = [ "std" ]
diff --git a/substrate/primitives/application-crypto/test/Cargo.toml b/substrate/primitives/application-crypto/test/Cargo.toml
index dc51dceeeb4..0fdb64c5b29 100644
--- a/substrate/primitives/application-crypto/test/Cargo.toml
+++ b/substrate/primitives/application-crypto/test/Cargo.toml
@@ -14,8 +14,8 @@ targets = ["x86_64-unknown-linux-gnu"]
 
 [dependencies]
 sp-core = { version = "4.1.0-dev", default-features = false, path = "../../core" }
-sp-keystore = { version = "0.10.0-dev", path = "../../keystore", default-features = false }
+sp-keystore = { version = "0.10.0", path = "../../keystore", default-features = false }
 substrate-test-runtime-client = { version = "2.0.0", path = "../../../test-utils/runtime/client" }
-sp-runtime = { version = "4.0.0-dev", path = "../../runtime" }
+sp-runtime = { version = "4.0.0", path = "../../runtime" }
 sp-api = { version = "4.0.0-dev", path = "../../api" }
-sp-application-crypto = { version = "4.0.0-dev", path = "../" }
+sp-application-crypto = { version = "4.0.0", path = "../" }
diff --git a/substrate/primitives/arithmetic/Cargo.toml b/substrate/primitives/arithmetic/Cargo.toml
index 9bd634bb518..8db65342cfa 100644
--- a/substrate/primitives/arithmetic/Cargo.toml
+++ b/substrate/primitives/arithmetic/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "sp-arithmetic"
-version = "4.0.0-dev"
+version = "4.0.0"
 authors = ["Parity Technologies <admin@parity.io>"]
 edition = "2021"
 license = "Apache-2.0"
diff --git a/substrate/primitives/arithmetic/fuzzer/Cargo.toml b/substrate/primitives/arithmetic/fuzzer/Cargo.toml
index d6b20885237..33951687c31 100644
--- a/substrate/primitives/arithmetic/fuzzer/Cargo.toml
+++ b/substrate/primitives/arithmetic/fuzzer/Cargo.toml
@@ -14,7 +14,7 @@ publish = false
 targets = ["x86_64-unknown-linux-gnu"]
 
 [dependencies]
-sp-arithmetic = { version = "4.0.0-dev", path = ".." }
+sp-arithmetic = { version = "4.0.0", path = ".." }
 honggfuzz = "0.5.49"
 primitive-types = "0.10.1"
 num-bigint = "0.2"
diff --git a/substrate/primitives/authority-discovery/Cargo.toml b/substrate/primitives/authority-discovery/Cargo.toml
index 116bc1438ce..2f1d38c3115 100644
--- a/substrate/primitives/authority-discovery/Cargo.toml
+++ b/substrate/primitives/authority-discovery/Cargo.toml
@@ -13,12 +13,12 @@ readme = "README.md"
 targets = ["x86_64-unknown-linux-gnu"]
 
 [dependencies]
-sp-application-crypto = { version = "4.0.0-dev", default-features = false, path = "../application-crypto" }
+sp-application-crypto = { version = "4.0.0", default-features = false, path = "../application-crypto" }
 codec = { package = "parity-scale-codec", default-features = false, version = "2.0.0" }
 scale-info = { version = "1.0", default-features = false, features = ["derive"] }
 sp-std = { version = "4.0.0", default-features = false, path = "../std" }
 sp-api = { version = "4.0.0-dev", default-features = false, path = "../api" }
-sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../runtime" }
+sp-runtime = { version = "4.0.0", default-features = false, path = "../runtime" }
 
 [features]
 default = ["std"]
diff --git a/substrate/primitives/authorship/Cargo.toml b/substrate/primitives/authorship/Cargo.toml
index 26259e45ea6..81fa39e93a1 100644
--- a/substrate/primitives/authorship/Cargo.toml
+++ b/substrate/primitives/authorship/Cargo.toml
@@ -14,7 +14,7 @@ targets = ["x86_64-unknown-linux-gnu"]
 
 [dependencies]
 sp-inherents = { version = "4.0.0-dev", default-features = false, path = "../inherents" }
-sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../runtime" }
+sp-runtime = { version = "4.0.0", default-features = false, path = "../runtime" }
 sp-std = { version = "4.0.0", default-features = false, path = "../std" }
 codec = { package = "parity-scale-codec", version = "2.0.0", default-features = false, features = ["derive"] }
 async-trait = { version = "0.1.50", optional = true }
diff --git a/substrate/primitives/beefy/Cargo.toml b/substrate/primitives/beefy/Cargo.toml
index 4391b1939d1..6a74c58d2ce 100644
--- a/substrate/primitives/beefy/Cargo.toml
+++ b/substrate/primitives/beefy/Cargo.toml
@@ -12,15 +12,15 @@ codec = { version = "2.2.0", package = "parity-scale-codec", default-features =
 scale-info = { version = "1.0", default-features = false, features = ["derive"] }
 
 sp-api = { version = "4.0.0-dev", path = "../api", default-features = false }
-sp-application-crypto = { version = "4.0.0-dev", path = "../application-crypto", default-features = false }
+sp-application-crypto = { version = "4.0.0", path = "../application-crypto", default-features = false }
 sp-core = { version = "4.1.0-dev", path = "../core", default-features = false }
-sp-runtime = { version = "4.0.0-dev", path = "../runtime", default-features = false }
+sp-runtime = { version = "4.0.0", path = "../runtime", default-features = false }
 sp-std = { version = "4.0.0", path = "../std", default-features = false }
 
 [dev-dependencies]
 hex = "0.4.3"
 hex-literal = "0.3"
-sp-keystore = { version = "0.10.0-dev", path = "../keystore" }
+sp-keystore = { version = "0.10.0", path = "../keystore" }
 
 [features]
 default = ["std"]
diff --git a/substrate/primitives/block-builder/Cargo.toml b/substrate/primitives/block-builder/Cargo.toml
index a346f95cc4c..083865cd2cc 100644
--- a/substrate/primitives/block-builder/Cargo.toml
+++ b/substrate/primitives/block-builder/Cargo.toml
@@ -13,7 +13,7 @@ readme = "README.md"
 targets = ["x86_64-unknown-linux-gnu"]
 
 [dependencies]
-sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../runtime" }
+sp-runtime = { version = "4.0.0", default-features = false, path = "../runtime" }
 sp-api = { version = "4.0.0-dev", default-features = false, path = "../api" }
 sp-std = { version = "4.0.0", default-features = false, path = "../std" }
 codec = { package = "parity-scale-codec", version = "2.0.0", default-features = false }
diff --git a/substrate/primitives/blockchain/Cargo.toml b/substrate/primitives/blockchain/Cargo.toml
index 02e74a63d95..6eeacf5f269 100644
--- a/substrate/primitives/blockchain/Cargo.toml
+++ b/substrate/primitives/blockchain/Cargo.toml
@@ -21,7 +21,7 @@ thiserror = "1.0.30"
 futures = "0.3.9"
 codec = { package = "parity-scale-codec", version = "2.0.0", default-features = false, features = ["derive"] }
 sp-consensus = { version = "0.10.0-dev", path = "../consensus/common" }
-sp-runtime = { version = "4.0.0-dev", path = "../runtime" }
-sp-state-machine = { version = "0.10.0-dev", path = "../state-machine" }
+sp-runtime = { version = "4.0.0", path = "../runtime" }
+sp-state-machine = { version = "0.10.0", path = "../state-machine" }
 sp-database = { version = "4.0.0-dev", path = "../database" }
 sp-api = { version = "4.0.0-dev", path = "../api" }
diff --git a/substrate/primitives/consensus/aura/Cargo.toml b/substrate/primitives/consensus/aura/Cargo.toml
index e3c883a6e78..747a9f546cb 100644
--- a/substrate/primitives/consensus/aura/Cargo.toml
+++ b/substrate/primitives/consensus/aura/Cargo.toml
@@ -13,12 +13,12 @@ readme = "README.md"
 targets = ["x86_64-unknown-linux-gnu"]
 
 [dependencies]
-sp-application-crypto = { version = "4.0.0-dev", default-features = false, path = "../../application-crypto" }
+sp-application-crypto = { version = "4.0.0", default-features = false, path = "../../application-crypto" }
 codec = { package = "parity-scale-codec", version = "2.0.0", default-features = false }
 scale-info = { version = "1.0", default-features = false, features = ["derive"] }
 sp-std = { version = "4.0.0", default-features = false, path = "../../std" }
 sp-api = { version = "4.0.0-dev", default-features = false, path = "../../api" }
-sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../../runtime" }
+sp-runtime = { version = "4.0.0", default-features = false, path = "../../runtime" }
 sp-inherents = { version = "4.0.0-dev", default-features = false, path = "../../inherents" }
 sp-timestamp = { version = "4.0.0-dev", default-features = false, path = "../../timestamp" }
 sp-consensus-slots = { version = "0.10.0-dev", default-features = false, path = "../slots" }
diff --git a/substrate/primitives/consensus/babe/Cargo.toml b/substrate/primitives/consensus/babe/Cargo.toml
index 997744dd52b..fcfda410765 100644
--- a/substrate/primitives/consensus/babe/Cargo.toml
+++ b/substrate/primitives/consensus/babe/Cargo.toml
@@ -13,7 +13,7 @@ readme = "README.md"
 targets = ["x86_64-unknown-linux-gnu"]
 
 [dependencies]
-sp-application-crypto = { version = "4.0.0-dev", default-features = false, path = "../../application-crypto" }
+sp-application-crypto = { version = "4.0.0", default-features = false, path = "../../application-crypto" }
 codec = { package = "parity-scale-codec", version = "2.0.0", default-features = false }
 scale-info = { version = "1.0", default-features = false, features = ["derive"] }
 merlin = { version = "2.0", default-features = false }
@@ -24,8 +24,8 @@ sp-consensus-slots = { version = "0.10.0-dev", default-features = false, path =
 sp-consensus-vrf = { version = "0.10.0-dev", path = "../vrf", default-features = false }
 sp-core = { version = "4.1.0-dev", default-features = false, path = "../../core" }
 sp-inherents = { version = "4.0.0-dev", default-features = false, path = "../../inherents" }
-sp-keystore = { version = "0.10.0-dev", default-features = false, path = "../../keystore", optional = true }
-sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../../runtime" }
+sp-keystore = { version = "0.10.0", default-features = false, path = "../../keystore", optional = true }
+sp-runtime = { version = "4.0.0", default-features = false, path = "../../runtime" }
 sp-timestamp = { version = "4.0.0-dev", path = "../../timestamp", optional = true }
 serde = { version = "1.0.126", features = ["derive"], optional = true }
 async-trait = { version = "0.1.50", optional = true }
diff --git a/substrate/primitives/consensus/common/Cargo.toml b/substrate/primitives/consensus/common/Cargo.toml
index 2ad4a089593..e638c04a08d 100644
--- a/substrate/primitives/consensus/common/Cargo.toml
+++ b/substrate/primitives/consensus/common/Cargo.toml
@@ -22,11 +22,11 @@ futures = { version = "0.3.1", features = ["thread-pool"] }
 log = "0.4.8"
 sp-core = { path = "../../core", version = "4.1.0-dev" }
 sp-inherents = { version = "4.0.0-dev", path = "../../inherents" }
-sp-state-machine = { version = "0.10.0-dev", path = "../../state-machine" }
+sp-state-machine = { version = "0.10.0", path = "../../state-machine" }
 futures-timer = "3.0.1"
 sp-std = { version = "4.0.0", path = "../../std" }
 sp-version = { version = "4.0.0-dev", path = "../../version" }
-sp-runtime = { version = "4.0.0-dev", path = "../../runtime" }
+sp-runtime = { version = "4.0.0", path = "../../runtime" }
 thiserror = "1.0.30"
 
 [dev-dependencies]
diff --git a/substrate/primitives/consensus/pow/Cargo.toml b/substrate/primitives/consensus/pow/Cargo.toml
index d7f2b18e3fd..6e00453da1b 100644
--- a/substrate/primitives/consensus/pow/Cargo.toml
+++ b/substrate/primitives/consensus/pow/Cargo.toml
@@ -15,7 +15,7 @@ targets = ["x86_64-unknown-linux-gnu"]
 [dependencies]
 sp-api = { version = "4.0.0-dev", default-features = false, path = "../../api" }
 sp-std = { version = "4.0.0", default-features = false, path = "../../std" }
-sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../../runtime" }
+sp-runtime = { version = "4.0.0", default-features = false, path = "../../runtime" }
 sp-core = { version = "4.1.0-dev", default-features = false, path = "../../core" }
 codec = { package = "parity-scale-codec", version = "2.0.0", default-features = false, features = ["derive"] }
 
diff --git a/substrate/primitives/consensus/slots/Cargo.toml b/substrate/primitives/consensus/slots/Cargo.toml
index 9177157bd5e..23f73454aad 100644
--- a/substrate/primitives/consensus/slots/Cargo.toml
+++ b/substrate/primitives/consensus/slots/Cargo.toml
@@ -16,8 +16,8 @@ targets = ["x86_64-unknown-linux-gnu"]
 codec = { package = "parity-scale-codec", version = "2.2.0", default-features = false, features = ["derive", "max-encoded-len"] }
 scale-info = { version = "1.0", default-features = false, features = ["derive"] }
 serde = { version = "1.0", features = ["derive"], optional = true }
-sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../../runtime" }
-sp-arithmetic = { version = "4.0.0-dev", default-features = false, path = "../../arithmetic" }
+sp-runtime = { version = "4.0.0", default-features = false, path = "../../runtime" }
+sp-arithmetic = { version = "4.0.0", default-features = false, path = "../../arithmetic" }
 
 [features]
 default = ["std"]
diff --git a/substrate/primitives/consensus/vrf/Cargo.toml b/substrate/primitives/consensus/vrf/Cargo.toml
index 4eb545b08a2..586b6354f55 100644
--- a/substrate/primitives/consensus/vrf/Cargo.toml
+++ b/substrate/primitives/consensus/vrf/Cargo.toml
@@ -17,7 +17,7 @@ codec = { version = "2.0.0", package = "parity-scale-codec", default-features =
 schnorrkel = { version = "0.9.1", features = ["preaudit_deprecated", "u64_backend"], default-features = false }
 sp-std = { version = "4.0.0", path = "../../std", default-features = false }
 sp-core = { version = "4.1.0-dev", path = "../../core", default-features = false }
-sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../../runtime" }
+sp-runtime = { version = "4.0.0", default-features = false, path = "../../runtime" }
 
 [features]
 default = ["std"]
diff --git a/substrate/primitives/finality-grandpa/Cargo.toml b/substrate/primitives/finality-grandpa/Cargo.toml
index fed861553bf..8bcdf1462fc 100644
--- a/substrate/primitives/finality-grandpa/Cargo.toml
+++ b/substrate/primitives/finality-grandpa/Cargo.toml
@@ -21,10 +21,10 @@ grandpa = { package = "finality-grandpa", version = "0.14.1", default-features =
 log = { version = "0.4.8", optional = true }
 serde = { version = "1.0.126", optional = true, features = ["derive"] }
 sp-api = { version = "4.0.0-dev", default-features = false, path = "../api" }
-sp-application-crypto = { version = "4.0.0-dev", default-features = false, path = "../application-crypto" }
+sp-application-crypto = { version = "4.0.0", default-features = false, path = "../application-crypto" }
 sp-core = { version = "4.1.0-dev", default-features = false, path = "../core" }
-sp-keystore = { version = "0.10.0-dev", default-features = false, path = "../keystore", optional = true }
-sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../runtime" }
+sp-keystore = { version = "0.10.0", default-features = false, path = "../keystore", optional = true }
+sp-runtime = { version = "4.0.0", default-features = false, path = "../runtime" }
 sp-std = { version = "4.0.0", default-features = false, path = "../std" }
 
 [features]
diff --git a/substrate/primitives/inherents/Cargo.toml b/substrate/primitives/inherents/Cargo.toml
index 82c4f21b5c0..1ef0f201205 100644
--- a/substrate/primitives/inherents/Cargo.toml
+++ b/substrate/primitives/inherents/Cargo.toml
@@ -17,7 +17,7 @@ targets = ["x86_64-unknown-linux-gnu"]
 [dependencies]
 sp-std = { version = "4.0.0", default-features = false, path = "../std" }
 sp-core = { version = "4.1.0-dev", default-features = false, path = "../core" }
-sp-runtime = { version = "4.0.0-dev", path = "../runtime", optional = true }
+sp-runtime = { version = "4.0.0", path = "../runtime", optional = true }
 codec = { package = "parity-scale-codec", version = "2.0.0", default-features = false, features = ["derive"] }
 thiserror = { version = "1.0.30", optional = true }
 impl-trait-for-tuples = "0.2.0"
diff --git a/substrate/primitives/io/Cargo.toml b/substrate/primitives/io/Cargo.toml
index 43642026180..9f95eb40a4e 100644
--- a/substrate/primitives/io/Cargo.toml
+++ b/substrate/primitives/io/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "sp-io"
-version = "4.0.0-dev"
+version = "4.0.0"
 authors = ["Parity Technologies <admin@parity.io>"]
 edition = "2021"
 license = "Apache-2.0"
@@ -18,13 +18,13 @@ targets = ["x86_64-unknown-linux-gnu"]
 codec = { package = "parity-scale-codec", version = "2.0.0", default-features = false }
 hash-db = { version = "0.15.2", default-features = false }
 sp-core = { version = "4.1.0-dev", default-features = false, path = "../core" }
-sp-keystore = { version = "0.10.0-dev", default-features = false, optional = true, path = "../keystore" }
+sp-keystore = { version = "0.10.0", default-features = false, optional = true, path = "../keystore" }
 sp-std = { version = "4.0.0", default-features = false, path = "../std" }
 libsecp256k1 = { version = "0.7", optional = true }
-sp-state-machine = { version = "0.10.0-dev", optional = true, path = "../state-machine" }
+sp-state-machine = { version = "0.10.0", optional = true, path = "../state-machine" }
 sp-wasm-interface = { version = "4.1.0-dev", path = "../wasm-interface", default-features = false }
 sp-runtime-interface = { version = "4.1.0-dev", default-features = false, path = "../runtime-interface" }
-sp-trie = { version = "4.0.0-dev", optional = true, path = "../trie" }
+sp-trie = { version = "4.0.0", optional = true, path = "../trie" }
 sp-externalities = { version = "0.10.0", optional = true, path = "../externalities" }
 sp-tracing = { version = "4.0.0", default-features = false, path = "../tracing" }
 log = { version = "0.4.8", optional = true }
diff --git a/substrate/primitives/keyring/Cargo.toml b/substrate/primitives/keyring/Cargo.toml
index be7d138979a..a8529716b71 100644
--- a/substrate/primitives/keyring/Cargo.toml
+++ b/substrate/primitives/keyring/Cargo.toml
@@ -16,6 +16,6 @@ targets = ["x86_64-unknown-linux-gnu"]
 
 [dependencies]
 sp-core = { version = "4.1.0-dev", path = "../core" }
-sp-runtime = { version = "4.0.0-dev", path = "../runtime" }
+sp-runtime = { version = "4.0.0", path = "../runtime" }
 lazy_static = "1.4.0"
 strum = { version = "0.22.0", features = ["derive"] }
diff --git a/substrate/primitives/keystore/Cargo.toml b/substrate/primitives/keystore/Cargo.toml
index 7994c67b4c5..dea78c61242 100644
--- a/substrate/primitives/keystore/Cargo.toml
+++ b/substrate/primitives/keystore/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "sp-keystore"
-version = "0.10.0-dev"
+version = "0.10.0"
 authors = ["Parity Technologies <admin@parity.io>"]
 edition = "2021"
 license = "Apache-2.0"
diff --git a/substrate/primitives/npos-elections/Cargo.toml b/substrate/primitives/npos-elections/Cargo.toml
index a418cda2fee..3a5b00dcdf7 100644
--- a/substrate/primitives/npos-elections/Cargo.toml
+++ b/substrate/primitives/npos-elections/Cargo.toml
@@ -18,9 +18,9 @@ scale-info = { version = "1.0", default-features = false, features = ["derive"]
 serde = { version = "1.0.126", optional = true, features = ["derive"] }
 sp-std = { version = "4.0.0", default-features = false, path = "../std" }
 sp-npos-elections-solution-type = { version = "4.0.0-dev", path = "./solution-type" }
-sp-arithmetic = { version = "4.0.0-dev", default-features = false, path = "../arithmetic" }
+sp-arithmetic = { version = "4.0.0", default-features = false, path = "../arithmetic" }
 sp-core = { version = "4.1.0-dev", default-features = false, path = "../core" }
-sp-runtime = { version = "4.0.0-dev", path = "../runtime", default-features = false }
+sp-runtime = { version = "4.0.0", path = "../runtime", default-features = false }
 
 [dev-dependencies]
 substrate-test-utils = { version = "4.0.0-dev", path = "../../test-utils" }
diff --git a/substrate/primitives/npos-elections/fuzzer/Cargo.toml b/substrate/primitives/npos-elections/fuzzer/Cargo.toml
index 59d12c5a5d2..62bb1090d04 100644
--- a/substrate/primitives/npos-elections/fuzzer/Cargo.toml
+++ b/substrate/primitives/npos-elections/fuzzer/Cargo.toml
@@ -19,7 +19,7 @@ scale-info = { version = "1.0", default-features = false, features = ["derive"]
 honggfuzz = "0.5"
 rand = { version = "0.7.3", features = ["std", "small_rng"] }
 sp-npos-elections = { version = "4.0.0-dev", path = ".." }
-sp-runtime = { version = "4.0.0-dev", path = "../../runtime" }
+sp-runtime = { version = "4.0.0", path = "../../runtime" }
 structopt = "0.3.25"
 
 [[bin]]
diff --git a/substrate/primitives/npos-elections/solution-type/Cargo.toml b/substrate/primitives/npos-elections/solution-type/Cargo.toml
index 5bffcff1038..160778857f3 100644
--- a/substrate/primitives/npos-elections/solution-type/Cargo.toml
+++ b/substrate/primitives/npos-elections/solution-type/Cargo.toml
@@ -23,7 +23,7 @@ proc-macro-crate = "1.1.0"
 [dev-dependencies]
 parity-scale-codec = "2.3.1"
 scale-info = "1.0"
-sp-arithmetic = { path = "../../arithmetic", version = "4.0.0-dev" }
+sp-arithmetic = { path = "../../arithmetic", version = "4.0.0" }
 # used by generate_solution_type:
 sp-npos-elections = { path = "..", version = "4.0.0-dev" }
 trybuild = "1.0.53"
diff --git a/substrate/primitives/offchain/Cargo.toml b/substrate/primitives/offchain/Cargo.toml
index 55de9177e45..50a6d8344f0 100644
--- a/substrate/primitives/offchain/Cargo.toml
+++ b/substrate/primitives/offchain/Cargo.toml
@@ -15,7 +15,7 @@ targets = ["x86_64-unknown-linux-gnu"]
 [dependencies]
 sp-core = { version = "4.1.0-dev", default-features = false, path = "../core" }
 sp-api = { version = "4.0.0-dev", default-features = false, path = "../api" }
-sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../runtime" }
+sp-runtime = { version = "4.0.0", default-features = false, path = "../runtime" }
 
 [features]
 default = ["std"]
diff --git a/substrate/primitives/panic-handler/Cargo.toml b/substrate/primitives/panic-handler/Cargo.toml
index b7f3b6b5cb4..8c3578442a7 100644
--- a/substrate/primitives/panic-handler/Cargo.toml
+++ b/substrate/primitives/panic-handler/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "sp-panic-handler"
-version = "4.0.0-dev"
+version = "4.0.0"
 authors = ["Parity Technologies <admin@parity.io>"]
 edition = "2021"
 license = "Apache-2.0"
diff --git a/substrate/primitives/runtime-interface/Cargo.toml b/substrate/primitives/runtime-interface/Cargo.toml
index 69a6792ead2..fb978fbbbac 100644
--- a/substrate/primitives/runtime-interface/Cargo.toml
+++ b/substrate/primitives/runtime-interface/Cargo.toml
@@ -27,7 +27,7 @@ impl-trait-for-tuples = "0.2.1"
 
 [dev-dependencies]
 sp-runtime-interface-test-wasm = { version = "2.0.0", path = "test-wasm" }
-sp-state-machine = { version = "0.10.0-dev", path = "../state-machine" }
+sp-state-machine = { version = "0.10.0", path = "../state-machine" }
 sp-core = { version = "4.1.0-dev", path = "../core" }
 sp-io = { version = "4.0.0-dev", path = "../io" }
 rustversion = "1.0.5"
diff --git a/substrate/primitives/runtime-interface/test/Cargo.toml b/substrate/primitives/runtime-interface/test/Cargo.toml
index b197f2ab8ba..06fcf920a69 100644
--- a/substrate/primitives/runtime-interface/test/Cargo.toml
+++ b/substrate/primitives/runtime-interface/test/Cargo.toml
@@ -17,8 +17,8 @@ sc-executor = { version = "0.10.0-dev", path = "../../../client/executor" }
 sc-executor-common = { version = "0.10.0-dev", path = "../../../client/executor/common" }
 sp-runtime-interface-test-wasm = { version = "2.0.0", path = "../test-wasm" }
 sp-runtime-interface-test-wasm-deprecated = { version = "2.0.0", path = "../test-wasm-deprecated" }
-sp-state-machine = { version = "0.10.0-dev", path = "../../state-machine" }
-sp-runtime = { version = "4.0.0-dev", path = "../../runtime" }
-sp-io = { version = "4.0.0-dev", path = "../../io" }
+sp-state-machine = { version = "0.10.0", path = "../../state-machine" }
+sp-runtime = { version = "4.0.0", path = "../../runtime" }
+sp-io = { version = "4.0.0", path = "../../io" }
 tracing = "0.1.29"
 tracing-core = "0.1.17"
diff --git a/substrate/primitives/runtime/Cargo.toml b/substrate/primitives/runtime/Cargo.toml
index 1d7c79ba68c..6363a0a2863 100644
--- a/substrate/primitives/runtime/Cargo.toml
+++ b/substrate/primitives/runtime/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "sp-runtime"
-version = "4.0.0-dev"
+version = "4.0.0"
 authors = ["Parity Technologies <admin@parity.io>"]
 edition = "2021"
 license = "Apache-2.0"
@@ -19,10 +19,10 @@ serde = { version = "1.0.126", optional = true, features = ["derive"] }
 codec = { package = "parity-scale-codec", version = "2.2.0", default-features = false, features = ["derive", "max-encoded-len"] }
 scale-info = { version = "1.0", default-features = false, features = ["derive"] }
 sp-core = { version = "4.1.0-dev", default-features = false, path = "../core" }
-sp-application-crypto = { version = "4.0.0-dev", default-features = false, path = "../application-crypto" }
-sp-arithmetic = { version = "4.0.0-dev", default-features = false, path = "../arithmetic" }
+sp-application-crypto = { version = "4.0.0", default-features = false, path = "../application-crypto" }
+sp-arithmetic = { version = "4.0.0", default-features = false, path = "../arithmetic" }
 sp-std = { version = "4.0.0", default-features = false, path = "../std" }
-sp-io = { version = "4.0.0-dev", default-features = false, path = "../io" }
+sp-io = { version = "4.0.0", default-features = false, path = "../io" }
 log = { version = "0.4.14", default-features = false }
 paste = "1.0"
 rand = { version = "0.7.2", optional = true }
@@ -34,7 +34,7 @@ either = { version = "1.5", default-features = false }
 [dev-dependencies]
 serde_json = "1.0.71"
 rand = "0.7.2"
-sp-state-machine = { version = "0.10.0-dev", path = "../state-machine" }
+sp-state-machine = { version = "0.10.0", path = "../state-machine" }
 sp-api = { version = "4.0.0-dev", path = "../api" }
 substrate-test-runtime-client = { version = "2.0.0", path = "../../test-utils/runtime/client" }
 sp-tracing = { version = "4.0.0", path = "../../primitives/tracing" }
diff --git a/substrate/primitives/sandbox/Cargo.toml b/substrate/primitives/sandbox/Cargo.toml
index 26a81caea89..59941c9648d 100644
--- a/substrate/primitives/sandbox/Cargo.toml
+++ b/substrate/primitives/sandbox/Cargo.toml
@@ -22,7 +22,7 @@ wasmi = "0.9.0"
 wasmi = { version = "0.9.0", optional = true }
 sp-core = { version = "4.1.0-dev", default-features = false, path = "../core" }
 sp-std = { version = "4.0.0", default-features = false, path = "../std" }
-sp-io = { version = "4.0.0-dev", default-features = false, path = "../io" }
+sp-io = { version = "4.0.0", default-features = false, path = "../io" }
 sp-wasm-interface = { version = "4.1.0-dev", default-features = false, path = "../wasm-interface" }
 codec = { package = "parity-scale-codec", version = "2.0.0", default-features = false }
 log = { version = "0.4", default-features = false }
diff --git a/substrate/primitives/session/Cargo.toml b/substrate/primitives/session/Cargo.toml
index d402f36859a..cca35710172 100644
--- a/substrate/primitives/session/Cargo.toml
+++ b/substrate/primitives/session/Cargo.toml
@@ -19,7 +19,7 @@ sp-api = { version = "4.0.0-dev", default-features = false, path = "../api" }
 sp-core = { version = "4.1.0-dev", default-features = false, path = "../core" }
 sp-std = { version = "4.0.0", default-features = false, path = "../std" }
 sp-staking = { version = "4.0.0-dev", default-features = false, path = "../staking" }
-sp-runtime = { version = "4.0.0-dev", optional = true, path = "../runtime" }
+sp-runtime = { version = "4.0.0", optional = true, path = "../runtime" }
 
 [features]
 default = [ "std" ]
diff --git a/substrate/primitives/staking/Cargo.toml b/substrate/primitives/staking/Cargo.toml
index 531e696b693..533e177391b 100644
--- a/substrate/primitives/staking/Cargo.toml
+++ b/substrate/primitives/staking/Cargo.toml
@@ -15,7 +15,7 @@ targets = ["x86_64-unknown-linux-gnu"]
 [dependencies]
 codec = { package = "parity-scale-codec", version = "2.0.0", default-features = false, features = ["derive"] }
 scale-info = { version = "1.0", default-features = false, features = ["derive"] }
-sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../runtime" }
+sp-runtime = { version = "4.0.0", default-features = false, path = "../runtime" }
 sp-std = { version = "4.0.0", default-features = false, path = "../std" }
 
 [features]
diff --git a/substrate/primitives/state-machine/Cargo.toml b/substrate/primitives/state-machine/Cargo.toml
index b6b3c90f5a7..7ca76ed5831 100644
--- a/substrate/primitives/state-machine/Cargo.toml
+++ b/substrate/primitives/state-machine/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "sp-state-machine"
-version = "0.10.0-dev"
+version = "0.10.0"
 authors = ["Parity Technologies <admin@parity.io>"]
 description = "Substrate State Machine"
 edition = "2021"
@@ -20,9 +20,9 @@ parking_lot = { version = "0.11.1", optional = true }
 hash-db = { version = "0.15.2", default-features = false }
 trie-db = { version = "0.22.6", default-features = false }
 trie-root = { version = "0.16.0", default-features = false }
-sp-trie = { version = "4.0.0-dev", path = "../trie", default-features = false }
+sp-trie = { version = "4.0.0", path = "../trie", default-features = false }
 sp-core = { version = "4.1.0-dev", path = "../core", default-features = false }
-sp-panic-handler = { version = "4.0.0-dev", path = "../panic-handler", optional = true }
+sp-panic-handler = { version = "4.0.0", path = "../panic-handler", optional = true }
 codec = { package = "parity-scale-codec", version = "2.0.0", default-features = false }
 num-traits = { version = "0.2.8", default-features = false }
 rand = { version = "0.7.2", optional = true }
@@ -33,7 +33,7 @@ tracing = { version = "0.1.29", optional = true }
 
 [dev-dependencies]
 hex-literal = "0.3.4"
-sp-runtime = { version = "4.0.0-dev", path = "../runtime" }
+sp-runtime = { version = "4.0.0", path = "../runtime" }
 pretty_assertions = "1.0.0"
 rand = "0.7.2"
 
diff --git a/substrate/primitives/tasks/Cargo.toml b/substrate/primitives/tasks/Cargo.toml
index c57eb50eddb..6ac6c6aa98b 100644
--- a/substrate/primitives/tasks/Cargo.toml
+++ b/substrate/primitives/tasks/Cargo.toml
@@ -17,7 +17,7 @@ targets = ["x86_64-unknown-linux-gnu"]
 log = { version = "0.4.8", optional = true }
 sp-core = { version = "4.1.0-dev", default-features = false, path = "../core" }
 sp-externalities = { version = "0.10.0", optional = true, path = "../externalities" }
-sp-io = { version = "4.0.0-dev", default-features = false, path = "../io" }
+sp-io = { version = "4.0.0", default-features = false, path = "../io" }
 sp-runtime-interface = { version = "4.1.0-dev", default-features = false, path = "../runtime-interface" }
 sp-std = { version = "4.0.0", default-features = false, path = "../std" }
 
diff --git a/substrate/primitives/test-primitives/Cargo.toml b/substrate/primitives/test-primitives/Cargo.toml
index 18a0b9501e1..5d0a3d440c4 100644
--- a/substrate/primitives/test-primitives/Cargo.toml
+++ b/substrate/primitives/test-primitives/Cargo.toml
@@ -12,11 +12,11 @@ publish = false
 targets = ["x86_64-unknown-linux-gnu"]
 
 [dependencies]
-sp-application-crypto = { version = "4.0.0-dev", default-features = false, path = "../application-crypto" }
+sp-application-crypto = { version = "4.0.0", default-features = false, path = "../application-crypto" }
 codec = { package = "parity-scale-codec", version = "2.0.0", default-features = false, features = ["derive"] }
 sp-core = { version = "4.1.0-dev", default-features = false, path = "../core" }
 serde = { version = "1.0.126", optional = true, features = ["derive"] }
-sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../runtime" }
+sp-runtime = { version = "4.0.0", default-features = false, path = "../runtime" }
 parity-util-mem = { version = "0.10.2", default-features = false, features = ["primitive-types"] }
 
 [features]
diff --git a/substrate/primitives/timestamp/Cargo.toml b/substrate/primitives/timestamp/Cargo.toml
index 0096fe4c809..4c5fdefe990 100644
--- a/substrate/primitives/timestamp/Cargo.toml
+++ b/substrate/primitives/timestamp/Cargo.toml
@@ -15,7 +15,7 @@ targets = ["x86_64-unknown-linux-gnu"]
 [dependencies]
 sp-api = { version = "4.0.0-dev", default-features = false, path = "../api" }
 sp-std = { version = "4.0.0", default-features = false, path = "../std" }
-sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../runtime" }
+sp-runtime = { version = "4.0.0", default-features = false, path = "../runtime" }
 codec = { package = "parity-scale-codec", version = "2.0.0", default-features = false, features = ["derive"] }
 sp-inherents = { version = "4.0.0-dev", default-features = false, path = "../inherents" }
 thiserror = { version = "1.0.30", optional = true }
diff --git a/substrate/primitives/transaction-pool/Cargo.toml b/substrate/primitives/transaction-pool/Cargo.toml
index e4a40754797..2590208078d 100644
--- a/substrate/primitives/transaction-pool/Cargo.toml
+++ b/substrate/primitives/transaction-pool/Cargo.toml
@@ -15,7 +15,7 @@ targets = ["x86_64-unknown-linux-gnu"]
 
 [dependencies]
 sp-api = { version = "4.0.0-dev", default-features = false, path = "../api" }
-sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../runtime" }
+sp-runtime = { version = "4.0.0", default-features = false, path = "../runtime" }
 
 [features]
 default = [ "std" ]
diff --git a/substrate/primitives/transaction-storage-proof/Cargo.toml b/substrate/primitives/transaction-storage-proof/Cargo.toml
index f2ea55cc18c..d731808c64c 100644
--- a/substrate/primitives/transaction-storage-proof/Cargo.toml
+++ b/substrate/primitives/transaction-storage-proof/Cargo.toml
@@ -14,9 +14,9 @@ targets = ["x86_64-unknown-linux-gnu"]
 
 [dependencies]
 sp-inherents = { version = "4.0.0-dev", default-features = false, path = "../inherents" }
-sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../runtime" }
+sp-runtime = { version = "4.0.0", default-features = false, path = "../runtime" }
 sp-std = { version = "4.0.0", default-features = false, path = "../std" }
-sp-trie = { version = "4.0.0-dev", optional = true, path = "../trie" }
+sp-trie = { version = "4.0.0", optional = true, path = "../trie" }
 sp-core = { version = "4.1.0-dev", path = "../core", optional = true }
 codec = { package = "parity-scale-codec", version = "2.0.0", default-features = false, features = ["derive"] }
 scale-info = { version = "1.0", default-features = false, features = ["derive"] }
diff --git a/substrate/primitives/trie/Cargo.toml b/substrate/primitives/trie/Cargo.toml
index 983d58c9bb8..02aaa75aa93 100644
--- a/substrate/primitives/trie/Cargo.toml
+++ b/substrate/primitives/trie/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "sp-trie"
-version = "4.0.0-dev"
+version = "4.0.0"
 authors = ["Parity Technologies <admin@parity.io>"]
 description = "Patricia trie stuff using a parity-scale-codec node format"
 repository = "https://github.com/paritytech/substrate/"
@@ -32,7 +32,7 @@ trie-bench = "0.28.0"
 trie-standardmap = "0.15.2"
 criterion = "0.3.3"
 hex-literal = "0.3.4"
-sp-runtime = { version = "4.0.0-dev", path = "../runtime" }
+sp-runtime = { version = "4.0.0", path = "../runtime" }
 
 [features]
 default = ["std"]
diff --git a/substrate/primitives/version/Cargo.toml b/substrate/primitives/version/Cargo.toml
index a58b27c7c15..b8a3a5bc3e3 100644
--- a/substrate/primitives/version/Cargo.toml
+++ b/substrate/primitives/version/Cargo.toml
@@ -19,7 +19,7 @@ serde = { version = "1.0.126", optional = true, features = ["derive"] }
 codec = { package = "parity-scale-codec", version = "2.0.0", default-features = false, features = ["derive"] }
 scale-info = { version = "1.0", default-features = false, features = ["derive"] }
 sp-std = { version = "4.0.0", default-features = false, path = "../std" }
-sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../runtime" }
+sp-runtime = { version = "4.0.0", default-features = false, path = "../runtime" }
 sp-version-proc-macro = { version = "4.0.0-dev", default-features = false, path = "proc-macro" }
 parity-wasm = { version = "0.42.2", optional = true }
 thiserror = { version = "1.0.30", optional = true }
diff --git a/substrate/test-utils/client/Cargo.toml b/substrate/test-utils/client/Cargo.toml
index 9b77cde505a..5d148ccd125 100644
--- a/substrate/test-utils/client/Cargo.toml
+++ b/substrate/test-utils/client/Cargo.toml
@@ -30,8 +30,8 @@ sc-service = { version = "0.10.0-dev", default-features = false, features = [
 sp-blockchain = { version = "4.0.0-dev", path = "../../primitives/blockchain" }
 sp-consensus = { version = "0.10.0-dev", path = "../../primitives/consensus/common" }
 sp-core = { version = "4.1.0-dev", path = "../../primitives/core" }
-sp-keystore = { version = "0.10.0-dev", path = "../../primitives/keystore" }
+sp-keystore = { version = "0.10.0", path = "../../primitives/keystore" }
 sp-keyring = { version = "4.0.0-dev", path = "../../primitives/keyring" }
-sp-runtime = { version = "4.0.0-dev", path = "../../primitives/runtime" }
-sp-state-machine = { version = "0.10.0-dev", path = "../../primitives/state-machine" }
+sp-runtime = { version = "4.0.0", path = "../../primitives/runtime" }
+sp-state-machine = { version = "0.10.0", path = "../../primitives/state-machine" }
 async-trait = "0.1.50"
diff --git a/substrate/test-utils/runtime/Cargo.toml b/substrate/test-utils/runtime/Cargo.toml
index ae4be0d13af..72e2c255c15 100644
--- a/substrate/test-utils/runtime/Cargo.toml
+++ b/substrate/test-utils/runtime/Cargo.toml
@@ -13,7 +13,7 @@ publish = false
 targets = ["x86_64-unknown-linux-gnu"]
 
 [dependencies]
-sp-application-crypto = { version = "4.0.0-dev", default-features = false, path = "../../primitives/application-crypto" }
+sp-application-crypto = { version = "4.0.0", default-features = false, path = "../../primitives/application-crypto" }
 sp-consensus-aura = { version = "0.10.0-dev", default-features = false, path = "../../primitives/consensus/aura" }
 sp-consensus-babe = { version = "0.10.0-dev", default-features = false, path = "../../primitives/consensus/babe" }
 sp-block-builder = { version = "4.0.0-dev", default-features = false, path = "../../primitives/block-builder" }
@@ -26,23 +26,23 @@ sp-offchain = { version = "4.0.0-dev", default-features = false, path = "../../p
 sp-core = { version = "4.1.0-dev", default-features = false, path = "../../primitives/core" }
 sp-std = { version = "4.0.0", default-features = false, path = "../../primitives/std" }
 sp-runtime-interface = { version = "4.1.0-dev", default-features = false, path = "../../primitives/runtime-interface" }
-sp-io = { version = "4.0.0-dev", default-features = false, path = "../../primitives/io" }
+sp-io = { version = "4.0.0", default-features = false, path = "../../primitives/io" }
 frame-support = { version = "4.0.0-dev", default-features = false, path = "../../frame/support" }
 sp-version = { version = "4.0.0-dev", default-features = false, path = "../../primitives/version" }
 sp-session = { version = "4.0.0-dev", default-features = false, path = "../../primitives/session" }
 sp-api = { version = "4.0.0-dev", default-features = false, path = "../../primitives/api" }
-sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../../primitives/runtime" }
+sp-runtime = { version = "4.0.0", default-features = false, path = "../../primitives/runtime" }
 pallet-babe = { version = "4.0.0-dev", default-features = false, path = "../../frame/babe" }
 frame-system = { version = "4.0.0-dev", default-features = false, path = "../../frame/system" }
 frame-system-rpc-runtime-api = { version = "4.0.0-dev", default-features = false, path = "../../frame/system/rpc/runtime-api" }
 pallet-timestamp = { version = "4.0.0-dev", default-features = false, path = "../../frame/timestamp" }
 sp-finality-grandpa = { version = "4.0.0-dev", default-features = false, path = "../../primitives/finality-grandpa" }
-sp-trie = { version = "4.0.0-dev", default-features = false, path = "../../primitives/trie" }
+sp-trie = { version = "4.0.0", default-features = false, path = "../../primitives/trie" }
 sp-transaction-pool = { version = "4.0.0-dev", default-features = false, path = "../../primitives/transaction-pool" }
 trie-db = { version = "0.22.6", default-features = false }
 parity-util-mem = { version = "0.10.2", default-features = false, features = ["primitive-types"] }
 sc-service = { version = "0.10.0-dev", default-features = false, optional = true, features = ["test-helpers"], path = "../../client/service" }
-sp-state-machine = { version = "0.10.0-dev", default-features = false, path = "../../primitives/state-machine" }
+sp-state-machine = { version = "0.10.0", default-features = false, path = "../../primitives/state-machine" }
 sp-externalities = { version = "0.10.0", default-features = false, path = "../../primitives/externalities" }
 
 # 3rd party
diff --git a/substrate/test-utils/runtime/client/Cargo.toml b/substrate/test-utils/runtime/client/Cargo.toml
index b66fdc3422a..7babbfb2ed8 100644
--- a/substrate/test-utils/runtime/client/Cargo.toml
+++ b/substrate/test-utils/runtime/client/Cargo.toml
@@ -18,7 +18,7 @@ sc-block-builder = { version = "0.10.0-dev", path = "../../../client/block-build
 substrate-test-client = { version = "2.0.0", path = "../../client" }
 sp-core = { version = "4.1.0-dev", path = "../../../primitives/core" }
 substrate-test-runtime = { version = "2.0.0", path = "../../runtime" }
-sp-runtime = { version = "4.0.0-dev", path = "../../../primitives/runtime" }
+sp-runtime = { version = "4.0.0", path = "../../../primitives/runtime" }
 sp-api = { version = "4.0.0-dev", path = "../../../primitives/api" }
 sp-blockchain = { version = "4.0.0-dev", path = "../../../primitives/blockchain" }
 codec = { package = "parity-scale-codec", version = "2.0.0" }
diff --git a/substrate/test-utils/runtime/transaction-pool/Cargo.toml b/substrate/test-utils/runtime/transaction-pool/Cargo.toml
index ee1ac4814db..c1794d288ec 100644
--- a/substrate/test-utils/runtime/transaction-pool/Cargo.toml
+++ b/substrate/test-utils/runtime/transaction-pool/Cargo.toml
@@ -16,7 +16,7 @@ substrate-test-runtime-client = { version = "2.0.0", path = "../client" }
 parking_lot = "0.11.1"
 codec = { package = "parity-scale-codec", version = "2.0.0" }
 sp-blockchain = { version = "4.0.0-dev", path = "../../../primitives/blockchain" }
-sp-runtime = { version = "4.0.0-dev", path = "../../../primitives/runtime" }
+sp-runtime = { version = "4.0.0", path = "../../../primitives/runtime" }
 sc-transaction-pool = { version = "4.0.0-dev", path = "../../../client/transaction-pool", features = ["test-helpers"] }
 sc-transaction-pool-api = { version = "4.0.0-dev", path = "../../../client/transaction-pool/api" }
 futures = "0.3.16"
diff --git a/substrate/utils/frame/benchmarking-cli/Cargo.toml b/substrate/utils/frame/benchmarking-cli/Cargo.toml
index c8d762ec73c..d61cf71aec3 100644
--- a/substrate/utils/frame/benchmarking-cli/Cargo.toml
+++ b/substrate/utils/frame/benchmarking-cli/Cargo.toml
@@ -21,9 +21,9 @@ sc-cli = { version = "0.10.0-dev", path = "../../../client/cli" }
 sc-client-db = { version = "0.10.0-dev", path = "../../../client/db" }
 sc-executor = { version = "0.10.0-dev", path = "../../../client/executor" }
 sp-externalities = { version = "0.10.0", path = "../../../primitives/externalities" }
-sp-keystore = { version = "0.10.0-dev", path = "../../../primitives/keystore" }
-sp-runtime = { version = "4.0.0-dev", path = "../../../primitives/runtime" }
-sp-state-machine = { version = "0.10.0-dev", path = "../../../primitives/state-machine" }
+sp-keystore = { version = "0.10.0", path = "../../../primitives/keystore" }
+sp-runtime = { version = "4.0.0", path = "../../../primitives/runtime" }
+sp-state-machine = { version = "0.10.0", path = "../../../primitives/state-machine" }
 codec = { version = "2.0.0", package = "parity-scale-codec" }
 structopt = "0.3.25"
 chrono = "0.4"
diff --git a/substrate/utils/frame/frame-utilities-cli/Cargo.toml b/substrate/utils/frame/frame-utilities-cli/Cargo.toml
index feb02f1eb72..db9e4a7d907 100644
--- a/substrate/utils/frame/frame-utilities-cli/Cargo.toml
+++ b/substrate/utils/frame/frame-utilities-cli/Cargo.toml
@@ -13,7 +13,7 @@ readme = "README.md"
 [dependencies]
 sp-core = { version = "4.1.0-dev", path = "../../../primitives/core" }
 sc-cli = { version = "0.10.0-dev", path = "../../../client/cli" }
-sp-runtime = { version = "4.0.0-dev", path = "../../../primitives/runtime" }
+sp-runtime = { version = "4.0.0", path = "../../../primitives/runtime" }
 structopt = "0.3.25"
 frame-system = { version = "4.0.0-dev", path = "../../../frame/system" }
 frame-support = { version = "4.0.0-dev", path = "../../../frame/support" }
diff --git a/substrate/utils/frame/generate-bags/Cargo.toml b/substrate/utils/frame/generate-bags/Cargo.toml
index 2c9374fc5cc..6a512842129 100644
--- a/substrate/utils/frame/generate-bags/Cargo.toml
+++ b/substrate/utils/frame/generate-bags/Cargo.toml
@@ -17,7 +17,7 @@ frame-system = { version = "4.0.0-dev", path = "../../../frame/system" }
 pallet-staking = { version = "4.0.0-dev", path = "../../../frame/staking" }
 
 # primitives
-sp-io = { version = "4.0.0-dev", path = "../../../primitives/io" }
+sp-io = { version = "4.0.0", path = "../../../primitives/io" }
 
 # third party
 chrono = { version = "0.4.19" }
diff --git a/substrate/utils/frame/remote-externalities/Cargo.toml b/substrate/utils/frame/remote-externalities/Cargo.toml
index 0cf4980a104..edd538baf56 100644
--- a/substrate/utils/frame/remote-externalities/Cargo.toml
+++ b/substrate/utils/frame/remote-externalities/Cargo.toml
@@ -24,7 +24,7 @@ serde = "1.0.126"
 
 sp-io = { version = "4.0.0-dev", path = "../../../primitives/io" }
 sp-core = { version = "4.1.0-dev", path = "../../../primitives/core" }
-sp-runtime = { version = "4.0.0-dev", path = "../../../primitives/runtime" }
+sp-runtime = { version = "4.0.0", path = "../../../primitives/runtime" }
 sp-version = { version = "4.0.0-dev", path = "../../../primitives/version" }
 
 [dev-dependencies]
diff --git a/substrate/utils/frame/rpc/system/Cargo.toml b/substrate/utils/frame/rpc/system/Cargo.toml
index f71f3d6e93e..53ad36a9693 100644
--- a/substrate/utils/frame/rpc/system/Cargo.toml
+++ b/substrate/utils/frame/rpc/system/Cargo.toml
@@ -20,7 +20,7 @@ jsonrpc-core = "18.0.0"
 jsonrpc-core-client = "18.0.0"
 jsonrpc-derive = "18.0.0"
 log = "0.4.8"
-sp-runtime = { version = "4.0.0-dev", path = "../../../../primitives/runtime" }
+sp-runtime = { version = "4.0.0", path = "../../../../primitives/runtime" }
 sp-api = { version = "4.0.0-dev", path = "../../../../primitives/api" }
 frame-system-rpc-runtime-api = { version = "4.0.0-dev", path = "../../../../frame/system/rpc/runtime-api" }
 sp-core = { version = "4.1.0-dev", path = "../../../../primitives/core" }
diff --git a/substrate/utils/frame/try-runtime/cli/Cargo.toml b/substrate/utils/frame/try-runtime/cli/Cargo.toml
index d6b75d31fac..a0eca3cc9e9 100644
--- a/substrate/utils/frame/try-runtime/cli/Cargo.toml
+++ b/substrate/utils/frame/try-runtime/cli/Cargo.toml
@@ -22,11 +22,11 @@ sc-service = { version = "0.10.0-dev", default-features = false, path = "../../.
 sc-cli = { version = "0.10.0-dev", path = "../../../../client/cli" }
 sc-executor = { version = "0.10.0-dev", path = "../../../../client/executor" }
 sc-chain-spec = { version = "4.0.0-dev", path = "../../../../client/chain-spec" }
-sp-state-machine = { version = "0.10.0-dev", path = "../../../../primitives/state-machine" }
-sp-runtime = { version = "4.0.0-dev", path = "../../../../primitives/runtime" }
+sp-state-machine = { version = "0.10.0", path = "../../../../primitives/state-machine" }
+sp-runtime = { version = "4.0.0", path = "../../../../primitives/runtime" }
 sp-core = { version = "4.1.0-dev", path = "../../../../primitives/core" }
 sp-io = { version = "4.0.0-dev", path = "../../../../primitives/io" }
-sp-keystore = { version = "0.10.0-dev", path = "../../../../primitives/keystore" }
+sp-keystore = { version = "0.10.0", path = "../../../../primitives/keystore" }
 sp-externalities = { version = "0.10.0", path = "../../../../primitives/externalities" }
 sp-version = { version = "4.0.0-dev", path = "../../../../primitives/version" }
 
-- 
GitLab