# Changelog

#### 1.9.7 – Apr. 24, 2026 <a href="#h.roqg339aikth" id="h.roqg339aikth"></a>

* Added the `closeButtonSlot` option. Accepts an HTML string or `HTMLElement` to replace the default close button content.
* Added the `options.position` parameter for the logo. Supported values: `bottom-left` (default) and `bottom-center`.
* Resolved excessive `error_recorder_face_detector` and `camera_preparation_error` errors.
* Resolved the issue with an increased number of rejects in Safari's private mode.
* Resolved a race condition in `add_lang()` where the chosen language could be randomly reset to English during SDK initialization.
* SDK now correctly distinguishes between internet connection loss (`error_connection_lost`) and server unavailability (`error_service_unavailable`).
* Web SDK no longer initializes the plugin screen twice within a single session when the gesture selection button is clicked repeatedly during resource loading.
* Resolved the `plugin_already_running` error on subsequent `open()` calls after session completion (SPA, long-lifecycle pages) or abnormal termination (network errors, page unload, init errors).
* Resolved resource loading errors on Safari where the plugin screen failed to launch while the camera remained active.
* Web SDK no longer breaks when its loader script is loaded on the page a second time.
* Resolved the issue with freezes appearing if Web SDK was launched a second time shortly after the first.
* Enhanced stability and security.

#### 1.9.2-15 – Dec. 30, 2025 <a href="#h.roqg339aikth" id="h.roqg339aikth"></a>

* <mark style="background-color:$primary;">Implemented a new proprietary data format: OzCapsula Data Container.</mark>
* You can now customize face oval using new [`.ozliveness_face_stroke`](/oz-knowledge/guides/developer-guide/sdk/oz-liveness-websdk/web-plugin/look-and-feel-customization.md#ozliveness_face_stroke) CSS class (stroke color, glow effects, etc.). All standard CSS properties are supported.
* We now support the `kk` language code as alias for `kz` (Kazakh). `OzLiveness.set_lang('kk')` and `OzLiveness.set_lang('kz')` work equally.
* The `OzLiveness.hide()` and `show()` methods now support global UI visibility state. You don’t need to call them each time, the state is saved between sessions.
* Added new callbacks:
  * `on_media_stream_start` is called when `getUserMedia` is completed successfully,
  * `on_media_stream_stop` is called once video is captured.
* The `ready()` promise is now exposed as the plugin initialization event. Added new methods:
  * `OzLiveness.ready(): Promise<void>` to return the Promise that is resolved after all plugin resources are loaded,
  * `OzLiveness.isReady(): Boolean` to check the initialization state.
* Fixed the bug with empty loader been displayed on screen between processing and uploading.
* If you enter the wrong language code, SDK now shows the proper error.
* The non-English locales are now being applied properly on the first `open()` call.
* Enhanced security.

#### 1.8.1 – Oct. 09, 2025 <a href="#h.roqg339aikth" id="h.roqg339aikth"></a>

* Web SDK no longer returns an error when you call `OzLiveness.hide()` immediately after launching the plugin.
* Improved performance.
* Enhanced security.

#### 1.8.0 – Sept. 26, 2025 <a href="#h.roqg339aikth" id="h.roqg339aikth"></a>

* You can now launch Web Plugin in the windowed mode. Define `parent_container` in `OpenOptions`: `parent_container: string | HTMLElement`.
* Loader transitions are now customizable. Please refer to the [customization](/oz-knowledge/guides/developer-guide/sdk/oz-liveness-websdk/web-plugin/look-and-feel-customization.md#loadertransition) settings.
* Improved handling of head movement gestures (up / down).
* Resolved an issue with excessive error messages in console.
* Updated telemetry.
* Enhanced security.

#### 1.7.15 – Aug. 12, 2025 <a href="#h.roqg339aikth" id="h.roqg339aikth"></a>

* You can now replace the default loader with your custom one. Please refer to the [customization](/oz-knowledge/guides/developer-guide/sdk/oz-liveness-websdk/web-plugin/look-and-feel-customization.md#loaderslot) settings.
* The behavior of SDK, when getting camera access takes too long, is now manageable. Please refer to `get_user_media_promise_timeout_*` parameters listed [here](/oz-knowledge/guides/developer-guide/sdk/oz-liveness-websdk/web-plugin/launching-the-plugin.md).
* Security and telemetry updates.

#### 1.7.14-89-1 – July 09, 2025 <a href="#h.roqg339aikth" id="h.roqg339aikth"></a>

* <mark style="background-color:orange;">**Breaking changes**</mark>: <mark style="background-color:orange;">we no longer transmit scores in callbacks. Replace</mark> <mark style="background-color:orange;"></mark><mark style="background-color:orange;">`confidence_spoofing`</mark> <mark style="background-color:orange;"></mark><mark style="background-color:orange;">with 0 for SUCCESS and with 1 for other statuses.</mark>
* Fixed the bug with Web SDK being unable to read the `image_data_tensor` properties.
* Resolved the issue when OzLiveness was sometimes called later than expected.&#x20;
* Security update.

#### 1.7.14 – June 13, 2025 <a href="#h.roqg339aikth" id="h.roqg339aikth"></a>

* Added support for API 6.0.
* CORS headers in [server configuration](/oz-knowledge/guides/administrator-guide/web-adapter/server-configuration-via-environment-variables.md) should now be specified without quotation marks.
* Added a new parameter to manage authorization. `auth` defines whether and what authorization is used:
  * `true` (the default value) – authorization is required and is based on the generated key;
  * `user:pass` – authorization is required and is based on the user login and password;
  * `false` – no authorization needed.
* You can now hide the **Switch Camera** button. Use [`style.switchCameraButtonCustomization`](/oz-knowledge/guides/developer-guide/sdk/oz-liveness-websdk/web-plugin/look-and-feel-customization.md#switchcamerabuttoncustomization).
* Fixed the bug with colors being applied incorrectly during 3D mask customization.
* Resolved the issue with incorrect mirroring when the `use_for_liveness` parameter is not set.
* The document scan in plugin now works properly.
* Improved accessibility: the hints throughout the customer journey (camera access, processing data, uploading data, requesting results) are now properly and completely voiced by screen readers in assertive mode (changes in hints are announced immediately).
* Created an endpoint for license verification: `[GET] /check_license.php`.
* Reduced the bundle size.
* Fixed the issue with missing analysis details in the `on_complete` callback when using `result_mode: full`.
* Fixed the issue when the camera switch button might have been missed.
* The front camera no longer displays the user's actions as in a mirror image.
* Improved error handling.
* Improved support for low-performance devices.
* Added the closed eyes check to the **Scan** gesture.
* Internal improvements, bug fixes, major telemetry and security updates.

#### 1.6.15 – Dec. 27, 2024 <a href="#h.roqg339aikth" id="h.roqg339aikth"></a>

* Simplified the checks that require user to move their head: turning left or right, tilting, or looking down.
* Decreased the distance threshold for the head-moving actions: turning left or right, tilting, or looking down.
* The application's behavior when the opened dev-tools are detected is now manageable.
* You can now configure method signatures to make them trusted via checksum of the modified function.
* Changed the wording for the `head_down` gesture: the new wording is “tilt down”.
* For possible regulatory requirements, updated the [Web Adapter configuration file](https://doc.ozforensics.com/oz-knowledge/guides/administrator-guide/web-adapter/configuration-file-settings) with a new parameter: `extract_action_shot`. If `True`, for each gesture, the system saves the corresponding image to display it in report, e.g., closed eyes for blinking, instead of random frame for thumbnail.
* Fixed an issue where an arrow incorrectly appeared after capturing head-movement gestures.
* Fixed an issue where the oval disappeared when the "Great!" phrase was displayed.
* Improved the selection of [the best shot](https://doc.ozforensics.com/oz-knowledge/guides/developer-guide/api/oz-api/use-cases/best-shot).
* Security updates.

#### 1.6.12 – Oct. 18, 2024 <a href="#h.roqg339aikth" id="h.roqg339aikth"></a>

* Security updates.
* Resolved the issue where a video could not be generated from a sequence of frames.

#### 1.6.0 – June 24, 2024 <a href="#h.roqg339aikth" id="h.roqg339aikth"></a>

* The `on_complete` callback now is called upon folder status change.
* Updated instructions for camera access in the Android Chrome and Facebook browsers. New keys:
  * `error_no_camera_access`,
  * `oz_tutorial_camera_android_chrome_with_screens_title`,
  * `oz_tutorial_camera_android_chrome_instruction_screen_click_settings`,
  * `oz_tutorial_camera_android_chrome_instruction_screen_permissions`,
  * `oz_tutorial_camera_android_chrome_instruction_screen_allow_access`,
  * `try_again`,
  * `oz_tutorial_camera_external_browser_button`,
  * `oz_tutorial_camera_external_browser_manual_open_link`,
  * `oz_tutorial_camera_external_browser_title`.
* Added the `get_langs()` method that returns a list of locales available in the installed Web SDK.
* Added an error for the case of setting a non-available locale.
* Added an error for the case of lacking of a necessary resource. New key: `unable_load_resource`.
* Changed texts for the `error_connection_lost` and `error_service_unavailable` errors.
* Uploaded new Web SDK string files.
* The crop function no longer adds borders for images smaller than 512×512.

#### 1.5.3 – May 28, 2024 <a href="#h.roqg339aikth" id="h.roqg339aikth"></a>

* In case of camera access timeout, we now display a page with instructions for users to enable camera access: default for all browsers and specific for Facebook.&#x20;
* Added several localization records to the [Web SDK strings file](/oz-knowledge/guides/developer-guide/sdk/oz-liveness-websdk/web-plugin/localization-adding-a-custom-language-pack.md). New localization keys:
  * `accessing_camera_switch_to_another_browser`,
  * `error_camera_timeout_instruction`,
  * `error_camera_timeout_title`,
  * `error_camera_timeout_android_facebook_instruction`.

#### 1.5.0 – May 05, 2024 <a href="#h.roqg339aikth" id="h.roqg339aikth"></a>

* Improved user experience for card printer machines. Users no longer need to get that close to the screen with face frame.
* Added the `disable_adaptive_aspect_ratio` parameter to the Web Plugin. This parameter switches off the default video aspect ratio adjustment to the window.
* Implemented the `get_user_media_timeout` parameter for Web Plugin: when SDK can’t get access to the user camera, after this timeout it displays a hint on how to solve the problem.
* Added several localization records into the [Web SDK strings file](/oz-knowledge/guides/developer-guide/sdk/oz-liveness-websdk/web-plugin/localization-adding-a-custom-language-pack.md). New keys:
  * `oz_tutorial_camera_android_edge_browser`
  * `oz_tutorial_camera_android_edge_instruction`
  * `oz_tutorial_camera_android_edge_title`
  * `error_camera_timeout_instruction`
  * `error_camera_timeout_title`
* Improved the localization: when SDK can’t find a translation for a key, it displays a message in English.&#x20;
* You can now distribute the serverless Web SDK via Node Package Manager.
* You can switch off the display of API errors in modal windows. Set the `disable_adapter_errors_on_screen` parameter in the configuration file to `True`.
* The mobile browsers now use the rear camera to take the documents’ photos.
* Updated samples.
* Fixed the bug with abnormal 3D mask reaction when user needs to repeat a gesture.
* Logging and security updates.

#### 1.4.3 – Apr. 15, 2024 <a href="#h.roqg339aikth" id="h.roqg339aikth"></a>

* Fixed the bug where the warning about incorrect device orientation was not displayed when a mobile user attempted to take a video with their face in landscape orientation.&#x20;
* Some users may have experienced freezes while using WebView. Now, users can tap a button to continue working with the application. The corresponding string has been added to the string file in the [localization section](/oz-knowledge/guides/developer-guide/sdk/oz-liveness-websdk/web-plugin/localization-adding-a-custom-language-pack.md). Key: `tap_to_continue`.

#### 1.4.2 – Mar. 14, 2024 <a href="#h.roqg339aikth" id="h.roqg339aikth"></a>

* Debugging improvements.

#### 1.4.1 – Feb. 27, 2024 <a href="#h.roqg339aikth" id="h.roqg339aikth"></a>

* Major security updates: improved protection against virtual cameras and JavaScript tampering.
* Improved WebView support:
  * Added camera access instructions for applications within the generic WebView browsers on Android and iOS. The corresponding events are added to telemetry.
  * Improved the React Native app integration by adding the `webkit-playsinline` attribute, thereby fixing the issue of the full-screen camera launch on iOS WebView.
* The iFrame using error when `iframe_allowed` = `False` is now shown properly.
* New localization keys:
  * `oz_tutorial_camera_android_webview_browser`
  * `oz_tutorial_camera_android_webview_instruction`
  * `oz_tutorial_camera_android_webview_title`

#### 1.4.0 – Feb. 07, 2024 <a href="#h.roqg339aikth" id="h.roqg339aikth"></a>

* You can now use Web SDK for the [Black List](/oz-knowledge/guides/developer-guide/api/oz-api/basic-scenarios/collection.md) analysis: to compare the face from your Liveness video with faces from your database. Create a collection (or collections) with these photos via [API ](/oz-knowledge/guides/developer-guide/api/oz-api/basic-scenarios/collection/collection-management-in-oz-api.md#how-to-create-a-collection)or [Web UI](/oz-knowledge/guides/user-guide/oz-webui/blacklist.md#creating-a-blacklist), and add the corresponding ID (or IDs) to the `analyses.collection_ids` array in the Web Adapter configuration file.
* The iframe support is back: set the `iframe_allowed` parameter in the Web Adapter configuration file to `True`.
* The interval for polling for the analyses’ results is now configurable. Change it in the `results_polling_interval` parameter of the Web Adapter configuration file if necessary.
* You can now select the front or back camera via Web Plugin. In the `OzLiveness.open()` method, set `cameraFacingMode` to `user` for the front camera and `environment` for the back one. This parameter only works when the `use_for_liveness` option in the Web Adapter configuration file is not set.
* The plugin styles are now being added automatically. **Please remove** `<link rel="stylesheet" href="/plugin/ozliveness.css" />` from your page to prevent style conflicts.
* Fixed some bugs and updated telemetry.

#### 1.3.1 – Jan. 12, 2024 <a href="#h.roqg339aikth" id="h.roqg339aikth"></a>

* Improved the protection against injection attacks.
* Replaced the code for Brazilian Portuguese from `pt` to `pt-br` to match the ISO standard.
* Removed the `lang_default` adapter parameter.
* The 3D mask transparency became customizable.
* Implemented the possibility of using a master license that works with any domain.&#x20;
* Added the `master_license_signature` option into Web Adapter configuration parameters.
* Fixed some bugs.

#### 1.2.2 – Dec. 15, 2023 <a href="#h.roqg339aikth" id="h.roqg339aikth"></a>

* Internal SDK improvements.

#### 1.2.1 – Nov. 04, 2023 <a href="#h.roqg339aikth" id="h.roqg339aikth"></a>

* To enhance your clients’ experience with Web SDK, we implemented the 3D-mask that replaces the oval during face capture. To make it work, set the `load_3d_mask` in [Configuration file settings](/oz-knowledge/guides/administrator-guide/web-adapter/configuration-file-settings.md) to `true`.
* Updated telemetry (logging).

#### 1.1.5 – Oct. 27, 2023 <a href="#h.roqg339aikth" id="h.roqg339aikth"></a>

* Logging updates.

#### 1.1.4 – Oct. 2023 <a href="#h.roqg339aikth" id="h.roqg339aikth"></a>

* Security updates.

#### 1.1.3 – Sept. 29, 2023 <a href="#h.roqg339aikth" id="h.roqg339aikth"></a>

* Internal SDK improvements.

#### 1.1.2 – Sept. 21, 2023 <a href="#h.roqg339aikth" id="h.roqg339aikth"></a>

* Internal SDK improvements.

#### 1.1.1 –  Aug. 29, 2023 <a href="#h.roqg339aikth" id="h.roqg339aikth"></a>

* Fixed some bugs.

#### 1.1.0 – Aug. 24, 2023 <a href="#h.roqg339aikth" id="h.roqg339aikth"></a>

* Changed the signature of the `on_error()` callback: now it returns an object with the error code, error message, and telemetry ID for logging.
* Added the configuration parameter for the debug mode. If `True`, the Web SDK enables access to the /debug.php page, which contains information about the current configuration and the current license.
* Fixed some bugs and improved logging.

#### 1.0.2 –  July 06, 2023 <a href="#h.roqg339aikth" id="h.roqg339aikth"></a>

* If your device has multiple cameras, you can now choose one when launching the Web Plugin.

#### 1.0.1 – July 01, 2023 <a href="#h.roqg339aikth" id="h.roqg339aikth"></a>

* Implemented the new design for SDK and demo, including the scam protection option: the antiscam message warns user about their actions being recorded. Please check the new customization options [here](/oz-knowledge/guides/developer-guide/sdk/oz-liveness-websdk/web-plugin/look-and-feel-customization.md).
* Added the Portuguese, Spanish, and Kazakh locales.
* Added the combo gesture.
* Added the progress bar for media upload.
* Removed the Zoom in / Zoom out gestures.
* On tablets, you can now capture video in landscape orientation.
* Removed the `lang_allow` option from Web Adapter configuration file.

#### 0.9.1 – Mar. 01, 2023 <a href="#h.roqg339aikth" id="h.roqg339aikth"></a>

* In the `capture` architecture, when a virtual camera is detected, the `additional_info` parameter is inside the `from_virtual_camera` section.
* You can now crop the lossless frame without losing quality.
* Fixed face landmarks for the `capture` architecture.

#### 0.9.0 – Feb. 20, 2023 <a href="#h.roqg339aikth" id="h.roqg339aikth"></a>

* Improved the recording quality;
* Reforged [licensing](/oz-knowledge/guides/administrator-guide/web-adapter/installation-and-licensing.md#licensing):
  * added detailed error descriptions;
  * now you can set the license in JS during the runtime;
  * when you set a license in OzLiveness.open(), it rewrites the previous license;
  * the license no longer requires port and protocol;
  * you can now specify subdomains in the license;
  * upon the launch of the plugin on a server, the license payload is displayed in the Docker log;
  * localhost and 127.0.0.1 no longer ask for a license;
* The on\_capture\_complete callback is now available on any architecture: it is called once a video is taken and returns info on actions from the video;
* Oz Web Liveness and Oz Web Adapter versions are displayed in the Docker log upon launch;
* Deleted the deprecated adapter\_version field from order metadata;
* [Added the parameters](/oz-knowledge/guides/developer-guide/sdk/oz-liveness-websdk/web-plugin/launching-the-plugin/capturing-video-and-description-of-the-on_capture_complete-callback.md) to pass the information about the bounding box – landmarks that define where the face in the frame is;
* Fixed the **Switch camera** button in Google Chrome;
* Upon the start of Web SDK, the actual configuration parameters are displayed in the Docker log.

#### 0.7.6 – Sept. 27, 2022 <a href="#h.roqg339aikth" id="h.roqg339aikth"></a>

* Changed the extension of some Oz system files from .bin to .dat.

#### 0.7.5 <a href="#h.roqg339aikth" id="h.roqg339aikth"></a>

* Additional scripts are now called using the main script's address.&#x20;

#### 0.7.4 <a href="#h.roqg339aikth" id="h.roqg339aikth"></a>

* Web SDK now can be installed via static files only (works for the `capture` type of architecture).
* Web SDK can now work with CDN.
* Now, you can launch several Oz Liveness plugins on different pages. In this case, you need to specify the path to scripts in `head` of these pages.

{% hint style="info" %}
If you update the Web SDK version from **0.4.0**, the license should be updated as well.
{% endhint %}

#### 0.4.1 <a href="#h.roqg339aikth" id="h.roqg339aikth"></a>

* &#x20;Fixed a bug with the shooting screen.

#### 0.4.0 <a href="#h.roqg339aikth" id="h.roqg339aikth"></a>

* Added licensing (requires origin).
* You can now [customize the look-and-feel](/oz-knowledge/guides/developer-guide/sdk/oz-liveness-websdk/web-plugin.md#customization) of Web SDK.

#### 0.3.2044 <a href="#h.roqg339aikth" id="h.roqg339aikth"></a>

* Fixed Angular integration.

#### 0.3.2043 <a href="#h.roqg339aikth" id="h.roqg339aikth"></a>

* Fixed the bug where the IMAGE\_FOLDER section was missed in the JSON response with the lossless frame enabled.

#### 0.3.2042 <a href="#h.roqg339aikth" id="h.roqg339aikth"></a>

* Fixed issues with the ravenjs library.

#### 0.3.2041 <a href="#h.roqg339aikth" id="h.roqg339aikth"></a>

* A frame for taking a documents photo is now customizable.

#### 0.3.2012 <a href="#h.xe8fuoq7ik7f" id="h.xe8fuoq7ik7f"></a>

* Implemented security updates.

#### 0.3.2009 (0.4.8) <a href="#h.xe8fuoq7ik7f" id="h.xe8fuoq7ik7f"></a>

* Metadata now contains names of all cameras you can use.

#### 0.3.2005 (0.4.8) <a href="#h.a9h5bq2w48eb" id="h.a9h5bq2w48eb"></a>

* Video and zip formats now allow loading a lossless image.
* Fixed Best Shot.

#### 0.3.2004 (0.4.8) <a href="#h.dqjxfdf6ehkc" id="h.dqjxfdf6ehkc"></a>

* Separated the error code and error description in server responses.

#### 0.3.2001 (0.4.6) <a href="#h.xvi9i48g40m" id="h.xvi9i48g40m"></a>

* If the SDK mode is set in the environment variables `architecture`, `api_url`, it is passed to settings automatically.
* In the Lite mode, you can select the best frame for any action.
* In the Lite mode, an image sent via API gets the `on_complete` status only after a successful liveness.
* You can manage CORS using the environment variables (CORS headers are not added by default).

#### 0.3.1999 <a href="#h.w018l7ghtzxt" id="h.w018l7ghtzxt"></a>

* Added the folder value for `result_mode`: it returns the same value as status but with `folder_id`.

#### 0.3.1997 (0.4.5) <a href="#h.xae1tdv3apem" id="h.xae1tdv3apem"></a>

* Updated encryption: now only metadata required to decrypt an object is encrypted.
* Updated data transfer: images are being sent in separate form fields.
* Added the camera parameters check.

#### 0.3.1992 (0.4.4) <a href="#h.cno8yle7mboc" id="h.cno8yle7mboc"></a>

* Enabled a new method for image encryption.
* Optimized image transfer format.

#### 0.3.1991 <a href="#h.5fkri2a2am" id="h.5fkri2a2am"></a>

* Added the `use_for_liveness` option: mobile devices use back camera by default, on desktop, flip and oval circling are off. By default, the option is switched off.

#### 0.3.1990 (0.4.3) <a href="#h.ykjpjyws9cdg" id="h.ykjpjyws9cdg"></a>

* Decreased video length for `video_selfie_best` (the **Selfie** gesture) from 1 to 0,2 sec.
* Loading scripts is now customizable.
* Improved UX.

#### 0.3.1988 (0.4.2) <a href="#h.mf9eqnkxc6ih" id="h.mf9eqnkxc6ih"></a>

* Added the Kazakh locale.
* Added a guide for accessing the camera on a desktop.
* Improved logging: plugin\_liveness.php requests and recording user-agent to the server log.
* Added the Lite mode.

#### 0.3.1987 (0.4.1) <a href="#h.nsd82bvx8tp3" id="h.nsd82bvx8tp3"></a>

* Added encryption.
* Updated libraries.

#### 0.3.1986 (0.3.91) <a href="#h.5je48sblxlex" id="h.5je48sblxlex"></a>

* You can now hide the Oz Forensics logo.

#### 0.3.1984 <a href="#h.f1sp2fqthsq5" id="h.f1sp2fqthsq5"></a>

* Updated a guide for Facebook, Instagram, Samsung, Opera.
* Added handlers for unknown variables and a guide for “unknown” browsers.

#### 0.3.1983 <a href="#h.bgnlhf12nxqh" id="h.bgnlhf12nxqh"></a>

* Optimized memory usage for a frame.
* Added a guide on how to switch cameras on using Android browsers.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://doc.ozforensics.com/oz-knowledge/guides/developer-guide/sdk/oz-liveness-websdk/changelog.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
