Skip to content

Releases: rainbow-me/rainbowkit

@rainbow-me/rainbowkit@2.0.1

23 Feb 03:20
5a092c4
Compare
Choose a tag to compare

Patch Changes

  • bb56562: Fixed a bug where the showBalance prop on <ConnectButton /> didn't accept a boolean, and had only accepted responsive modal values.
  • 5149dbd: Added Ramper Wallet support with ramperWallet wallet connector
  • 1e7d3f4: Added Ronin Wallet support with roninWallet wallet connector
  • c16541a: Added Kresus support with kresusWallet wallet connector
  • dbca966: Added Bloom Wallet support with bloomWallet wallet connector
  • 1a08977: Added EIP-6963 support for coin98Wallet wallet connector
  • f69c0e1: Added support for ronin chain

@rainbow-me/rainbowkit@2.0.0

11 Feb 07:39
9a10276
Compare
Choose a tag to compare

Major Changes

  • aa0269e: Breaking:

    The wagmi and viem peer dependencies have reached 2.x.x with breaking changes.

    Follow the steps below to migrate.

    1. Upgrade RainbowKit, wagmi, and viem to their latest versions

    npm i @rainbow-me/rainbowkit@2 wagmi@2 viem@2.x

    2. Install @tanstack/react-query peer dependency

    With Wagmi v2, TanStack Query is now a required peer dependency.

    Install it with the following command:

    npm i @tanstack/react-query

    3. Upgrade your RainbowKit and Wagmi configurations

      import '@rainbow-me/rainbowkit/styles.css'
    
    + import { QueryClient, QueryClientProvider } from '@tanstack/react-query'
    - import { createPublicClient, http } from 'viem'
    - import { WagmiConfig } from 'wagmi'
    + import { WagmiProvider, http } from 'wagmi'
    - import { configureChains, createConfig } from 'wagmi'
      import { mainnet } from 'wagmi/chains'
      import { RainbowKitProvider } from '@rainbow-me/rainbowkit'
    - import { getDefaultWallets, connectorsForWallets } from '@rainbow-me/rainbowkit'
    + import { getDefaultConfig } from '@rainbow-me/rainbowkit'
    
      /* getDefaultWallets is now optional */
    - const { wallets } = getDefaultWallets({
    -   appName: 'RainbowKit demo',
    -   projectId: 'YOUR_PROJECT_ID',
    -   chains,
    - })
    
      /* connectorsForWallets is now optional */
    - const connectors = connectorsForWallets([...wallets])
    
    - const { chains, publicClient } = configureChains(
    -   [mainnet, sepolia],
    -   [publicProvider(), publicProvider()],
    - )
    
    - const config = createConfig({
    -   autoConnect: true,
    -   publicClient,
    - })
    
      /* New API that includes Wagmi's createConfig and bundles getDefaultWallets and connectorsForWallets */
    + const config = getDefaultConfig({
    +   appName: 'RainbowKit demo',
    +   projectId: 'YOUR_PROJECT_ID',
    +   chains: [mainnet],
    +   transports: {
    +     [mainnet.id]: http(),
    +   },
    + })
    
    + const queryClient = new QueryClient()
    
      const App = () => {
        return (
    -     <WagmiConfig config={config}>
    +     <WagmiProvider config={config}>
    +       <QueryClientProvider client={queryClient}>
    -         <RainbowKitProvider chains={chains}>
    +         <RainbowKitProvider>
                {/* Your App */}
              </RainbowKitProvider>
    +       </QueryClientProvider>
    -     </WagmiConfig>
    +     </WagmiProvider>
        )
      }

    You can read an in-depth migration guide here.

    4. Check for breaking changes in wagmi and viem

    If you use wagmi hooks and viem actions in your dApp, you will need to follow the migration guides for v2:

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

11 Feb 07:38
9a10276
Compare
Choose a tag to compare

Minor Changes

  • aa0269e: RainbowKit has reached v2 alongside wagmi, which includes breaking changes.

    0.4.x now requires @rainbow-me/rainbowkit v2, specifically: 2.x.x.

@rainbow-me/rainbow-button@0.2.0

11 Feb 07:37
9a10276
Compare
Choose a tag to compare

Minor Changes

  • aa0269e: Breaking:

    The wagmi and viem peer dependencies have reached 2.x.x with breaking changes.

    Follow the steps below to migrate.

    1. Upgrade Rainbow Button, wagmi, and viem to their latest versions**

    npm i @rainbow-me/rainbow-button@2 wagmi@2 viem@2.x

    2. Install @tanstack/react-query peer dependency

    With Wagmi v2, TanStack Query is now a required peer dependency.

    Install it with the following command:

    npm i @tanstack/react-query

    3. Upgrade your Rainbow Button and Wagmi configurations

    RainbowConnector is now rainbowConnector, and requires appName and no longer accepts the chains parameter.

    - import { RainbowConnector } from '@rainbow-me/rainbow-button'
    + import { rainbowConnector } from '@rainbow-me/rainbow-button'
      import { createConfig } from 'wagmi'
    
      const config = createConfig({
    -   connectors: [new RainbowConnector({ chains, projectId })],
    +   connectors: [
    +     rainbowConnector({
    +       appName: "RainbowKit demo",
    +       projectId: "YOUR_PROJECT_ID",
    +     }),
    +   ],
      })

    Follow the Wagmi v2 Migration Guide for additional configuration changes.

    4. Check for breaking changes in wagmi and viem

    If you use wagmi hooks and viem actions in your dApp, you will need to follow the full migration guides for v2:

@rainbow-me/rainbowkit@1.3.5

06 Feb 21:56
ccb27da
Compare
Choose a tag to compare

Patch Changes

  • 2b0c7b3: Added missing i18n translations for Wrong network errors

@rainbow-me/rainbowkit@1.3.4

01 Feb 08:56
1faf490
Compare
Choose a tag to compare

Patch Changes

  • c0a644a: Fixed an issue that caused components to re-render on every window resize event. Now components will only re-render once the user has finished resizing their window.
  • 41616b9: Fixed a bug where the connectModalOpen state incorrectly remained true after a successful siwe authentication. This fix ensures that connectModalOpen shows the correct state.
  • cf4955f: Fixed a bug where the back button wasn't showing on compact size modal when selecting DownloadOptions wallet step.
  • cf4955f: Removed back button for wide size modal entirely when selecting DownloadOptions wallet step to prevent incorrect wallet step switching.
  • e5f5f03: Removed external i18n-js dependency to reduce RainbowKit bundle sizes.
  • c0bd68e: Fixed a bug in the account modal transactions section where transactions that were not found or cancelled were incorrectly shown as 'pending' instead of 'failed'.
  • a79609b: Fixed a bug that allowed users to hold-press or cursor select wallet icons on iOS, which interrupted the connection experience.

@rainbow-me/rainbowkit@1.3.3

04 Jan 03:46
Compare
Choose a tag to compare

Patch Changes

  • 7565fb2: Added uk-UA and ua locale support for the Ukranian language.

    Reference our guide to learn more about Localization.

  • 24b5a88: Improved support for NodeNext module resolution to resolve "@rainbow-me/rainbowkit"' has no exported member 'RainbowKitProvider' TypeScript warnings

  • 5a184e9: Fixed a bug where eth_getBalance would be called when showBalance was set to false. Optimized additional provider calls to fetch wallet balances only when a user interacts with the Account modal.

@rainbow-me/rainbowkit@1.3.2

22 Dec 06:12
6f71ef3
Compare
Choose a tag to compare

Patch Changes

  • 7ba94f4: Optimized bundle size for localization feature

@rainbow-me/rainbowkit@1.3.1

14 Dec 17:20
20047e5
Compare
Choose a tag to compare

Patch Changes

3feab0e: Support for Wagmi 1.4.12 to mitigate a supply-chain attack on the @ledgerhq/connect-kit package. RainbowKit dApp's were not directly impacted, but dApps that used the LedgerConnector connector in earlier versions of Wagmi could have been. This issue has since been resolved by Ledger but the wagmi team is encouraging developers to upgrade Wagmi and RainbowKit out of an abundance of caution.
c9a8e46: Improved Korean localization. Thanks @Hyun2!
dba5177: Added support for arbitrumSepolia, baseSepolia, optimismSepolia, zoraSepolia testnet chains

@rainbow-me/rainbowkit@1.3.0

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

Minor Changes

  • 9ce75a6: The new WalletButton component helps dApps with custom wallet list implementations adopt RainbowKit and all of it's maintenance-free benefits.

    import { WalletButton } from '@rainbow-me/rainbowkit';
    
    <WalletButton wallet="rainbow" />
    <WalletButton wallet="metamask" />
    <WalletButton wallet="coinbase" />

    Like the ConnectButton, the WalletButton.Custom component is available for custom implementations and styling.

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

    Most dApps are best served by the ConnectButton. Reference the docs here for more information about WalletButton adoption and usecases.