Fixes decoding of organization roles and permissions with null descriptions, enterprise connections without a logo, and session actors that were not parsed as JSON. Also persists the cached client and environment off the main thread, drops stale session-ending responses, decodes credit ledger timestamps as RFC 3339, and shows Delete account based on deleteSelfEnabled.
iOS SDK
npx @buildinternet/releases get clerk-ios-sdkClerk.has now only authorizes active sessions instead of any session. PhoneNumberUtility metadata decoding is reused per call rather than decoded each time.
The code resend countdown now keeps running for its full cooldown, and a failed reconfigure that deleted data signs out in memory instead of leaving a stale session. Also adds a framework device token compare-and-set, runs a host dismiss action when an embedded AuthView closes, and releases lifecycle managers when dropped.
The Billing has() method and read API call shapes are simplified, a breaking change for existing callers. Also fixed refreshed tokens not syncing with session state, non-idempotent requests being retried after a possible server-side effect, and a telemetry flush loop keeping the collector alive.
The Nuke package URL no longer includes the .git suffix, fixing resolution in Xcode Cloud.
Biometric reverification now requires the currently enrolled biometric set, so users who have changed their enrolled fingerprints or Face ID must re-authenticate with the new set. Also includes an iPhone Duo layout change.
Adds biometric session reverification and fixes session handling to fail closed when has() tokens mismatch. Bundled agent skills are removed from the SDK.
Added UserDefaults privacy manifests and an empty AGENTS.md file.
The SDK now decodes commerce settings from the environment and exposes GET APIs for plans, subscriptions, and credits. Added checkAuthorization and has methods for roles, features, and plans, plus authentication error translations and a safe-area fix for the development mode footer.
AuthView now accepts a completion callback, letting callers know when the authentication flow finishes.
Fixed a UI bug where the observable environment wasn't being forwarded into nested sheets, which could cause environment-dependent UI elements to misbehave in embedded views.
Passkeys are now supported as a second factor for authentication, and trusted devices have been renamed to biometric credentials. Auth completion events are also now emitted after acceptance.
Added the ability to revoke trusted-device credentials, and exposed embedded-auth notifications so hosts can react to authentication events from inside their own UI.
Fixes an issue with the OTP submission lifecycle and disables autocorrection for authentication identifiers to avoid input errors.
Fixed the Clerk environment being applied incorrectly within the edit profile sheet.
Added transfer for sign-up flows and session minter token freshness handling. Also added Ukrainian localization and renamed "Client Trust" to "Device Trust" in doc comments.
Fixed passkey authorization error handling. Embedded components now keep their own navigation chrome.
Keychain synchronization failures are now handled gracefully, and only actionable passkey errors are presented to the user.


