|
| 1 | +# v1.13.0 Release Note |
| 2 | + |
| 3 | +## Summary |
| 4 | +**v1.13.0 has a hardfork, which will be activated at block height 28,516,681 |
| 5 | +(ETA is around 02/19/2024 00:58am UTC) on IoTeX mainnet.** |
| 6 | + |
| 7 | +All nodes **must** upgrade to this release, otherwise the node runs the risk of |
| 8 | +not being able to sync with the IoTeX blockchain after other nodes have upgraded. |
| 9 | + |
| 10 | +**Note:** |
| 11 | +There's no change to the mainnet config.yaml and genesis.yaml. You only need to |
| 12 | +restart your node with the new v1.13.0 image. |
| 13 | + |
| 14 | +v1.13.0 marks a substantial advancement by upgrading IoTeX network's EVM to the |
| 15 | +latest Shanghai version. This upgrade brings in the new opcodes and improvements |
| 16 | +in Shanghai EVM, reducing gas cost with enhanced efficiency and reliability of |
| 17 | +smart contract execution, ultimately leading to a smoother and more cost-effective |
| 18 | +experience on the IoTeX network. |
| 19 | + |
| 20 | +We are also excited to announce that v1.13.0 has enabled deterministic deployment |
| 21 | +functionality on the IoTeX network! This feature would deploy a proxy contract |
| 22 | +at a fixed address (same for all blockchains), and then it can be used to deploy |
| 23 | +any contract to a deterministic address using CREATE2. This ensures that any |
| 24 | +contract could be deployed consistently across different blockchain platforms to |
| 25 | +the same address, eliminates possible variations, and greatly enhance the |
| 26 | +predictability and reliability of smart contract deployment processes, providing |
| 27 | +developers with greater confidence in their deployments and facilitating seamless |
| 28 | +integration with other systems and protocols. |
| 29 | + |
| 30 | +## Other Improvements |
| 31 | +v1.13.0 release also comes with a couple of improvements: |
| 32 | +1. Supported javascript tracing for web3 api `debug_traceCall` |
| 33 | +2. `ioctl` commandline tool added more w3bstream project commands, and set |
| 34 | +default endpoint to IoTeX mainnet |
| 35 | +3. Add operator address into node's metrics reporting |
| 36 | +4. Updated gas station logic to give a dynamic gas price suggestion |
| 37 | +5. Increase max code deployment size to 48kB, same as Ethereum's limit |
| 38 | + |
| 39 | +## Upgrade Priority |
| 40 | +v1.13.0 comes with a hardfork, so all nodes **must** upgrade in order to keep |
| 41 | +syncing with the IoTeX blockchain |
| 42 | + |
| 43 | +| Node type | Action | |
| 44 | +| ---------- | ------------ | |
| 45 | +| Delegate | Must upgrade | |
| 46 | +| Fullnode | Must upgrade | |
| 47 | + |
| 48 | +## Important Commits (not a complete list) |
| 49 | +1. [actpool] skip adding accounts if pending acts is empty [#4027](https://github.com/iotexproject/iotex-core/pull/4027) |
| 50 | +2. [action] Define CandidateSelfStake Action [#4007](https://github.com/iotexproject/iotex-core/pull/4007) |
| 51 | +3. feat(ioctl): upgrade ws apis [#4021](https://github.com/iotexproject/iotex-core/pull/4021) |
| 52 | +4. [actpool] fix typo for worker queue [#4028](https://github.com/iotexproject/iotex-core/pull/4028) |
| 53 | +5. feat(ioctl): project register contract addr config [#4039](https://github.com/iotexproject/iotex-core/pull/4039) |
| 54 | +6. feat(ioctl): ipfs endpoint and ipfs gateway config [#4038](https://github.com/iotexproject/iotex-core/pull/4038) |
| 55 | +7. feat(ioctl): optimize w3bstream project subcommand [#4013](https://github.com/iotexproject/iotex-core/pull/4013) |
| 56 | +8. [staking] Define Endorsement State [#4017](https://github.com/iotexproject/iotex-core/pull/4017) |
| 57 | +9. [action] Define CandidateEndorsement Action [#4016](https://github.com/iotexproject/iotex-core/pull/4016) |
| 58 | +10. [evm] remove NotCheckPutStateErrorOption() [#4040](https://github.com/iotexproject/iotex-core/pull/4040) |
| 59 | +11. Bump golang.org/x/crypto from 0.14.0 to 0.17.0 [#4022](https://github.com/iotexproject/iotex-core/pull/4022) |
| 60 | +12. feat(ioctl): bc version [#4005](https://github.com/iotexproject/iotex-core/pull/4005) |
| 61 | +13. update github [#4048](https://github.com/iotexproject/iotex-core/pull/4048) |
| 62 | +14. [api] web3 api debug_traceCall support javascript tracing [#3931](https://github.com/iotexproject/iotex-core/pull/3931) |
| 63 | +15. [api] Get Pending Action by eth_getTransactionByHash [#4025](https://github.com/iotexproject/iotex-core/pull/4025) |
| 64 | +16. [ioctl] set default endpoint to iotex mainnet [#4050](https://github.com/iotexproject/iotex-core/pull/4050) |
| 65 | +17. [ioctl] ioctl ws code cmd support project config version [#4042](https://github.com/iotexproject/iotex-core/pull/4042) |
| 66 | +18. [server] add operator address into node's metrics [#4056](https://github.com/iotexproject/iotex-core/pull/4056) |
| 67 | +19. Improve action pool [#4030](https://github.com/iotexproject/iotex-core/pull/4030) |
| 68 | +20. feat(ioctl): ioctl ws message with did vc token [#4052](https://github.com/iotexproject/iotex-core/pull/4052) |
| 69 | +21. feat(ioctl): use ipfs cid as project config url [#4053](https://github.com/iotexproject/iotex-core/pull/4053) |
| 70 | +22. chore: change default ws register contract address [#4054](https://github.com/iotexproject/iotex-core/pull/4054) |
| 71 | +23. [log] mute some user request related logs [#4033](https://github.com/iotexproject/iotex-core/pull/4033) |
| 72 | +24. Replace with sort.Slice [#4034](https://github.com/iotexproject/iotex-core/pull/4034) |
| 73 | +25. [state] convert clean address to zero-nonce type [#3991](https://github.com/iotexproject/iotex-core/pull/3991) |
| 74 | +26. [genesis] whitelist replay deployer [#4009](https://github.com/iotexproject/iotex-core/pull/4009) |
| 75 | +27. [gasstation] Update gas station logic [#4035](https://github.com/iotexproject/iotex-core/pull/4035) |
| 76 | +28. replace golint with go vet [#4058](https://github.com/iotexproject/iotex-core/pull/4058) |
| 77 | +29. enable 48kB execution data limit, EIP-2930 tx, and deterministic deployment at Sumatra height [#4070](https://github.com/iotexproject/iotex-core/pull/4070) |
| 78 | +30. [action] check calldata size instead of total size for 48kB init code limit [#4075](https://github.com/iotexproject/iotex-core/pull/4075) |
| 79 | +31. [action] defer access list tx enabling [#4129](https://github.com/iotexproject/iotex-core/pull/4129) |
| 80 | +32. [genesis] set Sumatra to activate at 02-19-2024 00:58AM UTC [#4128](https://github.com/iotexproject/iotex-core/pull/4128) |
0 commit comments