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

# Flutter changelog

This is the changelog for the Privy Flutter SDK.

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

  * `PrivyUser.refresh()` now calls the native SDK's `refresh()` method.
</Update>

<Update label="0.9.0" date="2026-06-03" rss={{ title: "0.9.0" }}>
  ### Added

  * MFA support with SMS, TOTP, and Passkey methods on Android and iOS.
  * `setConfig` and `resumeBlockedActions` methods for MFA configuration.
  * `mfaMethods` field and MFA interfaces on `PrivyUser`.
  * SMS MFA: enroll, verify, and unenroll operations.
  * TOTP MFA: generate secret, enroll, verify, and unenroll operations.
  * Passkey MFA: enroll, verify, and unenroll operations.
  * OAuth account linking and unlinking on iOS and Android.
  * Typed MFA exceptions with native bridge error propagation.

  ### Fixed

  * Fixed logout idempotency issue.
</Update>

<Update label="0.8.0" date="2026-05-20" rss={{ title: "0.8.0" }}>
  ### Added

  * Telegram OAuth login on Android and iOS.
  * Support for binary payloads in `generateAuthorizationSignature`.
</Update>

<Update label="0.7.0" date="2026-05-19" rss={{ title: "0.7.0" }}>
  ### Added

  * Add `generateAuthorizationSignature` support for iOS and Android.
  * Add signer management for embedded wallets:
    * Add signers to embedded wallets.
    * Remove signers from embedded wallets.
</Update>

<Update label="0.6.0" date="2025-12-19" rss={{ title: "0.6.0" }}>
  ### Added

  * Email Unlink:
    * Added `Future<Result<PrivyUser>> privy.email.unlink(email)` for unlinking email addresses from user accounts

  * SMS Unlink:
    * Added `Future<Result<PrivyUser>> privy.sms.unlink(phoneNumber)` for unlinking phone numbers from user accounts

  ### Changed

  * Unlink methods now return the updated user:
    * Account unlinking methods now return `Result<PrivyUser>` instead of `Result<void>`, providing immediate access to the updated user object after unlinking
    * **SIWE:** `privy.siwe.unlink(address)` now returns `Result<PrivyUser>`
    * **SIWS:** `privy.siws.unlink(address)` now returns `Result<PrivyUser>`
    * **Passkey:** `privy.passkey.unlink(credentialId)` now returns `Result<PrivyUser>`

  * Link methods now return the updated user:
    * All account linking methods now return `Result<PrivyUser>` instead of `Result<void>`, providing immediate access to the updated user object after linking
    * **Email:** `privy.email.linkWithCode()` now returns `Result<PrivyUser>`
    * **SMS:** `privy.sms.linkWithCode()` now returns `Result<PrivyUser>`
    * **SIWE:** `privy.siwe.link()` now returns `Result<PrivyUser>`
    * **SIWS:** `privy.siws.link()` now returns `Result<PrivyUser>`
    * **Passkey:** `privy.passkey.link()` now returns `Result<PrivyUser>`
</Update>

<Update label="0.5.0" date="2025-12-02" rss={{ title: "0.5.0" }}>
  ### Added

  * Passkey Authentication:
    * Added `privy.passkey.signup(relyingParty, displayName)` for passkey registration with WebAuthn
    * Added `privy.passkey.login(relyingParty)` for passkey authentication
    * Added `privy.passkey.link(relyingParty, displayName)` for linking passkeys to existing authenticated users
    * Added `privy.passkey.unlink(credentialId)` for unlinking passkeys from user accounts

  * SIWS Authentication:
    * Added Sign-In with Solana (SIWS) support
    * Added `privy.siws.generateMessage(params)` method to create SIWS messages for Solana wallet signing
    * Added `privy.siws.login(message, signature, params, metadata)` method for authenticating users with SIWS signatures
    * Added `privy.siws.link(message, signature, params, metadata)` method for linking Solana wallets to authenticated users
    * Added `privy.siws.unlink(address)` method for unlinking Solana wallets from user accounts

  * Solana Transaction Support:
    * Added `embeddedSolanaWallet.signTransaction(transaction)` for Solana transaction signing
    * Added `embeddedSolanaWallet.signAndSendTransaction(transaction)` for signing and broadcasting Solana transactions

  ### Deprecated

  * SIWE method names updated for consistency and brevity:
    * `privy.siwe.generateSiweMessage()` → Use `privy.siwe.generateMessage()` instead
    * `privy.siwe.loginWithSiwe()` → Use `privy.siwe.login()` instead
    * `privy.siwe.linkWithSiwe()` → Use `privy.siwe.link()` instead
    * `privy.siwe.unlinkWallet()` → Use `privy.siwe.unlink()` instead

  ### Changed

  * iOS Platform Requirements:
    * Minimum iOS version bumped to 17.0 to support latest PrivySDK
</Update>

<Update label="0.4.0" date="2025-09-15" rss={{ title: "0.4.0" }}>
  ### Added

  * Email Authentication:
    * Added `updateWithCode` method to update user email addresses with OTP verification

  * SMS Authentication:
    * Added `linkWithCode` method to link phone numbers to existing user accounts
    * Added `updateWithCode` method to update user phone numbers with OTP verification

  * Ethereum RPC Request Methods:
    * Added `EthereumRpcRequest.personalSign(String message, String address)` for personal message signing
    * Added `EthereumRpcRequest.secp256k1Sign(String hash)` for secp256k1 signature generation
    * Added `EthereumRpcRequest.ethSign(String address, String message)` for Ethereum message signing
    * Added `EthereumRpcRequest.ethSignTypedDataV4(String address, String typedDataJson)` for EIP-712 typed data signing
    * Added `EthereumRpcRequest.ethSignTransaction(String transactionJson)` for transaction signing
    * Added `EthereumRpcRequest.ethSendTransaction(String transactionJson)` for direct transaction sending
</Update>

<Update label="0.3.0" date="2025-08-15" rss={{ title: "0.3.0" }}>
  ### Added

  * SIWE Authentication:
    * Added Sign-In with Ethereum (SIWE) support for iOS and Android
    * Added `generateSiweMessage` method to create SIWE messages for wallet signing
    * Added `loginWithSiwe` method for authenticating users with SIWE signatures
</Update>

<Update label="0.2.0" date="2025-08-05" rss={{ title: "0.2.0" }}>
  ### Added

  * secp256k1\_sign Support:
    * Added support for `secp256k1_sign` RPC method in Ethereum wallet provider
    * Added secp256k1 signing functionality to example app wallet screen

  * privy.getUser() Method:
    * `Future<PrivyUser?> getUser()` - awaits ready under the hood, then returns user if authenticated

  ### Deprecated

  * eth\_sendRawTransaction:
    * `eth_sendRawTransaction` RPC method is deprecated and has been removed in this version
    * Use `eth_sendTransaction` instead for sending transactions

  * Privy.user:
    * `Privy.user` - Developers should use `Future<PrivyUser?> getUser()` instead
</Update>

<Update label="0.1.0" date="2025-07-29" rss={{ title: "0.1.0" }}>
  ### Added

  * OAuth Authentication:
    * Added Google OAuth login support for iOS and Android
    * Added Apple Sign In support for iOS (requires iOS 13.0+)
    * Added Twitter OAuth login support for iOS and Android
    * Added Discord OAuth login support for iOS and Android
    * OAuth redirect handling via custom URL schemes

  * getAuthState Method:
    * Added `getAuthState` method to retrieve the current authentication state

  ### Deprecated

  * `suspend fun awaitReady()` - Developers should use `suspend fun getAuthState(): AuthState` instead
  * `Privy.isReady`
</Update>

<Update label="0.1.0-beta.1" date="2025-06-05" rss={{ title: "0.1.0-beta.1" }}>
  ### Added

  * Wallet Management:
    * Added `createAdditional` parameter to `createSolanaWallet` to create multiple Solana wallets

  * iOS SDK Compatibility:
    * Updated iOS SDK version to `2.0.0-beta.11`.

  * Android SDK Compatibility:
    * Updated Android SDK version to `0.1.0-beta.1`.
</Update>

<Update label="0.0.8" date="2025-04-25" rss={{ title: "0.0.8" }}>
  ### Updated

  * Public API:
    * Exposed `EmbeddedSolanaWallet` object as publicly accessible.
</Update>

<Update label="0.0.7" date="2025-04-21" rss={{ title: "0.0.7" }}>
  ### Added

  * User Management:
    * Added `refresh` function to `PrivyUser` that allows developers to directly refresh user data.

  ### Updated

  * iOS SDK Compatibility:
    * Updated iOS SDK version to `2.0.0-beta.5`.
</Update>

<Update label="0.0.6" date="2025-04-11" rss={{ title: "0.0.6" }}>
  ### Updated

  * iOS SDK Compatibility:
    * Updated iOS SDK version to `2.0.0-beta.5`.
</Update>

<Update label="0.0.5" date="2025-04-08" rss={{ title: "0.0.5" }}>
  ### Updated

  * iOS SDK Compatibility:
    * Updated iOS SDK version to `2.0.0-beta.4`.
</Update>

<Update label="0.0.4" date="2025-04-01" rss={{ title: "0.0.4" }}>
  ### Added

  * Flutter SDK:
    * Added CocoaPods support for easier iOS integration.

  ### Updated

  * iOS SDK Compatibility:
    * Updated SDK for compatibility with iOS SDK version `2.0.0-beta.3`.
</Update>

<Update label="0.0.3" date="2025-03-10" rss={{ title: "0.0.3" }}>
  ### Fixed

  * Authentication:
    * Fixed issue in `awaitReady` to ensure `authState` properly updates on initialization.
</Update>

<Update label="0.0.2" date="2025-02-26" rss={{ title: "0.0.2" }}>
  ### Added

  * Authentication:
    * Implemented `getAccessToken` method to retrieve the user's authentication token.

  ### Updated

  * Native SDK Integration:
    * Added support for `getAccessToken` call in native iOS & Android SDKs.
    * Refactored native code for improved maintainability and efficiency.
</Update>

<Update label="0.0.1" date="2025-02-20" rss={{ title: "0.0.1" }}>
  ### Added

  * Authentication:
    * Login with Phone
    * Login with Email
    * Login with Custom Auth

  * Embedded Wallets:
    * Wallet creation (Ethereum & Solana)
    * Automatic wallet recovery
    * Signing messages & transactions
    * Broadcasting transactions
    * Multiple wallet support

  * Platform Support:
    * Native integration with iOS & Android SDKs
</Update>
