Skip to main content
Version: 1.10.0

Changelog

1.10.0 - 29.09.2026​

minBackendVersion

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 to HIGH.
  • Added the recordingDurationMs (recording length, default 10000 ms) and torchEnabled (camera light during recording, default false) 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 enableHighestResolution parameter is deprecated and no longer has any effect; use documentResolution instead (DocumentResolution.ULTRA for 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 onError callback 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​

minBackendVersion

Changed
  • The NFC feature is no longer required in the SDK manifest (android.hardware.nfc required="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 with NFCError.DEVICE_NOT_HAVE_NFC.
  • Added a Cancel button to the NFC-disabled prompt; its text can be customized with the NFC step's cancelButtonText parameter.

1.6.17 - 18.09.2026​

minBackendVersion

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​

minBackendVersion

Fixed
  • Fixed the screen going dark during video calls.

1.6.15 - 15.09.2026​

minBackendVersion

Added
  • Added -no-record artifact variants that ship without screen recording. Integrations whose backend never enables the save_face_match_video flag 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_AVAILABLE error. When the backend requires screen recording while a -no-record artifact 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 ttsConfig parameter and TTSConfig, updateUIConfig, the NFC step's text parameters (scanTitle, scanDescription, cancelButtonText, retryTitle, retryDescription, disabledTitle, disabledDescription, disabledButtonText), the Passport step's nationality parameter, the enableHighestResolution parameter of the Front and Back steps, and the RuPassportAddressValidation step.
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​

minBackendVersion

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​

minBackendVersion

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.