Skip to content

v0.28.6

Compare
Choose a tag to compare
@vishalchangrani vishalchangrani released this 11 Oct 18:59
· 20661 commits to master since this release
b9b941d

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

  • [Exec] Add logging to collection fetch and handling by @SaveTheRbtz in #3316
  • [Execution] Adding more logging and a fix to block upload retry by @Tonix517 in #3315
  • [Execution] Fix TestScriptStorageMutationsDiscarded timeout by @SaveTheRbtz in #3109
  • [Execution] Fixing improper use of WaitGroup in a goroutine for upload retry by @Tonix517 in #3285
  • [Execution] Return error when closing gcp connection fails by @peterargue in #3290
  • [Execution] Worker-based Chunk Data Pack Requests by @yhassanzadeh13 in #2951
  • [Execution] state migration clean up by @ramtinms in #3192
  • [EN Performance] Optimize checkpoint serialization for -37GB operational RAM, -2.7 minutes duration, -19.6 million allocs (50% fewer allocs) by @fxamacker in #3050
  • [EN Performance] Reduce memory used for ledger.Payload by 32+ GB, eliminate 1+ billion allocs/op, speedup various ops by @fxamacker in #2930
  • [Execution] Backport "Optimize GetEventsByBlockIDs" to master by @zhangchiqing in #3211
  • [Execution] Fix error logging in script execution - port to master by @janezpodhostnik in #3071
  • Refactor execution node builder (part 1) by @pattyshack in #3130
  • Block computation result upload Retry implementation by @Tonix517 in https://github.com/onflow/flow-go/pull/
  • Execution data format update by @smnzhu in #2841
  • [Execution] remove duplicate blobservice on execution nodes by @peterargue in #3418

Sync engine

Crypto

Access and Observer node

Performance benchmarking

Cadence and FVM Performance improvement

Networking improvements and changes to support BFT

BFT Testing

  • [BFT Testing] updated factory and network tests to support new ccf interface by @gomisha in #2768
  • [BFT Testing] Crash Test utility by @gomisha in #2941
  • [BFT Testing] Corrupting Ingress Traffic (part-1) by @yhassanzadeh13 in #2807
  • [BFT Testing] Corrupting ingress traffic (part-2, add ingress message type) by @gomisha in #2811
  • [BFT Testing] Corrupting ingress traffic (part-3, process ingress message) by @gomisha in #2936
  • [BFT Testing] Adds integration test for ingress corruption by @yhassanzadeh13 in #3215
  • [BFT Testing] ingress traffic - insecure/net/*_test.go, renaming Corruptible Conduit Factory to Corrupt Network (#3255) @gomisha
  • [BFT Testing] Fixing flakey TestNetworkPartitionWithNoHonestPeerScoringInFullTopology by @yhassanzadeh13 in #3397

Testing

Profiler/Telemetry changes

Util changes

Checkpointing

Rolling upgrade support

🛠 General Node Improvements