Appearance
Releases
The release notes for the @privy-io/react-auth
SDK.
1.60.7
- Read server config flags on
createWallet
- Improve OAuth provider errors
- Bump mipd dependency from
0.0.5
to0.0.7
1.60.6
- Avoid auto-closing login modal when access token is deleted from storage
- Update gas estimation to prioritize including the
from
address
1.60.5
- Fix SDK
authenticated
anduser
state when access token is cleared
1.60.4
- Minor internal improvements
1.60.3
- Add Polygon Amoy Privy RPC endpoints
- Improve request retry logic
1.60.2
- Fix edge case when signing in with multiple Coinbase wallets
- Fix bug preventing Passkey retries due to browser user intent requirements
- Visual adjustments for Passkey login and link
1.60.1
- Expose
status
of login flow fromuseLoginWithSms
hook - Fix issue with headless login where
link
was called whenlogin
should be
1.60.0
New features
- Add login with passkey (configurable via Dashboard)
Bug fixes
- Disable wallet link in CBW
- Don't show login modal when awaiting ready and already authenticated
- Remove extra redirect prompt during sign in with external wallets
- Add support for BSC and Sapphire transactions when using wagmi
Visual improvements
- Improve user limit reached sign-in error
- Fix focus outline on phone number and email inputs
1.59.9
- Add support for Berachain Artio
1.59.8
- Add IDs to modal content and backdrop
- Update gas estimation to support ERC20 contracts that require a
.from
parameter - Pin Coinbase Wallet SDK to
3.9.3
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 ifsupportedChains
are set without adefaultChain
- 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
fromuseWallets
when phantom is inwalletList
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
, andokx_wallet
- Expose
useFundWallet
to fund external wallets - Update gas estimation logic
Bug fixes
- Fix
ready
fromuseWallets
not getting set totrue
- Fix wallets array not updating after disconnecting Coinbase Wallet
- Update config to override
appearance.walletList
withloginMethodsAndOrder
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
fromuseWallets
not getting set totrue
- 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 adefaultChain
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
tofid
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
toChain
type for overriding RPC urls - Update
useWallets
to throw when used outside ofPrivyProvider
- 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
andsupportedChains
types to handleviem
's updatedChain
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
andonAccessTokenRemoved
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 ofwallet_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.warn
ings 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
- New Modal UI, try it out on our live demo
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 tonumber
- Fix embedded wallet creation after OAuth by waiting for iframe to load
- Deprecate
WalletWithMetadata.chainId
in favor ofBaseConnectedWallet.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
anddefaultChain
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
andsendTransaction
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 insendTransaction
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 alreadyauthenticated
- 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
toofetch
- 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 ofwallets
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