diff --git a/CHANGELOG.md b/CHANGELOG.md index e40240f..34d394e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,12 @@ +## 4.8.0 + +- Native SDKs 4.8.0 on both platforms. +- Both platforms: ID verification methods. A country whose configuration offers a national ID-number lookup, a wallet sign-in, or both now presents them next to document capture on one entry screen, with each alternative route under its own heading. The lookup collects the fields that country asks for, validates them on the device, and falls back to document capture when the configuration allows it. This is the flow the web widget already ran. +- Both platforms: a rejected questionnaire submit now shows the reason the backend gave instead of a generic failure. +- iOS: every document row on the ID verification methods entry screen draws its own artwork instead of one generic page glyph, and a missing asset now draws an unmistakable placeholder rather than a plausible substitute symbol. +- Android: a workflow with two ID steps in a row no longer keeps the first step's screen over the second. +- Android: an ID-number lookup is never sent twice from one tap. Lookup and wallet-start requests are one-shot, so a connection failure no longer spends a second registry attempt before the flow sees the first fail. + ## 4.7.5 - Native SDKs 4.7.5 on both platforms: iOS moves from 4.7.2 to 4.7.5, Android from 4.7.4 to 4.7.5. diff --git a/README.md b/README.md index bc545ed..4a8e3b2 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ Add the dependency to your `pubspec.yaml`: ```yaml dependencies: - didit_sdk: ^4.7.6 + didit_sdk: ^4.8.0 ``` Then run: @@ -57,7 +57,7 @@ To use a smaller native SDK variant, depend on the matching variant package inst ```yaml dependencies: - didit_sdk_core: ^4.7.6 # or didit_sdk_autodetection / didit_sdk_nfc + didit_sdk_core: ^4.8.0 # or didit_sdk_autodetection / didit_sdk_nfc ``` The `core` and `autodetection` variants allow an iOS 13.0 deployment target; `nfc` requires 15.0+ like the default. @@ -85,7 +85,7 @@ didit_sdk_ios_pod = case $DiditSdkIosVariant else raise "Invalid $DiditSdkIosVariant '#{$DiditSdkIosVariant}'. Supported values: all, core, autodetection, nfc." end -didit_sdk_ios_podspec = 'https://raw.githubusercontent.com/didit-protocol/sdk-ios/4.7.6/DiditSDK.podspec' +didit_sdk_ios_podspec = 'https://raw.githubusercontent.com/didit-protocol/sdk-ios/4.8.0/DiditSDK.podspec' target 'Runner' do use_frameworks! diff --git a/android/build.gradle.kts b/android/build.gradle.kts index 298b60b..4afe297 100644 --- a/android/build.gradle.kts +++ b/android/build.gradle.kts @@ -1,7 +1,7 @@ group = "me.didit.sdk.sdk_flutter" version = "1.0-SNAPSHOT" -val diditSdkAndroidVersion = "4.7.6" +val diditSdkAndroidVersion = "4.8.0" val diditSdkAndroidVariant = ( rootProject.findProperty("diditSdkAndroidVariant") ?: findProperty("diditSdkAndroidVariant") diff --git a/example/ios/Podfile b/example/ios/Podfile index d25d19f..ec29184 100644 --- a/example/ios/Podfile +++ b/example/ios/Podfile @@ -48,7 +48,7 @@ didit_sdk_ios_pod = case $DiditSdkIosVariant end didit_sdk_ios_podspec = ENV.fetch( 'DIDIT_SDK_IOS_PODSPEC', - 'https://raw.githubusercontent.com/didit-protocol/sdk-ios/4.7.6/DiditSDK.podspec' + 'https://raw.githubusercontent.com/didit-protocol/sdk-ios/4.8.0/DiditSDK.podspec' ) target 'Runner' do diff --git a/example/ios/Podfile.lock b/example/ios/Podfile.lock index fd76617..e6e6d1c 100644 --- a/example/ios/Podfile.lock +++ b/example/ios/Podfile.lock @@ -1,15 +1,15 @@ PODS: - - didit_sdk (4.7.6): - - DiditSDK/All (= 4.7.6) + - didit_sdk (4.8.0): + - DiditSDK/All (= 4.8.0) - Flutter - - DiditSDK/All (4.7.6) + - DiditSDK/All (4.8.0) - Flutter (1.0.0) - integration_test (0.0.1): - Flutter DEPENDENCIES: - didit_sdk (from `.symlinks/plugins/didit_sdk/ios`) - - DiditSDK/All (from `https://raw.githubusercontent.com/didit-protocol/sdk-ios/4.7.6/DiditSDK.podspec`) + - DiditSDK/All (from `https://raw.githubusercontent.com/didit-protocol/sdk-ios/4.8.0/DiditSDK.podspec`) - Flutter (from `Flutter`) - integration_test (from `.symlinks/plugins/integration_test/ios`) @@ -17,18 +17,18 @@ EXTERNAL SOURCES: didit_sdk: :path: ".symlinks/plugins/didit_sdk/ios" DiditSDK: - :podspec: https://raw.githubusercontent.com/didit-protocol/sdk-ios/4.7.6/DiditSDK.podspec + :podspec: https://raw.githubusercontent.com/didit-protocol/sdk-ios/4.8.0/DiditSDK.podspec Flutter: :path: Flutter integration_test: :path: ".symlinks/plugins/integration_test/ios" SPEC CHECKSUMS: - didit_sdk: 253f3872f0cf43edddba11961229fe5ad808212d - DiditSDK: 2bbef16d08c0e71786fc3fb11ec64fda00c6f413 + didit_sdk: 5b9f62df3c640e3f8a8a12b607594e4694a98ead + DiditSDK: 1f7080792951b143ab66ac7327c7fe868a68d0ec Flutter: cabc95a1d2626b1b06e7179b784ebcf0c0cde467 integration_test: 4a889634ef21a45d28d50d622cf412dc6d9f586e -PODFILE CHECKSUM: 4b5870f227a4d0e195789c877ed1d898fc3280a1 +PODFILE CHECKSUM: 0b5e0608cb5879362a01eb8afc4c36bfbe81c08e COCOAPODS: 1.16.2 diff --git a/example/pubspec.lock b/example/pubspec.lock index 276343d..4f81d84 100644 --- a/example/pubspec.lock +++ b/example/pubspec.lock @@ -55,7 +55,7 @@ packages: path: ".." relative: true source: path - version: "4.7.6" + version: "4.8.0" fake_async: dependency: transitive description: diff --git a/ios/didit_sdk.podspec b/ios/didit_sdk.podspec index 74b49dd..8884cfd 100644 --- a/ios/didit_sdk.podspec +++ b/ios/didit_sdk.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'didit_sdk' - s.version = '4.7.6' + s.version = '4.8.0' s.summary = 'Didit Identity Verification SDK for Flutter' s.description = <<-DESC Flutter plugin wrapping the native DiditSDK for identity verification @@ -31,7 +31,7 @@ with document scanning, NFC passport reading, and liveness detection. else raise "Invalid DiditSdk iOS variant '#{didit_sdk_ios_variant}'. Set $DiditSdkIosVariant in your Podfile to one of: all, core, autodetection, nfc." end - s.dependency didit_sdk_ios_pod, '4.7.6' + s.dependency didit_sdk_ios_pod, '4.8.0' s.platform = :ios, '13.0' s.static_framework = true diff --git a/ios/didit_sdk/Package.swift b/ios/didit_sdk/Package.swift index 2393d1e..d760510 100644 --- a/ios/didit_sdk/Package.swift +++ b/ios/didit_sdk/Package.swift @@ -15,7 +15,7 @@ let package = Package( .library(name: "didit-sdk", targets: ["didit_sdk"]) ], dependencies: [ - .package(url: "https://github.com/didit-protocol/sdk-ios.git", exact: "4.7.6") + .package(url: "https://github.com/didit-protocol/sdk-ios.git", exact: "4.8.0") ], targets: [ .target( diff --git a/packages/didit_sdk_autodetection/CHANGELOG.md b/packages/didit_sdk_autodetection/CHANGELOG.md index ebe99bb..a90177d 100644 --- a/packages/didit_sdk_autodetection/CHANGELOG.md +++ b/packages/didit_sdk_autodetection/CHANGELOG.md @@ -1,3 +1,12 @@ +## 4.8.0 + +- Native SDKs 4.8.0 on both platforms. +- Both platforms: ID verification methods. A country whose configuration offers a national ID-number lookup, a wallet sign-in, or both now presents them next to document capture on one entry screen, with each alternative route under its own heading. The lookup collects the fields that country asks for, validates them on the device, and falls back to document capture when the configuration allows it. This is the flow the web widget already ran. +- Both platforms: a rejected questionnaire submit now shows the reason the backend gave instead of a generic failure. +- iOS: every document row on the ID verification methods entry screen draws its own artwork instead of one generic page glyph, and a missing asset now draws an unmistakable placeholder rather than a plausible substitute symbol. +- Android: a workflow with two ID steps in a row no longer keeps the first step's screen over the second. +- Android: an ID-number lookup is never sent twice from one tap. Lookup and wallet-start requests are one-shot, so a connection failure no longer spends a second registry attempt before the flow sees the first fail. + ## 4.7.5 - Native SDKs 4.7.5 on both platforms: iOS moves from 4.7.2 to 4.7.5, Android from 4.7.4 to 4.7.5. diff --git a/packages/didit_sdk_autodetection/README.md b/packages/didit_sdk_autodetection/README.md index 34894f8..f74fe20 100644 --- a/packages/didit_sdk_autodetection/README.md +++ b/packages/didit_sdk_autodetection/README.md @@ -13,7 +13,7 @@ Depend on exactly one of the `didit_sdk` packages: ```yaml dependencies: - didit_sdk_autodetection: ^4.7.6 + didit_sdk_autodetection: ^4.8.0 ``` ```dart diff --git a/packages/didit_sdk_autodetection/android/build.gradle.kts b/packages/didit_sdk_autodetection/android/build.gradle.kts index bad750b..f2b8ea2 100644 --- a/packages/didit_sdk_autodetection/android/build.gradle.kts +++ b/packages/didit_sdk_autodetection/android/build.gradle.kts @@ -1,7 +1,7 @@ group = "me.didit.sdk.sdk_flutter" version = "1.0-SNAPSHOT" -val diditSdkAndroidVersion = "4.7.6" +val diditSdkAndroidVersion = "4.8.0" val diditSdkAndroidVariant = ( rootProject.findProperty("diditSdkAndroidVariant") ?: findProperty("diditSdkAndroidVariant") diff --git a/packages/didit_sdk_autodetection/ios/didit_sdk_autodetection.podspec b/packages/didit_sdk_autodetection/ios/didit_sdk_autodetection.podspec index 823bb6e..4c285af 100644 --- a/packages/didit_sdk_autodetection/ios/didit_sdk_autodetection.podspec +++ b/packages/didit_sdk_autodetection/ios/didit_sdk_autodetection.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'didit_sdk_autodetection' - s.version = '4.7.6' + s.version = '4.8.0' s.summary = 'Didit Identity Verification SDK for Flutter - autodetection variant' s.description = <<-DESC Didit identity verification Flutter plugin pinned to the DiditSDK/AutoDetection native SDK @@ -17,7 +17,7 @@ variant (automatic capture without NFC). Generated from didit_sdk. # Fixed native variant - unlike didit_sdk this podspec intentionally ignores # $DiditSdkIosVariant. Keep your Podfile's DiditSDK subspec line in sync # (DiditSDK/AutoDetection) when building with CocoaPods. - s.dependency 'DiditSDK/AutoDetection', '4.7.6' + s.dependency 'DiditSDK/AutoDetection', '4.8.0' s.platform = :ios, '13.0' s.static_framework = true diff --git a/packages/didit_sdk_autodetection/ios/didit_sdk_autodetection/Package.swift b/packages/didit_sdk_autodetection/ios/didit_sdk_autodetection/Package.swift index a1d1d81..79768ab 100644 --- a/packages/didit_sdk_autodetection/ios/didit_sdk_autodetection/Package.swift +++ b/packages/didit_sdk_autodetection/ios/didit_sdk_autodetection/Package.swift @@ -11,7 +11,7 @@ let package = Package( .library(name: "didit-sdk-autodetection", targets: ["didit_sdk_autodetection"]) ], dependencies: [ - .package(url: "https://github.com/didit-protocol/sdk-ios.git", exact: "4.7.6") + .package(url: "https://github.com/didit-protocol/sdk-ios.git", exact: "4.8.0") ], targets: [ .target( diff --git a/packages/didit_sdk_autodetection/pubspec.yaml b/packages/didit_sdk_autodetection/pubspec.yaml index 3fb61bd..f2ab91c 100644 --- a/packages/didit_sdk_autodetection/pubspec.yaml +++ b/packages/didit_sdk_autodetection/pubspec.yaml @@ -1,6 +1,6 @@ name: didit_sdk_autodetection description: Didit Identity Verification SDK for Flutter, pinned to the autodetection native SDK variant (automatic capture without NFC). Same Dart API as didit_sdk - depend on exactly one of the didit_sdk packages. Generated from didit_sdk - do not edit by hand. -version: 4.7.6 +version: 4.8.0 homepage: https://didit.me repository: https://github.com/didit-protocol/sdk-flutter issue_tracker: https://github.com/didit-protocol/sdk-flutter/issues diff --git a/packages/didit_sdk_core/CHANGELOG.md b/packages/didit_sdk_core/CHANGELOG.md index 83f183c..a9a93af 100644 --- a/packages/didit_sdk_core/CHANGELOG.md +++ b/packages/didit_sdk_core/CHANGELOG.md @@ -1,3 +1,12 @@ +## 4.8.0 + +- Native SDKs 4.8.0 on both platforms. +- Both platforms: ID verification methods. A country whose configuration offers a national ID-number lookup, a wallet sign-in, or both now presents them next to document capture on one entry screen, with each alternative route under its own heading. The lookup collects the fields that country asks for, validates them on the device, and falls back to document capture when the configuration allows it. This is the flow the web widget already ran. +- Both platforms: a rejected questionnaire submit now shows the reason the backend gave instead of a generic failure. +- iOS: every document row on the ID verification methods entry screen draws its own artwork instead of one generic page glyph, and a missing asset now draws an unmistakable placeholder rather than a plausible substitute symbol. +- Android: a workflow with two ID steps in a row no longer keeps the first step's screen over the second. +- Android: an ID-number lookup is never sent twice from one tap. Lookup and wallet-start requests are one-shot, so a connection failure no longer spends a second registry attempt before the flow sees the first fail. + ## 4.7.5 - Native SDKs 4.7.5 on both platforms: iOS moves from 4.7.2 to 4.7.5, Android from 4.7.4 to 4.7.5. diff --git a/packages/didit_sdk_core/README.md b/packages/didit_sdk_core/README.md index a37209c..9ba5927 100644 --- a/packages/didit_sdk_core/README.md +++ b/packages/didit_sdk_core/README.md @@ -13,7 +13,7 @@ Depend on exactly one of the `didit_sdk` packages: ```yaml dependencies: - didit_sdk_core: ^4.7.6 + didit_sdk_core: ^4.8.0 ``` ```dart diff --git a/packages/didit_sdk_core/android/build.gradle.kts b/packages/didit_sdk_core/android/build.gradle.kts index eda9913..21ef176 100644 --- a/packages/didit_sdk_core/android/build.gradle.kts +++ b/packages/didit_sdk_core/android/build.gradle.kts @@ -1,7 +1,7 @@ group = "me.didit.sdk.sdk_flutter" version = "1.0-SNAPSHOT" -val diditSdkAndroidVersion = "4.7.6" +val diditSdkAndroidVersion = "4.8.0" val diditSdkAndroidVariant = ( rootProject.findProperty("diditSdkAndroidVariant") ?: findProperty("diditSdkAndroidVariant") diff --git a/packages/didit_sdk_core/ios/didit_sdk_core.podspec b/packages/didit_sdk_core/ios/didit_sdk_core.podspec index 909a95a..f12ac90 100644 --- a/packages/didit_sdk_core/ios/didit_sdk_core.podspec +++ b/packages/didit_sdk_core/ios/didit_sdk_core.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'didit_sdk_core' - s.version = '4.7.6' + s.version = '4.8.0' s.summary = 'Didit Identity Verification SDK for Flutter - core variant' s.description = <<-DESC Didit identity verification Flutter plugin pinned to the DiditSDK/Core native SDK @@ -17,7 +17,7 @@ variant (smallest, manual capture only - no automatic capture, no NFC). Generate # Fixed native variant - unlike didit_sdk this podspec intentionally ignores # $DiditSdkIosVariant. Keep your Podfile's DiditSDK subspec line in sync # (DiditSDK/Core) when building with CocoaPods. - s.dependency 'DiditSDK/Core', '4.7.6' + s.dependency 'DiditSDK/Core', '4.8.0' s.platform = :ios, '13.0' s.static_framework = true diff --git a/packages/didit_sdk_core/ios/didit_sdk_core/Package.swift b/packages/didit_sdk_core/ios/didit_sdk_core/Package.swift index 02f71f8..0cffb03 100644 --- a/packages/didit_sdk_core/ios/didit_sdk_core/Package.swift +++ b/packages/didit_sdk_core/ios/didit_sdk_core/Package.swift @@ -11,7 +11,7 @@ let package = Package( .library(name: "didit-sdk-core", targets: ["didit_sdk_core"]) ], dependencies: [ - .package(url: "https://github.com/didit-protocol/sdk-ios.git", exact: "4.7.6") + .package(url: "https://github.com/didit-protocol/sdk-ios.git", exact: "4.8.0") ], targets: [ .target( diff --git a/packages/didit_sdk_core/pubspec.yaml b/packages/didit_sdk_core/pubspec.yaml index f118a3f..a559ce3 100644 --- a/packages/didit_sdk_core/pubspec.yaml +++ b/packages/didit_sdk_core/pubspec.yaml @@ -1,6 +1,6 @@ name: didit_sdk_core description: Didit Identity Verification SDK for Flutter, pinned to the core native SDK variant (smallest, manual capture only - no automatic capture, no NFC). Same Dart API as didit_sdk - depend on exactly one of the didit_sdk packages. Generated from didit_sdk - do not edit by hand. -version: 4.7.6 +version: 4.8.0 homepage: https://didit.me repository: https://github.com/didit-protocol/sdk-flutter issue_tracker: https://github.com/didit-protocol/sdk-flutter/issues diff --git a/packages/didit_sdk_nfc/CHANGELOG.md b/packages/didit_sdk_nfc/CHANGELOG.md index 497a87e..e24c0f4 100644 --- a/packages/didit_sdk_nfc/CHANGELOG.md +++ b/packages/didit_sdk_nfc/CHANGELOG.md @@ -1,3 +1,12 @@ +## 4.8.0 + +- Native SDKs 4.8.0 on both platforms. +- Both platforms: ID verification methods. A country whose configuration offers a national ID-number lookup, a wallet sign-in, or both now presents them next to document capture on one entry screen, with each alternative route under its own heading. The lookup collects the fields that country asks for, validates them on the device, and falls back to document capture when the configuration allows it. This is the flow the web widget already ran. +- Both platforms: a rejected questionnaire submit now shows the reason the backend gave instead of a generic failure. +- iOS: every document row on the ID verification methods entry screen draws its own artwork instead of one generic page glyph, and a missing asset now draws an unmistakable placeholder rather than a plausible substitute symbol. +- Android: a workflow with two ID steps in a row no longer keeps the first step's screen over the second. +- Android: an ID-number lookup is never sent twice from one tap. Lookup and wallet-start requests are one-shot, so a connection failure no longer spends a second registry attempt before the flow sees the first fail. + ## 4.7.5 - Native SDKs 4.7.5 on both platforms: iOS moves from 4.7.2 to 4.7.5, Android from 4.7.4 to 4.7.5. diff --git a/packages/didit_sdk_nfc/README.md b/packages/didit_sdk_nfc/README.md index 72a8b99..a61d979 100644 --- a/packages/didit_sdk_nfc/README.md +++ b/packages/didit_sdk_nfc/README.md @@ -13,7 +13,7 @@ Depend on exactly one of the `didit_sdk` packages: ```yaml dependencies: - didit_sdk_nfc: ^4.7.6 + didit_sdk_nfc: ^4.8.0 ``` ```dart diff --git a/packages/didit_sdk_nfc/android/build.gradle.kts b/packages/didit_sdk_nfc/android/build.gradle.kts index 7182838..f23fffb 100644 --- a/packages/didit_sdk_nfc/android/build.gradle.kts +++ b/packages/didit_sdk_nfc/android/build.gradle.kts @@ -1,7 +1,7 @@ group = "me.didit.sdk.sdk_flutter" version = "1.0-SNAPSHOT" -val diditSdkAndroidVersion = "4.7.6" +val diditSdkAndroidVersion = "4.8.0" val diditSdkAndroidVariant = ( rootProject.findProperty("diditSdkAndroidVariant") ?: findProperty("diditSdkAndroidVariant") diff --git a/packages/didit_sdk_nfc/ios/didit_sdk_nfc.podspec b/packages/didit_sdk_nfc/ios/didit_sdk_nfc.podspec index 1ed29a3..a84281d 100644 --- a/packages/didit_sdk_nfc/ios/didit_sdk_nfc.podspec +++ b/packages/didit_sdk_nfc/ios/didit_sdk_nfc.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'didit_sdk_nfc' - s.version = '4.7.6' + s.version = '4.8.0' s.summary = 'Didit Identity Verification SDK for Flutter - nfc variant' s.description = <<-DESC Didit identity verification Flutter plugin pinned to the DiditSDK/NFC native SDK @@ -17,7 +17,7 @@ variant (NFC passport reading without automatic capture). Generated from didit_s # Fixed native variant - unlike didit_sdk this podspec intentionally ignores # $DiditSdkIosVariant. Keep your Podfile's DiditSDK subspec line in sync # (DiditSDK/NFC) when building with CocoaPods. - s.dependency 'DiditSDK/NFC', '4.7.6' + s.dependency 'DiditSDK/NFC', '4.8.0' s.platform = :ios, '15.0' s.static_framework = true diff --git a/packages/didit_sdk_nfc/ios/didit_sdk_nfc/Package.swift b/packages/didit_sdk_nfc/ios/didit_sdk_nfc/Package.swift index 0aa1633..6ce0e7d 100644 --- a/packages/didit_sdk_nfc/ios/didit_sdk_nfc/Package.swift +++ b/packages/didit_sdk_nfc/ios/didit_sdk_nfc/Package.swift @@ -11,7 +11,7 @@ let package = Package( .library(name: "didit-sdk-nfc", targets: ["didit_sdk_nfc"]) ], dependencies: [ - .package(url: "https://github.com/didit-protocol/sdk-ios.git", exact: "4.7.6") + .package(url: "https://github.com/didit-protocol/sdk-ios.git", exact: "4.8.0") ], targets: [ .target( diff --git a/packages/didit_sdk_nfc/pubspec.yaml b/packages/didit_sdk_nfc/pubspec.yaml index 3754825..0d79352 100644 --- a/packages/didit_sdk_nfc/pubspec.yaml +++ b/packages/didit_sdk_nfc/pubspec.yaml @@ -1,6 +1,6 @@ name: didit_sdk_nfc description: Didit Identity Verification SDK for Flutter, pinned to the nfc native SDK variant (NFC passport reading without automatic capture). Same Dart API as didit_sdk - depend on exactly one of the didit_sdk packages. Generated from didit_sdk - do not edit by hand. -version: 4.7.6 +version: 4.8.0 homepage: https://didit.me repository: https://github.com/didit-protocol/sdk-flutter issue_tracker: https://github.com/didit-protocol/sdk-flutter/issues diff --git a/pubspec.yaml b/pubspec.yaml index 3169822..7759b79 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,6 +1,6 @@ name: didit_sdk description: Didit Identity Verification SDK for Flutter. Wraps native iOS and Android SDKs for document scanning, NFC passport reading, face verification, and liveness detection. -version: 4.7.6 +version: 4.8.0 homepage: https://didit.me repository: https://github.com/didit-protocol/sdk-flutter issue_tracker: https://github.com/didit-protocol/sdk-flutter/issues diff --git a/release-notes/4.8.0.md b/release-notes/4.8.0.md new file mode 100644 index 0000000..a7a7368 --- /dev/null +++ b/release-notes/4.8.0.md @@ -0,0 +1,7 @@ +Pins both native SDKs to 4.8.0. No integration API changes are required. + +- Both platforms: ID verification methods. A country whose configuration offers a national ID-number lookup, a wallet sign-in, or both now presents them next to document capture on one entry screen, with each alternative route under its own heading. The lookup collects the fields that country asks for, validates them on the device, and falls back to document capture when the configuration allows it. This is the flow the web widget already ran. +- Both platforms: a rejected questionnaire submit now shows the reason the backend gave instead of a generic failure. +- iOS: every document row on the ID verification methods entry screen draws its own artwork instead of one generic page glyph, and a missing asset now draws an unmistakable placeholder rather than a plausible substitute symbol. +- Android: a workflow with two ID steps in a row no longer keeps the first step's screen over the second. +- Android: an ID-number lookup is never sent twice from one tap. Lookup and wallet-start requests are one-shot, so a connection failure no longer spends a second registry attempt before the flow sees the first fail.