Skip to content

Releases: privy-io/privy-ios

2.9.2

02 Mar 22:20
5bac0c1

Choose a tag to compare

Fixed

  • Adds more descriptive error logging in wallet flows

2.9.1

23 Feb 21:42
b9b67f0

Choose a tag to compare

Fixes

  • Circular dependency during SDK init

2.9.0

20 Feb 17:56
90a4c9a

Choose a tag to compare

Note: Do not use this release

This release has a known SDK crash, which is fixed in 2.9.1. Please use 2.9.1 or higher.

Added

  • Embedded wallets now have an imported boolean field.
  • Added a new config field: PrivyConfig.PrivyEmbeddedWalletConfig.disableAutomaticmigration.
  • Supports embedded wallet migration onto TEE execution (automatically or manually via user.migrateWalletsIfNeeded())
  • Add OAuth account linking.
  • Operations on wallets that need MFA now throw .embeddedWalletFailure(reason: .missingOrInvalidMfa) if MFA is not provided.
  • Add support for verifying TOTP MFA codes via user.mfa.totp.verify.submit(code: String).
  • Add support for sending SMS MFA codes via user.mfa.sms.verify.sendCode().
  • Add support for verifying SMS MFA codes via user.mfa.sms.verify.submit(code: String).
  • Add support for verifying passkey MFA codes via user.mfa.passkeys.verify.submit(relyingParty: String).
  • Add support for enrolling TOTP MFA via:
    • user.mfa.totp.enroll.generateSecret().
    • user.mfa.totp.enroll.submit(code: String).
  • Add support for enrolling SMS MFA via:
    • user.mfa.sms.enroll.sendCode(to phoneNumber: String).
    • user.mfa.sms.enroll.submit(code: String, sentTo phoneNumber: String).
  • Add support for enrolling passkey MFA via:
    • user.mfa.passkeys.enroll.submit(credentialIds: [String])
  • Add support for unenrolling TOTP MFA via user.mfa.totp.unenroll().
  • Add support for unenrolling SMS MFA via user.mfa.sms.unenroll().
  • Add support for unenrolling passkey MFA via user.mfa.passkeys.unenroll(removeForLogin:). When removeForLogin is true (the default), the passkey is also unlinked from login.
  • Add support for keeping unlinked passkeys as a valid MFA method via privy.passkey.unlink(credentialId:, removeAsMfa: false).
  • Add support for automatic MFA prompting via PrivyMFAConfig(delegate:) in PrivyConfig, or at runtime via privy.mfa.setConfig(_:). When a delegate is set, the SDK automatically calls onMfaRequired(for:) when wallet operations require MFA verification.
  • Add .embeddedWalletFailure(reason: .timeoutOnMfa) error thrown when MFA verification times out.
  • Add privy.mfa.resumeBlockedActions() to unblock pending wallet operations after MFA verification.
  • Add privy.user.generateAuthorizationSignature

2.9.0-beta.1

02 Feb 19:27
da2b51e

Choose a tag to compare

2.9.0-beta.1 Pre-release
Pre-release

Added

  • Added support for OAuth account linking.
  • Operations on wallets that need MFA now throw .embeddedWalletFailure(reason: .missingOrInvalidMfa) if MFA is not provided.
  • Added support for verifying TOTP MFA codes via user.mfa.totp.verify.submit(code: String).
  • Added support for sending SMS MFA codes via user.mfa.sms.verify.sendCode().
  • Added support for verifying SMS MFA codes via user.mfa.sms.verify.submit(code: String).
  • Added support for verifying passkey MFA codes via user.mfa.passkeys.verify.submit(relyingParty: String).
  • Added support for enrolling TOTP MFA via:
    • user.mfa.totp.enroll.generateSecret().
    • user.mfa.totp.enroll.submit(code: String).
  • Added support for enrolling SMS MFA via:
    • user.mfa.sms.enroll.sendCode(to phoneNumber: String).
    • user.mfa.sms.enroll.submit(code: String, sentTo phoneNumber: String).
  • Added support for enrolling passkey MFA via:
    • user.mfa.passkeys.enroll.submit(credentialIds: [String])
  • Added support for unenrolling TOTP MFA via user.mfa.totp.unenroll().
  • Added support for unenrolling SMS MFA via user.mfa.sms.unenroll().
  • Added support for unenrolling passkey MFA via user.mfa.passkeys.unenroll(removeForLogin:). When removeForLogin is true (the default), the passkey is also unlinked from login.
  • Added support for keeping unlinked passkeys as a valid MFA method via privy.passkey.unlink(credentialId:, removeAsMfa: false).
  • Added support for automatic MFA prompting via PrivyMFAConfig(delegate:) in PrivyConfig, or at runtime via privy.mfa.setConfig(_:). When a delegate is set, the SDK automatically calls onMfaRequired(for:) when wallet operations require MFA verification.
  • .embeddedWalletFailure(reason: .timeoutOnMfa) error now thrown when MFA verification times out.
  • Added privy.mfa.resumeBlockedActions() to unblock pending wallet operations after MFA verification.
  • Added privy.user.generateAuthorizationSignature - Experimental Generates a cryptographic signature for an API request payload using the authenticated user's signing key.

2.8.0

18 Dec 18:53
e9bb25f

Choose a tag to compare

What's Changed

Full Changelog: 2.7.1...2.8.0

2.7.1

09 Dec 19:48
fb71127

Choose a tag to compare

Added

  • Expose MFA methods on the PrivyUser object

2.7.0

25 Nov 23:37
56dc1e1

Choose a tag to compare

Added

  • Passkey login
  • Passkey signup
  • Passkey link
  • Passkey unlink

2.6.0

20 Nov 20:02

Choose a tag to compare

Added

  • Adds support for signTransaction to the Solana provider
  • Adds support for signAndSendTransaction to the Solana provider
  • Adds support for login and linking through Sign in with Solana
  • Adds support for unlinking an external Solana wallet

Deprecated

The following methods have been deprecated in favor of new names, which have identical functionality:

  • .siwe.generateSiweMessage.siwe.generateMessage
  • .siwe.loginWithSiwe.siwe.login
  • .siwe.linkWithSiwe.siwe.link

Changed

  • Minimum iOS version is now 17.0
  • Minimum macOS version is now 14.0
  • Bumps internal dependencies to latest versions

2.5.3

12 Nov 18:34
e82a9f0

Choose a tag to compare

Fixes

  • Add some additional guard rails to webview timeout issues

2.5.2

06 Nov 22:25

Choose a tag to compare

  • Adds some safeguards to flows to prevent timeouts