Version 5.31.0; core-light 2.6.5; camera 1.0.1; model-face-recognition 3.2.0; model-liveness-detection 3.2.0 - 2024-Sep-30

Added (ALL modes)

  • Added new CombinedConsents module, allowing users to review and accept consents preconfigured on the Dashboard.
  • Added Age Assurance UX in IdScan module with a privacy-focused tutorial and a customized ID upload screen. Disabled by default. Use IdScan.Builder().setAgeAssuranceUXEnabled(true) to enable.
  • Added Age Assurance UX in SelfieScan module with a privacy-focused tutorial and a customized Selfie capture and upload screens. Disabled by default. Use SelfieScan.Builder().setAgeAssuranceUXEnabled(true) to enable.
  • Added specific error handling in the IdScan module for cases when the user captures the wrong side of the ID instead of the previous generic error message.
  • Added more analytics data to the existing analytics event in the IdScan module, which provides statistics about each captured frame.
  • Introduced InsufficientDiskSpaceException, which will be returned through the onError callback if there's insufficient disk space to perform a critical function. This error can occur after calling one of the following APIs: startOnboarding, startOnboardingSection, startFlow, or startWorkflow, if the flow contains the IdScan and/or SelfieScan module. Adequate disk space is required to perform local processing.
  • Removed the IncodeWelcomeInitProvider to allow for lazy initialization of Incode’s SDK.
  • Updated core-light module to v2.6.5: incorporating libRecogKitAndroid.so v3.2.0 and ID capture model v3.2.0.
  • Updated model-face-recognition to v3.2.0: minor refactoring.
  • Updated model-liveness-detection to v3.2.0: minor refactoring.

Fixed (ALL modes)

  • Updated the feedback text in the SelfieScan module to clarify the instructions when the face is not aligned with the UI face frame. Affected label name is, onboard_sdk_feedback_align_face.
  • Fixed an issue that prevented the 'Move Away' feedback message from displaying in SelfieScan module.
  • Fixed an issue in UserConsent module when parsing markdown links with identical display text which caused the links to not be formatted correctly.

Added (STANDARD mode only)

  • Added exception stack trace to the Error event, that is visible on the Dashboard.
  • Fixed Workflows not working correctly for the new ID Scan.

Fixed (Capture only mode)

  • Fixed AbstractMethodError when the startOnboardingSection API is used.

Deprecations (ALL modes)

  • The SDK will stop supporting Android API levels 21 and 22 in one of the upcoming releases due to Google's end of support for Android 5.x. Please ensure your applications target a minimum of API level 23 or higher in order to continue receiving updates and support.
  • Starting with version 5.32.0, we will switch to GitHub Packages for publishing. Please update your configurations to use GitHub Packages in order to continue receiving updates and support. Migration documentation will be provided in the next version, but the change will be almost seamless for the integrators.

Version 5.30.0; camera 1.0.0 - 2024-Aug-27

API Changes (refer to Migration Guide for details):

Added (ALL modes)

  • Released new incode camera library which is a mandatory dependency for using the new ID capture experience: com.incode.sdk:camera:1.0.0
  • Added a new API to the VideoSelfie module, setVoiceConsentFaceRecognitionEnabled(), to enable face recognition during the VoiceConsent step. Disabled by default.
  • Updated 3rd party library used for the screen recording in the VideoSelfie module.
  • Optimized resolution in the Questions and Done steps of the VideoSelfie module to enhance overall user experience.

Fixed (ALL modes)

  • Fixed a minor issue with Exit dialog appearing when app goes to background in Video Selfie module, before the Video Recording permission is granted.
  • Fixed an issue where the date picker in the "Edit OCR" screen of the IdScan module shows the wrong date when the date is changed and the date picker is reopened.
  • Implemented a change for Android 14+ that forces users to select "Entire Screen" for screen recording to prevent issues with black screen recordings.
  • Ask for screen recording permission only the first time and reuse the permission for next recording in the same session.
  • Added missing documentation for the FlowConfig.Builder().setFlowTag() API.
  • Fixed an issue in the VideoSelfie module where text on the VoiceConsent and Questions buttons didn't fit properly in Spanish (ES) and Portuguese (PT).
  • Downgraded RetrySnackbar View to non-compose version to be able to support clients who are unable to upgrade to Kotlin versions above 1.7.

Added (STANDARD mode only)

  • Added new ID capture experience designed to reduce drop-offs, increase completion rates, and enhance the quality of captured photos. This feature is currently available in opt-in mode, controlled via a feature flag. To opt in, please contact the Customer Support team.

Fixed (STANDARD mode only)

  • Fixed error handling in native library initialization. This should provide more clarity in crash reports.
  • Replaced the liveness-stat expired token with a new one.

Updated dependencies

  • com.github.HBiSoft:HBRecorder:3.0.3 -> com.github.HBiSoft:HBRecorder:3.0.6

Version 5.29.0; kiosk-login 1.3.5; nfc 1.3.5; qr-face-login 1.2.3; core-light 2.6.4 - 2024-Jul-19

API Changes (refer to Migration Guide for details):

Added (ALL modes)

  • Security improvements.
  • Replaced the old Video Selfie UI with the new UI experience. If you had previously customized the Video Selfie and Video Selfie Tutorial screens, please refer to the Migration Guide for details on how this change affects previous customizations.
  • Added a new API method, IdInfo.Builder.setIdCategory(), allowing SDK integrators to choose between using info from the first or second ID.
  • Added SDK Builder APIs for showing retake screen in the IdScan module for auto and manual capture separately:
setShowRetakeScreenForAutoCapture(showRetakeScreenForAutoCapture: Boolean)
setShowRetakeScreenForManualCapture(showRetakeScreenForManualCapture: Boolean)
setShowRetakeScreenForAutoCapture(boolean showRetakeScreenForAutoCapture);
setShowRetakeScreenForManualCapture(boolean showRetakeScreenForManualCapture);
  • Improved instructions on the Review Photo screen in the IdScan module.
  • Updated design of the Help screen in the IdScan module.
  • Removed vertical style of the Help screen in the IdScan module.
  • Added new individual styles for the scan feedback text on the Selfie and ID scan screens. Please refer to the SDK Customization How-To Guide for details.
  • Upgraded the "Common Issues" screen in the IdScan module to show specific details and instructions for the following issues:
    • Glare detected
    • ID too blurry
    • Info not readable
    • ID type not accepted
  • Updated the USER_GUIDE_CUSTOMIZATION.md with instructions for customizing the Checkboxes.
  • Glare values can now be sent to the server during ID capture to improve ID analysis. This feature is configurable through a feature toggle that can be remotely enabled upon client request.
  • Removed Firebase dependency from the project.
  • Added IdScan module version to moduleOpened analytics event.
  • Upgraded following Compose internal dependencies. Upgrade compileSdk to level 34 is required. Please refer to the Migration Guide
    • androidx.compose.ui:ui:1.4.3 -> androidx.compose.ui:ui:1.4.4
    • androidx.compose.ui:ui-tooling-preview:1.3.3 -> androidx.compose.ui:ui-tooling-preview:1.6.5
    • androidx.compose.ui:ui-tooling:1.3.3 -> androidx.compose.ui:ui-tooling:1.6.5

Fixed (ALL modes)

  • Fixed a glitch with the permissions request screen in the VideoSelfie module when resuming the app from the background.
  • Fixed a crash when customizations are applied such that the roundingRadius for some UI elements becomes 0.
  • Fixed incorrect module reported in analytics events for ProcessId and IdScan modules.
  • Fixed color of the X (close) button in Video Selfie's "Questions" and "Voice Consent" steps.
  • Fixed potential build issues when client application is using Dexguard.
  • Fixed OutOfMemoryError in VideoSelfie module.

Added (STANDARD mode only)

  • Added the setMergeSessionRecordings() method in SessionConfig to enable server-side merging of IdScan and SelfieScan recordings.
  • Add an option to enable/disable audio during frame streaming for IdScan and SelfieScan modules.
  • Added support for the eKYC module to pre-fill the input fields based on the Flow configuration on the Dashboard.
  • Added Workflows support for no API key approach.

Fixed (STANDARD mode only)

  • Fixed an issue in CurpValidation module that prevented users from retrying after a failed attempt to generate a CURP.
  • Fixed FaceMatch module showing wrong images (ID and Selfie) when "Selfie vs. NFC Photo" comparison is selected.
  • Fixed an issue in the EKYC module where the date of birth field would not show when enabled in a Flow configured on the dashboard.
  • Fixed an issue where the server configuration for the IdScan and SelfieScan modules was not being applied for capture retry attempts and capture timeouts.
  • Fixed OnErrorNotImplementedException when trying to delete video selfie recordings from the file system after the upload.
  • Fixed an issue with onUserCancelled() callback not triggering from the EKYC module.

Added (Capture only mode)

Fixed (Capture only mode)

Added (DELAYED mode)

  • Added CommonConfig.Builder.setShowDelayedOnboardingIntroScreen() to show or hide the introduction screen when SDK is started in Delayed mode. Enabled by default.

Fixed (DELAYED mode)

Deprecations (ALL modes)

  • VideoSelfie.Builder.setAssistedOnboardingEnabled() has been deprecated as it's not used anymore. Calling this will have no effect, except logging a deprecation warning.

  • FlowConfig.Builder().setRecordSession() has been deprecated as it's replaced by FlowConfig.Builder().configureScreenRecording().

  • onboard_sdk_ScanFeedbackText has been deprecated and it's not used anymore. Please refer to Migration Guide for details.

Version 5.28.0 - 2024-Jun-17

Added (ALL modes)

  • Security improvements.
  • Added Statsig library for A/B Testing and Feature Flagging.

Added (STANDARD mode only)

  • Added unique constraint in the offline login database to prevent duplicate FaceInfo identities.
  • Added toString() implementation in EKYCResult and IdInfoResult classes.
  • Fetch OpenTok API keys through backend instead of using hardcoded values.
  • Added sending frame stats for IdScan and SelfieScan modules during autocapture.

Fixed (STANDARD mode only)

  • Fixed screen recording video upload error when using sections API.
  • Resolved the issue where the Conference module could not establish a connection on the Staging environment. The issue was introduced in 5.27.0.
  • Removed the Session start Sentry event added in 5.26.0 in favor of an alternate way to track sessions.
  • Resolved an issue in the IdInfo module's date picker dialogs, ensuring they open to the previously selected date rather than defaulting to the current date.
  • Fixed startFlow() API not reading maxVideoLength dashboard setting for the VideoSelfie module.
  • Fixed an issue introduced in 5.26.0 with OnboardingListener event callbacks not triggering. Affects flows started with startOnboarding, startFlow and startFlowFromDeeplink APIs (NOT with startOnboardingSection API).
    • onEvent(Event event, HashMap<String, Object> eventData)
    • onEvent(InterviewEventResult eventResult)
  • Removed a redundant loading screen that could appear in the GovernmentValidation module.
  • Fixed bugs in eKYB module:
    • Returning empty or partial results in onEKYBChecksCompleted callback.
    • "Continue" button would obscure input fields when the keyboard is presented.
  • Improved Result screen by displaying the full name from the MRZ field of an ID if applicable.
  • Fixed a bug which prevented OCR data being updated in IdInfo module when using no API key approach.
  • Fixed GlobalWatchlist module not working when using no API key approach.

Fixed (DELAYED mode)

  • Fixed an issue where onUserCancelled() callback didn't trigger.

Version 5.27.0; kiosk-login 1.3.4 - 2024-May-22

Added (ALL modes)

  • Added NfcScan.Builder.setShowInitialDataConfirmationScreen() to toggle whether the Document OCR data confirmation screen is shown before the first NFC scan, or only if the first NFC scan fails due to incorrect data. The initial screen is shown by default.
  • Introduced new API IdScan.Builder.setAutoCaptureNoIdTimeout(), which specifies the timeout to switch to Manual Capture mode if no ID is ever detected.
    • The existing IdScan.Builder.setAutoCaptureTimeout() API specifies how much time can pass after an ID is detected (but the image quality is not good enough yet for an autocapture) before switching to Manual Capture mode.
  • Updated Javadoc for IdScan.Builder.setAutoCaptureTimeout() to correctly describe the behavior when set to 0 or negative value.
  • Security improvements

Fixed (STANDARD mode only)

  • Fixed an issue in the Phone Number and Email Input modules where the submit button overlaps OTP fields on smaller screen devices.
  • Fixed an issue on the User consent screen where a single quote character (') breaks the form.
  • Fixed an issue that caused autocapture to stop working in the IdScan module for Workflows when a Back ID scan attempts to display "Too dark" or "Blurry" feedback.
  • Fixed an issue with end-to-end encryption (E2EE).
  • Fixed an issue where the SDK threw errors about missing forward slash characters (/) at the end of baseURL.
  • Fixed an issue with OnboardingListener callbacks not triggering from different modules:
    • onEKYCChecksCompleted(EKYCResult ekycResult) for EKYC module.
    • onEKYBChecksCompleted(EKYBResult ekybResult) for EKYB module.
    • onIdInfoCompleted(IdInfoResult idInfoResult) for IdInfo module.
    • onAESCompleted(AESResult aesResult) for AES module.
    • onTaxIdValidationCompleted(boolean success) for TaxIdValidation module.

Version 5.26.2-compat; kiosk-login 1.3.4-compat; nfc 1.3.4-compat; qr-face-login 1.2.2-compat - 2024-May-14

  • Introduced new compat versions of various Incode dependencies. These compat versions are intended for projects that are unable to use Kotlin 1.8.10, which the Incode Welcome SDK moved to in version 5.22.0. See the Migration Guide for more details.
  • Per the introduction of compat dependencies, the following internal dependencies have been downgraded to versions that support Kotlin 1.6.21:
    • androidx.appcompat:appcompat:1.6.1 -> androidx.appcompat:appcompat:1.4.1
    • androidx.compose.material:material:1.4.3 -> androidx.compose.material:material:1.2.0-rc02
    • androidx.compose.ui:ui:1.4.3 -> androidx.compose.ui:ui:1.2.0-rc02
    • androidx.lifecycle:lifecycle-process:2.6.0 -> androidx.lifecycle:lifecycle-process:2.5.1
    • androidx.lifecycle:lifecycle-runtime-ktx:2.6.0 -> androidx.lifecycle:lifecycle-runtime-ktx:2.5.1
    • androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.0 -> androidx.lifecycle:lifecycle-viewmodel-ktx:2.5.1
    • androidx.paging:paging-runtime:3.2.1 -> androidx.paging:paging-runtime:3.1.1
    • androidx.paging:paging-rxjava2:3.2.1 -> androidx.paging:paging-rxjava2:3.1.1
    • androidx.recyclerview:recyclerview:1.3.2 -> androidx.recyclerview:recyclerview:1.2.1
    • com.airbnb.android:lottie:6.3.0 -> com.airbnb.android:lottie:5.2.0
    • com.airbnb.android:paris:2.0.2 -> com.airbnb.android:paris:2.0.0
    • com.google.android.gms:play-services-base:18.3.0 -> com.google.android.gms:play-services-base:18.0.1
    • com.google.android.gms:play-services-location:21.1.0 -> com.google.android.gms:play-services-location:21.0.1
    • com.google.android.material:material:1.8.0 -> com.google.android.material:material:1.5.0
    • com.squareup.retrofit2:retrofit:2.11.0 -> com.squareup.retrofit2:retrofit:2.9.0
    • com.squareup.retrofit2:adapter-rxjava2:2.11.0 -> com.squareup.retrofit2:adapter-rxjava2:2.9.0
    • io.michaelrocks:libphonenumber-android:8.12.28 -> io.michaelrocks:libphonenumber-android:8.12.23
    • org.jetbrains.kotlin:kotlin-gradle-plugin:1.8.10 -> org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.21
    • org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.10 -> org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.21

Added (ALL modes)

  • Security improvements

Version 5.26.1 - 2024-Apr-29

Added (ALL modes)

  • Security improvements

Version 5.26.0; nfc 1.3.4; qr-face-login 1.2.2; kiosk-login 1.3.3 - 2024-Apr-24

Added (ALL modes)

  • Added VideoSelfie.Builder.setSelfieScanEnabled() to enable or disable the Selfie Scan step in the VideoSelfie module. Enabled by default.
  • Added documentExpiryDate field to IdInfo module and extended the IdInfoResult class accordingly.

Fixed (ALL modes)

  • Resolved an issue where users were unable to return to the "Is the NFC symbol visible on your document?" screen after selecting "YES". Users can now navigate back to this screen to change their selection if needed.
  • Fixed a bug in the nfc module that could cause the "Is the NFC symbol visible on your document?" screen to be skipped.
  • Fixed an issue in the nfc module where retrying reading attempts resulted in progressively longer delays.
  • Updated SelfieScan autocapture timeout functionality: Setting the timeout value to zero or negative now explicitly activates manual capture mode.
  • Updated Javadoc for IdScan.Builder.setAutoCaptureTimeout() that incorrectly stated that setting 0 or negative value resulted in undefined behavior. This is now aligned with SelfieScan.Builder.setAutoCaptureTimeout().
  • Added missing analytics event for switching to manual capture in the IdScan module when the IdScan.Builder.setAutoCaptureTimeout() value is set to zero or negative.
  • Fixed an issue in the NFC Scan module where edits made to the documentNumber and dateOfBirth fields in the IdInfo module were not being reflected on the NFC OCR screen.
  • Fixed an issue in the IdScan module when Test Mode is enabled (used for testing on emulators) which caused the USER_CANCELLED event to trigger, instead of EMULATOR_DETECTED.
  • Denying Camera or Microphone permissions in the IdScan and SelfieScan modules now results in an onError(PermissionDeniedException()) callback rather than an onUserCancelled() callback.
  • Removed cleartextTrafficPermitted="true" from network-security-config for improved security.

Added (STANDARD mode only)

  • Automatically disable local glare check in the IdScan module, if server recognizes a specific type of ID.
  • Separated "Street" and "House Number" into distinct fields within the EKYC module, to align the UI with EKYB module.
  • Added Session start event to Sentry. The purpose of this event is to keep count of total number of sessions.

Fixed (STANDARD mode only)

  • Fixed an issue where devices that couldn't support video-streaming could try and crash. See the Migration Guide for details.
  • Switched places of the Continue and Quit buttons on the dialog that appears when the user denies the Mandatory Biometric Consent. This was done to align positive and negative button placement with other dialogs.
  • Fixed a crash in the CurpValidation module that occurred when CURP generation failed.
  • Fixed startFlow() API not reading feature flags from server.
  • Fixed an issue with Local 1:N Login using a wrong (higher than intended) threshold when matching faces, causing some legitimate login attempts to fail.
  • Fixed an issue in IdInfo module when editing is enabled, which caused Gender to be shown on the Dashboard in lowercase.
  • Updated fetchAllFlows() and fetchFlow() APIs to handle incompatibility introduced by the recent server release.
  • Resolved an issue where streaming and video conferencing features were not functioning properly in the EU SAAS environment. (from hotfix release 5.23.3)
  • Fixed a crash in Video Conference module when video-conference dependency is not present. As expected, the onError() callback is now called in this case.

Version 5.25.0; core-light 2.6.3; nfc 1.3.3;qr-face-login 1.2.1; kiosk-login 1.3.2 - 2024-Mar-22

API Changes (refer to Migration Guide for details):

  • The region argument in onOnboardingSessionCreated(String token, String interviewId, String region) method is being deprecated. Please refer to Migration Guide for details.

Added (ALL modes)

  • Introduced tutorials for permission dialogs within the VideoSelfie module to guide users through the process of granting necessary permissions.
  • Updated strings in the Exit Confirmation dialog to clearly communicate that exiting will terminate the process and all progress will be lost.

Fixed (ALL modes)

  • Fixed an issue where the IdScan module did not show the Manual Capture button after a defined timeout when scanning Passport.
  • Fixed a conflict in XML resources which was causing builds to fail with the "Resource compilation failed" error.
  • Fixed VideoSelfie module crashing on Android 14 when targetSdk is 34.
  • Fixed issues within the NFC module related to scanning functionality:
    • Fixed an issue where the application would crash after three unsuccessful NFC scans.
    • If a user cancels the scan during the scanning process, it is correctly counted as a failed scan attempt. This adjustment ensures that users can proceed with the flow after reaching the limit on retry attempts.
  • Fixed a crash while inflating IncodeButton when the app is recreated by the system.
  • Removed com.github.romandanylyk:PageIndicatorView dependency.

Added (STANDARD mode only)

  • Added analytics event when a session is resumed via FinishGPT deep link.
  • Added markdown support to UserConsent module.
  • Updated error handling for startFlow() and startFlowFromDeepLink() APIs. IllegalStateException was replaced with onError() callback.
  • Enhanced the security of image encryption used in Face Login. User experience remains unchanged.

Fixed (STANDARD mode only)

  • Fixed an issue where the SDKs Sentry integration could consume uncaught Exceptions from other crash reporting tools.
  • Fixed an issue where the SDKs Sentry integration could cause undesired behavior with an app that has it's own Sentry integration.
  • Fixed an issue where the workflow unexpectedly stops after the NFC module.
  • Fixed an issue that blocked the core-light module from being downloaded at runtime through Google Play Feature Delivery. Issue was introduced in 5.20.0.

Deprecations (STANDARD mode only)

  • IncodeWelcome.fetchRegions() has been deprecated as it's not used anymore. Calling this will log a deprecation warning.
  • SessionConfig.setRegionIsoCode() has been deprecated as it's not used anymore. Calling this will log a deprecation warning.

Version 5.24.0; nfc 1.3.2; qr-face-login 1.2.0 - 2024-02-23

API Changes (refer to Migration Guide for details):

  • Moved ID auto-capture timeout configuration method from CommonConfig to IdScan module.
  • Moved Selfie auto-capture timeout configuration method from CommonConfig to SelfieScan module.

Added (ALL modes)

  • Added IdScan.setCaptureAttempts() to specify the number of capture attempts during the ID Scan.
  • Added SelfieScan.setCaptureAttempts() to specify the number of capture attempts during the Selfie Scan.
  • Added analytics events for "permissions mandatory" dialogs for Camera, Microphone and Geolocation permissions.
  • Added specific exceptions for permissions denied events in VideoSelfie module: ScreenRecordingPermissionsDeniedException, CameraPermissionsDeniedException and MicrophonePermissionsDeniedException.
  • Added IncodeWelcome.Builder.disableVirtualEnvironmentDetection() to disable virtual environment detection. For debugging purposes only.
  • Added the following information to videoSelfieVideoInfo analytics event in VideoSelfie module:
    • videoCodec
    • audioRequested
    • audioRecorded
  • [BETA] Added new startFlow() APIs which allows you to start or resume an onboarding session with provided session configuration and optionally starting a module.
  • [BETA] Added new startFlowFromDeeplink() APIs which allows you to resume an onboarding session based on a deep link URL and with an optional session configuration.

Fixed (ALL modes)

  • Fixed several bugs in the VideoSelfie module which could lead to missing videos in the dashboard:
    • Bugs in methods for reading VideoSelfie video metadata
    • Bugs in permission handling mechanism
  • Improved visibility of potential problems in VideoSelfie module:
    • Added "keep" rules for the HBRecorder library used for recording videos. The goal of these is to get unobfuscated errors in the dashboard.
    • Improved verbosity of error messages reported in videoSelfieVideoUploadError analytics event by including the full stack trace instead of a generic message.
  • Denying location permission in the Geolocation module now results in an onError(PermissionDeniedException()) callback rather than an onUserCancelled() callback.
  • Updated device environment error handling. RuntimeException is replaced with onError() callback in case of an unsafe environment.
  • Improved TalkBack voice-over feedback for:
    • Positioning the phone when scanning the face in the Selfie module
    • Positioning the phone when scanning the ID in the IdScan module
  • Fix for a crash in the SelfieScan module which happens on tablets on startup. Crash introduced in 5.22.0.

Added (STANDARD mode only)

  • Revamped Video Selfie Questions and Voice Consent steps by enhancing real time feedback and giving control to the user, ultimately aiming to increase the pass rate. Available only in Video Selfie UI Experience added in SDK version 5.22.0.
  • Added support for 1 to 1 login without an API key. Check User Guide for details on how to initialize the SDK without an API key. Check Login Guide on how to perform face login.
  • GovernmentValidation module improvements:
    • Added support for the "Skip Government Verification animation" configuration. See the Javadoc for the GovernmentValidation.Builder.setSkipAnimation SDK API for more info.
    • The module will now be skipped for unsupported document types.
  • VideoSelfie module improvements:
    • Changed UI for error state on the video file upload screen.
    • Added new UI error state in case of "No Internet connection" on the video file upload screen.
  • Added Sentry library for crash reporting. Enabled by default, to disable use IncodeWelcome.Builder.setCrashReportingEnabled(false).

Fixed (STANDARD mode only)

  • Fixed a bug where VideoSelfie video upload starts before video is saved which results in an unsuccessful upload.
  • Optimized VideoSelfie by eliminating redundant video upload URL generation after each upload failure.
  • Fixed a bug which caused intermittent video recording upload failures when the FlowConfig.setRecordSession(true) API is used.
  • Fixed an issue that prevented login attempts from being synced to the backend.
  • Fixed missing "ID Specific" checks in Results module.

Fixed (Capture only mode)

  • Fixed a crash in the Questions step of VideoSelfie module, that occurred when generating analytics event.

Version 5.23.3 - 2024-04-19

Fixed (STANDARD mode only)

  • Resolved an issue where streaming and video conferencing features were not functioning properly in the EU SAAS environment.

Version 5.23.2 - 2024-02-23

Fixed (ALL modes)

  • Fix for a crash in SelfieScan module which happens on tablets on startup. Crash introduced in 5.22.0.

Version 5.23.1 - 2024-02-09

Added (ALL modes)

  • Added IncodeWelcome.Builder.disableVirtualEnvironmentDetection() to disable virtual environment detection. For debugging purposes only.

Fixed (ALL modes)

  • Updated device environment error handling. RuntimeException is replaced with onError() callback in case of an unsafe environment.

Version 5.23.0 - 2024-01-19

Added (ALL modes)

  • Extended setDefaultRegionPrefix() API to accept 4 digit prefixes
  • Changed the color of the X (close) button in Video Selfie ID scan to be more visible

Fixed (ALL modes)

  • Fixed an issue where users are unable to exit the app by pressing the back button in the Video Selfie module when there is no Internet connection.
  • Fixed an issue in the Selfie step of VideoSelfie where the selfie frame would keep showing after sending the app to the background.

Added (STANDARD and Submit-Only modes)

  • Added a mandatory consent screen for using Incode services from regulated states. User consent can be displayed either immediately after the session starts or after scanning the front of the ID. If the user decides to omit giving consent, the flow is interrupted, the onError callback is called, and all session data is deleted. A new type of error will be returned in this case: BiometricConsentNotGiven or BiometricConsentNotReceived.

Added (STANDARD mode only)

  • Added SessionConfig option for setting an external ID that starts a new session if the current session is interrupted, SessionConfig.Builder.setExternalCustomerId().
  • Added workflows support for the setStreamFramesEnabled() for the following modules:
    • IdScan
    • SelfieScan
  • Added a new feature for dynamic back scan detection based on document type. For instance, when a user selects to scan an ID but actually scans a passport, the system will now intelligently skip the back scan process.

Fixed (STANDARD mode only)

  • Fixed Government Validation showing "Failed" status for cases where a "Submitted" status makes more sense.
  • Fixed a NPE in MachineLearningConsentActivity that could happen during the application submission process to the Play Store.
  • Fixed an issue where entering the OTP code received via email unexpectedly interrupted the flow.
  • Fixed validation issues for Street and House Number fields in EKYB module.
  • Fixed several bugs in the VideoSelfie UI introduced in 5.22.0:
    • Changed the background color of the progress bar on the Video Upload screen.
    • Fixed an issue where the camera positioning was not restored correctly upon resuming the app from the background.
    • Questions and VoiceConsent steps are now automatically skipped when audio is disabled. Adapted the tutorials not to show Questions and VoiceConsent in the same scenario.
    • Removed the recording indicator.

Fixed (Capture only & Delayed modes)

  • Fixed an issue where IdScan module requests a scan of the back side when the IdType is explicitly set to Passport.

Version 5.22.0; nfc 1.3.1; video-streaming 1.5.5 - 2023-Dec-15

Added (ALL modes)

  • Added support for using the SDK in app compiled with Java 11
  • Upgraded following internal dependencies to support Kotlin 1.8.10, and Android Gradle Plugin 8.0:
    • org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.21 -> org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.10
    • com.android.tools.build:gradle:7.4.2 -> com.android.tools.build:gradle:8.1.4
    • org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.21 -> org.jetbrains.kotlin:kotlin-gradle-plugin:1.8.10
    • com.google.dagger:dagger:2.38.1 -> com.google.dagger:dagger:2.48.1
    • com.google.dagger:dagger-compiler:2.38.1 -> com.google.dagger:dagger-compiler:2.48.1
    • androidx.compose.ui:ui:1.2.0-rc02 -> androidx.compose.ui:ui:1.4.3
    • androidx.compose.material:material:1.2.0-rc02 -> androidx.compose.material:material:1.4.3
  • Added more UI customization options. Please refer to SDK Customization How-To Guide for more info. These options include:
    • Support for customizable logos through ThemeConfiguration.
    • Support for module-specific customizable logos and messages to the Selfie and VideoSelfie modules.
  • nfc module refactor, no changes in functionality

Fixed (ALL modes)

  • Fixed double events logging in Video Selfie, eKYB, CURP Validation, and Custom Watchlist modules.

Added (STANDARD mode only)

  • Added new Video Selfie UI Experience, accessible through a feature toggle that can be remotely enabled upon client request. Currently in BETA phase.
  • Added workflows support for the Antifraud module.
  • Update of video-streaming module obfuscation rules

Deprecations (STANDARD mode only)

  • The following methods have been deprecated as they are no longer used in the new Video Selfie UI Experience. These methods remain applicable and continue to be in use for the old Video Selfie UI Experience:
    • VideoSelfie.Builder.setSelfieCameraFacing()
    • VideoSelfie.Builder.setIdScanCameraFacing()
    • VideoSelfie.Builder.setIdFrontCameraFacing()
    • VideoSelfie.Builder.setIdBackCameraFacing()
    • VideoSelfie.Builder.setDocumentScanEnabled()
    • VideoSelfie.Builder.setDocumentScanCameraFacing()
    • VideoSelfie.Builder.setRandomQuestionsCameraFacing()
    • VideoSelfie.Builder.setVoiceConsentCameraFacing()

Version 5.21.0; core-light 2.6.2; nfc 1.3.0; kiosk-login 1.3.1 - 2023-Nov-30

Added (ALL modes)

  • Updated nfc module to v1.3.0: Added workflows support.
  • Updated 3rd party libraries used during NFC scans.
  • Optimized R8 rules for the nfc module, reducing APK size further when using minifyEnabled.
  • ButterKnife dependency removed.

Fixed (ALL modes)

  • Fixed issues with Selfie and VideoSelfie modules including:
    • Pressing the "Continue" button too quickly on VideoSelfie question could cause a crash.
    • Selfie module could crash when returning from the background.
  • Removed several redundant analytics events.
  • Fixed a crash in NFC tutorial.
  • Improved real-time feedback in Selfie screen when user positions his phone too far from his face. On specific high-end phones such as Pixel 7 Pro, Huawei P30 and Samsung S20+ "Move closer" message was not shown and photo was taken from afar.

Added (STANDARD mode only)

  • Upgraded FaceMatch module to support First ID, Second ID and Selfie matching at the same time.
  • Added new API startWorkflow() which provides a new way to configure flows and setup onboarding sessions. Please refer to the User Guide
  • Added default text for User Consent title and description.
  • Added isEditableOcr: Boolean property to IdInfo class. Use to enable editing by the end user.”
  • Added Global Watchlist module.
  • Added the EKYC module, which enables eKYC (electronic Know-Your-Customer) validation with the user's information.
  • Added setUploadDocument() and setDownloadDocument() methods in the AES module's Builder to enable document upload at the start and document download at the end of the AES flow, respectively.
  • Added support for end-to-end encryption (E2EE) of internal API calls. This provides an additional layer of protection for the PII of users. This feature requires a specific backend environment configuration. Please contact Customer Success for more information.
    • Enable this via SessionConfig.Builder().setE2eEncryptionEnabled(true).
  • Added more granular analytics events when uploading VideoSelfie videos to help diagnose video upload issues.
  • Added "An error occurred while submitting OCR data" toast message when user tries to submit invalid data in editable OCR screen.
  • Replaced runtime crash with an onError callback when using setStreamFramesEnabled(true) without adding 'com.incode.sdk:video-streaming' dependency.

Fixed (STANDARD mode only)

  • Added missing Video Selfie ID checks for default flow
  • Fixed a crash (NullPointerException) in the User Consent module when initialized without title and content - UserConsent.Builder().build()
  • Fixed default SSL Pinning configuration - IncodeWelcome.Builder.configureSSLPinning(). In case of a certificate failure, the onboarding flow will not be interrupted.
  • Fixed an issue where data would come from a mixture of IDs on the "Please Check Your Data" screen in the nfc module if multiple IDs are captured. NFC scans are only supported for the first ID captures.
  • Added missing request for Manual Review when the Second ID scan fails.
  • Fixed intermittent 1:N login failures.
  • Added missing analytics event for every failed Face capture attempt.

Fixed (Capture only mode)

  • Prevent SDK from trying to make (unsuccessful) network calls in Capture Only mode when SelfieScan.setStreamFramesEnabled(true) or IdScan.setStreamFramesEnabled(true) is set.

Fixed (DELAYED mode)

  • Fixed inability to sync delayed onboardings due to missing class.

Version 5.20.0; nfc 1.2.1; core-light 2.6.1 - 2023-Nov-06

Added (ALL modes)

  • Added option to enable opt-in messaging on the Phone input screen.
  • Improvements when using the TalkBack feature for visually impaired people:
    • Added voice-over text for ID and Selfie tutorials.
    • Added voice-over for real-time UX feedback in ID and Selfie scan.
    • Doubled the auto-capture timeout in ID and Selfie scan.
    • Improved the usability of manual capture button in ID and Selfie scan. Button gets automatically selected when it's shown, allowing the user to double tap anywhere on the screen to capture a photo.

Fixed (ALL modes)

  • Fixed an issue where an Incode Activity could be killed without providing a callback to the host app if the user sends the host app to background while the Incode Activity is being started.
  • Fixed an issue where NFC scans could crash when using minifyEnabled = true for a project.
  • Added missing events related to the OTP screen for Phone and Email modules.
  • Fixed a crash (NullPointerException) in the Captcha module when used together with SessionConfig.setExternalToken().
  • Fixed a device-specific crash (UnsatisfiedLinkError) happening during SDK init in Flutter apps using Incode's Flutter wrapper. Crash was introduced in Android 5.17.2.
  • Exposed public classes and interfaces that were hidden by obfuscation (when using minifyEnabled = true for a project):
    • SSLPinningFailedListener, FetchRegionsListener and VerifyListener.
  • Fixed build warnings about missing classes when not using optional dependencies.
  • Added a list of Lottie animations for nfc module customization to the docs.
  • Accessibility mode fixes:
    • Fixed an issue with selecting items in Intro screen.
    • Fixed an issue with some buttons not touch-selectable.

Fixed (DELAYED mode)

  • Exposed classes and interfaces that were hidden by obfuscation, including:
    • SyncDelayedOnboardingListener, DelayedOnboardingSyncResult and DelayedOnboardingSyncError.

Version 5.19.0 - 2023-Oct-23

Added (ALL modes)

  • Added a new API for the Phone module, setDefaultRegionPrefix(), which overrides the default Country Calling Code for the desired region. E.g., 1 for USA, 52 for Mexico, 381 for Serbia, etc.

Added (STANDARD mode only)

  • Updated ML consent screen title and checkbox description.

Fixed (ALL modes)

  • Implemented a workaround for an issue in the "choose best frame" algorithm of ID scan, which previously could result in discarding a valid frame.
  • Javadoc improvements.
  • Worked-around several potential crashes when using the streamFrames feature of the IdScan and SelfieScan modules.
  • Fixed an issue where Selfie and VideoSelfie modules would stop responding with screen recording enabled on Android 14 devices.
  • Making 'video-streaming' dependency optional again, as it was mistakenly made non-optional.

Fixed (STANDARD mode only)

  • Added missing analytics events for Phone module.
  • Fixed the optional Sardine Risk SDK integration to accurately report Fragments.
  • Fixed an issue with recording camera capture - FlowConfig.setRecordSession, where the Dashboard's Video tab would occasionally miss the recording of the last module in the flow (usually selfie or back ID) due to calling the finish session API too early.
  • Fixed an issue with streaming camera capture - IdScan.setStreamFramesEnabled, SelfieScan.setStreamFramesEnabled, where the Dashboard's Video tab would occasionally miss front ID, back ID, or selfie video recordings.
  • Implemented a workaround for several potential crashes when using the streamFrames feature of the IdScan and SelfieScan modules.

Version 5.18.0; core-light 2.6.0; kiosk-login 1.3.0; model-face-recognition 3.0.0; model-id-face-detection 2.1.0; model-liveness-detection 3.0.0; nfc 1.2.0 - 2023-Sep-28

Added (ALL modes)

  • Added forceInterrupt API which interrupts any ongoing flow that might have started. It closes all open SDK activities and interrupts all active processes.
  • Added mimeType: String property to DocumentValidationResult class.
  • Updated core-light module to v2.6.0: Improved lenses and face mask detection. Introduced optional eyes closed detection in Selfie and VideoSelfie. To enable it, use module level parameter eyesClosedCheckEnabled.
  • Updated kiosk-login module to v1.3.0: Utilize improved lenses detection from core-light.
  • Updated model-face-recognition to v3.0.0: Security improvements.
  • Updated model-id-face-detection to v2.1.0: Performance and security improvements.
  • Updated model-liveness-detection to v3.0.0: Security improvements.

Fixed (ALL modes)

  • Fixed issues where NFC-related UI can appear incorrectly during NFC scanning.
  • Fixed onError() callback not called when NFC dependency is missing.
  • Fixed a crash (ClassNotFoundException) during SDK initialization, when the host app is processed by ProGuard.
    • This issue was introduced in 5.17.2.
    • As a workaround, add the following rule to proguard-rules.pro: -keep class com.a.d.getSelfieAutoCaptureTimeout

Deprecations (ALL modes)

  • CommonConfig.getMaskThreshold() has been deprecated as it's not used anymore. Calling this will log a deprecation warning and return a useless value.
  • CommonConfig.Builder.setMaskThreshold() has been deprecated as it's not used anymore. Calling this will log a deprecation warning.
  • The previously deprecated IncodeWelcome.Builder.enableMaskDetection() will log a deprecation warning.
  • SelfieScanResult.maskConfidence has been deprecated as it behaves in an analog way to SelfieScanResult.hasFaceMask.
  • Optional dependency model-mask-detection has been deprecated as the functionality has been ported to core-light v2.6.0.

Added (STANDARD mode only)

  • Added optional Email OTP verification.
  • Added optional Phone OTP verification.
  • Added support for passive authentication for ICAO 9303 compliant documents supporting NFC.
  • Added Tax ID (RFC) validation module
  • Added support for API key rotation.
  • Added ID Info module (currently known as OCR on ID(s) module on the Dashboard)
  • Added Antifraud module, and a non-ui API processAntifraud() which allows the user to detect anomalies that could be signs of fraud.
  • Added CURP module callback for unsuccessful attempts of entering and/or generating CURP.
  • Added AES (Advanced Electronic Signature) module that enables users to sign legal documents.
  • Added processing of the back side of the ID in Video Selfie module.
  • Added specific exceptions for cases when a feature is being used without the necessary dependency: MissingNfcDependencyException, MissingKioskLoginDependencyException and MissingQrFaceLoginDependencyException.
  • Added analytics events to track opening and closing of each module.
  • Added missing analytics events to track opening and closing screens in following modules: ID Capture, Selfie, Geolocation, Document capture, Gov Validation, CURP, Custom Watchlist, Conference, Video Selfie.
  • Refactored capture events:
    • Added captureType - 'auto/manual', idType - 'id/passport', and idCategory - 'primary/secondary' parameters to captureFrontId event.
    • Added captureType - 'auto/manual' and idCategory - 'primary/secondary' parameters to captureBackId event.
    • Added captureType - 'auto/manual' to captureSelfie event.
    • Added idType - 'id/passport' and idCategory - 'primary/secondary' parameters to switchToManualCaptureFrontId event.
    • Added idCategory - 'primary/secondary' parameter to switchToManualCaptureBackId event.
    • Removed obsolete manualCaptureFrontId, manualCaptureBackId, switchToManualCaptureFrontSecondId, manualCaptureFrontSecondId, switchToManualCaptureBackSecondId, manualCaptureBackSecondId, manualCaptureSecondPassport, manualCaptureSelfie events.
  • Added support for A/B testing.
  • Added eKYB (Electronic "Know Your Business") module, which allows users to validate the existence and legitimacy of business.
  • Added support for “Only Front ID” option for ID Validation. This option can now be configured directly from the dashboard.

Fixed (STANDARD mode only)

  • Fixed an issue with Retry button in No Internet dialog not working if pressed too quickly.
  • Fixed navigation issue in CURP module: Users were previously unable to navigate back after an unsuccessful CURP entry attempt.
  • Fixed CURP validation: The CURP module now correctly validates the length of a pre-populated CURP or a CURP entry upon retry.
  • Fixed a crash in QR scan module happening on module start.

New mode (DELAYED mode)

  • Added Delayed Onboarding mode.
  • This mode enables the SDK to collect onboarding data (ID, Selfie), temporarily store it locally on the device, and sync with the server later when an Internet connection is available.
  • Supported modules: ID Scan, Process ID, Document Scan, Selfie Scan, Face Match.

Version 5.17.2; core-light 2.5.1; video-streaming 1.5.4 - 2023-Aug-29

Fixed (ALL modes)

  • Refactored library initialization to mitigate exceptions when app process is killed and restored by the system.
  • Updated 3rd party library used for protection against reverse engineering and hacking to the latest version. Update contains multiple fixes for issues, crashes and false positives during hook detection.
  • Updated 3rd party library used for video streaming. Update contains (among others) fixes for crashes and memory leaks.
  • Fix for R8 build issues in release mode when using AGP 8.0 and above.

Version 5.17.1; - 2023-July-12

Added (STANDARD mode only)

  • The CURP validation module will no longer allow users to enter more characters than the length of a CURP

Fixed (STANDARD mode only)

  • Fixed an issue where the first time a properly formatted, but invalid CURP is entered, the "CURP not verified" text isn't shown
  • Fixed an issue where ID Scan module skips the scan of the back side of the ID when the IdType is explicitly set to ID
  • Fixed an issue where ID Scan auto-capture never happens after "Too dark" state when the IdType is explicitly set to ID

Version 5.17.0; nfc 1.1.0; kiosk-login 1.2.0; qr-face-login 1.1.0; video-streaming 1.5.3 - 2023-July-07

Added (ALL modes)

  • Added screenshots to External Screen Viewed analytics events, check IncodeWelcome.Builder.setExternalScreenshotsEnabled
  • UI change: Changed default fragment transition used in Video Selfie and CURP screens, so that new fragment enters chronologically, from right, and old one exits to the left. When going back, old fragment enters from left and new one exits to the right.
  • [BETA] Added support for IDs to NFC Scan module - Read data from NFC chip in IDs and use it for ID verification
  • ID Scan improvements:
    • Added ability to capture IDs in horizontal orientation
    • The manual capture timer now starts counting from the first ID detection instead of screen opening, providing users with additional time to locate their ID or make changes. After 60 seconds, the manual capture button appears regardless of the previous condition.
    • Added new analytics events for first ID detection: frontIdDetected and backIdDetected
  • Updated button design in ID type chooser screen
  • Added optional ID template overlay within ID capture frame, check IdScan.Builder.setShowIdOverlay
  • Added module and screen event properties to existing analytics events
  • Added analytics events to track opening and closing of each screen: screenOpened and screenClosed
  • Capture Only documentation improvements:
  • General documentation improvements:
    • Cleaned IncodeWelcome public documentation so it shows only APIs intended for external use
  • Renamed Gradle dependency com.incode.sdk:conference to com.incode.sdk:video-streaming
  • Fixed an issue with Retry button in No Internet dialog not working if pressed too quickly

Fixed (ALL modes)

  • Fixes from 5.15.4 hotfix release
  • Fixed incompatibility between nfc and qr-face-login dependencies
  • Javadoc not appearing in Android Studio
  • Other Javadoc improvements
  • Issue that causes ID model update to re-trigger for the same model version. No functional side-effects - prevents unnecessary work.

Added (STANDARD mode only)

  • Added optional high-quality streaming of camera feed in ID Scan and Selfie Scan. Videos are available in the dashboard, check IdScan.Builder.setStreamFramesEnabled and SelfieScan.Builder.setStreamFramesEnabled
  • Authentication improvements:
    • Authentication method 'local', 'hybrid' or 'server' is sent to the server as part of the authentication attempt log. Authentication method can be seen in authentication dashboard.
    • Locally chosen Facial Recognition and Liveness thresholds, applied in local mode, are sent to the server as part of the authentication attempt log. Thresholds can be seen in authentication dashboard. Logging of local attempts can still be completely disabled with SelfieScan.Builder.setLogAuthenticationEnabled(false).
  • Added SSL Pinning, enabled by default. To disable check IncodeWelcome.Builder.configureSSLPinning
  • Added optional Sardine risk SDK integration

Fixed (STANDARD mode only)

  • Fixed a bug introduced in 5.16.0 which caused incomplete sessions on the Dashboard
  • Bug where onSuccess callback gets called before finishOnboarding network call finishes. Affects only flows started with startOnboarding API (and NOT with startOnboardingSection API).
  • Bug that causes the voice consent step to be skipped if the user enters the Video Selfie module without an internet connection
  • Bug that causes stored user chosen ID type to be used in the next session, if the next session doesn't contain ID Scan

Version 5.16.0; nfc 1.0.0 - 2023-Apr-06

Added (ALL modes)

  • Updated Incode SDK minSdk API level to 21
  • [BETA] NFC Scan module - Read data from NFC chip in passports and use it for ID verification
  • Support for PDF upload for OTHER_DOCUMENT_1/2/3 and PAYMENT_PROOF in Document Scan module
  • Tap-to-focus in ID Scan and Video Selfie modules
  • External Screen View and Session Events tracking

Fixed (ALL modes)

  • Fixed inaccuracies in docs

Added (STANDARD mode only)

  • Showing "ID type unacceptable" upon uploading the ID if that ID type is configured not to be accepted
  • Added IssueName, IssueYear and CountryCode to IdScanResult
  • Implemented unified "No Internet Connection" message

Fixed (STANDARD mode only)

  • Fixed issues with SDK in External Token mode
  • Reset UI in kiosk-login module when app is resumed from the background
  • Fixed selfie upload when bringing app from background to foreground

Version 5.15.4 - 2023-Apr-13

Fixed (ALL modes)

  • Crashes caused by releasing the camera too early
  • Crash in Retake Photo screen
  • Prevent the possibility to start the onboarding flow more than once when initializing the SDK multiple times
  • Issues when mocking certain classes in tests
  • Prevent multiple instances of ValidationActivity

Version 5.15.3 - 2023-Mar-13

Fixed

  • Rare race condition that can occur between the SDK and the integrating app, which can cause a crash

Version 5.15.2 - 2023-Feb-28

Fixed

  • Wrong liveness feedback in face match screen in case of an error (e.g., photo not meeting constraints)
  • Bug that was leading to some devices uploading videos with ONLY Audio during video selfie (confirmed on Xiaomi Poco X3 Pro)
  • Issues on SDK init caused by missing IncodeWelcome.InternalConfig default values
  • Crash on ID and Selfie scan startup when using Incode SDK with google play dynamic delivery
  • Upgraded following internal dependencies to add support on newer versions of Android that require Java 8 or higher, these updates don't break compatibility:
    • androidx.databinding:viewbinding:7.3.0 -> androidx.databinding:viewbinding:7.4.1
    • org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.6.20 -> org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.21
    • org.jetbrains.kotlin:kotlin-parcelize-runtime:1.6.20 -> org.jetbrains.kotlin:kotlin-parcelize-runtime:1.6.21
    • com.airbnb.android:lottie:3.6.1 -> com.airbnb.android:lottie:5.2.0

Version 5.15.1

Fixed an issue with the Video Selfie module where the ID scan step was skipped if the session was paused and resumed

Improved the handling of null cases in IncodeWelcome.getThemeConfiguration() to prevent potential crashes

Version 5.15.0; core-light 2.5.0; kiosk-login 1.1.0; qr-face-login 1.0.0

Added QR Face Login feature for offline authentication using QR code, including a new qr-face-login module

Added Support for Blocklist for QR Face Login

Updated core-light module to v2.5.0 (updated RecogKit libraries and ID Detection model from v2 to v2.0.1)

Added option to choose between two types of Autocapture UX:

  1. HoldStill with the possibility to set delay in seconds (if not specified, the default duration is 2 seconds)
  2. Countdown animation (3-2-1)
    Also, it is possible to change the style of the Countdown animation using XML or dynamic styles

Added AutocaptureUXMode to IdScan.Builder

Added Horizontal ID check in ID Scan module, to prevent horizontal ID from being scanned (non-configurable, always on)

Updated ResponseOCRData & DocumentValidationResult:

  • Added documentType & poaName properties to ResponseOCRData
  • Added DocumentValidationResult.getAddressStatementData() method

Updated kiosk-login version to 1.1.0

Updated error handling when an Incode module dependency (such as model-liveness-detection) is missing

Video Selfie: Fixed issue that was causing flow to end after the first failed Selfie attempt

Fix for ID frame not showing when animations are disabled on system level

Minor bugfixes and code improvements

Version 5.14.0

Implemented Local mode for 1:N Login

Implemented an API to configure Lenses Check in Video Selfie module. Check VideoSelfie.Builder.setLensesCheckEnabled

Implemented an API to configure Mask Check in Video Selfie module. Check VideoSelfie.Builder.setMaskCheckEnabled

Updated Google's play-services-location dependency version to 21.0.1

Fixed outdated results returned from Video Selfie module

Video Selfie now calls onVideoRecorded() even if there was an error while recording (except for errors that prevent video from being recorded).
You can check the resultCode field to determine if recording was successful, and error field for more info about the potential error.
Additionally, onError() is called, and the flow is interrupted.

Fixed displaying of images in Referred to Executive Screen

Changed default Liveness Threshold from 0.3 to 0.5

Other improvements and bugfixes

Added remaining Kotlin code snippets to User Guide

Version 5.13.0; core-light 2.4.0; kiosk-login 1.0.0

Added kiosk-login module for 1:N login applications on shared devices

New version of Face Detection model with improved face angle detection

New version of ID Capture model with ID side classification

Implemented an API to toggle image downloads in the SDK. Check SessionConfig.setDownloadImagesEnabled

Implemented an API to toggle photo rotation in Retake Photo screen. Check IdScan.setEnableRotationOnRetakeScreen

Implemented a non-ui API to fetch user's OCR data via token. Convenience API to use after successful login. Check IncodeWelcome.getUserOCRData

Fixed a crash when changing camera configuration

Improvements and bugfixes to dynamic customization feature

Other small bugfixes and improvements

Updated docs to point to proper online documentation; Added code snippets for Java/Kotlin

Added missing SDK callbacks: onAddEmailCompleted, onMachineLearningConsentCompleted, onCustomWatchlistProcessed

Version 5.12.0

Configurable validation modules for Video Selfie

Upload Video Selfie video even if user exits the flow before finishing

Fixed non functional selfie capture in VS after clean install in Android 13

Added a Throwable to verifyClientId onError callback

Fixed a crash in POA

Added new fields to SelfieScanResult: fullFrameSelfieEncryptedBase64 and fullFrameSelfieBase64

Version 5.11.0

Removed usage of com.google.android.gms.vision.face.* classes. Replaced with internal implementation.

Fixed an intermittent crash in Video Selfie

Added option to hide "User already exists" feedback in FaceMatch screen. Check FaceMatch.Builder.setShowUserExists

Fixed string misspellings

Added documentation for setLocalizationLanguage() API

Fixed double start events when resuming an existing session

Added "Name" module which allows the user to enter a name

VideoSelfie small UI fixes

Version 5.10.0

Video Selfie improvements:

  • Added option to use passports in Video Selfie when using back camera
  • Added real time feedback to Video Selfie ID Scan
  • Introduced new Video Selfie scoring rules - user is able to finish the flow with failing OCR name check, ID type check or ID photo check.
  • Improved UI, specifically display of labels in questions and consent screens

Server flow configuration is used when session is created with an external token

Version 5.9.0

Added Dynamic Styles. Please refer to the Theme Configuration

Fixed ID Scan capture animation glitch

Fixed camera preview glitch after application is paused

Removed close X button for some screens

Version 5.8.0

Improvements made to ML consent module:

  • Consent text is loaded from the server.
  • When using mode ConsentType.GDPR consent text is translated to device language

Implemented an API for changing the SDK language. Check CommonConfig.setLocalizationLanguage

Small improvement in auto-capture ID Scan animation

Improved Selfie scan UX; Added a small delay when lenses get detected before restarting the processing, in order to give the user time to remove the lenses

Implemented screen recording in ID scan and Selfie scan. Check FlowConfig.setRecordSession

Replaced Google FD with Incode FD. Please refer to the Migration Guide

Time unit for setting the maximum length for video selfie recording changed from minutes to seconds. Please refer to the Migration Guide

Version 5.7.0

Added setEnableBackShownAsFrontCheck() method to IdScan.Builder to enable realtime check if back of the ID is shown instead of front. Disabled by default.

Added optional showRetakeScreenForAutoCapture parameter to IdScan.Builder.setShowRetakeScreen() method (shows Retake screen after auto-capture)

Removed ID capture countdown during ID scan

Added setCameraFacing() method to SelfieScan.Builder for controlling camera facing

Added ability to customize Video Selfie Tutorial animation

Changed default camera for ID Scan and Document Scan submodules in Video Selfie to back-facing camera

Disabled Questions and Voice Consent in Video Selfie by default

Added setAssistedOnboardingEnabled() to SelfieScan.Builder and VideoSelfie.Builder to enable assisted onboarding (use back-facing camera for all camera modules)
For Selfie Scan module, this is equvivalent to using setCameraFacing(CameraFacing.BACK).
Similarly for Video Selfie, it sets camera facing for all submodules to CameraFacing.BACK.

Added Submit Only SDK mode

Video Selfie now uses H264 codec, if supported by the device. This fixes Video Selfie recording only black screen on some devices.

Fixed issue with camera in Video Selfie on Android 5.0

Version 5.6.0

Added back camera support for ID and Document scan in VS

Added ML consent module

Implemented addNOM151Archive non-UI API call

Increased b3nediktRestring library version to 5.2.1

Version 5.5.0

Added configurable maximum length for Video Selfie recording

Fixed Geolocation module to properly show city/state/country

Camera speed improvements

ID auto-capture improvements: Camera now captures two frames instead of one, and uses the one with better quality

Added allowFaceAuthModeFallback parameter to Selfie Scan module (allows Login to obtain face template from server, if not present on the device)

Fixed VideoSelfie not uploading video when an error occurs under VideoSelfie.audioDisabled true + audio permission not granted

Version 5.4.0

Fixed crash in Login when using reduced core-light variant

Fixed null interviewId when resuming session with IncodeWelcome.setupOnboardingSession()

Added support for using the SDK in app compiled with Java 8

Added adaptation for selfie scan on tablet device

Added server mask check in login

Added watchlist module

Improved one to one local

Version 5.3.0

Fixed issue with signature upload error when using white (#FFFFFF) stroke

Added support for dynamic localisation

Fixed network call attempt with apiKey for External Token init

Added login improvements: mask check, results visible in the dashboard

Added support for huawei location services

Fixed issue with IdScanResult.idImagePath file not found

Added local mask model usage instead of downloading the model from S3 bucket in runtime

Added no-audio configuration in VideoSelfie

Version 5.2.1

Fixed memory leaks

Added Auto-capture timeout setting for Selfie Scan in Capture Only mode

Fixed: Signature module - Disabled drawing after submitting

Version 5.2.0

Added 1 to N login

Added Auto-capture timeout setting for Capture Only mode

Exit dialog customizations

Fixed issue with disappearing Need Help button

Version 5.1.0

Added MinVideoLengthRequired config to allow videos shorter than 30 seconds in VideoSelfie module

All fixes and updates from 4.12.4

Version 5.0.0

Introduced new way to configure flows and setup onboarding sessions. Please refer to the Migration Guide

Video Selfie module now works in capture only mode

Introduced new way to initialize the SDK without the API URL and API KEY in capture only mode. Please refer to the guide here

Removed automated licence check from capture only mode to avoid network calls

Improved logic for handling location permission requests on Android 12 and above

Refactoring and bug fixes

Version 4.12.4

Fixed issue with Continue button not appearing in Tutorials on some devices

Fixed issue where the Back ID scan gets skipped in Second ID module

Fixed issues with Video Selfie ID scan

Fixed issue with Conference on Android 12 & 13

Version 4.12.3

Improved Video Selfie ID scan

Version 4.12.2

Fixed image distortion problem with back-camera on model SMA135

Updated okhttp3 logging interceptor

Version 4.12.1

Changed default value of waitForTutorial to false

Added customizable signature ink color

Migrating Geolocation and some base files to Kotlin

Updated third party libraries

Version welcome 4.12.0 & core-light 2.2.0

Introduced download and install time optimizations

Version 4.11.1

Added null checks for data repository access at OnLifecycleEvents

Version 4.11.0

Updated compile sdk version

Removed TensorFlow dependency and related files

Refactored Phone Number Module into Kotlin

Fixed document scan upload error when used local image

Version 4.10.2

Refactoring

Fixed ID Uploading/Processing screen to use @color/onboard_sdk_BackgroundWindow background color instead of hard-coded white

Version 4.10.0

Handling of IDProcess result

Changed blur threshold default value to 0.75

Added logic for removing duplicated ProcessId module

Fix for back id tutorial condition

Fix for broken attach-flows logic

Added raw JSON for UserScore into the UserScoreResult

Migrated some modules and UI elements to Kotlin

Updated HBRecorder dependency to latest version (Fixes issues with Android 12)

Version 4.9.0

Added ability to customize Selfie Scan circle outline color

Added ability to display Need Help screens in vertical mode

Fixed Need Help screens to use proper background color (onboard_sdk_BackgroundWindow)

Fixed code for parsing getLibraries API response

Fixed Xamarin bindings

Version 4.8.0

Added secondary text for Scan ID title

Added customizable thresholds for ID Glare and Blurriness checks (Added setIdGlareThreshold and setIdBlurThreshold methods to OnboardingConfigBuilderV2)

Added ability to customize Selfie Scan screen background color

Version 4.7.2

Fixed crash when pressing back after denying Camera permission

Fixed NaN when parsing ResponseProcessFace

Fixed unnecessary omni/update call when omni/addFace fails

Version 4.7.1

Added customizable Scan Feedback Text

Added customizable Manual Capture Instructions Text

Version 4.7.0

Added new individual style for Need help manual capture button

Added OnboardingConfigV2.setShowExitConfirmation() to enable configurable exit confirmation dialog

Added screen name to event values on BACKGROUND and USER_CANCELLED events

Added customizable help more subtexts

Added customizable id capture feedback background color

Added continue button string resource per screen

Fixed continue button disabled in Document Scan Tutorial

Version 4.6.1

Fixed bug with running ID scan on emulator which interrupted the flow

Fixed bug in start session which caused new session to be generated even when interviewId is provided.

Version 4.6.0

Added exit confirmation dialog

Added possibility to initialize SDK with Token (No ApiKey Init)

Added option to hide manual capture review photo screen

Fixed OnErrorNotImplementedException in takeCameraPicture() method

Bug fixes

Version 4.5.0

Added onEvent() callback to IOnboardingListenerV2 to track analytic Events locally

Prevent double-clicking buttons

Fixed Video Selfie video not uploaded in some cases

Fixed Video Selfie showing wrong feedback message

Version 4.4.1

Added option to show Close Button on all screens (Default: off)

Enabled customization for Need help

Replaced ID and SELFIE balloon images in FaceMatch module with TextView (Custom fonts are applied automatically now)

Fixed issue with missing back ID scan in certain use cases

Prevent Continue button from being clicked twice on Tutorial screens

Fixed issue with flow interrupting after ID/Passport scan

Fixed issue with rotation of some Documents on Photo Review screen

Fixed issue with Submit button on Captcha screen

Version 4.4.0

Added support for OTHER_DOCUMENT_3 in DocumentScan module

Version 4.3.1

Bug fixes

Version 4.3.0

SDK Version is now sent to the server and it is visible on the Dashboard

Document Scan module updates (allow file upload for all DocumentTypes)

Fixed compile-time error due to missing interface

Fixed onUserCancelled() callback not called in some cases

Removed jCenter repository

Bug fixes

Version 4.2.0

Added non-UI API for processing Labor History

Added non-UI API for processing Payment Proof

Added non-UI API for getting Payment Proof Info

Updated QR Scan module to send raw data to server

Captcha module improvements

Fixed empty values being sent in Captcha module

Fixed issue with feedback messages being too small

Fixed an issue in Signature module where clicking Done multiple times could cause an error

Fixed onOnboardingSessionCreated() callback called on the wrong thread

Fixed IdResults class missing

Fixed SDK config not set properly when using sections API

Bug fixes

Version 4.1.1

Added missing croppedFacePath to IdScanResult

Version 4.1.0

Added non-UI API for ID processing

Captcha module UI updates

Bug fixes

Version 4.0.0

Separated front and back ID scan modules. Check out Migration Guide for details.

Updates to SDK results: nameMatched in FaceMatchResult

VideoSelfie UX updates: White background and increased screen brightness for Selfie step

Refactoring and bug fixes: build process adapted for easier crowd testing distribution, fix for user already exists always shown

Version 3.6.0

Added geolocation(@NonNull Context context, @Nullable String interviewId, GeolocationListener geolocationListener) API which allows running the geolocation module without showing Incode's UI

Version 3.5.0

Added faceMatch(String interviewId, IdCategory idCategory, @NonNull FaceMatchListener faceMatchListener) API which allows doing a face match without showing Incode's UI

Added a static label to the scan ID screen to show which side of the ID is being scanned

Updates to SDK results: Unencrypted Base64 image in SelfieScanResult, ExistingUser and ExistingInterviewId in FaceMatchResult, GovernmentValidationResults in UserScoreResult

Bug fixes

Version 3.4.0

Moved liveness and face recognition models into standalone libraries - Make sure to check the Migration Guide

Added possibility to use on-device liveness while enrolling face

Face detection improvements

Bug fixes

Version 3.3.1

Added support for OTHER_DOCUMENT_1 and OTHER_DOCUMENT_2 in DocumentScan module

Added support for usage of Selfie in VideoSelfie from Dashboard flow

Added sending device fingerprint within setOnboardingSession()

Added getFrontIdBase64() and getBackIdBase64() to IdValidationResult

Added ability to disable emulator and root detection for debugging purposes

Added setExternalId(String externalId) method to OnboardingConfigV2

Updated UserConsent module

Added ID processing to VideoSelfie module

Fixed missing SelfieMode enum

UI improvements

Bug fixes

Version 3.3.0

Medical card scanning and validation

Selfie resolution step-up in order to get better liveness results

Doing face recognition between the selfie taken in video selfie and the enrolled face template even if liveness failed for the selfie taken in video selfie

Bug fixes

Version 3.2.1

Fixed crash in Conference module

Bug fixes

Version 3.2.0

Increased targetSdkVersion and compileSdkVersion from 29 to 30

Added setInterviewId(String interviewId) method to OnboardingConfigV2.OnboardingConfigBuilderV2

Added ability to start Onboarding SDK for an existing interviewId (which can be set in OnboardingConfigV2)

Bug fixes

Version 3.1.0

Reffered to executive screen redesign

API refactor: Individual API calls are deprecated, please check Migration Guide and User Guide for migrating to sections API

Updated to Gradle plugin 4.2.0 and Gradle Wrapper 6.9.1

Prevent false positive in hook detector when using Realm in a React Native app

Email module added

Implemented an API to disable a check which detected hooking framework on the device

New ID realtime check introduced - Check if front of the ID is shown as back. Disabled by default, can be turned on when initializing ID scan module.

Bug and UI fixes

Version 3.0.0

New customization options - Make sure to check the Migration Guide and Customization Guide

Fix for not sending finish status

Added IncodeWelcome interface to enable easier testing. Check IIncodeWelcome.java and IncodeWelcomeAPI.java

Added full frame photo in SelfieScan result

Version 2.10.1

Added detailed event logging for Video Selfie

Fixed /omni/finish-status called multiple times in certain cases

Fixed Video Selfie module sometimes sending one extra selfie scan attempt

Hotfix: Fixed issue with attachFlow endpoint

Bug fixes

Version 2.10.0

Fixed broken Opentok dependency

Modularized VideoSelfie API: Added posibility to turn on/off ID scan, address proof scan, questions and voice consent.

Implemented second ID feature: IDScan and FaceMatch modules can be added to the flow twice and parametrized with second ID category.

Incode styleables and file provider renamed to support internal naming convention and avoid possible duplicate names with other libraries

Version 2.9.0

Made CTA buttons more uniform

Improved customization of CTA buttons

Added customization of "Need Help" button

Added Customer Token to Approve result

Error messages refactor

Face login feature changes:
Face recognition in server mode now sends photo to the server (instead of locally generated template)
API was adapted accordingly: enableFaceLogin() was replaced with enableLocalFaceRecognition()

Portuguese translations

Rebranding INE to government

Added new validation module: governmentOcrValidation

Bug fixes

Version 2.8.0

Added new ID detection model with on device classification, glare and sharpness checks

Added model encryption

Removed unused ExcludedValidationModules API

Implemented restart of the selfie scan if app is sent to background/foreground during the selfie step

Fixed UX and liveness problems in selfie scan on phones with narrow horizontal view angle (e.g. Samsung s9+)

Version 2.7.0

Added CURP validation

Added INE scraping

Bug fixes

Version 2.6.1

Added extendedOcrJsonData field to OCRData

Bug fixes

Version 2.6.0

Changes to IncodeWelcome.startFaceMatch() - Make sure to check the Migration Guide

API update: Possibility to set custom fields in onboarding session

Implemented Face Detection for devices without Google Services support

Bug and crash fixes

Version 2.5.1

Optimized resources in favour of size

API update: Possibility to set customer token for login feature

API update: Added binary face match and liveness results for clarity, simplicity and alignment with iOS

Small UI improvements

Bug and crash fixes

Version 2.5.0

Changes to ApproveListener - Make sure to check the Migration Guide

Replaced Tutorial videos with Lottie animations - Make sure to check the Migration Guide

Updated SDK to allow mocking of Results and Listener classes (for automated testing)

Prevent SDK from running on a real device when Test Mode is enabled

Bug fixes

Version 2.4.2

Added new fields to OCRData

Bug fixes

Version 2.4.1

Moved network security configuration to app level

Bug fixes

Version 2.4.0

Capture Only mode

Moved 'queueName' parameter from Conference module to OnboardingConfigV2

Bug fixes

Version 2.3.5

OMNI rebranding

Selfie scan defaults to manual capture if photo is not taken automatically

Help feature in ID scan

Informing the user about the number of ID scan retries

Analytics events updates

Added intro module for educating users about the process and to help with measuring conversion

Added onGeolocationUnavailable() callback

Using server configuration for auto capture timeouts and upload retries

Bug fixes

Version 2.3.4

Added analytics events

Added PDF/Image upload for Proof of Address documents

Implemented a mechanism to inform the server that the onboarding is complete from the client side

Fix for SDK not returning result after unsuccessful processing ID calls

Implemented new UI state after 3rd unsuccessful ID upload

Model download disabled by default. Customers can enable it through SDK.

Bug fixes

Version 2.3.3

Emulator support updates: EMULATOR_DETECTED as Face match module result, added missing OCR data fields

Version 2.3.2

Added setOnboardingSession() API to allow continuing the existing onboarding even after app unnstall

Added dummy OCR data to ID scan and Document scan result in case when emulator is detected

Version 2.3.1

Enabled emulator support in test SDK mode

Version 2.3.0

Sending parsed address from Geolocation module to server

Optional dependency for conference

Dynamic delivery mechanism implemenented for big ML resources

Downloading video selfie random questions from the server

ISO country code for specifying regions instead of a type

Bug fixes

Version 2.2.12

POA capture improvements

ID capture improvements

Selfie capture improvement

Signature API extended to accept tittle and subtitle

Bug fixes

Version 2.2.11

Fix for Canadian passport

Version 2.2.10

Introduced Canada region

Version 2.2.9

Video Selfie 2.0:

-Liveness check

-Proof of Address

-Random questions

-Minimum video length of 30 seconds
Bug fixes

Version 2.2.8

Video recording improvements - size optimization and uninterrupted recording

Optional Proof Of Address Statement step in Video Selfie

Video Selfie design updates

Security updates

Bug fixes

Version 2.2.7

Geolocation module implemented

Bug fixes

Version 2.2.6

Video selfie feature implemented

Version 2.2.5

Upgrade mechanism for library download

Version 2.2.4

Bug fixes

Version 2.2.3

Fixed missing classes due to DexGuard config

Version 2.2.2

Fixed Proof of Address scan

Version 2.2.1

Separate address fields as part of the OCR result

Fixed broken signature bug

Version 2.2.0

Added public methods for starting individual SDK modules

Refactoring - moved and renamed SDK interface classes
Please refer to MIGRATION_GUIDE.md for details

Version 2.1.6

Added more user information to OCRData

Version 2.1.5

Improved ID capture photo quality

ID capture design improvements

ID and selfie tutorials design improvements

Selfie feedback messages changes

Conference chat feature implemented

Added setWaitForTutorials() method for IdScan and SelfieScan modules

Bug fixes

Version 2.1.4

Optional captcha verification in retake video conference SDK API

Styles updated: reverted to text color white for base button style

Bug fixes

Version 2.1.3

Retake video-conference with specific token

Captcha module retry/fail mechanism implemented

Bug fixes

Version 2.1.2

Added UI for Approval module

Added option to perform Face Match inside Approval module

Added Legal screen

Refactoring to allow for some upcoming features

Bug fixes

Version 2.1.1

Allowing download-set API to be used in on-premise environment

Passport flow improvements

Version 2.1.0

Capture ID and capture selfie offline APIs. APIs perform capture when local conditions for the capture are met and return photos

Passport scanning and validation flow

Download libraries control exposed through new APIs

Bug fixes

Version 2.0.0

Using new server API

Major SDK refactor to allow more flexibility, easier configuration and support for reorderable components

INE validation feature

QR scan

New tutorials

New bubble animation while processing ID

Result screen updates

App navigation improvement

Report feature

User consent feature

Liveness call encryption

Eyes closed detection

Multiple faces detection

Face angle is 20 by default instead of 15

Fixes for lower end device

Bug fixes

Smartlook screen recording analytics (off by default)

Google forms in the end of the flow

Video recording prototype feature

Contract acceptance feature

Captcha feature

Speech to text prototype feature

Runtime download of native libraries

Version 1.1.2

Enable/disable logs through setLoggingEnabled method of IncodeWelcome.Builder

Displaying valid interviewer name during video conference

Added more info when sending back results after face scan

Added callbacks through OnboardingListener once signature and proof of address are captured

Version 1.1.1

Bugfixes

Version 1.1.0

Introduced core Module which has to be added as a dependency together with welcome module - This change allows Incode Welcome SDK to be used together with Incode Hello SDK

Exposed getUserScore API to fetch results from ID scan, Liveness and Face Recognition checks.

Exposed approve API to approve users either by using Incode's scoring mechanism or explicitly approving them regardless of the scoring mechanism.

Version 1.0.8

Improved ID Scan performance

Improved Selfie capture UX

BugfixesOnboardingListener now has onEstimatedWaitingTime callback which returns estimated waiting time in seconds

Version 1.0.7

OnboardingSessionListener and its onSuccess callback now returns both token and interviewId

OnboardingListener now has onOnboardingSessionCreated callback that returns token and interviewId

VideoConferenceListener now has onEstimatedWaitingTime callback which returns estimated waiting time in seconds

OnboardingListener now has onEstimatedWaitingTime callback which returns estimated waiting time in seconds

Version 1.0.6

Added OCR data inside IdValidationResult.

OnboardingListener now has 2 more callbacks - onIdValidationCompleted and onQueuePositionChanged

VideoConferenceListener now has onQueuePositionChanged callback

Version 1.0.5

Fixed Camera crash on Selfie screen

Address Validation step can now be skipped through OnboardingConfig

Version 1.0.4

Fixed obfuscation issue

Version 1.0.3

Enabled Theme customization

Enabled custom text messages

'How To' ID tutorials are now optional

Extended IncodeWelcome Builder API to specify custom SSL configuration for on-premise servers

Choose if you wish to enable or disable the call when starting the video conference

Version 1.0.2

_2019-09-09

Bug fixes

initNewOnboardingSession now expects useConference parameter

startIdValidation now expects idAutoCaptureTimeout parameter

Version 1.0.1

_2019-05-09

Bug fixes

Optimized ID capture for getting better quality ID photos

Enabled relative paths for URL


What’s Next