Releases: rainbow-me/rainbowkit
@rainbow-me/[email protected]
Major Changes
-
93b58d0: Breaking:
The wagmi peer dependency has been updated to
1.x.x
.Follow the steps below to migrate.
1. Upgrade RainbowKit and
wagmi
to their latest versionnpm i @rainbow-me/rainbowkit@^1 wagmi@^1
2. Install
viem
peer dependencywagmi v1 requires the
viem
peer dependency. Install it with the following command:npm i viem
Note: wagmi no longer uses the
ethers
package internally. But if you rely on the Authentication API,siwe
will still requireethers
as a peer dependency.3. Check for breaking changes in
wagmi
If you use
wagmi
hooks in your application, you will need to followwagmi
's migration guide to v1.It is recommended that you adopt Typescript
^5.0.4
or above for compatibility withabitype
and future versions ofwagmi
andviem
.
@rainbow-me/[email protected]
Patch Changes
- 865175f: Upgraded minimum
ethers
peer dependency to^5.6.8
.
@rainbow-me/[email protected]
Minor Changes
-
93b58d0: RainbowKit has reached v1 alongside wagmi, which includes breaking changes.
0.2.x
now requires@rainbow-me/rainbowkit
v1, specifically:1.0.x
.While wagmi v1 now relies on
viem
instead of theethers
peer dependency,siwe
will still requireethers
as a peer dependency. Ensure that you have installed a compatibleethers
version, including:^5.6.8 || ^6.0.8
.
@rainbow-me/[email protected]
Patch Changes
-
865175f: Upgraded minimum
siwe
peer dependency to^2.1.4
and minimumethers
peer dependency to^5.6.8
to resolvesiwe
peer mismatch.Specified maximum
next-auth
peer dependency as4.20.1
due to known issues introduced in later versions.Updated Authentication docs and examples to support modern
next-auth
types.
@rainbow-me/[email protected]
Minor Changes
-
93b58d0: RainbowKit and the wagmi peer dependency have been updated to
1.x.x
, which includes breaking changes.wagmi v1 now relies on
viem
instead of theethers
peer dependency, so@rainbow-me/create-rainbowkit
templates have been upgraded to favor viem.Give RainbowKit and wagmi v1 a try today:
yarn create @rainbow-me/rainbowkit
@rainbow-me/[email protected]
Patch Changes
- 865175f: Upgraded template dependencies:
ethers
,next
,react
,react-dom
,siwe
andnext-auth
to supportsiwe@2
.
@rainbow-me/[email protected]
Patch Changes
-
0f8e87e: Improved extension store support
RainbowKit wallet connectors now support multiple browser extension download URLs, and RainbowKit will automatically direct users to the appropriate extension store.
Users will also experience an improved download flow for extensions, including support for Arc, Opera, and Safari browsers.
dApps that utilize the
Custom Wallets
API can reference the updated docs here.{ downloadUrls: { chrome: 'https://chrome.google.com/webstore/detail/my-wallet', edge: 'https://microsoftedge.microsoft.com/addons/detail/my-wallet', firefox: 'https://addons.mozilla.org/firefox/addon/my-wallet', opera: 'https://addons.opera.com/extensions/details/my-wallet', browserExtension: 'https://my-wallet/', */ fallback download page */ } }
-
6eab54d: Detecting MetaMask in
window.ethereum.providers
for wallets that support theethereum.providers
standard.Overriding Wagmi's
getProvider
logic for MetaMask to ensure that MetaMask is preferred when available, and RainbowKit's MetaMask button continues to act as a fallback for users that rely on wallets that overridewindow.ethereum
.
@rainbow-me/[email protected]
Patch Changes
@rainbow-me/[email protected]
Patch Changes
-
361bb39: Phantom Support
Example usage
import { getDefaultWallets, connectorsForWallets, } from '@rainbow-me/rainbowkit'; import { phantomWallet } from '@rainbow-me/rainbowkit/wallets'; const { wallets } = getDefaultWallets({ appName, projectId, chains }); const connectors = connectorsForWallets([ ...wallets, { groupName: 'Other', wallets: [phantomWallet({ chains })], }, ]);
-
82376f0: Rabby Support
Example usage
import { getDefaultWallets, connectorsForWallets, } from '@rainbow-me/rainbowkit'; import { rabbyWallet } from '@rainbow-me/rainbowkit/wallets'; const { wallets } = getDefaultWallets({ appName, chains }); const connectors = connectorsForWallets([ ...wallets, { groupName: 'Other', wallets: [rabbyWallet({ chains })], }, ]);
-
7c9e580: Trust Wallet Support
The
trustWallet
wallet connector now includes support for the Trust Wallet browser extension.Example usage
import { getDefaultWallets, connectorsForWallets, } from '@rainbow-me/rainbowkit'; import { trustWallet } from '@rainbow-me/rainbowkit/wallets'; const { wallets } = getDefaultWallets({ appName, projectId, chains }); const connectors = connectorsForWallets([ ...wallets, { groupName: 'Other', wallets: [trustWallet({ projectId, chains })], }, ]);
-
0127559: XDEFI Wallet Support
Example usage
import { getDefaultWallets, connectorsForWallets, } from '@rainbow-me/rainbowkit'; import { xdefiWallet } from '@rainbow-me/rainbowkit/wallets'; const { wallets } = getDefaultWallets({ appName, projectId, chains }); const connectors = connectorsForWallets([ ...wallets, { groupName: 'Other', wallets: [xdefiWallet({ chains })], }, ]);
@rainbow-me/[email protected]
Patch Changes
-
aef9643: Support for WalletConnect Cloud
projectId
Every dApp that relies on WalletConnect now needs to obtain a
projectId
from WalletConnect Cloud. This is absolutely free and only takes a few minutes.RainbowKit will enable WalletConnect v2 for supported wallets when
projectId
is specified. IfprojectId
is unspecified, RainbowKit will quietly prefer WalletConnect v1.This must be completed before WalletConnect v1 bridge servers are shutdown on June 28, 2023.
Provide the
projectId
togetDefaultWallets
and individual RainbowKit wallet connectors like the following:const projectId = 'YOUR_PROJECT_ID'; const { wallets } = getDefaultWallets({ appName: 'My RainbowKit App', projectId, chains, }); const connectors = connectorsForWallets([ ...wallets, { groupName: 'Other', wallets: [ argentWallet({ projectId, chains }), trustWallet({ projectId, chains }), ledgerWallet({ projectId, chains }), ], }, ]);