-
Notifications
You must be signed in to change notification settings - Fork 789
Releases: rainbow-me/rainbowkit
@rainbow-me/rainbowkit@2.2.11
03360ee Patch Changes
-
a40b1f4: Migrate the Base connector to canonical
basenaming, while preserving backwards-compatible aliasesbaseAccountandcoinbaseWallet. -
3672dc6: Added Anchorage Digital wallet support with the
anchorageDigitalWalletwallet connector. -
1043d88: Added MeCo Wallet support with
mecoWalletwallet connector. -
f52657f: Exposed
RainbowKitProviderPropsandWalletButtonRendererPropsas public type exports to support Custom Wallet Button scenarios. -
4f2de17: Fixed a crash that could occur when selecting a wallet while multiple browser wallet extensions were installed and the specific injected wallet was missing. Wallet-specific injected connectors now bind only to their matching provider instead of falling back to available defaults.
-
bc4625c: Fix recent transaction tracking so failed transactions no longer prevent an app's own transaction receipt wait from settling.
-
25c4c2b: Improved SSR safety to prevent WalletConnect initialization warnings and mitigate localStorage API availability changes in Node.js v25 and above.
-
f52657f: Fixed
useWindowSizetriggering a state update after unmount, which could surface as a React warning. -
eb4251d: The
AuthenticationAdapter.createMessageAPI can now return a promise, so dApps can fetch or construct a custom SIWE message asynchronously. This enables server-side SIWE message creation before prompting the wallet, while preserving existing synchronous behavior.See the server-side message creation docs for guidance.
-
b0f6d52: fix: harden useCoolMode against malicious wallet icon URLs
The cool mode particle animation built image elements via
innerHTML, which
parses its input as HTML. A malicious EIP-6963 wallet could supply a crafted
icon URL containing injected attributes (e.g.onerror) that would execute
in the dApp's origin when a user interacts with the wallet button.Switched to
document.createElement('img')with property assignment so the
icon value is always treated as a plain URL rather than markup. -
f2523a9: Updated MetaMask wallet icon
Assets 2
@rainbow-me/rainbowkit-siwe-next-auth@0.6.0
03360ee Minor Changes
-
e90c2dd: Upgraded to NextAuth v5. This is a breaking change.
Key changes:
- Requires NextAuth v5 (
next-auth >=5.0.0-0 <6); NextAuth v4 apps must migrate before upgrading. - NextAuth server configuration now uses v5 APIs like
NextAuthConfig,Credentials, and the exportedauthhelper. - Pages Router server calls must pass
reqandresseparately toauth; passing the fullGetServerSidePropsContextis no longer valid. - NextAuth v5 internal cookies use
authjsnames, includingauthjs.csrf-tokenor__Host-authjs.csrf-tokenfor CSRF depending on secure-cookie settings. - CSRF nonce validation now compares the SIWE nonce against the
csrfTokenvalue that NextAuth v5 posts to the Credentials provider, instead of parsing CSRF cookies from request headers.
Migration guide:
- Upgrade
next-authto v5 and upgrade@rainbow-me/rainbowkit-siwe-next-auth.
- npm install next-auth@^4 @rainbow-me/rainbowkit-siwe-next-auth + npm install next-auth@5.0.0-beta.31 @rainbow-me/rainbowkit-siwe-next-auth
- Update your NextAuth server configuration to the v5 API.
- import type { NextAuthOptions } from 'next-auth'; - import CredentialsProvider from 'next-auth/providers/credentials'; + import NextAuth from 'next-auth'; + import type { NextAuthConfig } from 'next-auth'; + import Credentials from 'next-auth/providers/credentials'; - export const authOptions: NextAuthOptions = { + export const authOptions: NextAuthConfig = { providers: [ - CredentialsProvider({ + Credentials({ async authorize(credentials) { /* your SIWE validation */ }, }), ], }; + + export const { handlers, auth, signIn, signOut } = NextAuth(authOptions);
- Update Pages Router server-side session lookups to use the exported
authhelper. Passreqandresseparately; passing the fullGetServerSidePropsContextis not supported by the v5 overloads.
- import { getServerSession } from 'next-auth'; - import { authOptions } from '../auth'; + import { auth } from '../auth'; export const getServerSideProps: GetServerSideProps = async (context) => { - const session = await getServerSession( - context.req, - context.res, - authOptions, - ); + const session = await auth(context.req, context.res); return { props: { session, }, }; };
- Update SIWE nonce checks that call
getCsrfTokeninsideauthorize. When usingsignIn('credentials', ...), NextAuth v5 validates the CSRF cookie beforeauthorizeruns and includes the verified token incredentials.csrfToken.
- import { getCsrfToken } from 'next-auth/react'; - if ( - siweMessage.nonce !== - (await getCsrfToken({ req: { headers: req.headers } })) - ) { - return null; - } + const csrfToken = + credentials && 'csrfToken' in credentials + ? credentials.csrfToken + : undefined; + if (siweMessage.nonce !== csrfToken) { + return null; + }
- If upgrading from before
@rainbow-me/rainbowkit-siwe-next-auth@0.5.0, also follow the0.5.0changelog entry for theviem/siwemigration and the0.3.0changelog entry for the earliergetCsrfTokenrequest-shape change.
- Requires NextAuth v5 (
Assets 2
@rainbow-me/rainbow-button@0.2.28
03360ee Patch Changes
- f52657f: Fixed
RainbowButton.Customtypes in Next.js 16.2 projects.
Assets 2
@rainbow-me/create-rainbowkit@0.3.16
69161b2 Patch Changes
-
acb7444: Security update: upgraded React and Next.js in create-rainbowkit template to patch critical vulnerabilities.
Critical CVEs Fixed:
- CVE-2025-55184: Denial of Service - https://nextjs.org/blog/security-update-2025年12月11日
- CVE-2025-55183: Source Code Exposure - https://nextjs.org/blog/security-update-2025年12月11日
Updated:
- React/React-DOM: 19.1.2 → 19.1.3
- Next.js: 15.3.6 → 15.3.7
Assets 2
@rainbow-me/rainbowkit@2.2.10
fbfdbf1 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
iconinstead oficonsinappMetadata -
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
ctrlWalletwallet connector to replacexdefiWallet. 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;
Assets 2
@rainbow-me/create-rainbowkit@0.3.15
fbfdbf1 Patch Changes
-
060e074: Security update: upgraded React and Next.js in create-rainbowkit template to patch critical vulnerabilities.
Critical CVEs Fixed:
- CVE-2025-55182: React Server Components RCE - https://react.dev/blog/2025/12/03/critical-security-vulnerability-in-react-server-components
- CVE-2025-66478: Next.js RCE - https://nextjs.org/blog/CVE-2025-66478
Updated:
- React/React-DOM: 19.1.0 → 19.1.2
- Next.js: 15.3.3 → 15.3.6
-
eb72c37: Upgrade wagmi to ^2.19.3 and viem to 2.38.0.
Assets 2
@rainbow-me/rainbowkit@2.2.9
5cd323f Patch Changes
- e52ca05: Added
baseAccountwallet connector, replacingcoinbaseWallet(now marked as deprecated) - b34d6c1: Added
portoWalletwallet connector for Porto - 66bcc18: Added
universalProfilesWalletconnector for Universal Profiles - fe0496e: Added
geminiWalletwallet connector for Gemini Wallet - 0b9052c: Added
binanceWalletchrome extension download url - d92a6c7: Fixed type compatibility for
connect()parameters in Wagmi^2.17.0 - 5698ade: Fixed monad logo and supported monad testnet
- 1e67f0d: Improved detection for
novaWalletprovider - 1520f59: Fixed unintended forwarding of the
errorCorrectionprop to SVG elements used by the QRCode component to prevent React warning.
Assets 2
@rainbow-me/rainbow-button@0.2.26
5cd323f Patch Changes
- 87257e6: Expose
useRainbowConnectModalhook for programmatic control of the connect modal. The hook returnsconnectandconnectModalOpenproperties
Assets 2
@rainbow-me/rainbowkit@2.2.8
32c6720 Patch Changes
- f542876: The
metaMaskWalletwallet connector now utilizes the MetaMask SDK for more reliable, faster connections on mobile
Assets 2
@rainbow-me/rainbowkit@2.2.7
cbdf578 Patch Changes
- a147620: Fixed error handling when connect requests are rejected on mobile.
- 10090d2: Mitigated
WalletConnect Core is already initializedwarnings that began appearing with recent distributions of Wagmi and WalletConnect. - 50c7f13: Added missing
rdnsmetadata for wallet connectors that now support EIP-6963. - 15ddd4a: Improved QR Code error correction and rendering with
cuer