Release notes, Releases Flutter SDK

Flutter SDK Release Notes

4.21.0 (Sep 16th, 2026)

  • Added optional minVideoLengthRequired parameter to the VideoSelfie module.
  • Added locationUnavailable to IncodeSdkFlowError.
  • Added storageUnavailable to IncodeSdkFlowError. Android only. Flow APIs report it when the device cannot provide a writable images directory, so the flow now fails at start instead of losing captures later on.
  • On Android, the SDK reports the user-cancel tracking event as userCanceled instead of userCancelled. The onUserCancelled callback is unchanged. See the Migration Guide.
  • On Android, the Video Selfie V2 camera steps hide the close (X) button, so showCloseButton no longer applies to them. Other screens are unaffected.
  • On Android, Signature V2 reads its title and description from the new onboard_sdk_signature_capture_title and onboard_sdk_signature_capture_description string resources. See the Migration Guide.
  • Fixed a bug on iOS where a skipped, denied or unavailable location during the Geolocation module ended the startOnboarding / startOnboardingSection call immediately.

Working with Android SDK 5.53.0 and iOS SDK 5.49.0

4.20.0 (Aug 27th, 2026)

  • Added a setQuantityStrings method, used to localize plural texts on Android.
  • setTheme and setUXConfig now take a JSON String instead of Map<String, dynamic>. Encode maps with jsonEncode before calling. See the Migration Guide.
  • Added an optional sdkMode parameter to init(). It accepts the same values as setSdkMode, so you can set the mode during initialization.
  • Added a sendDiagnosticsData parameter to init(), for iOS only. Set to false to prevent the Incode SDK from sending diagnostic data. If omitted, the native SDK default is used (true). Ignored on Android.
  • Added configError and invalidInitParams codes to IncodeSdkInitError. Initialize failures now also include a human-readable message; onError still receives the error code.
  • Removed unused waitForTutorials parameter from init(). Tutorial behavior is configured per module with showTutorials; see Modules.
  • Updated the Android build requirements: compileSdk 36, Kotlin Gradle plugin 2.2.21, Android Gradle Plugin 8.9.1, and Gradle 8.14.5 are now the minimums. See the Migration Guide.

Working with Android SDK 5.51.0 and iOS SDK 5.47.0

4.19.0 (Jul 29th, 2026)

  • Added support for Dart 3.x. The plugin's SDK constraint was widened to >=2.12.0 <4.0.0.
  • Added optional voiceConsentLanguage parameter to OnboardingSessionConfiguration to set the voice consent language in the VideoSelfie module. Supported values: 'en', 'es', 'pt', and 'he'. Default is English.
  • Added SNA (Silent Network Authentication) to PhoneModule (only available via Flows integration and on a new variant -sna).
  • Replaced jailbreakDetected error code with integrityCompromised in IncodeSdkFlowError to indicate that the device integrity has been compromised (e.g., jail-broken or rooted).
  • Removed disableJailbreakDetection parameter from init() method.

Working with Android SDK 5.50.0 and iOS SDK 5.46.0

4.18.0 (Jun 23rd, 2026)

  • Added isInitialized method that returns a boolean indicating whether the SDK has been fully initialized.
  • Deprecated FaceAuthMode.server in startFaceLogin. Migrate to the FaceAuthentication module instead. FaceAuthMode.local and startFaceLogin() with local mode remain fully supported.
  • Deprecated IncodeSdkFlowError.badEnvDetected. It is no longer reported: the native SDK now terminates the process when a compromised device environment is detected, so the error can never be delivered via onError. It will be removed in a future release.
  • Fixed an Android ANR ("Input dispatching timed out" / FocusEvent) that could occur at startup. SDK setup calls (initialize, setSdkMode, setTheme, setUXConfig, etc.) now run off the platform main thread, with results marshaled back to it.

Working with Android SDK 5.49.0 and iOS SDK 5.44.0

4.17.0 (May 28th, 2026)

  • Updated the default values of the faceMaskCheck, eyesClosedCheck, headCoverCheck and lensesCheck parameters to true in the FaceAuthentication module.
  • Updated the default values of the faceMaskCheck and lensesCheck parameters to true in the SelfieScan module.
  • Fixed a bug on iOS where the MLConsent module screen was not shown when type was not provided. The type parameter of MLConsent module is now required.
  • Fixed: showCloseButton(allowUserToCancel: false) now correctly hides the close button on Android. Previously the button was always shown regardless of the parameter value.

Working with Android SDK 5.48.0 and iOS SDK 5.44.0

4.16.0 (May 12th, 2026)

  • Added isSkippable flag to the Geolocation module. It allows the geolocation step to be skipped. When set to true, skipping or denying location permission advances the flow instead of ending the session with a permission error.
  • Added allAttemptsExhausted flag to IdScanResult and SelfieScanResult indicating when capture or upload retries are no longer available.
  • Added per-attempt IdScan callbacks onIdFrontAttemptCompleted / onIdBackAttemptCompleted. They fire after every individual capture attempt, including intermediate failures. The terminal attempt is signaled when IdScanResult.allAttemptsExhausted is true or when the attempt succeeds.
  • Added per-attempt SelfieScan callback onSelfieScanAttemptCompleted. It fires after every individual selfie capture attempt, including intermediate failures. The terminal attempt is signaled when SelfieScanResult.allAttemptsExhausted is true or when the attempt succeeds.

Working with Android SDK 5.47.0 and iOS SDK 5.43.0

4.15.0 (Apr 29th, 2026)

  • Added deleteLocalUserData method.
  • Added new internal Android dependency com.incode.sdk.hybrid-bridge that is required to have to a successful build. In case you're experiencing issues fetching it during gradle sync phase please contact your Incode representative, as your account access might have to be updated.
  • Fixed UIScene lifecycle crash on iOS.

Working with Android SDK 5.46.0 and iOS SDK 5.42.0

4.14.0 (Apr 7th, 2026)

  • Added support for Android SDK initialization without api key and with e2ee url.
  • Added parameter showIdTypeChooser to IDScan module. ID Document Chooser visibility is now controlled solely by the showIdTypeChooser parameter in addIdScan. Previously, setting idType implicitly hid the chooser. The configured idType is now only used as a pre-selection when the chooser is disabled (showIdTypeChooser == false)
  • Added new parameter e2eeEncryptionEnabled for startFaceLogin method that enables End-to-End Encryption (E2EE) on Android.
  • Introduced startFaceMatch method to perform a face match without showing UI.
  • Fixed a bug caused by flowTag having been an optional parameter of startNewOnboardingSection. It is now required to provide a flowTag to use startNewOnboardingSection.
  • Removed parameters disableHookDetection, disableEmulatorDetection, disableRootDetection, disableVirtualEnvironmentDetection from init method.
  • Removed simulatorDetected, rootDetected, hookDetected, virtualEnvDetected from IncodeSdkFlowError.

Working with Android SDK 5.45.1 and iOS SDK 5.41.0

4.13.0 (Feb 26th, 2026)

  • Added enableFrontShownAsBackCheck and enableBackShownAsFrontCheck optional parameters to the VideoSelfie module.
  • Deprecated autocaptureUxMode parameter from the IdScan module.
  • Deprecated enableIdSummaryScreen parameter from the ProcessId module.
  • Fixed issue preventing custom V2 theme from applying when configured via JSON.

Working with Android SDK 5.44.0 and iOS SDK 5.40.0

4.12.0 (Feb 6th 2026)

  • Added new Flutter SDK variant '-l', so now Flutter SDK is delivered in multiple variants: 4.12.0: Standard variant 4.12.0-vc: Includes streaming 4.12.0-nfc: Includes NFC 4.12.0-l: Includes local face recognition models
  • Removed the enableRotationOnRetakeScreen parameter from the IdScan module. Captured documents are now always displayed in a vertical orientation on the Review Screen.
  • Renamed the showRetakeScreen parameter to showRetakeScreenForManualCapture in the IdScan module.
  • Renamed the showAutoCaptureRetakeScreen parameter to showRetakeScreenForAutoCapture in the IdScan module.

Working with Android SDK 5.43.0 and iOS SDK 5.39.1

4.11.0 (Dec 2nd 2025)

  • Added optional sslPinningEnabled and forceSSLPinning parameters to the init method to support SSL pinning configuration.
  • Added title and description params to the Signature module.
  • Fixed error handling on Android.

Working with Android SDK 5.41.1 and iOS SDK 5.38.0

4.10.0 (Sep 25th 2025)

  • Added support for the Face Authentication module that performs a selfie scan to authenticate the user as part of the flow or a workflow.
  • Introduced setFaceAuthenticationHint method to provide a face authentication hint.
  • Introduced setUXConfig method for UX customizations in V2 IdScan and SelfieScan modules.

Working with Android SDK 5.40.1 and iOS SDK 5.37.0

Was this page helpful?