Cadence 1.0

Crescendo introduces Cadence 1.0, the latest version of the Cadence smart contract language.

The stable release of Cadence 1.0 marks a significant milestone in the language's development, introducing a comprehensive suite of improvements to enhance speed, security, and efficiency. Cadence 1.0 equips developers with powerful new methods for transforming the experience of EVM applications. It enables the creation of gasless experiences that users love and allows for the bundling of subsequent transactions, which reduces the number of approvals users need to sign, all while maintaining world class security standards.

With Cadence 1.0, developers will also have access to more than 20 new features and enhancements. The updates optimize workflows, minimize duplication, and enhance code readability. This makes writing and understanding smart contracts significantly easier.

Seamlessly Transition
to Cadence 1.0

The Cadence VSCode Plugin instantly identifies every line of code that needs to be updated to Cadence 1.0. It creates automatic fixes and references additional learning resources, making the process of updating your code straightforward, swift and simple.

~90%
of changes can be
applied in under a minute

Steps to Upgrade

1

Understand the Changes

Start by familiarizing yourself with the changes to identify how they might affect your code. The most complex changes are to Capabilities and Entitlements.

2

Modify Your Code

Update your contracts, transactions, and scripts in accordance with the new changes. Ensure that they conform to the new FT/NFT Standards.

3

Test Your Code

The latest emulator release includes all features, standards and core contracts updated for Cadence 1.0.

4

Stage

Get your updated code ready to replace your live code when the upgrade occurs. To do this you need to stage your contracts and ensure they are working as expected along with their staged dependencies and state.

Resources

Understand

Learn about the changes.

Guides

Access in-depth information and tutorials on how to update your contracts.

Tools

Access tools to upgrade swiftly.

Support

Looking for more support or guidance through your migration? Access our support option bellow.

Crescendo

Roadmap

Complete

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.

Dec 2023
Complete

Emulator EVM Support

The Flow Emulator now enables local deployment of Solidity contracts and simulation of transactions.

Jan 2024
Complete

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.

Feb 2024
Complete

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.

Mar 2024
Complete

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.

Apr 2024

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.

May 2024

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.

Date coming soon - read announcement

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.

Date coming soon - read announcement

Crescendo Upgrade on Flow Mainnet

All staged Cadence 1.0 contracts on Mainnet replace live contracts.  EVM will be activated several weeks later.

Date coming soon - read announcement

EVM Activated on Mainnet

All staged Cadence 1.0 contracts on Mainnet replace live contracts.  EVM will be activated several weeks later.

Date coming soon - read announcement

Connect
with the Community

Learning Communities
Emerald DAO
Forum
Flow Github

FAQ

How does this affect me?

I am a developer

I deployed a smart contract on testnet and/or mainnet
I have have started working on a dapp but I haven’t yet deployed a smart contract on mainnet

I am a node operator

Actions required

I am not (yet) a developer/builder, but I am interested in building on Flow

Start learning Cadence 1.0

I am a user of a app on Flow

No actions required

Still have a questions?

Your app on Flow

Are you a developer or a team that wants to build on or integrate with Flow?