From 45e4c670e1364c1b4b75c8e63aac5c35e3500b78 Mon Sep 17 00:00:00 2001
From: ian <ian@nervos.org>
Date: Wed, 22 Jan 2025 01:36:01 +0000
Subject: [PATCH] chore: bump to v0.121.0

---
 Cargo.lock                                   | 146 +++++++++----------
 Cargo.toml                                   |   8 +-
 README.md                                    |   2 +-
 benches/Cargo.toml                           |  34 ++---
 block-filter/Cargo.toml                      |  14 +-
 chain/Cargo.toml                             |  60 ++++----
 ckb-bin/Cargo.toml                           |  52 +++----
 db-migration/Cargo.toml                      |  16 +-
 db-schema/Cargo.toml                         |   2 +-
 db/Cargo.toml                                |  10 +-
 devtools/doc/rpc-gen/Cargo.toml              |   4 +-
 error/Cargo.toml                             |   4 +-
 freezer/Cargo.toml                           |  12 +-
 miner/Cargo.toml                             |  20 +--
 network/Cargo.toml                           |  22 +--
 network/fuzz/Cargo.toml                      |   2 +-
 notify/Cargo.toml                            |  12 +-
 pow/Cargo.toml                               |   6 +-
 resource/Cargo.toml                          |   6 +-
 rpc/Cargo.toml                               |  68 ++++-----
 script/Cargo.toml                            |  24 +--
 script/fuzz/Cargo.toml                       |  10 +-
 shared/Cargo.toml                            |  48 +++---
 spec/Cargo.toml                              |  26 ++--
 store/Cargo.toml                             |  20 +--
 sync/Cargo.toml                              |  56 +++----
 test/Cargo.toml                              |  46 +++---
 traits/Cargo.toml                            |   4 +-
 tx-pool/Cargo.toml                           |  50 +++----
 util/Cargo.toml                              |   4 +-
 util/app-config/Cargo.toml                   |  24 +--
 util/build-info/Cargo.toml                   |   2 +-
 util/chain-iter/Cargo.toml                   |   6 +-
 util/channel/Cargo.toml                      |   2 +-
 util/constant/Cargo.toml                     |   2 +-
 util/crypto/Cargo.toml                       |   4 +-
 util/dao/Cargo.toml                          |  16 +-
 util/dao/utils/Cargo.toml                    |   6 +-
 util/fee-estimator/Cargo.toml                |  10 +-
 util/fixed-hash/Cargo.toml                   |   6 +-
 util/fixed-hash/core/Cargo.toml              |   2 +-
 util/fixed-hash/macros/Cargo.toml            |   4 +-
 util/gen-types/Cargo.toml                    |  12 +-
 util/hash/Cargo.toml                         |   2 +-
 util/indexer-sync/Cargo.toml                 |  20 +--
 util/indexer/Cargo.toml                      |  14 +-
 util/instrument/Cargo.toml                   |  12 +-
 util/jsonrpc-types/Cargo.toml                |   4 +-
 util/launcher/Cargo.toml                     |  42 +++---
 util/light-client-protocol-server/Cargo.toml |  30 ++--
 util/logger-config/Cargo.toml                |   2 +-
 util/logger-service/Cargo.toml               |  10 +-
 util/logger/Cargo.toml                       |   2 +-
 util/memory-tracker/Cargo.toml               |   8 +-
 util/metrics-config/Cargo.toml               |   2 +-
 util/metrics-service/Cargo.toml              |  14 +-
 util/metrics/Cargo.toml                      |   2 +-
 util/migrate/Cargo.toml                      |  24 +--
 util/migrate/migration-template/Cargo.toml   |   2 +-
 util/multisig/Cargo.toml                     |   8 +-
 util/network-alert/Cargo.toml                |  28 ++--
 util/occupied-capacity/Cargo.toml            |   6 +-
 util/occupied-capacity/core/Cargo.toml       |   2 +-
 util/occupied-capacity/macros/Cargo.toml     |   4 +-
 util/proposal-table/Cargo.toml               |   8 +-
 util/rational/Cargo.toml                     |   2 +-
 util/reward-calculator/Cargo.toml            |  20 +--
 util/rich-indexer/Cargo.toml                 |  14 +-
 util/runtime/Cargo.toml                      |   6 +-
 util/snapshot/Cargo.toml                     |  18 +--
 util/spawn/Cargo.toml                        |   2 +-
 util/stop-handler/Cargo.toml                 |  10 +-
 util/systemtime/Cargo.toml                   |   2 +-
 util/test-chain-utils/Cargo.toml             |  26 ++--
 util/types/Cargo.toml                        |  18 +--
 verification/Cargo.toml                      |  28 ++--
 verification/contextual/Cargo.toml           |  36 ++---
 verification/traits/Cargo.toml               |   4 +-
 78 files changed, 658 insertions(+), 658 deletions(-)

diff --git a/Cargo.lock b/Cargo.lock
index b9b4be44e5..bb62488b6b 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -623,7 +623,7 @@ dependencies = [
 
 [[package]]
 name = "ckb"
-version = "0.121.0-rc2"
+version = "0.121.0"
 dependencies = [
  "ckb-bin",
  "ckb-build-info",
@@ -633,7 +633,7 @@ dependencies = [
 
 [[package]]
 name = "ckb-app-config"
-version = "0.121.0-rc2"
+version = "0.121.0"
 dependencies = [
  "ckb-build-info",
  "ckb-chain-spec",
@@ -660,7 +660,7 @@ dependencies = [
 
 [[package]]
 name = "ckb-async-runtime"
-version = "0.121.0-rc2"
+version = "0.121.0"
 dependencies = [
  "ckb-logger",
  "ckb-spawn",
@@ -670,7 +670,7 @@ dependencies = [
 
 [[package]]
 name = "ckb-benches"
-version = "0.121.0-rc2"
+version = "0.121.0"
 dependencies = [
  "ckb-app-config",
  "ckb-chain",
@@ -696,7 +696,7 @@ dependencies = [
 
 [[package]]
 name = "ckb-bin"
-version = "0.121.0-rc2"
+version = "0.121.0"
 dependencies = [
  "base64 0.21.7",
  "ckb-app-config",
@@ -743,7 +743,7 @@ dependencies = [
 
 [[package]]
 name = "ckb-block-filter"
-version = "0.121.0-rc2"
+version = "0.121.0"
 dependencies = [
  "ckb-async-runtime",
  "ckb-logger",
@@ -755,11 +755,11 @@ dependencies = [
 
 [[package]]
 name = "ckb-build-info"
-version = "0.121.0-rc2"
+version = "0.121.0"
 
 [[package]]
 name = "ckb-chain"
-version = "0.121.0-rc2"
+version = "0.121.0"
 dependencies = [
  "ckb-app-config",
  "ckb-chain-spec",
@@ -798,7 +798,7 @@ dependencies = [
 
 [[package]]
 name = "ckb-chain-iter"
-version = "0.121.0-rc2"
+version = "0.121.0"
 dependencies = [
  "ckb-store",
  "ckb-types",
@@ -806,7 +806,7 @@ dependencies = [
 
 [[package]]
 name = "ckb-chain-spec"
-version = "0.121.0-rc2"
+version = "0.121.0"
 dependencies = [
  "cacache",
  "ckb-constant",
@@ -828,18 +828,18 @@ dependencies = [
 
 [[package]]
 name = "ckb-channel"
-version = "0.121.0-rc2"
+version = "0.121.0"
 dependencies = [
  "crossbeam-channel",
 ]
 
 [[package]]
 name = "ckb-constant"
-version = "0.121.0-rc2"
+version = "0.121.0"
 
 [[package]]
 name = "ckb-crypto"
-version = "0.121.0-rc2"
+version = "0.121.0"
 dependencies = [
  "ckb-fixed-hash",
  "faster-hex",
@@ -850,7 +850,7 @@ dependencies = [
 
 [[package]]
 name = "ckb-dao"
-version = "0.121.0-rc2"
+version = "0.121.0"
 dependencies = [
  "byteorder",
  "ckb-chain-spec",
@@ -865,7 +865,7 @@ dependencies = [
 
 [[package]]
 name = "ckb-dao-utils"
-version = "0.121.0-rc2"
+version = "0.121.0"
 dependencies = [
  "byteorder",
  "ckb-error",
@@ -874,7 +874,7 @@ dependencies = [
 
 [[package]]
 name = "ckb-db"
-version = "0.121.0-rc2"
+version = "0.121.0"
 dependencies = [
  "ckb-app-config",
  "ckb-db-schema",
@@ -887,7 +887,7 @@ dependencies = [
 
 [[package]]
 name = "ckb-db-migration"
-version = "0.121.0-rc2"
+version = "0.121.0"
 dependencies = [
  "ckb-app-config",
  "ckb-channel",
@@ -903,11 +903,11 @@ dependencies = [
 
 [[package]]
 name = "ckb-db-schema"
-version = "0.121.0-rc2"
+version = "0.121.0"
 
 [[package]]
 name = "ckb-error"
-version = "0.121.0-rc2"
+version = "0.121.0"
 dependencies = [
  "anyhow",
  "ckb-occupied-capacity",
@@ -917,7 +917,7 @@ dependencies = [
 
 [[package]]
 name = "ckb-fee-estimator"
-version = "0.121.0-rc2"
+version = "0.121.0"
 dependencies = [
  "ckb-chain-spec",
  "ckb-logger",
@@ -928,7 +928,7 @@ dependencies = [
 
 [[package]]
 name = "ckb-fixed-hash"
-version = "0.121.0-rc2"
+version = "0.121.0"
 dependencies = [
  "ckb-fixed-hash-core",
  "ckb-fixed-hash-macros",
@@ -936,7 +936,7 @@ dependencies = [
 
 [[package]]
 name = "ckb-fixed-hash-core"
-version = "0.121.0-rc2"
+version = "0.121.0"
 dependencies = [
  "ckb_schemars",
  "faster-hex",
@@ -947,7 +947,7 @@ dependencies = [
 
 [[package]]
 name = "ckb-fixed-hash-macros"
-version = "0.121.0-rc2"
+version = "0.121.0"
 dependencies = [
  "ckb-fixed-hash-core",
  "proc-macro2",
@@ -957,7 +957,7 @@ dependencies = [
 
 [[package]]
 name = "ckb-freezer"
-version = "0.121.0-rc2"
+version = "0.121.0"
 dependencies = [
  "ckb-error",
  "ckb-logger",
@@ -973,7 +973,7 @@ dependencies = [
 
 [[package]]
 name = "ckb-gen-types"
-version = "0.121.0-rc2"
+version = "0.121.0"
 dependencies = [
  "cfg-if",
  "ckb-error",
@@ -986,7 +986,7 @@ dependencies = [
 
 [[package]]
 name = "ckb-hash"
-version = "0.121.0-rc2"
+version = "0.121.0"
 dependencies = [
  "blake2b-ref",
  "blake2b-rs",
@@ -994,7 +994,7 @@ dependencies = [
 
 [[package]]
 name = "ckb-indexer"
-version = "0.121.0-rc2"
+version = "0.121.0"
 dependencies = [
  "ckb-app-config",
  "ckb-async-runtime",
@@ -1011,7 +1011,7 @@ dependencies = [
 
 [[package]]
 name = "ckb-indexer-sync"
-version = "0.121.0-rc2"
+version = "0.121.0"
 dependencies = [
  "ckb-app-config",
  "ckb-async-runtime",
@@ -1031,7 +1031,7 @@ dependencies = [
 
 [[package]]
 name = "ckb-instrument"
-version = "0.121.0-rc2"
+version = "0.121.0"
 dependencies = [
  "ckb-chain",
  "ckb-chain-iter",
@@ -1044,7 +1044,7 @@ dependencies = [
 
 [[package]]
 name = "ckb-jsonrpc-types"
-version = "0.121.0-rc2"
+version = "0.121.0"
 dependencies = [
  "ckb-types",
  "ckb_schemars",
@@ -1057,7 +1057,7 @@ dependencies = [
 
 [[package]]
 name = "ckb-launcher"
-version = "0.121.0-rc2"
+version = "0.121.0"
 dependencies = [
  "ckb-app-config",
  "ckb-async-runtime",
@@ -1097,7 +1097,7 @@ dependencies = [
 
 [[package]]
 name = "ckb-light-client-protocol-server"
-version = "0.121.0-rc2"
+version = "0.121.0"
 dependencies = [
  "ckb-app-config",
  "ckb-chain",
@@ -1119,14 +1119,14 @@ dependencies = [
 
 [[package]]
 name = "ckb-logger"
-version = "0.121.0-rc2"
+version = "0.121.0"
 dependencies = [
  "log",
 ]
 
 [[package]]
 name = "ckb-logger-config"
-version = "0.121.0-rc2"
+version = "0.121.0"
 dependencies = [
  "serde",
  "toml",
@@ -1134,7 +1134,7 @@ dependencies = [
 
 [[package]]
 name = "ckb-logger-service"
-version = "0.121.0-rc2"
+version = "0.121.0"
 dependencies = [
  "backtrace",
  "ckb-channel",
@@ -1152,7 +1152,7 @@ dependencies = [
 
 [[package]]
 name = "ckb-memory-tracker"
-version = "0.121.0-rc2"
+version = "0.121.0"
 dependencies = [
  "ckb-db",
  "ckb-logger",
@@ -1173,7 +1173,7 @@ dependencies = [
 
 [[package]]
 name = "ckb-metrics"
-version = "0.121.0-rc2"
+version = "0.121.0"
 dependencies = [
  "prometheus",
  "prometheus-static-metric",
@@ -1181,14 +1181,14 @@ dependencies = [
 
 [[package]]
 name = "ckb-metrics-config"
-version = "0.121.0-rc2"
+version = "0.121.0"
 dependencies = [
  "serde",
 ]
 
 [[package]]
 name = "ckb-metrics-service"
-version = "0.121.0-rc2"
+version = "0.121.0"
 dependencies = [
  "ckb-async-runtime",
  "ckb-logger",
@@ -1205,7 +1205,7 @@ dependencies = [
 
 [[package]]
 name = "ckb-migrate"
-version = "0.121.0-rc2"
+version = "0.121.0"
 dependencies = [
  "ckb-app-config",
  "ckb-chain-spec",
@@ -1224,7 +1224,7 @@ dependencies = [
 
 [[package]]
 name = "ckb-migration-template"
-version = "0.121.0-rc2"
+version = "0.121.0"
 dependencies = [
  "quote",
  "syn 1.0.109",
@@ -1232,7 +1232,7 @@ dependencies = [
 
 [[package]]
 name = "ckb-miner"
-version = "0.121.0-rc2"
+version = "0.121.0"
 dependencies = [
  "base64 0.21.7",
  "ckb-app-config",
@@ -1263,7 +1263,7 @@ dependencies = [
 
 [[package]]
 name = "ckb-multisig"
-version = "0.121.0-rc2"
+version = "0.121.0"
 dependencies = [
  "ckb-crypto",
  "ckb-error",
@@ -1273,7 +1273,7 @@ dependencies = [
 
 [[package]]
 name = "ckb-network"
-version = "0.121.0-rc2"
+version = "0.121.0"
 dependencies = [
  "bitflags 1.3.2",
  "bloom-filters",
@@ -1311,7 +1311,7 @@ dependencies = [
 
 [[package]]
 name = "ckb-network-alert"
-version = "0.121.0-rc2"
+version = "0.121.0"
 dependencies = [
  "ckb-app-config",
  "ckb-async-runtime",
@@ -1333,7 +1333,7 @@ dependencies = [
 
 [[package]]
 name = "ckb-notify"
-version = "0.121.0-rc2"
+version = "0.121.0"
 dependencies = [
  "ckb-app-config",
  "ckb-async-runtime",
@@ -1345,7 +1345,7 @@ dependencies = [
 
 [[package]]
 name = "ckb-occupied-capacity"
-version = "0.121.0-rc2"
+version = "0.121.0"
 dependencies = [
  "ckb-occupied-capacity-core",
  "ckb-occupied-capacity-macros",
@@ -1353,14 +1353,14 @@ dependencies = [
 
 [[package]]
 name = "ckb-occupied-capacity-core"
-version = "0.121.0-rc2"
+version = "0.121.0"
 dependencies = [
  "serde",
 ]
 
 [[package]]
 name = "ckb-occupied-capacity-macros"
-version = "0.121.0-rc2"
+version = "0.121.0"
 dependencies = [
  "ckb-occupied-capacity-core",
  "quote",
@@ -1369,7 +1369,7 @@ dependencies = [
 
 [[package]]
 name = "ckb-pow"
-version = "0.121.0-rc2"
+version = "0.121.0"
 dependencies = [
  "byteorder",
  "ckb-hash",
@@ -1381,7 +1381,7 @@ dependencies = [
 
 [[package]]
 name = "ckb-proposal-table"
-version = "0.121.0-rc2"
+version = "0.121.0"
 dependencies = [
  "ckb-chain-spec",
  "ckb-logger",
@@ -1390,7 +1390,7 @@ dependencies = [
 
 [[package]]
 name = "ckb-rational"
-version = "0.121.0-rc2"
+version = "0.121.0"
 dependencies = [
  "numext-fixed-uint",
  "proptest",
@@ -1399,7 +1399,7 @@ dependencies = [
 
 [[package]]
 name = "ckb-resource"
-version = "0.121.0-rc2"
+version = "0.121.0"
 dependencies = [
  "ckb-system-scripts",
  "ckb-types",
@@ -1413,7 +1413,7 @@ dependencies = [
 
 [[package]]
 name = "ckb-reward-calculator"
-version = "0.121.0-rc2"
+version = "0.121.0"
 dependencies = [
  "ckb-chain-spec",
  "ckb-dao",
@@ -1429,7 +1429,7 @@ dependencies = [
 
 [[package]]
 name = "ckb-rich-indexer"
-version = "0.121.0-rc2"
+version = "0.121.0"
 dependencies = [
  "anyhow",
  "ckb-app-config",
@@ -1464,7 +1464,7 @@ dependencies = [
 
 [[package]]
 name = "ckb-rpc"
-version = "0.121.0-rc2"
+version = "0.121.0"
 dependencies = [
  "async-stream",
  "async-trait",
@@ -1518,7 +1518,7 @@ dependencies = [
 
 [[package]]
 name = "ckb-rpc-gen"
-version = "0.121.0-rc2"
+version = "0.121.0"
 dependencies = [
  "ckb-rpc",
  "ckb_schemars",
@@ -1531,7 +1531,7 @@ dependencies = [
 
 [[package]]
 name = "ckb-script"
-version = "0.121.0-rc2"
+version = "0.121.0"
 dependencies = [
  "byteorder",
  "ckb-chain-spec",
@@ -1559,7 +1559,7 @@ dependencies = [
 
 [[package]]
 name = "ckb-shared"
-version = "0.121.0-rc2"
+version = "0.121.0"
 dependencies = [
  "arc-swap",
  "bitflags 1.3.2",
@@ -1593,7 +1593,7 @@ dependencies = [
 
 [[package]]
 name = "ckb-snapshot"
-version = "0.121.0-rc2"
+version = "0.121.0"
 dependencies = [
  "arc-swap",
  "ckb-chain-spec",
@@ -1609,11 +1609,11 @@ dependencies = [
 
 [[package]]
 name = "ckb-spawn"
-version = "0.121.0-rc2"
+version = "0.121.0"
 
 [[package]]
 name = "ckb-stop-handler"
-version = "0.121.0-rc2"
+version = "0.121.0"
 dependencies = [
  "ckb-async-runtime",
  "ckb-channel",
@@ -1628,7 +1628,7 @@ dependencies = [
 
 [[package]]
 name = "ckb-store"
-version = "0.121.0-rc2"
+version = "0.121.0"
 dependencies = [
  "ckb-app-config",
  "ckb-chain-spec",
@@ -1646,7 +1646,7 @@ dependencies = [
 
 [[package]]
 name = "ckb-sync"
-version = "0.121.0-rc2"
+version = "0.121.0"
 dependencies = [
  "ckb-app-config",
  "ckb-chain",
@@ -1701,14 +1701,14 @@ dependencies = [
 
 [[package]]
 name = "ckb-systemtime"
-version = "0.121.0-rc2"
+version = "0.121.0"
 dependencies = [
  "web-time",
 ]
 
 [[package]]
 name = "ckb-test-chain-utils"
-version = "0.121.0-rc2"
+version = "0.121.0"
 dependencies = [
  "ckb-chain-spec",
  "ckb-dao",
@@ -1726,14 +1726,14 @@ dependencies = [
 
 [[package]]
 name = "ckb-traits"
-version = "0.121.0-rc2"
+version = "0.121.0"
 dependencies = [
  "ckb-types",
 ]
 
 [[package]]
 name = "ckb-tx-pool"
-version = "0.121.0-rc2"
+version = "0.121.0"
 dependencies = [
  "ckb-app-config",
  "ckb-async-runtime",
@@ -1776,7 +1776,7 @@ dependencies = [
 
 [[package]]
 name = "ckb-types"
-version = "0.121.0-rc2"
+version = "0.121.0"
 dependencies = [
  "bit-vec",
  "bytes",
@@ -1800,7 +1800,7 @@ dependencies = [
 
 [[package]]
 name = "ckb-util"
-version = "0.121.0-rc2"
+version = "0.121.0"
 dependencies = [
  "ckb-fixed-hash",
  "linked-hash-map",
@@ -1810,7 +1810,7 @@ dependencies = [
 
 [[package]]
 name = "ckb-verification"
-version = "0.121.0-rc2"
+version = "0.121.0"
 dependencies = [
  "ckb-chain-spec",
  "ckb-dao",
@@ -1831,7 +1831,7 @@ dependencies = [
 
 [[package]]
 name = "ckb-verification-contextual"
-version = "0.121.0-rc2"
+version = "0.121.0"
 dependencies = [
  "ckb-async-runtime",
  "ckb-chain",
@@ -1857,7 +1857,7 @@ dependencies = [
 
 [[package]]
 name = "ckb-verification-traits"
-version = "0.121.0-rc2"
+version = "0.121.0"
 dependencies = [
  "bitflags 1.3.2",
  "ckb-error",
diff --git a/Cargo.toml b/Cargo.toml
index 6f0c13b81f..9bc9cc00af 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "ckb"
-version = "0.121.0-rc2"
+version = "0.121.0"
 license = "MIT"
 authors = ["Nervos Core Dev <dev@nervos.org>"]
 edition = "2021"
@@ -11,11 +11,11 @@ repository = "https://github.com/nervosnetwork/ckb"
 rust-version = "1.81.0"
 
 [build-dependencies]
-ckb-build-info = { path = "util/build-info", version = "= 0.121.0-rc2" }
+ckb-build-info = { path = "util/build-info", version = "= 0.121.0" }
 
 [dependencies]
-ckb-build-info = { path = "util/build-info", version = "= 0.121.0-rc2" }
-ckb-bin = { path = "ckb-bin", version = "= 0.121.0-rc2" }
+ckb-build-info = { path = "util/build-info", version = "= 0.121.0" }
+ckb-bin = { path = "ckb-bin", version = "= 0.121.0" }
 console-subscriber = { version = "0.4.0", optional = true }
 
 [dev-dependencies]
diff --git a/README.md b/README.md
index e54562257f..5f931ba4cc 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
 # [Nervos CKB](https://www.nervos.org/) - The Common Knowledge Base
 
-[![Version](https://img.shields.io/badge/version-0.121.0--rc2-orange.svg)](https://github.com/nervosnetwork/ckb/releases)
+[![Version](https://img.shields.io/badge/version-0.121.0-orange.svg)](https://github.com/nervosnetwork/ckb/releases)
 [![Nervos Talk](https://img.shields.io/badge/discuss-on%20Nervos%20Talk-3CC68A.svg)](https://talk.nervos.org/t/where-to-discuss-ckb-and-how-to-ask-for-support/6024)
 
 master | develop
diff --git a/benches/Cargo.toml b/benches/Cargo.toml
index cd7fda1f63..9c32e0fdcf 100644
--- a/benches/Cargo.toml
+++ b/benches/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "ckb-benches"
-version = "0.121.0-rc2"
+version = "0.121.0"
 license = "MIT"
 authors = ["Nervos Core Dev <dev@nervos.org>"]
 edition = "2021"
@@ -13,24 +13,24 @@ repository = "https://github.com/nervosnetwork/ckb"
 
 [dev-dependencies]
 criterion = "0.5"
-ckb-chain = { path = "../chain", version = "= 0.121.0-rc2" }
-ckb-types = { path = "../util/types", version = "= 0.121.0-rc2" }
-ckb-shared = { path = "../shared", version = "= 0.121.0-rc2" }
-ckb-store = { path = "../store", version = "= 0.121.0-rc2" }
-ckb-chain-spec = { path = "../spec", version = "= 0.121.0-rc2" }
+ckb-chain = { path = "../chain", version = "= 0.121.0" }
+ckb-types = { path = "../util/types", version = "= 0.121.0" }
+ckb-shared = { path = "../shared", version = "= 0.121.0" }
+ckb-store = { path = "../store", version = "= 0.121.0" }
+ckb-chain-spec = { path = "../spec", version = "= 0.121.0" }
 rand = "0.8"
-ckb-hash = { path = "../util/hash", version = "= 0.121.0-rc2" }
-ckb-test-chain-utils = { path = "../util/test-chain-utils", version = "= 0.121.0-rc2" }
-ckb-dao-utils = { path = "../util/dao/utils", version = "= 0.121.0-rc2" }
-ckb-dao = { path = "../util/dao", version = "= 0.121.0-rc2" }
+ckb-hash = { path = "../util/hash", version = "= 0.121.0" }
+ckb-test-chain-utils = { path = "../util/test-chain-utils", version = "= 0.121.0" }
+ckb-dao-utils = { path = "../util/dao/utils", version = "= 0.121.0" }
+ckb-dao = { path = "../util/dao", version = "= 0.121.0" }
 ckb-system-scripts = { version = "= 0.5.4" }
-ckb-crypto = { path = "../util/crypto", version = "= 0.121.0-rc2" }
-ckb-jsonrpc-types = { path = "../util/jsonrpc-types", version = "= 0.121.0-rc2" }
-ckb-verification = { path = "../verification", version = "= 0.121.0-rc2" }
-ckb-verification-traits = { path = "../verification/traits", version = "= 0.121.0-rc2" }
-ckb-app-config = { path = "../util/app-config", version = "= 0.121.0-rc2" }
-ckb-resource = { path = "../resource", version = "= 0.121.0-rc2" }
-ckb-network = { path = "../network", version = "= 0.121.0-rc2" }
+ckb-crypto = { path = "../util/crypto", version = "= 0.121.0" }
+ckb-jsonrpc-types = { path = "../util/jsonrpc-types", version = "= 0.121.0" }
+ckb-verification = { path = "../verification", version = "= 0.121.0" }
+ckb-verification-traits = { path = "../verification/traits", version = "= 0.121.0" }
+ckb-app-config = { path = "../util/app-config", version = "= 0.121.0" }
+ckb-resource = { path = "../resource", version = "= 0.121.0" }
+ckb-network = { path = "../network", version = "= 0.121.0" }
 tempfile.workspace = true
 
 [[bench]]
diff --git a/block-filter/Cargo.toml b/block-filter/Cargo.toml
index 86ac7d529a..2f2d368e39 100644
--- a/block-filter/Cargo.toml
+++ b/block-filter/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "ckb-block-filter"
-version = "0.121.0-rc2"
+version = "0.121.0"
 license = "MIT"
 authors = ["Nervos Core Dev <dev@nervos.org>"]
 edition = "2021"
@@ -11,9 +11,9 @@ repository = "https://github.com/nervosnetwork/ckb"
 # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
 
 [dependencies]
-ckb-store = { path = "../store", version = "= 0.121.0-rc2" }
-ckb-shared = { path = "../shared", version = "= 0.121.0-rc2" }
-ckb-logger = { path = "../util/logger", version = "= 0.121.0-rc2" }
-ckb-types = { path = "../util/types", version = "= 0.121.0-rc2" }
-ckb-stop-handler = { path = "../util/stop-handler", version = "= 0.121.0-rc2" }
-ckb-async-runtime = { path = "../util/runtime", version = "= 0.121.0-rc2" }
+ckb-store = { path = "../store", version = "= 0.121.0" }
+ckb-shared = { path = "../shared", version = "= 0.121.0" }
+ckb-logger = { path = "../util/logger", version = "= 0.121.0" }
+ckb-types = { path = "../util/types", version = "= 0.121.0" }
+ckb-stop-handler = { path = "../util/stop-handler", version = "= 0.121.0" }
+ckb-async-runtime = { path = "../util/runtime", version = "= 0.121.0" }
diff --git a/chain/Cargo.toml b/chain/Cargo.toml
index f68181a1ad..9e918e8e05 100644
--- a/chain/Cargo.toml
+++ b/chain/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "ckb-chain"
-version = "0.121.0-rc2"
+version = "0.121.0"
 license = "MIT"
 authors = ["Nervos Core Dev <dev@nervos.org>"]
 edition = "2021"
@@ -9,48 +9,48 @@ homepage = "https://github.com/nervosnetwork/ckb"
 repository = "https://github.com/nervosnetwork/ckb"
 
 [dependencies]
-ckb-logger = { path = "../util/logger", version = "= 0.121.0-rc2" }
-ckb-metrics = { path = "../util/metrics", version = "= 0.121.0-rc2" }
-ckb-types = { path = "../util/types", version = "= 0.121.0-rc2" }
-ckb-shared = { path = "../shared", version = "= 0.121.0-rc2" }
-ckb-chain-spec = { path = "../spec", version = "= 0.121.0-rc2" }
-ckb-store = { path = "../store", version = "= 0.121.0-rc2" }
-ckb-verification = { path = "../verification", version = "= 0.121.0-rc2" }
-ckb-verification-contextual = { path = "../verification/contextual", version = "= 0.121.0-rc2" }
-ckb-verification-traits = { path = "../verification/traits", version = "= 0.121.0-rc2" }
-ckb-systemtime = { path = "../util/systemtime", version = "= 0.121.0-rc2" }
-ckb-stop-handler = { path = "../util/stop-handler", version = "= 0.121.0-rc2" }
-ckb-proposal-table = { path = "../util/proposal-table", version = "= 0.121.0-rc2" }
-ckb-error = { path = "../error", version = "= 0.121.0-rc2" }
-ckb-app-config = { path = "../util/app-config", version = "= 0.121.0-rc2" }
-ckb-channel = { path = "../util/channel", version = "= 0.121.0-rc2" }
-ckb-db = { path = "../db", version = "= 0.121.0-rc2" }
-ckb-db-schema = { path = "../db-schema", version = "= 0.121.0-rc2" }
+ckb-logger = { path = "../util/logger", version = "= 0.121.0" }
+ckb-metrics = { path = "../util/metrics", version = "= 0.121.0" }
+ckb-types = { path = "../util/types", version = "= 0.121.0" }
+ckb-shared = { path = "../shared", version = "= 0.121.0" }
+ckb-chain-spec = { path = "../spec", version = "= 0.121.0" }
+ckb-store = { path = "../store", version = "= 0.121.0" }
+ckb-verification = { path = "../verification", version = "= 0.121.0" }
+ckb-verification-contextual = { path = "../verification/contextual", version = "= 0.121.0" }
+ckb-verification-traits = { path = "../verification/traits", version = "= 0.121.0" }
+ckb-systemtime = { path = "../util/systemtime", version = "= 0.121.0" }
+ckb-stop-handler = { path = "../util/stop-handler", version = "= 0.121.0" }
+ckb-proposal-table = { path = "../util/proposal-table", version = "= 0.121.0" }
+ckb-error = { path = "../error", version = "= 0.121.0" }
+ckb-app-config = { path = "../util/app-config", version = "= 0.121.0" }
+ckb-channel = { path = "../util/channel", version = "= 0.121.0" }
+ckb-db = { path = "../db", version = "= 0.121.0" }
+ckb-db-schema = { path = "../db-schema", version = "= 0.121.0" }
 faux = { version = "^0.1", optional = true }
 ckb-merkle-mountain-range = "0.5.2"
 is_sorted = "0.1.1"
-ckb-constant = { path = "../util/constant", version = "= 0.121.0-rc2" }
-ckb-util = { path = "../util", version = "= 0.121.0-rc2" }
+ckb-constant = { path = "../util/constant", version = "= 0.121.0" }
+ckb-util = { path = "../util", version = "= 0.121.0" }
 crossbeam = "0.8.2"
-ckb-network = { path = "../network", version = "= 0.121.0-rc2" }
-ckb-tx-pool = { path = "../tx-pool", version = "= 0.121.0-rc2" }
+ckb-network = { path = "../network", version = "= 0.121.0" }
+ckb-tx-pool = { path = "../tx-pool", version = "= 0.121.0" }
 minstant = "0.1.4"
 dashmap = "4.0"
 
 [dev-dependencies]
-ckb-test-chain-utils = { path = "../util/test-chain-utils", version = "= 0.121.0-rc2" }
-ckb-dao-utils = { path = "../util/dao/utils", version = "= 0.121.0-rc2" }
-ckb-reward-calculator = { path = "../util/reward-calculator", version = "= 0.121.0-rc2" }
-ckb-tx-pool = { path = "../tx-pool", version = "= 0.121.0-rc2", features = [
+ckb-test-chain-utils = { path = "../util/test-chain-utils", version = "= 0.121.0" }
+ckb-dao-utils = { path = "../util/dao/utils", version = "= 0.121.0" }
+ckb-reward-calculator = { path = "../util/reward-calculator", version = "= 0.121.0" }
+ckb-tx-pool = { path = "../tx-pool", version = "= 0.121.0", features = [
     "internal",
 ] }
-ckb-jsonrpc-types = { path = "../util/jsonrpc-types", version = "= 0.121.0-rc2" }
-ckb-network = { path = "../network", version = "= 0.121.0-rc2" }
+ckb-jsonrpc-types = { path = "../util/jsonrpc-types", version = "= 0.121.0" }
+ckb-network = { path = "../network", version = "= 0.121.0" }
 tempfile.workspace = true
-ckb-systemtime = { path = "../util/systemtime", version = "= 0.121.0-rc2", features = [
+ckb-systemtime = { path = "../util/systemtime", version = "= 0.121.0", features = [
     "enable_faketime",
 ] }
-ckb-logger-service = { path = "../util/logger-service", version = "= 0.121.0-rc2" }
+ckb-logger-service = { path = "../util/logger-service", version = "= 0.121.0" }
 
 [features]
 default = []
diff --git a/ckb-bin/Cargo.toml b/ckb-bin/Cargo.toml
index 5fb7d28689..e552a20f6c 100644
--- a/ckb-bin/Cargo.toml
+++ b/ckb-bin/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "ckb-bin"
-version = "0.121.0-rc2"
+version = "0.121.0"
 license = "MIT"
 authors = ["Nervos Core Dev <dev@nervos.org>"]
 edition = "2021"
@@ -14,40 +14,40 @@ serde = { version = "1.0", features = ["derive"] }
 serde_json = { version = "1.0" }
 serde_plain = "0.3.0"
 toml = "0.5"
-ckb-app-config = { path = "../util/app-config", version = "= 0.121.0-rc2" }
-ckb-logger = { path = "../util/logger", version = "= 0.121.0-rc2" }
-ckb-logger-service = { path = "../util/logger-service", version = "= 0.121.0-rc2" }
-ckb-metrics-service = { path = "../util/metrics-service", version = "= 0.121.0-rc2" }
-ckb-util = { path = "../util", version = "= 0.121.0-rc2" }
-ckb-types = { path = "../util/types", version = "= 0.121.0-rc2" }
-ckb-channel = { path = "../util/channel", version = "= 0.121.0-rc2" }
-ckb-jsonrpc-types = { path = "../util/jsonrpc-types", version = "= 0.121.0-rc2" }
-ckb-chain = { path = "../chain", version = "= 0.121.0-rc2" }
-ckb-shared = { path = "../shared", version = "= 0.121.0-rc2" }
-ckb-store = { path = "../store", version = "= 0.121.0-rc2" }
-ckb-chain-spec = { path = "../spec", version = "= 0.121.0-rc2" }
-ckb-miner = { path = "../miner", version = "= 0.121.0-rc2" }
-ckb-network = { path = "../network", version = "= 0.121.0-rc2" }
-ckb-resource = { path = "../resource", version = "= 0.121.0-rc2" }
+ckb-app-config = { path = "../util/app-config", version = "= 0.121.0" }
+ckb-logger = { path = "../util/logger", version = "= 0.121.0" }
+ckb-logger-service = { path = "../util/logger-service", version = "= 0.121.0" }
+ckb-metrics-service = { path = "../util/metrics-service", version = "= 0.121.0" }
+ckb-util = { path = "../util", version = "= 0.121.0" }
+ckb-types = { path = "../util/types", version = "= 0.121.0" }
+ckb-channel = { path = "../util/channel", version = "= 0.121.0" }
+ckb-jsonrpc-types = { path = "../util/jsonrpc-types", version = "= 0.121.0" }
+ckb-chain = { path = "../chain", version = "= 0.121.0" }
+ckb-shared = { path = "../shared", version = "= 0.121.0" }
+ckb-store = { path = "../store", version = "= 0.121.0" }
+ckb-chain-spec = { path = "../spec", version = "= 0.121.0" }
+ckb-miner = { path = "../miner", version = "= 0.121.0" }
+ckb-network = { path = "../network", version = "= 0.121.0" }
+ckb-resource = { path = "../resource", version = "= 0.121.0" }
 ctrlc = { version = "3.1", features = ["termination"] }
-ckb-instrument = { path = "../util/instrument", version = "= 0.121.0-rc2", features = [
+ckb-instrument = { path = "../util/instrument", version = "= 0.121.0", features = [
     "progress_bar",
 ] }
-ckb-build-info = { path = "../util/build-info", version = "= 0.121.0-rc2" }
-ckb-memory-tracker = { path = "../util/memory-tracker", version = "= 0.121.0-rc2" }
-ckb-chain-iter = { path = "../util/chain-iter", version = "= 0.121.0-rc2" }
-ckb-verification-traits = { path = "../verification/traits", version = "= 0.121.0-rc2" }
-ckb-async-runtime = { path = "../util/runtime", version = "= 0.121.0-rc2" }
-ckb-migrate = { path = "../util/migrate", version = "= 0.121.0-rc2" }
-ckb-launcher = { path = "../util/launcher", version = "= 0.121.0-rc2" }
-ckb-constant = { path = "../util/constant", version = "= 0.121.0-rc2" }
+ckb-build-info = { path = "../util/build-info", version = "= 0.121.0" }
+ckb-memory-tracker = { path = "../util/memory-tracker", version = "= 0.121.0" }
+ckb-chain-iter = { path = "../util/chain-iter", version = "= 0.121.0" }
+ckb-verification-traits = { path = "../verification/traits", version = "= 0.121.0" }
+ckb-async-runtime = { path = "../util/runtime", version = "= 0.121.0" }
+ckb-migrate = { path = "../util/migrate", version = "= 0.121.0" }
+ckb-launcher = { path = "../util/launcher", version = "= 0.121.0" }
+ckb-constant = { path = "../util/constant", version = "= 0.121.0" }
 base64 = "0.21.0"
 tempfile.workspace = true
 rayon = "1.0"
 sentry = { version = "0.34.0", optional = true }
 is-terminal = "0.4.7"
 fdlimit = "0.2.1"
-ckb-stop-handler = { path = "../util/stop-handler", version = "= 0.121.0-rc2" }
+ckb-stop-handler = { path = "../util/stop-handler", version = "= 0.121.0" }
 tokio = { version = "1", features = ["sync"] }
 
 [target.'cfg(not(target_os="windows"))'.dependencies]
diff --git a/db-migration/Cargo.toml b/db-migration/Cargo.toml
index 5a28a93011..3adcc49e96 100644
--- a/db-migration/Cargo.toml
+++ b/db-migration/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "ckb-db-migration"
-version = "0.121.0-rc2"
+version = "0.121.0"
 license = "MIT"
 authors = ["Nervos Core Dev <dev@nervos.org>"]
 edition = "2021"
@@ -11,18 +11,18 @@ repository = "https://github.com/nervosnetwork/ckb"
 # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
 
 [dependencies]
-ckb-db = { path = "../db", version = "= 0.121.0-rc2" }
-ckb-logger = { path = "../util/logger", version = "= 0.121.0-rc2" }
-ckb-error = { path = "../error", version = "= 0.121.0-rc2" }
-ckb-db-schema = { path = "../db-schema", version = "= 0.121.0-rc2" }
-ckb-channel = { path = "../util/channel", version = "= 0.121.0-rc2" }
-ckb-stop-handler = { path = "../util/stop-handler", version = "= 0.121.0-rc2" }
+ckb-db = { path = "../db", version = "= 0.121.0" }
+ckb-logger = { path = "../util/logger", version = "= 0.121.0" }
+ckb-error = { path = "../error", version = "= 0.121.0" }
+ckb-db-schema = { path = "../db-schema", version = "= 0.121.0" }
+ckb-channel = { path = "../util/channel", version = "= 0.121.0" }
+ckb-stop-handler = { path = "../util/stop-handler", version = "= 0.121.0" }
 indicatif = "0.16"
 console = ">=0.9.1, <1.0.0"
 
 [dev-dependencies]
 tempfile.workspace = true
-ckb-app-config = { path = "../util/app-config", version = "= 0.121.0-rc2" }
+ckb-app-config = { path = "../util/app-config", version = "= 0.121.0" }
 
 [features]
 portable = ["ckb-db/portable"]
diff --git a/db-schema/Cargo.toml b/db-schema/Cargo.toml
index 03fc36cc51..dfb68417a8 100644
--- a/db-schema/Cargo.toml
+++ b/db-schema/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "ckb-db-schema"
-version = "0.121.0-rc2"
+version = "0.121.0"
 license = "MIT"
 authors = ["Nervos Core Dev <dev@nervos.org>"]
 edition = "2021"
diff --git a/db/Cargo.toml b/db/Cargo.toml
index 2314fd7e5f..b5f257224d 100644
--- a/db/Cargo.toml
+++ b/db/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "ckb-db"
-version = "0.121.0-rc2"
+version = "0.121.0"
 license = "MIT"
 authors = ["Nervos Core Dev <dev@nervos.org>"]
 edition = "2021"
@@ -9,15 +9,15 @@ homepage = "https://github.com/nervosnetwork/ckb"
 repository = "https://github.com/nervosnetwork/ckb"
 
 [dependencies]
-ckb-app-config = { path = "../util/app-config", version = "= 0.121.0-rc2" }
-ckb-logger = { path = "../util/logger", version = "= 0.121.0-rc2" }
-ckb-error = { path = "../error", version = "= 0.121.0-rc2" }
+ckb-app-config = { path = "../util/app-config", version = "= 0.121.0" }
+ckb-logger = { path = "../util/logger", version = "= 0.121.0" }
+ckb-error = { path = "../error", version = "= 0.121.0" }
 libc = "0.2"
 rocksdb = { package = "ckb-rocksdb", version = "=0.21.1", features = [
     "snappy",
     "lz4",
 ], default-features = false }
-ckb-db-schema = { path = "../db-schema", version = "= 0.121.0-rc2" }
+ckb-db-schema = { path = "../db-schema", version = "= 0.121.0" }
 
 
 [dev-dependencies]
diff --git a/devtools/doc/rpc-gen/Cargo.toml b/devtools/doc/rpc-gen/Cargo.toml
index a7e753abf7..bac787c24a 100644
--- a/devtools/doc/rpc-gen/Cargo.toml
+++ b/devtools/doc/rpc-gen/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "ckb-rpc-gen"
-version = "0.121.0-rc2"
+version = "0.121.0"
 edition = "2021"
 license = "MIT"
 authors = ["Nervos Core Dev <dev@nervos.org>"]
@@ -9,7 +9,7 @@ homepage = "https://github.com/nervosnetwork/ckb"
 repository = "https://github.com/nervosnetwork/ckb"
 
 [dependencies]
-ckb-rpc ={ path = "../../../rpc", version = "= 0.121.0-rc2" }
+ckb-rpc ={ path = "../../../rpc", version = "= 0.121.0" }
 schemars = { version = "0.8.19", package = "ckb_schemars" }
 serde_json = "~1.0"
 tera = "1"
diff --git a/error/Cargo.toml b/error/Cargo.toml
index 9156aa44e3..0d3fa6d876 100644
--- a/error/Cargo.toml
+++ b/error/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "ckb-error"
-version = "0.121.0-rc2"
+version = "0.121.0"
 license = "MIT"
 authors = ["Nervos Core Dev <dev@nervos.org>"]
 edition = "2021"
@@ -11,7 +11,7 @@ repository = "https://github.com/nervosnetwork/ckb"
 [dependencies]
 thiserror = "1.0.22"
 anyhow = "1.0.34"
-ckb-occupied-capacity = { path = "../util/occupied-capacity", version = "= 0.121.0-rc2" }
+ckb-occupied-capacity = { path = "../util/occupied-capacity", version = "= 0.121.0" }
 derive_more = { version = "1", default-features = false, features = [
     "display",
 ] }
diff --git a/freezer/Cargo.toml b/freezer/Cargo.toml
index 9263776903..82cebd02af 100644
--- a/freezer/Cargo.toml
+++ b/freezer/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "ckb-freezer"
-version = "0.121.0-rc2"
+version = "0.121.0"
 license = "MIT"
 authors = ["Nervos Core Dev <dev@nervos.org>"]
 edition = "2021"
@@ -10,11 +10,11 @@ repository = "https://github.com/nervosnetwork/ckb"
 # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
 
 [dependencies]
-ckb-types = { path = "../util/types", version = "= 0.121.0-rc2" }
-ckb-error = { path = "../error", version = "= 0.121.0-rc2" }
-ckb-logger = { path = "../util/logger", version = "= 0.121.0-rc2" }
-ckb-util = { path = "../util", version = "= 0.121.0-rc2" }
-ckb-metrics = { path = "../util/metrics", version = "= 0.121.0-rc2" }
+ckb-types = { path = "../util/types", version = "= 0.121.0" }
+ckb-error = { path = "../error", version = "= 0.121.0" }
+ckb-logger = { path = "../util/logger", version = "= 0.121.0" }
+ckb-util = { path = "../util", version = "= 0.121.0" }
+ckb-metrics = { path = "../util/metrics", version = "= 0.121.0" }
 fs2 = "0.4.3"
 fail = "0.4"
 snap = "1"
diff --git a/miner/Cargo.toml b/miner/Cargo.toml
index 86b0574df0..1b1ef5aa01 100644
--- a/miner/Cargo.toml
+++ b/miner/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "ckb-miner"
-version = "0.121.0-rc2"
+version = "0.121.0"
 license = "MIT"
 authors = ["Nervos Core Dev <dev@nervos.org>"]
 edition = "2021"
@@ -9,17 +9,17 @@ homepage = "https://github.com/nervosnetwork/ckb"
 repository = "https://github.com/nervosnetwork/ckb"
 
 [dependencies]
-ckb-logger = { path = "../util/logger", version = "= 0.121.0-rc2" }
-ckb-app-config = { path = "../util/app-config", version = "= 0.121.0-rc2" }
-ckb-types = { path = "../util/types", version = "= 0.121.0-rc2" }
-ckb-channel = { path = "../util/channel", version = "= 0.121.0-rc2" }
-ckb-hash = { path = "../util/hash", version = "= 0.121.0-rc2" }
-ckb-pow = { path = "../pow", version = "= 0.121.0-rc2" }
+ckb-logger = { path = "../util/logger", version = "= 0.121.0" }
+ckb-app-config = { path = "../util/app-config", version = "= 0.121.0" }
+ckb-types = { path = "../util/types", version = "= 0.121.0" }
+ckb-channel = { path = "../util/channel", version = "= 0.121.0" }
+ckb-hash = { path = "../util/hash", version = "= 0.121.0" }
+ckb-pow = { path = "../pow", version = "= 0.121.0" }
 rand = "0.8"
 rand_distr = "0.4"
 serde = { version = "1.0", features = ["derive"] }
 serde_json = "1.0"
-ckb-jsonrpc-types = { path = "../util/jsonrpc-types", version = "= 0.121.0-rc2" }
+ckb-jsonrpc-types = { path = "../util/jsonrpc-types", version = "= 0.121.0" }
 hyper = { version = "1", features = ["client", "http2", "http1", "server"] }
 hyper-util = { version = "0.1", features = [
     "server-auto",
@@ -30,8 +30,8 @@ http-body-util = "0.1"
 hyper-tls = "0.6"
 futures = "0.3"
 lru = "0.7.1"
-ckb-stop-handler = { path = "../util/stop-handler", version = "= 0.121.0-rc2" }
-ckb-async-runtime = { path = "../util/runtime", version = "= 0.121.0-rc2" }
+ckb-stop-handler = { path = "../util/stop-handler", version = "= 0.121.0" }
+ckb-async-runtime = { path = "../util/runtime", version = "= 0.121.0" }
 indicatif = "0.16"
 console = ">=0.9.1, <1.0.0"
 eaglesong = "0.1"
diff --git a/network/Cargo.toml b/network/Cargo.toml
index 2aa396d0f0..f235ffc202 100644
--- a/network/Cargo.toml
+++ b/network/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "ckb-network"
-version = "0.121.0-rc2"
+version = "0.121.0"
 license = "MIT"
 authors = ["Nervos Core Dev <dev@nervos.org>"]
 edition = "2021"
@@ -12,27 +12,27 @@ exclude = ["fuzz"]
 [dependencies]
 rand = "0.8"
 serde = { version = "1.0", features = ["derive"] }
-ckb-util = { path = "../util", version = "= 0.121.0-rc2" }
-ckb-stop-handler = { path = "../util/stop-handler", version = "= 0.121.0-rc2" }
-ckb-logger = { path = "../util/logger", version = "= 0.121.0-rc2" }
-ckb-app-config = { path = "../util/app-config", version = "= 0.121.0-rc2" }
-ckb-metrics = { path = "../util/metrics", version = "= 0.121.0-rc2" }
+ckb-util = { path = "../util", version = "= 0.121.0" }
+ckb-stop-handler = { path = "../util/stop-handler", version = "= 0.121.0" }
+ckb-logger = { path = "../util/logger", version = "= 0.121.0" }
+ckb-app-config = { path = "../util/app-config", version = "= 0.121.0" }
+ckb-metrics = { path = "../util/metrics", version = "= 0.121.0" }
 tokio = { version = "1", features = ["sync", "macros"] }
 tokio-util = { version = "0.7", features = ["codec"] }
 futures = "0.3"
-ckb-systemtime = { path = "../util/systemtime", version = "= 0.121.0-rc2" }
+ckb-systemtime = { path = "../util/systemtime", version = "= 0.121.0" }
 bs58 = { version = "0.5.0", optional = true }
 sentry = { version = "0.34.0", optional = true }
 faster-hex = { version = "0.6", optional = true }
-ckb-hash = { path = "../util/hash", version = "= 0.121.0-rc2" }
+ckb-hash = { path = "../util/hash", version = "= 0.121.0" }
 secp256k1 = { version = "0.30", features = ["recovery"], optional = true }
 hickory-resolver = { version = "0.24.2", optional = true }
 snap = "1"
-ckb-types = { path = "../util/types", version = "= 0.121.0-rc2" }
+ckb-types = { path = "../util/types", version = "= 0.121.0" }
 ipnetwork = "0.20"
 serde_json = "1.0"
 bloom-filters = "0.1"
-ckb-spawn = { path = "../util/spawn", version = "= 0.121.0-rc2" }
+ckb-spawn = { path = "../util/spawn", version = "= 0.121.0" }
 bitflags = "1.0"
 p2p = { version = "0.6.2", package = "tentacle", default-features = false }
 
@@ -65,7 +65,7 @@ tempfile.workspace = true
 criterion = "0.5"
 proptest = "1.0"
 num_cpus = "1.10"
-ckb-systemtime = { path = "../util/systemtime", version = "= 0.121.0-rc2", features = [
+ckb-systemtime = { path = "../util/systemtime", version = "= 0.121.0", features = [
     "enable_faketime",
 ] }
 
diff --git a/network/fuzz/Cargo.toml b/network/fuzz/Cargo.toml
index 18fdf2ac4b..e2d58ecb71 100644
--- a/network/fuzz/Cargo.toml
+++ b/network/fuzz/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "ckb-network-fuzz"
-version = "0.121.0-rc2"
+version = "0.121.0"
 publish = false
 edition = "2021"
 license = "MIT"
diff --git a/notify/Cargo.toml b/notify/Cargo.toml
index 65af44d902..1112e600ba 100644
--- a/notify/Cargo.toml
+++ b/notify/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "ckb-notify"
-version = "0.121.0-rc2"
+version = "0.121.0"
 authors = ["Nervos Core Dev <dev@nervos.org>"]
 edition = "2021"
 license = "MIT"
@@ -9,11 +9,11 @@ homepage = "https://github.com/nervosnetwork/ckb"
 repository = "https://github.com/nervosnetwork/ckb"
 
 [dependencies]
-ckb-logger = { path = "../util/logger", version = "= 0.121.0-rc2" }
-ckb-app-config = { path = "../util/app-config", version = "= 0.121.0-rc2" }
-ckb-types = { path = "../util/types", version = "= 0.121.0-rc2" }
-ckb-stop-handler = { path = "../util/stop-handler", version = "= 0.121.0-rc2" }
-ckb-async-runtime = { path = "../util/runtime", version = "= 0.121.0-rc2" }
+ckb-logger = { path = "../util/logger", version = "= 0.121.0" }
+ckb-app-config = { path = "../util/app-config", version = "= 0.121.0" }
+ckb-types = { path = "../util/types", version = "= 0.121.0" }
+ckb-stop-handler = { path = "../util/stop-handler", version = "= 0.121.0" }
+ckb-async-runtime = { path = "../util/runtime", version = "= 0.121.0" }
 
 [target.'cfg(target_family = "wasm")'.dependencies]
 tokio = { version = "1", features = ["sync"] }
diff --git a/pow/Cargo.toml b/pow/Cargo.toml
index ce95ec1ffb..e6c12875e1 100644
--- a/pow/Cargo.toml
+++ b/pow/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "ckb-pow"
-version = "0.121.0-rc2"
+version = "0.121.0"
 authors = ["Nervos Core Dev <dev@nervos.org>"]
 edition = "2021"
 license = "MIT"
@@ -10,8 +10,8 @@ repository = "https://github.com/nervosnetwork/ckb"
 
 [dependencies]
 byteorder = "1.3.1"
-ckb-types = { path = "../util/types", version = "= 0.121.0-rc2" }
-ckb-hash = { path = "../util/hash", version = "= 0.121.0-rc2"}
+ckb-types = { path = "../util/types", version = "= 0.121.0" }
+ckb-hash = { path = "../util/hash", version = "= 0.121.0"}
 serde = { version = "1.0", features = ["derive"] }
 eaglesong = "0.1"
 log = "0.4"
diff --git a/resource/Cargo.toml b/resource/Cargo.toml
index 3c411ae8e6..de98397ffe 100644
--- a/resource/Cargo.toml
+++ b/resource/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "ckb-resource"
-version = "0.121.0-rc2"
+version = "0.121.0"
 license = "MIT"
 authors = ["Nervos Core Dev <dev@nervos.org>"]
 edition = "2021"
@@ -13,13 +13,13 @@ repository = "https://github.com/nervosnetwork/ckb"
 phf = "0.8.0"
 includedir = "0.6.0"
 serde = { version = "1.0", features = ["derive"] }
-ckb-types = { path = "../util/types", version = "= 0.121.0-rc2" }
+ckb-types = { path = "../util/types", version = "= 0.121.0" }
 ckb-system-scripts = { version = "= 0.5.4" }
 
 [build-dependencies]
 includedir_codegen = "0.6.0"
 walkdir = "2.1.4"
-ckb-types = { path = "../util/types", version = "= 0.121.0-rc2" }
+ckb-types = { path = "../util/types", version = "= 0.121.0" }
 ckb-system-scripts = { version = "= 0.5.4" }
 
 [dev-dependencies]
diff --git a/rpc/Cargo.toml b/rpc/Cargo.toml
index 771a3581a6..6cf2754d8c 100644
--- a/rpc/Cargo.toml
+++ b/rpc/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "ckb-rpc"
-version = "0.121.0-rc2"
+version = "0.121.0"
 license = "MIT"
 authors = ["Nervos Core Dev <dev@nervos.org>"]
 edition = "2021"
@@ -9,38 +9,38 @@ homepage = "https://github.com/nervosnetwork/ckb"
 repository = "https://github.com/nervosnetwork/ckb"
 
 [dependencies]
-ckb-chain-spec = { path = "../spec", version = "= 0.121.0-rc2" }
-ckb-types = { path = "../util/types", version = "= 0.121.0-rc2" }
-ckb-network = { path = "../network", version = "= 0.121.0-rc2" }
-ckb-notify = { path = "../notify", version = "= 0.121.0-rc2" }
-ckb-shared = { path = "../shared", version = "= 0.121.0-rc2" }
-ckb-store = { path = "../store", version = "= 0.121.0-rc2" }
-ckb-sync = { path = "../sync", version = "= 0.121.0-rc2" }
-ckb-chain = { path = "../chain", version = "= 0.121.0-rc2" }
-ckb-logger = { path = "../util/logger", version = "= 0.121.0-rc2" }
-ckb-logger-service = { path = "../util/logger-service", version = "= 0.121.0-rc2" }
-ckb-network-alert = { path = "../util/network-alert", version = "= 0.121.0-rc2" }
-ckb-app-config = { path = "../util/app-config", version = "= 0.121.0-rc2" }
-ckb-constant = { path = "../util/constant", version = "= 0.121.0-rc2" }
+ckb-chain-spec = { path = "../spec", version = "= 0.121.0" }
+ckb-types = { path = "../util/types", version = "= 0.121.0" }
+ckb-network = { path = "../network", version = "= 0.121.0" }
+ckb-notify = { path = "../notify", version = "= 0.121.0" }
+ckb-shared = { path = "../shared", version = "= 0.121.0" }
+ckb-store = { path = "../store", version = "= 0.121.0" }
+ckb-sync = { path = "../sync", version = "= 0.121.0" }
+ckb-chain = { path = "../chain", version = "= 0.121.0" }
+ckb-logger = { path = "../util/logger", version = "= 0.121.0" }
+ckb-logger-service = { path = "../util/logger-service", version = "= 0.121.0" }
+ckb-network-alert = { path = "../util/network-alert", version = "= 0.121.0" }
+ckb-app-config = { path = "../util/app-config", version = "= 0.121.0" }
+ckb-constant = { path = "../util/constant", version = "= 0.121.0" }
 jsonrpc-core = "18.0"
 serde_json = "1.0"
 jsonrpc-utils = { version = "0.3", features = ["server", "macros", "axum"] }
-ckb-jsonrpc-types = { path = "../util/jsonrpc-types", version = "= 0.121.0-rc2" }
-ckb-verification = { path = "../verification", version = "= 0.121.0-rc2" }
-ckb-verification-traits = { path = "../verification/traits", version = "= 0.121.0-rc2" }
-ckb-traits = { path = "../traits", version = "= 0.121.0-rc2" }
-ckb-util = { path = "../util", version = "= 0.121.0-rc2" }
-ckb-systemtime = { path = "../util/systemtime", version = "= 0.121.0-rc2" }
-ckb-dao = { path = "../util/dao", version = "= 0.121.0-rc2" }
-ckb-error = { path = "../error", version = "= 0.121.0-rc2" }
-ckb-reward-calculator = { path = "../util/reward-calculator", version = "= 0.121.0-rc2" }
-ckb-tx-pool = { path = "../tx-pool", version = "= 0.121.0-rc2" }
-ckb-memory-tracker = { path = "../util/memory-tracker", version = "= 0.121.0-rc2" }
-ckb-pow = { path = "../pow", version = "= 0.121.0-rc2" }
-ckb-indexer = { path = "../util/indexer", version = "= 0.121.0-rc2" }
-ckb-indexer-sync = { path = "../util/indexer-sync", version = "= 0.121.0-rc2" }
-ckb-rich-indexer = { path = "../util/rich-indexer", version = "= 0.121.0-rc2" }
-ckb-stop-handler = { path = "../util/stop-handler", version = "= 0.121.0-rc2" }
+ckb-jsonrpc-types = { path = "../util/jsonrpc-types", version = "= 0.121.0" }
+ckb-verification = { path = "../verification", version = "= 0.121.0" }
+ckb-verification-traits = { path = "../verification/traits", version = "= 0.121.0" }
+ckb-traits = { path = "../traits", version = "= 0.121.0" }
+ckb-util = { path = "../util", version = "= 0.121.0" }
+ckb-systemtime = { path = "../util/systemtime", version = "= 0.121.0" }
+ckb-dao = { path = "../util/dao", version = "= 0.121.0" }
+ckb-error = { path = "../error", version = "= 0.121.0" }
+ckb-reward-calculator = { path = "../util/reward-calculator", version = "= 0.121.0" }
+ckb-tx-pool = { path = "../tx-pool", version = "= 0.121.0" }
+ckb-memory-tracker = { path = "../util/memory-tracker", version = "= 0.121.0" }
+ckb-pow = { path = "../pow", version = "= 0.121.0" }
+ckb-indexer = { path = "../util/indexer", version = "= 0.121.0" }
+ckb-indexer-sync = { path = "../util/indexer-sync", version = "= 0.121.0" }
+ckb-rich-indexer = { path = "../util/rich-indexer", version = "= 0.121.0" }
+ckb-stop-handler = { path = "../util/stop-handler", version = "= 0.121.0" }
 itertools.workspace = true
 tokio = "1"
 async-trait = "0.1"
@@ -49,15 +49,15 @@ tokio-util = { version = "0.7.3", features = ["codec"] }
 futures-util = { version = "0.3.21" }
 tower-http = { version = "0.6", features = ["timeout", "cors"] }
 async-stream = "0.3.3"
-ckb-async-runtime = { path = "../util/runtime", version = "= 0.121.0-rc2" }
+ckb-async-runtime = { path = "../util/runtime", version = "= 0.121.0" }
 # issue tracking: https://github.com/GREsau/schemars/pull/251
 schemars = { version = "0.8.19", package = "ckb_schemars" }
 
 [dev-dependencies]
 reqwest = { version = "0.12", features = ["blocking", "json"] }
 serde = { version = "1.0", features = ["derive"] }
-ckb-shared = { path = "../shared", version = "= 0.121.0-rc2" }
-ckb-test-chain-utils = { path = "../util/test-chain-utils", version = "= 0.121.0-rc2" }
+ckb-shared = { path = "../shared", version = "= 0.121.0" }
+ckb-test-chain-utils = { path = "../util/test-chain-utils", version = "= 0.121.0" }
 tempfile.workspace = true
 pretty_assertions = "1.3.0"
-ckb-dao-utils = { path = "../util/dao/utils", version = "= 0.121.0-rc2" }
+ckb-dao-utils = { path = "../util/dao/utils", version = "= 0.121.0" }
diff --git a/script/Cargo.toml b/script/Cargo.toml
index 256c91f738..93d6f98260 100644
--- a/script/Cargo.toml
+++ b/script/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "ckb-script"
-version = "0.121.0-rc2"
+version = "0.121.0"
 license = "MIT"
 authors = ["Nervos Core Dev <dev@nervos.org>"]
 edition = "2021"
@@ -18,16 +18,16 @@ logging = ["ckb-logger"]
 flatmemory = []
 
 [dependencies]
-ckb-traits = { path = "../traits", version = "= 0.121.0-rc2" }
+ckb-traits = { path = "../traits", version = "= 0.121.0" }
 byteorder = "1.3.1"
-ckb-types = { path = "../util/types", version = "= 0.121.0-rc2" }
-ckb-hash = { path = "../util/hash", version = "= 0.121.0-rc2" }
+ckb-types = { path = "../util/types", version = "= 0.121.0" }
+ckb-hash = { path = "../util/hash", version = "= 0.121.0" }
 ckb-vm = { version = "= 0.24.12", default-features = false }
 faster-hex = "0.6"
-ckb-logger = { path = "../util/logger", version = "= 0.121.0-rc2", optional = true }
+ckb-logger = { path = "../util/logger", version = "= 0.121.0", optional = true }
 serde = { version = "1.0", features = ["derive"] }
-ckb-error = { path = "../error", version = "= 0.121.0-rc2" }
-ckb-chain-spec = { path = "../spec", version = "= 0.121.0-rc2" }
+ckb-error = { path = "../error", version = "= 0.121.0" }
+ckb-chain-spec = { path = "../spec", version = "= 0.121.0" }
 tokio = { version = "1.35.0", features = ["sync", "macros"] }
 
 [target.'cfg(not(target_family = "wasm"))'.dependencies]
@@ -35,12 +35,12 @@ tokio = { version = "1.35.0", features = ["rt-multi-thread"] }
 
 [dev-dependencies]
 proptest = "1.0"
-ckb-db = { path = "../db", version = "= 0.121.0-rc2" }
-ckb-store = { path = "../store", version = "= 0.121.0-rc2" }
-ckb-test-chain-utils = { path = "../util/test-chain-utils", version = "= 0.121.0-rc2" }
+ckb-db = { path = "../db", version = "= 0.121.0" }
+ckb-store = { path = "../store", version = "= 0.121.0" }
+ckb-test-chain-utils = { path = "../util/test-chain-utils", version = "= 0.121.0" }
 tiny-keccak = { version = "2.0", features = ["sha3"] }
-ckb-crypto = { path = "../util/crypto", version = "= 0.121.0-rc2" }
-ckb-db-schema = { path = "../db-schema", version = "= 0.121.0-rc2" }
+ckb-crypto = { path = "../util/crypto", version = "= 0.121.0" }
+ckb-db-schema = { path = "../db-schema", version = "= 0.121.0" }
 tempfile.workspace = true
 rand = "0.8.4"
 daggy = "0.8.0"
diff --git a/script/fuzz/Cargo.toml b/script/fuzz/Cargo.toml
index 297c66c159..08a0342f59 100644
--- a/script/fuzz/Cargo.toml
+++ b/script/fuzz/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "ckb-script-fuzz"
-version = "0.121.0-rc2"
+version = "0.121.0"
 license = "MIT"
 authors = ["Nervos Core Dev <dev@nervos.org>"]
 edition = "2021"
@@ -15,10 +15,10 @@ cargo-fuzz = true
 [dependencies]
 arbitrary = { version = "1", features = ["derive"] }
 libfuzzer-sys = { version="0.4.0", features=["arbitrary-derive"] }
-ckb-traits = { path = "../../traits", version = "= 0.121.0-rc2" }
-ckb-types = { path = "../../util/types", version = "= 0.121.0-rc2" }
-ckb-script = { path = "../../script", version = "= 0.121.0-rc2" }
-ckb-chain-spec = { path = "../../spec", version = "= 0.121.0-rc2" }
+ckb-traits = { path = "../../traits", version = "= 0.121.0" }
+ckb-types = { path = "../../util/types", version = "= 0.121.0" }
+ckb-script = { path = "../../script", version = "= 0.121.0" }
+ckb-chain-spec = { path = "../../spec", version = "= 0.121.0" }
 
 # Prevent this from interfering with workspaces
 [workspace]
diff --git a/shared/Cargo.toml b/shared/Cargo.toml
index db308518c5..319be20385 100644
--- a/shared/Cargo.toml
+++ b/shared/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "ckb-shared"
-version = "0.121.0-rc2"
+version = "0.121.0"
 authors = ["Nervos Core Dev <dev@nervos.org>"]
 edition = "2021"
 license = "MIT"
@@ -9,29 +9,29 @@ homepage = "https://github.com/nervosnetwork/ckb"
 repository = "https://github.com/nervosnetwork/ckb"
 
 [dependencies]
-ckb-types = { path = "../util/types", version = "= 0.121.0-rc2" }
-ckb-chain-spec = { path = "../spec", version = "= 0.121.0-rc2" }
-ckb-store = { path = "../store", version = "= 0.121.0-rc2" }
-ckb-db = { path = "../db", version = "= 0.121.0-rc2" }
-ckb-proposal-table = { path = "../util/proposal-table", version = "= 0.121.0-rc2" }
+ckb-types = { path = "../util/types", version = "= 0.121.0" }
+ckb-chain-spec = { path = "../spec", version = "= 0.121.0" }
+ckb-store = { path = "../store", version = "= 0.121.0" }
+ckb-db = { path = "../db", version = "= 0.121.0" }
+ckb-proposal-table = { path = "../util/proposal-table", version = "= 0.121.0" }
 arc-swap = "1.3"
-ckb-error = { path = "../error", version = "= 0.121.0-rc2" }
-ckb-snapshot = { path = "../util/snapshot", version = "= 0.121.0-rc2" }
-ckb-tx-pool = { path = "../tx-pool", version = "= 0.121.0-rc2" }
-ckb-verification = { path = "../verification", version = "= 0.121.0-rc2" }
-ckb-notify = { path = "../notify", version = "= 0.121.0-rc2" }
-ckb-logger = { path = "../util/logger", version = "= 0.121.0-rc2" }
-ckb-db-schema = { path = "../db-schema", version = "= 0.121.0-rc2" }
-ckb-async-runtime = { path = "../util/runtime", version = "= 0.121.0-rc2" }
-ckb-stop-handler = { path = "../util/stop-handler", version = "= 0.121.0-rc2" }
-ckb-constant = { path = "../util/constant", version = "= 0.121.0-rc2" }
-ckb-systemtime = { path = "../util/systemtime", version = "= 0.121.0-rc2" }
-ckb-channel = { path = "../util/channel", version = "= 0.121.0-rc2" }
-ckb-app-config = { path = "../util/app-config", version = "= 0.121.0-rc2" }
-ckb-migrate = { path = "../util/migrate", version = "= 0.121.0-rc2" }
-ckb-fee-estimator = { path = "../util/fee-estimator", version = "= 0.121.0-rc2"}
-ckb-util = { path = "../util", version = "= 0.121.0-rc2" }
-ckb-metrics = { path = "../util/metrics", version = "= 0.121.0-rc2" }
+ckb-error = { path = "../error", version = "= 0.121.0" }
+ckb-snapshot = { path = "../util/snapshot", version = "= 0.121.0" }
+ckb-tx-pool = { path = "../tx-pool", version = "= 0.121.0" }
+ckb-verification = { path = "../verification", version = "= 0.121.0" }
+ckb-notify = { path = "../notify", version = "= 0.121.0" }
+ckb-logger = { path = "../util/logger", version = "= 0.121.0" }
+ckb-db-schema = { path = "../db-schema", version = "= 0.121.0" }
+ckb-async-runtime = { path = "../util/runtime", version = "= 0.121.0" }
+ckb-stop-handler = { path = "../util/stop-handler", version = "= 0.121.0" }
+ckb-constant = { path = "../util/constant", version = "= 0.121.0" }
+ckb-systemtime = { path = "../util/systemtime", version = "= 0.121.0" }
+ckb-channel = { path = "../util/channel", version = "= 0.121.0" }
+ckb-app-config = { path = "../util/app-config", version = "= 0.121.0" }
+ckb-migrate = { path = "../util/migrate", version = "= 0.121.0" }
+ckb-fee-estimator = { path = "../util/fee-estimator", version = "= 0.121.0"}
+ckb-util = { path = "../util", version = "= 0.121.0" }
+ckb-metrics = { path = "../util/metrics", version = "= 0.121.0" }
 bitflags = "1.0"
 tokio = { version = "1", features = ["sync"] }
 tempfile.workspace = true
@@ -39,7 +39,7 @@ sled = "0.34.7"
 dashmap = "4.0"
 
 [dev-dependencies]
-ckb-systemtime = { path = "../util/systemtime", version = "= 0.121.0-rc2", features = [
+ckb-systemtime = { path = "../util/systemtime", version = "= 0.121.0", features = [
     "enable_faketime",
 ] }
 
diff --git a/spec/Cargo.toml b/spec/Cargo.toml
index ad7eecb093..d83249d0dc 100644
--- a/spec/Cargo.toml
+++ b/spec/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "ckb-chain-spec"
-version = "0.121.0-rc2"
+version = "0.121.0"
 license = "MIT"
 authors = ["Nervos Core Dev <dev@nervos.org>"]
 edition = "2021"
@@ -11,18 +11,18 @@ repository = "https://github.com/nervosnetwork/ckb"
 [dependencies]
 serde = { version = "1.0", features = ["derive"] }
 toml = "0.5"
-ckb-constant = { path = "../util/constant", version = "= 0.121.0-rc2" }
-ckb-types = { path = "../util/types", version = "= 0.121.0-rc2" }
-ckb-pow = { path = "../pow", version = "= 0.121.0-rc2" }
-ckb-resource = { path = "../resource", version = "= 0.121.0-rc2" }
-ckb-jsonrpc-types = { path = "../util/jsonrpc-types", version = "= 0.121.0-rc2" }
-ckb-dao-utils = { path = "../util/dao/utils", version = "= 0.121.0-rc2" }
-ckb-rational = { path = "../util/rational", version = "= 0.121.0-rc2" }
-ckb-crypto = { path = "../util/crypto", version = "= 0.121.0-rc2" }
-ckb-hash = { path = "../util/hash", version = "= 0.121.0-rc2" }
-ckb-error = { path = "../error", version = "= 0.121.0-rc2" }
-ckb-traits = { path = "../traits", version = "= 0.121.0-rc2" }
-ckb-logger = { path = "../util/logger", version = "= 0.121.0-rc2" }
+ckb-constant = { path = "../util/constant", version = "= 0.121.0" }
+ckb-types = { path = "../util/types", version = "= 0.121.0" }
+ckb-pow = { path = "../pow", version = "= 0.121.0" }
+ckb-resource = { path = "../resource", version = "= 0.121.0" }
+ckb-jsonrpc-types = { path = "../util/jsonrpc-types", version = "= 0.121.0" }
+ckb-dao-utils = { path = "../util/dao/utils", version = "= 0.121.0" }
+ckb-rational = { path = "../util/rational", version = "= 0.121.0" }
+ckb-crypto = { path = "../util/crypto", version = "= 0.121.0" }
+ckb-hash = { path = "../util/hash", version = "= 0.121.0" }
+ckb-error = { path = "../error", version = "= 0.121.0" }
+ckb-traits = { path = "../traits", version = "= 0.121.0" }
+ckb-logger = { path = "../util/logger", version = "= 0.121.0" }
 
 [target.'cfg(not(target_family = "wasm"))'.dependencies]
 cacache = { version = "13.0.0", default-features = false, features = [
diff --git a/store/Cargo.toml b/store/Cargo.toml
index e9e91c9849..33dc0d9111 100644
--- a/store/Cargo.toml
+++ b/store/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "ckb-store"
-version = "0.121.0-rc2"
+version = "0.121.0"
 authors = ["Nervos Core Dev <dev@nervos.org>"]
 edition = "2021"
 license = "MIT"
@@ -9,16 +9,16 @@ homepage = "https://github.com/nervosnetwork/ckb"
 repository = "https://github.com/nervosnetwork/ckb"
 
 [dependencies]
-ckb-types = { path = "../util/types", version = "= 0.121.0-rc2" }
-ckb-db = { path = "../db", version = "= 0.121.0-rc2" }
-ckb-chain-spec = { path = "../spec", version = "= 0.121.0-rc2" }
+ckb-types = { path = "../util/types", version = "= 0.121.0" }
+ckb-db = { path = "../db", version = "= 0.121.0" }
+ckb-chain-spec = { path = "../spec", version = "= 0.121.0" }
 lru = "0.7.1"
-ckb-traits = { path = "../traits", version = "= 0.121.0-rc2" }
-ckb-util = { path = "../util", version = "= 0.121.0-rc2" }
-ckb-error = { path = "../error", version = "= 0.121.0-rc2" }
-ckb-app-config = { path = "../util/app-config", version = "= 0.121.0-rc2" }
-ckb-db-schema = { path = "../db-schema", version = "= 0.121.0-rc2" }
-ckb-freezer = { path = "../freezer", version = "= 0.121.0-rc2" }
+ckb-traits = { path = "../traits", version = "= 0.121.0" }
+ckb-util = { path = "../util", version = "= 0.121.0" }
+ckb-error = { path = "../error", version = "= 0.121.0" }
+ckb-app-config = { path = "../util/app-config", version = "= 0.121.0" }
+ckb-db-schema = { path = "../db-schema", version = "= 0.121.0" }
+ckb-freezer = { path = "../freezer", version = "= 0.121.0" }
 ckb-merkle-mountain-range = "0.5.2"
 
 [dev-dependencies]
diff --git a/sync/Cargo.toml b/sync/Cargo.toml
index 046b9dc2fa..ccc329be1b 100644
--- a/sync/Cargo.toml
+++ b/sync/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "ckb-sync"
-version = "0.121.0-rc2"
+version = "0.121.0"
 license = "MIT"
 authors = ["Nervos Core Dev <dev@nervos.org>"]
 edition = "2021"
@@ -9,50 +9,50 @@ homepage = "https://github.com/nervosnetwork/ckb"
 repository = "https://github.com/nervosnetwork/ckb"
 
 [dependencies]
-ckb-chain = { path = "../chain", version = "= 0.121.0-rc2" }
-ckb-shared = { path = "../shared", version = "= 0.121.0-rc2" }
-ckb-store = { path = "../store", version = "= 0.121.0-rc2" }
-ckb-app-config = { path = "../util/app-config", version = "= 0.121.0-rc2" }
-ckb-types = { path = "../util/types", version = "= 0.121.0-rc2" }
-ckb-network = { path = "../network", version = "= 0.121.0-rc2" }
-ckb-logger = { path = "../util/logger", version = "= 0.121.0-rc2" }
-ckb-metrics = { path = "../util/metrics", version = "= 0.121.0-rc2" }
-ckb-util = { path = "../util", version = "= 0.121.0-rc2" }
-ckb-verification = { path = "../verification", version = "= 0.121.0-rc2" }
-ckb-verification-traits = { path = "../verification/traits", version = "= 0.121.0-rc2" }
-ckb-chain-spec = { path = "../spec", version = "= 0.121.0-rc2" }
-ckb-channel = { path = "../util/channel", version = "= 0.121.0-rc2" }
-ckb-traits = { path = "../traits", version = "= 0.121.0-rc2" }
-ckb-error = { path = "../error", version = "= 0.121.0-rc2" }
-ckb-tx-pool = { path = "../tx-pool", version = "= 0.121.0-rc2" }
+ckb-chain = { path = "../chain", version = "= 0.121.0" }
+ckb-shared = { path = "../shared", version = "= 0.121.0" }
+ckb-store = { path = "../store", version = "= 0.121.0" }
+ckb-app-config = { path = "../util/app-config", version = "= 0.121.0" }
+ckb-types = { path = "../util/types", version = "= 0.121.0" }
+ckb-network = { path = "../network", version = "= 0.121.0" }
+ckb-logger = { path = "../util/logger", version = "= 0.121.0" }
+ckb-metrics = { path = "../util/metrics", version = "= 0.121.0" }
+ckb-util = { path = "../util", version = "= 0.121.0" }
+ckb-verification = { path = "../verification", version = "= 0.121.0" }
+ckb-verification-traits = { path = "../verification/traits", version = "= 0.121.0" }
+ckb-chain-spec = { path = "../spec", version = "= 0.121.0" }
+ckb-channel = { path = "../util/channel", version = "= 0.121.0" }
+ckb-traits = { path = "../traits", version = "= 0.121.0" }
+ckb-error = { path = "../error", version = "= 0.121.0" }
+ckb-tx-pool = { path = "../tx-pool", version = "= 0.121.0" }
 sentry = { version = "0.34.0", optional = true }
-ckb-constant = { path = "../util/constant", version = "= 0.121.0-rc2" }
-ckb-stop-handler = { path = "../util/stop-handler", version = "= 0.121.0-rc2" }
+ckb-constant = { path = "../util/constant", version = "= 0.121.0" }
+ckb-stop-handler = { path = "../util/stop-handler", version = "= 0.121.0" }
 tokio = { version = "1", features = ["sync"] }
 lru = "0.7.1"
 futures = "0.3"
 governor = "0.3.1"
 tempfile.workspace = true
-ckb-systemtime = { path = "../util/systemtime", version = "= 0.121.0-rc2" }
+ckb-systemtime = { path = "../util/systemtime", version = "= 0.121.0" }
 dashmap = "4.0"
 keyed_priority_queue = "0.3"
 itertools.workspace = true
 
 [dev-dependencies]
-ckb-test-chain-utils = { path = "../util/test-chain-utils", version = "= 0.121.0-rc2" }
+ckb-test-chain-utils = { path = "../util/test-chain-utils", version = "= 0.121.0" }
 rand = "0.8"
-ckb-dao = { path = "../util/dao", version = "= 0.121.0-rc2" }
-ckb-dao-utils = { path = "../util/dao/utils", version = "= 0.121.0-rc2" }
-ckb-reward-calculator = { path = "../util/reward-calculator", version = "= 0.121.0-rc2" }
-ckb-chain = { path = "../chain", version = "= 0.121.0-rc2", features = [
+ckb-dao = { path = "../util/dao", version = "= 0.121.0" }
+ckb-dao-utils = { path = "../util/dao/utils", version = "= 0.121.0" }
+ckb-reward-calculator = { path = "../util/reward-calculator", version = "= 0.121.0" }
+ckb-chain = { path = "../chain", version = "= 0.121.0", features = [
     "mock",
 ] }
 faux = "^0.1"
-ckb-systemtime = { path = "../util/systemtime", version = "= 0.121.0-rc2", features = [
+ckb-systemtime = { path = "../util/systemtime", version = "= 0.121.0", features = [
     "enable_faketime",
 ] }
-ckb-proposal-table = { path = "../util/proposal-table", version = "= 0.121.0-rc2" }
-ckb-logger-service = { path = "../util/logger-service", version = "= 0.121.0-rc2" }
+ckb-proposal-table = { path = "../util/proposal-table", version = "= 0.121.0" }
+ckb-logger-service = { path = "../util/logger-service", version = "= 0.121.0" }
 
 [features]
 default = []
diff --git a/test/Cargo.toml b/test/Cargo.toml
index 82b9d61733..5237beae3e 100644
--- a/test/Cargo.toml
+++ b/test/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "ckb-test"
-version = "0.121.0-rc2"
+version = "0.121.0"
 license = "MIT"
 authors = ["Nervos Core Dev <dev@nervos.org>"]
 edition = "2021"
@@ -11,31 +11,31 @@ repository = "https://github.com/nervosnetwork/ckb"
 [dependencies]
 clap = { version = "4" }
 toml = "0.5.0"
-ckb-jsonrpc-types = { path = "../util/jsonrpc-types", version = "= 0.121.0-rc2" }
-ckb-app-config = { path = "../util/app-config", version = "= 0.121.0-rc2" }
-ckb-network = { path = "../network", version = "= 0.121.0-rc2" }
-ckb-channel = { path = "../util/channel", version = "= 0.121.0-rc2" }
-ckb-types = { path = "../util/types", version = "= 0.121.0-rc2" }
-ckb-hash = { path = "../util/hash", version = "= 0.121.0-rc2" }
-ckb-util = { path = "../util", version = "= 0.121.0-rc2" }
-ckb-chain-spec = { path = "../spec", version = "= 0.121.0-rc2" }
-ckb-crypto = { path = "../util/crypto", version = "= 0.121.0-rc2" }
-ckb-dao-utils = { path = "../util/dao/utils", version = "= 0.121.0-rc2" }
-ckb-test-chain-utils = { path = "../util/test-chain-utils", version = "= 0.121.0-rc2" }
-ckb-resource = { path = "../resource", version = "= 0.121.0-rc2" }
-ckb-async-runtime = { path = "../util/runtime", version = "= 0.121.0-rc2" }
-ckb-logger = { path = "../util/logger", version = "= 0.121.0-rc2" }
-ckb-logger-config = { path = "../util/logger-config", version = "= 0.121.0-rc2" }
-ckb-logger-service = { path = "../util/logger-service", version = "= 0.121.0-rc2" }
-ckb-error = { path = "../error", version = "= 0.121.0-rc2" }
-ckb-constant = { path = "../util/constant", version = "= 0.121.0-rc2" }
-ckb-db = { path = "../db", version = "= 0.121.0-rc2" }
-ckb-store = { path = "../store", version = "= 0.121.0-rc2" }
-ckb-shared = { path = "../shared", version = "= 0.121.0-rc2" }
+ckb-jsonrpc-types = { path = "../util/jsonrpc-types", version = "= 0.121.0" }
+ckb-app-config = { path = "../util/app-config", version = "= 0.121.0" }
+ckb-network = { path = "../network", version = "= 0.121.0" }
+ckb-channel = { path = "../util/channel", version = "= 0.121.0" }
+ckb-types = { path = "../util/types", version = "= 0.121.0" }
+ckb-hash = { path = "../util/hash", version = "= 0.121.0" }
+ckb-util = { path = "../util", version = "= 0.121.0" }
+ckb-chain-spec = { path = "../spec", version = "= 0.121.0" }
+ckb-crypto = { path = "../util/crypto", version = "= 0.121.0" }
+ckb-dao-utils = { path = "../util/dao/utils", version = "= 0.121.0" }
+ckb-test-chain-utils = { path = "../util/test-chain-utils", version = "= 0.121.0" }
+ckb-resource = { path = "../resource", version = "= 0.121.0" }
+ckb-async-runtime = { path = "../util/runtime", version = "= 0.121.0" }
+ckb-logger = { path = "../util/logger", version = "= 0.121.0" }
+ckb-logger-config = { path = "../util/logger-config", version = "= 0.121.0" }
+ckb-logger-service = { path = "../util/logger-service", version = "= 0.121.0" }
+ckb-error = { path = "../error", version = "= 0.121.0" }
+ckb-constant = { path = "../util/constant", version = "= 0.121.0" }
+ckb-db = { path = "../db", version = "= 0.121.0" }
+ckb-store = { path = "../store", version = "= 0.121.0" }
+ckb-shared = { path = "../shared", version = "= 0.121.0" }
 tempfile = "3"
 reqwest = { version = "0.12", features = ["blocking", "json"] }
 rand = "0.8"
-ckb-systemtime = { path = "../util/systemtime", version = "= 0.121.0-rc2" }
+ckb-systemtime = { path = "../util/systemtime", version = "= 0.121.0" }
 serde_json = "1.0"
 byteorder = "1.3.1"
 jsonrpc-core = "18.0"
diff --git a/traits/Cargo.toml b/traits/Cargo.toml
index c861a65a48..c830a8e531 100644
--- a/traits/Cargo.toml
+++ b/traits/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "ckb-traits"
-version = "0.121.0-rc2"
+version = "0.121.0"
 authors = ["Nervos Core Dev <dev@nervos.org>"]
 edition = "2021"
 license = "MIT"
@@ -9,4 +9,4 @@ homepage = "https://github.com/nervosnetwork/ckb"
 repository = "https://github.com/nervosnetwork/ckb"
 
 [dependencies]
-ckb-types = { path = "../util/types", version = "= 0.121.0-rc2" }
+ckb-types = { path = "../util/types", version = "= 0.121.0" }
diff --git a/tx-pool/Cargo.toml b/tx-pool/Cargo.toml
index e2be40b6ae..ab670bfba8 100644
--- a/tx-pool/Cargo.toml
+++ b/tx-pool/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "ckb-tx-pool"
-version = "0.121.0-rc2"
+version = "0.121.0"
 license = "MIT"
 authors = ["Nervos Core Dev <dev@nervos.org>"]
 edition = "2021"
@@ -11,31 +11,31 @@ repository = "https://github.com/nervosnetwork/ckb"
 # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
 
 [dependencies]
-ckb-types = { path = "../util/types", version = "= 0.121.0-rc2" }
-ckb-logger = { path = "../util/logger", version = "= 0.121.0-rc2" }
-ckb-verification = { path = "../verification", version = "= 0.121.0-rc2" }
-ckb-systemtime = { path = "../util/systemtime", version = "= 0.121.0-rc2" }
+ckb-types = { path = "../util/types", version = "= 0.121.0" }
+ckb-logger = { path = "../util/logger", version = "= 0.121.0" }
+ckb-verification = { path = "../verification", version = "= 0.121.0" }
+ckb-systemtime = { path = "../util/systemtime", version = "= 0.121.0" }
 lru = "0.7.1"
 num_cpus = "1.16.0"
 
-ckb-dao = { path = "../util/dao", version = "= 0.121.0-rc2" }
-ckb-reward-calculator = { path = "../util/reward-calculator", version = "= 0.121.0-rc2" }
-ckb-store = { path = "../store", version = "= 0.121.0-rc2" }
-ckb-util = { path = "../util", version = "= 0.121.0-rc2" }
-ckb-jsonrpc-types = { path = "../util/jsonrpc-types", version = "= 0.121.0-rc2" }
-ckb-chain-spec = { path = "../spec", version = "= 0.121.0-rc2" }
-ckb-snapshot = { path = "../util/snapshot", version = "= 0.121.0-rc2" }
-ckb-metrics = { path = "../util/metrics", version = "= 0.121.0-rc2" }
-ckb-error = { path = "../error", version = "= 0.121.0-rc2" }
+ckb-dao = { path = "../util/dao", version = "= 0.121.0" }
+ckb-reward-calculator = { path = "../util/reward-calculator", version = "= 0.121.0" }
+ckb-store = { path = "../store", version = "= 0.121.0" }
+ckb-util = { path = "../util", version = "= 0.121.0" }
+ckb-jsonrpc-types = { path = "../util/jsonrpc-types", version = "= 0.121.0" }
+ckb-chain-spec = { path = "../spec", version = "= 0.121.0" }
+ckb-snapshot = { path = "../util/snapshot", version = "= 0.121.0" }
+ckb-metrics = { path = "../util/metrics", version = "= 0.121.0" }
+ckb-error = { path = "../error", version = "= 0.121.0" }
 tokio = { version = "1", features = ["sync", "process"] }
-ckb-async-runtime = { path = "../util/runtime", version = "= 0.121.0-rc2" }
-ckb-stop-handler = { path = "../util/stop-handler", version = "= 0.121.0-rc2" }
-ckb-app-config = { path = "../util/app-config", version = "= 0.121.0-rc2" }
-ckb-network = { path = "../network", version = "= 0.121.0-rc2" }
-ckb-channel = { path = "../util/channel", version = "= 0.121.0-rc2" }
-ckb-traits = { path = "../traits", version = "= 0.121.0-rc2" }
-ckb-db = { path = "../db", version = "= 0.121.0-rc2" }
-ckb-script = { path = "../script", version = "= 0.121.0-rc2" }
+ckb-async-runtime = { path = "../util/runtime", version = "= 0.121.0" }
+ckb-stop-handler = { path = "../util/stop-handler", version = "= 0.121.0" }
+ckb-app-config = { path = "../util/app-config", version = "= 0.121.0" }
+ckb-network = { path = "../network", version = "= 0.121.0" }
+ckb-channel = { path = "../util/channel", version = "= 0.121.0" }
+ckb-traits = { path = "../traits", version = "= 0.121.0" }
+ckb-db = { path = "../db", version = "= 0.121.0" }
+ckb-script = { path = "../script", version = "= 0.121.0" }
 sentry = { version = "0.34.0", optional = true }
 serde_json = "1.0"
 rand = "0.8.4"
@@ -46,12 +46,12 @@ multi_index_map = "0.6.0"
 slab = "0.4"
 rustc-hash = "1.1"
 tokio-util = "0.7.8"
-ckb-fee-estimator = { path = "../util/fee-estimator", version = "= 0.121.0-rc2" }
+ckb-fee-estimator = { path = "../util/fee-estimator", version = "= 0.121.0" }
 
 [dev-dependencies]
 tempfile.workspace = true
-ckb-hash = { path = "../util/hash", version = "= 0.121.0-rc2" }
-ckb-systemtime = { path = "../util/systemtime", version = "= 0.121.0-rc2", features = [
+ckb-hash = { path = "../util/hash", version = "= 0.121.0" }
+ckb-systemtime = { path = "../util/systemtime", version = "= 0.121.0", features = [
     "enable_faketime",
 ] }
 
diff --git a/util/Cargo.toml b/util/Cargo.toml
index 7bd221c9e9..0ff2ea57e0 100644
--- a/util/Cargo.toml
+++ b/util/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "ckb-util"
-version = "0.121.0-rc2"
+version = "0.121.0"
 license = "MIT"
 authors = ["Nervos Core Dev <dev@nervos.org>"]
 edition = "2021"
@@ -14,7 +14,7 @@ linked-hash-map = { version = "0.5", features = ["serde_impl"] }
 regex = "1.1.6"
 
 [dev-dependencies]
-ckb-fixed-hash = { path = "fixed-hash", version = "= 0.121.0-rc2" }
+ckb-fixed-hash = { path = "fixed-hash", version = "= 0.121.0" }
 
 [features]
 deadlock_detection = ["parking_lot/deadlock_detection"]
diff --git a/util/app-config/Cargo.toml b/util/app-config/Cargo.toml
index 20c9241e2a..ff88dfab69 100644
--- a/util/app-config/Cargo.toml
+++ b/util/app-config/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "ckb-app-config"
-version = "0.121.0-rc2"
+version = "0.121.0"
 authors = ["Nervos Core Dev <dev@nervos.org>"]
 edition = "2021"
 license = "MIT"
@@ -13,20 +13,20 @@ serde = { version = "1.0", features = ["derive"] }
 serde_json = "1.0"
 toml = "0.5"
 path-clean = "0.1.0"
-ckb-logger = { path = "../../util/logger", version = "= 0.121.0-rc2" }
-ckb-logger-config = { path = "../../util/logger-config", version = "= 0.121.0-rc2" }
-ckb-metrics-config = { path = "../../util/metrics-config", version = "= 0.121.0-rc2" }
-ckb-chain-spec = { path = "../../spec", version = "= 0.121.0-rc2" }
-ckb-jsonrpc-types = { path = "../jsonrpc-types", version = "= 0.121.0-rc2" }
-ckb-pow = { path = "../../pow", version = "= 0.121.0-rc2" }
-ckb-resource = { path = "../../resource", version = "= 0.121.0-rc2" }
-ckb-build-info = { path = "../build-info", version = "= 0.121.0-rc2" }
-ckb-types = { path = "../types", version = "= 0.121.0-rc2" }
+ckb-logger = { path = "../../util/logger", version = "= 0.121.0" }
+ckb-logger-config = { path = "../../util/logger-config", version = "= 0.121.0" }
+ckb-metrics-config = { path = "../../util/metrics-config", version = "= 0.121.0" }
+ckb-chain-spec = { path = "../../spec", version = "= 0.121.0" }
+ckb-jsonrpc-types = { path = "../jsonrpc-types", version = "= 0.121.0" }
+ckb-pow = { path = "../../pow", version = "= 0.121.0" }
+ckb-resource = { path = "../../resource", version = "= 0.121.0" }
+ckb-build-info = { path = "../build-info", version = "= 0.121.0" }
+ckb-types = { path = "../types", version = "= 0.121.0" }
 secio = { version = "0.6", package = "tentacle-secio" }
 multiaddr = { version = "0.3.0", package = "tentacle-multiaddr" }
 rand = "0.8"
 sentry = { version = "0.34.0", optional = true }
-ckb-systemtime = { path = "../systemtime", version = "= 0.121.0-rc2" }
+ckb-systemtime = { path = "../systemtime", version = "= 0.121.0" }
 url = { version = "2.2.2", features = ["serde"] }
 ubyte = { version = "0.10", features = ["serde"] }
 
@@ -35,6 +35,6 @@ with_sentry = ["sentry"]
 
 [dev-dependencies]
 tempfile.workspace = true
-ckb-systemtime = { path = "../systemtime", version = "= 0.121.0-rc2", features = [
+ckb-systemtime = { path = "../systemtime", version = "= 0.121.0", features = [
     "enable_faketime",
 ] }
diff --git a/util/build-info/Cargo.toml b/util/build-info/Cargo.toml
index bc01408f7c..87b25928d0 100644
--- a/util/build-info/Cargo.toml
+++ b/util/build-info/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "ckb-build-info"
-version = "0.121.0-rc2"
+version = "0.121.0"
 license = "MIT"
 authors = ["Nervos Core Dev <dev@nervos.org>"]
 edition = "2021"
diff --git a/util/chain-iter/Cargo.toml b/util/chain-iter/Cargo.toml
index e69e76d047..26db904a1f 100644
--- a/util/chain-iter/Cargo.toml
+++ b/util/chain-iter/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "ckb-chain-iter"
-version = "0.121.0-rc2"
+version = "0.121.0"
 license = "MIT"
 authors = ["Nervos Core Dev <dev@nervos.org>"]
 edition = "2021"
@@ -11,5 +11,5 @@ repository = "https://github.com/nervosnetwork/ckb"
 # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
 
 [dependencies]
-ckb-types = { path = "../types", version = "= 0.121.0-rc2" }
-ckb-store = { path = "../../store", version = "= 0.121.0-rc2" }
+ckb-types = { path = "../types", version = "= 0.121.0" }
+ckb-store = { path = "../../store", version = "= 0.121.0" }
diff --git a/util/channel/Cargo.toml b/util/channel/Cargo.toml
index e4a0b1a861..76ac77ee64 100644
--- a/util/channel/Cargo.toml
+++ b/util/channel/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "ckb-channel"
-version = "0.121.0-rc2"
+version = "0.121.0"
 license = "MIT"
 authors = ["Nervos Core Dev <dev@nervos.org>"]
 edition = "2021"
diff --git a/util/constant/Cargo.toml b/util/constant/Cargo.toml
index f800982367..05d419c585 100644
--- a/util/constant/Cargo.toml
+++ b/util/constant/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "ckb-constant"
-version = "0.121.0-rc2"
+version = "0.121.0"
 license = "MIT"
 authors = ["Nervos Core Dev <dev@nervos.org>"]
 edition = "2021"
diff --git a/util/crypto/Cargo.toml b/util/crypto/Cargo.toml
index ace2de4ef0..f2b0c8e134 100644
--- a/util/crypto/Cargo.toml
+++ b/util/crypto/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "ckb-crypto"
-version = "0.121.0-rc2"
+version = "0.121.0"
 license = "MIT"
 authors = ["Nervos Core Dev <dev@nervos.org>"]
 edition = "2021"
@@ -9,7 +9,7 @@ homepage = "https://github.com/nervosnetwork/ckb"
 repository = "https://github.com/nervosnetwork/ckb"
 
 [dependencies]
-ckb-fixed-hash = { path = "../fixed-hash", version = "= 0.121.0-rc2" }
+ckb-fixed-hash = { path = "../fixed-hash", version = "= 0.121.0" }
 secp256k1 = { version = "0.30", features = ["recovery"], optional = true }
 thiserror = "1.0.22"
 rand = { version = "0.8", features = ["small_rng"] }
diff --git a/util/dao/Cargo.toml b/util/dao/Cargo.toml
index 8e538199cc..2ccc1a76fe 100644
--- a/util/dao/Cargo.toml
+++ b/util/dao/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "ckb-dao"
-version = "0.121.0-rc2"
+version = "0.121.0"
 license = "MIT"
 authors = ["Nervos Core Dev <dev@nervos.org>"]
 edition = "2021"
@@ -10,13 +10,13 @@ repository = "https://github.com/nervosnetwork/ckb"
 
 [dependencies]
 byteorder = "1.3.1"
-ckb-types = { path = "../types", version = "= 0.121.0-rc2" }
-ckb-chain-spec = { path = "../../spec", version = "= 0.121.0-rc2" }
-ckb-dao-utils = { path = "./utils", version = "= 0.121.0-rc2" }
-ckb-traits = { path = "../../traits", version = "= 0.121.0-rc2" }
+ckb-types = { path = "../types", version = "= 0.121.0" }
+ckb-chain-spec = { path = "../../spec", version = "= 0.121.0" }
+ckb-dao-utils = { path = "./utils", version = "= 0.121.0" }
+ckb-traits = { path = "../../traits", version = "= 0.121.0" }
 
 [dev-dependencies]
-ckb-db = { path = "../../db", version = "= 0.121.0-rc2" }
-ckb-db-schema = { path = "../../db-schema", version = "= 0.121.0-rc2" }
-ckb-store = { path = "../../store", version = "= 0.121.0-rc2" }
+ckb-db = { path = "../../db", version = "= 0.121.0" }
+ckb-db-schema = { path = "../../db-schema", version = "= 0.121.0" }
+ckb-store = { path = "../../store", version = "= 0.121.0" }
 tempfile.workspace = true
diff --git a/util/dao/utils/Cargo.toml b/util/dao/utils/Cargo.toml
index a437e10c3c..8acb7948a1 100644
--- a/util/dao/utils/Cargo.toml
+++ b/util/dao/utils/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "ckb-dao-utils"
-version = "0.121.0-rc2"
+version = "0.121.0"
 license = "MIT"
 authors = ["Nervos Core Dev <dev@nervos.org>"]
 edition = "2021"
@@ -10,5 +10,5 @@ repository = "https://github.com/nervosnetwork/ckb"
 
 [dependencies]
 byteorder = "1.3.1"
-ckb-types = { path = "../../types", version = "= 0.121.0-rc2" }
-ckb-error = { path = "../../../error", version = "= 0.121.0-rc2" }
+ckb-types = { path = "../../types", version = "= 0.121.0" }
+ckb-error = { path = "../../../error", version = "= 0.121.0" }
diff --git a/util/fee-estimator/Cargo.toml b/util/fee-estimator/Cargo.toml
index bca19ee97b..4a52f592ac 100644
--- a/util/fee-estimator/Cargo.toml
+++ b/util/fee-estimator/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "ckb-fee-estimator"
-version = "0.121.0-rc2"
+version = "0.121.0"
 license = "MIT"
 authors = ["Nervos Core Dev <dev@nervos.org>"]
 edition = "2021"
@@ -9,8 +9,8 @@ homepage = "https://github.com/nervosnetwork/ckb"
 repository = "https://github.com/nervosnetwork/ckb"
 
 [dependencies]
-ckb-logger = { path = "../logger", version = "= 0.121.0-rc2" }
-ckb-types = { path = "../types", version = "= 0.121.0-rc2" }
-ckb-util = { path = "../../util", version = "= 0.121.0-rc2" }
-ckb-chain-spec = { path = "../../spec", version = "= 0.121.0-rc2" }
+ckb-logger = { path = "../logger", version = "= 0.121.0" }
+ckb-types = { path = "../types", version = "= 0.121.0" }
+ckb-util = { path = "../../util", version = "= 0.121.0" }
+ckb-chain-spec = { path = "../../spec", version = "= 0.121.0" }
 thiserror = "1.0"
diff --git a/util/fixed-hash/Cargo.toml b/util/fixed-hash/Cargo.toml
index b2ca4b7a36..042f4dc7c2 100644
--- a/util/fixed-hash/Cargo.toml
+++ b/util/fixed-hash/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "ckb-fixed-hash"
-version = "0.121.0-rc2"
+version = "0.121.0"
 license = "MIT"
 authors = ["Nervos <dev@nervos.org>"]
 edition = "2021"
@@ -9,5 +9,5 @@ homepage = "https://github.com/nervosnetwork/ckb"
 repository = "https://github.com/nervosnetwork/ckb"
 
 [dependencies]
-ckb-fixed-hash-core = { path = "core", version = "= 0.121.0-rc2" }
-ckb-fixed-hash-macros = { path = "macros", version = "= 0.121.0-rc2" }
+ckb-fixed-hash-core = { path = "core", version = "= 0.121.0" }
+ckb-fixed-hash-macros = { path = "macros", version = "= 0.121.0" }
diff --git a/util/fixed-hash/core/Cargo.toml b/util/fixed-hash/core/Cargo.toml
index d55734fae9..8db9bb7505 100644
--- a/util/fixed-hash/core/Cargo.toml
+++ b/util/fixed-hash/core/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "ckb-fixed-hash-core"
-version = "0.121.0-rc2"
+version = "0.121.0"
 license = "MIT"
 authors = ["Nervos <dev@nervos.org>"]
 edition = "2021"
diff --git a/util/fixed-hash/macros/Cargo.toml b/util/fixed-hash/macros/Cargo.toml
index 602de7a2d3..d0f7a89e33 100644
--- a/util/fixed-hash/macros/Cargo.toml
+++ b/util/fixed-hash/macros/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "ckb-fixed-hash-macros"
-version = "0.121.0-rc2"
+version = "0.121.0"
 license = "MIT"
 authors = ["Nervos <dev@nervos.org>"]
 edition = "2021"
@@ -12,7 +12,7 @@ repository = "https://github.com/nervosnetwork/ckb"
 proc-macro = true
 
 [dependencies]
-ckb-fixed-hash-core = { path = "../core", version = "= 0.121.0-rc2" }
+ckb-fixed-hash-core = { path = "../core", version = "= 0.121.0" }
 quote = "1.0"
 syn = "1.0"
 proc-macro2 = "1.0"
diff --git a/util/gen-types/Cargo.toml b/util/gen-types/Cargo.toml
index 693e9bdce3..3191fce0cb 100644
--- a/util/gen-types/Cargo.toml
+++ b/util/gen-types/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "ckb-gen-types"
-version = "0.121.0-rc2"
+version = "0.121.0"
 authors = ["Nervos Core Dev <dev@nervos.org>"]
 edition = "2021"
 license = "MIT"
@@ -9,7 +9,7 @@ homepage = "https://github.com/nervosnetwork/ckb"
 repository = "https://github.com/nervosnetwork/ckb"
 
 [dev-dependencies]
-ckb-hash = { path = "../hash", version = "= 0.121.0-rc2" }
+ckb-hash = { path = "../hash", version = "= 0.121.0" }
 
 [features]
 default = ["std"]
@@ -32,10 +32,10 @@ std = [
 [dependencies]
 cfg-if = "1.0"
 molecule = { version = "0.8", default-features = false }
-ckb-hash = { path = "../hash", version = "= 0.121.0-rc2", default-features = false, optional = true }
-ckb-fixed-hash = { path = "../fixed-hash", version = "= 0.121.0-rc2", optional = true }
-ckb-error = { path = "../../error", version = "= 0.121.0-rc2", optional = true }
-ckb-occupied-capacity = { path = "../occupied-capacity", version = "= 0.121.0-rc2", optional = true }
+ckb-hash = { path = "../hash", version = "= 0.121.0", default-features = false, optional = true }
+ckb-fixed-hash = { path = "../fixed-hash", version = "= 0.121.0", optional = true }
+ckb-error = { path = "../../error", version = "= 0.121.0", optional = true }
+ckb-occupied-capacity = { path = "../occupied-capacity", version = "= 0.121.0", optional = true }
 numext-fixed-uint = { version = "0.1", features = [
     "support_rand",
     "support_heapsize",
diff --git a/util/hash/Cargo.toml b/util/hash/Cargo.toml
index 8f83e46f0f..92fee41441 100644
--- a/util/hash/Cargo.toml
+++ b/util/hash/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "ckb-hash"
-version = "0.121.0-rc2"
+version = "0.121.0"
 license = "MIT"
 authors = ["Nervos Core Dev <dev@nervos.org>"]
 edition = "2021"
diff --git a/util/indexer-sync/Cargo.toml b/util/indexer-sync/Cargo.toml
index 0b9a3e23ef..72d89b945e 100644
--- a/util/indexer-sync/Cargo.toml
+++ b/util/indexer-sync/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "ckb-indexer-sync"
-version = "0.121.0-rc2"
+version = "0.121.0"
 license = "MIT"
 authors = ["Nervos Core Dev <dev@nervos.org>"]
 edition = "2021"
@@ -11,15 +11,15 @@ repository = "https://github.com/nervosnetwork/ckb"
 # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
 
 [dependencies]
-ckb-app-config = { path = "../app-config", version = "= 0.121.0-rc2" }
-ckb-async-runtime = { path = "../runtime", version = "= 0.121.0-rc2" }
-ckb-db-schema = { path = "../../db-schema", version = "= 0.121.0-rc2" }
-ckb-jsonrpc-types = { path = "../jsonrpc-types", version = "= 0.121.0-rc2" }
-ckb-logger = { path = "../logger", version = "= 0.121.0-rc2" }
-ckb-notify = { path = "../../notify", version = "= 0.121.0-rc2" }
-ckb-stop-handler = { path = "../stop-handler", version = "= 0.121.0-rc2" }
-ckb-store = { path = "../../store", version = "= 0.121.0-rc2" }
-ckb-types = { path = "../types", version = "= 0.121.0-rc2" }
+ckb-app-config = { path = "../app-config", version = "= 0.121.0" }
+ckb-async-runtime = { path = "../runtime", version = "= 0.121.0" }
+ckb-db-schema = { path = "../../db-schema", version = "= 0.121.0" }
+ckb-jsonrpc-types = { path = "../jsonrpc-types", version = "= 0.121.0" }
+ckb-logger = { path = "../logger", version = "= 0.121.0" }
+ckb-notify = { path = "../../notify", version = "= 0.121.0" }
+ckb-stop-handler = { path = "../stop-handler", version = "= 0.121.0" }
+ckb-store = { path = "../../store", version = "= 0.121.0" }
+ckb-types = { path = "../types", version = "= 0.121.0" }
 numext-fixed-uint = "0.1"
 rhai = { version = "1.16.0", features = ["no_function", "no_float", "no_module", "sync"]}
 rocksdb = { package = "ckb-rocksdb", version ="=0.21.1", features = ["snappy"], default-features = false }
diff --git a/util/indexer/Cargo.toml b/util/indexer/Cargo.toml
index 144bb05952..a886d35b3d 100644
--- a/util/indexer/Cargo.toml
+++ b/util/indexer/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "ckb-indexer"
-version = "0.121.0-rc2"
+version = "0.121.0"
 license = "MIT"
 authors = ["Nervos Core Dev <dev@nervos.org>"]
 edition = "2021"
@@ -11,12 +11,12 @@ repository = "https://github.com/nervosnetwork/ckb"
 # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
 
 [dependencies]
-ckb-types = { path = "../types", version = "= 0.121.0-rc2" }
-ckb-jsonrpc-types = { path = "../jsonrpc-types", version = "= 0.121.0-rc2" }
-ckb-app-config = { path = "../app-config", version = "= 0.121.0-rc2" }
-ckb-notify = { path = "../../notify", version = "= 0.121.0-rc2" }
-ckb-async-runtime = { path = "../runtime", version = "= 0.121.0-rc2" }
-ckb-indexer-sync = { path = "../indexer-sync", version = "= 0.121.0-rc2" }
+ckb-types = { path = "../types", version = "= 0.121.0" }
+ckb-jsonrpc-types = { path = "../jsonrpc-types", version = "= 0.121.0" }
+ckb-app-config = { path = "../app-config", version = "= 0.121.0" }
+ckb-notify = { path = "../../notify", version = "= 0.121.0" }
+ckb-async-runtime = { path = "../runtime", version = "= 0.121.0" }
+ckb-indexer-sync = { path = "../indexer-sync", version = "= 0.121.0" }
 rocksdb = { package = "ckb-rocksdb", version ="=0.21.1", features = ["snappy"], default-features = false }
 memchr = "2.7"
 
diff --git a/util/instrument/Cargo.toml b/util/instrument/Cargo.toml
index 707cba1147..31470fe4ff 100644
--- a/util/instrument/Cargo.toml
+++ b/util/instrument/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "ckb-instrument"
-version = "0.121.0-rc2"
+version = "0.121.0"
 license = "MIT"
 authors = ["Nervos Core Dev <dev@nervos.org>"]
 edition = "2021"
@@ -9,11 +9,11 @@ homepage = "https://github.com/nervosnetwork/ckb"
 repository = "https://github.com/nervosnetwork/ckb"
 
 [dependencies]
-ckb-types = { path = "../types", version = "= 0.121.0-rc2" }
-ckb-chain = { path = "../../chain", version = "= 0.121.0-rc2" }
-ckb-chain-iter = { path = "../chain-iter", version = "= 0.121.0-rc2" }
-ckb-shared = { path = "../../shared", version = "= 0.121.0-rc2" }
-ckb-jsonrpc-types = { path = "../jsonrpc-types", version = "= 0.121.0-rc2" }
+ckb-types = { path = "../types", version = "= 0.121.0" }
+ckb-chain = { path = "../../chain", version = "= 0.121.0" }
+ckb-chain-iter = { path = "../chain-iter", version = "= 0.121.0" }
+ckb-shared = { path = "../../shared", version = "= 0.121.0" }
+ckb-jsonrpc-types = { path = "../jsonrpc-types", version = "= 0.121.0" }
 serde_json = "1.0"
 indicatif = { version = "0.16", optional = true }
 
diff --git a/util/jsonrpc-types/Cargo.toml b/util/jsonrpc-types/Cargo.toml
index 7037d84d83..057bdc4956 100644
--- a/util/jsonrpc-types/Cargo.toml
+++ b/util/jsonrpc-types/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "ckb-jsonrpc-types"
-version = "0.121.0-rc2"
+version = "0.121.0"
 license = "MIT"
 authors = ["Nervos Core Dev <dev@nervos.org>"]
 edition = "2021"
@@ -9,7 +9,7 @@ homepage = "https://github.com/nervosnetwork/ckb"
 repository = "https://github.com/nervosnetwork/ckb"
 
 [dependencies]
-ckb-types = { path = "../types", version = "= 0.121.0-rc2" }
+ckb-types = { path = "../types", version = "= 0.121.0" }
 serde = { version = "1.0", features = ["derive"] }
 serde_json = "1.0"
 faster-hex = "0.6"
diff --git a/util/launcher/Cargo.toml b/util/launcher/Cargo.toml
index 9c6058b55d..fa5024e96d 100644
--- a/util/launcher/Cargo.toml
+++ b/util/launcher/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "ckb-launcher"
-version = "0.121.0-rc2"
+version = "0.121.0"
 license = "MIT"
 authors = ["Nervos Core Dev <dev@nervos.org>"]
 edition = "2021"
@@ -11,26 +11,26 @@ repository = "https://github.com/nervosnetwork/ckb"
 # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
 
 [dependencies]
-ckb-types = { path = "../types", version = "= 0.121.0-rc2" }
-ckb-store = { path = "../../store", version = "= 0.121.0-rc2" }
-ckb-app-config = { path = "../app-config", version = "= 0.121.0-rc2" }
-ckb-logger = { path = "../logger", version = "= 0.121.0-rc2" }
-ckb-build-info = { path = "../build-info", version = "= 0.121.0-rc2" }
-ckb-jsonrpc-types = { path = "../jsonrpc-types", version = "= 0.121.0-rc2" }
-ckb-chain = { path = "../../chain", version = "= 0.121.0-rc2" }
-ckb-shared = { path = "../../shared", version = "= 0.121.0-rc2" }
-ckb-network = { path = "../../network", version = "= 0.121.0-rc2" }
-ckb-rpc = { path = "../../rpc", version = "= 0.121.0-rc2" }
-ckb-resource = { path = "../../resource", version = "= 0.121.0-rc2" }
-ckb-network-alert = { path = "../network-alert", version = "= 0.121.0-rc2" }
-ckb-sync = { path = "../../sync", version = "= 0.121.0-rc2" }
-ckb-verification = { path = "../../verification", version = "= 0.121.0-rc2" }
-ckb-verification-traits = { path = "../../verification/traits", version = "= 0.121.0-rc2" }
-ckb-async-runtime = { path = "../runtime", version = "= 0.121.0-rc2" }
-ckb-channel = { path = "../channel", version = "= 0.121.0-rc2" }
-ckb-tx-pool = { path = "../../tx-pool", version = "= 0.121.0-rc2" }
-ckb-light-client-protocol-server = { path = "../light-client-protocol-server", version = "= 0.121.0-rc2" }
-ckb-block-filter = { path = "../../block-filter", version = "= 0.121.0-rc2" }
+ckb-types = { path = "../types", version = "= 0.121.0" }
+ckb-store = { path = "../../store", version = "= 0.121.0" }
+ckb-app-config = { path = "../app-config", version = "= 0.121.0" }
+ckb-logger = { path = "../logger", version = "= 0.121.0" }
+ckb-build-info = { path = "../build-info", version = "= 0.121.0" }
+ckb-jsonrpc-types = { path = "../jsonrpc-types", version = "= 0.121.0" }
+ckb-chain = { path = "../../chain", version = "= 0.121.0" }
+ckb-shared = { path = "../../shared", version = "= 0.121.0" }
+ckb-network = { path = "../../network", version = "= 0.121.0" }
+ckb-rpc = { path = "../../rpc", version = "= 0.121.0" }
+ckb-resource = { path = "../../resource", version = "= 0.121.0" }
+ckb-network-alert = { path = "../network-alert", version = "= 0.121.0" }
+ckb-sync = { path = "../../sync", version = "= 0.121.0" }
+ckb-verification = { path = "../../verification", version = "= 0.121.0" }
+ckb-verification-traits = { path = "../../verification/traits", version = "= 0.121.0" }
+ckb-async-runtime = { path = "../runtime", version = "= 0.121.0" }
+ckb-channel = { path = "../channel", version = "= 0.121.0" }
+ckb-tx-pool = { path = "../../tx-pool", version = "= 0.121.0" }
+ckb-light-client-protocol-server = { path = "../light-client-protocol-server", version = "= 0.121.0" }
+ckb-block-filter = { path = "../../block-filter", version = "= 0.121.0" }
 
 [features]
 with_sentry = [
diff --git a/util/light-client-protocol-server/Cargo.toml b/util/light-client-protocol-server/Cargo.toml
index d6ba865bb9..301658546b 100644
--- a/util/light-client-protocol-server/Cargo.toml
+++ b/util/light-client-protocol-server/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "ckb-light-client-protocol-server"
-version = "0.121.0-rc2"
+version = "0.121.0"
 license = "MIT"
 authors = ["Nervos Core Dev <dev@nervos.org>"]
 edition = "2021"
@@ -9,22 +9,22 @@ homepage = "https://github.com/nervosnetwork/ckb"
 repository = "https://github.com/nervosnetwork/ckb"
 
 [dependencies]
-ckb-network = { path = "../../network", version = "= 0.121.0-rc2" }
-ckb-shared = { path = "../../shared", version = "= 0.121.0-rc2" }
-ckb-logger = { path = "../logger", version = "= 0.121.0-rc2" }
-ckb-types = { path = "../types", version = "= 0.121.0-rc2" }
-ckb-store = { path = "../../store", version = "= 0.121.0-rc2" }
+ckb-network = { path = "../../network", version = "= 0.121.0" }
+ckb-shared = { path = "../../shared", version = "= 0.121.0" }
+ckb-logger = { path = "../logger", version = "= 0.121.0" }
+ckb-types = { path = "../types", version = "= 0.121.0" }
+ckb-store = { path = "../../store", version = "= 0.121.0" }
 ckb-merkle-mountain-range = "0.5.2"
-ckb-systemtime = {path = "../systemtime", version = "= 0.121.0-rc2"}
+ckb-systemtime = {path = "../systemtime", version = "= 0.121.0"}
 
 [dev-dependencies]
-ckb-chain = { path = "../../chain", version = "= 0.121.0-rc2" }
-ckb-chain-spec = { path = "../../spec", version = "= 0.121.0-rc2" }
-ckb-tx-pool = { path = "../../tx-pool", version = "= 0.121.0-rc2" }
-ckb-app-config = { path = "../app-config", version = "= 0.121.0-rc2" }
-ckb-jsonrpc-types = { path = "../jsonrpc-types", version = "= 0.121.0-rc2" }
-ckb-dao-utils = { path = "../dao/utils", version = "= 0.121.0-rc2" }
-ckb-test-chain-utils = { path = "../test-chain-utils", version = "= 0.121.0-rc2" }
+ckb-chain = { path = "../../chain", version = "= 0.121.0" }
+ckb-chain-spec = { path = "../../spec", version = "= 0.121.0" }
+ckb-tx-pool = { path = "../../tx-pool", version = "= 0.121.0" }
+ckb-app-config = { path = "../app-config", version = "= 0.121.0" }
+ckb-jsonrpc-types = { path = "../jsonrpc-types", version = "= 0.121.0" }
+ckb-dao-utils = { path = "../dao/utils", version = "= 0.121.0" }
+ckb-test-chain-utils = { path = "../test-chain-utils", version = "= 0.121.0" }
 tempfile.workspace = true
-ckb-systemtime = {path = "../systemtime", version = "= 0.121.0-rc2", features = ["enable_faketime"]}
+ckb-systemtime = {path = "../systemtime", version = "= 0.121.0", features = ["enable_faketime"]}
 tokio = "1.20"
diff --git a/util/logger-config/Cargo.toml b/util/logger-config/Cargo.toml
index f965f20efc..e417f2bd89 100644
--- a/util/logger-config/Cargo.toml
+++ b/util/logger-config/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "ckb-logger-config"
-version = "0.121.0-rc2"
+version = "0.121.0"
 license = "MIT"
 authors = ["Nervos <dev@nervos.org>"]
 edition = "2021"
diff --git a/util/logger-service/Cargo.toml b/util/logger-service/Cargo.toml
index 73c00ff62c..bf747f8714 100644
--- a/util/logger-service/Cargo.toml
+++ b/util/logger-service/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "ckb-logger-service"
-version = "0.121.0-rc2"
+version = "0.121.0"
 license = "MIT"
 authors = ["Nervos <dev@nervos.org>"]
 edition = "2021"
@@ -9,9 +9,9 @@ homepage = "https://github.com/nervosnetwork/ckb"
 repository = "https://github.com/nervosnetwork/ckb"
 
 [dependencies]
-ckb-util = { path = "..", version = "= 0.121.0-rc2" }
-ckb-logger-config = { path = "../logger-config", version = "= 0.121.0-rc2" }
-ckb-channel = { path = "../channel", version = "= 0.121.0-rc2" }
+ckb-util = { path = "..", version = "= 0.121.0" }
+ckb-logger-config = { path = "../logger-config", version = "= 0.121.0" }
+ckb-channel = { path = "../channel", version = "= 0.121.0" }
 yansi = "0.5"
 log = "0.4"
 env_logger = "0.10"
@@ -21,7 +21,7 @@ sentry = { version = "0.34.0", optional = true, features = ["log"] }
 time = { version = "0.3.36", features = ["formatting"] }
 
 [dev-dependencies]
-ckb-logger = { path = "../logger", version = "= 0.121.0-rc2" }
+ckb-logger = { path = "../logger", version = "= 0.121.0" }
 tempfile.workspace = true
 
 [features]
diff --git a/util/logger/Cargo.toml b/util/logger/Cargo.toml
index fe6569bb2a..2a907f9a24 100644
--- a/util/logger/Cargo.toml
+++ b/util/logger/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "ckb-logger"
-version = "0.121.0-rc2"
+version = "0.121.0"
 license = "MIT"
 authors = ["Nervos <dev@nervos.org>"]
 edition = "2021"
diff --git a/util/memory-tracker/Cargo.toml b/util/memory-tracker/Cargo.toml
index 9d5db43b64..cee7ef11bc 100644
--- a/util/memory-tracker/Cargo.toml
+++ b/util/memory-tracker/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "ckb-memory-tracker"
-version = "0.121.0-rc2"
+version = "0.121.0"
 authors = ["Nervos Core Dev <dev@nervos.org>"]
 edition = "2021"
 license = "MIT"
@@ -9,9 +9,9 @@ homepage = "https://github.com/nervosnetwork/ckb"
 repository = "https://github.com/nervosnetwork/ckb"
 
 [dependencies]
-ckb-logger = { path = "../logger", version = "= 0.121.0-rc2" }
-ckb-metrics = { path = "../metrics", version = "= 0.121.0-rc2" }
-ckb-db = { path = "../../db", version = "= 0.121.0-rc2" }
+ckb-logger = { path = "../logger", version = "= 0.121.0" }
+ckb-metrics = { path = "../metrics", version = "= 0.121.0" }
+ckb-db = { path = "../../db", version = "= 0.121.0" }
 
 [target.'cfg(all(not(target_env = "msvc"), not(target_os="macos")))'.dependencies]
 jemalloc-ctl = { package = "tikv-jemalloc-ctl", version = "0.5.0" }
diff --git a/util/metrics-config/Cargo.toml b/util/metrics-config/Cargo.toml
index f9141e8534..8b4531e7b3 100644
--- a/util/metrics-config/Cargo.toml
+++ b/util/metrics-config/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "ckb-metrics-config"
-version = "0.121.0-rc2"
+version = "0.121.0"
 license = "MIT"
 authors = ["Nervos <dev@nervos.org>"]
 edition = "2021"
diff --git a/util/metrics-service/Cargo.toml b/util/metrics-service/Cargo.toml
index 219763e4eb..3b4a2372e5 100644
--- a/util/metrics-service/Cargo.toml
+++ b/util/metrics-service/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "ckb-metrics-service"
-version = "0.121.0-rc2"
+version = "0.121.0"
 license = "MIT"
 authors = ["Nervos <dev@nervos.org>"]
 edition = "2021"
@@ -9,14 +9,14 @@ homepage = "https://github.com/nervosnetwork/ckb"
 repository = "https://github.com/nervosnetwork/ckb"
 
 [dependencies]
-ckb-metrics-config = { path = "../metrics-config", version = "= 0.121.0-rc2" }
-ckb-metrics = { path = "../metrics", version = "= 0.121.0-rc2" }
-ckb-logger = { path = "../logger", version = "= 0.121.0-rc2" }
-ckb-async-runtime = { path = "../runtime", version = "= 0.121.0-rc2" }
-ckb-util = { path = "..", version = "= 0.121.0-rc2" }
+ckb-metrics-config = { path = "../metrics-config", version = "= 0.121.0" }
+ckb-metrics = { path = "../metrics", version = "= 0.121.0" }
+ckb-logger = { path = "../logger", version = "= 0.121.0" }
+ckb-async-runtime = { path = "../runtime", version = "= 0.121.0" }
+ckb-util = { path = "..", version = "= 0.121.0" }
 prometheus = "0.13.3"
 hyper = { version = "1", features = ["http1", "http2", "server"] }
 http-body-util = "0.1"
 hyper-util = { version = "0.1", features = ["server-auto", "server-graceful"] }
-ckb-stop-handler = { path = "../stop-handler", version = "= 0.121.0-rc2" }
+ckb-stop-handler = { path = "../stop-handler", version = "= 0.121.0" }
 tokio = { version = "1", features = ["sync", "macros"] }
diff --git a/util/metrics/Cargo.toml b/util/metrics/Cargo.toml
index 7248ed0f01..fc8cb4609b 100644
--- a/util/metrics/Cargo.toml
+++ b/util/metrics/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "ckb-metrics"
-version = "0.121.0-rc2"
+version = "0.121.0"
 license = "MIT"
 authors = ["Nervos <dev@nervos.org>"]
 edition = "2021"
diff --git a/util/migrate/Cargo.toml b/util/migrate/Cargo.toml
index 7a9e63f2ff..e951a48cd2 100644
--- a/util/migrate/Cargo.toml
+++ b/util/migrate/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "ckb-migrate"
-version = "0.121.0-rc2"
+version = "0.121.0"
 license = "MIT"
 authors = ["Nervos Core Dev <dev@nervos.org>"]
 edition = "2021"
@@ -11,21 +11,21 @@ repository = "https://github.com/nervosnetwork/ckb"
 # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
 
 [dependencies]
-ckb-migration-template = { path = "migration-template", version = "= 0.121.0-rc2" }
-ckb-db = { path = "../../db", version = "= 0.121.0-rc2" }
-ckb-error = { path = "../../error", version = "= 0.121.0-rc2" }
-ckb-db-schema = { path = "../../db-schema", version = "= 0.121.0-rc2" }
-ckb-db-migration = { path = "../../db-migration", version = "= 0.121.0-rc2" }
-ckb-app-config = { path = "../app-config", version = "= 0.121.0-rc2" }
-ckb-types = { path = "../types", version = "= 0.121.0-rc2" }
-ckb-store = { path = "../../store", version = "= 0.121.0-rc2" }
-ckb-chain-spec = { path = "../../spec", version = "= 0.121.0-rc2" }
-ckb-hash = { path = "../hash", version = "= 0.121.0-rc2" }
+ckb-migration-template = { path = "migration-template", version = "= 0.121.0" }
+ckb-db = { path = "../../db", version = "= 0.121.0" }
+ckb-error = { path = "../../error", version = "= 0.121.0" }
+ckb-db-schema = { path = "../../db-schema", version = "= 0.121.0" }
+ckb-db-migration = { path = "../../db-migration", version = "= 0.121.0" }
+ckb-app-config = { path = "../app-config", version = "= 0.121.0" }
+ckb-types = { path = "../types", version = "= 0.121.0" }
+ckb-store = { path = "../../store", version = "= 0.121.0" }
+ckb-chain-spec = { path = "../../spec", version = "= 0.121.0" }
+ckb-hash = { path = "../hash", version = "= 0.121.0" }
 tempfile.workspace = true
 num_cpus = "1.10"
 
 [dev-dependencies]
-ckb-systemtime = {path = "../systemtime", version = "= 0.121.0-rc2", features = ["enable_faketime"]  }
+ckb-systemtime = {path = "../systemtime", version = "= 0.121.0", features = ["enable_faketime"]  }
 
 [features]
 portable = ["ckb-db/portable", "ckb-db-migration/portable"]
diff --git a/util/migrate/migration-template/Cargo.toml b/util/migrate/migration-template/Cargo.toml
index df53ff63b6..84232d7a00 100644
--- a/util/migrate/migration-template/Cargo.toml
+++ b/util/migrate/migration-template/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "ckb-migration-template"
-version = "0.121.0-rc2"
+version = "0.121.0"
 license = "MIT"
 authors = ["Nervos <dev@nervos.org>"]
 edition = "2021"
diff --git a/util/multisig/Cargo.toml b/util/multisig/Cargo.toml
index 9a7aeb8035..b0b58b4c6c 100644
--- a/util/multisig/Cargo.toml
+++ b/util/multisig/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "ckb-multisig"
-version = "0.121.0-rc2"
+version = "0.121.0"
 license = "MIT"
 authors = ["Nervos Core Dev <dev@nervos.org>"]
 edition = "2021"
@@ -9,9 +9,9 @@ homepage = "https://github.com/nervosnetwork/ckb"
 repository = "https://github.com/nervosnetwork/ckb"
 
 [dependencies]
-ckb-error = { path = "../../error", version = "= 0.121.0-rc2" }
-ckb-logger = { path = "../logger", version = "= 0.121.0-rc2" }
-ckb-crypto = { path = "../crypto", version = "= 0.121.0-rc2" }
+ckb-error = { path = "../../error", version = "= 0.121.0" }
+ckb-logger = { path = "../logger", version = "= 0.121.0" }
+ckb-crypto = { path = "../crypto", version = "= 0.121.0" }
 
 [dev-dependencies]
 rand = "0.8"
diff --git a/util/network-alert/Cargo.toml b/util/network-alert/Cargo.toml
index 31a3d5c397..4f6022547b 100644
--- a/util/network-alert/Cargo.toml
+++ b/util/network-alert/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "ckb-network-alert"
-version = "0.121.0-rc2"
+version = "0.121.0"
 license = "MIT"
 authors = ["Nervos Core Dev <dev@nervos.org>"]
 edition = "2021"
@@ -9,23 +9,23 @@ homepage = "https://github.com/nervosnetwork/ckb"
 repository = "https://github.com/nervosnetwork/ckb"
 
 [dependencies]
-ckb-multisig = { path = "../multisig", version = "= 0.121.0-rc2" }
-ckb-types = { path = "../types", version = "= 0.121.0-rc2" }
-ckb-util = { path = "..", version = "= 0.121.0-rc2" }
-ckb-network = { path = "../../network", version = "= 0.121.0-rc2" }
-ckb-notify = { path = "../../notify", version = "= 0.121.0-rc2" }
-ckb-jsonrpc-types = { path = "../jsonrpc-types", version = "= 0.121.0-rc2" }
-ckb-logger = { path = "../logger", version = "= 0.121.0-rc2" }
-ckb-app-config = { path = "../app-config", version = "= 0.121.0-rc2" }
-ckb-error = { path = "../../error", version = "= 0.121.0-rc2" }
-ckb-systemtime = { path = "../systemtime", version = "= 0.121.0-rc2" }
+ckb-multisig = { path = "../multisig", version = "= 0.121.0" }
+ckb-types = { path = "../types", version = "= 0.121.0" }
+ckb-util = { path = "..", version = "= 0.121.0" }
+ckb-network = { path = "../../network", version = "= 0.121.0" }
+ckb-notify = { path = "../../notify", version = "= 0.121.0" }
+ckb-jsonrpc-types = { path = "../jsonrpc-types", version = "= 0.121.0" }
+ckb-logger = { path = "../logger", version = "= 0.121.0" }
+ckb-app-config = { path = "../app-config", version = "= 0.121.0" }
+ckb-error = { path = "../../error", version = "= 0.121.0" }
+ckb-systemtime = { path = "../systemtime", version = "= 0.121.0" }
 lru = "0.7.1"
 semver = "1.0"
 
 [dev-dependencies]
-ckb-crypto = { path = "../crypto", version = "= 0.121.0-rc2" }
-ckb-async-runtime = { path = "../runtime", version = "= 0.121.0-rc2" }
-ckb-systemtime = { path = "../systemtime", version = "= 0.121.0-rc2", features = [
+ckb-crypto = { path = "../crypto", version = "= 0.121.0" }
+ckb-async-runtime = { path = "../runtime", version = "= 0.121.0" }
+ckb-systemtime = { path = "../systemtime", version = "= 0.121.0", features = [
     "enable_faketime",
 ] }
 faster-hex = "0.6"
diff --git a/util/occupied-capacity/Cargo.toml b/util/occupied-capacity/Cargo.toml
index e1722f4099..e06b2b012e 100644
--- a/util/occupied-capacity/Cargo.toml
+++ b/util/occupied-capacity/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "ckb-occupied-capacity"
-version = "0.121.0-rc2"
+version = "0.121.0"
 license = "MIT"
 authors = ["Nervos Core Dev <dev@nervos.org>"]
 edition = "2021"
@@ -9,5 +9,5 @@ homepage = "https://github.com/nervosnetwork/ckb"
 repository = "https://github.com/nervosnetwork/ckb"
 
 [dependencies]
-ckb-occupied-capacity-macros = { path = "macros", version = "= 0.121.0-rc2" }
-ckb-occupied-capacity-core = { path = "core", version = "= 0.121.0-rc2" }
+ckb-occupied-capacity-macros = { path = "macros", version = "= 0.121.0" }
+ckb-occupied-capacity-core = { path = "core", version = "= 0.121.0" }
diff --git a/util/occupied-capacity/core/Cargo.toml b/util/occupied-capacity/core/Cargo.toml
index 3af8707de7..c47b13b9dc 100644
--- a/util/occupied-capacity/core/Cargo.toml
+++ b/util/occupied-capacity/core/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "ckb-occupied-capacity-core"
-version = "0.121.0-rc2"
+version = "0.121.0"
 license = "MIT"
 authors = ["Nervos Core Dev <dev@nervos.org>"]
 edition = "2021"
diff --git a/util/occupied-capacity/macros/Cargo.toml b/util/occupied-capacity/macros/Cargo.toml
index 4e5a69385b..72287c0540 100644
--- a/util/occupied-capacity/macros/Cargo.toml
+++ b/util/occupied-capacity/macros/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "ckb-occupied-capacity-macros"
-version = "0.121.0-rc2"
+version = "0.121.0"
 authors = ["Nervos Core Dev <dev@nervos.org>"]
 edition = "2021"
 license = "MIT"
@@ -14,4 +14,4 @@ proc-macro = true
 [dependencies]
 quote = "1.0"
 syn = "1.0"
-ckb-occupied-capacity-core = { path = "../core", version = "= 0.121.0-rc2" }
+ckb-occupied-capacity-core = { path = "../core", version = "= 0.121.0" }
diff --git a/util/proposal-table/Cargo.toml b/util/proposal-table/Cargo.toml
index 55cc93af7f..ab8ac23d43 100644
--- a/util/proposal-table/Cargo.toml
+++ b/util/proposal-table/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "ckb-proposal-table"
-version = "0.121.0-rc2"
+version = "0.121.0"
 authors = ["Nervos Core Dev <dev@nervos.org>"]
 edition = "2021"
 license = "MIT"
@@ -10,6 +10,6 @@ homepage = "https://github.com/nervosnetwork/ckb"
 repository = "https://github.com/nervosnetwork/ckb"
 
 [dependencies]
-ckb-logger = { path = "../logger", version = "= 0.121.0-rc2" }
-ckb-chain-spec = { path = "../../spec", version = "= 0.121.0-rc2" }
-ckb-types = { path = "../types", version = "= 0.121.0-rc2" }
+ckb-logger = { path = "../logger", version = "= 0.121.0" }
+ckb-chain-spec = { path = "../../spec", version = "= 0.121.0" }
+ckb-types = { path = "../types", version = "= 0.121.0" }
diff --git a/util/rational/Cargo.toml b/util/rational/Cargo.toml
index e6afb9055c..d5e17226e1 100644
--- a/util/rational/Cargo.toml
+++ b/util/rational/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "ckb-rational"
-version = "0.121.0-rc2"
+version = "0.121.0"
 license = "MIT"
 authors = ["Nervos Core Dev <dev@nervos.org>"]
 edition = "2021"
diff --git a/util/reward-calculator/Cargo.toml b/util/reward-calculator/Cargo.toml
index f3ae844c4a..f86be79280 100644
--- a/util/reward-calculator/Cargo.toml
+++ b/util/reward-calculator/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "ckb-reward-calculator"
-version = "0.121.0-rc2"
+version = "0.121.0"
 license = "MIT"
 authors = ["Nervos Core Dev <dev@nervos.org>"]
 edition = "2021"
@@ -9,15 +9,15 @@ homepage = "https://github.com/nervosnetwork/ckb"
 repository = "https://github.com/nervosnetwork/ckb"
 
 [dependencies]
-ckb-types = { path = "../types", version = "= 0.121.0-rc2" }
-ckb-store = { path = "../../store", version = "= 0.121.0-rc2" }
-ckb-dao = { path = "../dao", version = "= 0.121.0-rc2" }
-ckb-dao-utils = { path = "../dao/utils", version = "= 0.121.0-rc2" }
-ckb-logger = { path = "../logger", version = "= 0.121.0-rc2" }
-ckb-chain-spec = {path = "../../spec", version = "= 0.121.0-rc2"}
+ckb-types = { path = "../types", version = "= 0.121.0" }
+ckb-store = { path = "../../store", version = "= 0.121.0" }
+ckb-dao = { path = "../dao", version = "= 0.121.0" }
+ckb-dao-utils = { path = "../dao/utils", version = "= 0.121.0" }
+ckb-logger = { path = "../logger", version = "= 0.121.0" }
+ckb-chain-spec = {path = "../../spec", version = "= 0.121.0"}
 
 [dev-dependencies]
-ckb-db = { path = "../../db", version = "= 0.121.0-rc2" }
-ckb-occupied-capacity = { path = "../occupied-capacity", version = "= 0.121.0-rc2" }
-ckb-db-schema = { path = "../../db-schema", version = "= 0.121.0-rc2" }
+ckb-db = { path = "../../db", version = "= 0.121.0" }
+ckb-occupied-capacity = { path = "../occupied-capacity", version = "= 0.121.0" }
+ckb-db-schema = { path = "../../db-schema", version = "= 0.121.0" }
 tempfile.workspace = true
diff --git a/util/rich-indexer/Cargo.toml b/util/rich-indexer/Cargo.toml
index 345dea0410..af6abc3ae6 100644
--- a/util/rich-indexer/Cargo.toml
+++ b/util/rich-indexer/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "ckb-rich-indexer"
-version = "0.121.0-rc2"
+version = "0.121.0"
 license = "MIT"
 authors = ["Nervos Core Dev <dev@nervos.org>"]
 edition = "2021"
@@ -12,12 +12,12 @@ repository = "https://github.com/nervosnetwork/ckb"
 
 [dependencies]
 anyhow = "1.0.34"
-ckb-app-config = { path = "../app-config", version = "= 0.121.0-rc2" }
-ckb-async-runtime = { path = "../runtime", version = "= 0.121.0-rc2" }
-ckb-indexer-sync = { path = "../indexer-sync", version = "= 0.121.0-rc2" }
-ckb-jsonrpc-types = { path = "../jsonrpc-types", version = "= 0.121.0-rc2" }
-ckb-notify = { path = "../../notify", version = "= 0.121.0-rc2" }
-ckb-types = { path = "../types", version = "= 0.121.0-rc2" }
+ckb-app-config = { path = "../app-config", version = "= 0.121.0" }
+ckb-async-runtime = { path = "../runtime", version = "= 0.121.0" }
+ckb-indexer-sync = { path = "../indexer-sync", version = "= 0.121.0" }
+ckb-jsonrpc-types = { path = "../jsonrpc-types", version = "= 0.121.0" }
+ckb-notify = { path = "../../notify", version = "= 0.121.0" }
+ckb-types = { path = "../types", version = "= 0.121.0" }
 futures = "0.3"
 log = "0.4"
 num-bigint = "0.4"
diff --git a/util/runtime/Cargo.toml b/util/runtime/Cargo.toml
index a968c49d76..3c450a95c5 100644
--- a/util/runtime/Cargo.toml
+++ b/util/runtime/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "ckb-async-runtime"
-version = "0.121.0-rc2"
+version = "0.121.0"
 license = "MIT"
 authors = ["Nervos Core Dev <dev@nervos.org>"]
 edition = "2021"
@@ -10,8 +10,8 @@ repository = "https://github.com/nervosnetwork/ckb"
 
 [dependencies]
 tokio = { version = "1", features = ["rt", "sync"] }
-ckb-logger = { path = "../logger", version = "= 0.121.0-rc2" }
-ckb-spawn = { path = "../spawn", version = "= 0.121.0-rc2" }
+ckb-logger = { path = "../logger", version = "= 0.121.0" }
+ckb-spawn = { path = "../spawn", version = "= 0.121.0" }
 
 [target.'cfg(not(target_family = "wasm"))'.dependencies]
 tokio = { version = "1", features = ["rt-multi-thread"] }
diff --git a/util/snapshot/Cargo.toml b/util/snapshot/Cargo.toml
index 5b6a5cde74..6a8b2b0819 100644
--- a/util/snapshot/Cargo.toml
+++ b/util/snapshot/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "ckb-snapshot"
-version = "0.121.0-rc2"
+version = "0.121.0"
 license = "MIT"
 authors = ["Nervos Core Dev <dev@nervos.org>"]
 edition = "2021"
@@ -11,15 +11,15 @@ repository = "https://github.com/nervosnetwork/ckb"
 # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
 
 [dependencies]
-ckb-types = { path = "../types", version = "= 0.121.0-rc2" }
-ckb-chain-spec = { path = "../../spec", version = "= 0.121.0-rc2" }
-ckb-store = { path = "../../store", version = "= 0.121.0-rc2" }
-ckb-db = { path = "../../db", version = "= 0.121.0-rc2" }
-ckb-traits = { path = "../../traits", version = "= 0.121.0-rc2" }
-ckb-proposal-table = { path = "../proposal-table", version = "= 0.121.0-rc2" }
+ckb-types = { path = "../types", version = "= 0.121.0" }
+ckb-chain-spec = { path = "../../spec", version = "= 0.121.0" }
+ckb-store = { path = "../../store", version = "= 0.121.0" }
+ckb-db = { path = "../../db", version = "= 0.121.0" }
+ckb-traits = { path = "../../traits", version = "= 0.121.0" }
+ckb-proposal-table = { path = "../proposal-table", version = "= 0.121.0" }
 arc-swap = "1.3"
-ckb-db-schema = { path = "../../db-schema", version = "= 0.121.0-rc2" }
-ckb-freezer = { path = "../../freezer", version = "= 0.121.0-rc2" }
+ckb-db-schema = { path = "../../db-schema", version = "= 0.121.0" }
+ckb-freezer = { path = "../../freezer", version = "= 0.121.0" }
 ckb-merkle-mountain-range = "0.5.2"
 
 [features]
diff --git a/util/spawn/Cargo.toml b/util/spawn/Cargo.toml
index 1a6d8749a5..6a3468d435 100644
--- a/util/spawn/Cargo.toml
+++ b/util/spawn/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "ckb-spawn"
-version = "0.121.0-rc2"
+version = "0.121.0"
 license = "MIT"
 authors = ["Nervos Core Dev <dev@nervos.org>"]
 edition = "2021"
diff --git a/util/stop-handler/Cargo.toml b/util/stop-handler/Cargo.toml
index cef2bcdb68..905b7a780f 100644
--- a/util/stop-handler/Cargo.toml
+++ b/util/stop-handler/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "ckb-stop-handler"
-version = "0.121.0-rc2"
+version = "0.121.0"
 authors = ["Nervos Core Dev <dev@nervos.org>"]
 edition = "2021"
 license = "MIT"
@@ -9,11 +9,11 @@ homepage = "https://github.com/nervosnetwork/ckb"
 repository = "https://github.com/nervosnetwork/ckb"
 
 [dependencies]
-ckb-logger = { path = "../logger", version = "= 0.121.0-rc2" }
+ckb-logger = { path = "../logger", version = "= 0.121.0" }
 tokio = { version = "1", features = ["sync"] }
-ckb-channel = { path = "../channel", version = "= 0.121.0-rc2" }
-ckb-util = { path = "..", version = "= 0.121.0-rc2" }
-ckb-async-runtime = { path = "../runtime", version = "= 0.121.0-rc2" }
+ckb-channel = { path = "../channel", version = "= 0.121.0" }
+ckb-util = { path = "..", version = "= 0.121.0" }
+ckb-async-runtime = { path = "../runtime", version = "= 0.121.0" }
 tokio-util = "0.7.8"
 
 
diff --git a/util/systemtime/Cargo.toml b/util/systemtime/Cargo.toml
index b508b35cca..1c93210684 100644
--- a/util/systemtime/Cargo.toml
+++ b/util/systemtime/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "ckb-systemtime"
-version = "0.121.0-rc2"
+version = "0.121.0"
 license = "MIT"
 authors = ["Nervos <dev@nervos.org>"]
 edition = "2021"
diff --git a/util/test-chain-utils/Cargo.toml b/util/test-chain-utils/Cargo.toml
index e1827970e5..6d1a9e7f31 100644
--- a/util/test-chain-utils/Cargo.toml
+++ b/util/test-chain-utils/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "ckb-test-chain-utils"
-version = "0.121.0-rc2"
+version = "0.121.0"
 authors = ["Nervos Core Dev <dev@nervos.org>"]
 edition = "2021"
 license = "MIT"
@@ -9,20 +9,20 @@ homepage = "https://github.com/nervosnetwork/ckb"
 repository = "https://github.com/nervosnetwork/ckb"
 
 [dependencies]
-ckb-types = { path = "../types", version = "= 0.121.0-rc2" }
-ckb-db = { path = "../../db", version = "= 0.121.0-rc2" }
-ckb-store = { path = "../../store", version = "= 0.121.0-rc2" }
-ckb-chain-spec = { path = "../../spec", version = "= 0.121.0-rc2" }
-ckb-dao-utils = { path = "../dao/utils", version = "= 0.121.0-rc2" }
-ckb-dao = { path = "../dao", version = "= 0.121.0-rc2" }
-ckb-traits = { path = "../../traits", version = "= 0.121.0-rc2" }
-ckb-systemtime = { path = "../systemtime", version = "= 0.121.0-rc2" }
-ckb-resource = { path = "../../resource", version = "= 0.121.0-rc2" }
-ckb-db-schema = { path = "../../db-schema", version = "= 0.121.0-rc2" }
-ckb-util = { path = "..", version = "= 0.121.0-rc2" }
+ckb-types = { path = "../types", version = "= 0.121.0" }
+ckb-db = { path = "../../db", version = "= 0.121.0" }
+ckb-store = { path = "../../store", version = "= 0.121.0" }
+ckb-chain-spec = { path = "../../spec", version = "= 0.121.0" }
+ckb-dao-utils = { path = "../dao/utils", version = "= 0.121.0" }
+ckb-dao = { path = "../dao", version = "= 0.121.0" }
+ckb-traits = { path = "../../traits", version = "= 0.121.0" }
+ckb-systemtime = { path = "../systemtime", version = "= 0.121.0" }
+ckb-resource = { path = "../../resource", version = "= 0.121.0" }
+ckb-db-schema = { path = "../../db-schema", version = "= 0.121.0" }
+ckb-util = { path = "..", version = "= 0.121.0" }
 tempfile.workspace = true
 
 [dev-dependencies]
-ckb-systemtime = { path = "../systemtime", version = "= 0.121.0-rc2", features = [
+ckb-systemtime = { path = "../systemtime", version = "= 0.121.0", features = [
     "enable_faketime",
 ] }
diff --git a/util/types/Cargo.toml b/util/types/Cargo.toml
index 31a8b9350d..00f0092a95 100644
--- a/util/types/Cargo.toml
+++ b/util/types/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "ckb-types"
-version = "0.121.0-rc2"
+version = "0.121.0"
 authors = ["Nervos Core Dev <dev@nervos.org>"]
 edition = "2021"
 license = "MIT"
@@ -10,7 +10,7 @@ repository = "https://github.com/nervosnetwork/ckb"
 
 [dependencies]
 molecule = "0.8"
-ckb-fixed-hash = { path = "../fixed-hash", version = "= 0.121.0-rc2" }
+ckb-fixed-hash = { path = "../fixed-hash", version = "= 0.121.0" }
 numext-fixed-uint = { version = "0.1", features = [
     "support_rand",
     "support_heapsize",
@@ -18,14 +18,14 @@ numext-fixed-uint = { version = "0.1", features = [
 ] }
 bytes = { version = "1", features = ["serde"] }
 merkle-cbt = "0.3"
-ckb-occupied-capacity = { path = "../occupied-capacity", version = "= 0.121.0-rc2" }
-ckb-hash = { path = "../hash", version = "= 0.121.0-rc2" }
-ckb-channel = { path = "../channel", version = "= 0.121.0-rc2" }
-ckb-constant = { path = "../constant", version = "= 0.121.0-rc2" }
-ckb-gen-types = { path = "../gen-types", version = "= 0.121.0-rc2" }
+ckb-occupied-capacity = { path = "../occupied-capacity", version = "= 0.121.0" }
+ckb-hash = { path = "../hash", version = "= 0.121.0" }
+ckb-channel = { path = "../channel", version = "= 0.121.0" }
+ckb-constant = { path = "../constant", version = "= 0.121.0" }
+ckb-gen-types = { path = "../gen-types", version = "= 0.121.0" }
 bit-vec = "0.6.3"
-ckb-error = { path = "../../error", version = "= 0.121.0-rc2" }
-ckb-rational = { path = "../rational", version = "= 0.121.0-rc2" }
+ckb-error = { path = "../../error", version = "= 0.121.0" }
+ckb-rational = { path = "../rational", version = "= 0.121.0" }
 derive_more = { version = "1", default-features = false, features = [
     "display",
 ] }
diff --git a/verification/Cargo.toml b/verification/Cargo.toml
index e572542023..4d61b3d070 100644
--- a/verification/Cargo.toml
+++ b/verification/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "ckb-verification"
-version = "0.121.0-rc2"
+version = "0.121.0"
 license = "MIT"
 authors = ["Nervos Core Dev <dev@nervos.org>"]
 edition = "2021"
@@ -9,26 +9,26 @@ homepage = "https://github.com/nervosnetwork/ckb"
 repository = "https://github.com/nervosnetwork/ckb"
 
 [dependencies]
-ckb-types = { path = "../util/types", version = "= 0.121.0-rc2" }
-ckb-script = { path = "../script", version = "= 0.121.0-rc2" }
-ckb-pow = { path = "../pow", version = "= 0.121.0-rc2" }
-ckb-systemtime = { path = "../util/systemtime", version = "= 0.121.0-rc2" }
+ckb-types = { path = "../util/types", version = "= 0.121.0" }
+ckb-script = { path = "../script", version = "= 0.121.0" }
+ckb-pow = { path = "../pow", version = "= 0.121.0" }
+ckb-systemtime = { path = "../util/systemtime", version = "= 0.121.0" }
 lru = "0.7.1"
-ckb-traits = { path = "../traits", version = "= 0.121.0-rc2" }
-ckb-chain-spec = { path = "../spec", version = "= 0.121.0-rc2" }
-ckb-dao = { path = "../util/dao", version = "= 0.121.0-rc2" }
-ckb-dao-utils = { path = "../util/dao/utils", version = "= 0.121.0-rc2" }
-ckb-error = { path = "../error", version = "= 0.121.0-rc2" }
+ckb-traits = { path = "../traits", version = "= 0.121.0" }
+ckb-chain-spec = { path = "../spec", version = "= 0.121.0" }
+ckb-dao = { path = "../util/dao", version = "= 0.121.0" }
+ckb-dao-utils = { path = "../util/dao/utils", version = "= 0.121.0" }
+ckb-error = { path = "../error", version = "= 0.121.0" }
 derive_more = { version = "1", default-features = false, features = [
     "display",
 ] }
-ckb-verification-traits = { path = "./traits", version = "= 0.121.0-rc2" }
+ckb-verification-traits = { path = "./traits", version = "= 0.121.0" }
 tokio = { version = "1", features = ["sync", "macros"] }
 
 
 [dev-dependencies]
-ckb-test-chain-utils = { path = "../util/test-chain-utils", version = "= 0.121.0-rc2" }
-ckb-resource = { path = "../resource", version = "= 0.121.0-rc2" }
-ckb-systemtime = { path = "../util/systemtime", version = "= 0.121.0-rc2", features = [
+ckb-test-chain-utils = { path = "../util/test-chain-utils", version = "= 0.121.0" }
+ckb-resource = { path = "../resource", version = "= 0.121.0" }
+ckb-systemtime = { path = "../util/systemtime", version = "= 0.121.0", features = [
     "enable_faketime",
 ] }
diff --git a/verification/contextual/Cargo.toml b/verification/contextual/Cargo.toml
index 47c70d63a6..5c9210e723 100644
--- a/verification/contextual/Cargo.toml
+++ b/verification/contextual/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "ckb-verification-contextual"
-version = "0.121.0-rc2"
+version = "0.121.0"
 license = "MIT"
 authors = ["Nervos Core Dev <dev@nervos.org>"]
 edition = "2021"
@@ -9,28 +9,28 @@ homepage = "https://github.com/nervosnetwork/ckb"
 repository = "https://github.com/nervosnetwork/ckb"
 
 [dependencies]
-ckb-types = { path = "../../util/types", version = "= 0.121.0-rc2" }
-ckb-store = { path = "../../store", version = "= 0.121.0-rc2" }
-ckb-systemtime = { path = "../../util/systemtime", version = "= 0.121.0-rc2" }
+ckb-types = { path = "../../util/types", version = "= 0.121.0" }
+ckb-store = { path = "../../store", version = "= 0.121.0" }
+ckb-systemtime = { path = "../../util/systemtime", version = "= 0.121.0" }
 rayon = "1.0"
-ckb-traits = { path = "../../traits", version = "= 0.121.0-rc2" }
-ckb-chain-spec = { path = "../../spec", version = "= 0.121.0-rc2" }
-ckb-dao = { path = "../../util/dao", version = "= 0.121.0-rc2" }
-ckb-dao-utils = { path = "../../util/dao/utils", version = "= 0.121.0-rc2" }
-ckb-logger = { path = "../../util/logger", version = "= 0.121.0-rc2" }
-ckb-reward-calculator = { path = "../../util/reward-calculator", version = "= 0.121.0-rc2" }
-ckb-error = { path = "../../error", version = "= 0.121.0-rc2" }
+ckb-traits = { path = "../../traits", version = "= 0.121.0" }
+ckb-chain-spec = { path = "../../spec", version = "= 0.121.0" }
+ckb-dao = { path = "../../util/dao", version = "= 0.121.0" }
+ckb-dao-utils = { path = "../../util/dao/utils", version = "= 0.121.0" }
+ckb-logger = { path = "../../util/logger", version = "= 0.121.0" }
+ckb-reward-calculator = { path = "../../util/reward-calculator", version = "= 0.121.0" }
+ckb-error = { path = "../../error", version = "= 0.121.0" }
 tokio = { version = "1", features = ["sync", "rt-multi-thread"] }
-ckb-async-runtime = { path = "../../util/runtime", version = "= 0.121.0-rc2" }
-ckb-verification-traits = { path = "../traits", version = "= 0.121.0-rc2" }
-ckb-verification = { path = "..", version = "= 0.121.0-rc2" }
+ckb-async-runtime = { path = "../../util/runtime", version = "= 0.121.0" }
+ckb-verification-traits = { path = "../traits", version = "= 0.121.0" }
+ckb-verification = { path = "..", version = "= 0.121.0" }
 ckb-merkle-mountain-range = "0.5.2"
 
 [dev-dependencies]
-ckb-chain = { path = "../../chain", version = "= 0.121.0-rc2" }
-ckb-shared = { path = "../../shared", version = "= 0.121.0-rc2" }
-ckb-test-chain-utils = { path = "../../util/test-chain-utils", version = "= 0.121.0-rc2" }
-ckb-systemtime = { path = "../../util/systemtime", version = "= 0.121.0-rc2", features = [
+ckb-chain = { path = "../../chain", version = "= 0.121.0" }
+ckb-shared = { path = "../../shared", version = "= 0.121.0" }
+ckb-test-chain-utils = { path = "../../util/test-chain-utils", version = "= 0.121.0" }
+ckb-systemtime = { path = "../../util/systemtime", version = "= 0.121.0", features = [
     "enable_faketime",
 ] }
 rand = "0.8"
diff --git a/verification/traits/Cargo.toml b/verification/traits/Cargo.toml
index ccc4d14142..4b974f3e65 100644
--- a/verification/traits/Cargo.toml
+++ b/verification/traits/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "ckb-verification-traits"
-version = "0.121.0-rc2"
+version = "0.121.0"
 license = "MIT"
 authors = ["Nervos Core Dev <dev@nervos.org>"]
 edition = "2021"
@@ -10,4 +10,4 @@ repository = "https://github.com/nervosnetwork/ckb"
 
 [dependencies]
 bitflags = "1.0"
-ckb-error = { path = "../../error", version = "= 0.121.0-rc2" }
+ckb-error = { path = "../../error", version = "= 0.121.0" }