Changelog
1.10.0 - 29.09.2026
Added
- Added the
documentResolution(DocumentResolution.LOW | MEDIUM | HIGH | ULTRA)parameter to the Front, Back and Passport steps. It sets the capture resolution of the document photo; defaults toHIGH. - Added the
recordingDurationMs(recording length, default10000ms) andtorchEnabled(camera light during recording, defaultfalse) parameters to the Hologram step.
Changed
- Upgraded the Havelsan id_verification SDK from rc72 to 2.0.1. The legacy Camera1 camera stack was removed; all camera steps run on CameraX.
- Moved the Hologram step to Havelsan's new hologram video API. Recording uses the rear camera without audio, so the step now only requests camera permission, not microphone permission.
- The
enableHighestResolutionparameter is deprecated and no longer has any effect; usedocumentResolutioninstead (DocumentResolution.ULTRAfor the highest resolution). - When capture completes in the document steps and the Liveness step, the camera preview now freezes on the last frame instead of overlaying a photo.
Fixed
- The Liveness and VideoRecord steps now process face photos, the screen recording and video/audio recordings through files instead of memory, fixing out-of-memory (OOM) crashes on large recordings.
- Late callbacks from a previous attempt can no longer corrupt the state of the current attempt in the Liveness and VideoRecord steps.
- Fixed an empty screen-recording result in the Liveness step causing the real recording to be treated as failed.
- Fixed the Liveness flow restarting when the app was sent to the background and brought back while the error or retry sheet was open.
- Fixed the host app's
onErrorcallback possibly being called twice for the same error. - Fixed the VideoRecord step failing to build the preview video, and discarding the whole capture, when the audio track was missing.
1.6.18 - 23.09.2026
Changed
- The NFC feature is no longer required in the SDK manifest (
android.hardware.nfcrequired="false"), so devices without NFC hardware no longer filter the host app on Google Play. On such devices the NFC step routes the flow to the fail screen withNFCError.DEVICE_NOT_HAVE_NFC. - Added a Cancel button to the NFC-disabled prompt; its text can be customized with the NFC step's
cancelButtonTextparameter.
1.6.17 - 18.09.2026
Changed
- The device screen is kept on for the whole KYC flow.
Fixed
- Fixed the screen going dark during long-running steps.
1.6.16 - 16.09.2026
Fixed
- Fixed the screen going dark during video calls.
1.6.15 - 15.09.2026
Added
- Added
-no-recordartifact variants that ship without screen recording. Integrations whose backend never enables thesave_face_match_videoflag can use these packages, which contain none of the Havelsan screen recording permissions or service. The variants carry the same SDK version number; the choice is made at build time. - Added the
ScreenRecordingError.SCREEN_RECORDING_NOT_AVAILABLEerror. When the backend requires screen recording while a-no-recordartifact is in use, the Liveness step fails with this error before any camera or permission requests; the requirement is not silently skipped. - Place of birth is now read in the NFC step.
Changed
- Updated the image compression behavior.
- Added information about the artifact variants (the video call and screen recording dimensions) to the installation section; the dependency example was updated to
v1.6.15. - Documented the following previously undocumented APIs: the
ttsConfigparameter andTTSConfig,updateUIConfig, the NFC step's text parameters (scanTitle,scanDescription,cancelButtonText,retryTitle,retryDescription,disabledTitle,disabledDescription,disabledButtonText), the Passport step'snationalityparameter, theenableHighestResolutionparameter of the Front and Back steps, and theRuPassportAddressValidationstep.
Fixed
- Fixed the missing Liveness snapshot and the black-bar (letterboxing) issue.
- The Liveness snapshot is now shown without decode delay.
1.6.11 - 03.09.2026
Added
- Added dark mode support to UIConfig: an isDarkTheme flag and an optional darkColors block. When the host app reports its dark-mode state, the SDK uses the host's darkColors palette if supplied, otherwise its own built-in dark palette.
- Added a new KPS (Identity Sharing System) step. Automatically verifies the user's identity information; it has no properties of its own.
- Added video call provider selection: the videoCallProvider and roomName parameters.
- Added the securityCheckEnabled parameter. When enabled, the SDK performs root/emulator/hook detection on the device; detection always emits a SecurityWarning event and stops the flow with a fail screen in non-debug builds. Disabled by default.
- Added new error enum families for network, server, timeout, rejection, identity-read, document auto-detection, video recording, location permission, and video call errors (NetworkError, ServerError, TimeOutError, RejectedError, IdentityReadFailedError, DocumentAutoDetectError, VideoRecordError, PermissionError, VideoCallError). Also documented the previously undocumented screen-recording errors (ScreenRecordingError).
Changed
- [Breaking] Error types were renamed with no backward-compatibility shim: KYCError (enum) → SDKError, KYCCameraError → CameraSourceError, KYCNFCError → NFCError. Some error cases were also renamed or merged (e.g. PERMISSION_NOT_GRANTED + CAMERA_PERMISSION_REQUIRED → CAMERA_PERMISSION_DENIED, FLASH_MODE → FLASH_TOGGLE_FAILED, NOT_ENABLE → NFC_NOT_ENABLED). See the Error Handling section for details.
- Upgraded the Havelsan id_verification SDK to rc71 (jmrtd 0.7.42 / BC 1.78.1).
Fixed
- Fixed the KPS step failing with a connection reset when fired immediately after NFC.
- Fixed retry after a camera error in the Front, Back and Passport steps not re-starting document auto-detection; previously the camera preview appeared live but detection never fired again.
- Removed the SDK's unused launcher icon resources from the AAR; the host app's own launcher icon is no longer overridden by the SDK's on some Android 8+ devices.
- Fixed the flow silently breaking instead of routing to a proper fail screen (APP_IDENTIFIER_STEPS_IS_NOT_SAME_API) when the host's defined step list doesn't match what the backend expects.
- Added a separate, localized error message shown to the user when NFC verification fails for a generic reason.
1.6.0 - 08.07.2026
Added
- Two new steps were added: Selfie and VideoRecord (spoken video verification). The text the user reads aloud in the VideoRecord step (prompt_text) is provided by the backend.
- The completedScreenTexts parameter was added. The title, description and button text of the success screen can now be customized.
- The language parameter was added. The SDK language can be set to tr, en or ru; English and Russian localizations were added.
- The full UIConfig color and shape setter surface is now exposed: 16 colors (primaryColor, surfaceColor, backgroundColor, errorColor, successColor, overlayColor, titleColor, descriptionColor, etc.) and 5 shapes (cardCornerRadius, imageFrameCornerRadius, bottomSheetCornerRadius, cameraOverlayCornerRadius) are now available to host apps.
Changed
- ID verification version was updated. (r1.0.0-rc68)
Fixed
- Fixed the loss of appointment_id and the flow getting stuck when the video-call-start request returns an empty response.
- Fixed text-to-speech continuing to play from the previous step during fast step transitions.
- Handled the liveness session interruption when the app moves to the background.
- Fixed cases where control was not returned to the host app when the flow finished.
- Added a reason field to the KYCProcessResult.Failed and Cancelled results returned via onProcessFinished, carrying the actual reason the flow failed or was cancelled.