Skip to content

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Dec 23, 2025

This PR contains the following updates:

Package Change Age Confidence
@rainbow-me/rainbowkit (source) 2.1.72.2.10 age confidence

Release Notes

rainbow-me/rainbowkit (@​rainbow-me/rainbowkit)

v2.2.10

Compare Source

Patch Changes
  • e74f604: Improve UI on the mobile connect flow to hint to users that they can horizontally scroll to see additional wallet connectors

  • eb72c37: Fix Gemini wallet connector to use icon instead of icons in appMetadata

  • e58367e: Fix mobile visibility for Coin98, CLV, SafePal, Frontier, and BeraSig wallets.

  • b7b7b43: Rename the Argent wallet connector to readyWallet

  • 507f583: Add additional wallet flags to isMetaMask() to detect impersonating providers.

  • 16963de: Add ctrlWallet wallet connector to replace xdefiWallet. XDEFI Wallet has been rebranded to CTRL Wallet.

  • 6c745a5: Disable third-party connector telemetry by default for user privacy. h/t @​TimDaub

    To opt-in to WalletConnect analytics:

    With getDefaultConfig:

    const config = getDefaultConfig({
      /** ... **/
      walletConnectParameters: {
        telemetryEnabled: true,
      },
    });

    To opt-in to Base Account telemetry:

    baseAccount.preference = {
      telemetry: true,
    };

    To opt-in to MetaMask analytics:

    metaMaskWallet.enableAnalytics = true;

v2.2.9

Compare Source

Patch Changes
  • e52ca05: Add baseAccount wallet connector, replacing coinbaseWallet in the default wallet list

  • 1e67f0d: Improved detection for nova wallet provider

  • d92a6c7: Fixed type compatibility for connect() parameters in Wagmi ^2.17.0

  • 0b9052c: Add binance wallet chrome extension download url

  • b34d6c1: Added portoWallet.

  • 66bcc18: Universal Profiles wallet connector

  • fe0496e: Added Gemini Wallet support

    Added Gemini Wallet as a supported wallet connector with proper icon and configuration.

  • 5698ade: fix monad logo in rainbowkit package and include monad testnet in the example

  • 1520f59: Fixed unintended forwarding of the errorCorrection prop to SVG elements used by the QRCode component to prevent React warning.

v2.2.8

Compare Source

Patch Changes
  • f542876: The metaMaskWallet wallet connector now utilizes the MetaMask SDK for more reliable, faster connections on mobile

v2.2.7

Compare Source

Patch Changes
  • a147620: Fixed error handling when connect requests are rejected on mobile.
  • 10090d2: Mitigated WalletConnect Core is already initialized warnings that began appearing with recent distributions of Wagmi and WalletConnect.
  • 50c7f13: Added missing rdns metadata for wallet connectors that now support EIP-6963.
  • 15ddd4a: Improved QR Code error correction and rendering with cuer

v2.2.6

Compare Source

Patch Changes
  • 624a38a: The coinbaseWallet connector now supports additional SDK configuration options to enable Paymasters and Sub Accounts for your dapp.

    import { coinbaseWallet } from "@​rainbow-me/rainbowkit/wallets";
    
    // Configure Paymaster for gas sponsorship
    coinbaseWallet.paymasterUrls = {
      [base.id]: "...",
    };
    
    // Enable Sub Accounts
    coinbaseWallet.subAccounts = {
      enableAutoSubAccounts: true,
      defaultSpendLimits: {
        // ...
      },
    };
  • f6ad6aa: Added support for Superposition chain

v2.2.5

Compare Source

Patch Changes
  • 3d73508: Added ZilPay Wallet support with zilPayWallet wallet connector
  • c5a9cc1: Fixed SVG encoding in wallet connector icons for Cool Mode
  • 8515fd3: Resolved a warning for mismatched dApp url metadata on recent versions of WalletConnect
  • 5b54649: MEW Wallet now supports WalletConnect on mobile
  • 03ae0d0: Added xPortal Wallet support with xPortalWallet wallet connector

v2.2.4

Compare Source

Patch Changes
  • f5a7cec: Added support for Unichain
  • a765cfc: Added support for ApeChain, Berachain, Degen, Gravity, Ink, Linea, and Sanko
  • 9c9c491: Added Backpack support with backpackWallet wallet connector
  • f89eb92: Improved support for the Binance Wallet dApp browser
  • a765cfc: Updated icons for Arbitrum, Blast, Gnosis, Scroll, and zkSync
  • e4547b8: Added icon for HyperEVM chain

v2.2.3

Compare Source

Patch Changes
  • b5a7878: Updated OP Mainnet branding

v2.2.2

Compare Source

Patch Changes

v2.2.1

Compare Source

Patch Changes
  • 3469982: Added Wigwam support with wigwamWallet wallet connector
  • 0c6af55: Added icon for Flow chain
  • 5b8e146: Added de-DE and de locale support for the German language.
  • 9dd23d9: Added BeraSig support with berasigWallet wallet connector
  • 7fceab8: Added ms-MY and ms locale support for the Malay language.

v2.2.0

Compare Source

Minor Changes
  • f02bced: The Authentication API now supports ERC-1271 and ERC-6492 for smart contract signature verification to enable Sign-in with Ethereum for Smart Contract Wallets, including Coinbase Smart Wallet and Argent.

    We have also deprecated the siwe and ethers peer dependencies in favor of viem/siwe to make RainbowKit even more seamless.

    No changes are necessary for dApps that don't rely on the Authentication API.

    Follow the appropriate steps below to migrate.

    NextAuth Authentication

    1. Remove siwe and ethers
    npm uninstall siwe ethers
    1. Upgrade RainbowKit, rainbowkit-siwe-next-auth, and viem
    npm i @​rainbow-me/rainbowkit@^2.2.0 rainbow-me/rainbowkit-siwe-next-auth@^0.5.0 viem@^2.12.0
    1. Create a Public Client

    This allows viem to verify smart contract signatures.

    const config = getDefaultConfig({
      /* your config */
    });
    + const publicClient = config.getClient().extend(publicActions);
    1. Adjust your authorize implementation in /api/auth/[...nextauth].ts
    - import { SiweMessage } from 'siwe';
    + import {
    +   type SiweMessage,
    +   parseSiweMessage,
    +   validateSiweMessage,
    + } from 'viem/siwe';
    
    export function getAuthOptions(req: IncomingMessage): NextAuthOptions {
      const providers = [
        CredentialsProvider({
          async authorize(credentials: any) {
    
    -       const siwe = new SiweMessage(
    -         JSON.parse(credentials?.message || '{}'),
    -       );
    +       const siweMessage = parseSiweMessage(
    +         credentials?.message,
    +       ) as SiweMessage;
    
    +       if (!validateSiweMessage({
    +         address: siweMessage?.address,
    +         message: siweMessage,
    +       })) {
    +         return null;
    +       }
    
            /* ... */
    
    -       await siwe.verify({ signature: credentials?.signature || '' });
    +       const valid = await publicClient.verifyMessage({
    +         address: siweMessage?.address,
    +         message: credentials?.message,
    +         signature: credentials?.signature,
    +       });
    
    +       if (!valid) {
    +         return null;
    +       }
          },
          /* ... */
        })
      ]
    }

    Reference the with-next-siwe-next-auth example for more guidance.

    Custom Authentication

    1. Remove siwe and ethers
    npm uninstall siwe ethers
    1. Upgrade RainbowKit and viem
    npm i @​rainbow-me/rainbowkit@^2.2.0 viem@^2.12.0
    1. Create a Public Client

    This allows viem to verify smart contract signatures.

    const config = getDefaultConfig({
      /* your config */
    });
    
    + const publicClient = config.getClient().extend(publicActions);
    1. Adjust your createAuthenticationAdapter implementation
    - import { SiweMessage } from 'siwe';
    + import { createSiweMessage } from 'viem/siwe';
    
    createAuthenticationAdapter({
      getNonce: async () => {
        const response = await fetch('/api/nonce');
        return await response.text();
      },
    
      createMessage: ({ nonce, address, chainId }) => {
    -   return new SiweMessage({
    +   return createSiweMessage({
          domain: window.location.host,
          address,
          statement: 'Sign in with Ethereum to the app.',
          uri: window.location.origin,
          version: '1',
          chainId,
          nonce,
        });
      },
    
    - getMessageBody: ({ message }) => {
    -   return message.prepareMessage();
    - },
    
      /* ... */
    })
    1. Adopt generateSiweNonce
    - import { generateNonce } from 'siwe';
    + import { generateSiweNonce } from 'viem/siwe';
    
    - req.session.nonce = generateNonce();
    + req.session.nonce = generateSiweNonce();
    1. Adopt parseSiweMessage and verifyMessage if your Verify handler
    - import { SiweMessage } from 'siwe';
    + import { parseSiweMessage, type SiweMessage } from 'viem/siwe';
    
    const { message, signature } = req.body;
    - const siweMessage = new SiweMessage(message);
    - const { success, error, data } = await siweMessage.verify({
    -  signature,
    - });
    + const siweMessage = parseSiweMessage(message) as SiweMessage;
    + const success = await publicClient.verifyMessage({
    +   address: siweMessage.address,
    +   message,
    +   signature,
    + });
    
    - if (!success) throw error;
    + if (!success) throw new Error('Invalid signature.');
    
    - if (data.nonce !== req.session.nonce)
    + if (siweMessage.nonce !== req.session.nonce)
    +   return res.status(422).json({ message: 'Invalid nonce.' });

    Reference the with-next-siwe-iron-session example for more guidance.


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot added the renovate label Dec 23, 2025
@renovate renovate bot force-pushed the renovate/rainbow-me-rainbowkit-2.x-lockfile branch from 2a6ca40 to 6e9bd78 Compare December 31, 2025 11:33
@renovate renovate bot changed the title chore(deps): update dependency @rainbow-me/rainbowkit to v2.2.10 Update dependency @rainbow-me/rainbowkit to v2.2.10 Dec 31, 2025
@renovate renovate bot force-pushed the renovate/rainbow-me-rainbowkit-2.x-lockfile branch from 6e9bd78 to 02f0d90 Compare December 31, 2025 20:13
@renovate renovate bot changed the title Update dependency @rainbow-me/rainbowkit to v2.2.10 chore(deps): update dependency @rainbow-me/rainbowkit to v2.2.10 Jan 1, 2026
@renovate renovate bot changed the title chore(deps): update dependency @rainbow-me/rainbowkit to v2.2.10 Update dependency @rainbow-me/rainbowkit to v2.2.10 Jan 5, 2026
@renovate renovate bot changed the title Update dependency @rainbow-me/rainbowkit to v2.2.10 chore(deps): update dependency @rainbow-me/rainbowkit to v2.2.10 Jan 5, 2026
@renovate renovate bot changed the title chore(deps): update dependency @rainbow-me/rainbowkit to v2.2.10 Update dependency @rainbow-me/rainbowkit to v2.2.10 Jan 6, 2026
@renovate renovate bot changed the title Update dependency @rainbow-me/rainbowkit to v2.2.10 chore(deps): update dependency @rainbow-me/rainbowkit to v2.2.10 Jan 6, 2026
@renovate renovate bot force-pushed the renovate/rainbow-me-rainbowkit-2.x-lockfile branch from 02f0d90 to 055c495 Compare January 8, 2026 18:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant