Skip to content

Releases: celo-org/celo-blockchain

Celo-Blockchain Release 1.7.4-stable

19 Apr 15:14
v1.7.4
Compare
Choose a tag to compare

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

13 Mar 14:37
v1.7.3
Compare
Choose a tag to compare

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 on 0x108F49C (#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

12 Dec 17:15
v1.7.2
Compare
Choose a tag to compare

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

01 Dec 16:57
v1.7.1
Compare
Choose a tag to compare

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

24 Oct 22:59
v1.7.0
Compare
Choose a tag to compare

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

19 Oct 23:03
v1.6.1
Compare
Choose a tag to compare

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 or debug_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)
    Calling eth_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

27 Sep 22:18
v1.7.0-beta.1
Compare
Choose a tag to compare
Pre-release

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

26 Aug 23:40
v1.6.0
Compare
Choose a tag to compare

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 the 1.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 handle setHead (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

14 Jul 22:24
v1.5.8
152b6dc
Compare
Choose a tag to compare

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

14 Jul 12:08
v1.5.7
1e2a6a7
Compare
Choose a tag to compare

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