Skip to content

Releases: onflow/flow-go

v0.34.0-crescendo-preview.16

30 Apr 16:43
26cb8ee
Compare
Choose a tag to compare
Pre-release

What's Changed

New Contributors

Full Changelog: v0.34.0-crescendo-preview.13...v0.34.0-crescendo-preview.16

v0.34.0-crescendo-preview.13

22 Apr 08:41
dfb68b2
Compare
Choose a tag to compare
Pre-release

What's Changed

Read more

v0.34.0-crescendo-preview.7

20 Mar 10:44
4aa92a9
Compare
Choose a tag to compare
Pre-release

This release details all changes that will go into Crescendo preview network upgrade since it launched on Feb 28.

What's Changed

Flow EVM Core changes

  • Move blockHash calculation after deduction supply diff by @m-Peter in #5464
  • [Flow EVM] Improving evm integration tests by @ramtinms in #5431
  • [Flow EVM] Fix the evm chainID bug for mainnet by @ramtinms in #5443
  • [Flow EVM] use transfer from/to a fixed native token bridge address for deposit/withdraw calls by @ramtinms in #5469
  • [Flow EVM] make deposit available for all EVM addresses by @ramtinms in #5473
  • bugfix: [Flow EVM] missing uuid on vault returned by the withdraw method #5514
    • [EVM] Fix withdraw: set UUID of returned FlowToken.Vault by @turbolent in #5515
  • [Flow EVM] improve handler by @ramtinms in #5516

Core Protocol

  • Event-based test refactoring for GossipSub RPC inspection unit tests by @kc1116 in #5374
  • [Networking] Reject Gossipsub RPC from unstaked peers by @kc1116 in #5449

Cadence 1.0 migration

Cadence Execution

TPS Load generator

Access node

  • [Access] Add implementation for usage of the local transaction result in Access API by @Guitarheroua in #5306

Util

Testing improvements & bugfixes

Dependency updates and updating from master

Improvements in code documentation

Uncategorized

Full Changelog: v0.34.0-crescendo-preview.5...v0.34.0-crescendo-preview.7

Height Coordinated Upgrade - Jan 2024

22 Jan 01:53
bf54231
Compare
Choose a tag to compare

This update includes the following changes.

👨‍💻 Improvements for developers

The last release added the basic support for script execution on the access node. This update builds on the previous work and includes several improvements and bug fixes to get script execution on the access node close to completion.

🎵 Getting ready for Flow EVM

Flow EVM is coming soon (see: https://flow.com/upgrade/crescendo). To unlock integration with existing middleware, this update includes the Application Binary Interface (ABI) Encode and Decode methods for Flow EVM (issue).

Candence updates

The upgrade will update the supported Cadence version to v0.42.9.

🦾 Performance improvements

This upgrade includes the new cryptography module, improving the overall performance of the consensus algorithm.

Change to resource identifier generation

This release introduces an implementation change for Cadence resource identifier generation. The resource identifiers will no longer be generated sequentially and can have values greater than the max value for Uint32 and, for the foreseeable future, less than 2^56 -1 (the MAX_SAFE_INTEGER for JavaScript). If you were previously storing resource IDs in a Unit32 data type, please make sure to update it to a larger data type that can, at the very least, accommodate IDs greater than Uint32 and up to 2^56 -1 but preferably up to Max Uint64.

Commit list

Access

BFT

  • ReceiptValidator ensures k receipts committing to the execution result by @durkmurder in #5050
  • Epoch setup random source update by @tarakby in #5088

EVM on Flow

CI

Read more

Mainnet 24

16 Oct 22:50
692969b
Compare
Choose a tag to compare

This update includes the following changes.

🔒 Network security improvements

Earlier this year, the Flow Foundation published the roadmap to improve Flow network security (see: roadmap). This upgrade includes a major milestone towards attack-resilient message propagation for autonomous node operations. The first version of the application layer spamming protection has now been implemented and applies to all node types. This protection builds on the networking layer protection added in the last upgrade and provides additional protection against a wide range of attacks against a node at the application layer.

Additionally, it also includes further hardening of the networking layer to make it even more resilient to attacks.

Finally, reporting around malicious nodes has been improved as the consensus follower, which runs within all node types, will now detect and report any malicious sender.

These security updates mark a major step towards improving protocol autonomy and ensuring the network is resilient to attacks.

👨‍💻 Improvements for developers

Simplifying dApp architecture by making it easy to consume transaction events

This upgrade enables event streaming on the REST-based Access API served by the Access nodes. Event streaming makes dApp design simpler by allowing it to consume transaction events using a push-based model instead of a pull-based model. Event streaming is already available using gRPC.

Another enhancement to the Access API in this upgrade is the ability to optionally request the transaction events to be returned in the Cadence Compact Format (CCF) encoding instead of JSON. CCF is a far more compact format and provides better compression of the network payload.

Secure and unlimited script execution

The Access nodes will now also support script execution. This will allow dApps to use a private access node for secure script execution without being subjected to any rate limits. This will also relieve the execution nodes from executing scripts, allowing more CPU on the execution nodes to be allocated towards transaction execution instead. This feature is an alpha release as we continue to test it.

Cadence upgrade

The upgrade will update the supported Cadence version to v0.42.3.

Tamper-proof, verifiable, unpredictable and efficient on-chain random generator

Finally, the update includes partial implementation of FLIP 120: Update unsafeRandom function and FLIP 123: On-chain Random beacon history for commit-reveal schemes. The first FLIP adds a new Cadence function revertibleRandom that uses the Flow native random beacon to provide secure random numbers for both transactions and scripts. The Flow random beacon provides non-biased, unpredictable and verifiable random numbers, that can be used in Cadence contracts by trusted parties, thanks to the latest FVM updates. The second FLIP implements a solution for reverting random results by untrusted parties. It provides commit-reveal scheme tools, based on the Flow random beacon history. The new revertibleRandom as well as the new beacon history contract are implemented in this release.

📳 Recovery from the epoch fallback mode

On October 13th, the network went into an epoch fallback mode when it failed to complete an epoch transition. See incident. Consequently, epoch transitions have been suspended, and certain node operations, such as staking and unstaking have also been impacted.
This network upgrade will help the network recover from the epoch fallback mode and resume normal epoch transitions.

💥 There are no breaking changes in this release

Application layer spam protection

  • Implements disallowlisting logic by @yhassanzadeh13 in #4441
  • Adjust Node Penalty Decay Speed on Repeated Disallow-listing by @gomisha in #4485
  • Synchronization Engine SyncRequest spam detection (Permissionless-related engine level spam detection) by @gomisha in #4590
  • Synchronization Engine RangeRequest spam detection (Permissionless-related engine level spam detection) by @gomisha in #4665
  • Synchronization Engine BatchRequest spam detection (Permissionless-related engine level spam detection) by @gomisha in #4704
  • Synchronization Engine spam detection flag support, config/README.md updates by @gomisha in #4842
  • Khalil/1888 network config improvements by @kc1116 in #4340
  • 1891 Gossipsub RPC validation inspector false positive E2E testing by @kc1116 in #4371
  • Khalil/1895 Add config package unit test by @kc1116 in #4523
  • Khalil/6743 Slashing Violations Consumer ALSP misbehavior report integration by @kc1116 in #4512
  • Gossipsub Tracer RPCSent tracker by @kc1116 in #4543
  • 1898 slashing violations consumer alsp integration test by @kc1116 in #4549
  • Verification Node documentation by @yhassanzadeh13 in #4528
  • Khalil/1899 async rpc sent tracker by @kc1116 in #4553
  • Khalil/6819 simplify rpc inspector validation by @kc1116 in #4642

Access node

Read more

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