FCL 1.0 is now live!

:tada: As announced in-office hours last week, FCL 1.0 has been published to the latest stable build! See the release notes here.

Why should you upgrade?

  • Get access to the latest wallet types on Flow - browser extensions. Specifically, you will now be able to support the Lilico wallet - the first fully non-custodial wallet on Flow!
  • You will get access to the new FCL Discovery for a better default UX or the ability to make your own UI with the API version. Read more here.
  • One-click login with account proof (user signatures) is enabled on 1.0 and above as some breaking changes prevent older versions from working correctly.
  • Updates to the FCL API make it easier to not have to use the send/decode pattern for most functionality - read more about them in the release notes.
  • A bug in handling large numbers is now fixed with all numbers now being returned and consumed as strings. Read more about the breaking change here.
  • Bundle size has gone down dramatically! Check it out here and here.

:thinking: What does FCL 1.0 mean for the core Flow contributors?

FCL has been a foundational block of Flow thatโ€™s been an architectural design choice to help developers, users, and service providers like wallets have a common unified interface so they can focus on features rather than integration and distribution. Initially, FCL was set out to fulfill the set of functionality you might find in web3.js or ethers.js (connecting, signing, and some data exchange) but over time, FCL has evolved into a core piece thatโ€™s now included in over 70% of Flow dapps in some way or another fulfilling many more use cases. Our team is excited about where weโ€™ve come so far, but even more excited for the future opportunities that FCL can expand into.

:world_map: Where does FCL go from here?

In the short term you can expect to see:

  • A way for native mobile clients to access FCL wallets
  • Updated documentation & Typescript support (with some help from the community)
  • An FCL Spec for future FCL SDKs in multiple environments

In the long term, some of the things weโ€™re thinking about:

  • Enabling more service providers than just wallets - can we allow the user to configure their profile, payments, and notifications and be able to use their choices across most Flow dapps?
  • More human-readable messages across Flow - how do we create a trusted, verifiable and easy to interpret descriptions of the transaction the user is signing for? Some thoughts have begun on this FLIP.
  • Better integration with the rest of the Flow tooling in terms of configurations and testing - how can we make it easier to write and test your mutations and queries end to end in any network?

:pray: A big thank you to all our open-source contributors and the members of the core Flow team that has pushed FCL to where it is today and where it will go in the future:

A special thanks to the Blocto team - A few years ago, they were the first consumer of FCL and managed to build a proof of concept even before we had proper documentation and a limited feature set. They worked with us extensively to improve FCL and helped create the seamless onboarding experience you see today.

We had 49 unique contributors provide commits to FCL! We wanted to highlight some top core contributors over the past 2 years with the full list of contributors found below. See more insights here.

:hammer_and_wrench: We encourage you to think about, experiment with, and build FCL with us!
For significant contributions, consider applying for a grant here, or for more casual contributions, view our guidelines here. You can also find us in a break-out room during office hours for a more personable chat.

We hope to see you around :slight_smile:,

All Contributors

1 Like

hello,
Thereโ€™s no link to the bug related to large numbers.
Is this the issue ==> https://github.com/onflow/fcl-js/issues/951 ?

I suggest we post breaking changes for FCL 1.0 from release notes to README.md

Especially accessNode.api change is critical