Explore
Cadence 1.0
Elevated Developer Experience
View functions transform your code with enhanced reliability and safety. Clearly distinguish between state-changing and state-preserving functions, and anotate for better predictability.
Improved Safety and Security
With the Cadence 1.0, it streamline the usage of Capabilities and introducing Entitlements to make Cadence secure by default and removes previously confusing “foot-guns”.
Faster & Easier Composability
With composability at the heart of Cadence, “Attachments” make standard, and permissionless composability native on Flow.
And Many More Foundational Improvements...
Roadmap
Emulator Cadence 1.0 Support
The Flow Emulator now supports Cadence 1.0. This includes integration of a new Cadence 1.0 type checker and the full suite of language features. Developers can start updating their contracts, transactions, and scripts to the new version right on their local machines.
Emulator EVM Support
The Flow Emulator now enables local deployment of Solidity contracts and simulation of transactions.
Crescendo Previewnet Live
An early access version of the upgraded Crescendo network that supports both EVM and Cadence 1.0. This is the perfect place for developers to test their updated applications, supporting Flow Reference Wallet, Flowdiver and more. Please note that Previewnet does not support data or state migration.
Cadence 1.0 Contract Staging Enabled
Release of a new staging process. This allows developers to map their updated and rewritten Cadence 1.0 code to their existing pre-Cadence 1.0 deployed code. When the upgrade occurs, your staged code will automatically replace the live contracts. Staging is available on both Testnet and Mainnet and will replace contracts on both respectively.
Testnet Migration Environment Live
A specialized test environment that mimics the Testnet, including staged contracts and data migration. Please be aware that the state will be reset weekly. This environment is ideal for ensuring your updates function as expected on the network, offering a close simulation of their post-upgrade functionality.
Cadence Migration Stages on Testnet
Stage 1 (May 22-23): Focus on testing applications with Transaction Inspection Logic that actively blocks 100% of failing transactions.
Stage 2 (May 29-31): Extended interaction with the environment to refine code and resolve issues.
Stage 3 (June 5-8): Deeper testing to finalize migration strategies.
Stage 4 (June 12-17): Simulate a full migration to ensure readiness for the network upgrade.
Testnet Network Upgrade
What to expect: A full network upgrade on the Testnet will be implemented.
Goal: Confirm that all systems and applications are fully compatible and operational post-upgrade.
Enabling EVM on Testnet
Right after the network upgrade, the EVM will be activated on the Testnet, allowing you to start deploying and testing your EVM-compatible contracts and tools in the newly updated environment. This is a pivotal moment in the Crescendo migration on the Flow blockchain, designed to streamline the transition and enable you to utilize enhanced capabilities efficiently.
Crescendo Upgrade on Flow Mainnet
All staged Cadence 1.0 contracts on Mainnet replace live contracts. EVM will be activated several weeks later.
EVM Activated on Mainnet
All staged Cadence 1.0 contracts on Mainnet replace live contracts. EVM will be activated several weeks later.
Connect
with the Community
FAQ
How does this affect me?
I am a developer
Immediate actions
- Learn & ReviewLearn about what is changing in Cadence 1.0: Update on Cadence 1.0,
- Start working on upgrading your dappYou can use Emulator release based on Cadence 1.0 RC1 now!
❗ IMPORTANT NOTE ABOUT AVOIDING CHANGES IN BUSINESS LOGIC
Cadence 1.0 introduces breaking changes. Updating your Cadence contracts, transactions and scripts to Cadence 1.0 is required to ensure your app continues to work when Crescendo is released. The on-chain data migration logic relies on assumption that the updated contracts uploaded by dapp developers limits updates to the minimum changes required by the Cadence 1.0 version - in other words, the updated contract should be behaviour-preserving.
If the contract upgrade to Cadence 1.0 also includes changes to business logic, the on-chain data migration won’t work as expected and might result in security vulnerabilities in the migrated on-chain data.
Immediate actions
- Learn & Review. Learn about what is changing in Cadence 1.0: Update on Cadence 1.0, start working on upgrading your dapp using Emulator release based on Cadence 1.0 RC1.
Soon
Decide if you want to wait until Flow completes the upgrade to Cadence 1.0, or if you want to deploy sooner, on Cadence version 0.42 (currently running on Testnet and Mainnet).
Future actions
- If you plan to deploy your dapp to Testnet / Mainnet before it is upgraded to Cadence 1.0, make sure you are prepared to upgrade it to Cadence 1.0.
I am a node operator
The network upgrade to Cadence 1.0 will follow the usual process and will include a migration of execution state. For that reason it is likely to require a longer network outage than usual.
Future actions
- (ETA) 1st May 2024 Mainnet network upgrade to Cadence 1.0.
I am not (yet) a developer/builder, but I am interested in building on Flow
You can start learning about Cadence 1.0: and start building with Cadence 1.0 using Emulator release based on Cadence 1.0 RC1.
I am a user of a app on Flow
We expect that in almost all cases, you won’t need to do anything! The dapp team should handle everything without a need for an end user to move their assets or sign transactions. But, if you’re not sure, you can reach out to the team behind the dapp and ask them about their plans to upgrade to Cadence 1.0.