1.1.0
This is the first celo-blockchain release since Mainnet (not including the 1.0.1 release to address a vulnerability). The main focus of this release was to stabilize the protocol and improve the ability of core devs to make secure and reliable code changes.
On the reliability side, there are now 3 nightly build tests that add to the already existing e2e tests:
- Load Test: Validate that the current build can sustain the same theoretical max TPS with current block gas limits
- Sync Test: Validate that the current build can sync to Mainnet on each of the syncing modes
- Mix Version: Validate that validators running the new build can interop with validators running previous versions of the client
Some important work has been done to address past issues:
- Fixes on chain corruption issues [#1068 and ethereum/go-ethereum/pull/20287 from upstream 1.9.10 merge]
- Fix Fast Sync: (uptime score computation) [#1081]
- Fix aggressive eviction on the txpool [cherry picked from upstream #1149]
Additionally, this build includes some changes to the RPC interface:
- Update
eth_gasPrice
to support any gas currency [#1070] - Add
personal_decrypt
RPC [#1133] - Fix block format: Add epoch snark data to
getBlock
APIs (see additional notes below) [#1096] - Add
istanbul_getValidatorsBLSPublicKeys
(preparation work for Plumo) [#1130] - Add RPCs for setting and query gateway fees [#1038]
Other notable changes:
- Merge upstream to 1.9.10 [#1115] (see upstream releases 1.9.9 & 1.9.10)
- New metrics [#1129, #1124, #1127, #1029, #1091]
- Tweak logging (more useful logging) [#1007 #1143 #1086]
- Clean up Ethereum-only flags from upstream and include flags to connect to Mainnet, Baklava & Alfajores [#995, #1024. #1118, #1087]
- Remove Rust dependency on the build [#1022]
- Mobile Improvements: fix lightest sync, improvements on discovery, others [#1011, #1137, #1132, #1045, #1046]
- Improvements on Ledger wallet integration [#979, #975]
For a complete list of the changes, please check the release milestone
Note on the version number: Initially this was intended to be a 1.0.2 release, but it became evident that changes to the RPC interface implied a minor version update, given the scope of changes. There is one notable exception: the block format API change. This change can be seen as a major version change, because it changed the interface consumers were expecting from the API, potentially being backwards incompatible. However, while this semantically is a breaking update, the gravity of the change that didn't meet the criteria to increase the major version, which will be reserved for more significant changes, and used sparingly. This is a small detour from semantic versioning, and future changes will be introduced more carefully so as to adhere to SemVer.
Docker Image: us.gcr.io/celo-org/geth:1.1.0