Change Log
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 theIdScan
module for auto and manual capture separately:
setShowRetakeScreenForAutoCapture(boolean showRetakeScreenForAutoCapture);
setShowRetakeScreenForManualCapture(boolean showRetakeScreenForManualCapture);
setShowRetakeScreenForAutoCapture(showRetakeScreenForAutoCapture: Boolean)
setShowRetakeScreenForManualCapture(showRetakeScreenForManualCapture: Boolean)
- 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 tomoduleOpened
analytics event. - Upgraded following Compose internal dependencies. Upgrade
compileSdk
to level 34 is required. Please refer to the Migration Guideandroidx.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
andIdScan
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 inSessionConfig
to enable server-side merging ofIdScan
andSelfieScan
recordings. - Add an option to enable/disable audio during frame streaming for
IdScan
andSelfieScan
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
andSelfieScan
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 theEKYC
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 byFlowConfig.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 inEKYCResult
andIdInfoResult
classes. - Fetch OpenTok API keys through backend instead of using hardcoded values.
- Added sending frame stats for
IdScan
andSelfieScan
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 readingmaxVideoLength
dashboard setting for theVideoSelfie
module. - Fixed an issue introduced in 5.26.0 with
OnboardingListener
event callbacks not triggering. Affects flows started withstartOnboarding
,startFlow
andstartFlowFromDeeplink
APIs (NOT withstartOnboardingSection
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.
- Returning empty or partial results in
- 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.
- The existing
- 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
andEmail 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)
forEKYC
module.onEKYBChecksCompleted(EKYBResult ekybResult)
forEKYB
module.onIdInfoCompleted(IdInfoResult idInfoResult)
forIdInfo
module.onAESCompleted(AESResult aesResult)
forAES
module.onTaxIdValidationCompleted(boolean success)
forTaxIdValidation
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. Thesecompat
versions are intended for projects that are unable to use Kotlin1.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 Kotlin1.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 theVideoSelfie
module. Enabled by default. - Added
documentExpiryDate
field toIdInfo
module and extended theIdInfoResult
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 withSelfieScan.Builder.setAutoCaptureTimeout()
. - Added missing analytics event for switching to manual capture in the
IdScan
module when theIdScan.Builder.setAutoCaptureTimeout()
value is set to zero or negative. - Fixed an issue in the
NFC Scan
module where edits made to thedocumentNumber
anddateOfBirth
fields in theIdInfo
module were not being reflected on the NFC OCR screen. - Fixed an issue in the
IdScan
module whenTest Mode
is enabled (used for testing on emulators) which caused theUSER_CANCELLED
event to trigger, instead ofEMULATOR_DETECTED
. - Denying Camera or Microphone permissions in the
IdScan
andSelfieScan
modules now results in anonError(PermissionDeniedException())
callback rather than anonUserCancelled()
callback. - Removed
cleartextTrafficPermitted="true"
fromnetwork-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 withEKYB
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
andQuit
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()
andfetchFlow()
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 whenvideo-conference
dependency is not present. As expected, theonError()
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 inonOnboardingSessionCreated(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 scanningPassport
. - 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 whentargetSdk
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()
andstartFlowFromDeepLink()
APIs.IllegalStateException
was replaced withonError()
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
toIdScan
module. - Moved Selfie auto-capture timeout configuration method from
CommonConfig
toSelfieScan
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
andMicrophonePermissionsDeniedException
. - Added
IncodeWelcome.Builder.disableVirtualEnvironmentDetection()
to disable virtual environment detection. For debugging purposes only. - Added the following information to
videoSelfieVideoInfo
analytics event inVideoSelfie
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
- Bugs in methods for reading
- 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.
- Added "keep" rules for the
- Denying location permission in the
Geolocation
module now results in anonError(PermissionDeniedException())
callback rather than anonUserCancelled()
callback. - Updated device environment error handling.
RuntimeException
is replaced withonError()
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
- Positioning the phone when scanning the face in the
- 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.
- Added support for the "Skip Government Verification animation" configuration. See the Javadoc for the
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 ofVideoSelfie
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 withonError()
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
orBiometricConsentNotReceived
.
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
andVoiceConsent
steps are now automatically skipped when audio is disabled. Adapted the tutorials not to showQuestions
andVoiceConsent
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 theIdType
is explicitly set toPassport
.
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 Plugin8.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
andVideoSelfie
modules.
- Support for customizable logos through
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 usingminifyEnabled
. - ButterKnife dependency removed.
Fixed (ALL modes)
- Fixed issues with
Selfie
andVideoSelfie
modules including:- Pressing the "Continue" button too quickly on
VideoSelfie
question could cause a crash. Selfie
module could crash when returning from the background.
- Pressing the "Continue" button too quickly on
- 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 toIdInfo
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()
andsetDownloadDocument()
methods in the AES module'sBuilder
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)
.
- Enable this via
- 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 usingsetStreamFramesEnabled(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)
orIdScan.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 IncodeActivity
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 withSessionConfig.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
andVerifyListener
.
- 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
andDelayedOnboardingSyncError
.
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 theIdScan
andSelfieScan
modules. - Fixed an issue where
Selfie
andVideoSelfie
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 theIdScan
andSelfieScan
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 toDocumentValidationResult
class. - Updated
core-light
module to v2.6.0: Improved lenses and face mask detection. Introduced optional eyes closed detection inSelfie
andVideoSelfie
. To enable it, use module level parametereyesClosedCheckEnabled
. - Updated
kiosk-login
module to v1.3.0: Utilize improved lenses detection fromcore-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 toSelfieScanResult.hasFaceMask
.- Optional dependency
model-mask-detection
has been deprecated as the functionality has been ported tocore-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 APIprocessAntifraud()
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
andMissingQrFaceLoginDependencyException
. - 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', andidCategory
- 'primary/secondary' parameters tocaptureFrontId
event. - Added
captureType
- 'auto/manual' andidCategory
- 'primary/secondary' parameters tocaptureBackId
event. - Added
captureType
- 'auto/manual' tocaptureSelfie
event. - Added
idType
- 'id/passport' andidCategory
- 'primary/secondary' parameters toswitchToManualCaptureFrontId
event. - Added
idCategory
- 'primary/secondary' parameter toswitchToManualCaptureBackId
event. - Removed obsolete
manualCaptureFrontId
,manualCaptureBackId
,switchToManualCaptureFrontSecondId
,manualCaptureFrontSecondId
,switchToManualCaptureBackSecondId
,manualCaptureBackSecondId
,manualCaptureSecondPassport
,manualCaptureSelfie
events.
- Added
- 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 theIdType
is explicitly set toID
- Fixed an issue where
ID Scan
auto-capture never happens after "Too dark" state when theIdType
is explicitly set toID
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, checkIncodeWelcome.Builder.setExternalScreenshotsEnabled
- UI change: Changed default fragment transition used in
Video Selfie
andCURP
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
andbackIdDetected
- Updated button design in ID type chooser screen
- Added optional ID template overlay within ID capture frame, check
IdScan.Builder.setShowIdOverlay
- Added
module
andscreen
event properties to existing analytics events - Added analytics events to track opening and closing of each screen:
screenOpened
andscreenClosed
Capture Only
documentation improvements:- Added flow diagram to https://docs.incode.com/docs/android/USER_GUIDE_CAPTURE_SDK
- Explicitly documented which customization and strings are applied in capture only
- Explicitly document which configurations are applied in capture only mode
- General documentation improvements:
- Cleaned
IncodeWelcome
public documentation so it shows only APIs intended for external use
- Cleaned
- Renamed Gradle dependency
com.incode.sdk:conference
tocom.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
andqr-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
andSelfie Scan
. Videos are available in the dashboard, checkIdScan.Builder.setStreamFramesEnabled
andSelfieScan.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 checkIncodeWelcome.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 beforefinishOnboarding
network call finishes. Affects only flows started withstartOnboarding
API (and NOT withstartOnboardingSection
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 to21
- [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
andPAYMENT_PROOF
inDocument Scan
module - Tap-to-focus in
ID Scan
andVideo Selfie
modules - External
Screen View
andSession 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
andCountryCode
toIdScanResult
- 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 toResponseOCRData
- 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