Releases: celo-org/celo-blockchain
Celo Blockchain 1.1.2
This is a patch release with two changes:
- Fix a denial-of-service vulnerability in the LES server. See GHSA-r33q-22hv-j29q for details. PR: #1266. If you wish your node to serve light clients, you should upgrade to this release as soon as possible. If you don't wish your node to serve light clients, you need not upgrade, so long as you are using the
--light.serve 0
flag (which means your node won't run the LES server). - Activate the Churrito hard fork on Baklava. Churrito is, at this time, already activated on Baklava with version 1.2.2-beta. This backports Churrito's activation on Baklava to v1.1.x, so that this release will work with Baklava now that the hard fork has been activated there. Note that this change only has any effect if you're connecting to Baklava using the
--baklava
flag. PRs: #1173 and #1224 .
Docker Images
- geth: us.gcr.io/celo-org/geth:1.1.2
- geth-all: us.gcr.io/celo-org/geth-all:1.1.2
Celo Blockchain 1.2.2-beta
This release fixes an issue with proxied validators not properly updating the proxy assignments on epoch blocks (#1240). This also includes the upgrade to Golang 1.14.12 (#1226) as well as sets the Churrito HF block for baklava (and only baklava) to be 2719099
, targeting Dec 1, 2020 (#1224).
This release is tagged as a beta because it sets block number for the Churrito HF on baklava, but not mainnet.
See release 1.2.0 notes and release 1.2.1 notes for a full list of changes since 1.1.0.
Docker Images
- geth: us.gcr.io/celo-org/geth:1.2.2-beta
- geth-all: us.gcr.io/celo-org/geth-all:1.2.2-beta
Celo Blockchain 1.1.1
Updated celo blockchain client to go version 1.14.12.
Docker images can be found here:
- geth: us.gcr.io/celo-org/geth:1.1.1
- Id: sha256:a02fddc6eefa4eff07618dd677e6501b2821d4f6d018dcd2e7bc5049922d255b
- geth-all: us.gcr.io/celo-org/geth-all:1.1.1
- Id: sha256:7a51e27865418747c3850039f95251fb0479ebf82a0e3ed7c13ecd388161fc83
Celo Blockchain 1.2.1
This release fixes an issue where passing the flag --ethstats
or --celostats
causes the node to crash (#1218).
See release 1.2.0 notes for a full list of changes since 1.1.0.
Docker Images
- geth: us.gcr.io/celo-org/geth:1.2.1
- geth-all: us.gcr.io/celo-org/geth-all:1.2.1
Celo Blockchain 1.2.0
The major changes in the release are the addition of support for multiple proxies (#1026) and the ability to hotswap validators (#1141). There are a couple changes brought in from upstream geth to improve the dial scheduler (#1192) and improve the handling of chain repairs (#1163).
NOTE: Running nodes with --ethstats
or --celostats
will cause the node to crash. This is fixed in release 1.2.1.
Upgrading Notes
- The communication protocol between the validator and it's proxies implemented in release 1.2 is NOT backwards compatible to the pre-1.2 protocol. If the proxy or validator is being upgraded to 1.2, then both need to be upgraded to that version.
- Validators and proxies using release 1.2 are still compatible with remote nodes running previous versions.
- If you are upgrading from a version earlier than 1.1.0, see 1.1.0 release notes for changes made to remove the geth init step.
Command Line Changes
--ethstats
is being deprecated in favor of--celostats
.--ethstats
will be removed in a future version.--proxy.proxyenodeurlpair
is being deprecated in favor of--proxy.proxyenodeurlpairs
.--proxy.proxyenodeurlpair
will be removed in a future version. Refer to multi-proxy docs for usage.--istanbul.replica
has been added. Refer to hotswap docs for usage.
Geth Management RPC Additions
istanbul.start()
andistanbul.startAtBlock()
istanbul.stop()
andistanbul.stopAtBlock()
istanbul.replicaState
andistanbul.validating
as new fields.istanbul.addProxy(internal enode, external enode)
istanbul.removeProxy(internal enode)
istanbul.proxies
andistanbul.proxiedValidators
as new fields applicable to validators and proxies, respectively.
Quick Links:
Notable Changes:
- Multiproxy (#1026)
- Hotswap Validators (#1141)
- Chain repair fixes (#1163)
- Cherry pick new dial scheduler from upstream (#1192)
- Fix disconnecting unelected validators in ReplaceValidatorPeers() (#1191)
- Celo1 hard fork field added to config (#1173)
- Make primary protocol concept apply to specific versions of istanbul (#1201)
- Make static dials subject to the maxActiveDials limit. (#1202)
- Fix goroutine leak in celostats login. (#1206)
Docker Images
- geth: us.gcr.io/celo-org/geth:1.2.0
- geth-all: us.gcr.io/celo-org/geth-all:1.2.0
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
1.0.1
celo-blockchain v1.0.1 is a security fix release. It addresses a security vulnerability that affects the celo-blockchain
codebase. While the difficulty of executing this attack is, in our opinion, very high, and we have not received information from the community to suggest this vulnerability has been exploited to date, its severity is critical.
Includes:
- Fix use of potentially invalid headers to verify new headers #1109
You can find the Docker images published under us.gcr.io/celo-org/celo-node:1.0.1 (digest: sha256:8db145b43ff9d775e5fd8dfed936a9c0076841a5001969381239b512bb7e160e
)