Releases: celo-org/celo-blockchain
Celo-Blockchain Release 1.7.4-stable
Celo-blockchain v1.7.4-stable includes a fix for the format of headers sent via WebSocket connections.
All bugs fixed in this release:
- Add baseFeePerGas to headers sent via EthSubscribe (#2060)
- Split roundstate saving in two parts (#2046)
Other improvements:
- Remove Istanbul v1 code (#1999)
You will want to upgrade to this version if you are:
- Running an RPC node that is serving WebSocket endpoints.
Docker Images
Celo blockchain client: us.gcr.io/celo-org/geth:1.7.4
Celo blockchain client and associated tools: us.gcr.io/celo-org/geth-all:1.7.4
Celo-Blockchain Release 1.7.3-stable
Celo-blockchain v1.7.3-stable includes a fix for failing block traces on certain mainnet blocks.
All bugs fixed in this release:
- Error when running
debug_traceBlockByNumber
on0x108F49C
(#2002) - Fix a potential segfault when doing fast forward receipt download fixes (#1920)
- Add local flag and migrate flags in uptime report (#1914)
- GraphQL returns incorrect gas price (#2015)
- Upgrade dependency "github.com/celo-org/celo-bls-go" (#2005)
- Ensure RoundStateDB is closed when core is stopped (#1996)
You will want to upgrade to this version if you are:
- Running an RPC node that is serving traceBlock or GraphQL calls.
Docker Images
Celo blockchain client: us.gcr.io/celo-org/geth:1.7.3
Celo blockchain client and associated tools: us.gcr.io/celo-org/geth-all:1.7.3
Celo-Blockchain Release 1.7.2-stable
Celo-blockchain v1.7.2-stable includes a single fix for the traceBlock call, where currency exchange rates mid-block were returning incorrect values. (#1987)
You will want to upgrade to this version if you are:
- Running an RPC node that is serving traceBlock calls.
Docker Images
Celo blockchain client: us.gcr.io/celo-org/geth:1.7.2
Celo blockchain client and associated tools: us.gcr.io/celo-org/geth-all:1.7.2
Celo-Blockchain Release 1.7.1-stable
Celo-blockchain v1.7.1-stable includes a single fix for a missing type field in the json rpc receipts returned. (#1985)
You will want to upgrade to this version if you are:
- Running an RPC node that is serving receipts info.
Docker Images
Celo blockchain client: us.gcr.io/celo-org/geth:1.7.1
Celo blockchain client and associated tools: us.gcr.io/celo-org/geth-all:1.7.1
Celo-Blockchain Release 1.7.0-stable
Celo-blockchain v1.7.0-stable includes the Istanbul consensus fork and a change in the RPC block representation to be more compatible with ethereum tools.
You will want to upgrade to this version if you are:
-
A Validator
-
Running an RPC node that is serving request that returns a block as a response, and your users, use libraries as for example
Ethers.js
Istanbul consensus fork #1937
Implements a consensus fork that is determined by a specific block number. From that sequence on, the messages Preprepare and RoundChange will be no longer used, and PreprepareV2 and RoundChangeV2 will be used instead. This is only relevant for validator nodes. This release already has set the Alfajores activation for Block # 14287656 and the Mainnet activation for Block #16068685.
RPC block representation changed #1957
An additional two fields have been added to the block representation returned by the RPC api, they are:
gasLimit
baseFeePerGas
Both fields previously existed as parameters of the system held in contract state. The reason for this change is to improve compatibility with existing ethereum tooling specifically Ethers.js
which crashes if the gasLimit
is not present on a block and is unable to send EIP-1559 transactions if baseFeePerGas
is not present.
Note that the internal block representation has not been modified so these new fields should not be taken into account in block hashing or signing operations. Since these fields are not part of the internal block representation they need to be fetched from state when the RPC call is made, if the state for these fields is missing then they will not be present on the block response. Non archive full nodes retain state for only the last 128 blocks, so when interacting with a non archive full node blocks more than 128 below the head block or blocks older than about 10 minutes will not have these fields present. If you require these fields on all blocks then you will need to make your RPC requests to an archive node.
A new flag has been added which allows disabling the addition of the new fields as a measure to help ease the transition to the new RPC block representation, the flag will likely be removed in a future release.
Other changes
- Various fixes in mycelo
Notes (Important for Baklava validators already in the 1.7.0-beta.1)
The Enable Snap Sync #1962 that was part of the 1.7.0-beta.1 presented some issues that we were not able to reproduce. We decided to revert those changes for this particular version to be added in the future after verifying that everything works as it should
Docker Images
Celo blockchain client: us.gcr.io/celo-org/geth:1.7.0
Celo blockchain client and associated tools: us.gcr.io/celo-org/geth-all:1.7.0
Celo-Blockchain Release 1.6.1-stable
Celo-blockchain v1.6.1-stable includes two fixes which are important to RPC providing nodes.
You will want to upgrade to this version if you are:
-
Running an RPC node that is serving
debug_traceBlock
ordebug_traceTransaction
queries.
Examples of this could be block indexers, exchanges, and dApps that look up transaction as part of their logic. -
Running an RPC node that is serving
eth_getBlock(number= "pending")
queries.
Examples of this would be most nodes that consume the pending block info.
Changes
-
Fix ethapi for pending blocks (#1952)
Callingeth_getBlock(number= "pending")
over the RPC API could result in a RPC error if the pending block has eip-1559 txs. -
Fix tracers error (
debug_traceTransaction
,debug_traceBlock
)(#1968)
Fixes the extra elements in the tracer responses:"error": {"code": -32000, "message": "TypeError: cannot read property 'calls' of undefined in server-side tracer function 'fault'"}
This error was added from upstream in the version 1.10.8, and this is a cherrypick from the 1.10.10 that fixes it (ethereum/go-ethereum@b522f5e)
Docker images
Celo blockchain client: us.gcr.io/celo-org/geth:1.6.1
Celo blockchain client and associated tools: us.gcr.io/celo-org/geth-all:1.6.1
Celo-Blockchain Release 1.7.0-beta.1
v1.7.0-beta.1 is the Baklava-only release of v1.7.0. After testing on the Baklava testnet, it will be followed by v1.7.0-stable which will be intended for both Mainnet and Alfajores networks.
Istanbul consensus fork #1937
Implements a consensus fork that is determined by a specific block number. From that sequence on, the messages Preprepare and RoundChange will be no longer used, and PreprepareV2 and RoundChangeV2 will be used instead. This is only relevant for validator nodes. This release already has set the Baklava activation for Block # 13612887.
RPC block representation changed #1957
An additional two fields have been added to the block representation returned by the RPC api, they are:
gasLimit
baseFeePerGas
Both fields previously existed as parameters of the system held in contract state. The reason for this change is to improve compatibility with existing ethereum tooling specifically Ethers.js
which crashes if the gasLimit
is not present on a block and is unable to send EIP-1559 transactions if baseFeePerGas
is not present.
Note that the internal block representation has not been modified so these new fields should not be taken into account in block hashing or signing operations. Since these fields are not part of the internal block representation they need to be fetched from state when the RPC call is made, if the state for these fields is missing then they will not be present on the block response. Non archive full nodes retain state for only the last 128 blocks, so when interacting with a non archive full node blocks more than 128 below the head block or blocks older than about 10 minutes will not have these fields present. If you require these fields on all blocks then you will need to make your RPC requests to an archive node.
A new flag has been added which allows disabling the addition of the new fields as a measure to help ease the transition to the new RPC block representation, the flag will likely be removed in a future release.
Other changes
-
Enable Snap Sync (Note: to be able to use this sync, it requires to have nodes with this same version in the network) #1962
-
Various fixes in mycelo
Docker Images
Celo blockchain client: us.gcr.io/celo-org/geth:1.7.0-beta.1
Celo blockchain client and associated tools: us.gcr.io/celo-org/geth-all:1.7.0-beta.1
Celo-Blockchain Release 1.6.0-stable
Celo-blockchain v1.6.0-stable is the first mainnet release of the v1.6.x release branch.
This new version includes the merges of go-ethereum versions 1.10.8 and 1.10.9. Please refer to go-ethereum release notes if you are interested in a detailed list of changes from this versions (Note: the actual commit that makes the 1.10.8 version a hotfix release was already added as part of the Espresso fork, in our 1.5.0 release).
Other Changes
- Race condition fixes
- The gasEstimation fix (#1900) which was mitigated before by the flag
rpc.gasinflationrate
added in the1.5.5
. - A different way to calculate the
UptimeScore
(#1833) required at the last block of the Epoch. This allows future syncing improvements and a better and cleaner way to handlesetHead
(which should be used only in "worst case scenarios", but this allow us a faster response).
Important Notes
The new UptimeScore
calculation does not store anything in the database (just uses the headers) but the old version does. This means that if for some reason, a client already running a 1.6.x
version, wants/needs to downgrade to a version 1.5.x
, will need to force a setHead
to the First Block of the actual epoch to allow the old version to store the data required that's needed for the last block of the epoch.
Docker Images
Celo blockchain client: us.gcr.io/celo-org/geth:1.6.0
Celo blockchain client and associated tools: us.gcr.io/celo-org/geth-all:1.6.0
Celo-Blockchain Release 1.5.8
The 1.5.8 release includes a refactor of the RoundChangeCertificate
message's encoding/decoding mechanism within istanbul, dramatically reducing its payload size during worst-case round change scenarios. This allows preprepare
messages to respect the boundaries of RLP max message size (16MB) and p2p max message size (10MB).
This change breaks compatibility in the istanbul consensus between validators, but can be released in a rolling fashion without major issues.
Changes
- Reduce Preprepare size (#1924)
- Revert max size for p2p messages change from
1.5.7
Docker Images
Celo blockchain client: us.gcr.io/celo-org/geth:1.5.8
Celo blockchain client and associated tools: us.gcr.io/celo-org/geth-all:1.5.8
Celo-Blockchain Release 1.5.7
The 1.5.7 release includes a fix to support bigger consensus messages on validators.
Changes
- Increase max size for p2p messages (#1922 )
Docker images
Celo blockchain client: us.gcr.io/celo-org/geth:1.5.7
Celo blockchain client and associated tools: us.gcr.io/celo-org/geth-all:1.5.7