> ## Documentation Index
> Fetch the complete documentation index at: https://docs.privy.io/llms.txt
> Use this file to discover all available pages before exploring further.

# React changelog

> Release notes and changelog for the Privy React SDK — track new features, bug fixes, and breaking changes.

The release notes for the [**`@privy-io/react-auth`**](https://www.npmjs.com/package/@privy-io/react-auth) SDK.

<Info>
  On an older version of the SDK? Check out our migration guides to help you upgrade:
  <br />- [V3 Migration Guide](/basics/react/advanced/migrating-to-3.0)
  <br />- [V2 Migration Guide](/basics/react/advanced/migrating-to-2.0)
</Info>

<Update label="3.33.1">
  ### Added

  * Added self-healing for server-cookie apps when localStorage is empty but httpOnly cookies remain valid.

  ### Fixed

  * Fixed Tempo hooks to include type 118 for Tempo-shaped transactions.
</Update>

<Update label="3.33.0">
  ### Added

  * Added ERC-1271 signature support to x402 payment signing via the `signatureOptions` option.
  * Added Telegram OIDC support via `useLoginWithOAuth({provider: 'telegram'})`.
  * Added an experimental prop to configure the Privy API URL.
  * Added support for Solana off-chain messages.

  ### Fixed

  * Fixed noisy console logs when analytics events fail due to CORS blocks or ad blockers.
  * Disabled fiat onramp flow when there are no quotes.

  ### Dependencies

  * Update `@privy-io/js-sdk-core` to `0.68.0`.
</Update>

<Update label="3.32.2">
  ### Fixed

  * Fixed external wallets not switching to `defaultChain` on connect when using the login/connect modal.

  ### Dependencies

  * Update `@privy-io/js-sdk-core` to `0.67.4`.
</Update>

<Update label="3.32.1">
  ### Fixed

  * Fix cross-tab follower returning null when leader's refresh produces no visible token.
  * Fix infinite "reconnecting" bug in `@privy-io/wagmi` by updating `useWallets` to re-render less aggressively.
</Update>

<Update label="3.32.0">
  ### Added

  * Added support for Stripe in the `useFiatOnramp` flow.

  ### Fixed

  * Fixed wallet connection failures for locked wallets.

  ### Dependencies

  * Update `@privy-io/js-sdk-core` to `0.67.3`.
</Update>

<Update label="3.31.0">
  ### Added

  * Added `clear` to `useMfa` hook to allow invalidating the cached MFA token.

  ### Fixed

  * Fixed connector errors losing the original error message due to generic fallback string.

  ### Dependencies

  * Update `@privy-io/js-sdk-core` to `0.67.2`.
</Update>

<Update label="3.30.0">
  ### Added

  * Added `sponsor` option to Tempo `useSendTransaction` hook.
  * Allow viem accounts returned by `toViemAccount` to compose with viem Tempo wallet clients.

  ### Fixed

  * Fixed SSR hydration mismatch in `UserPill` and `WalletsDialog` components.
  * Fixed checkout error propagation surfacing SDK noise instead of real error. Added ACH payment support via `us_bank_account`.

  ### Improvements

  * Added double-click protection to `WalletButton` to prevent multiple connection attempts on rapid clicks.
  * Improved payment method display in fiat onramp flow.
  * Removed Metamask from auto-connect list.

  ### Dependencies

  * Update `@privy-io/js-sdk-core` to `0.67.1`.
</Update>

<Update label="3.29.2">
  ### Fixed

  * Fixed MFA verification code input not triggering the mobile keyboard due to fixed positioning interfering with viewport scroll behavior.
  * Fixed module scope crypto call in cross-tab-sync plugin.

  ### Dependencies

  * Update `@privy-io/js-sdk-core` to `0.67.0`.
</Update>

<Update label="3.29.1">
  ### Dependencies

  * Update `@privy-io/js-sdk-core` to `0.66.0`.
</Update>

<Update label="3.29.0">
  ### Added

  * Add headless `useDepositAddress` hook via new `/hooks` entrypoint.

  ### Improvements

  * Updated deposit config to use CAIP-2 string keys for chain lookups instead of numeric chain IDs.

  ### Dependencies

  * Update `viem` to `2.52.0`.
  * Update `@privy-io/js-sdk-core` to `0.65.4`.
</Update>

<Update label="3.28.0">
  ### Added

  * Added `useDepositAddress` hook to the public SDK exports.

  ### Dependencies

  * Update `viem` from `v2.50.4` to `v2.51.2`.
  * Update `@privy-io/js-sdk-core` to `0.65.3`.
</Update>

<Update label="3.27.2">
  ### Fixed

  * Fix for initializing wallet proxy in `useSignWithUserSigner`.
  * Fix Phantom wallet WalletConnect behavior.

  ### Dependencies

  * Update `viem` from `v2.48.11` to `v2.50.4`.
  * Update `@privy-io/js-sdk-core` to `0.65.2`.
</Update>

<Update label="3.27.1">
  ### Improvements

  * Added TokenPocket to auto connect.
</Update>

<Update label="3.27.0">
  ### Added

  * Added support for Tempo (type 118) transactions:
    * `useSendTransaction` hook from the `@privy-io/react-auth/tempo` entrypoint.
    * `useSignTransaction` hook from the `@privy-io/react-auth/tempo` entrypoint.

  ### Dependencies

  * Update `viem` from `v2.47.12` to `v2.48.11`.
  * Update `@privy-io/js-sdk-core` to `0.65.0`.
</Update>

<Update label="3.26.1">
  ### Improvements

  * Internal improvements.

  ### Dependencies

  * Update `@privy-io/js-sdk-core` to `0.64.0`.
</Update>

<Update label="3.26.0">
  ### Added

  * Return `error` from `usePrivy` on initialization failures.

  ### Dependencies

  * Update `@privy-io/js-sdk-core` to `0.63.0`.
</Update>

<Update label="3.25.0">
  ### Added

  * Added headless `useLinkEmail` and `useLinkPhone` hooks.
  * Added a `useLinkWithOAuth` hook for headlessly linking OAuth provider accounts to an authenticated user.
</Update>

<Update label="3.24.0">
  ### Added

  * Add `config.scriptNonce` to `PrivyProvider` for forwarding a CSP nonce to third-party loaders that need it.
  * Add an optional passkey `name` for link flows.
  * Add support for the Biconomy Nexus smart account client.

  ### Dependencies

  * Update `@privy-io/js-sdk-core` to `0.62.0`.
</Update>

<Update label="3.23.1">
  ### Improvements

  * Support seed phrase export for Pearl Taproot wallets.

  ### Dependencies

  * Update `@privy-io/api-types` to `0.10.0`.
  * Update `@privy-io/js-sdk-core` to `0.61.3`.
  * Update `@privy-io/routes` to `0.0.13`.
</Update>

<Update label="3.23.0">
  ### Improvements

  * Update cross-tab sync plugin to handle multi-tab refresh logic
  * Fixed `exportWallet` promise hanging when user closes export modal via X button during wallet connection.
  * Prompt wallet connection after browser permission when using MWA for connection

  ### Dependencies

  * Update `@privy-io/js-sdk-core` to `0.61.2`
</Update>

<Update label="3.22.2">
  ### Improvements

  * Improved error screen for send transaction experience.
  * Add support for more currencies to `useFiatOnramp`.
  * Improve error handling when sponsoring with EOA wallets.

  ### Dependencies

  * Update `viem` to `v2.47.12`.
  * Update `@privy-io/js-sdk-core` to `0.61.1`.
</Update>

<Update label="3.22.1">
  ### Improvements

  * Internal build improvements.
</Update>

<Update label="3.22.0">
  ### Added

  * Add `useAuthorizationSignature` support to sign over a `Uint8Array`.

  ### Improvements

  * Support appending `dataSuffix` for gas sponsored transactions.

  ### Dependencies

  * Update `@privy-io/js-sdk-core` to `0.61.0`.
</Update>

<Update label="3.21.3">
  ### Improvements

  * Added optional `hideWalletAddress` parameter to `useExportWallet` to hide the wallet address section in the key export modal.

  ### Dependencies

  * Update `@privy-io/api-types` to `0.9.0`.
  * Update `@privy-io/js-sdk-core` to `0.60.9`.
  * Update `@privy-io/routes` to `0.0.11`.
</Update>

<Update label="3.21.2">
  ### Added

  * Support seed phrase export for bitcoin taproot wallets.
</Update>

<Update label="3.21.1">
  ### Improvements

  * Internal dependency updates.
</Update>

<Update label="3.21.0">
  ### Added

  * Added `useAcceptTerms` hook for whitelabel integrations to accept terms on behalf of users without requiring the Privy modal.

  ### Fixed

  * Fix UI bug in fiat onramp flow.
</Update>

<Update label="3.20.0">
  ### Added

  * Add `defaultSolanaRpcsPlugin` to provide support for default Solana RPCs.
  * Support `emailDomain` config in the Privy provider.

  ### Dependencies

  * Update `@privy-io/js-sdk-core` to `0.60.8`.
</Update>

<Update label="3.19.1">
  ### Fixed

  * Prevent submitting invalid email for auth.
  * Fix MoonPay bug when back button clicked.
</Update>

<Update label="3.19.0">
  ### Added

  * Support USDC for custom ERC20 tokens when using wallet transfer onramping.

  ### Fixed

  * Fixed a rare edge case where wallets don't appear in `useWallets` array.
  * Fixed plus email validation to show error and disable submit when `disablePlusEmails` is enabled.
  * Fixed wallet list ordering.
  * Fixed policy bypass for Solana TEE wallets.

  ### Improvements

  * Catch `reth` error for UI modals.
  * Add internal idempotency key when manually creating wallets when `createAdditional` is false.

  ### Dependencies

  * Update `@privy-io/js-sdk-core` to `0.60.7`.
  * Update `@privy-io/chains` to `0.1.3`.
  * Update `@privy-io/urls` to `0.0.4`.
</Update>

<Update label="3.18.0">
  ### Added

  * Integrated Farcaster Solana wallet support.
  * Auto-connect MetaMask Solana wallet.
  * Added Telegram authentication method.

  ### Bug Fixes

  * Fixed some Solana sponsored transactions incorrectly requiring a SOL balance.
  * Fixed some eth\_signTypedData requests not working for certain wallets.
  * Fixed WalletConnect session loss on page refresh by serializing provider initialization and searching the `SignClient` for the correct session.
  * Fixed conflicting gas parameters returned by Viem's `prepareTransactionRequest` when the RPC supports `eth_fillTransaction`.
  * Fixed WalletConnect loop when selected a second time for wallet connection.
  * Fixed `onUserExited` callback not firing after Coinbase onramp funding flow completion.
  * Small UI fixes in export modal.

  ### Dependencies

  * Update `viem` to `v2.47.4`.
  * Update `@privy-io/js-sdk-core` to `0.60.6`.
  * Update `@privy-io/api-types` to `0.7.0`.
  * Update `@privy-io/routes` to `0.0.9`.
</Update>

<Update label="3.17.0">
  ### Added

  * Added `linkOAuth` and `unlinkOAuth` for additional OAuth providers.

  ### Bug Fixes

  * Fix passkey MFA re-enrollment bug after unenroll.
  * Fix error when using Solana wallet in some edge cases.

  ### Dependencies

  * Update `@privy-io/js-sdk-core` to `0.60.5`
  * Update `@privy-io/routes` to `0.0.8`
</Update>

<Update label="3.16.0">
  ### Added

  * Allow specifying additional signers when creating wallets with useCreateWallet

  ### Bug Fixes

  * Fix TEE migration flow for users enrolled in MFA
  * Align CrossAppButton style/sizing with other LoginButtons
  * Fix incorrectly hexlified string values for data
  * Do not auto create a wallet if the user has imported wallets

  ### Dependencies

  * Update `@privy-io/js-sdk-core` to `0.60.4`
  * Update `@privy-io/cross-app-connect` to `0.5.4`
</Update>

<Update label="3.15.0">
  ### Added

  * Add `createWalletCreationOnLoginPlugin` to gate embedded wallet creation: when registered, its `shouldCreateWallet` predicate is checked alongside `createOnLogin` config
  * Detect TIP20 `transferWithMemo` transactions in confirmation modal

  ### Improvements

  * Improve default currency handling for bank funding

  ### Dependencies

  * Update `@privy-io/js-sdk-core` to `0.60.3`
  * Update `@privy-io/chains` to `0.1.2`
</Update>

<Update label="3.14.1">
  ### Added

  * Add Monad funding support

  ### Dependencies

  * Update `@privy-io/js-sdk-core` to `0.60.2`
</Update>

<Update label="3.14.0">
  ### Added

  * Add cross-tab-sync plugin for syncing user and authentication states across tabs
  * Extend `toViemAccount` utility to support `signAuthorization` and raw hex signing for `signMessage`
  * Add USDC support for HyperEVM

  ### Bug Fixes

  * Fix WalletConnect links not deeplinking correctly on iOS
  * Fix creating wallets for users with an existing user-owned-recovery based wallet

  ### Improvements

  * Improve TEE auto-migration reliability by limiting retry attempts to 3 per session

  ### Dependencies

  * Update `viem` to `2.46.1`
  * Update `@privy-io/js-sdk-core` to `0.60.1`
</Update>

<Update label="3.13.1">
  ### Added

  * Add wallet export support for all extended chain types
</Update>

<Update label="3.13.0">
  ### Added

  * Fixes for landing screen

  ### Bug Fixes

  * Fix invalid DOM nesting console error
  * Fix "Choose another method" button not responding during MFA verification

  ### Dependencies

  * Update `@privy-io/js-sdk-core` to `0.60.0`
  * Update `@privy-io/api-base` to `1.8.2`
</Update>

<Update label="3.12.0">
  ### Bug Fixes

  * Fix automatic wallet creation to not allow multiple wallets to be created
  * Fix automatic wallet creation logic when using custom JWT authentication
  * Fix login method validation to recognize custom JWT auth and Twitch as valid login methods

  ### Dependencies

  * Update `viem` to `2.44.2`
  * Update `@privy-io/api-types` to `0.4.0`
  * Update `@privy-io/js-sdk-core` to `0.59.0`
  * Update `@privy-io/ethereum` to `0.0.7`
  * Update `@privy-io/routes` to `0.0.6`
</Update>

<Update label="3.11.0">
  ### Bug Fixes

  * Reset CAPTCHA token on failure for headless login hooks
  * Fix wallet list display
  * Privy otp modal jump fix
  * Fix typo in Privy Modal

  ### Dependencies

  * Update `@privy-io/js-sdk-core` to `0.58.7`
  * Update `@privy-io/wagmi` to `3.0.0`
</Update>

<Update label="3.10.2">
  ### Bug Fixes

  * Fix Starknet and Sui addresses being included in EVM address comparison
  * Fix the funding modal not closing when Solana RPCs aren't defined
  * Fix to login buttons list to respect wallet ordering from wallet list in config
  * Fix hCaptcha issue in headless mode
  * Fix dark theme Tiktok logo

  ### Dependencies

  * Update `@privy-io/js-sdk-core` to `0.58.6`
  * Update `@privy-io/api-base` to `1.8.0`
</Update>

<Update label="3.10.1">
  ### Bug Fixes

  * Fix loginWithHeadlessOAuth for Chrome extension integrations
</Update>

<Update label="3.10.0">
  ### Bug Fixes

  * Fix OKX wallet mobile deeplink to attempt direct app opening before redirecting to download page

  ### Improvements

  * Add download link for Binance wallet extension along with WC QR in desktop
  * Introduce `useSigner` hook for adding signers to a wallet

  ### Dependencies

  * Upgrade `viem` to `2.43.1`
  * Update `@privy-io/js-sdk-core` to `0.58.5`
  * Update `@privy-io/ethereum` to `0.0.5`
</Update>

<Update label="3.9.1">
  ### Added

  * Add phantom to default wallet list

  ### Improvements

  * Fix issue with Phantom not being displayed in connect wallet list if uninstalled

  ### Deprecations

  * Mark `loginMethodsAndOrder` as deprecated

  ### Bug Fixes

  * Improve handling of WalletConnect when using deprecated `loginMethodsAndOrder`
  * Fix OKX Wallet showing up when chain type is set to ethereum-only

  ### Dependencies

  * Update `@privy-io/js-sdk-core` to `0.58.4`
  * Update `@privy-io/ethereum` to `0.0.4`
  * Update `viem` to `2.42.1`
</Update>

<Update label="3.9.0">
  ### Added

  * Add support for hCaptcha

  ### Improvements

  * Fix Solana WalletConnect mobile issues
  * Fallback to WalletConnect when wallet deeplinks are unavailable
  * Add support for different WalletConnect Solana wallets
  * Fix WalletConnect chain filtering
  * Fix wallet connection retry button
  * Add cross app support to `loginMethods` array
  * Fix funding screen to not display USD value for USDC on Solana
  * Add better error messaging for Solana wallets with no accounts
  * Define mobile Jupiter wallet behavior
  * Redirect to wallet's website if wallet is not installed on mobile

  ### Dependencies

  * Update `@privy-io/js-sdk-core` to 0.58.3
  * Update `@privy-io/api-base` to 1.7.3
</Update>

<Update label="3.8.1">
  ### Improvements

  * Add jupiter as a wallet list entry
  * Return `FundingResult` object from `fundWallet`
  * Add success tracking for external wallet transfer funding method on Ethereum
  * Improve how smart wallet config is loaded
  * Add kraken\_wallet as a wallet list entry
  * Improve auto-migration trigger reducing duplicate requests

  ### Dependencies

  * Update `@privy-io/js-sdk-core` to `0.58.2`
  * Update `@privy-io/routes` to `0.0.4`
  * Update `@privy-io/api-base` to `1.7.2`
</Update>

<Update label="3.8.0">
  ### Improvements

  * Improve code splitting by dynamically importing screens

  ### Bug Fixes

  * Fix for wallet connection retry
  * Show auth screens before ready
  * Expand semver range for solana dependencies to include any future version
  * Handle custom gas sponsorship error message

  ### Dependencies

  * Update `lucide` to `0.554.0` from `0.383.0`
  * Update `@privy-io/js-sdk-core` to `0.58.1`
  * Update `@privy-io/routes` to `0.0.3`
</Update>

<Update label="3.7.0">
  ### Added

  * Add global `getIdentityToken` function
  * Add `useX402Fetch` hook

  ### Improvements

  * Support migrating imported wallets to TEE
  * Update behavior of `fundWallet` wallet extension
  * Upgrade `viem` to `2.38.6`

  ### Bug Fixes

  * Failover when EVM connector provides invalid account address
  * Fix Bitget wallet being filtered out in wallet list

  ### Dependencies

  * Update `@privy-io/js-sdk-core` to `0.58.0`
</Update>

<Update label="3.6.1">
  ### Improvements

  * Fix WalletConnect issues related to Phantom ethereum
  * Deprecate `rabby_wallet` from the wallet list
  * Fix uninitialized variable usage for apps using webpack
  * Fixes an issue where users are unable to connect a wallet after exiting the login flow
  * Fix WalletConnect UIs
  * Detect solana connected accounts manually when connecting and disconnecting instead of relying in the `change` event

  ### Dependencies

  * Update `@privy-io/js-sdk-core` to `0.57.1`
  * Update `@privy-io/routes` to `0.0.2`
  * Update `@privy-io/chains` to `0.0.5`
  * Add `@privy-io/popup` dependency
</Update>

<Update label="3.6.0">
  ### Improvements

  * Add experimental `textLocalization` config to customize wallet connection UI strings
  * Support MetaMask and Jupiter Solana wallet auto-connect
  * Initialize `sendAndConfirmSponsoredTransaction` before conditional use

  ### Dependencies

  * Update `@privy-io/js-sdk-core` to `0.57.0`
</Update>

<Update label="3.5.1">
  ### Dependencies

  * Update `@privy-io/js-sdk-core` to `0.56.5`
  * Update `@privy-io/public-api` to `2.53.0`
</Update>

<Update label="3.5.0">
  ### Improvements

  * Add support for WalletConnect Solana
  * Update authenticated state when access token is refreshed
  * Copy WalletConnect link in mobile and use wallet listing deeplink
  * Add `onUserExited` callback to Solana `useFundWallet` hook
  * Add `walletClientType` and `connectorType` parameters to `loginWithSiwe` and `loginWithSiws` hooks
  * Update description of Solana `importWallet` function
  * Fix `connectOrCreate` `onSuccess` callback
  * Add support for exporting Spark wallets
  * Fetch WalletConnect listings when needed based on `walletList` config

  ### Bug Fixes

  * Remove comment about ordering of RPC selection

  ### Dependencies

  * Update `@privy-io/js-sdk-core` to `0.56.4`
  * Update `@privy-io/chains` to `0.0.4`
  * Update `@privy-io/public-api` to `2.52.0`
  * Update `@walletconnect/ethereum-provider` to `2.22.4`
  * Add `@walletconnect/universal-provider`
</Update>

<Update label="3.4.1">
  ### Improvements

  * Update captcha logic for passkey login
  * Add support for configuring passkey registration hints
  * Hide Solana wallets where there is no detected connector

  ### Dependencies

  * Update `@privy-io/public-api` to `2.51.0`
  * Update `@privy-io/js-sdk-core` to `0.56.3`
  * Update `@marsidev/react-turnstile` to `1.3.1`
  * Update `@simplewebauthn/browser` to `v13.2.2`
</Update>

<Update label="3.4.0">
  ### Improvements

  * Add gas sponsored transactions in Solana
  * Undeprecate `useSolanaLedgerPlugin`

  ### Bug Fixes

  * Rename bitkeep to bitget\_wallet for wallet list
  * Fix Solana wallet detection when `walletChainType` is set to solana-only
  * Reset auth state statuses on logout

  ### Dependencies

  * Update `@privy-io/public-api` to `2.50.0`
  * Update `@privy-io/js-sdk-core` to `0.56.2`
  * Update `@privy-io/chains` to `0.0.3`
</Update>

<Update label="3.3.0">
  ### Improvements

  * Smart wallet provider now uses embedded wallet at HD index 0
  * Add Twitch as a login method
  * Add custodial wallets endpoint support

  ### Bug Fixes

  * Only allow registration of Solana connectors for `useWallets` from Solana

  ### Dependencies

  * Update `@privy-io/public-api` to `2.49.0`
  * Update `@privy-io/js-sdk-core` to `0.56.1`
</Update>

<Update label="3.2.1">
  ### Improvements

  * Support USDC on Avalanche in funding flows

  ### Dependencies

  * Update `@privy-io/public-api` to `2.48.0`
  * Update `@privy-io/js-sdk-core` to `0.56.0`
</Update>

<Update label="3.2.0">
  ### Improvements

  * Add custom OAuth account support for BYO auth providers
  * Add finalized transaction status

  ### Dependencies

  * Update `@privy-io/public-api` to `2.47.0`
  * Update `@privy-io/js-sdk-core` to `0.55.4`
</Update>

<Update label="3.1.0">
  ### Improvements

  * Update Backpack universal deeplink
  * Allow multiple inputs for Solana signature requests using `signTransaction` and `signMessage`
  * Add additional signers on import wallet
  * Update `useImportWallet` to return the newly imported wallet correctly when importing multiple wallets for a given user.
  * Support multiple imported wallets

  ### Bug Fixes

  * Fix WalletConnect usage and fallback for funding modal flow
  * Fix trigger for Telegram auth callbacks
  * Fix `connectOrCreate` method
  * Fix update email form icon
  * Fix passkey verification button
  * Improve copy for Coinbase wallet connect

  ### Dependencies

  * Update `@privy-io/urls` to `0.0.2`
  * Update `@privy-io/public-api` to `2.46.0`
  * Update `@privy-io/api-base` to `1.7.1`
  * Update `@privy-io/js-sdk-core` to `0.55.3`
</Update>

<Update label="3.0.1">
  ### Dependencies

  * Update `@privy-io/js-sdk-core` to `0.55.2`
  * Update `@privy-io/public-api` to `2.45.2`
</Update>

<Update label="3.0.0">
  <Warning>
    **Breaking Changes** - read the V3 migration guide
    [here](/basics/react/advanced/migrating-to-3.0)!
  </Warning>

  ### Major/Breaking Changes

  * Add new hooks `useWallets`, `useCreateWallet`, and `useExportWallet` to replace `useSolanaWallets`
  * Remove `solanaClusters` from the `PrivyProviderConfig` → `config.solana.rpcs`
  * Update `useSendTransaction` → `useSignAndSendTransaction`
  * Replaces `ConnectedSolanaWallet` with `ConnectedStandardSolanaWallet`
  * Remove `solanaWallet.loginOrLink()` (use `useLoginWithSiws` / `useLinkWithSiws`)
  * Update interface for `fundWallet` functions
  * Remove `suggestedAddress` (use `description`)
  * Remove `detected_wallets` as `walletList` option
  * Remove legacy Moonpay funding config. Configure via `PrivyProviderConfig.fundingMethodConfig`
  * Remove `embeddedWallets.createOnLogin` and `embeddedWallets.requireUserPasswordOnCreate`
  * Replace `useLoginToFrame` → `useLoginToMiniApp`
  * Replace `useSignAuthorization` → `useSign7702Authorization`
  * Replace `useSetWalletPassword` → `useSetWalletRecovery`
  * Remove `verifiedAt` on linked accounts

  ### Improvements

  * Fix `isModalOpen` to account for MFA
  * Update the POL token codes for Moonpay onramping

  ### Dependencies

  * Update `@solana/kit` to v3
  * Update `@privy-io/public-api` to `2.45.1`
  * Update `@privy-io/js-sdk-core` to `0.55.1`
  * Update `@privy-io/api-base` to `1.7.0`
</Update>

<Update label="2.25.0">
  ### Improvements

  * Add custom oauth redirect url in provider to support capacitor and ionic authentication
  * Add support for zksync era for abstract
  * Add bitkeep to default wallet list
  * Update error message when funding with ERC20 and insufficient gas
  * Add Base Account to default wallet list
  * Add support for sponsored param for evm send transaction
  * Convert prepared message to a `Uint8Array` instead a `Buffer` for wallet compatibility
  * Update MFA verification screen
  * Add Solana Mobile Wallet Adapter to the list of clients that support auto connect
  * Fix `useLoginWithSiws` token storage
  * Fix headless `oauth` account linking

  ### Dependencies

  * Update internal dependencies
  * Upgrade `@abstract-foundation/agw-client` to `1.9.1`
  * Update `@privy-io/public-api` to `2.45.0`
  * Update `@privy-io/js-sdk-core` to `0.55.0`
  * Update `@privy-io/api-base` to `1.7.0`
</Update>

<Update label="2.24.0">
  ### Improvements

  * Hooks for Solana standard wallets: `useStandardSignMessage`, `useStandardSignTransaction`, `useStandardSignAndSendTransaction`

  ### Dependencies

  * Update `@privy-io/public-api` to `2.44.2`
  * Update `@privy-io/js-sdk-core` to `0.54.2`
</Update>

<Update label="2.23.0">
  ### Improvements

  * Add `useLoginWithSiws` and `useLinkWithSiws` hook
  * Separate connect and sign calls for wallets connected via Solana MWA

  ### Dependencies

  * Update `@privy-io/js-sdk-core` to `0.54.1`
  * Update `@privy-io/public-api` to `2.44.1`
</Update>

<Update label="2.22.0">
  ### Improvements

  * Updated UI for several screens
  * Add ConnectedStandardSolanaWallet to js-sdk-core
    * Add useConnectedStandardSolanaWallets hook to react-auth
    * Deprecate ConnectedSolanaWallet, useSolanaWallets and useStandardSolanaWallets
  * Expose signTransaction on useCrossAppAccounts

  ### Bug Fixes

  * Deprecate solanaLedgerPlugin
  * Support chrome extensions using react-auth
  * Patch wallet indicator and add virtualization to connect wallets list

  ### Dependencies

  * Update `@privy-io/api-base` to `1.6.1`
  * Update `@privy-io/public-api` to `2.44.0`
  * Update `@privy-io/js-sdk-core` to `0.54.0`
</Update>

<Update label="2.21.4">
  ### Improvements

  * Add wallet list entry `binanceus`
  * Fix issue where connect wallet screen is shown when connecting a wallet and authenticated
  * Update WalletConnect to `2.21.7` improve deeplink experience on mobile and QR compatibility on desktop
  * Add `wallet_connect_qr` to as a wallet option to show explicit WalletConnect button
</Update>

<Update label="2.21.3">
  ### Improvements

  * Add ability to customize title on funding method selection screen

  * Fix dark theme background on info banner

  * Fix polygon native currency funding

  * Support key import for TEE-execution wallets

  * Update `@privy-io/public-api` to `2.43.1`

  * Update `@privy-io/js-sdk-core` to `0.53.4`
</Update>

<Update label="2.21.2">
  ### Improvements

  * Expose passkey public key
  * Update `@privy-io/public-api` to `2.43.0`
  * Update `@privy-io/js-sdk-core` to `0.53.3`
</Update>

<Update label="2.21.1">
  ### Improvements

  * Update message on user limit reached screen
  * Remove back button on `linkWallet` flow
  * Format tokens with decimals in send transaction screen
  * Update `@privy-io/js-sdk-core` to `0.53.2`
</Update>

<Update label="2.21.0">
  ### Improvements

  * Add `useMigrateWallets` hook for wallet migration

  ### Bug Fixes

  * Deprecate `useLoginToFrame` and add `useLoginToMiniApp` for Farcaster Mini App authentication
    * DEPRECATED: `useLoginToFrame`, `UseLoginToFrameInterface`, and `LoginToFrame` type are now deprecated
    * NEW: Added `useLoginToMiniApp`, `UseLoginToMiniAppInterface`, and `LoginToMiniApp` type for Farcaster Mini App authentication
    * Migration guide: Replace all calls to `*Frame` with `*MiniApp`
  * Allow exporting of imported wallets if address is specified
  * Fix `useConnectWallet` callbacks
  * Expand `useCreateWallet` chainType options

  ### Dependencies

  * Update `@privy-io/public-api` to `2.41.0`
  * Update `@privy-io/js-sdk-core` to `0.53.1`
</Update>

<Update label="2.20.0">
  ### Improvements

  * Support Coinbase smart wallet v1.1
  * Add version to smart wallet accounts
  * Update branding for Base account
  * Update `@privy-io/js-sdk-core` to `0.53.0`
  * Update `@privy-io/public-api` to `2.40.1`

  ### Bug Fixes

  * Update `@base-org/account` to `1.1.0` to remove `@wagmi/core` as a required peer dependency
</Update>

<Update label="2.19.3">
  ### Improvements

  * Upgrade and pin `@walletconnect/ethereum-provider` to `2.21.5`
  * Update `@privy-io/js-sdk-core` to `0.52.10`
</Update>

<Update label="2.19.2">
  ### Bug Fixes

  * Fix SIWE login issue
</Update>

<Update label="2.19.1">
  ### Bug Fixes

  * Fix Base Account not auto-connecting

  ### Improvements

  * Add support for SIWS and cross-app account transfers
  * Added hook to get the Base Account SDK instance (useBaseAccountSdk)
  * Update `@privy-io/public-api` to `2.40.0`
  * Update `@privy-io/js-sdk-core` to `0.52.9`
</Update>

<Update label="2.19.0">
  ### Improvements

  * Support Base Account SDK.
  * Added new hook to connect a Base Account (useConnectBaseAccount)
  * Update EVM sendTransaction to not dual-prepare transaction when using Privy UIs
  * Update `@privy-io/js-sdk-core` to `0.52.8`
  * Update `@privy-io/public-api` to `2.39.2`
</Update>

<Update label="2.18.2">
  ### Improvements

  * Update Wallet Connect to WalletConnect in the UIs
  * Update `@privy-io/js-sdk-core` to `0.52.7`
  * Update `@privy-io/public-api` to `2.39.1`
</Update>

<Update label="2.18.1">
  ### Improvements

  * Fix Brave wallet connector
  * Update MFA enrollment options screen
  * Remove token duplications in Send Transaction screens
  * Update `@privy-io/public-api` to `2.39.0`
  * Update `@privy-io/js-sdk-core` to `0.52.6`
</Update>

<Update label="2.18.0">
  ### Improvements

  * Add `toViemAccount` utility to create a `viem` `Account` instance from a connected wallet
  * New UI for wallet authentication landing screen
  * New wallet login and link experience
  * Rename Warpcast to Farcaster
  * Add "All" before NFT name and change subtitle when performing "setApprovalForAll"
  * Make "To" field copyable in Send Transaction screen
  * Fix `importWallet` "invalid hook call" bug
  * Solana EOAs supported in Privy wallet hooks (e.g. `useSignMessage`)
  * Update `@privy-io/public-api` to `2.38.0`
  * Update `@privy-io/js-sdk-core` to `0.52.5`
</Update>

<Update label="2.17.3">
  ### Bug Fixes

  * Fix references to Line as LINE
  * Fix headless signing of Solana transactions
  * Fix list of detected Solana wallets
  * Fix mobile deeplinking for Solana wallets
  * Show Eth balance for ERC-20 approval transactions

  ### Improvements

  * Show ERC20 token balance in send transaction screen
  * Minor copy updates to MFA verification screen
  * Patch wallet indicator and add virtualization to connect wallets list
  * Fix web3js reference docs links
  * Update `@privy-io/js-sdk-core` to `0.52.4`
  * Update `@privy-io/public-api` to `2.37.1`
</Update>

<Update label="2.17.2">
  ### Improvements

  * Update `@privy-io/js-sdk-core` to `0.52.3`
</Update>

<Update label="2.17.1">
  ### Improvements

  * Update `@reown/appkit` to `1.7.11`
  * Update `@privy-io/js-sdk-core` to `0.52.2`
</Update>

<Update label="2.17.0">
  ### Improvements

  * Update `useConnectWallet` to show all supported wallets from WalletConnect
  * Support authentication with Line
  * Automatically close CAPTCHA after success
  * Update `@privy-io/js-sdk-core` to `0.52.1`
</Update>

<Update label="2.16.0">
  ### Improvements

  * Add new `useUpdateEmail` hook to headlessly update users email addresses.
  * Add description field to `connectWalletModalOptions`, deprecate `suggestedAddress`
  * Update `@abstract-foundation/agw-client` to `1.8.5`
  * Update `@privy-io/js-sdk-core` to `0.52.0`
</Update>

<Update label="2.15.1">
  ### Improvements

  * Update `@privy-io/js-sdk-core` to `0.51.1`
</Update>

<Update label="2.15.0">
  The `chainType` property under linked accounts of type: "wallet" **now includes additional values in the union**.
  This type union should always be considered open to expansion, as new chains are supported.
  [Learn more about chain support](/wallets/overview/chains).

  ### Improvements

  * Adds a new `/extended-chains` entrypoint for working on chains supported at the Tier 2 level.
    * Adds the `useCreateWallet` hook for creating a new wallet on extended chains.
    * Adds the `useSignRawHash` hook for signing a raw hash along the blockchain's cryptographic curve.
  * Adds the `useAuthorizationSignature` hook for generating an authorization signature on Privy API request payloads.
  * Update kernel metafactory usage to be optional.
  * Deprecate `useSignAuthorization` in favor of `useSign7702Authorization`.
  * Expanded the linked account types to include additional chains in linked wallets.
  * Update `@privy-io/js-sdk-core` to `0.51.0`
</Update>

<Update label="2.14.2">
  ### Improvements

  * Fix bug when displaying message to sign
  * Add Bridge USDC funding
  * Update dependencies for viem and others
  * Support eoa actions in eth wallet hooks
  * Update `@privy-io/js-sdk-core` to `0.50.11`
</Update>

<Update label="2.14.1">
  ### Improvements

  * Update `@privy-io/js-sdk-core` to `0.50.10`
</Update>

<Update label="2.14.0">
  ### Improvements

  * Improve error messages
  * Update `@privy-io/js-sdk-core` to `0.50.9`
</Update>

<Update label="2.13.8">
  ### Improvements

  * Allow WalletConnect appkit to be passed into the PrivyProvider
  * Update `@privy-io/js-sdk-core` to `0.50.8`

  ### Bug Fixes

  * Fix uncaught MFA canceled error
</Update>

<Update label="2.13.7">
  ### Improvements

  * Update `@privy-io/js-sdk-core` to `0.50.7`
</Update>

<Update label="2.13.6">
  ### Improvements

  * Update `@privy-io/js-sdk-core` to `0.50.6`
</Update>

<Update label="2.13.5">
  ### Improvements

  * Adjusts the wording in the 'Export wallet' UI
  * Update `@privy-io/js-sdk-core` to `0.50.5`
</Update>

<Update label="2.13.4">
  ### Improvements

  * Add `endPartnerName` to Coinbase OnRamp URL
  * Update `@privy-io/js-sdk-core` to `0.50.4`
</Update>

<Update label="2.13.3">
  ### Improvements

  * Adjusts the wording in the 'Export wallet' UI
  * Allow for chainId of 0 to be used to sign 7702 authorization signatures
  * Expose a new `useLinkJwtAccount` hook.
  * Update `@privy-io/js-sdk-core` to `0.50.3`
</Update>

<Update label="2.13.2">
  ### Improvements

  * Improve error message around wallet creation
  * Add WalletConnect to Solana auto-connect
  * Expose `linkPasskey` on `useLinkAccount` hook
  * Add wallet signature and RPC timeout update
  * Allow Coinbase wallet config to pass parameters through into Coinbase SDK
  * Update `js-sdk-core` to `0.50.2`

  ### Bug Fixes

  * Fetch wallets information from WalletConnect even if it was disabled

  ### Other Changes

  * Support export for unified wallets
</Update>

<Update label="2.13.1">
  ### Improvements

  * Add new library for ethereum utils
  * Fix bug blocking use of imported wallets
  * Fix WalletConnect auto-prompt
  * Fix social oauth method selection
  * Bugfix: correctly clear `disableSignup` flag during OAuth flow
  * Update `js-sdk-core` to `0.50.1`
</Update>

<Update label="2.13.0">
  ### Improvements

  * Add `useSolanaStandardWallets` hook for wallet standard Solana wallets
  * Fix bug for all detected wallets in the `useSolanaWallets` wallets array
  * Enable Ledger Solana authentication via `useSolanaLedgerPlugin` hook
  * Add policies to `addSessionSigners`
  * Undeprecate useDelegatedActions and useHeadlessDelegatedActions
  * Update `js-sdk-core` to `0.50.0`
</Update>

<Update label="2.12.0">
  ### Improvements

  * Add the `useSessionSigners` hook and deprecate `useDelegatedActions` and `useHeadlessDelegatedActions`
  * Update `js-sdk-core` to `0.48.3`
</Update>

<Update label="2.11.1">
  ### Improvements

  * Update `js-sdk-core` to `0.48.2`
</Update>

<Update label="2.11.0">
  ### Improvements

  * Decode Raydium and Jupiter swap instructions
  * Update paymaster sponsored check for smart wallets
  * Reduce console warnings caused by styled-components
  * Set USDC token when reading manual funding QR code
  * Add support for headless SIWE
  * Update `js-sdk-core` to `0.48.1`
</Update>

<Update label="2.10.0">
  ### Improvements

  * Improve Solana instruction decoding and UIs
  * Solana USDC onramp
  * Update `js-sdk-core` to `0.48.0`
</Update>

<Update label="2.9.1">
  ### Improvements

  * Update `js-sdk-core` to `0.47.3`
</Update>

<Update label="2.9.0">
  ### Improvements

  * Update Wallet Connect dependencies
  * Allow for custom block explorer URLs for solana clusters
  * Add Binance to wallet list
  * Update `js-sdk-core` to `0.47.2`

  ### Bug Fixes

  * Fix transaction preparation errors for batch transactions that succeed
</Update>

<Update label="2.8.3">
  ### Improvements

  * Update `js-sdk-core` to `0.47.1`

  ### Bug Fixes

  * Fix bug where signature requests from a wrapped `ethers` provider threw an error
  * Update background color of warning on receive funds screen
  * Improve Solana transaction UI
</Update>

<Update label="2.8.2">
  ### Bug Fixes

  * Fix bug where signatures were not being returned from headless `signTransaction` or `sendTransaction` calls
</Update>

<Update label="2.8.1">
  ### Bug Fixes

  * Fix `@solana/web3.js` expected in main bundle
  * Fix key export for apps with `color-scheme: dark` set in their CSS
  * Fix email entry flashing all login methods when options are passed to `useLogin`
</Update>

<Update label="2.8.0">
  ### Improvements

  * Improve `ready` flag from `useWallets` for unauthenticated states
  * Remove WalletConnect fetch when WalletConnect is not used
  * Update `js-sdk-core` to `0.46.4`

  ### Bug Fixes

  * Fix gas/nonce bug for Ethereum transactions
  * Fix UI bug for Solana transactions involving ATA instructions
</Update>

<Update label="2.7.2">
  ### Improvements

  * Internal improvements
  * Update `js-sdk-core` to `0.46.3`

  ### Bug Fixes

  * Support creating Solana wallets without Ethereum when user owned recovery is required
  * Fix UI issue where ERC20 amount was not set
</Update>

<Update label="2.7.1">
  ### Improvements

  * Update external transfer currency symbol to better reflect the asset
  * Consolidate chain definitions across Privy JavaScript SDKs
  * Update `js-sdk-core` to `0.46.2`
  * Update `chains` to `0.0.1`

  ### Experimental interfaces

  <Warning>**Breaking changes**</Warning>

  * Update `signAuthorization` from `useSignAuthorization` with latest interface from viem
</Update>

<Update label="2.7.0">
  ### Improvements

  * Improve gas estimation logic for ZeroDev bundlers
  * Improve error message when operation fails due to missing `Buffer` implementation
  * Memoize `wallets` from `useSolanaWallets`

  ### Bug Fixes

  * Fix bug where Solana key export would return the users' Ethereum wallet private key
  * Fix issue where Solana wallet was not set on user after auto-create
  * Pin `@solana/wallet-adapter-base` to `0.9.23` to fix incompatibility with node 18
</Update>

<Update label="2.6.4">
  ### Bug Fixes

  * Fix bug where solana wallets ready flag is never set to true
</Update>

<Update label="2.6.3">
  ### Improvements

  * Add `Haha` wallet to walletlist
  * Add `useConnectOrCreateWallet` and support attaching callbacks
  * Update `@privy-io/js-sdk-core` to `0.46.0`

  ### Bug Fixes

  * Fix a recovery but when using Solana HD wallets at indices greater than 0
  * Remove usage of `zustand/traditional`
</Update>

<Update label="2.6.2">
  ### Other Changes

  * Internal dependency updates.
</Update>

<Update label="2.6.1">
  ### Improvements

  * Update wallet connect copy

  ### Bug Fixes

  * Fix bug with Coinbase Wallet QR authentication
  * Fix bug blocking modal close when solana plugin cannot be loaded
</Update>

<Update label="2.6.0">
  ### Improvements

  * Support Solana wallet auto-creation set in dashboard
  * Update `@privy-io/js-sdk-core` to `0.44.4`

  ### Bug Fixes

  * Fix funding amount breaking when input amount is not valid
</Update>

<Update label="2.5.0">
  <Warning>**Breaking Changes**</Warning>

  * Remove session forking logic

  ### Improvements

  * Add `signAllTransactions` method for Solana wallets
  * Add `SignerAccount` to the user object
  * Update `@privy-io/js-sdk-core` to `0.44.3`

  ### Bug Fixes

  * Fix `showWalletUIs` for smart wallets
  * Fix overriding the priceDisplay config for funding

  ### Other Changes

  * Allow UI customization for funding with manual transfers
  * Internal dependency updates.
</Update>

<Update label="2.4.5">
  ### Improvements

  * Add Ronin wallet to the `walletList` config
  * Update bridging flow to be more resilient to slippage

  ### Bug Fixes

  * Fix issue where Solana `signTransaction` would error if the user did not have sufficient funds
  * Fix issue where `uiOptions` weren't safely parsed in the sign message screen

  ### Other Changes

  * Fetch wallet metadata from the WalletConnect registry
</Update>

<Update label="2.4.4">
  ### Improvements

  * Update `@walletconnect/ethereum-provider` version to `^2.18.0`
  * Update `@walletconnect/modal` version to `^2.7.0`
  * Add id to embedded wallet account on user object for delegated actions

  ### Bug Fixes

  * Fix wallets not auto-connecting in mobile
  * Resolve issue for signing with HD Solana wallets

  ### Other Changes

  * Show Ronin wallet in WalletConnect dialog
  * Throw error if invalid address passed to `exportWallet`
</Update>

<Update label="2.4.3">
  ### Improvements

  * Support passkey as a valid option in `loginMethods`

  ### Bug Fixes

  * Fix issue for SMS when using `useLoginMethodsAndOrder`
  * Fix issue where headless delegation wouldn't work unless primary wallet was recovered
</Update>

<Update label="2.4.2">
  ### Other Changes

  * Internal dependency updates.
</Update>

<Update label="2.4.1">
  ### Bug Fixes

  * Fix an issue with `getAccessToken` causing unnecessary re-renders

  ### Other Changes

  * Bump @coinbase/wallet-sdk to 4.3.0
</Update>

<Update label="2.4.0">
  ### Improvements

  * Update bridging flow to poll Relay API to determine if bridging failed and funds were refunded
  * Add support for headless Telegram login
  * Add `useSignMessage` hook for Solana
  * Add `credentialsId` option to `useLoginWithPasskey`
  * Update docstring for `user.wallet`

  ### Bug Fixes

  * Fix Solana transaction screen to correctly take `uiOptions` from `sendTransaction` and `signTransaction` methods
  * Ensure `refreshUser` method does not recalculate on rerender
  * Fix issue where Phantom would respond to `eth_accounts` requests to non-Phantom wallets
</Update>

<Update label="2.3.0">
  ### Improvements

  * Add ability to filter wallets by chain type for login/linking
  * Add `getClientForChain` method to the `useSmartWallets` hook
  * Add `useSignTransaction` for Solana embedded walelts
  * Add headless passkey signup
  * Add `isCancellable` UI to send transaction screen

  ### Bug Fixes

  * Fix EVM WalletConnect issue
  * Fix bug for HD wallet creation
</Update>

<Update label="2.2.1">
  ### Other Changes

  * Internal smart wallet improvements around chain ID
</Update>

<Update label="2.2.0">
  ### Improvements

  * Add support for automatic embedded Solana wallet creation on login
  * Add support for ThirdWeb smart accounts
  * Add support for signing raw data with smart wallets

  ### Bug Fixes

  * Fix issue where an error was thrown if a Solana transaction instruction could not be parsed
  * Fix issue where an "Insufficient funds" error was thrown if a Solana transaction didn't contain a `latestBlockhash`
  * Fix issue where EVM transaction preparation would error if `transaction.type` was passed as a hexadecimal string instead of number

  ### Other Changes

  * Reinitialize wallet connectors where `config.appearance.walletList` prop changes
</Update>

<Update label="2.1.0">
  ### Improvements

  * Update `js-sdk-core` to `0.41.4`

  ### Bug Fixes

  * Fix createWallet call in headless oncomplete callbacks
  * Fix issue where Rabby was not switching or adding an app's default chain during connect/login flows
  * Fix issue where a Solana wallet could not be delegated if the user had both Ethereum and Solana embedded wallets and created the Ethereum wallet first

  ### Other Changes

  * Mobile connectors for Solflare, Backpack and OKX
  * Allow to only connect a wallet deeplinking into a wallet's app in-app browser
  * Auto connect Solana wallets when `shouldAutoConnect: true` without prompting user for permission
  * Hide QR codes from some automated screen capture tools
</Update>

<Update label="2.0.8">
  ### Improvements

  * Update `js-sdk-core` to `0.41.2`

  ### Other Changes

  * Internal dependency updates.
</Update>

<Update label="2.0.7">
  ### Bug Fixes

  * Fix some overflow login options not rendering properly
</Update>

<Update label="2.0.6">
  ### Improvements

  * Improve QR code in receive funds flow

  ### Bug Fixes

  * Fix signature requests bug for CBSW

  ### Other Changes

  * Allow keeping a passkey linked when unenrolling from MFA
</Update>

<Update label="2.0.5">
  ### Improvements

  * Add `useUser` hook
  * Support setting passkey (login and signup) as the only enabled login method
  * Improve solana connectors detection

  ### Bug Fixes

  * Fix bug where message/typed data signatures for cross app flows did not respect the smart wallets chain

  ### Other Changes

  * Allow keeping a passkey enrolled in MFA when unlinking
  * Allow Moonpay funding for Avalanche and Celo chains
</Update>

<Update label="2.0.4">
  ### Improvements

  * Improve icons on account transfer flow

  ### Bug Fixes

  * Fix bug where `disableSignUp` is not respected after login is retried
  * Fix `ready` flag from `useSolanaWallets`
</Update>

<Update label="2.0.3">
  ### Improvements

  * Add support for `disableSignup` on SIWS flows

  ### Bug Fixes

  * Fix issue with `walletIndex` on Solana wallets
</Update>

<Update label="2.0.2">
  ### Improvements

  * Improve transaction UIs for SPL transfers on Solana
  * Update passkey unenrollment in MFA to automatically unlink the passkey as well
  * Update `useIdentityToken` hook to work with HTTPOnly cookies

  ### Bug Fixes

  * Fix issue with creating an embedded wallet when signing up with passkey
  * Fix error handling with OAuth and passkey whitelabel login
  * Fix embedded wallet gas estimation to include `from` address in estimation query
  * Fix bug with creating an Ethereum wallet after Solana in the same React tick

  ### Other Changes

  * Hide password input on password recovery screens
</Update>

<Update label="2.0.1">
  ### Improvements

  * Update MFA verification on unenrollment to prompt earlier
  * Update `js-sdk-core` to `0.38.0`

  ### Bug Fixes

  * Resolves issues with useSolanaWallets where ready was never true, and embedded wallets were not being returned
  * Fix wallet creation when called in quick succession
</Update>

<Update label="2.0.0">
  <Warning>
    **Breaking Changes** - read the V2 migration guide
    [here](/basics/react/advanced/migrating-to-2.0)!
  </Warning>

  ### Improvements

  * Update callback interfaces to an object instead of positional arguments
  * Update interfaces for `signMessage`, `signTypedData`, and `sendTransaction`
  * Add UIs for `signTransaction`

  ### Bug Fixes

  * Fix Telegram link when captcha is enabled

  ### Other Changes

  * Move solana specific hooks to the `@privy-io/react-auth/solana` import path
  * Remove `getEthersProvider` and `getWeb3jsProvider` interfaces
</Update>

<Update label="1.99.1">
  ### Improvements

  * Add support for custom `uiConfig` on smart wallet request methods
  * Improve Transaction UIs for Solana SPL token instructions
  * Update `js-sdk-core` to `0.37.1`

  ### Other Changes

  * Allows account transfer flows to work when linking Telegram seamlessly
</Update>

<Update label="1.99.0">
  ### Improvements

  * Add support for signing up with passkey
  * Add support for seamless Telegram linking
  * Add `useIdentityToken` hook for fetching the identity token client-side

  ### Bug Fixes

  * Fix funding config to accept viem `Chain` objects
  * Ensure embedded Solana wallets are recovered as needed when `signTransaction` is invoked

  ### Other Changes

  * Show separate "To" and "Token address" fields for ERC20 transfers
  * Export `PrivyErrorCode`, `LinkedAccountWithMetadata`, and `LinkedAccountType` types
  * Allow for Zustand `5.0.0` to support integrations with `wagmi`
</Update>

<Update label="1.98.4">
  ### Improvements

  * Add solana key private importing
  * Update `js-sdk-core` to `0.36.1`

  ### Other Changes

  * Adjust ordering of embedded wallets for custom landing screen
</Update>

<Update label="1.98.3">
  ### Bug Fixes

  * Fix bug where `linkWallet` would only prompt a connection flow
</Update>

<Update label="1.98.2">
  ### Improvements

  * Add `useLoginToFrame` hook to log into Farcaster frames v2
  * Updated dependencies \[2c3e469] - @privy-io/js-sdk-core\@0.36.0
</Update>

<Update label="1.98.1">
  ### Bug Fixes

  * Fix `Embedded wallet not found error` sending Solana transactions
</Update>

<Update label="1.98.0">
  ### Improvements

  * Adds support for Solana HD wallets
  * Update Solana funding to respect provider configured RPC URL
  * Update `js-sdk-core` to `0.35.6`

  ### Bug Fixes

  * Fix issue where newer apps could not use the `config.embeddedWallets.waitForTransactionConfirmation` property to disable awaiting transaction confirmation
  * Fix funding amount input font-size
</Update>

<Update label="1.97.0">
  ### Improvements

  * Update additional embedded wallet creation to prompt MFA if required
  * Update copy in UI for delegating an embedded wallet
  * Add ability to edit amount to bridge/transfer in wallet funding flows

  ### Bug Fixes

  * Fix issue where certain package managers required `@solana/web3.js` to be installed as a peer dependency even if not using Solana functionality.
  * Fix issue where pregenerated Telegram accounts would error during login

  ### Other Changes

  * Introduce `useSolanaPlugin` hook. If your app uses the `fundWallet` method to fund EVM wallets using cross-chain bridging from a Solana wallet, make sure to import and mount the `useSolanaPlugin` hook during any funding flows:
  * Show "Solana" chip in connected wallets button
</Update>

<Update label="1.96.2">
  ### Improvements

  * Add empty wallet states for no detected connected wallets

  ### Bug Fixes

  * Fix issue where USDC balance was misformatted in manual transfer funding flow
  * Fix issue where Solana transaction screen would sometimes show token address under "Pay with" field
</Update>

<Update label="1.96.1">
  ### Bug Fixes

  * Fix issue where `sendTransaction` would not work with funding configurations
</Update>

<Update label="1.96.0">
  ### Improvements

  * Add support for USDC SOL->EVM cross-chain bridging
  * Add one-click funding configuration option (`app.fundingConfig.defaultFundingMethod`) to send users directly into funding flow.
  * Add support for configuring preferred provider for card funding.
  * Add `WalletsDialog` and `useActiveWallet` support for connectors
  * Improve stability for setting identity token to cookies
  * Update `js-sdk-core` to `0.35.3`

  ### Bug Fixes

  * Fix link on "download Phantom" screen
</Update>

<Update label="1.95.4">
  ### Improvements

  * Support arbitrary programs for Solana transactions
  * Add `solanaClusters` field to `PrivyProvider` `config` for setting custom RPC URLs for Solana

  ### Bug Fixes

  * Fix issue where `sendTransaction` would error if the app didn't have funding methods enabled
</Update>

<Update label="1.95.3">
  ### Improvements

  * Add icons for wallet balance in transfer flow
  * Improve `UserPill` dividers
  * Expose `LinkedAccountWithMetadata` type
  * Expose `ready` value from `useSolanaWallets` hook

  ### Other Changes

  * Show `Continue` button in Manual funding after funds are received
  * Pin `@solana/web3.js` to `^1.95.8`
</Update>

<Update label="1.95.2">
  ### Improvements

  * Add support for using root domain for passkeys
  * Add functionality to user pill to export solana wallets, export HD eth wallet, and fund a specific wallet
  * Add Phantom wallet button for browsers with no wallets on Solana
  * Add support for bigints in transactions via cross app connect
  * Update `js-sdk-core` to `0.35.1`

  ### Bug Fixes

  * Fix coinbase bundler/paymaster gas estimation issues

  ### Other Changes

  * Warn on wallets not ready for turbopack
</Update>

<Update label="1.95.1">
  ### Improvements

  * Add fallback for funding with an alternate provider

  ### Bug Fixes

  * Fix bug bridging to EVM from a Solana wallet
</Update>

<Update label="1.95.0">
  ### Improvements

  * Update funding flows - support Apple Pay
  * Update session management logic
  * Add support for new Crypto.com extension
  * Add support for headless passkey linking

  ### Bug Fixes

  * Fix `typesVersions` for node10 resolution
</Update>

<Update label="1.94.3">
  ### Improvements

  * Add ethereum support to `useDelegatedActions` hook
  * Update language on delegated actions modal
  * Add cross app buttons to login modal

  ### Bug Fixes

  * Fix telegram seamless login
  * Fix error when `sendTransaction` is called with an imported wallet

  ### Other Changes

  * Show a warning when solana is enabled in the dashboard but not configured properly on the client
  * Log out users who have not yet accepted legal terms when require affirmative consent is set
</Update>

<Update label="1.94.2">
  ### Improvements

  * Add support for delegated actions on EVM networks
</Update>

<Update label="1.94.1">
  ### Improvements

  * Improve manual transfer screen of funding flow
  * Update `@headlessui/react` to `2.2.0`
  * Update `js-sdk-core` to `0.34.0`

  ### Bug Fixes

  * Fix OAuth callback not firing during login flow
  * Fix Solana key export when MFA is enabled
</Update>

<Update label="1.94.0">
  ### Improvements

  * Update session token storage
  * Update typing for `AuthenticatedUser`
  * Support user owned recovery for Solana embedded wallets
  * Update `js-sdk-core` to `0.33.0`

  ### Other Changes

  * Release `useDelegatedActions` hook
  * Allow existing users with `+` emails to log in even if app has disable creation of new users with `+` emails
  * Bump multiplier for smart wallet gas estimation
  * Move `permissionless` to be an optional peer dependency
</Update>

<Update label="1.93.0">
  ### Improvements

  * Add support for creating ethereum HD wallets at any index
  * Improve session update logic
</Update>

<Update label="1.92.8">
  ### Improvements

  * Update `js-sdk-core` to `0.31.0`

  ### Bug Fixes

  * Fix issue where logging out would attempt to link smart wallets

  ### Other Changes

  * Internal dependency updates.
</Update>

<Update label="1.92.7">
  ### Improvements

  * Improve error banner UI on dark mode
  * Add `disableSignup` option to headless login hooks
  * Add paymaster context config for Alchemy and Biconomy paymasters
  * Update delegated actions modal styles

  ### Bug Fixes

  * Fix bug where recently used wallet was missing in the login wallet list
</Update>

<Update label="1.92.6">
  ### Improvements

  * Add secondary color option to `UserPill` button
</Update>

<Update label="1.92.5">
  ### Bug Fixes

  * Fix issue with parsing user response from Privy API

  ### Other Changes

  * Show "Maximum" as the amount for ERC20 approvals if the amount being improved is the maximum value of `uint256`
  * Use direct imports for heroicons
</Update>

<Update label="1.92.4">
  ### Improvements

  * Update user object to include `delegatedWallets` field
  * Update `js-sdk-core` to `0.30.1`

  ### Bug Fixes

  * Fix transaction details not updating for batched smart wallet calls
</Update>

<Update label="1.92.3">
  ### Improvements

  * Add support for the Coinbase Smart Wallet as a smart wallet implementation
  * Update all Solana package imports to be dynamic
  * Add CSS selectors to login buttons

  ### Other Changes

  * Show verified wallet details during Farcaster account merging flow
</Update>

<Update label="1.92.2">
  ### Improvements

  * Add `switchChain` to SmartWalletClient
  * Update type of wallet in connectWallet callbacks to be `BaseEthereumConnectedWallet` or `BaseSolanaConnectedWallet`
  * Update `js-sdk-core` to `0.29.3`

  ### Other Changes

  * Downgrade console warning to debug for `eth_accounts`
</Update>

<Update label="1.92.1">
  ### Improvements

  * Improve colors for `UserPill` button text

  ### Bug Fixes

  * Fix build output of types
  * Fix issue where certain builds would break if `@solana/web3.js` optional peer dependency was not installed
  * Fix custom auth error when logged in as a stale user and switching to a new user

  ### Other Changes

  * Fetch setting for whether plus emails are disabled when fetching app configuration
</Update>

<Update label="1.92.0">
  ### Improvements

  * Add support for funding EVM wallets by bridging from an external Solana wallet
  * Add loading state to `UserPill`
  * Upgrade `permissionless` peer dependency to `0.2.10` to improve stability of counterfactual smart wallet address determination
</Update>

<Update label="1.91.0">
  ### Improvements

  * Add support for wallet MFA with Solana embedded wallets
  * Add support for funding Solana wallets by bridging from an external EVM wallet
  * Add support for exporting HD wallets beyond the wallet at index 0

  ### Bug Fixes

  * Fix issue with wallet funding where an error UI would be shown if user exited Coinbase Onramp too early
  * Fix issue with wallet funding where incorrect token symbol was shown in manual transfer screen for Polygon
  * Fix issue with attempting to connect to Phantom's injected EVM provider if the `walletChainType` for the app is set to `'solana-only'`
</Update>

<Update label="1.90.0">
  ### Improvements

  * Add support for funding Solana wallets via transfer from external wallet, Coinbase Onramp, and MoonPay
  * Update `ConnectedSolanaWallet` object to have wallet helpers like `signMessage` always be defined, and throw an error if unsupported by the underlying wallet
  * Improve smart wallet gas estimation by using Pimlico public client for Pimlico bundlers
  * Add new error code for disallowed `+` emails
  * Update icons and copy for MFA and passkey flows

  ### Bug Fixes

  * Fix issue with Coinbase Onramp where an error would be shown if user exited Onramp flow too quickly
</Update>

<Update label="1.89.0">
  ### Improvements

  * Add `bybit_wallet` to walletList options
  * Add callbacks for `updatePhone` and `updateEmail` through the `useUpdateAccount` hook
  * Update `js-sdk-core` to `0.28.8`

  ### Other Changes

  * Allow for configuration of showing/hiding of transaction UIs per transation/signature via `uiOptions.showWalletUIs`
  * Allow server side wallet UIs to be overridden by client side config via `config.embeddedWallets.showWalletUIs`
</Update>

<Update label="1.88.4">
  ### Improvements

  * Add support for customizing the icon on the `UserPill`

  ### Bug Fixes

  * Fix issue where smart wallet linking would cause the `onComplete` callback not to fire
  * Ensure correct asset symbol is shown in fund via manual transfer screen
  * Fix CAPTCHA in Telegram seamless auth
</Update>

<Update label="1.88.3">
  ### Improvements

  * Add minimal version of `UserPill` with only primary account info and logout button

  ### Bug Fixes

  * Ensure Solana wallets are recovered during sign transaction flow

  ### Other Changes

  * Allow an Ethereum embedded wallet to be created for a user with a Solana embedded wallet
  * Optimize "Protected by Privy" asset size
</Update>

<Update label="1.88.2">
  ### Improvements

  * Update logos for rebrand
  * Update `js-sdk-core` dependency to `0.28.5`

  ### Bug Fixes

  * Fix: Sign Solana transaction using the embedded wallet address instead of from address
  * Fix Solana Phantom wallet option to appear as "Phantom" in the wallet list
</Update>

<Update label="1.88.1">
  ### Improvements

  * Update docstring of `appearance.walletList` to include correct `coinbase_wallet` instead of `coinbase`
  * Add `detected_ethereum_wallets` and `detected_solana_wallets` as supported `WalletListEntry` values
  * Update `js-sdk-core` dependency to `0.28.4`

  ### Bug Fixes

  * Fix bug calling `signTypedData` with imported wallets

  ### Other Changes

  * When apps explicitly pass `defaultChain`/`supportedChains` and the chains are already supported by Privy, only override the RPC URL to use the internal Privy RPC instead of replacing entire chain representation
</Update>

<Update label="1.88.0">
  ### Improvements

  * Add onComplete/onError callbacks to headless auth hooks
  * Improved custom auth authentication handling
  * Support integers and booleans in customMetadata

  ### Bug Fixes

  * Fix error waiting for response after sending transaction
</Update>

<Update label="1.87.0">
  ### Improvements

  * Update login method transfer UIs
  * Add useLoginWithPasskey hook
  * Add state to whitelabel auth flows
  * Add universal profile to wallet\_list options
  * Improve Solana embedded wallet creation
  * Update User pill recently used account logic
  * Improve smart wallet transaction logic and UIs
  * Improve funding network selector UI
  * Update `styled-components` dependency to `v6.1.13`
  * Update build outputs and `package.json#exports` property to [match modern patterns](https://www.typescriptlang.org/docs/handbook/modules/reference.html#packagejson-exports)
</Update>

<Update label="1.86.0">
  ### Improvements

  * Add optional `config` prop for `SmartWalletsProvider` that allows for `paymasterContext` to be set
  * Update `js-sdk-core` dependency to `0.28.1`

  ### Bug Fixes

  * Fix display of decimal token values on transaction screens

  ### Other Changes

  * Allow for login method transfers
  * Show solana transactions breakdown
  * Solana annotations for docs
</Update>

<Update label="1.85.0">
  ### Improvements

  * Add support for connecting external Solana wallets via `toSolanaWalletConnectors`
  * Add support for login/linking external Solana wallets
  * Add new external wallets config options to set Solana connectors
  * Add transaction UIs for Solana embedded wallet transactions
  * Add `useSendSolanaTransaction` hook
</Update>

<Update label="1.84.0">
  ### Improvements

  * Add smart wallets SDK (`@privy-io/react-auth/smart-wallets`) with support for native account abstraction features
  * Improve Celo chain icon

  ### Bug Fixes

  * Fix captcha on headless sms and email login hooks

  ### Other Changes

  * Hide the "Add funds" button on the UserPill if funding is not enabled
</Update>

<Update label="1.83.1">
  ### Bug Fixes

  * Fix background color of warning on export screen in light modes
  * Handle connected vs logged in state better in `UserPill` component
  * Fix bridging flow gas estimation issues
</Update>

<Update label="1.83.0">
  ### Improvements

  * Add support for passing a `disableSignup` flag to `login` to distinguish between login and sign-up
  * Add support for fetching USDC funding configuration from the Dashboard
  * Update Polygon's MATIC gas token to POL

  ### Bug Fixes

  * Fix issue where headless OAuth callbacks did not fire correctly
  * Fix issue where client-side funding configuration was ignored if `chain` was not set

  ### Other Changes

  * Make suggested address copyable-on-click on connect and link wallet strings
</Update>

<Update label="1.82.0">
  ### Improvements

  * Add `loginWithCrossAppAccount` to `useCrossAppAccounts` hook
  * Add support for using multiple HD embedded wallets per user in the `useWallets` array (including EIP1193 provider support and ethers/viem/wagmi support) and Privy's native `signMessage`, `signTypedData`, and `sendTransaction` methods
  * Add support for configuring the `walletList` to display in Privy's connection prompt directly in `connectWallet`
  * Update `js-sdk-core` dependency to `0.26.7`

  ### Bug Fixes

  * Fix `loading` to correctly be `false` for error states on headless OAuth login
</Update>

<Update label="1.81.3">
  ### Improvements

  * Add support for additional Ethereum embedded wallet creation at HD indices that are not 0
  * Add `useCustomAuth` hook
</Update>

<Update label="1.81.2">
  ### Improvements

  * Support funding wallets with USDC from MoonPay and Coinbase Onramp

  ### Bug Fixes

  * Fix bug where CJS builds threw `SyntaxError: Unexpected identifier...`
  * Ensure Twitter login always shows up on mobile if enabled
  * Ensure a destination currency is always set when funding via external transfer for ERC20s
  * Ensure Coinbase Onramp amount is properly formatted with a leading digit

  ### Other Changes

  * Silence expected errors when fetching Relay quotes on chains where an address has no balance
</Update>

<Update label="1.81.1">
  ### Bug Fixes

  * Fix chain definition for Base
</Update>

<Update label="1.81.0">
  ### Improvements

  * Add ability to fund from external wallet with ERC20 tokens in addition to a chain's native token
  * Add `onComplete` and `onError` callbacks for headless OAuth login

  ### Bug Fixes

  * Fix issue where copy on key export screen was not legible in dark mode

  ### Other Changes

  * Export `UserPill` component to display user account and wallet information
</Update>

<Update label="1.80.0">
  ### Improvements

  * Add ability to pre-fill either phone number or email on login UI
  * Add `onComplete` and `onError` callbacks for third-party auth login
  * Update `js-sdk-core` dependency to `0.26.2`

  ### Other Changes

  * Pin `@walletconnect/ethereum-provider` to `2.15.1` or higher to avoid breaking change introduced in `2.15.0`
  * Send Telegram `start_param` in authenticate request payload
</Update>

<Update label="1.79.1">
  ### Bug Fixes

  * Fix issue where native asset token price could not be fetched for chains not configured in `supportedChains` during bridging flow
  * Fix issue where `onUserExited` callback for `useFundWallet` hook did not fire if there was an error
  * Fix visual bug on transaction screen when transaction amount overflows the modal
</Update>

<Update label="1.79.0">
  ### Improvements

  * Support Telegram authentication with mini-app direct link
  * Add support for exporting imported and Solana wallets

  ### Other Changes

  * Allow users to bridge from another network when funding with an external wallet
</Update>

<Update label="1.78.2">
  <Warning>**Breaking Changes**</Warning>

  * Remove deprecated chains from default supported chains
  * Remove Solana embedded wallet on logout

  ### Improvements

  * Add `'safe'` as an option for `appearance.walletList` configuration option

  ### Bug Fixes

  * Fix Spotify and Instagram not showing up in upfront login methods
  * Fix Uniswap extension login method not showing up

  ### Other Changes

  * Strip URL hash after successful Telegram seamless login
  * fix issue with setting client cookies on Safari on localhost
  * allow enter to submit embedded wallet password
</Update>

<Update label="1.78.1">
  ### Bug Fixes

  * Fix issue with misaligned loading spinner during Farcaster login flow
  * Fix client-side checks for whether OAuth authentications should be treated as login vs. linking

  ### Other Changes

  * Allow Telegram linking without surfacing it as an upfront login method
</Update>

<Update label="1.78.0">
  ### Improvements

  * Update `loginWithTelegram` to always login instead of link, regardless of initial auth state
  * Add Solana mainnet chain ID to Solana embedded wallet in `user.linkedAccounts`

  ### Bug Fixes

  * Fix issue with `linkWithSiwe` for linking smart accounts to user object
  * Fix allowlist error screen to show custom error messages configured by developers
  * Fix issue where Ethereum and Solana embedded wallets could not be created in the same React tick
  * Fix occasional error with invalid `to` address when funding via external wallets (e.g. MetaMask)

  ### Other Changes

  * Gracefully handle maximum wallets linked error when linking wallets via SIWE
  * Allow `connectOrCreate` to be called even if users already have connected wallets
  * Block embedded wallet transaction submission until transaction has been fully prepared
  * Fail fast in insecure contexts (e.g. `http`) with a clear error message
  * Ignore `gasPrice` during transaction preparation on EIP-1559 chains where that parameter is not supported (OP Stack, Polygon)
</Update>

<Update label="1.77.0">
  ### Improvements

  * Add support for guest accounts
  * Add missing error for when `setWalletRecovery` flow is exited from the selection screen
  * Update `js-sdk-core` dependency to 0.26.0

  ### Bug Fixes

  * Fix bug where external funding flow fails when using `fundWallet` from `useFundWallet` hook
  * Fix copy on wallet creation recovery method selection screen
</Update>

<Update label="1.76.6">
  ### Improvements

  * Improve QR code scannability
</Update>

<Update label="1.76.5">
  ### Improvements

  * Add seed phrase export for embedded ethereum wallets
  * Update `js-sdk-core` dependency to 0.25.0

  ### Other Changes

  * Clean up imports for icons
  * Internal dependency updates.
</Update>

<Update label="1.76.4">
  ### Bug Fixes

  * Fix parameters for `updatePhone` flow
</Update>

<Update label="1.76.3">
  ### Improvements

  * Add `updatePhone` flow for updating user phone numbers
  * Add `lukso` to default supported chains

  ### Bug Fixes

  * Fix Uniswap wallet logo on mobile

  ### Other Changes

  * Internal dependency updates.
</Update>

<Update label="1.76.2">
  ### Improvements

  * Update `js-sdk-core` dependency
</Update>

<Update label="1.76.1">
  ### Improvements

  * Add signature UI for Solana embedded wallets
  * Update border radius on funding method icons

  ### Bug Fixes

  * Fix issue with dark mode in funding UIs
</Update>

<Update label="1.76.0">
  ### Improvements

  * Add Coinbase Onramp as a funding option
  * Support user editing of default funding value
  * Improve funding UIs
  * Add callback for fundWallet flow

  ### Other Changes

  * Return identity token to end user's browser
</Update>

<Update label="1.75.1">
  ### Improvements

  * Add "Telegram" text to Telegram login button
  * Update the default connection setting for Coinbase Wallet to be `'all'` (smart wallet and extension/mobile wallet) instead of `'eoaOnly'` (extension/mobile wallet only)

  ### Other Changes

  * Extend timeout for embedded wallet iframe to 20s to handle resource-constrained environments like TMAs
</Update>

<Update label="1.75.0">
  ### Improvements

  * Add external wallet funding flow and new server-side funding configuration options
  * Add login modal indicator for recently used login method
  * Update transaction request UI
  * Support overriding login methods at the point of login

  ### Bug Fixes

  * Fix broken back button in NextJS Pages app
  * Fix bug where non-injected wallets did not show up on connect wallet screen
</Update>

<Update label="1.74.1">
  ### Bug Fixes

  * Fix occasional issue where embedded wallet transaction modal would infinitely load when used with ethers
</Update>

<Update label="1.74.0">
  <Warning>**Breaking Changes**</Warning>

  * Deprecate `PrivyProvider` `onSuccess` prop
  * Remove app logo from connect-only screen

  ### Improvements

  * Add `user` as argument to `onOAuthTokenGrant` callback handler
  * Add `linkMethod` details to `onError` callback for `useLinkAccount`
  * Improve transaction UI currency formatting
</Update>

<Update label="1.73.2">
  ### Improvements

  * Update farcaster signer to not be experimental with `useFarcasterSigner`

  ### Bug Fixes

  * Fix bug where wallet login fails if there is an existing stale non-siwe auth flow

  ### Other Changes

  * UI tweaks on signature request screen
</Update>

<Update label="1.73.1">
  <Warning>**Breaking Changes**</Warning>

  * Remove `WalletConnect` fallback when `externalWallets.walletConnect.enabled` is set to `false`

  ### Improvements

  * Add `vanityName` to `LinkedInOAuthWithMetadata` interface
  * Improve errors for transacting against a read-only provider app

  ### Bug Fixes

  * Fix Twitter OAuth from within a cross-app auth flow
  * Fix login modal not reopening after logout
</Update>

<Update label="1.73.0">
  ### Improvements

  * Add experimental `externalWalletConfig.walletConnect.enabled`

  ### Other Changes

  * Cross-app wallets
  * Exodus mobile wallet fix
  * Crypto.com walet extension fix
  * Embedded wallet transaction fix due to address case mismatch
  * UI tweaks
</Update>

<Update label="1.72.0">
  ### Improvements

  * Improve account already linked error for email and SMS linking
  * Improve insufficient funds error on transaction flows - Add chain name
  * Improve Coinbase Wallet connection experience for PWAs using `eoaOnly` mode - No longer open in Coinbase Wallet in-app browser
  * Add `unlinkCrossAppAccount` to `useCrossAppAccounts` hook
  * Support returning OAuth provider tokens via `useOAuthTokens` hook
  * Add headless wallet linking via `useLinkWithSiwe` hook
  * Add new `suggestedAddress` parameter to `connectWallet` and `linkWallet`

  ### Other Changes

  * Bump WalletConnect to `v2.13.3` to avoid metadata validation breaking change
  * Minor build improvements
</Update>

<Update label="1.71.0">
  ### Improvements

  * Add cross-app account linking and wallet requests via `useCrossAppAccounts` hook
  * Improve OTP code resend experience
  * Improve loading and success state for signature screen
  * Improve error state for social login
  * Improve login error callbacks
  * Upgrade Coinbase Wallet SDK to 4.0.3

  ### Other Changes

  * add `iconUrl` option to `signMessage` and `signTypedMessage`
</Update>

<Update label="1.70.0">
  ### Improvements

  * Add support for Telegram seamless authentication

  ### Other Changes

  * Pre-emptively block Google login in more in-app browsers where it is expected to fail (LinkedIn, Coinbase Wallet, MetaMask, etc.)
</Update>

<Update label="1.69.0">
  ### Improvements

  * Add `useSetWalletRecovery` hook to set user-managed recovery methods for embedded wallets
  * Add `getEmbeddedConnectedWallet` helper to parse `useWallets` array for the embedded wallet

  ### Bug Fixes

  * Fix issue with Twitter login on Android due to `x.com` deeplinks not working
  * Fix issue with recalculating nonce when retrying a failed transaction
  * Fix typo in passkey enrollment screen
</Update>

<Update label="1.68.0">
  <Warning>**Breaking Changes**</Warning>

  * Deprecate goerli and polygon mumbai chains

  ### Improvements

  * Upgrade `@walletconnect/ethereum-provider` to `2.13.1`, fixes `Error: description is required value in metadata` error introduced by WalletConnect
  * Add `config.appearance.loginMessage` interface for setting a custom subtitle below logo
  * Add blast to OP-Stack gas estimation
  * Improve error handling around wallet connector initialization
</Update>

<Update label="1.67.0">
  ### Improvements

  * Add support for Coinbase's Smart Wallet
</Update>

<Update label="1.66.3">
  ### Bug Fixes

  * Fix issue with signatures not working when wallet address is not checksummed
</Update>

<Update label="1.66.2">
  ### Improvements

  * Add support for resetting password via `setPassword`
  * Add `mfaMethods` to `useMfa` hook

  ### Other Changes

  * Fire `connectWallet`'s `onSuccess`/`onError` callbacks whenever a wallet is connected, including during `login` with SIWE
  * Retry JSON-RPC requests used to load connected wallets to handle flaky injected providers on page load
  * Reduce noisy console warnings
</Update>

<Update label="1.66.1">
  ### Improvements

  * Improved errors for embedded wallet gas estimation

  ### Other Changes

  * Minor improvements to refresh token storage
</Update>

<Update label="1.66.0">
  ### Improvements

  * Add embedded wallet recovery via iCloud

  ### Other Changes

  * Telegram link/unlink
  * Make Farcaster QR code more scannable
  * Throw more accurate error when gas estimation fails
</Update>

<Update label="1.65.1">
  ### Improvements

  * Improve error UI for SMS login
  * Add console warning for gas estimation failure
  * Add console warning for message signing failures
</Update>

<Update label="1.65.0">
  ### Improvements

  * Add `rabby_wallet` as a `walletList` option
  * Improve error UI for embedded wallet transactions

  ### Bug Fixes

  * Fix Twitter and Github logos on dark mode
</Update>

<Update label="1.64.1">
  <Warning>**Breaking Changes**</Warning>

  * Remove dynamic import of CB wallet SDK, fixes issues around connection persisting across refresh and tabs

  ### Improvements

  * Add scroll to login overflow screen when there are greater than 5 options
  * Update `ready` from `useWallets` to respect external wallet loading state

  ### Other Changes

  * Use Privy RPC endpoints for mainnet
</Update>

<Update label="1.64.0">
  ### Improvements

  * Add `instagram` to supported `loginMethods`
  * Add new Farcaster write interfaces to `useExperimentalFarcasterSigner`
</Update>

<Update label="1.63.0">
  ### Improvements

  * Add passkeys as an option for transaction MFA
  * Improve customization of transaction modal via `successHeader` and `successDescription`
  * Update `ready` from `useWallets` hook to only correspond to embedded wallet loading state
  * Update transaction error UIs
</Update>

<Update label="1.62.0">
  ### Improvements

  * Add Google Drive as an embedded wallet recovery option
</Update>

<Update label="1.61.0">
  <Warning>**Breaking Changes**</Warning>

  * Deprecate Redstone Holesky and add Redstone Mainnet + Garnet Holesky

  ### Improvements

  * Add linked account to callback of `useLinkAccount` and `useLogin` hooks
  * Update copy on set password screen to emphasize that loss of password and device will mean loss of the wallet
  * Improve MFA enrollment loading state for TOTP
  * Add `firstVerifiedAt` and `latestVerifiedAt`, deprecate `verifiedAt` field on account objects
  * Add `config.appearance.landingHeader` prop to allow customization of login modal header text

  ### Other Changes

  * Use Privy RPC endpoints for Berachain Artio
</Update>

<Update label="1.60.7">
  ### Improvements

  * Improve OAuth provider errors

  ### Other Changes

  * Read server config flags on `createWallet`
  * Bump mipd dependency from `0.0.5` to `0.0.7`
</Update>

<Update label="1.60.6">
  ### Improvements

  * Update gas estimation to prioritize including the `from` address

  ### Other Changes

  * Avoid auto-closing login modal when access token is deleted from storage
</Update>

<Update label="1.60.5">
  ### Bug Fixes

  * Fix SDK `authenticated` and `user` state when access token is cleared
</Update>

<Update label="1.60.4">
  ### Other Changes

  * Internal dependency updates.
</Update>

<Update label="1.60.3">
  ### Improvements

  * Add Polygon Amoy Privy RPC endpoints
  * Improve request retry logic
</Update>

<Update label="1.60.2">
  ### Bug Fixes

  * Fix edge case when signing in with multiple Coinbase wallets
  * Fix bug preventing Passkey retries due to browser user intent requirements

  ### Other Changes

  * Visual adjustments for Passkey login and link
</Update>

<Update label="1.60.1">
  ### Improvements

  * Expose `status` of login flow from `useLoginWithSms` hook

  ### Bug Fixes

  * Fix issue with headless login where `link` was called when `login` should be
</Update>

<Update label="1.60.0">
  <Warning>**Breaking Changes**</Warning>

  * Remove extra redirect prompt during sign in with external wallets

  ### Improvements

  * Add login with passkey (configurable via Dashboard)
  * Add support for BSC and Sapphire transactions when using wagmi
  * Improve user limit reached sign-in error

  ### Bug Fixes

  * Fix focus outline on phone number and email inputs

  ### Other Changes

  * Disable wallet link in CBW
  * Don't show login modal when awaiting ready and already authenticated
</Update>

<Update label="1.59.9">
  ### Improvements

  * Add support for Berachain Artio
</Update>

<Update label="1.59.8">
  ### Improvements

  * Add IDs to modal content and backdrop
  * Update gas estimation to support ERC20 contracts that require a `.from` parameter

  ### Other Changes

  * Pin Coinbase Wallet SDK to `3.9.3`
</Update>

<Update label="1.59.7">
  ### Improvements

  * Update storage location for OAuth and PKCE
</Update>

<Update label="1.59.6">
  ### Bug Fixes

  * Ensure transaction `type` gets defaulted even if gas fees are manually set by developer - Note this interface is experimental and may change in a future update

  ### Other Changes

  * 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
</Update>

<Update label="1.59.5">
  ### Improvements

  * Improve sign in with Farcaster redirect on iOS

  ### Bug Fixes

  * Fix "cannot dequeue event" console errors
</Update>

<Update label="1.59.4">
  ### Improvements

  * Improve consistency of 'Take me to Warpcast' button
  * Update OAuth query param removal to use replace instead of push
  * Add support for Polygon Amoy testnet out of the box

  ### Bug Fixes

  * Fix bug where users are prompted to SIWE repeatedly after selecting a wallet login
  * Fix bugs related to repeated clicks on OAuth login buttons

  ### Other Changes

  * Dependencies: update jose from 4.14.6 to 4.15.5
</Update>

<Update label="1.59.3">
  ### Improvements

  * 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

  ### Bug Fixes

  * Fix cookie-based session restoration on new subdomain
</Update>

<Update label="1.59.2">
  ### Bug Fixes

  * Fix phantom installation screen: reload after confirming installation
  * Fix `ready` from `useWallets` when phantom is in `walletList`
</Update>

<Update label="1.59.1">
  ### Improvements

  * Improve text padding on password inputs
  * Improve gas limit estimation with retries
  * Add `useLinkAccount` callback method

  ### Bug Fixes

  * Fix bug where MFA methods are stale
</Update>

<Update label="1.59.0">
  ### Improvements

  * Add new options to `appearance.walletList`: `cryptocom`, `uniswap`, and `okx_wallet`
  * Expose `useFundWallet` to fund external wallets
  * Update gas estimation logic
  * Update config to override `appearance.walletList` with `loginMethodsAndOrder` if defined
  * Improve consistency of placeholder phone numbers
  * Update coinbase wallet SDK

  ### Bug Fixes

  * Fix `ready` from `useWallets` not getting set to `true`
  * Fix wallets array not updating after disconnecting Coinbase Wallet

  ### Other Changes

  * Mark library as side effect free
  * Reduce and improve console warnings on app startup
</Update>

<Update label="1.58.1">
  ### Improvements

  * Expose `useFundWallet` to fund external wallets

  ### Bug Fixes

  * Fix `ready` from `useWallets` not getting set to `true`

  ### Other Changes

  * Reduce and improve console warnings on app startup
</Update>

<Update label="1.58.0">
  ### Improvements

  * Add Spotify OAuth Integration
  * Add `connectOrCreateWallet`
  * Add update email flow
  * Improve session refresh logic

  ### Other Changes

  * Error state styling improvements
</Update>

<Update label="1.57.2">
  ### Bug Fixes

  * Fix an issue causing OAuth logins to fail
</Update>

<Update label="1.57.1">
  ### Improvements

  * Improve dialog accessibility

  ### Other Changes

  * Minor improvements to SDK initialization
  * Minor copy updates
</Update>

<Update label="1.57.0">
  ### Improvements

  * 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

  ### Bug Fixes

  * Handle Twitter account suspended errors
</Update>

<Update label="1.56.2">
  <Warning>**Breaking Changes**</Warning>

  * Deprecate `noPromptOnSignature`. You should now set this configuration in the Dashboard.

  ### Bug Fixes

  * 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.

  ### Other Changes

  * Tree-shake friendly icon imports
</Update>

<Update label="1.56.1">
  ### Improvements

  * 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

  ### Bug Fixes

  * Fix bug with password-based recovery in `exportWallet` method
  * Fix spacing on OAuth status screen
</Update>

<Update label="1.56.0">
  ### Improvements

  * Add Twitter `profilePictureUrl` to user object. Existing users must login with Twitter again to have their profile picture fetched.
  * Update docstring for `config.loginMethods`

  ### Bug Fixes

  * Fix "Try again?" CTA on Farcaster error screen to take user back to QR code

  ### Other Changes

  * With Google OAuth, pre-emptively direct users out of in-app browsers as Google OAuth is blocked in in-app browsers. [Read more.](https://developers.googleblog.com/2021/06/upcoming-security-changes-to-googles-oauth-2.0-authorization-endpoint.html)
  * Check that wallet has sufficient funds to cover gas in addition to value for transactions
  * Dramatically improve initial modal load by optimizing wallet connector initializations
  * Rename developer "console" to "dashboard"
</Update>

<Update label="1.55.2">
  <Warning>**Breaking Changes**</Warning>

  * Remove copy link on farcaster loading screen

  ### Improvements

  * Enable automatic wallet creation for Farcaster login
  * Update captcha view styles
  * Improve Sign in with Farcaster link opening

  ### Other Changes

  * Disable captcha challenge if the user is already authenticated
  * Disable clicking outside to close Privy modal on unrecoverable screens
  * Rename profile\_picture to profile\_picture\_url
</Update>

<Update label="1.55.1">
  ### Improvements

  * Improve captcha challenge timing

  ### Other Changes

  * Rename `farcaster_id` to `fid` for consistency
  * Export Farcaster account on User object (`user.farcaster`)
</Update>

<Update label="1.55.0">
  ### Improvements

  * 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`

  ### Other Changes

  * Style updates to various SVG elements
</Update>

<Update label="1.54.3">
  ### Improvements

  * Add intermediary screen for CAPTCHA
  * Improve wallet timeout error handling
</Update>

<Update label="1.54.2">
  ### Bug Fixes

  * Fix issue with crypto utils compatibility
  * Fix outline bug for status icons on dark mode

  ### Other Changes

  * Disable retries on 429s
</Update>

<Update label="1.54.1">
  ### Improvements

  * Improve error handling for social login buttons

  ### Other Changes

  * Use browser friendly crypto utils
</Update>

<Update label="1.54.0">
  ### Bug Fixes

  * 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`

  ### Other Changes

  * OAuth authentication protocol upgrade
</Update>

<Update label="1.53.1">
  ### Improvements

  * Improve accessibility and compatibility of the Privy modal
  * Update `defaultChain` and `supportedChains` types to handle `viem`'s updated `Chain` type

  ### Bug Fixes

  * Fix issue where Phantom wallet button would not always show
</Update>

<Update label="1.53.0">
  ### Improvements

  * 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
  * Improved handling when dialog is not supported (more coming in subsequent release)

  ### Bug Fixes

  * Fix wallet images on mobile

  ### Other Changes

  * Set privy-session client cookie when not using server cookies
</Update>

<Update label="1.52.6">
  ### Bug Fixes

  * Ensure MFA only happens once for key export
  * Fix visual bug with key export triggered with MFA
</Update>

<Update label="1.52.5">
  ### Improvements

  * Add ready interface to useWallets
  * Add `onAccessTokenGranted` and `onAccessTokenRemoved` callbacks for access tokens
</Update>

<Update label="1.52.4">
  ### Other Changes

  * Minor bugfixes
</Update>

<Update label="1.52.3">
  ### Improvements

  * Add helper function `errorIndicatesMfaCanceled` to determine if a wallet error was due to MFA cancellation

  ### Bug Fixes

  * Fixes issue where Safari autofill would sometimes appear over invisible inputs
</Update>

<Update label="1.52.2">
  ### Improvements

  * Add a `console.warn` message when opening MFA modal in headless mode

  ### Bug Fixes

  * 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
  * Fix visual issue with scrollbars on export wallet button
</Update>

<Update label="1.52.1">
  ### Improvements

  * Improve default estimation of `maxPriorityFeePerGas` for OP Stack chains

  ### Bug Fixes

  * Ensure connections stored in memory are synchronized with local storage

  ### Other Changes

  * 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
</Update>

<Update label="1.52.0">
  ### Improvements

  * Add support for MFA on Embedded Wallet transactions
  * Add walletList configuration to PrivyProvider
  * Improve image loading on send transaction screen
  * Update embedded wallet export screen UI

  ### Bug Fixes

  * Fix typo on Moonpay on-ramp screen
  * Fix disabled state for insufficient funds on send transaction screen
</Update>

<Update label="1.51.1">
  ### Improvements

  * Improve WalletConnect integration
  * Expose modal visibility state via `useModalStatus`

  ### Bug Fixes

  * Fix MetaMask in cases where it is not EIP-6963 injected
</Update>

<Update label="1.51.0">
  ### Improvements

  * 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
  * Improve Arbitrum gas estimation.
  * Update SMS country code selector for better consistency
  * Update icons for continue with email/sms on landing screen

  ### Bug Fixes

  * Fix broken scroll within WalletConnect modal

  ### Other Changes

  * 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
</Update>

<Update label="1.50.1">
  ### Bug Fixes

  * Fix issue where transaction prompt can unexpectedly load twice
  * Handle WalletConnect re-pairing attempts better
</Update>

<Update label="1.50.0">
  <Warning>**Breaking Changes**</Warning>

  * Remove default border from login modal
  * Remove letter support in PIN screens

  ### Improvements

  * Update copy for email and sms login

  ### Bug Fixes

  * Fix Zerion wallet
  * Fix OAuth linking init URL when cookies are enabled
  * Fix infinite loader on login screen bug

  ### Other Changes

  * Login onComplete callback includes login method
  * Country code selector for phone numbers
</Update>

<Update label="1.49.2">
  ### Improvements

  * 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

  ### Bug Fixes

  * Fix `console.warn`ings related to WalletConnect
  * Fix issue around displayed gas estimates for OP Stack chains
  * Fix issue with `showWalletLoginFirst` login configuration being ignored
  * Fix icons and fonts on mobile login screen

  ### Other Changes

  * Bump `@coinbase/wallet-sdk` dependency
  * Display email/social buttons on landing screen if only one email/social option
  * Underline "Follow this guide" link on the `exportWallet` screen
</Update>

<Update label="1.49.0">
  ### Improvements

  * 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
  * New Modal UI, try it out on [our live demo](https://demo.privy.io)

  ### Bug Fixes

  * Fix error message on `signMessage` screen

  ### Other Changes

  * Design improvements on login modal
</Update>

<Update label="1.48.0">
  ### Improvements

  * Add support for unenrolling MFA methods
  * Support Arbitrum Sepolia testnet out of the box
  * Upgrade from the legacy UIs to use `@walletconnect/modal`

  ### Bug Fixes

  * Fix infinite polling on key export
  * Fix issue where `ready` was not properly set on return from OAuth redirects
</Update>

<Update label="1.47.2">
  ### Improvements

  * Add cancel helper to the `useMfa` hook
</Update>

<Update label="1.47.1">
  ### Other Changes

  * Extend captcha timeout
</Update>

<Update label="1.47.0">
  <Warning>**Breaking Changes**</Warning>

  * Remove create external wallet prompt from home screen

  ### Improvements

  * Add TOTP support for MFA

  ### Bug Fixes

  * Ensure developer-set gasLimit is always respected

  ### Other Changes

  * Pull WalletConnect image from peer
  * Changed twitter logo to X logo
</Update>

<Update label="1.46.1">
  ### Bug Fixes

  * Ensure correct RPC URLs are used
  * Fix bug with logout retries
  * Fix bug around unrecognized parameters in transactions populated by third-party SDKs
</Update>

<Update label="1.46.0">
  ### Improvements

  * Add support for Base and BNB with fiat onramp
</Update>

<Update label="1.45.3">
  <Warning>**Breaking Changes**</Warning>

  * Remove email and phone connect input tip

  ### Improvements

  * Add MFA retry logic
  * Add out-of-the-box support for Zora and Zora Goerli Testnet
  * Add config to enable/disable whether USD prices are shown in the embedded wallet transaction modal

  ### Bug Fixes

  * Fix email and phone input placeholder color
  * Fix transaction receipt button margin
  * Fix modal close firing multiple times
</Update>

<Update label="1.45.2">
  ### Improvements

  * Add password masking controls to embedded wallet password flows
</Update>

<Update label="1.45.1">
  ### Other Changes

  * Show error message for automatic wallet creation
  * Embedded wallet password confirmation type to "password"
</Update>

<Update label="1.45.0">
  ### Improvements

  * Add config for resolving tx after submission

  ### Bug Fixes

  * Ensure wallet proxy is explicitly loaded in signature request modal
</Update>

<Update label="1.44.0">
  ### Improvements

  * Enable SMS-based transaction MFA enrollment and verification

  ### Bug Fixes

  * Fix bug around prompting external wallets to switch chain on connection
  * Ensure correct chain ID is used during SIWE
</Update>

<Update label="1.43.4">
  ### Improvements

  * Enable configuration of RPC timeout duration for specific wallets
</Update>

<Update label="1.43.3">
  <Warning>**Breaking Changes**</Warning>

  * Deprecate `WalletWithMetadata.chainId` in favor of `BaseConnectedWallet.chainId`

  ### Bug Fixes

  * 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

  ### Other Changes

  * Allow SDK to send transactions even if USD prices cannot be fetched
</Update>

<Update label="1.43.2">
  ### Improvements

  * Improve error message when wallet attempts to take action on an unsupported chain

  ### Other Changes

  * Use new set password flow when setting a password during wallet creation
</Update>

<Update label="1.43.1">
  ### Improvements

  * Update contents of "Download Password" file
  * Improve UX of set password flow
</Update>

<Update label="1.43.0">
  ### Improvements

  * Improve user flow for setting a password on the embedded wallet
  * Add network configuration via `supportedChains` and `defaultChain`
</Update>

<Update label="1.42.0">
  ### Other Changes

  * Extend support for TikTok login
</Update>

<Update label="1.41.0">
  ### Improvements

  * Add LinkedIn OAuth to Social Logins

  ### Bug Fixes

  * Fix chain-specific block explorer links for the embedded wallet transaction details screen
</Update>

<Update label="1.40.5">
  ### Bug Fixes

  * Fix `signMessage` to support multiple calls in sequence
</Update>

<Update label="1.40.4">
  ### Improvements

  * Add button roles to login sections for screen reader visibility
</Update>

<Update label="1.40.3">
  ### Bug Fixes

  * Fix password strength value not updating on generate
</Update>

<Update label="1.40.2">
  ### Other Changes

  * Small design adjustments
</Update>

<Update label="1.40.1">
  ### Other Changes

  * Copy changes in wallet password and recovery flows
  * Do not generate initial value for wallet password form
</Update>

<Update label="1.40.0">
  ### Improvements

  * Upgrade wallet recovery from short passcodes to support full passwords

  ### Other Changes

  * Prevent closing embedded wallet password flow until password has been saved and confirmed
  * Bump @walletconnect/ethereum-provider version to 2.10.1
</Update>

<Update label="1.39.0">
  ### Improvements

  * Support setting a password on an existing wallet using `setWalletPassword`
</Update>

<Update label="1.38.0">
  ### Improvements

  * Add callbacks for `createWallet`

  ### Bug Fixes

  * 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

  ### Other Changes

  * Allow Twitter login on mobile, despite [unresolved Twitter OAuth bug](https://twittercommunity.com/t/web-oauth-2-0-is-broken-on-android-if-twitter-app-is-installed/169698)
  * Tweak documentation exports
</Update>

<Update label="1.37.1">
  ### Improvements

  * Update handling of `fundWalletConfig` parameter in `sendTransaction`
</Update>

<Update label="1.37.0">
  ### Improvements

  * Add support for configuring the SDK with additional chains from `@wagmi/chains`
</Update>

<Update label="1.36.1">
  ### Improvements

  * Improve wallet address formatting on key export screen
  * Improve logo spacing on `connectWallet` modal
  * Update fiat on-ramp copy

  ### Other Changes

  * 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
</Update>

<Update label="1.36.0">
  ### Improvements

  * Add support for MoonPay Fiat On-Ramp plugin

  ### Other Changes

  * Move towards using static JSON-RPC providers
</Update>

<Update label="1.35.1">
  ### Bug Fixes

  * 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
</Update>

<Update label="1.35.0">
  ### Improvements

  * Add support for using embedded wallets with a custom auth provider
  * Add a shim for `eth_requestAccounts` RPC for the embedded wallet
</Update>

<Update label="1.34.1">
  ### Improvements

  * Add optional support for turnstile CAPTCHA

  ### Bug Fixes

  * Fix broken link on "What is a wallet?"

  ### Other Changes

  * Make all fields in `ContractUIOptions` config optional
  * Persist the embedded wallet's chain ID across browser sessions
</Update>

<Update label="1.34.0">
  ### Improvements

  * Add support for Linea
  * Improve styling for Safari PWAs
  * Improve messaging for embedded wallet insufficient funds
  * Improve styling on when loading on mobile

  ### Bug Fixes

  * Fix issue with gas estimation
</Update>

<Update label="1.33.1">
  ### Improvements

  * Improve price display for transactions
  * Improve handling of zero-value transactions
</Update>

<Update label="1.33.0">
  ### Improvements

  * 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
</Update>

<Update label="1.32.1">
  ### Other Changes

  * Further improvements to sendTransaction UI customization
</Update>

<Update label="1.32.0">
  ### Improvements

  * Add Base support
</Update>

<Update label="1.31.0">
  <Warning>**Breaking Changes**</Warning>

  * Removed iframe message target specification

  ### Improvements

  * Update OAuth allowlist rejection handling
  * Improved handshake between Privy SDK and iframe
  * Improved interfaces for transaction UI Customizations

  ### Other Changes

  * Tightened login modal design
</Update>

<Update label="1.30.4">
  ### Improvements

  * Update "Learn more about wallets" hyperlink

  ### Bug Fixes

  * Fix sizing of connect wallet modal when no logo is set
</Update>

<Update label="1.30.3">
  ### Improvements

  * Add Sepolia support

  ### Bug Fixes

  * Fix issue with app logo vertical spacing
</Update>

<Update label="1.30.2">
  ### Bug Fixes

  * Resolve issue connecting to the embedded wallet when using cookies

  ### Other Changes

  * Launch the wallet recovery flow when requesting actions through the embedded EIP-1193 provider
</Update>

<Update label="1.30.1">
  ### Improvements

  * Add loading state during embedded wallet creation

  ### Bug Fixes

  * 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

  ### Other Changes

  * Narrow iframe messaging target
</Update>

<Update label="1.30.0">
  <Warning>**Breaking Changes**</Warning>

  * Remove AbortSignal.timeout (not supported in iOS \< 16)

  ### Improvements

  * Add a short delay before signing with MetaMask with WalletConnect to bypass issues with chain switching (awaiting upstream resolution)
  * Support signing UInt8Array messages
  * Add headless sendTransaction
  * Add embedded wallet support for eth\_signTypedData\_v4

  ### Bug Fixes

  * Fix inconsistent modal sizing bugs
  * Fix issue with wallet recovery flow for non-pinless wallets during headless message signing
</Update>

<Update label="1.29.0">
  ### Bug Fixes

  * Fix authenticated connect-only screen
  * Resolve issues with duplicate create embedded wallet calls
  * Fix issue with MetaMask wallet address not matching
  * Fix an issue with wallet `loginOrLink`
  * Fix sendTransaction modal issue with non-Ethereum chains

  ### Other Changes

  * Reduce SDK log chattiness
  * Fail fast when trying to link accounts for which there can only be one (sms, email, socials)
  * Increase default request timeout
  * Increase default request retries
</Update>

<Update label="1.28.4">
  ### Improvements

  * Update WalletConnect dependencies to fix reliability issues
</Update>

<Update label="1.28.3">
  <Warning>**Breaking Changes**</Warning>

  * Remove dependency on crypto.randomUUID()

  ### Improvements

  * Updates WalletConnect providers to support more JSON RPC methods

  ### Bug Fixes

  * Fix bug where signature requests would hang indefinitely on React 17
</Update>

<Update label="1.28.2">
  ### Improvements

  * Updates WalletConnect to support Privy's [supported networks](/basics/react/advanced/configuring-evm-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

  ### Bug Fixes

  * Fix `useWallets` hook to properly listen to user-triggered disconnects from MetaMask
</Update>

<Update label="1.28.1">
  ### Bug Fixes

  * Fix an issue where not depending on `@walletconnect/modal` would require build failures in certain build environments

  ### Other Changes

  * Load only WalletConnect v2-compatible wallets in the mobile modal. This also resolves paging overflow on mobile
</Update>

<Update label="1.28.0">
  ### Improvements

  * Add support for Celo (mainnet and Alfajores testnet), FVM (mainnet and Calibration testnet), and Base (Goerli testnet)

  ### Bug Fixes

  * Fix local development issue where React strict-mode duplicates calls to create embedded wallets
  * Fix UI issues related to embedded wallet gas estimation

  ### Other Changes

  * Migrate WalletConnect from v1.0 to v2.0.
  * Store wallet client information (MetaMask, Coinbase Wallet, Rainbow, etc.) used when connecting Ethereum accounts
</Update>

<Update label="1.27.0">
  ### Improvements

  * Add support for embedded wallet creation without requiring the user to set a PIN/passcode
  * Update `wallet_switchEthereumChain` to match standardized params

  ### Bug Fixes

  * Fix issue with linking/login from the `wallets` array
  * Fix issue where cookies weren't being properly set

  ### Other Changes

  * Set client-side cookies alongside our localStorage tokens for local development/testing purposes
</Update>

<Update label="1.26.2">
  ### Bug Fixes

  * Fix some issues with gas estimation
  * Fix issue where the `wallets` array wasn't getting properly updated

  ### Other Changes

  * Switch from `axios` to `ofetch`
</Update>

<Update label="1.26.1">
  ### Bug Fixes

  * Fixes related to connect-only support
  * Resolved an issue causing performance problems for pages with the `PrivyProvider` loaded

  ### Other Changes

  * `wallets` interface improvements
</Update>

<Update label="1.26.0">
  <Warning>**Breaking Changes**</Warning>

  * Deprecate `setActiveWallet`, `getEthereumProvider`, `getEthersProvider`, `getWeb3jsProvider` in favor of `wallets` array methods

  ### Improvements

  * New `wallets` array interface

  ### Bug Fixes

  * Fix WalletConnect chain switching

  ### Other Changes

  * Connect-only support
</Update>

<Update label="1.25.1">
  ### Bug Fixes

  * Fix issue where signMessage contents did not respect newlines
  * Fix an issue with internal modal rendering

  ### Other Changes

  * Decrease package size
  * Help circumvent issue with Phantom not supporting certain chains
</Update>

<Update label="1.25.0">
  ### Improvements

  * Improved recovery when sending a transaction to the EIP1193 provider
  * Improved visuals on low dollar amounts in embedded wallet transactions

  ### Other Changes

  * Internal rendering mechanism improvements
</Update>

<Update label="1.24.0">
  ### Other Changes

  * EIP-1193 provider for embedded wallets
  * Preliminary cookie support
</Update>

<Update label="1.23.2">
  ### Bug Fixes

  * Fix `ethereum` object checking
  * Fix an issue with client-side config checking for apps with only wallet login

  ### Other Changes

  * 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)
</Update>

<Update label="1.23.1">
  ### Improvements

  * Improve error handling related to Phantom extension `window.ethereum` hijacking
  * Improved client-side login config error handling and warnings

  ### Bug Fixes

  * Fix an issue where attempting to sign in with smart contract wallets would show an incorrect error
</Update>

<Update label="1.23.0">
  ### Improvements

  * Add support for client-side configuration of modal ordering, ToS & Privacy Policy, supported login methods
  * Support setting logo using img and svg elements
  * Add support for submitting transactions using embedded wallets

  ### Bug Fixes

  * Fix an issue where no logo caused an odd visual layout

  ### Other Changes

  * Rename PIN to passcode for embedded wallets
</Update>

<Update label="1.22.0">
  ### Improvements

  * Enable support for Phantom wallet
  * Add sign-in with Apple

  ### Other Changes

  * Allow override of API URL
</Update>

<Update label="1.21.0">
  ### Improvements

  * 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
</Update>

<Update label="1.20.3">
  <Warning>**Breaking Changes**</Warning>

  * Remove layout shifts from embedded wallet iframe

  ### Other Changes

  * Allow user to escape modal on clicking out or hitting ESC
</Update>

<Update label="1.20.2">
  ### Improvements

  * Improve embedded wallet recovery UIs
</Update>

<Update label="1.20.1">
  ### Improvements

  * Improve embedded wallet UIs
</Update>

<Update label="1.20.0">
  ### Improvements

  * Enable embedded wallet private key export

  ### Bug Fixes

  * Fix Metamask getting stuck in app store during deep linking
</Update>

<Update label="1.19.0">
  ### Improvements

  * 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

  ### Bug Fixes

  * Fix issues with blank tabs appearing on some browsers (ie Firefox)
</Update>

<Update label="1.18.0">
  ### Improvements

  * 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
  * Improve active wallet management
  * Add hover states to all buttons and clean up app color usage

  ### Bug Fixes

  * Fix issues when unlinking with multiple wallets

  ### Other Changes

  * Embedded wallet recovery
</Update>

<Update label="1.17.0">
  ### Improvements

  * Add option for automatic embedded wallet create flow after login

  ### Bug Fixes

  * Fix issue with signing using WalletConnect after page is refreshed
</Update>

<Update label="1.16.1">
  ### Improvements

  * Improve PIN entry for embedded wallets on mobile

  ### Bug Fixes

  * Fix `user.wallet` not getting set for embedded wallets if there is external wallet data in localStorage
  * Fix excessive WalletConnect loading that was hitting Infura a ton

  ### Other Changes

  * Disable background scrolling when the modal is open
</Update>

<Update label="1.16.0">
  ### Bug Fixes

  * Fix issue with long emails overflowing the modal
  * Fix height on wallet connection status screen to avoid reflows

  ### Other Changes

  * Release embedded wallets!
</Update>

<Update label="1.15.0">
  ### Improvements

  * Improved multi-wallet linking
  * Improved home screen when there's only one authentication option

  ### Other Changes

  * Disable passwordless code autofill on non-mobile
</Update>
