Skip to content

Releases: onflow/flow-go

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

v0.22.10 Mainnet-14

26 Oct 23:42
89b5d24
Compare
Choose a tag to compare

🛠 Improvements

What's Changed

Full Changelog: v0.22.9...v0.22.10

v0.21.2 - Mainnet 13

13 Sep 19:08
4f31ff7
Compare
Choose a tag to compare

Mainnet 13

Main contents of this release will be the Full Observer Node, previously refered to as the unstaked access node.

We will also be include many Cadence related updates, requiring a migration, due to needing static type information to be stored for ALL types.

There are also improvements and updates to general performance, the CI/CD and bootstrapping process, as well as further improvements to Epochs, pushing towards full Mainnet roll out.

There are no breaking changes for users (at the Access Layer level).

Full Observer Node

Cadence

  • Add storage migration to inject static types to cadence values (#1264) @SupunS
  • Update to Cadence v0.19.0 (#1265) @SupunS
  • [Storage Migration] Add a flag to cleanup storage during migration (#1120) @SupunS
  • [Storage Migration] Improve static type inferring for arrays and dictionaries (#1245) @SupunS
  • [Storage Migration] Remove broken contracts from storage (#1110) @SupunS

Performance

Epoch and DKG Updates

🛠 Misc. Improvements

CI & Tests

v0.20.5 - Mainnet 12

12 Aug 21:02
4a0c10d
Compare
Choose a tag to compare

Mainnet 12

Epochs

Access Layer Updates

Performance

📖 Documentation

Misc