Skip to content

Releases: onflow/flow-go

Mainnet 23

30 Mar 23:43
0f6ea38
Compare
Choose a tag to compare

This release includes the following major changes,

  • Upgrades to Consensus follower, making it more Byzantine Fault Tolerant (BFT)
  • Adding Cadence Compact Format (CCF) as an option for encoding Cadence values.
  • Event Streaming API implementation as per this FLIP
  • Several updates taking Flow closer to supporting parallel transaction execution
  • Further improving the FVM smart cache validation introduced in the last height coordinated upgrade.
  • Adding support for the service event-based height-coordinated upgrade.
  • Several improvements to the networking layer to make it more resilient to routing attacks.
  • Update block time controller to provide higher precision with epoch timings and block production rate.
  • Update to Cadence v0.39.3

💥 No Breaking Changes

Access

BFT

BFTTesting

Benchmark

CI/CD

Crypto

Randomness

Engine

Execution

Refactoring to enable concurrent Transaction execution

Read more

Height co-ordinated upgrade 03/22/23

21 Mar 22:21
4a4ee2b
Compare
Choose a tag to compare

This release introduces the child account feature on Flow mainnet, which enables Walletless onboarding and hybrid custody model
It also introduces smart cache invalidation in the FVM, which makes contract cache management much more efficient by only deleting the contract and its dependency from the cache during a contract upgrade instead of flushing the full cache.

What's Changed

Access

  • [Access] Disable rest metrics v0.29 by @peterargue in #3968
  • [v0.29] Backport: Fix OBO and inconsistency in signer indices decoding used in Access API #3906 by @jordanschalm in #3979

FVM

Cadence

Misc

Full Changelog: v0.29.16...v0.29.17

Mainnet 22 (emergency spork)

22 Feb 11:31
e644427
Compare
Choose a tag to compare

The epoch transition on Flow mainnet failed on 2/16 due to an issue with the Flow staking contract. The issue was identified and fixed. However, to resume regular epoch operation, Flow mainnet has to be sporked.

No other components and features were affected and are working as expected. Only epoch operation was affected.

Epoch

Access Node

  • [Access Client] Set message received limits - v0.29 backport by @peterargue in #3858
  • [GRPC] Add cli flag for grpc max message size - v0.29 backport by @peterargue in #3893
  • [Access] Fix panic converting execution data to protobuf messages by @peterargue in #3892
  • [Access] Backport error reporting and rest metrics - v0.29 by @peterargue in #3929

Active Pacemaker

Auth account

Spork improvements

Networking

  • [Networking] Logging of libp2p Resource Limits at Node Startup - v0.29 by @yhassanzadeh13 in #3952

Misc

Full Changelog: v0.29.7...v0.29.13

v0.29.6

20 Dec 20:27
7f02a64
Compare
Choose a tag to compare
v0.29.6 Pre-release
Pre-release

Mainnet 21

This release includes the following major changes,

  1. Active pacemaker - The Flow's consensus has been updated to the Jolteon protocol, a substantially improved HotStuff derivative.
  2. BFT change to support Permissionless AN.
  3. Fail-fast transactions with insufficient balance to cover fees.
  4. Update to Cadence v0.31.2

💥 Breaking Changes

Active Pacemaker

Execution node

Execution node refactoring - Prerequisite for concurrent transaction execution

Read more

v0.28.6

11 Oct 18:59
b9b941d
Compare
Choose a tag to compare

Mainnet 20

This release includes the following major changes,

  1. Laying the ground work for Permissionless AN with several upgrades to the underlying peer-to-peer networking layer to make it more Byzantine fault tolerant.
  2. A fully revamped execution node checkpointing process (v6) that is six time faster, eliminates execution node memory spikes and reduces spork downtime.
  3. Rolling upgrade support for Execution and Verification nodes, working towards zero-downtime network upgrades in the future.
  4. FVM performance improvements.

💥 Breaking Changes

Cadence type checking of resource has been fixed and significantly improved. Correct Cadence code should continue to function as before. However, any Cadence code that relied on implementation bugs must be corrected (onflow/cadence#2033)

Execution node

Sync engine

Crypto

Access and Observer node

Performance benchmarking

Cadence and FVM Performance improvement

Read more

v0.27.4

24 Aug 00:47
b6e9a98
Compare
Choose a tag to compare

Mainnet 19

Major items going out this release.

💥 Breaking Changes

(updated 08/29)

  • [Execution] A previous cache implementation allowed frequently queried blocks to stay in the cache for longer than originally intended. The new implementation introduced by (#2893) @ramtinms no longer allows this behaviour and causes the state to quickly become non-queryable via scripts after 500 collections, or approximately 100 blocks. With current block production rates, this translates to ~2mins.
    For script execution beyond this threshold, the Archive Node should be used. We will share the archive node details soon.
  • [Execution] avoiding double encoding of event key before insertion into the event merkle trie (#1994) @ramtinms
  • [FVM] merge constant size account registers in account status (#2799) @ramtinms
  • [FVM] remove the use of the legacy controller by the FVM registers (#2585) @ramtinms
  • Crypto: BLS ciphersuite updates (#2576) @tarakby (announcement)

Execution node checkpointing improvements

  • [Execution Node] Reuse ledger state in checkpoints for -152GB RAM and -24 minutes (#2792) @fxamacker
  • [Ledger] Replace LRU cache with a FIFO queue (circular buffer) (#2893) @ramtinms
  • Refactor root checkpoint extraction program (#2206) @fxamacker
  • Fix copylocks in TestOnBlockProposal_RemoteOrigin (#2693) @fxamacker

Execution node

Cadence & FVM

Epoch and DKG Updates

  • [Fix] Update epoch test suite teardown (#2627) @kc1116
  • fixed decoding error for signer indices at epoch switchover (#2830) @AlexHentschel
  • Unskip flaky test - TestEpochJoinAndLeaveLN (#2802) @LLsq2
  • fix flaky test: TestStaticEpochTransition (#2698) @gomisha
  • [fix:TestEpochJoinAndLeaveAN] [fix:TestEpochJoinAndLeaveVN] Handle registering node without machine account (#2699) @jordanschalm

Networking

Consensus / BFT

Sync engine

Crypto

Access and Observer node

Performance improvements

BFT Testing

Profiler/Telemetry changes

🛠 General Node Improvements

Read more

v0.26.9 - Mainnet 18

14 Jun 16:11
fdc7321
Compare
Choose a tag to compare

Mainnet 18

Major Changes

Misc

Read more

v0.25.7

28 Mar 23:55
5226c35
Compare
Choose a tag to compare
v0.25.7 Pre-release
Pre-release

Mainnet 17

Major Changes

Updated to Cadence version v0.23.0, which contains a breaking change for the Public Key API

There has also been a lot of improvements made to the mTrie/merkle tree storage methods, specially made around the Write Ahead Log, and Checkpointing logic. The speed improvements here are mostly noticeable for node operations side and will not be DAPP facing.

There will be an internal concept change, which will better define the concept of "Weight" in the protocol. This changed required some renaming of Stake → Weight (Node level breaking change). This means that the read the new protocol state, it will require a matching node version that has the same conceptual understanding of Stake vs Weight.

Lastly, there is a change that will make to add the code necessary for Variable Transaction Fees, but this feature will not be enabled until a community vote has been held.

All Changes

💥 Breaking Changes

  • Optimize MTrie Checkpoint (regCount & regSize): -9GB alloc/op, -110 milllion allocs/op, -4GB file size (#2126) @fxamacker
  • Reduce checkpoint file size by using fewer bytes to encode length of encoded payload value (#2165) @fxamacker
  • Update checkpoint file format version from v4 to v5 (#2174) @fxamacker
  • Optimize MTrie checkpoint: 47x speedup (11.7 hours -> 15 mins), -431 GB alloc/op, -7.6 billion allocs/op, -6.9 GB file size (#1944) @fxamacker
  • Rename Stake to Weight (#2090) @jordanschalm
  • Cadence upgrade (#1975) @janezpodhostnik

Cadence & FVM

BFT Testing

Access API

🛠 Node Improvements

🐞 Bug Fixes

CI/CD

  • Flaky Test Monitor - BigQuery update and full refactoring of unit tests (#2102) @gomisha
  • Add observer as a separate docker image (#2113) @m4ksio
  • Avoid setup/teardown cycle for skipped epoch integration tests; re-enable base Epoch Transition test (#1881) @jordanschalm
  • Fix non-x86 linter issue (#1938) @tarakby
  • changing go mod to point to the latest OpenAPI spec (#1962) @vishalchangrani

Misc

v0.24.4

09 Feb 16:09
c78cac3
Compare
Choose a tag to compare

Mainnet 16

Major Changes

No breaking changes for Cadence included in this update.

There are two major features included in this software upgrade:

  • Consensus Voting V2: Protocol level optimization on how voting on blocks is performed, allowing more parallelism in vote processing
  • Epoch Dynamic Node Addition: Adds ability to more easily adjust Protocol member list during Epoch transitions

There has also been a lot of improvements made to the mTrie/merkle tree implementation including a bug fix which will effect how the Payload hash is generated. There are also improvements to caching, such as adding a new cache type which we're currently calling HeroCache.

Lastly, there is a change that will make this software version relatively incompatible with previous Flow node software versions, which is adding the execution CID, in preparation for the improve state sync engine. This change adds an extra field to the ExecutionResult data structure, which will produce different hashes for the ExecutionResult compared to previous software versions

All Changes

Cadence & FVM

Epoch and DKG Updates

Networking

General Node and Crypto Improvements

Access Node

Cosensus Hotstuff

Sporking process improvements

Execution

State sync engine

Build, CI & Tests

🛠 Misc Improvements

v0.23.3 - Mainnet 15

01 Dec 23:38
be20371
Compare
Choose a tag to compare

Mainnet 15

Two major items going out this release.

The first will be the introduction of the new Cadence Storage Layer. This new storage layer will make use of the atree, which will greatly improve the performance of storage interactions with extremly large storage paths. As part of this change, there is a breaking change in relation to the owner field. More on that in the forums

The second being automated Epoch transitions. Epochs will now auto transition once a week with an un-changing node operator list. The network will run the DKG and shuffle clusters each epoch, but node operator changes will not be enabled at epoch boundaries yet. Note that this does not yet include the reward payout, which will still be done manually until we are satisfied with the reliability of the auto epoch transitions.

Breaking Change

Cadence & FVM

Epoch and DKG Updates

Networking

General Node and Crypto Improvements

🛠 Misc. Improvements

CI & Tests