Skip to content

Releases: rainbow-me/rainbowkit

@rainbow-me/[email protected]

10 May 02:23
94021a9
Compare
Choose a tag to compare

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 version

    npm i @rainbow-me/rainbowkit@^1 wagmi@^1

    2. Install viem peer dependency

    wagmi 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 require ethers as a peer dependency.

    3. Check for breaking changes in wagmi

    If you use wagmi hooks in your application, you will need to follow wagmi's migration guide to v1.

    It is recommended that you adopt Typescript ^5.0.4 or above for compatibility with abitype and future versions of wagmi and viem.

    You can see their migration guide here.

@rainbow-me/[email protected]

09 May 18:10
65b5097
Compare
Choose a tag to compare

Patch Changes

  • 865175f: Upgraded minimum ethers peer dependency to ^5.6.8.

@rainbow-me/[email protected]

10 May 02:23
94021a9
Compare
Choose a tag to compare

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 the ethers peer dependency, siwe will still require ethers as a peer dependency. Ensure that you have installed a compatible ethers version, including: ^5.6.8 || ^6.0.8.

@rainbow-me/[email protected]

09 May 18:09
65b5097
Compare
Choose a tag to compare

Patch Changes

  • 865175f: Upgraded minimum siwe peer dependency to ^2.1.4 and minimum ethers peer dependency to ^5.6.8 to resolve siwe peer mismatch.

    Specified maximum next-auth peer dependency as 4.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]

10 May 02:22
94021a9
Compare
Choose a tag to compare

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 the ethers 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]

09 May 18:08
65b5097
Compare
Choose a tag to compare

Patch Changes

  • 865175f: Upgraded template dependencies: ethers, next, react, react-dom, siwe and next-auth to support siwe@2.

@rainbow-me/[email protected]

08 May 22:28
5be25e4
Compare
Choose a tag to compare

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 the ethereum.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 override window.ethereum.

@rainbow-me/[email protected]

26 Apr 23:46
f361615
Compare
Choose a tag to compare

Patch Changes

  • ab051b9: Support for options customization for walletConnectWallet

    Example usage

    walletConnectWallet(options: {
      projectId: string;
      chains: Chain[];
      options?: {
        qrcodeModalOptions?: {
          desktopLinks?: string[];
          mobileLinks?: string[];
        };
      }
    });

    Reference the docs for additional supported options.

@rainbow-me/[email protected]

19 Apr 22:33
ca4e857
Compare
Choose a tag to compare

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]

13 Apr 02:59
4bbaac1
Compare
Choose a tag to compare

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. If projectId 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 to getDefaultWallets 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 }),
        ],
      },
    ]);