otpless_headless_flutter 3.0.0
otpless_headless_flutter: ^3.0.0 copied to clipboard
Standalone SDK for Otpless Headless functionality.
3.0.0 (21st September 2026) #
Breaking #
initialize(..., timeout:)has been removed. It was never read by either native SDK and was not sent over the method channel; droptimeout:from your call site.
Features #
initialize(appId, sslPinning: OtplessSslPinning.enabled)opts in to SSL certificate pinning of the OTPLESS backend on both Android and iOS. Default isOtplessSslPinning.disabled, so existing integrations are unchanged. When enabled and validation fails, the SDK fails closed and the response callback receivesresponseType: "FAILED",statusCode: 5004,response: {"errorCode": "5004", "errorMessage": "SSL pin validation failed"}; no auth request leaves the device.initialize(appId, loginUri: ...)is now honoured on both platforms (it was previously impossible to set from Dart).- Android: Google Play Integrity attestation ships inside
otpless-headless-sdk 2.0.1. It is internal to the SDK and needs no plugin API.
Changes #
- Android: bump
otpless-headless-sdk0.9.0→2.0.1. - iOS: bump
OtplessBM/Core2.3.2→3.0.1; production host is nowsigma.otpless.app. - iOS: the response delegate is bound inside
initialize(parity with Android), so aFAILEDemitted beforesetResponseCallbackis no longer dropped. - Dart: the response-callback dispatcher is null-safe; a native event arriving before
setResponseCallbackno longer throws. - Podspec
s.versionnow trackspubspec.yaml(was stuck at0.0.1). - Wrapper attribution: the plugin now declares itself to the native SDKs at
initialize, so backend telemetry attributes the session to the Flutter wrapper rather than to a plain native integration. The device event reportsplatform = "otpless-headless-sdk(flutter-android-3.0.0)"on Android andplatform = "otpless-headless(flutter-ios-3.0.0)"on iOS. - The attribution token embeds this plugin's own version, so telemetry distinguishes both the platform and the plugin release that produced a session. It is computed in Dart from a single internal constant kept in lock-step with
pubspec.yaml(a unit test fails the build if the two drift); the Kotlin and Swift bridges only forward it. It is not merchant-facing: no new Dart parameter, and the only change to theinitializemethod-channel payload is the internalbuildPlatformkey.
2.0.0 (27th July 2026) #
Breaking #
- Renamed
startBackground(callback, config)→startOnetap(callback, config). Update all Dart call sites. See README migration section. - Response type set grew: consumers may now receive
AUTH_TERMINATED,MFA_FACTOR_COMPLETED, and (Android only)AUTO_FLOW_ACTIONfrom the response callback. - Toolchain: Android consumers need Android Gradle Plugin 8.9.1+ and
compileSdkVersion36+ (transitive AndroidX requirement ofotpless-headless-sdk:0.9.0).
Android #
- Bump
otpless-headless-sdktov0.9.0. - New public APIs:
setMfaEnabled,initSession,getActiveSession,logoutSession,startInBackground,checkSimBindingStatus,clearSimBinding,setSimBindingEnabled,closeDialogIfOpen. - Request-parser hardening: guards against unknown channels and empty-string setters; now accepts
code,extras,requestId,deviceFingerprintModeon thestart/startInBackgroundrequest map.
iOS #
- Bump
OtplessBM/Coreto2.3.2. startOnetap,sendUserAuthEventnow execute on iOS (were previously no-ops).- New public APIs mirroring Android:
setMfaEnabled,initSession,getActiveSession,logoutSession.
1.1.0 (12th Feb 2026) #
Android #
- [fix] security exception and mutex fix
- [fix] android sdk update 0.6.6
1.0.6 (15th Jan 2026) #
Android #
- Update
otpless-headless-sdktov0.6.3 - Passkey support
- Background auth support
- Airtel and Vi support
1.0.5 (28th November 2025) #
Android #
- Update
otpless-headless-sdktov0.3.8 - Update Truecaller low memory fix
1.0.4 (29th August 2025) #
1.0.3 (16th July 2025) #
1.0.2 (3rd July 2025) #
Feature
- truecaller support
- android sdk update to 0.3.0
- ios sdk update to 1.1.6
1.0.0 (8th April 2025) #
- First release of
Flutter Headless SDK