diff --git a/README.md b/README.md
index e53198d..1ca1133 100644
--- a/README.md
+++ b/README.md
@@ -19,7 +19,7 @@
Here are the software versions we use:
-- MainNet: v1.13.1
+- MainNet: v1.14.0
## Join TestNet
To start and run a testnet node, please click [**Join Testnet**](https://github.com/iotexproject/iotex-bootstrap/blob/master/README_testnet.md)
@@ -30,7 +30,7 @@ This is the recommended way to start an IoTeX node
1. Pull the docker image:
```
-docker pull iotex/iotex-core:v1.13.1
+docker pull iotex/iotex-core:v1.14.0
```
2. Set the environment with the following commands:
@@ -45,9 +45,9 @@ mkdir -p $IOTEX_HOME/data
mkdir -p $IOTEX_HOME/log
mkdir -p $IOTEX_HOME/etc
-curl https://raw.githubusercontent.com/iotexproject/iotex-bootstrap/v1.13.1/config_mainnet.yaml > $IOTEX_HOME/etc/config.yaml
-curl https://raw.githubusercontent.com/iotexproject/iotex-bootstrap/v1.13.1/genesis_mainnet.yaml > $IOTEX_HOME/etc/genesis.yaml
-curl https://raw.githubusercontent.com/iotexproject/iotex-bootstrap/v1.13.1/trie.db.patch > $IOTEX_HOME/data/trie.db.patch
+curl https://raw.githubusercontent.com/iotexproject/iotex-bootstrap/v1.14.0/config_mainnet.yaml > $IOTEX_HOME/etc/config.yaml
+curl https://raw.githubusercontent.com/iotexproject/iotex-bootstrap/v1.14.0/genesis_mainnet.yaml > $IOTEX_HOME/etc/genesis.yaml
+curl https://raw.githubusercontent.com/iotexproject/iotex-bootstrap/v1.14.0/trie.db.patch > $IOTEX_HOME/data/trie.db.patch
```
3. Edit `$IOTEX_HOME/etc/config.yaml`, look for `externalHost` and `producerPrivKey`, uncomment the lines and fill in your external IP and private key. If you leave `producerPrivKey` empty, your node will be assgined with a random key.
@@ -87,7 +87,7 @@ docker run -d --restart on-failure --name iotex \
-v=$IOTEX_HOME/log:/var/log:rw \
-v=$IOTEX_HOME/etc/config.yaml:/etc/iotex/config_override.yaml:ro \
-v=$IOTEX_HOME/etc/genesis.yaml:/etc/iotex/genesis.yaml:ro \
- iotex/iotex-core:v1.13.1 \
+ iotex/iotex-core:v1.14.0 \
iotex-server \
-config-path=/etc/iotex/config_override.yaml \
-genesis-path=/etc/iotex/genesis.yaml
@@ -107,7 +107,7 @@ docker run -d --restart on-failure --name iotex \
-v=$IOTEX_HOME/log:/var/log:rw \
-v=$IOTEX_HOME/etc/config.yaml:/etc/iotex/config_override.yaml:ro \
-v=$IOTEX_HOME/etc/genesis.yaml:/etc/iotex/genesis.yaml:ro \
- iotex/iotex-core:v1.13.1 \
+ iotex/iotex-core:v1.14.0 \
iotex-server \
-config-path=/etc/iotex/config_override.yaml \
-genesis-path=/etc/iotex/genesis.yaml \
@@ -128,7 +128,7 @@ Same as [Join MainNet](#mainnet) step 2
```
git clone https://github.com/iotexproject/iotex-core.git
cd iotex-core
-git checkout v1.13.1
+git checkout v1.14.0
// optional
export GOPROXY=https://goproxy.io
diff --git a/README_CN.md b/README_CN.md
index 4f0b146..8574a03 100644
--- a/README_CN.md
+++ b/README_CN.md
@@ -18,7 +18,7 @@
以下是当前我们使用的软件版本:
-- 主网:v1.13.1
+- 主网:v1.14.0
## 加入测试网
如果你要启动节点加入测试网,请点击[**加入测试网**](https://github.com/iotexproject/iotex-bootstrap/blob/master/README_CN_testnet.md)
@@ -30,7 +30,7 @@
1. 提取(pull) docker镜像
```
-docker pull iotex/iotex-core:v1.13.1
+docker pull iotex/iotex-core:v1.14.0
```
2. 使用以下命令设置运行环境
@@ -45,9 +45,9 @@ mkdir -p $IOTEX_HOME/data
mkdir -p $IOTEX_HOME/log
mkdir -p $IOTEX_HOME/etc
-curl https://raw.githubusercontent.com/iotexproject/iotex-bootstrap/v1.13.1/config_mainnet.yaml > $IOTEX_HOME/etc/config.yaml
-curl https://raw.githubusercontent.com/iotexproject/iotex-bootstrap/v1.13.1/genesis_mainnet.yaml > $IOTEX_HOME/etc/genesis.yaml
-curl https://raw.githubusercontent.com/iotexproject/iotex-bootstrap/v1.13.1/trie.db.patch > $IOTEX_HOME/data/trie.db.patch
+curl https://raw.githubusercontent.com/iotexproject/iotex-bootstrap/v1.14.0/config_mainnet.yaml > $IOTEX_HOME/etc/config.yaml
+curl https://raw.githubusercontent.com/iotexproject/iotex-bootstrap/v1.14.0/genesis_mainnet.yaml > $IOTEX_HOME/etc/genesis.yaml
+curl https://raw.githubusercontent.com/iotexproject/iotex-bootstrap/v1.14.0/trie.db.patch > $IOTEX_HOME/data/trie.db.patch
```
3. 编辑 `$IOTEX_HOME/etc/config.yaml`, 查找 `externalHost` 和 `producerPrivKey`, 取消注释行并填写您的外部 IP 和私钥。如果`producerPrivKey`放空,你的节点将被分配一个随机密钥。
@@ -84,7 +84,7 @@ docker run -d --restart on-failure --name iotex \
-v=$IOTEX_HOME/log:/var/log:rw \
-v=$IOTEX_HOME/etc/config.yaml:/etc/iotex/config_override.yaml:ro \
-v=$IOTEX_HOME/etc/genesis.yaml:/etc/iotex/genesis.yaml:ro \
- iotex/iotex-core:v1.13.1 \
+ iotex/iotex-core:v1.14.0 \
iotex-server \
-config-path=/etc/iotex/config_override.yaml \
-genesis-path=/etc/iotex/genesis.yaml
@@ -102,7 +102,7 @@ docker run -d --restart on-failure --name iotex \
-v=$IOTEX_HOME/log:/var/log:rw \
-v=$IOTEX_HOME/etc/config.yaml:/etc/iotex/config_override.yaml:ro \
-v=$IOTEX_HOME/etc/genesis.yaml:/etc/iotex/genesis.yaml:ro \
- iotex/iotex-core:v1.13.1 \
+ iotex/iotex-core:v1.14.0 \
iotex-server \
-config-path=/etc/iotex/config_override.yaml \
-genesis-path=/etc/iotex/genesis.yaml \
@@ -122,7 +122,7 @@ docker run -d --restart on-failure --name iotex \
```
git clone https://github.com/iotexproject/iotex-core.git
cd iotex-core
-git checkout v1.13.1
+git checkout v1.14.0
// optional
export GOPROXY=https://goproxy.io
diff --git a/README_CN_testnet.md b/README_CN_testnet.md
index 05ac05c..f0a369d 100644
--- a/README_CN_testnet.md
+++ b/README_CN_testnet.md
@@ -17,7 +17,7 @@
以下是当前我们使用的软件版本:
-- 测试网:v1.14.0-rc0
+- 测试网:v1.14.0
**Note**
如果你要启动节点加入主网,请点击[**加入主网**](https://github.com/iotexproject/iotex-bootstrap/blob/master/README_CN.md)
@@ -29,7 +29,7 @@
1. 提取(pull) docker镜像
```
-docker pull iotex/iotex-core:v1.14.0-rc0
+docker pull iotex/iotex-core:v1.14.0
```
2. 使用以下命令设置运行环境
@@ -44,8 +44,8 @@ mkdir -p $IOTEX_HOME/data
mkdir -p $IOTEX_HOME/log
mkdir -p $IOTEX_HOME/etc
-curl https://raw.githubusercontent.com/iotexproject/iotex-bootstrap/master/config_testnet.yaml > $IOTEX_HOME/etc/config.yaml
-curl https://raw.githubusercontent.com/iotexproject/iotex-bootstrap/master/genesis_testnet.yaml > $IOTEX_HOME/etc/genesis.yaml
+curl https://raw.githubusercontent.com/iotexproject/iotex-bootstrap/v1.14.0/config_testnet.yaml > $IOTEX_HOME/etc/config.yaml
+curl https://raw.githubusercontent.com/iotexproject/iotex-bootstrap/v1.14.0/genesis_testnet.yaml > $IOTEX_HOME/etc/genesis.yaml
```
3. 编辑 `$IOTEX_HOME/etc/config.yaml`, 查找 `externalHost` 和 `producerPrivKey`, 取消注释行并填写您的外部 IP 和私钥。如果`producerPrivKey`放空,你的节点将被分配一个随机密钥。
@@ -82,7 +82,7 @@ docker run -d --restart on-failure --name iotex \
-v=$IOTEX_HOME/log:/var/log:rw \
-v=$IOTEX_HOME/etc/config.yaml:/etc/iotex/config_override.yaml:ro \
-v=$IOTEX_HOME/etc/genesis.yaml:/etc/iotex/genesis.yaml:ro \
- iotex/iotex-core:v1.14.0-rc0 \
+ iotex/iotex-core:v1.14.0 \
iotex-server \
-config-path=/etc/iotex/config_override.yaml \
-genesis-path=/etc/iotex/genesis.yaml
@@ -100,7 +100,7 @@ docker run -d --restart on-failure --name iotex \
-v=$IOTEX_HOME/log:/var/log:rw \
-v=$IOTEX_HOME/etc/config.yaml:/etc/iotex/config_override.yaml:ro \
-v=$IOTEX_HOME/etc/genesis.yaml:/etc/iotex/genesis.yaml:ro \
- iotex/iotex-core:v1.14.0-rc0 \
+ iotex/iotex-core:v1.14.0 \
iotex-server \
-config-path=/etc/iotex/config_override.yaml \
-genesis-path=/etc/iotex/genesis.yaml \
@@ -120,7 +120,7 @@ docker run -d --restart on-failure --name iotex \
```
git clone https://github.com/iotexproject/iotex-core.git
cd iotex-core
-git checkout v1.14.0-rc0
+git checkout v1.14.0
// optional
export GOPROXY=https://goproxy.io
diff --git a/README_testnet.md b/README_testnet.md
index 6daa92f..4c2ca7b 100644
--- a/README_testnet.md
+++ b/README_testnet.md
@@ -18,7 +18,7 @@
Here are the software versions we use:
-- TestNet: v1.14.0-rc0
+- TestNet: v1.14.0
**Note**
To start and run a mainnet node, please click [**Join Mainnet**](https://github.com/iotexproject/iotex-bootstrap/blob/master/README.md)
@@ -29,7 +29,7 @@ This is the recommended way to start an IoTeX node
1. Pull the docker image:
```
-docker pull iotex/iotex-core:v1.14.0-rc0
+docker pull iotex/iotex-core:v1.14.0
```
2. Set the environment with the following commands:
@@ -44,8 +44,8 @@ mkdir -p $IOTEX_HOME/data
mkdir -p $IOTEX_HOME/log
mkdir -p $IOTEX_HOME/etc
-curl https://raw.githubusercontent.com/iotexproject/iotex-bootstrap/master/config_testnet.yaml > $IOTEX_HOME/etc/config.yaml
-curl https://raw.githubusercontent.com/iotexproject/iotex-bootstrap/master/genesis_testnet.yaml > $IOTEX_HOME/etc/genesis.yaml
+curl https://raw.githubusercontent.com/iotexproject/iotex-bootstrap/v1.14.0/config_testnet.yaml > $IOTEX_HOME/etc/config.yaml
+curl https://raw.githubusercontent.com/iotexproject/iotex-bootstrap/v1.14.0/genesis_testnet.yaml > $IOTEX_HOME/etc/genesis.yaml
```
3. Edit `$IOTEX_HOME/etc/config.yaml`, look for `externalHost` and `producerPrivKey`, uncomment the lines and fill in your external IP and private key. If you leave `producerPrivKey` empty, your node will be assgined with a random key.
@@ -85,7 +85,7 @@ docker run -d --restart on-failure --name iotex \
-v=$IOTEX_HOME/log:/var/log:rw \
-v=$IOTEX_HOME/etc/config.yaml:/etc/iotex/config_override.yaml:ro \
-v=$IOTEX_HOME/etc/genesis.yaml:/etc/iotex/genesis.yaml:ro \
- iotex/iotex-core:v1.14.0-rc0 \
+ iotex/iotex-core:v1.14.0 \
iotex-server \
-config-path=/etc/iotex/config_override.yaml \
-genesis-path=/etc/iotex/genesis.yaml
@@ -105,7 +105,7 @@ docker run -d --restart on-failure --name iotex \
-v=$IOTEX_HOME/log:/var/log:rw \
-v=$IOTEX_HOME/etc/config.yaml:/etc/iotex/config_override.yaml:ro \
-v=$IOTEX_HOME/etc/genesis.yaml:/etc/iotex/genesis.yaml:ro \
- iotex/iotex-core:v1.14.0-rc0 \
+ iotex/iotex-core:v1.14.0 \
iotex-server \
-config-path=/etc/iotex/config_override.yaml \
-genesis-path=/etc/iotex/genesis.yaml \
@@ -126,7 +126,7 @@ Same as [Join TestNet](#testnet) step 2
```
git clone https://github.com/iotexproject/iotex-core.git
cd iotex-core
-git checkout v1.14.0-rc0
+git checkout v1.14.0
// optional
export GOPROXY=https://goproxy.io
diff --git a/changelog/v1.14.0-release-note.md b/changelog/v1.14.0-release-note.md
new file mode 100644
index 0000000..78e2b48
--- /dev/null
+++ b/changelog/v1.14.0-release-note.md
@@ -0,0 +1,93 @@
+# v1.14.0 Release Note
+
+## Summary
+**v1.14.0 has a hardfork, which will be activated at block height 29,275,561
+(ETA is around 04/03/2024 00:52:05 AM UTC) on IoTeX mainnet.**
+
+All nodes **must** upgrade to this release, otherwise the node runs the risk of
+not being able to sync with the IoTeX blockchain after other nodes have upgraded.
+
+**Note:**
+There's no change to the mainnet config.yaml and genesis.yaml. You only need to
+restart your node with the new v1.14.0 image.
+
+Version 1.14.0 has enabled two significant new features: IIP-24 Raise Block Gas
+Limit to 50M and IIP-25 delegate endorsement.
+
+With IIP-24, the block gas limit has now been raised to 50M, greatly enhancing
+the processing capabilities of the IoTeX blockchain while ensuring its stability.
+This enhancement allows the blockchain to achieve a maximum of 1000 TPS
+(transactions per second), significantly speeding up transaction processing on
+the blockchain, especially during times of network congestion.
+
+The activation of IIP-25 introduces a novel governance model: it allows big
+stakeholder to create a bucket for endorsing delegate. This would make delegate
+management more flexible and encourage more enthusiastic projects to become IoTeX
+delegates and actively participate in the IoTeX network operation, thereby
+fostering the inclusivity of the IoTeX network and enhancing the diversity of the
+ecosystem.
+
+## Other Improvements
+v1.14.0 release also comes with a couple of improvements:
+1. Improved performance for DB snapshot operation
+2. Enabled web3js format for CandidateActivate and CandidateEndorsement
+3. Make action pick order deterministic
+4. Added more unit tests and end-to-end tests
+
+## Upgrade Priority
+v1.14.0 comes with a hardfork, so all nodes **must** upgrade in order to keep
+syncing with the IoTeX blockchain
+
+| Node type | Action |
+| ---------- | ------------ |
+| Delegate | Must upgrade |
+| Fullnode | Must upgrade |
+
+## Important Commits (not a complete list)
+1. [tools] fix readme typos [#4199](https://github.com/iotexproject/iotex-core/pull/4199)
+2. feat(api): add unit test for coreService [#4193](https://github.com/iotexproject/iotex-core/pull/4193)
+3. feat(wsctl): add project configuration cmd [#4195](https://github.com/iotexproject/iotex-core/pull/4195)
+4. [staking] testing endorsed bucket with existing staking actions [#4186](https://github.com/iotexproject/iotex-core/pull/4186)
+5. use buffered channel [#4197](https://github.com/iotexproject/iotex-core/pull/4197)
+6. feat(api): fix overflow in coreservice [#4192](https://github.com/iotexproject/iotex-core/pull/4192)
+7. test: add unit test for module blockdao [#4182](https://github.com/iotexproject/iotex-core/pull/4182)
+8. add e2etest for refactor fresh account conversion [#4184](https://github.com/iotexproject/iotex-core/pull/4184)
+9. [context] enable delegate endorsement and refactor fresh account conversion at Tsunami height [#4188](https://github.com/iotexproject/iotex-core/pull/4188)
+10. [staking] reject endorse action before HF activated [#4187](https://github.com/iotexproject/iotex-core/pull/4187)
+11. [staking] Cannot withdraw endorsement if it is withdrawing [#4179](https://github.com/iotexproject/iotex-core/pull/4179)
+12. [genesis] raise block gas limit to 50M starting Tsunami height [#4181](https://github.com/iotexproject/iotex-core/pull/4181)
+13. [genesis] add Tsunami block height [#4180](https://github.com/iotexproject/iotex-core/pull/4180)
+14. [account] revert ConvertFreshAccountToZeroNonceType func [#4163](https://github.com/iotexproject/iotex-core/pull/4163)
+15. [evm] add transaction log for Suicide() [#4171](https://github.com/iotexproject/iotex-core/pull/4171)
+16. [actpool] deterministic action pick order [#4175](https://github.com/iotexproject/iotex-core/pull/4175)
+17. [api] remove height check for message batcher [#4176](https://github.com/iotexproject/iotex-core/pull/4176)
+18. [action] Web3 for CandidateActivate and CandidateEndorsement [#4140](https://github.com/iotexproject/iotex-core/pull/4140)
+19. clean up blockdao [#4164](https://github.com/iotexproject/iotex-core/pull/4164)
+20. [staking] Candidate Register without Staking [#4059](https://github.com/iotexproject/iotex-core/pull/4059)
+21. [staking] ActiveCandidate Exclude Candidate with Expired Endorsement [#4062](https://github.com/iotexproject/iotex-core/pull/4062)
+22. [blockchain] add uni tests for runnable.go [#4172](https://github.com/iotexproject/iotex-core/pull/4172)
+23. [staking] Fix typo error [#4173](https://github.com/iotexproject/iotex-core/pull/4173)
+24. [staking] Cannot ChangeCandidate when Bucket is Endorsed [#4133](https://github.com/iotexproject/iotex-core/pull/4133)
+25. [api] get method return msg [#4142](https://github.com/iotexproject/iotex-core/pull/4142)
+26. [staking] Cannot Unstake if Bucket is Endorsed [#4134](https://github.com/iotexproject/iotex-core/pull/4134)
+27. [db] Remove duplicate keys when WriteBatch [#4155](https://github.com/iotexproject/iotex-core/pull/4155)
+28. fix test [#4165](https://github.com/iotexproject/iotex-core/pull/4165)
+29. reset only if snapshots size exceed 10 [#4152](https://github.com/iotexproject/iotex-core/pull/4152)
+30. [evm] add transient storage [#4151](https://github.com/iotexproject/iotex-core/pull/4151)
+31. [staking] Replace ContainsSelfStakingBucket with isSelfStakeBucket [#4139](https://github.com/iotexproject/iotex-core/pull/4139)
+32. add test [#4138](https://github.com/iotexproject/iotex-core/pull/4138)
+33. [db] ResetSnapshots() performance improvement [#4153](https://github.com/iotexproject/iotex-core/pull/4153)
+34. test(contractstaking): add unit tests [#4126](https://github.com/iotexproject/iotex-core/pull/4126)
+35. update tests for rlp_tx.go [#4145](https://github.com/iotexproject/iotex-core/pull/4145)
+36. feat(test): add unit test web3server_utils [#4146](https://github.com/iotexproject/iotex-core/pull/4146)
+37. sgdindexer performance improvement [#4148](https://github.com/iotexproject/iotex-core/pull/4148)
+38. [api] verify received tx hash is correct [#4074](https://github.com/iotexproject/iotex-core/pull/4074)
+39. add test for actionByPrice [#4135](https://github.com/iotexproject/iotex-core/pull/4135)
+40. fix benchmark [#4127](https://github.com/iotexproject/iotex-core/pull/4127)
+41. [genesis] test coverage [#4125](https://github.com/iotexproject/iotex-core/pull/4125)
+42. feat(test): add web3server unit test [#4131](https://github.com/iotexproject/iotex-core/pull/4131)
+43. [staking] Handling CandidateEndorsement Action [#4020](https://github.com/iotexproject/iotex-core/pull/4020)
+44. [staking] CandidateCenter Support for Missing and Changes of Self-Stake Bucket [#4060](https://github.com/iotexproject/iotex-core/pull/4060)
+45. [staking] Handling CandidateActivate Action [#4011](https://github.com/iotexproject/iotex-core/pull/4011)
+46. [refactor] Add bucket validation util functions [#4019](https://github.com/iotexproject/iotex-core/pull/4019)
+47. [staking] Implement Endorsement Statemanager [#4018](https://github.com/iotexproject/iotex-core/pull/4018)
\ No newline at end of file