Skip to content

Releases: rainbow-me/rainbowkit

@rainbow-me/rainbowkit-siwe-next-auth@0.3.3

21 Nov 06:07
abee1f4
Compare
Choose a tag to compare

Patch Changes

  • 2f56ab2: Adopted 'use client' directive for safe App Router usage
  • 9dfe053: Added strict peer incompatibility with next-auth@5. RainbowKit will support next-auth v5 in a future release with improved App Router support.

@rainbow-me/rainbow-button@0.1.0

21 Nov 08:12
dd122dc
Compare
Choose a tag to compare

Minor Changes

  • 9ce75a6: The RainbowButton component is the simplest way to add support for Rainbow Wallet to dApps that use wagmi and prefer a more custom connector experience over RainbowKit.

    1. Install @rainbow-me/rainbow-button and its peer dependencies

    The package is compatible with Next.js, React, and Vite. Ensure that you follow peer dependency warnings.

    npm install @rainbow-me/rainbow-button wagmi viem

    2. Configure with Wagmi and install the RainbowButton

    Pass an instance of the RainbowConnector to your Wagmi connector list, and wrap your app in the RainbowButtonProvider. Then drop-in the RainbowButton component into your wallet list.

    import "@rainbow-me/rainbow-button/styles.css";
    import {
      RainbowButtonProvider,
      RainbowConnector,
    } from "@rainbow-me/rainbow-button";
    
    const wagmiClient = createConfig({
      connectors: [new RainbowConnector({ chains, projectId })],
      publicClient,
    });
    
    function MyApp({ Component, pageProps }: AppProps) {
      return (
        <WagmiConfig config={wagmiClient}>
          <RainbowButtonProvider>{/* Your App */}</RainbowButtonProvider>
        </WagmiConfig>
      );
    }
    
    export const YourApp = () => {
      return <RainbowButton />;
    };

    You can also use the RainbowButton.Custom component for custom implementations and styling.

    <RainbowButton.Custom>
      {({ ready, connect }) => {
        return (
          <button type="button" disabled={!ready} onClick={connect}>
            Connect Rainbow
          </button>
        );
      }}
    </RainbowButton.Custom>

    3. And that's it!

    Now your users can enjoy a seamless connection experience for Rainbow — without any maintenance or headaches.

    A WalletButton component is also available in RainbowKit if you'd like to adopt support for additional wallets.

@rainbow-me/rainbowkit@1.2.1

20 Nov 06:02
cb56848
Compare
Choose a tag to compare

Patch Changes

  • 74ead9d: Tokenary Support

    Example usage

    import {
      getDefaultWallets,
      connectorsForWallets,
    } from "@rainbow-me/rainbowkit";
    import { tokenaryWallet } from "@rainbow-me/rainbowkit/wallets";
    const { wallets } = getDefaultWallets({ appName, chains });
    const connectors = connectorsForWallets([
      ...wallets,
      {
        groupName: "Other",
        wallets: [tokenaryWallet({ chains })],
      },
    ]);
  • 94dce82: Fixed scroll bar inconsistencies in the Chain selector for large chain lists or when animating upon user interaction

  • 39d81e9: Fixed a bug where the avatar loading indicator had used excessive CPU cycles

@rainbow-me/rainbowkit@1.2.0

31 Oct 14:34
328038c
Compare
Choose a tag to compare

Minor Changes

  • ef64a22: Improved desktop wallet download support

    RainbowKit wallet connectors now support desktop download links and desktop
    wallet instructions.

    Dapps that utilize the Custom Wallets API can reference the updated docs here.

    {
      downloadUrls: {
        windows: 'https://my-wallet/windows-app',
        macos: 'https://my-wallet/macos-app',
        linux: 'https://my-wallet/linux-app',
        desktop: 'https://my-wallet/desktop-app',
      }
    }

    We've also introduced a new 'connect' InstructionStepName type in the instructions API to provide wallet connection instructions.

    return {
      connector,
      desktop: {
        getUri,
        instructions: {
          learnMoreUrl: 'https://my-wallet/learn-more',
          steps: [
            // ...
            {
              description: 'A prompt will appear for you to approve the connection to My Wallet.'
              step: 'connect',
              title: 'Connect',
            }
          ]
        },
      },
    }

@rainbow-me/rainbowkit@1.1.4

30 Oct 20:29
9b567f9
Compare
Choose a tag to compare

Patch Changes

  • 9f68c30: Fixed an issue with Trust Wallet detection in Trust's in-app mobile browser
  • 3f595c1: Added localization support in the Authentication flow for SIWE
  • e2075b3: Improved Coinbase Wallet detection when multiple wallets are active

@rainbow-me/rainbowkit@1.1.3

23 Oct 07:21
dbca805
Compare
Choose a tag to compare

Patch Changes

  • 02e796c: SafePal Wallet Support

    Example usage

    import {
      getDefaultWallets,
      connectorsForWallets,
    } from "@rainbow-me/rainbowkit";
    import { safepalWallet } from "@rainbow-me/rainbowkit/wallets";
    const { wallets } = getDefaultWallets({ appName, chains });
    const connectors = connectorsForWallets([
      ...wallets,
      {
        groupName: "Other",
        wallets: [safepalWallet({ projectId, chains })],
      },
    ]);
  • efb8566: SubWallet Support

    Example usage

    import {
      getDefaultWallets,
      connectorsForWallets,
    } from "@rainbow-me/rainbowkit";
    import { subWallet } from "@rainbow-me/rainbowkit/wallets";
    const { wallets } = getDefaultWallets({ appName, chains, projectId });
    const connectors = connectorsForWallets([
      ...wallets,
      {
        groupName: "Other",
        wallets: [subWallet({ chains, projectId })],
      },
    ]);
  • 4b7a44c: Okto Support

    Example usage

    import {
      getDefaultWallets,
      connectorsForWallets,
    } from "@rainbow-me/rainbowkit";
    import { oktoWallet } from "@rainbow-me/rainbowkit/wallets";
    const { wallets } = getDefaultWallets({ appName, projectId, chains });
    const connectors = connectorsForWallets([
      ...wallets,
      {
        groupName: "Other",
        wallets: [oktoWallet({ projectId, chains })],
      },
    ]);
  • 2c8abbb: Zeal Support

    Example usage

    import {
      getDefaultWallets,
      connectorsForWallets,
    } from "@rainbow-me/rainbowkit";
    import { zealWallet } from "@rainbow-me/rainbowkit/wallets";
    const { wallets } = getDefaultWallets({ appName, chains });
    const connectors = connectorsForWallets([
      ...wallets,
      {
        groupName: "Other",
        wallets: [zealWallet({ chains })],
      },
    ]);
  • e41103f: CLV Wallet Support

    Example usage

    import {
      getDefaultWallets,
      connectorsForWallets,
    } from "@rainbow-me/rainbowkit";
    import { clvWallet } from "@rainbow-me/rainbowkit/wallets";
    const { wallets } = getDefaultWallets({ appName, chains });
    const connectors = connectorsForWallets([
      ...wallets,
      {
        groupName: "Other",
        wallets: [clvWallet({ chains, projectId })],
      },
    ]);
  • b0022ae: Desig Wallet support

    Example usage

    import {
      getDefaultWallets,
      connectorsForWallets,
    } from "@rainbow-me/rainbowkit";
    import { desigWallet } from "@rainbow-me/rainbowkit/wallets";
    const { wallets } = getDefaultWallets({ appName, chains, projectId });
    const connectors = connectorsForWallets([
      ...wallets,
      {
        groupName: "Other",
        wallets: [desigWallet({ chains })],
      },
    ]);

@rainbow-me/rainbowkit@1.1.2

15 Oct 20:43
924d776
Compare
Choose a tag to compare

Patch Changes

  • 6cbd9a5: Added zkSync and zkSyncTestnet network support
  • b2b69dc: Added holesky testnet support
  • 7d97860: Fixed an issue where a user would not get automatically logged out from the Authentication API after switching their wallet in MetaMask or other browser wallets. Users must now sign a new SIWE message after switching wallets.

@rainbow-me/rainbowkit@1.1.1

06 Oct 22:57
02d986a
Compare
Choose a tag to compare

Patch Changes

  • b60e335: Fixed a dependency resolution issue for ESModule projects related to i18n-js

@rainbow-me/rainbowkit@1.1.0

06 Oct 06:59
265da51
Compare
Choose a tag to compare

Minor Changes

  • b37f5d6: RainbowKit is now localized in 13 languages and counting 🌎

    A user's preferred language is automatically detected and the wallet linking experience will be fully localized out of the box, including the ConnectButton. Developers can always customize the language selection or allow their users to choose a different language by passing a locale prop to RainbowKitProvider like so:

    <RainbowKitProvider locale="zh-CN">

    RainbowKit's localization support works even better alongside i18n support in Next.js, so that locale selection can be specifed with custom domains or a subpath like /zh-CN/. Reference our guide to learn more.

    If you would like to see support for an additional language, please open a GitHub Discussion and we'll work to support it as soon as possible.

@rainbow-me/rainbowkit@1.0.12

05 Oct 05:22
883f53c
Compare
Choose a tag to compare

Patch Changes

  • 5b8d821: Resolved an issue where dApps that supported many chains would cause an interface overflow on mobile. The Chains Modal is now scrollable.
  • fb9405a: Resolved an issue that prevented overriding iconUrl and iconBackground during Chain customization
  • 252f02e: Resolved an issue with the Authentication modal where a user's wallet would remain connected if the modal was dismissed with the Close button rather than explicitly using the Cancel button. This fix ensures that dApps can reliably require a user to complete Authentication before RainbowKit enters a connected state.
  • 7643e70: Deprecated bitKeepWallet connector in favor of bitgetWallet. The BitKeep Wallet connector will continue to be available without breaking changes.