Skip to content

Releases

The release notes for the @privy-io/react-auth SDK.

1.59.7

  • Update storage location for OAuth and PKCE

1.59.6

  • Ensure transaction type gets defaulted even if gas fees are manually set by developer
  • Disable switchChain prompt on wallet login if supportedChains are set without a defaultChain
  • Extend Polygon gas estimation logic to Amoy testnet
  • Change copy on transaction status screen
  • Show app name instead of "Privy" in Coinbase Wallet during connect flow
  • [experimental] Support writes to farcaster via useExperimentalFarcasterSigner hook
    • Note this interface is experimental and may change in a future update

1.59.5

  • Improve sign in with Farcaster redirect on iOS
  • Fix "cannot dequeue event" console errors

1.59.4

  • Improve consistency of 'Take me to Warpcast' button
  • Fix bug where users are prompted to SIWE repeatedly after selecting a wallet login
  • Fix bugs related to repeated clicks on OAuth login buttons
  • Update OAuth query param removal to use replace instead of push
  • Add support for Polygon Amoy testnet out of the box
  • Dependencies: update jose from 4.14.6 to 4.15.5

1.59.3

  • Fix cookie-based session restoration on new subdomain
  • Update signTypedData handler to only default EIP712Domain type if not specified by caller
  • Improve handling around embedded wallet creation errors
  • Update RPC endpoints for some testnets

1.59.2

  • Fix phantom installation screen: reload after confirming installation
  • Fix ready from useWallets when phantom is in walletList

1.59.1

  • Improve text padding on password inputs
  • Improve gas limit estimation with retries
  • Add useLinkAccount callback method
  • Fix bug where MFA methods are stale

1.59.0

New features

  • Add new options to appearance.walletList: cryptocom, uniswap, and okx_wallet
  • Expose useFundWallet to fund external wallets
  • Update gas estimation logic

Bug fixes

  • Fix ready from useWallets not getting set to true
  • Fix wallets array not updating after disconnecting Coinbase Wallet
  • Update config to override appearance.walletList with loginMethodsAndOrder if defined
  • Improve consistency of placeholder phone numbers

Build improvements

  • Mark library as side effect free
  • Update coinbase wallet SDK
  • Reduce and improve console warnings on app startup

1.58.1

  • Reduce and improve console warnings on app startup
  • Fix ready from useWallets not getting set to true
  • Expose useFundWallet to fund external wallets

1.58.0

  • Add Spotify OAuth Integration
  • Add connectOrCreateWallet
  • Add update email flow
  • Error state styling improvements
  • Improve session refresh logic

1.57.2

  • Fix an issue causing OAuth logins to fail

1.57.1

  • Minor improvements to SDK initialization
  • Minor copy updates
  • Improve dialog accessibility

1.57.0

  • Add signTypedData and associated UIs
  • Add name to TikTok account interface
  • Add documentation about Twitter Profile Picture image size
  • Add useSetWalletPassword callback function
  • Improve error handling on createWallet
  • Handle Twitter account suspended errors

1.56.2

  • Ensure Twitter login is disabled by mobile on default due to issues with Twitter OAuth on mobile. You can override this setting in the Dashboard.
  • Tree-shake friendly icon imports
  • Deprecate noPromptOnSignature. You should now set this configuration in the Dashboard.

1.56.1

  • Fix bug with password-based recovery in exportWallet method
  • Fix spacing on OAuth status screen
  • Update check for whether a wallet is linked or not to handle exported embedded wallets
  • Update WalletConnect to not specify required chains namespaces unless a defaultChain is explicitly set
  • Update ConnectedWallet object with more WalletWithMetadata

1.56.0

New Features

  • Add Twitter profilePictureUrl to user object. Existing users must login with Twitter again to have their profile picture fetched.
  • With Google OAuth, pre-emptively direct users out of in-app browsers as Google OAuth is blocked in in-app browsers. Read more.

Bugfixes

  • Fix "Try again?" CTA on Farcaster error screen to take user back to QR code
  • Check that wallet has sufficient funds to cover gas in addition to value for transactions

Improvements

  • Dramatically improve initial modal load by optimizing wallet connector initializations
  • Update docstring for config.loginMethods
  • Rename developer "console" to "dashboard"

1.55.2

  • Remove copy link on farcaster loading screen
  • Disable captcha challenge if the user is already authenticated
  • Enable automatic wallet creation for Farcaster login
  • Disable clicking outside to close Privy modal on unrecoverable screens
  • Update captcha view styles
  • Improve Sign in with Farcaster link opening
  • Rename profile_picture to profile_picture_url

1.55.1

  • Rename farcaster_id to fid for consistency
  • Export Farcaster account on User object (user.farcaster)
  • Improve captcha challenge timing

1.55.0

  • Add sign-in with Farcaster. Please use version 1.55.1 to consume the most updated interfaces.
  • Add privyWalletOverride to Chain type for overriding RPC urls
  • Update useWallets to throw when used outside of PrivyProvider
  • Style updates to various SVG elements

1.54.3

  • Add intermediary screen for CAPTCHA
  • Improve wallet timeout error handling

1.54.2

  • Fix issue with crypto utils compatibility
  • Fix outline bug for status icons on dark mode
  • Disable retries on 429s

1.54.1

  • Use browser friendly crypto utils
  • Improve error handling for social login buttons

1.54.0

  • Fix issue with dialog z-index
  • Fix OAuth connecting screen delay after redirect
  • Fix issue with Coinbase Wallet not showing as a "detected wallet" when omitted from the walletList
  • OAuth authentication protocol upgrade

1.53.1

  • Improve accessibility and compatibility of the Privy modal
  • Update defaultChain and supportedChains types to handle viem's updated Chain type
  • Fix issue where Phantom wallet button would not always show

1.53.0

  • Add captcha support for SIWE and OAuth logins
  • Add default support for Base Sepolia, Optimism Sepolia, and Zora Sepolia and handle them as OP Stack chains
  • Fix wallet images on mobile
  • Improved handling when dialog is not supported (more coming in subsequent release)
  • Set privy-session client cookie when not using server cookies

1.52.6

  • Ensure MFA only happens once for key export
  • Fix visual bug with key export triggered with MFA

1.52.5

  • Add ready interface to useWallets
  • Add onAccessTokenGranted and onAccessTokenRemoved callbacks for access tokens

1.52.4

  • Minor bugfixes

1.52.3

  • Fixes issue where Safari autofill would sometimes appear over invisible inputs
  • Add helper function errorIndicatesMfaCanceled to determine if a wallet error was due to MFA cancellation

1.52.2

  • Ensure BSC transactions are marked as type: 0 since BSC is not EIP-1159-compatible
  • Fix handling of unsupported region errors for SMS login and MFA
  • Add a console.warn message when opening MFA modal in headless mode
  • Fix visual issue with scrollbars on export wallet button

1.52.1

  • Ensure connections stored in memory are synchronized with local storage
  • Error immediately if an unauthenticated user calls a link- method, instead of after the linking user flow
  • When connecting to MetaMask mobile via WalletConnect, remove request to switch chain to the app's defaultChain due to MetaMask's flaky handling of wallet_switchEthereumChain RPC
  • Improve default estimation of maxPriorityFeePerGas for OP Stack chains

1.52.0

New Features

  • Add support for MFA on Embedded Wallet transactions
  • Add walletList configuration to PrivyProvider

Bugfixes

  • Fix typo on Moonpay on-ramp screen
  • Fix disabled state for insufficient funds on send transaction screen
  • Improve image loading on send transaction screen

UI Changes

  • Update embedded wallet export screen UI

1.51.1

  • Fix MetaMask in cases where it is not EIP-6963 injected
  • Improve WalletConnect integration
  • Expose modal visibility state via useModalStatus

1.51.0

New Features

  • Add support for wallets injected via EIP-6963
  • Add support for wallets injected via legacy window.etherum as "Browser Extension"
  • Add rainbow as a default supported wallet

Bugfixes

  • Fix broken scroll within WalletConnect modal
  • Improve Arbitrum gas estimation.
  • Better focus state for email and phone number inputs
  • Social login buttons no longer disabled after going back on browser
  • Modal interactions no longer blocked when opening on top of Radix UI modal

UI Changes

  • Update SMS country code selector for better consistency
  • Update icons for continue with email/sms on landing screen

1.50.1

  • Fix issue where transaction prompt can unexpectedly load twice
  • Handle WalletConnect re-pairing attempts better

1.50.0

  • Login onComplete callback includes login method
  • Fix Zerion wallet
  • Fix OAuth linking init URL when cookies are enabled
  • Remove default border from login modal
  • Fix infinite loader on login screen bug
  • Update copy for email and sms login
  • Remove letter support in PIN screens
  • Country code selector for phone numbers

1.49.2

  • Add explicit support for Rainbow browser extension wallet
  • Add out-of-the-box support for Holesky (L1) and Holesky Redstone (L2)
  • Add warnings for unsupported/not recommended login configurations in loginMethods
  • Improve deeplinking with MetaMask app on mobile web
  • Fix console.warnings related to WalletConnect
  • Fix issue around displayed gas estimates for OP Stack chains
  • Bump @coinbase/wallet-sdk dependency

UI Changes

  • Fix issue with showWalletLoginFirst login configuration being ignored
  • Fix icons and fonts on mobile login screen
  • Display email/social buttons on landing screen if only one email/social option
  • Underline "Follow this guide" link on the exportWallet screen

1.49.0

  • Design improvements on login modal
  • Enable additional configurations for loginMethods:
    • Email and SMS at the same time
    • Social only
    • Greater than 5 social login options
  • Update OP stack gas estimates and fix gas used calculation
  • Fix error message on signMessage screen

UI Changes

1.48.0

  • Add support for unenrolling MFA methods
  • Support Arbitrum Sepolia testnet out of the box
  • Upgrade from the legacy UIs to use @walletconnect/modal
  • Fix infinite polling on key export
  • Fix issue where ready was not properly set on return from OAuth redirects

1.47.2

  • Add cancel helper to the useMfa hook

1.47.1

  • Extend captcha timeout

1.47.0

  • Add TOTP support for MFA
  • Ensure developer-set gasLimit is always respected

UI Changes

  • Remove create external wallet prompt from home screen
  • Pull WalletConnect image from peer
  • Changed twitter logo to X logo

1.46.1

  • Ensure correct RPC URLs are used
  • Fix bug with logout retries
  • Fix bug around unrecognized parameters in transactions populated by third-party SDKs

1.46.0

  • Add support for Base and BNB with fiat onramp

1.45.3

  • Fix email and phone input placeholder color
  • Remove email and phone connect input tip
  • Add MFA retry logic
  • Fix transaction receipt button margin
  • Add out-of-the-box support for Zora and Zora Goerli Testnet
  • Fix modal close firing multiple times
  • Add config to enable/disable whether USD prices are shown in the embedded wallet transaction modal

1.45.2

  • Add password masking controls to embedded wallet password flows

1.45.1

  • Show error message for automatic wallet creation
  • Embedded wallet password confirmation type to "password"

1.45.0

  • Add config for resolving tx after submission
  • Ensure wallet proxy is explicitly loaded in signature request modal

1.44.0

  • Enable SMS-based transaction MFA enrollment and verification
  • Fix bug around prompting external wallets to switch chain on connection
  • Ensure correct chain ID is used during SIWE

1.43.4

  • Enable configuration of RPC timeout duration for specific wallets

1.43.3

  • Allow SDK to send transactions even if USD prices cannot be fetched
  • Handle Rainbow Wallet browser extension's hijacking of the MetaMask injected provider
  • Handle numeric eth_chainId responses from WalletConnect wallets
  • Fix precision of Polygon and Polygon Mumbai gas fees to avoid underflow errors
  • Fix bug around casting chainId from ethers to number
  • Fix embedded wallet creation after OAuth by waiting for iframe to load
  • Deprecate WalletWithMetadata.chainId in favor of BaseConnectedWallet.chainId

1.43.2

  • Use new set password flow when setting a password during wallet creation
  • Improve error message when wallet attempts to take action on an unsupported chain

1.43.1

  • Update contents of "Download Password" file
  • Improve UX of set password flow

1.43.0

  • Improve user flow for setting a password on the embedded wallet
  • Add network configuration via supportedChains and defaultChain

1.42.0

  • Extend support for social logins

1.41.0

  • Add LinkedIn OAuth to Social Logins
  • Fix chain-specific block explorer links for the embedded wallet transaction details screen

1.40.5

  • Fix signMessage to support multiple calls in sequence

1.40.4

  • Add button roles to login sections for screen reader visibility

1.40.3

  • Fix password strength value not updating on generate

1.40.2

  • Small design adjustments

1.40.1

  • Copy changes in wallet password and recovery flows
  • Do not generate inital value for wallet password form

1.40.0

  • Upgrade wallet recovery from short passcodes to support full passwords
  • Prevent closing embedded wallet password flow until password has been saved and confirmed
  • Bump @walletconnect/ethereum-provider version to 2.10.1

1.39.0

  • Support setting a password on an existing wallet using setWalletPassword

1.38.0

  • Add callbacks for createWallet
  • Allow Twitter login on mobile, despite unresolved Twitter OAuth bug
  • Ensure signMessage and sendTransaction throw appropriate errors when user declines request
  • Ensure Coinbase Wallet receives wallet_addEthereumChain RPC when necessary
  • Fix status of ready upon returning from OAuth redirect
  • Fix recovery for cookie-only sessions
  • Tweak documentation exports

1.37.1

  • Update handling of fundWalletConfig parameter in sendTransaction

1.37.0

  • Add support for configuring the SDK with additional chains from @wagmi/chains

1.36.1

  • Improve wallet address formatting on key export screen
  • Improve logo spacing on connectWallet modal
  • Update fiat on-ramp copy
  • When using Coinbase Wallet on mobile, pass user back and forth between browser and wallet apps instead of using the wallet's in-app browser

1.36.0

  • Add support for MoonPay Fiat On-Ramp plugin
  • Move towards using static JSON-RPC providers

1.35.1

  • Fix behavior of onClose callback for transaction screen if user clicks outside the modal
  • Fix issue with switchChain caching the wallet's original chain on page load
  • Handle Zerion Wallet's hijacking of the MetaMask injected provider

1.35.0

  • Add support for using embedded wallets with a custom auth provider
  • Add a shim for eth_requestAccounts RPC for the embedded wallet

1.34.1

  • Fix broken link on "What is a wallet?"
  • Add optional support for turnstile CAPTCHA
  • Make all fields in ContractUIOptions config optional
  • Persist the embedded wallet's chain ID across browser sessions

1.34.0

  • Add support for Linea
  • Improve styling for Safari PWAs
  • Improve messaging for embedded wallet insufficient funds
  • Improve styling on when loading on mobile
  • Fix issue with gas estimation

1.33.1

  • Improve price display for transactions
  • Improve handling of zero-value transactions

1.33.0

  • Add wallet.switchChain, which works across external and embedded wallets
  • Update Phantom logo
  • Improve error handling when attempting to login when already authenticated
  • Add support for Celo and Avalanche

1.32.1

  • Further improvements to sendTransaction UI customization

1.32.0

  • Add Base support

1.31.0

  • Update OAuth allowlist rejection handling
  • Improved handshake between Privy SDK and iframe
  • Removed iframe message target specification
  • Improved interfaces for transaction UI Customizations
  • Tightened login modal design

1.30.4

  • Fix sizing of connect wallet modal when no logo is set
  • Update "Learn more about wallets" hyperlink

1.30.3

  • Fix issue with app logo vertical spacing
  • Add Sepolia support

1.30.2

  • Resolve issue connecting to the embedded wallet when using cookies
  • Launch the wallet recovery flow when requesting actions through the embedded EIP-1193 provider

1.30.1

  • Add loading state during embedded wallet creation
  • Narrow iframe messaging target
  • Fix race condition when fetching the nonce for SIWE
  • Fix issue where an embedded wallet would be created on login but the UI would hang
  • Fix an issue where walletProvider was sometimes undefined when checking if connected

1.30.0

  • Add a short delay before signing with MetaMask with WalletConnect to bypass issues with chain switching (awaiting upstream resolution)
  • Support signing UInt8Array messages
  • Fix inconsistent modal sizing bugs
  • Fix issue with wallet recovery flow for non-pinless wallets during headless message signing
  • Add headless sendTransaction
  • Remove AbortSignal.timeout (not supported in iOS < 16)
  • Add embedded wallet support for eth_signTypedData_v4

1.29.0

  • Reduce SDK log chattiness
  • Fix authenticated connect-only screen
  • Resolve issues with duplicate create embedded wallet calls
  • Fail fast when trying to link accounts for which there can only be one (sms, email, socials)
  • Fix issue with MetaMask wallet address not matching
  • Increase default request timeout
  • Increase default request retries
  • Fix an issue with wallet loginOrLink
  • Fix sendTransaction modal issue with non-Ethereum chains

1.28.4

  • Update WalletConnect dependencies to fix reliability issues

1.28.3

  • Fix bug where signature requests would hang indefinitely on React 17
  • Updates WalletConnect providers to support more JSON RPC methods
  • Remove dependency on crypto.randomUUID()

1.28.2

  • Fix useWallets hook to properly listen to user-triggered disconnects from MetaMask
  • Updates WalletConnect to support Privy's supported networks
  • Updates WalletConnect to clear sessions faster on logout calls
  • Updates the z-index of Privy modals to be arbitrarily high so that it is not hidden by any app UIs

1.28.1

  • Fix an issue where not depending on @walletconnect/modal would require build failures in certain build environments
  • Load only WalletConnect v2-compatible wallets in the mobile modal. This also resolves paging overflow on mobile

1.28.0

  • Migrate WalletConnect from v1.0 to v2.0. Learn more
  • Add support for Celo (mainnet and Alfajores testnet), FVM (mainnet and Calibration testnet), and Base (Goerli testnet)
  • Fix local development issue where React strict-mode duplicates calls to create embedded wallets
  • Fix UI issues related to embedded wallet gas estimation
  • Store wallet client information (MetaMask, Coinbase Wallet, Rainbow, etc.) used when connecting Ethereum accounts

1.27.0

  • Add support for embedded wallet creation without requiring the user to set a PIN/passcode
  • Set client-side cookies alongside our localStorage tokens for local development/testing purposes
  • Update wallet_switchEthereumChain to match standardized params
  • Fix issue with linking/login from the wallets array
  • Fix issue where cookies weren't being properly set

1.26.2

  • Switch from axios to ofetch
  • Fix some issues with gas estimation
  • Fix issue where the wallets array wasn't getting properly updated

1.26.1

  • Fixes related to connect-only support
  • wallets interface improvements
  • Resolved an issue causing performance problems for pages with the PrivyProvider loaded

1.26.0

  • Connect-only support
  • New wallets array interface
  • Deprecate setActiveWallet, getEthereumProvider, getEthersProvider, getWeb3jsProvider in favor of wallets array methods
  • Fix WalletConnect chain switching

1.25.1

  • Decrease package size
  • Fix issue where signMessage contents did not respect newlines
  • Help circumvent issue with Phantom not supporting certain chains
  • Fix an issue with internal modal rendering

1.25.0

  • Improved recovery when sending a transaction to the EIP1193 provider
  • Improved visuals on low dollar amounts in embedded wallet transactions
  • Internal rendering mechanism improvements

1.24.0

  • EIP-1193 provider for embedded wallets
  • Preliminary cookie support

1.23.2

  • Fix ethereum object checking
  • Properly clear query params during session transfer to in-app browsers (resolves an issue where a refresh of the page would show the signing modal again)
  • Fix an issue with client-side config checking for apps with only wallet login

1.23.1

  • Fix an issue where attempting to sign in with smart contract wallets would show an incorrect error
  • Improve error handling related to Phantom extension window.ethereum hijacking
  • Improved client-side login config error handling and warnings

1.23.0

  • Add support for client-side configuration of modal ordering, ToS & Privacy Policy, supported login methods
  • Support setting logo using img and svg elements
  • Fix an issue where no logo caused an odd visual layout
  • Rename PIN to passcode for embedded wallets
  • Add support for submitting transactions using embedded wallets

1.22.0

  • Enable support for Phantom wallet
  • Add sign-in with Apple
  • Allow override of API URL

1.21.0

  • Update styling of app logo
  • Improve MetaMask UX around setting active wallet when all wallets are disconnected
  • Include ToS & Privacy Policy on modal in mobile

1.20.3

  • Remove layout shifts from embedded wallet iframe
  • Allow user to escape modal on clicking out or hitting ESC

1.20.2

  • Improve embedded wallet recovery UIs

1.20.1

  • Improve embedded wallet UIs

1.20.0

  • Enable embedded wallet private key export
  • Fix Metamask getting stuck in app store during deep linking

1.19.0

  • Add support for dark mode, client-side logo config, and advanced theming configuration
  • Improved mobile Coinbase Wallet experience. If already logged in to the mobile browser, this session will be transferred to the Coinbase Wallet in-app browser
  • Fix issues with blank tabs appearing on some browsers (ie Firefox)

1.18.0

  • Improved mobile wallet connection flow
    • Switch to using WalletConnect for MetaMask on mobile
    • Better WalletConnect connection management
    • Split wallet connection and sign on mobile to reduce issues getting stuck in App Store
  • Embedded wallet recovery
  • Fix issues when unlinking with multiple wallets
  • Improve active wallet management
  • Add hover states to all buttons and clean up app color usage

1.17.0

  • Add option for automatic embedded wallet create flow after login
  • Fix issue with signing using WalletConnect after page is refreshed

1.16.1

  • Disable background scrolling when the modal is open
  • Fix user.wallet not getting set for embedded wallets if there is external wallet data in localStorage
  • Improve PIN entry for embedded wallets on mobile
  • Fix excessive WalletConnect loading that was hitting Infura a ton

1.16.0

  • Release embedded wallets!
  • Fix issue with long emails overflowing the modal
  • Fix height on wallet connection status screen to avoid reflows

1.15.0

  • Improved multi-wallet linking
  • Disable passwordless code autofill on non-mobile
  • Improved home screen when there's only one authentication option