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.
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.
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?
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.
- JeffreyDoyle - 800+ commits
- orodio - 400+ commits
- gregsantos - 100+ commits
- chasefleming - 60+ commits
- 10thfloor - 30+ commits
- justinbarry - 20+ commits
- psiemens - 10+ commits
- boczeratul - 9+ commits
- muttoni - 8+ commits
- avcdsld - 5+ commits
- bthaile - 5+ commits
- jribbink - 5+ commits
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 ,
All Contributors
- @orodio made their first contribution in https://github.com/onflow/fcl-js/pull/1
- @10thfloor made their first contribution in https://github.com/onflow/fcl-js/pull/15
- @psiemens made their first contribution in https://github.com/onflow/fcl-js/pull/26
- @brodieve made their first contribution in https://github.com/onflow/fcl-js/pull/42
- @cybercent made their first contribution in https://github.com/onflow/fcl-js/pull/93
- @boczeratul made their first contribution in https://github.com/onflow/fcl-js/pull/95
- @timmymmit made their first contribution in https://github.com/onflow/fcl-js/pull/114
- @MaxStalker made their first contribution in https://github.com/onflow/fcl-js/pull/141
- @benjaminkvm made their first contribution in https://github.com/onflow/fcl-js/pull/125
- @githubwei made their first contribution in https://github.com/onflow/fcl-js/pull/333
- @alxocity made their first contribution in https://github.com/onflow/fcl-js/pull/360
- @kzucky made their first contribution in https://github.com/onflow/fcl-js/pull/364
- @janezpodhostnik made their first contribution in https://github.com/onflow/fcl-js/pull/374
- @Chibionos made their first contribution in https://github.com/onflow/fcl-js/pull/380
- @tomonari-t made their first contribution in https://github.com/onflow/fcl-js/pull/375
- @TraeRegan made their first contribution in https://github.com/onflow/fcl-js/pull/573
- @gregsantos made their first contribution in https://github.com/onflow/fcl-js/pull/586
- @intelliot made their first contribution in https://github.com/onflow/fcl-js/pull/604
- @danielhour made their first contribution in https://github.com/onflow/fcl-js/pull/661
- @jkan2 made their first contribution in https://github.com/onflow/fcl-js/pull/720
- @nduplessis made their first contribution in https://github.com/onflow/fcl-js/pull/721
- @kimcodeashian made their first contribution in https://github.com/onflow/fcl-js/pull/748
- @bebner made their first contribution in https://github.com/onflow/fcl-js/pull/750
- @Violet-Bora-Lee made their first contribution in https://github.com/onflow/fcl-js/pull/769
- @viksit made their first contribution in https://github.com/onflow/fcl-js/pull/780
- @samwise2 made their first contribution in https://github.com/onflow/fcl-js/pull/787
- @DavidOrchard made their first contribution in https://github.com/onflow/fcl-js/pull/819
- @kraikov made their first contribution in https://github.com/onflow/fcl-js/pull/820
- @snyk-bot made their first contribution in https://github.com/onflow/fcl-js/pull/833
- @avcdsld made their first contribution in https://github.com/onflow/fcl-js/pull/840
- @kerrywei made their first contribution in https://github.com/onflow/fcl-js/pull/852
- @markstrefford made their first contribution in https://github.com/onflow/fcl-js/pull/854
- @aphelionz made their first contribution in https://github.com/onflow/fcl-js/pull/861
- @sking789 made their first contribution in https://github.com/onflow/fcl-js/pull/882
- @gnujoow made their first contribution in https://github.com/onflow/fcl-js/pull/918
- @callmenick made their first contribution in https://github.com/onflow/fcl-js/pull/939
- @justinbarry made their first contribution in https://github.com/onflow/fcl-js/pull/975
- @CharlesOuverleaux made their first contribution in https://github.com/onflow/fcl-js/pull/1016
- @j1010001 made their first contribution in https://github.com/onflow/fcl-js/pull/1032
- @bthaile made their first contribution in https://github.com/onflow/fcl-js/pull/1034
- @marcoroth made their first contribution in https://github.com/onflow/fcl-js/pull/1073
- @gyorgy-kurucz-vacuum made their first contribution in https://github.com/onflow/fcl-js/pull/1081
- @mikeylemmon made their first contribution in https://github.com/onflow/fcl-js/pull/1090
- @caosbad made their first contribution in https://github.com/onflow/fcl-js/pull/1155
- @leoncoe made their first contribution in https://github.com/onflow/fcl-js/pull/1171
- @brunogonzales made their first contribution in https://github.com/onflow/fcl-js/pull/1139