Releases: onflow/flow-go
v0.38.0-rc.2
What's Changed
- Add support for
cap_tag
domain incheck-storage
command ofutil
program by @fxamacker in #6406 - Skip EVM storage account for value comparison in
util
program'sdiff-states
command by @fxamacker in #6401 - [Util] Add command to debug transaction by @turbolent in #6385
- [CI] print and include the sha256 checksum of the boot tools and util by @zhangchiqing in #6404
- Add support for
cap_tag
domain indiff-states
by @fxamacker in #6407 - Improve pull for transit/bootstrap by @jhawk28 in #6353
- [Access] Updated go-ds-pebble version by @UlyanaAndrukhiv in #6411
- [Access] Add compatible range to Node Version Info endpoint by @UlyanaAndrukhiv in #6294
- [EVM] Decode legacy block event by @sideninja in #6398
- [Access] Added metrics for transaction validator by @Guitarheroua in #6239
- [Cadence 1.0 migration] Add EVM storage account creation migration by @turbolent in #6422
- Update to Cadence v1.0.0-preview.51 by @turbolent in #6423
- Update to Cadence v1.0.0-preview.52 by @turbolent in #6426
- [Util] Add command to debug a script by @turbolent in #6425
- [Verification] Adding block id and height in verified approvals by @zhangchiqing in #6402
- Change TPS dataset by @janezpodhostnik in #6429
- Verbose sample size logs by @kc1116 in #6441
- Transaction Validator recovers from script parse panic by @jordanschalm in #6435
- Backport: Fix cluster assignment >2/3 internal check by @jordanschalm in #6433
- Lower retry interval in EN requester engine by @jordanschalm in #6444
- Add support for checking EVM registers in
check-storage
command by @fxamacker in #6430 - Add grpc endpoint to EN for transaction execution metrics by @janezpodhostnik in #6172
- [Access] Stop Control feature for AN by @Guitarheroua in #6202
- [FVM] Fix metering invalidation by @janezpodhostnik in #6377
- [Util] Check checkpoint file exists when running state extraction by @zhangchiqing in #6459
- minor revision of log, to clarify the root causes of likely benign error log by @AlexHentschel in #6419
- [EVM] adding commitment over state updates by @ramtinms in #6451
- [EVM] patch evm debug tracer by @ramtinms in #6467
- [Flow EVM] adding state update checksum to transaction execution events by @ramtinms in #6456
- [Benchnet] Align default label names by @peterargue in #6447
- Remove internal partners from root block creation by @zhangchiqing in #6472
- Handle
UInt
,Int
Cadence types for EVM ABI encoding/decoding by @m-Peter in #6480 - [Flow EVM] Add boundary checks for ABI encoding values of type
UInt
&Int
by @m-Peter in #6486 - Add Libp2p Gossipsub Peer Gater by @kc1116 in #6479
- [Flow EVM] Run tracing hooks
OnTxStart
,OnTxEnd
forDryRunTransaction
by @m-Peter in #6491 - [Cruise Control] Temp fix to remove systematic observation bias for small committee sizes by @AlexHentschel in #6392
- Port internal 6971 by @turbolent in #6503
- [Flow EVM] adding a new encoding type for captured precompiled calls by @ramtinms in #6488
- Update
checkpoint-collect-stats
command to support payloads file and state commitment by @fxamacker in #6478 - Collect and report more stats in
checkpoint-collect-stats
command by @fxamacker in #6482 - Fix
systemcontracts
Burner address for Testnet/Mainnet by @jribbink in #6505 - Update to Cadence v1.0.0 by @turbolent in #6509
- [Access] Implemented options to fail or warn when payer is not able to pay by @Guitarheroua in #6297
- [Bootstrap] Fix duplication detection in root block finalization by @zhangchiqing in #6484
- [Access] Use Indexed height when checking payer balance by @AndriiDiachuk in #6292
- [Consensus] Proposal is signed by
SafetyRules
by @durkmurder in #6463 - Adds
getIDs()
to NFT program recovery by @joshuahannan in #6513 - [Access] Enforce prune threshold by @Guitarheroua in #6345
- [Requester] Remove duplicated debug logs by @zhangchiqing in #6514
- Update to cadence v1.0.1 by @SupunS in #6556
- Use Production Docker Registry environment for pushing to docker by @Kay-Zee in #6562
- [EVM] Offchain package - part 1 by @ramtinms in #6544
- Remove Cadence 1.0 / Crescendo migrations by @turbolent in #6572
- Update to Cadence v1.1.0 by @turbolent in #6581
- [Flow EVM] Add support for
ABI
encoding/decoding of Soliditybyte
types by @m-Peter in #6553 - Updates core contracts deps to 1.3.2 by @joshuahannan in #6570
- [EVM] Adding account/slot/code iterators to the base storage by @ramtinms in #6555
- [EVM] Make chain config concurrency safe by @ramtinms in #6578
- [EVM] Offchain package - part 2 by @ramtinms in #6545
- [EVM] Offchain package - part 3 by @ramtinms in #6546
- [Access] Improve error messages when querying old blocks by @UlyanaAndrukhiv in #6554
- Update to Cadence v1.2.1, Move Cadence
Crypto
contract on-chain by @turbolent in #6571 - [Observer] Ambiguous references by @UlyanaAndrukhiv in #6547
- [Access] Store Transaction Result error messages in db by @UlyanaAndrukhiv in #6468
- fix: fix slice init length by @rusttech in #6569
- [EVM] Fix COA ownership proof by @janezpodhostnik in #6550
- Add a Time To Seal metric to access node to track time it takes to seal a transaction by @AndriiDiachuk in #6512
- Add meter method which returns remaining computation for given computation kind by @turbolent in #6215
- Minimal emulator implementation inside integration by @bluesign in #6594
- [BFT]
model.Proposal
refactoring by @durkmurder in #6526 - [Execution] Remove deprecated ingestion engine by @zhangchiqing in #6510
- Expose minimum required version to cadence interface by @janezpodhostnik in #6560
- [EVM] adding event collection and verification utilities by @ramtinms in #6582
- [EVM] add utility command to export EVM state by @ramtinms in #6561
- Update code owners by @ramtinms in #6601
- Update to Cadence v1.2.2 by @turbolent in #6608
- [Access] Refactor executionNodesForBlockID by encapsulating its parameters into a struct by @UlyanaAndrukhiv in #6499
- [Access] Improve bounds checking in rest converters by @AndriiDiachuk in #6567
- Disable adx in util build by @tarakby in #6580
- [Access] Make REST message size limit configurable by @AndriiDiachuk in #6596
- [Access] Change SendAndSubscribe endpoint's MessageIndex to start at 0 by @AndriiDiachuk in #6598
- Changed log level not to spam messages by @AndriiDiachuk in #6621
- [Access] Add util command to backfill tx error messages db by @UlyanaAndrukhiv in #6525
- [Access] Refactor REST Routes Package by @UlyanaAndrukhiv in #6616
- [Access] Add support for ignoring version beacon events for compatible versions by @peterargue in #6535
- Print log when checks the executed block matches the sealed result by @zhangchiqing in https://github.com...
Jan 27th 2025 Height Co-orindated Upgrade on Mainnet26 at block height 101584244
What's Changed
FVM
- Get execution version from snapshot instead of state - v0.37 port by @janezpodhostnik in #6883
- Move execution parameter to separate account - V0.37 by @janezpodhostnik in #6891
Cadence
- Port internal fixes by @turbolent in #6937
Collection
- Removes unused first height field from LN builder by @jordanschalm in #6829
- Reduce log level in provider by @peterargue in #6931
CI/CD
- Update Makefile to support private util builds by @sjonpaulbrown in #6797
- Jan/port pr6924 to v0.37 by @j1010001 in #6925
Util
- Backport v0.37 cmd add verify execution result by @zhangchiqing in #6791
- Backport 0.37 fix verify execution result by @zhangchiqing in #6805
- Backport v0.37 add nWorker to verify execution result by @zhangchiqing in #6831
- Log verification progress by @zhangchiqing in #6834
- Backport v0.37 add query last executed sealed block by @zhangchiqing in #6920
- Backport: Add util command to debug transaction by @turbolent in #6923
Full Changelog: v0.37.22...v0.37.36
Nov 21st 2024 Height Co-orindated Upgrade on Mainnet26 at block height 94361765
What's Changed
Data Availability
- Add a Time To Seal metric to access node to track time it takes to seal a transaction by @AndriiDiachuk in #6605
- Backport transaction insufficient balance by @Guitarheroua in #6549
- Fixed issues where time-to-seal was NaN by @AndriiDiachuk in #6625
- Marking v0.37.22 as backward compatible by @vishalchangrani in #6741
CI/CD
- Remove input by @Kay-Zee in #6618
- Add support for building private dependencies in CI by @sjonpaulbrown in #6728
FVM
- Copy slice when setting block hash list - Port by @janezpodhostnik in #6740
Cadence
- Update to Cadence v1.0.3 by @turbolent in #6753
Full Changelog: v0.37.20...v0.37.22
October 29th 2024 Height Co-orindated Upgrade on Mainnet26 at block height 91874965
What's Changed
- Marking v0.37.18 as backward compatible in terms of script execution by @vishalchangrani in #6595
- Expose version boundary to cadence interface - port by @janezpodhostnik in #6597
- Update to Cadence v1.0.2 by @turbolent in #6607
Full Changelog: v0.37.17...v0.37.20
October 8th 2024 Height Co-orindated Upgrade on Mainnet26 at block height 89610514
What's Changed
- Backport v0.37 [Bootstrap] Fix duplication detection in root block finalization by @zhangchiqing in #6485
- cherrypick commits from PR: #6513 by @vishalchangrani in #6530
- [EVM] port of #6451 - Adding commitment over state update by @ramtinms in #6476
- [EVM] port of 6456 - add state update checksum to tx executed events by @ramtinms in #6477
- [Access] Add support for ignoring version beacon events for compatible versions by @peterargue in #6536
- Update to cadence v1.0.1 by @SupunS in #6548
Full Changelog: v0.37.16...v0.37.17
Mainnet 26
What's Changed
Cadence
- Port internal 6971 by @turbolent in #6502
- Reject entitled Account.capabilities.get/borrow/publish by @turbolent in #6500
Network
- Add Libp2p Gossipsub Peer Gater - v0.37 by @peterargue in #6493
- switching off peer-scoring by default by @vishalchangrani in #6473
- Change sample size log from warn to debug by @kc1116 in #6460
EVM
- Port PR 6430 (Support EVM registers in check-storage) to v0.37 by @fxamacker in #6454
- port #6467 - patch evm tracer by @ramtinms in #6475
- backport of 6480 - handle UInt,Int types for ABI encoding/decoding by @ramtinms in #6481
- port 6486 - Add boundary checks for ABI encoding values of type UInt & Int by @ramtinms in #6492
FVM
- Fix metering invalidation - port by @janezpodhostnik in #6461
Execution
- Lower retry interval in EN requester engine by @jordanschalm in #6436
Tools
- Fix cluster assignment >2/3 internal check by @jordanschalm in #6432
- Recover validation error pretty printing panic by @turbolent in #6434
- update to transit script pull command to download file if md5 of remote file is not known by @vishalchangrani in #6453
- adding an option to boostrapcmd to pull candidate access nodes in addition to proposed nodes by @vishalchangrani in #6489
- Remove internal partners from root block creation by @zhangchiqing in #6471
Misc
- minor revision of log, to clarify the root causes of likely benign error log by @AlexHentschel in #6420
- Transaction Validator recovers from script parse panic by @jordanschalm in #6443
Full Changelog: v0.37.10...v0.37.16
🎵 Crescendo (Mainnet25)
Crescendo is the most significant upgrade to the Flow network since genesis that both supercharges Cadence and brings Flow closer to the rest of the web3 ecosystem. Crescendo includes the following major changes:
Full EVM Equivalence
This upgrade makes Flow fully EVM equivalent. Full EVM equivalence means any smart contract, protocol, or tooling that works on Ethereum Mainnet will work out of the box on Flow, without requiring any additional configuration - similar to an EVM L2. With Flow, developers can unlock massive value atop their existing solidity contracts by using Cadence to access Flow-native features and benefit from a game-changing user experience with improved performance. This includes creating gasless experiences in apps through sponsored transactions for mainstream onboarding, accessing protocol-level verified random functions for games, and making multicall transactions requiring a single approval for complex DeFi strategies. More on this here.
Upgrade to Cadence 1.0
Cadence 1.0 represents the most significant upgrade to the language yet, introducing numerous UX, security and functional enhancements that bring Cadence to a new level of maturity. Attachments which allow developers to permisisonlessly extend another author’s contracts will also be shipped with the upgrade, allowing for exciting opportunities to turn products into platforms with use cases from moddable games to nestled NFTs with intelligent interactions. More on this here.
Improving data availability
Flow's long-term vision for data availability is to enable clients and developers to reliably and trustlessly query and replicate the specific portions of the global state that are relevant to them. This upgrade marks a significant first step toward realizing that vision by making all chain data accessible on edge nodes, also known as access nodes. This enhancement allows self-hosted and managed services to provide unrestricted, non-rate-limited access to chain data, including script execution.
Enhancing Network Security with Dynamic Protocol State
This network upgrade introduces the 'Dynamic Protocol State,' a foundational framework for enabling all node types to operate permissionlessly. In the short term, Dynamic Protocol State allows for the immediate ejection of misbehaving nodes within an epoch. Additionally, it lays the groundwork for implementing automatic countermeasures, such as algorithmically slashing misbehaving nodes or entirely revoking their authorization to participate. You can learn more about this feature here.
Improving network scalability with Atree inlining
One of Flow's goals is to support more than a Petabyte on-chain state storage. This upgrade includes a major step towards that goal by vastly improving the memory usage of execution nodes, reducing the current usage by 50% and making future growth far more efficient by revamping how state data is stored in memory on the Execution node using the new Atree register inlining. More on this here.
Faster time to finality for transactions
Over the past year, the Flow Foundation and Flow's community at large have made significant enhancements to the node software, improving performance across most key metrics. Some highlights include:
- Networking layer improvements
- Update to Jolteon consensus algorithm
- Update to the consensus follower.
- A recent major improvement was to streamline Flow’s cryptography stack and switch the low-level library from ‘relic’ to BLST (see change).
Collectively, these changes have significantly reduced block time — the time required for consensus nodes to decide on the next block. As part of the Crescendo upgrade, optimized timing dynamics will improve Flow's central consensus, reducing Time to Finality by 18% and notably enhancing the responsiveness of applications built on Flow. Additionally, the impact of offline nodes and the risk of timing attacks will be reduced by half.
Building blocks for further improving network availability
Flow has made substantial progress in enhancing network availability by reducing the frequency of planned network upgrades that require downtime from four or more per year in the past to just one this year. The amount of unplanned downtime (incidents) has also decreased significantly, with only one incident year-to-date [YTD] in 2024. Flow's current YTD uptime is well above 99.9%.
As part of this ongoing effort, the Crescendo upgrade will introduce key building blocks that enable the network to recover from a failed epoch transition without requiring a coordinated manual override by all node operators, which previously led to downtime. If the automatic setup of a new epoch fails, the network will enter a dedicated state called Epoch Fallback Mode [EFM], where transactions continue to be processed normally, but further epoch progression (ability for staked nodes to join and leave the network) is suspended. Normal operations can be fully restored with a simple governance transaction. More details can be found here.
Breaking changes
While there are no breaking changes as far as the node software and the access API are concerned, the upgrade to Cadence 1.0 introduces a breaking change for ALL contracts currently deployed on testnet and mainnet. Developers must ensure they are ready for Crescendo ahead of time and can find full details on how to stage, upgrade, and verify contracts on the Flow Migration Hub.
Commit list
Cadence 1.0 (update and migration)
- Add cadence values migration by @SupunS in #5192
- Update to Stable Cadence preview 2 by @dsainati1 in #5246
- Update event validation logic to account for the
evm.*
events by @m-Peter in #5262 - Cadence 1.0 state migrations: Update to new static types migration by @turbolent in #5286
- Add staged contract migration by @SupunS in #5300
- Type check staged contract during migration by @SupunS in #5333
- Support emulator in migrations by @SupunS in #5345
- Improve Cadence 1.0 migration by @turbolent in #5353
- Optimize migration by adding ability to read or extract payloads from state by @fxamacker in #5386
- Improve Cadence 1.0 migration by @turbolent in #5388
- Unify system-contracts migration and staged-contracts migration by @SupunS in #5405
- Read staged contracts from CSV file by @SupunS in #5425
- Add value migration test for untyped capabilities by @SupunS in #5434
- Add version, partial state indicator, and checksum to payload file (intermediate migration file) by @fxamacker in #5438
- Add sub-command to generate addresses for a chain by @turbolent in #5453
- Optimize deployment migration by @turbolent in #5470
- Export migrator runtime constructor by @SupunS in #5475
- Update to SDK v1.0.0-M7 by @turbolent in #5478
- Improve Migration by @turbolent in #5479
- Fix data race in account grouping for account based migration by @fxamacker in #5488
- Sync with master by @turbolent in #5493
- Add migration diff util for testing and debugging migrations by @fxamacker in #5499
- Improve migrations by @turbolent in #5533
- Add missing rule for NonFungibleToken.Collection type by @turbolent in #5541
- Fix import resolving during staged contract updates by @SupunS in #5551
- Improve cadence migrations by @SupunS in #5564
- Make contract update validation thread safe by @SupunS in #5565
- Revert "Optimise merge registers for migrations" by @turbolent in #5594
- Improve error printing in contract validator by @SupunS in #5596
- Fix data races in tests by @turbolent in #5599
- Fix storage map key conversion in atree migration by @fxamacker in #5605
- Add util command to extract payload by address by @fxamacker in #5608
- Fix and improve st...
v0.34.0-crescendo-preview.16
What's Changed
- Improve migrations by @turbolent in #5657
- Clean up EVM environment setup by @turbolent in #5668
- [Execution] Add ingestion throttle by @zhangchiqing in #5337
- [EVM] Block timestamp by @sideninja in #5660
- Khalil/6959 Recover Epoch transaction args script by @kc1116 in #5576
- Log the checkpoint file when generating protocol snapshot by @zhangchiqing in #5679
- [Execution] Ingestion - add ingestion core by @zhangchiqing in #5288
- Fix EVM load test by @turbolent in #5737
- [EVM] Add bridging interface to EVM contract by @sisyphusSmiling in #5677
- [Access] Added transaction result in SendAndSubscribeTransactionStatuses response by @Guitarheroua in #5620
- fix util docker build - port to master by @j1010001 in #5751
- Fix unsafeTraverse error handling by @zhangchiqing in #5661
- Use existing storage health check by @turbolent in #5756
- Add a migration which detects and filters out unreferenced slabs by @turbolent in #5653
- Add migration to fix refs to non-existent registers by @fxamacker in #5755
- Fix block queue edge case by @zhangchiqing in #5753
- create snapshot map with multiple goroutines by @janezpodhostnik in #5646
- Updates Core Contracts dependencies by @joshuahannan in #5771
- Do not use capabilities.get as an optional by @joshuahannan in #5776
- Update to Cadence v1.0.0-preview.22 by @turbolent in #5775
- [CI] Add timeout to codecov by @peterargue in #5770
- Cleanup streaming errors for block not ready by @AndriiDiachuk in #5632
- [Access] Clean up blockID argument from deriveTransactionStatus by @AndriiDiachuk in #5619
- [EVM] Add get random source to Cadence Arch by @sideninja in #5742
- try to update to new middleware by @bjartek in #5740
- [EVM] Contract deploy change return value by @sideninja in #5606
- Update Cadence 1.0 feature branch by @turbolent in #5767
- [Access] Update ipfs libraries to the new boxo version by @peterargue in #5774
- [EVM] Batch run transactions by @sideninja in #5614
- [EVM] Add bridging interface to EVM contract - stable cadence port by @janezpodhostnik in #5716
- Unskip migration of Testnet accounts with broken data by @turbolent in #5759
- [EVM] Optimize event data by @sideninja in #5779
- Update to Cadence v1.0.0-preview.23 by @turbolent in #5793
- [EVM] Dry-run function by @sideninja in #5749
- Handle missing staged contracts by @turbolent in #5796
- Improve migration logging, reports, and export broken slabs that were fixed to a new payloads file by @fxamacker in #5803
- [CI] Add static port for observer bind address in integration tests by @peterargue in #5801
- [EVM] Remove special EVM type by @sideninja in #5791
- Update core contracts by @joshuahannan in #5808
- Sync master with stable cadence by @sideninja in #5792
New Contributors
Full Changelog: v0.34.0-crescendo-preview.13...v0.34.0-crescendo-preview.16
v0.34.0-crescendo-preview.13
What's Changed
- [Sync] Sync master to
feature/dynamic-protocol-state
by @durkmurder in #4578 - [Dynamic Protocol State] Protocol State Updater by @durkmurder in #4594
- [Dynamic Protocol State] Split
flow.Identity
inflow.IdentitySkeleton
andflow.DynamicIdentity
by @durkmurder in #4545 - Sync
feature/stable-cadence
branch withmaster
by @SupunS in #4655 - Update to stable Cadence by @SupunS in #4567
- Update cadence version to v0.41.0-stable-cadence.1 by @SupunS in #4663
- [Dynamic Protocol State] Sync
master
to feature branch by @durkmurder in #4694 - [Dynamic Protocol State] Protocol state storage by @durkmurder in #4559
- [Dynamic Protocol State] Read-only interfaces of protocol state by @durkmurder in #4579
- [Dynamic Protocol State] Protocol State Mutator by @durkmurder in #4597
- [Dynamic Protocol State] Protocol state used in
FollowerState
andParticipantState
by @durkmurder in #4613 - [Dynamic Protocol State]
badger.Snapshot
uses dynamic protocol state by @durkmurder in #4625 - Sync stable cadence branch with master by @SupunS in #4715
- Update to latest stable cadence by @SupunS in #4709
- [Dynamic Protocol State]
ProtocolStateEntry
refactoring by @durkmurder in #4721 - [Dynamic Protocol State] Sync
master
tofeature/dynamic-protocol-state
by @durkmurder in #4814 - minor suggestions for PR #4726 by @AlexHentschel in #4832
- suggestions for PR #4834 by @AlexHentschel in #4854
- [Dynamic Protocol State] Changing structure of participants in
EpochSetup
by @durkmurder in #4726 - [Dynamic Protocol State]
EpochStateContainer
stores epoch active identities by @durkmurder in #4834 - Sync with
master
to get CI improvements by @jordanschalm in #4995 - [Dynamic Protocol State] Sync
master
tofeature/dynamic-protocol-state
by @durkmurder in #5007 - [Dynamic Protocol State] Block payload contains protocol state ID by @durkmurder in #4868
- [Dynamic Protocol State] Dedicated protocol state machine for epoch fallback by @durkmurder in #4931
- FLIP 204: Add
TargetEndTime
to Epoch models and API by @jordanschalm in #4987 - FLIP 204: Add
TargetDuration
to Epoch models and API #4987 by @jordanschalm in #5038 - FLIP 204: Update
cruisectl.BlockTimeController
to useTargetEndTime
,TargetDuration
by @jordanschalm in #5023 - Sync
master
withfeature-flip-204
by @jordanschalm in #5057 - FLIP 204: Include epoch timing config in sporking/bootstrapping process by @jordanschalm in #5027
- Sync master / FLIP 204 by @jordanschalm in #5063
- [Dynamic Protocol State] Replace dynamic weight and ejection flag with 'epoch participation status' by @durkmurder in #5039
- Sync master / FLIP 204 by @jordanschalm in #5065
- Suggestions for PR #5080 by @AlexHentschel in #5116
- [Dynamic Protocol State] Sync master to
feature/dynamic-protocol-state
by @durkmurder in #5117 - [Dynamic Protocol State] TODOs and refactoring, part 2 by @durkmurder in #5080
- Update core-contracts to latest cadence 1.0 version by @joshuahannan in #5064
- [Dynamic Protocol State] Remove
EpochStatus
by @jordanschalm in #5089 - Suggestions for PR #5113 by @AlexHentschel in #5132
- Update core contracts dependencies to not use custom destructors by @joshuahannan in #5135
- [Dynamic Protocol State]
InstanceParams
refactoring by @durkmurder in #5113 - Update Cadence 1.0 branch by @turbolent in #5102
- [Dynamic Protocol State] Refactor Epoch Commitment Deadline Enforcement by @jordanschalm in #5108
- [Dynamic Protocol State] Refactor bootstrapping and update Benchnet2 automations by @jordanschalm in #5136
- Update Cadence 1.0 feature branch by @turbolent in #5171
- Minor Polishing by @AlexHentschel in #5114
- [Dynamic Protocol State] Sync
master
tofeature/dynamic-protocol-state
by @durkmurder in #5190 - Replace hash-based validation of migrated Cadence values to use
Equal()
by @fxamacker in #5204 - Remove cricket moments references from atree migration by @janezpodhostnik in #5242
- Update to Stable Cadence preview 2 by @dsainati1 in #5246
- [Execution] Remove module.Local from ingestion engine by @zhangchiqing in #5243
- [Networking] Apply GossipSub Spam Penalty to Misbehaving Peers Based on
Count
andErr
inInvCtrlMsgNotif
by @kc1116 in #4978 - [EVM] Add feature flag for deploying
EVM
contract only with ABI functionality by @m-Peter in #5230 - [Networking] Reverting 4978 by @yhassanzadeh13 in #5252
- [Util] Find block ID by state commitment by @zhangchiqing in #5240
- [EVM] Add EVM type ID by @sideninja in #5091
- [Flow EVM] Include the block hash in
evm.BlockExecuted
event payload by @m-Peter in #5245 - [EVM] Fix order of fields in the event by @sideninja in #5237
- Use correct EVM address in tests and transient networks by @janezpodhostnik in #5255
- [Flow EVM] update StateDB to store codes by code hash by @ramtinms in #5235
- [Networking] Enhance RPC Inspection with Configurable Thresholds and Granular Metrics Collection by @yhassanzadeh13 in #5234
- [Networking] Relaxes invalid message delivery penalty by @yhassanzadeh13 in #5265
- [CI] Revert change to use semver build for without-netgo images by @peterargue in #5267
- [Flow EVM] use
big.Int
for any balance related fields by @ramtinms in #5236 - Reconcile build changes in Makefile & Dockerfile by @sjonpaulbrown in #5258
- [Flow EVM] extend EVM precompiles with cadence arch by @ramtinms in #5233
- Set epoch safety threshold default in localnet by @jordanschalm in #5263
- Sync stable-cadence branch with master by @SupunS in #5260
- Atree storage migration by @janezpodhostnik in #4633
- Import new module
onflow/crypto
by @tarakby in #5121 - [Modules] Fixes map-based backend concurrent adjust-with-init test by @yhassanzadeh13 in #5275
- [Execution] Move maxCollectionHeight to metrics by @zhangchiqing in #5244
- [Flow EVM] reducing the scope of deposit to COAs only by @ramtinms in #5280
- Atree Migration cleanup by @janezpodhostnik in #5284
- UUID partition change by @bluesign in #4914
- New cd images (ADX support and ARM64) by @tarakby in #5254
- Update event validation logic to account for the
evm.*
events by @m-Peter in #5262 - Update stable cadence feature branch by @turbolent in #5290
- [Access] add config to limit script execution range - master by @peterargue in #5283
- Add cadence values migration by @SupunS in #5192
- [Flow EVM] balance type improvement by @ramtinms in #5271
- Cadence 1.0 state migrations: Update to new static types migration by @turbolent in #5286
- Updates contract dependencies and state commitments by @joshuahannan in #5301
- Add staged contract migration by @SupunS in #5300
- [Flow EVM] populate PREVRANDAO with a random value from the FVM random generator by @ramtinms in #5281
- [Networkin...
v0.34.0-crescendo-preview.7
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
- Export migrator runtime constructor by @SupunS in #5475
- Add logs to merge by @janezpodhostnik in #5484
- Fix data race in account grouping for account based migration by @fxamacker in #5488
- Add util command to generate payloads for bootsrapped execution state by @turbolent in #5487
- Optimize deployment migration by @turbolent in #5470
- Add migration diff util for testing and debugging migrations by @fxamacker in #5499
- [Cadence 1.0] Improve Migration by @turbolent in #5479
- [Cadence 1.0] Improve migrations by @turbolent in #5533
- Fix import resolving during staged contract updates by @SupunS in #5551
- [Cadence 1.0] Add missing rule for NonFungibleToken.Collection type by @turbolent in #5541
Cadence Execution
- Execution Data storage tracker blocks startup by @zhangchiqing in #5457
- Disable execution data pruner by @zhangchiqing in #5463
- [Execution] Shadow Execution node implementation by @zhangchiqing in #5411
- [Execution] Remove duplicated observer collection indexer by @zhangchiqing in #5521
TPS Load generator
- Add additional loads to the load generator by @janezpodhostnik in #5394
- Bootstrap with EVM by default by @janezpodhostnik in #5482
Access node
- [Access] Add implementation for usage of the local transaction result in Access API by @Guitarheroua in #5306
Util
- Add sub-command to generate addresses for a chain by @turbolent in #5453
Testing improvements & bugfixes
- bugfix: Remove db close in execution state sync tests by @zhangchiqing in #5465
- Add failfast to integration tests by @zhangchiqing in #5474
- Fix integration test by @janezpodhostnik in #5510
- Fix Flakey Networking Tests and Improve CI by @kc1116 in #5495
Dependency updates and updating from master
- [Cadence 1.0] Update to SDK v1.0.0-M7 by @turbolent in #5478
- [Cadence 1.0] Sync with master by @turbolent in #5493
- Update to Cadence v1.0.0-M9 by @turbolent in #5498
- Update to Latest versions of core contracts by @joshuahannan in #5517
- Update to Cadence v1.0.0-preview.10 by @turbolent in #5529
- Merge master into Cadence 1.0 feature branch by @turbolent in #5540
- Update to Cadence v1.0.0-preview.12 by @turbolent in #5539
- Update to Cadence v1.0.0-preview.13 by @turbolent in #5543
- Update to Cadence v1.0.0-preview.14 by @turbolent in #5546
- Update to Cadence v1.0.0-preview.15 by @SupunS in #5555
Improvements in code documentation
- minor doc update for Chunk Data Pack by @AlexHentschel in #5378
Uncategorized
- Herostore message entity nonce by @kc1116 in #5452
- Port Windows binstat fix to
master
by @jribbink in #5520 - [Access] Add support for indexing execution data on Observers by @AndriiDiachuk in #5256
Full Changelog: v0.34.0-crescendo-preview.5...v0.34.0-crescendo-preview.7