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.
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.
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.