Skip to content

Android - SDK Release Notes

Before switching to a new version, check the "Does it Affect the Implementation?" area.

v2.1.2.1076 / v2.1.2.3076

Release Date: 23.10.2026 · Type: Hotfix - 2.1.2.62 · Breaking Change: None

What’s New?

The issue of video recording not being uploaded to the server in some server configurations has been resolved. The video upload step now completes as expected across all supported server address configurations.

The release is offered in two variants: v2.1.2.1076 compiled with Kotlin 2.1.21, and v2.1.2.3076 compiled with Kotlin 2.3.0. Integrations fixed to Kotlin 2.1.x should use variant 1076, while integrations utilizing Kotlin 2.2 and above should use variant 3076.

🔧 Does it Affect the Implementation?

No: There are no changes in the integration interface or configuration.

  • Test: It is recommended to run regression testing on the validation flow that includes video recording.

v2.1.2.1075 / v2.1.2.3075

Release Date: 22.10.2026 · Type: Hotfix - 2.1.2.62 · Breaking Change: None

What’s New?

Support for the TUR_DEFAULT country code has been added to the identity scanning flow. In sessions initiated with this code, both the Turkish ID card and passport can be scanned within the same flow; the SDK detects the type of the document being scanned and selects the appropriate reading flow itself. This feature activates when the relevant server-side setting is enabled; if the setting is off, sessions initiated with TUR_DEFAULT will continue with the Turkish ID card flow.

The guiding texts and audio prompts in the touch test steps have been updated; the text displayed on the screen now matches the spoken prompt exactly.

The Picture-in-Picture (PiP) behavior during video calls has been improved. The call is now properly terminated when the PiP window is closed, the call continues seamlessly on devices that do not support PiP or have the PiP permission turned off, and the application remains stable after leaving the call screen.

The issue of application crashes occurring due to delayed server responses after the session is terminated has been resolved.

An unused barcode scanning dependency has been removed from the SDK.

The release is offered in two variants: v2.1.2.1075 compiled with Kotlin 2.1.21, and v2.1.2.3075 compiled with Kotlin 2.3.0. Integrations fixed to Kotlin 2.1.x should use variant 1075, while integrations utilizing Kotlin 2.2 and above should use variant 3075.

🔧 Does it Affect the Implementation?

No: There are no mandatory changes in the integration interface.

  • Integrations wanting to use the ID card + passport flow (optional): The session must be initiated with the TUR_DEFAULT country code, and contact Enqura to enable the server-side setting. No changes are required for current usage of TUR / DEFAULT.
  • Those using the Google ML Kit barcode-scanning library through the SDK: This library is no longer included with the SDK; please add it to your dependencies if you are using it in your application.
  • Test: It is recommended to run regression testing on identity scanning (including touch test steps) and video call flows, along with scenarios where the application is sent to the background during the call, the PiP window is closed, and full-screen mode is entered.

v2.1.2.1069 / v2.1.2.3069

Release Date: 01.10.2026 · Type: Hotfix - 2.1.2.62 · Breaking Change: None

What’s New?

Support has been added for reporting the progress of NFC chip reading in percentage (0–100). This allows users to see real-time progress on the reading screen.

In the back-side identity reading, the issue of capturing and requiring the MRZ image in flows where visual analysis is off or where the MRZ image is not requested in the configuration has been resolved. The MRZ image is now only captured when the back-side visual analysis is enabled and requested in the configuration.

Processing logs related to face verification, document verification, and audio verification steps have been improved.

The release is offered in two variants: v2.1.2.1069 compiled with Kotlin 2.1.21, and v2.1.2.3069 compiled with Kotlin 2.3.0. Integrations fixed to Kotlin 2.1.x should use variant 1069, while integrations utilizing Kotlin 2.2 and above should use variant 3069.

🔧 Does it Affect the Implementation?

No: There are no mandatory changes in the integration interface.

  • Integrations wanting to use the NFC progress indicator (optional): The method onNfcProgress(percent: Int) can be overridden in classes derived from EnNFCBaseFragment or EnNFCBaseBottomSheetFragment. The value is passed through the main thread and only increases within a single reading. If not overridden, existing behavior remains unchanged.
  • Test: It is recommended to run regression testing on the NFC chip reading flow and identity back-side reading (MRZ) flows with visual analysis on/off.

v2.1.2.1066 / v2.1.2.3066

Release Date: 28.09.2026 · Type: Release · Breaking Change: None

What’s New?

The additional root certificate configuration (networkSecurityConfig) added to the application manifest via the SDK manifest in versions v2.1.2.62 and v2.1.2.63 has been removed. This configuration could lead to disconnection in applications using unsecured (http) connections in development environments like React Native / Metro. In cases where applications have their own networkSecurityConfig definitions, it could also cause build conflicts. Trust in additional root certificates will continue to be provided within the SDK for its connections. The application's network security configuration is completely under the application's control. This fix was also released with hotfix version v2.1.2.1065 / v2.1.2.3065.

The problem of guiding texts not appearing during identity scanning and face verification steps after restoring application data from the device backup has been resolved.

In document security item checks, when cross-checking is disabled in the configuration, the flow does not terminate with an error; it continues by skipping the check.

Diagnostic records regarding connection quality during video calls have been expanded.

The release is offered in two variants: v2.1.2.1066 compiled with Kotlin 2.1.21, and v2.1.2.3066 compiled with Kotlin 2.3.0. Integrations fixed to Kotlin 2.1.x should use variant 1066, while integrations utilizing Kotlin 2.2 and above should use variant 3066.

🔧 Does it Affect the Implementation?

No: There are no changes in the integration interface or configuration.

  • Those applying temporary solutions for v2.1.2.62 / v2.1.2.63: You can now remove the network_security_config.xml file you added under src/debug in the development environment, or the tools:replace="android:networkSecurityConfig" definition you added to the manifest.
  • Test: It is recommended to run regression testing on identity scanning (OCR), face verification, and video call flows.

v2.1.2.1065 / v2.1.2.3065

Release Date: 18.09.2026 · Type: Hotfix - 2.1.2.62 · Breaking Change: None

What’s New?

In versions v2.1.2.62 and v2.1.2.63, the additional root certificate configuration (networkSecurityConfig) added to the application manifest via the SDK manifest to resolve certificate validation errors experienced on older devices in some integrations has been removed. This configuration could combine with the application's own network security settings during manifest merging, affecting the application as a whole. It could lead to disconnections in applications using unsecured (http) connections in development environments (such as React Native / Metro), and cause build conflicts in applications with their own networkSecurityConfig definitions.

Trust in additional root certificates continues to be provided within the SDK for its connections, just as since version v2.1.0.45; there are no behavioral changes in the SDK flows. The application's network security configuration is completely under the application's control. For details, see the "Root Certificate Trust" section in the Implementation Guide on the Core Module page.

The release is offered in two variants: v2.1.2.1065 compiled with Kotlin 2.1.21, and v2.1.2.3065 compiled with Kotlin 2.3.0. Integrations fixed to Kotlin 2.1.x should use variant 1065, while integrations utilizing Kotlin 2.2 and above should use variant 3065.

🔧 Does it Affect the Implementation?

Conditional — There are no changes in the integration interface.

  • Those applying temporary solutions for v2.1.2.62 / v2.1.2.63: You no longer need the network_security_config.xml file you added under src/debug in the development environment; you can remove it.
  • Those needing additional root certificate trust in their own connections (outside SDK): You can add it to your application manifest using the steps on the Core Module page if necessary.

v2.1.2.63

Release Date: 09.09.2026 · Type: Release · Breaking Change: None

What’s New?

Issues causing erroneous rejections in foreign identity and Turkish passport reading scenarios have been resolved when server-side document type checking is enabled. An additional reading security check has been added for scenarios where long name/surname fields on the back of the identity cannot be read.

When one of the visual analysis models cannot be obtained from the server, only that model falls back to its embedded backup; other models are not affected, allowing temporary reading issues with visual security elements like holograms not to completely halt the OCR step.

The NFC chip connection timeout period has been made dynamic; the re-attempting of the authentication step (BAC) will be automatically retried in case of temporary connection synchronization errors.

When the meeting is re-established by pressing the "Retry" button, an issue that caused the meeting to terminate spontaneously despite image exchange has been resolved.

When the user switched to the main screen during the Picture-in-Picture (PiP) mode of the meeting, the scenario where the meeting screen unexpectedly stayed in the background was investigated, and a control was added to bring the application to the foreground.

Due to the lack of support for standard camera preview resolution on some devices, arrangements were made to automatically select an alternative resolution based on the resolution supported by the device.

An additional root certificate has been added to the security chain to resolve the connection errors experienced during certificate validation in some integrations.


v2.1.2.62

Release Date: 08.09.2026 · Type: Release · Breaking Change: None

What’s New?

Issues causing erroneous rejections in foreign identity and Turkish passport reading scenarios have been resolved when server-side document type checking is enabled. An additional reading security check has been added for scenarios where long name/surname fields on the back of the identity cannot be read.

When one of the visual analysis models cannot be obtained from the server, only that model falls back to its embedded backup; other models are not affected, allowing temporary reading issues with visual security elements like holograms not to completely halt the OCR step.

The NFC chip connection timeout period has been made dynamic; the re-attempting of the authentication step (BAC) will be automatically retried in case of temporary connection synchronization errors.

When the meeting is re-established by pressing the "Retry" button, an issue that caused the meeting to terminate spontaneously despite image exchange has been resolved.

When the user switched to the main screen during the Picture-in-Picture (PiP) mode of the meeting, the scenario where the meeting screen unexpectedly stayed in the background was investigated, and a control was added to bring the application to the foreground.

Due to the lack of support for standard camera preview resolution on some devices, arrangements were made to automatically select an alternative resolution based on the resolution supported by the device.

An additional root certificate has been added to the security chain to resolve the connection errors experienced during certificate validation in some integrations.

A separate variant of the SDK compiled with Kotlin 2.1.21 has been provided for integrations pinned to the Kotlin 2.1.x toolchain.

🔧 Does it Affect Implementation?

Conditional — Action is required only for integrations pinned to Kotlin 2.1.x.

  • Kotlin Version Compatibility: Integrations using Kotlin 2.1.x must switch to this variant compiled with Kotlin 2.1.21. No changes are required for integrations using Kotlin 2.3.0 or higher.

v2.1.2.49

Release Date: 2026-08-11 · Type: Release · Breaking Change: None

What’s New?

A certification issue caused by Sectigo has been fixed.

The voice verification feature has been improved.

Device-based focusing issues experienced during the OCR reading process have been improved.

The step for capturing the biometric photo in the passport reading process has been organized.

Call Logs have been improved.


v2.1.2.20

Release Date: 2026-06-23 · Type: Release · Breaking Change: None

What’s New?

In addition to existing Base64 string and embedded .pem certificate validation methods, support for certificate validation (SSL Pinning) using Public Key has been integrated.

OCR, NFC, Face, and VideoCall resources have been split module-wise. Each module has been organized to prepare the audio, text, icon, and visual resources it needs. After resource registration is completed, the relevant module's init flow has been allowed to continue.

OCR/Face overlay opacity, guidance text position, agent name field, small/large video view, button visibility, and dynamic management of icons through resource structure have been expanded.

With the transition to the new infrastructure, improvements have been made to automatically correct angular distortions in the images taken from the camera and to allow identity recognition processes to continue with these optimized visuals.

By separating security elements on the identity from basic identity visuals, verification and data accuracy control processes have been deepened. The management of hologram and visual security elements controls has been expanded through VP settings.

Reading success has been increased across different document types, including passports and foreign identities. Scenarios that may cause erroneous character reading in MRZ and name fields have been improved.

Improvements have been made to the NFC flow in scenarios such as early capture of the identity from the device, active authentication errors, and prolonged reading scenarios.

Requests to turn the flash on/off sent by the agent during the video call will be managed with user approval.

Stability has been improved in scenarios such as connection breakdown, termination of the meeting, and reconnection during video calls.

Backup TURN information has been supported to establish a more reliable video call.

🔧 Does it Affect Implementation?

Yes — Action may be required on the application side for teams that will use some features.

  • SSL Pinning: To use SSL Pinning with Public Key, the mapiCertificatePublicKeyList and signallingCertificatePublicKeyList fields on BaseModel must be filled. No mandatory changes are required for teams using existing Base64 string or embedded .pem certificate validation management.
  • Remote Flash Control: The agentRequest callback must respond to FlashOpen and FlashClose requests. Depending on user approval, openTourch(true/false) and closeTourch(true/false) calls should be made.

v2.1.0.49

Release Date: 08.09.2026 · Type: Hotfix - 2.1.0.5 · Breaking Change: None

What’s New?

When multiple people are detected in the camera during the face verification step, the process ends in a controlled manner by displaying a guidance message to the user, and the face step is marked as failed; it will be retried as many times as allowed.

When reading Turkey TD1 format identity cards, if the aspect ratio of the detected document is not within the expected range, the relevant side (front/back) is marked as failed. This check prevents the acceptance of incorrectly angled or poorly framed shots.

🔧 Does it Affect Implementation?

Conditional — There are no changes in the integration interface or configuration; only the flow behavior has been tightened.

  • Face Step: In scenarios where there are multiple people in the frame, the face step may now return a failed result. This scenario should be tested for compatibility with your application flow.
  • Turkey Identity Card OCR: It is recommended that the reading flow for the front and back surfaces of Turkish identity cards undergo regression testing.

v2.1.0.47

Release Date: 28.08.2026 · Type: Hotfix - 2.1.0.5 · Breaking Change: None

What’s New?

Inconsistencies in call logs due to the failure to reset previous session information when the session is closed or a new session is started have been resolved.

Due to the lack of support for standard camera preview resolution on some devices, arrangements were made to automatically select an alternative resolution based on the resolution supported by the device.


v2.1.0.45

Release Date: 2026-08-19 · Type: Hotfix - 2.1.0.5 · Breaking Change: None

What’s New?

Memory optimization has been performed on the video upload service.

The issue where NFC repetition was performed through BottomSheet in Picture-in-Picture mode has been fixed.

Changes have been made in the integration addition service.

A root certificate has been added for the certification issue caused by Sectigo.


v2.1.0.35

Release Date: 2026-06-22 · Type: Hotfix - 2.1.0.5 · Breaking Change: None

What’s New?

baseURL has been normalized to end with / for consistent URL creation. If the last character is not /, it is automatically added.

Adjustments have been made for Picture In Picture mode on Android 16 devices.

The crash experienced due to the ScreenLockReceiver object not being initialized has been prevented since the NFC reading process has not yet started.

The replaceSound(oldSound: String, newSound: String) method has been added to be accessible from every module. With this method, the currently playing sound can be replaced with a different sound from the local storage, or the currently playing sound can be stopped.

In the NFC module, reading stability has been increased for Android 15+ devices. The tag capturing flow has been updated with ReaderMode, the NFC chip reading process has been reorganized, and error management has been improved for card connection failure scenarios.

Stability issues experienced during the transition in NFC repetition during video calls have been resolved.

The SDK shutdown and cleanup flow has been improved. Issues that could arise from the retention of data and screen references from the previous session after the process is complete have been addressed.

🔧 Does It Affect Implementation?

Yes — There should be no LuminosityFailed blocker in the callbacks of iDDocFailed(), faceDetectFailed(), and livenessFailed().


v2.1.0.5

Release Date: 2026-02-03 · Type: Release · Breaking Change: None

What’s New?

Audio File Management The structure for saving the audio files pulled from the service to the device has been updated.

🔧 Does It Affect Implementation?

No — No changes are needed on the implementation side.


v2.1.0.4

Release Date: 2026-01-29 · Type: Release · Breaking Change: None

What’s New?

Release Mode and Proguard Release mode configurations and Proguard rules have been updated.

NFC Bottom Sheet Fix A stability issue in the NFC Bottom Sheet feature has been resolved.

🔧 Does It Affect Implementation?

No — No changes are needed on the implementation side. It is recommended to test the scenarios of putting the app in the background in integrations using the NFC Bottom Sheet.


v2.1.0.0

Release Date: 2026-01-23 · Type: Release · Breaking Change: None

What’s New?

VideoCall — Background Call (PiP) When the user minimizes the app during a call, the video call continues in a small window.

NFC — Bottom Sheet Interface Bottom Sheet fragment support has been added for the NFC flow. The NFC scanning screen can now be displayed on a more modern bottom sheet.

Model and Visual Analysis Improvements TFLite Detector rules have been updated. Visual analysis element checks have been made dynamic; management has been transferred to the Backoffice side.

Startup Time Optimization Default sounds have been embedded in the device; initialize time has been reduced.

Verbal Consent The verbal consent flow has been developed within the Utility SDK.

🔧 Does It Affect Implementation?

Yes — The following behavior change may affect existing implementations.

The LuminosityFailed error is no longer a blocking error that stops the flow. If there is logic that terminates the flow based on this error in the idDocFailed(), faceDetectFailed(), and livenessFailed() callbacks, it needs to be reviewed. The flow will continue even if LuminosityFailed is received during OCR and Face flows.

  • PiP: Additional configuration may be required for integrations that wish to use it. For details, refer to the VideoCall Module page.
  • NFC Bottom Sheet: Additional configuration may be required for integrations that wish to use it. For details, refer to the NFC Module page.

v2.0.6.12

Release Date: 2026-01-14 · Type: Hotfix · Breaking Change: None

What’s New?

Stability Improvements

  • Clear methods and OCR thread management have been reorganized.
  • Fragment Manager methods have been updated.
  • The freezing issue during the return to VideoCall during NFC repetition has been resolved.
  • The stopping of the flow due to the LuminosityFailed error has been removed.
  • Battery level logging has been added.

🔧 Does It Affect Implementation?

No — No changes are needed on the implementation side. It is recommended to test whether the flow continues even if LuminosityFailed is received during OCR and Face flows.


v2.0.6.4

Release Date: 2025-12-02 · Type: Release · Breaking Change: None

What’s New?

Opening Sounds Opening sounds have been added for the OCR, NFC, and VideoCall modules.

Visual Management — Transferred to Backoffice The visuals on the OCR, Face, and VideoCall screens are now managed via Backoffice; they have been removed from the app. The representative name is displayed on the screen during the VideoCall.

Connection Type Logging The network connection type (2G/3G/4.5G) has started to be logged. For this, the READ_PHONE_STATE permission has been added.

Various Fixes

  • OCR and Face luminosity threshold values have been adjusted.
  • The detection behavior of chips other than ID cards has been updated.
  • Changes have been made in the Signing set method.
  • Necessary changes have been made for API 25 support.
  • Screen Orientation error has been fixed.
  • The freezing issue during the return to VideoCall during NFC repetition has been resolved.
  • The stopping of the flow due to the LuminosityFailed error has been removed.

🔧 Does It Affect Implementation?

Yes — The behavior of LuminosityFailed has changed.

Logic that terminates the flow based on the LuminosityFailed error within the idDocFailed(), faceDetectFailed(), and livenessFailed() callbacks should be removed. This error no longer stops the flow; it will continue automatically.

Additionally, the READ_PHONE_STATE permission must be obtained by the application. If this permission is not granted, access to the network type information will not be possible, and it will only be logged as "Mobile".


v2.0.5.23

Release Date: 2025-12-09 · Type: Hotfix · Breaking Change: None

What’s New?

Stability Improvements

  • Adjustments have been made to the Clear functions.
  • Thread controls have been added during OCR reading.

🔧 Does It Affect Implementation?

No — No changes are needed on the implementation side.


v2.0.5.19

Release Date: 2025-10-11 · Type: Release · Breaking Change: None

What’s New?

First public access release.

🔧 Does It Affect Implementation?

No — Follow the Getting Started page for the initial setup.