didit_sdk 4.0.8
didit_sdk: ^4.0.8 copied to clipboard
Didit Identity Verification SDK for Flutter. Wraps native iOS and Android SDKs for document scanning, NFC passport reading, face verification, and liveness detection.
4.0.8 #
- Update native iOS SDK to 4.0.8
- Update native Android SDK to 4.0.8
- Add the Document AI verification step — prompts the user to upload the requested document(s) for AI-based data extraction, localized across all supported languages (both platforms)
- KYB: the document-upload step now lists the fields the uploaded document must clearly show (company name, type, incorporation date, jurisdiction of registration, registered address), and the key-people ownership percentage is now optional unless the session marks it required (both platforms)
- Fix passive-liveness video recorded horizontally stretched on iPhone 17 / 17 Pro / 17 Pro Max — the new Center Stage front sensor is now pinned to a portrait orientation (iOS)
- Fix the active-liveness face intro screen briefly appearing behind the processing overlay when the liveness step finishes (iOS)
- Correct the success and failure status texts shown after a face (liveness) upload (iOS)
- Hide the document detection corner guides when auto-detection isn't bundled (Core/NFC variants) or fails to load — only the static document frame guide remains (both platforms)
- Fix a KYB company-select crash when the registry returns accounts/industries as an object/string instead of an array (Android)
- No breaking changes: this release tracks the native 4.0.8 SDKs with no Flutter API changes
4.0.6 #
- Update native iOS SDK to 4.0.6
- Update native Android SDK to 4.0.6
- iOS: fix the App Store privacy-manifest rejection ITMS-91061 (and the sibling signature check ITMS-91065) for
OpenSSL.framework— the native SDK now resolves OpenSSL-Universal 3.3.3001, which ships its ownPrivacyInfo.xcprivacyand code signature; the NFC dependencyNFCPassportReaderwas bumped 2.1.2 → 2.3.0 and verified end-to-end against a real chip read. No API change - Android: add PACE (Password Authenticated Connection Establishment) support for NFC passport / ID chip reading
- KYB on both platforms: new company card, key-people and associated-parties screens, with key-people reuse across steps
- KYB on both platforms: a country-style US state selector in company search and confirmation (Android replaces the old state dropdown; iOS adds the selector), white-labeled company country/state search inputs with a region label, and an editable company country in the confirmation view
- KYB on both platforms: key-people data is now prefilled/preserved when the preceding step is backend-only, and email is no longer required for a key person when KYC isn't required for them
- KYB fixes: company selection failing to advance on partial registry data (both platforms), company-search auto-detection (Android), and accepted-country resolution for alpha-2 codes (Android)
- Fix the backend-processing loader getting stuck on the AML screening step (both platforms)
- Fix country/region display issues: some countries showed their alpha-3 code instead of the country name (both platforms); the flag not updating when changing the selected country (iOS); dropdown chevron visibility in KYB and document country inputs (Android)
- White-label / UI fixes: incorporation date-picker colors and KYB company input caret color (Android); document back-scan preview rotation, country/state picker search-icon visibility, start-screen feature icons aligned with Android & web, phone country picker aligned with the KYB selector, and KYB button spacing/separator cleanup (iOS)
- Add Russian ID & passport document-override translations, plus a general translations refresh, on both platforms
- Fix the iOS verification UI opening twice (Flutter plugin)
- No breaking changes: this release tracks the native 4.0.6 SDKs with no Flutter API changes
4.0.5 #
- Update native iOS SDK to 4.0.5
- Update native Android SDK to 4.0.5 (Android moves directly from 4.0.3 to 4.0.5 to stay in lockstep with iOS — there was no separate native Android 4.0.4)
- iOS: fix App Store rejection ITMS-90338 — the bundled native libraries (MediaPipe's RE2 / ICU / TensorFlow Lite) are no longer exported in the framework's dyld export trie, so App Store / TestFlight uploads of apps embedding the SDK are no longer flagged for the
re2::*private-symbol collision. No API or runtime change - Align every input and selector to the white-label theme on both platforms (text fields, OTP, dropdowns, country/phone pickers, questionnaire fields); unselected radio buttons now use the selected color at reduced opacity so they stay visible on every theme
- Align the KYB screens to the white-label theme on both platforms: documents upload view, key-people cards and editor, the awaiting-users view, and company search/results — including status badges, low-contrast text/icons, and the "enter company data manually" link color
- Fix passive liveness on both platforms: Android no longer shows a frozen preview after capture (the camera restarts correctly on retry), iOS no longer occasionally exceeds the backend upload size limit, and face-image compression now matches the web frontend
- Android: fix the KYB accepted-countries list disappearing when navigating back to the company search
- Add Algeria-specific NFC intro videos (
DZA) for ID and passport on both platforms; the instructional video is now resolved from the document's detected country - iOS: suppress the camera shutter sound on still capture (iOS 18+, where allowed) and fix a stretched / rotated front-camera preview on newer devices
- No breaking changes: this release tracks the native 4.0.5 SDKs with no Flutter API changes
4.0.4 #
- Update native iOS SDK to 4.0.4
- iOS: improve the post-active-liveness loader — dismiss the liveness WebView immediately on success and show the native processing/success sheet over an opaque background, then cross-fade into the next step, removing the residual blank/flash that could appear between active liveness and the next step
- Android SDK unchanged at 4.0.3
- No breaking changes: no Flutter API changes
4.0.3 #
- Update native Android SDK to 4.0.3
- Update native iOS SDK to 4.0.3
- Pin both native SDKs to an exact
4.0.3version — the iOS dependency was previously a floating~> 4.0, and the iOS podspec source is now tag-pinned to4.0.3— so a given plugin release always resolves the same tested native SDKs on both platforms - Add an active-liveness backend-processing loader shown natively after the liveness step while the session finishes processing on the backend — rotating localized status messages with a smooth transition into the next step (data-driven, no Flutter API change)
- Add native
Social Security Card(SSC) document type support so document selectors on both platforms match the web frontend's full document list (data-driven, no Flutter API change) - Fix front-camera document capture being saved mirrored — the captured and uploaded document image is now un-mirrored on the front lens, while the live preview and selfie/liveness capture stay mirrored as before
- Add proper retry error messaging for liveness and face-match failures, translated across all supported locales
- iOS: fix an active-liveness failure that could occur when the network connection (Wi-Fi) dropped during the liveness WebView flow
- iOS: remove the unused Location usage — the SDK no longer links
CoreLocationor requests location, so you can dropNSLocationWhenInUseUsageDescriptionfrom your app'sInfo.plist - Android: KYB document upload now only requests the required document subtypes
- Android: stop emitting a false worker-service failure log event (auto-detection not bundled, or running on API < 24, are no longer reported as errors)
- Emit a Tier-B device-class
composite_hashfingerprint (X-Didit-FP-Hashheader) for parity with the web SDK and the backend device-identification contract - No breaking changes: this release tracks the native 4.0.3 SDKs with no Flutter API changes
4.0.2 #
- Update native Android SDK to 4.0.2
- Update native iOS SDK to 4.0.2
- Add native
Tax Card(TC) document type support (data-driven, no Flutter API change) so document selectors on both platforms now match the web frontend's full document list, including the IndiaPAN Card (Permanent Account Number)override - Honor the session-level
expected_document_typeswhitelist so a session that restricts allowed document types now applies the same filter natively on both platforms - Add new public
CameraLensenum (front/back) and four newDiditConfigoptions that expose the native camera configuration:defaultDocumentCamera(defaults to nativeback) — lens used when first entering the document capture screendefaultLivenessCamera(defaults to nativefront) — lens used when first entering the liveness (passive face) capture screenshowDocumentCameraSwitchButton(defaults totrue) — hide to lock the user todefaultDocumentCamerashowLivenessCameraSwitchButton(defaults totrue) — hide to lock the user todefaultLivenessCamera- Falls back to whichever camera is available when the requested lens isn't present on the device, and the in-capture switcher is automatically hidden on single-camera devices regardless of the
show…SwitchButtonflag
- Add three previously-unbridged
DiditConfigoptions that mirror the native Configuration surface:showCloseButton(defaults totrue) — show the close (X) button on verification step screensshowExitConfirmation(defaults totrue) — show a confirmation dialog when the user attempts to exitcloseOnComplete(defaults tofalse) — auto-dismiss the verification UI when complete
- Fix iOS selected-country / selected-document badges on the upload screen to use the white-label
bc-pill-texttoken for the title text (was incorrectly usingbc-primary) - Fix iOS manual capture button disappearing after the user switches the camera mid-session on the liveness and document capture screens — the same delayed re-show timer used on first appear now also fires after each lens swap
- No breaking changes: all new
DiditConfigfields are optional with defaults matching the native SDKs
4.0.1 #
- Fix iOS variant selection getting silently downgraded to
allwheneverflutter buildran. Inline env vars set on the host shell do not surviveflutter build's implicitpod install, so aDIDIT_SDK_IOS_VARIANT=core flutter buildwould still ship the full 38 MB MediaPipe binary instead of the 6 MB Core slice. The iOS variant is now selected via$DiditSdkIosVariantset in the host app'sios/Podfile, which CocoaPods re-reads on every install.DIDIT_SDK_IOS_VARIANTis kept as a CI fallback. - Verified end-to-end on a Flutter Release build per variant:
coreproduces a 6.0 MB DiditSDK Mach-O,nfc6.6 MB, both with zero MediaPipe symbols. - See the iOS Setup section in the README for the new snippet to copy into your
ios/Podfile.
4.0.0 #
- Update native Android SDK to 4.0.0
- Update native iOS SDK to 4.0.0
- Add explicit native SDK variant selection on Android and iOS:
all,core,autodetection, andnfc - Keep
allas the default full SDK variant - Add lightweight
corevariants for apps that only need manual capture - Add
autodetectionvariants for apps that need automatic capture without NFC - Add
nfcvariants for apps that need passport chip reading without automatic capture - Remove legacy NFC-only variant switches in favor of explicit variant selection
3.7.2 #
- Update native Android SDK to 3.5.10
- Update native iOS SDK to 3.6.2
- Add Mongolian language support on Android and iOS
- Fix iOS start-screen EXC_BAD_ACCESS crash on iOS 13-17 caused by a Swift runtime symbol unavailable before iOS 18
- Fix Android front-camera anti-spoofing selfie capture stalling on Oppo, Realme, and Huawei devices
- Fix Android questionnaire crashes when graph branches omit optional IDs
- Improve Android header back arrow behavior in phone, email, and questionnaire flows
- Improve Android white-label colors for country selectors, questionnaire inputs, and KYB chips
- Add device fingerprint headers on Android verification API calls
- Add localized translations for special-case countries
3.7.1 #
- Update native Android SDK to 3.5.8
- Fix front camera anti-spoofing selfie capture stalling on Oppo, Realme, and Huawei devices
3.7.0 #
- Update native iOS SDK to 3.6.0
- Update native Android SDK to 3.5.7
3.6.0 #
- Update native iOS SDK to 3.4.1
- Add iOS no-NFC installation support through
DIDIT_SDK_IOS_NFC_ENABLED=false - Keep iOS NFC enabled by default while allowing apps to remove
NFCPassportReader, CoreNFC-linked reader code, and OpenSSL by selectingDiditSDK/Core - Document iOS privacy keys, NFC entitlements, provisioning requirements, and CocoaPods cleanup when switching NFC modes
3.5.0 #
- Update native Android SDK to 3.5.5
- Update native iOS SDK to 3.3.4
- Add native KYB verification flow support
- Add Kazakh language support and expand KYB/session translations
- Add awaiting-users flow support with full next-step routing
- Add redesigned native start screen with feature icons, legal consent, and close button
- Improve backend step recovery after interrupted, ambiguous, or failed responses
- Improve document capture quality, cropping, compression, and upload readability
- Fix verification flow getting stuck after upload fallback recovery
- Fix active liveness WebView language handling
- Fix Android document and face overflow detection
- Fix Android close button visibility and native input/text color styling
- Fix Android white-label theme flash on completion
- Add iOS SDK version/integration metadata and camera/video error LOG events
3.4.5 #
- Handle new RetryBlocked error variant from native Android SDK 3.4.4
3.4.4 #
- Fix Swift 6 compile error: add @unknown default to exhaustive switch on DiditSDK enums
- Update native iOS SDK to 3.2.11 (fix PDF file upload in questionnaire on iOS 26)
- Update native Android SDK to 3.4.4
3.4.3 #
- Update native Android SDK to 3.4.3 (Kyrgyz language support, new session step fields)
- Update native iOS SDK to 3.2.8 (fix SPM + Xcode 26 Archive signature failure)
3.4.2 #
- update native android sdk to 3.4.2
- fix document back upload loop when backend returns ocr_back on back side
- fix step transition freeze when same step type repeats
- fix questionnaire translations and file upload on samsung devices
- fix responsive navigation bar insets on samsung and other devices
- add configurable close/exit behavior (showCloseButton, showExitConfirmation, closeOnComplete)
3.4.1 #
- update readme with correct api references and integration naming
3.4.0 #
- update native android sdk to 3.4.0
- fix r8/proguard crashes in release builds (mediapipe, flogger, gson, retrofit)
- fix verification activity theme crash on android
- resolve native android sdk from remote github maven repository
- remove bundled aar from plugin package
- align ios swift bridge with native sdk api changes
- fix: remove invalid contactdetails, expecteddetails, and metadata parameters from workflow verification
- bump ios podspec to 3.4.0
3.3.4 #
- Add consumer ProGuard/R8 rules to prevent release build crashes
- Fix
java.lang.Class cannot be cast to java.lang.reflect.ParameterizedTypein release mode
3.3.3 #
- Fix backend-only step handling (AML, DATABASE_VALIDATION, IP_ANALYSIS) on Android
- Fix iOS SDK freeze on Continue button after KYC+AML flow
- Update native Android SDK to 3.3.3
- Update native iOS SDK to 3.2.3
3.3.2 #
- Fix camera permission handling for active liveness on Android
- Update native Android SDK to 3.3.2
3.3.1 #
- Fix Android 16KB page alignment issue for Android 15+ devices
- Update native Android SDK to 3.3.1 (MediaPipe 0.10.29, CameraX 1.4.2)
- Align Flutter SDK version with native Android SDK version
3.2.1 #
- Align with native SDK v3.2.1 for both iOS and Android
- Fix Swift 6 build error on iOS
- Fix Montenegrin (cnr) language code issue on Android
3.2.0 #
- Align with native SDK v3.2.0 for both iOS and Android
- Translation fixes (Uzbek escaping)
- Updated native dependencies: iOS DiditSDK 3.2.0, Android didit-sdk 3.2.0
0.1.0 #
- Initial release
- Wraps native DiditSDK for iOS (3.1.1) and Android (3.0.0)
- Session token and workflow ID verification methods
- Configuration options: language, font, logging
- Contact details and expected details for workflow sessions
- Full TypeScript-like sealed class result handling