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 OPS -- [root] add todo.md to .gitignore by orodio · Pull Request #1 · onflow/fcl-js · GitHub
- @10thfloor made their first contribution in DOC -- [sdk] add intro to fcl markdown files by 10thfloor · Pull Request #15 · onflow/fcl-js · GitHub
- @psiemens made their first contribution in EXP -- Use new flow.json format by psiemens · Pull Request #26 · onflow/fcl-js · GitHub
- @brodieve made their first contribution in Send to Flow security team by brodieve · Pull Request #42 · onflow/fcl-js · GitHub
- @cybercent made their first contribution in Call `runScript`. by cybercent · Pull Request #93 · onflow/fcl-js · GitHub
- @boczeratul made their first contribution in Fix sample code in README by boczeratul · Pull Request #95 · onflow/fcl-js · GitHub
- @timmymmit made their first contribution in Update SECURITY.md by timmymmit · Pull Request #114 · onflow/fcl-js · GitHub
- @MaxStalker made their first contribution in Update README.md by MaxStalker · Pull Request #141 · onflow/fcl-js · GitHub
- @benjaminkvm made their first contribution in Provide support for script arguments by benjaminkvm · Pull Request #125 · onflow/fcl-js · GitHub
- @githubwei made their first contribution in Update README.md by githubwei · Pull Request #333 · onflow/fcl-js · GitHub
- @alxocity made their first contribution in Increase dev-wallet body parser limit by alxocity · Pull Request #360 · onflow/fcl-js · GitHub
- @kzucky made their first contribution in Update README.md by kzucky · Pull Request #364 · onflow/fcl-js · GitHub
- @janezpodhostnik made their first contribution in Updated protobuf definitions for BlockEvents by janezpodhostnik · Pull Request #374 · onflow/fcl-js · GitHub
- @Chibionos made their first contribution in DOC -- fixing fcl dev wallet script,adding gitignore for debug.log by Chibionos · Pull Request #380 · onflow/fcl-js · GitHub
- @tomonari-t made their first contribution in DOC -- [fcl] Remove unneeded spaces and fix sample code in README.md by tomonari-t · Pull Request #375 · onflow/fcl-js · GitHub
- @TraeRegan made their first contribution in DOC -- [quickstart] grammar and readability improvements by TraeRegan · Pull Request #573 · onflow/fcl-js · GitHub
- @gregsantos made their first contribution in PKG -- [interaction] Add metadata to ix by gregsantos · Pull Request #586 · onflow/fcl-js · GitHub
- @intelliot made their first contribution in [docs] Fix link in README by intelliot · Pull Request #604 · onflow/fcl-js · GitHub
- @danielhour made their first contribution in [docs] update broken readme link by danielhour · Pull Request #661 · onflow/fcl-js · GitHub
- @jkan2 made their first contribution in Update Security to point to website by jkan2 · Pull Request #720 · onflow/fcl-js · GitHub
- @nduplessis made their first contribution in Fixed incorrect URL to accounts and keys docs by nduplessis · Pull Request #721 · onflow/fcl-js · GitHub
- @kimcodeashian made their first contribution in Update README outdated links by kimcodeashian · Pull Request #748 · onflow/fcl-js · GitHub
- @bebner made their first contribution in Inserting copyright in license by bebner · Pull Request #750 · onflow/fcl-js · GitHub
- @Violet-Bora-Lee made their first contribution in Update typo by Violet-Bora-Lee · Pull Request #769 · onflow/fcl-js · GitHub
- @viksit made their first contribution in update README.md by viksit · Pull Request #780 · onflow/fcl-js · GitHub
- @samwise2 made their first contribution in Fix Typo in API Docs by samwise2 · Pull Request #787 · onflow/fcl-js · GitHub
- @DavidOrchard made their first contribution in DOC -- [root] update Quick Start with small fixes by DavidOrchard · Pull Request #819 · onflow/fcl-js · GitHub
- @kraikov made their first contribution in DOCS -- Use correct name for the Ethereum network by kraikov · Pull Request #820 · onflow/fcl-js · GitHub
- @snyk-bot made their first contribution in [Snyk] Upgrade @onflow/types from 0.0.4 to 0.0.5 by snyk-bot · Pull Request #833 · onflow/fcl-js · GitHub
- @avcdsld made their first contribution in FCL Feature: Calculate the transaction hash by avcdsld · Pull Request #840 · onflow/fcl-js · GitHub
- @kerrywei made their first contribution in [DOC] [reference] fix link on interactions by kerrywei · Pull Request #852 · onflow/fcl-js · GitHub
- @markstrefford made their first contribution in Fixed typo by markstrefford · Pull Request #854 · onflow/fcl-js · GitHub
- @aphelionz made their first contribution in Update draft-v3.md by aphelionz · Pull Request #861 · onflow/fcl-js · GitHub
- @sking789 made their first contribution in [fcl][verify] adopt hash algo by key's hash algo by johnz1019 · Pull Request #882 · onflow/fcl-js · GitHub
- @gnujoow made their first contribution in fix broken internal link in reference/api.md doc by gnujoow · Pull Request #918 · onflow/fcl-js · GitHub
- @callmenick made their first contribution in Update space formatting in security doc, adds period at end of line by callmenick · Pull Request #939 · onflow/fcl-js · GitHub
- @justinbarry made their first contribution in Setup workspaces and lerna by justinbarry · Pull Request #975 · onflow/fcl-js · GitHub
- @CharlesOuverleaux made their first contribution in DOC -- [root] Fix logIn casing by CharlesOuverleaux · Pull Request #1016 · onflow/fcl-js · GitHub
- @j1010001 made their first contribution in Update flow-app-quickstart.mdx by j1010001 · Pull Request #1032 · onflow/fcl-js · GitHub
- @bthaile made their first contribution in Add build readme by bthaile · Pull Request #1034 · onflow/fcl-js · GitHub
- @marcoroth made their first contribution in Docs: fix `UFix64`, `Fix64` and `Address` in types tables by marcoroth · Pull Request #1073 · onflow/fcl-js · GitHub
- @gyorgy-kurucz-vacuum made their first contribution in DOC -- [root] Add links to the fcl-discovery repo in the readme by gyorgy-kurucz-vacuum · Pull Request #1081 · onflow/fcl-js · GitHub
- @mikeylemmon made their first contribution in PKG -- [transport-http] Preference `fetch` over `window?.fetch` by mikeylemmon · Pull Request #1090 · onflow/fcl-js · GitHub
- @caosbad made their first contribution in Add encode function export for sdk by caosbad · Pull Request #1155 · onflow/fcl-js · GitHub
- @leoncoe made their first contribution in Change src/config to flow/config by leoncoe · Pull Request #1171 · onflow/fcl-js · GitHub
- @brunogonzales made their first contribution in DOC -- [quickstart] Add missing Head invocation by brunogonzales · Pull Request #1139 · onflow/fcl-js · GitHub