---
title: Changelog
description: Details recent changes to the PingOne Recognize Web SDK
component: recognize
page_id: recognize:web-sdk:web-sdk-changelog
canonical_url: https://docs.pingidentity.com/recognize/web-sdk/web-sdk-changelog.html
llms_txt: https://docs.pingidentity.com/recognize/llms.txt
docs_for_agents: https://developer.pingidentity.com/build-with-ai/docs-for-agents.md
section_ids:
  2-4-2: 2.4.2
  fixes: Fixes
  2-4-1: 2.4.1
  fixes-2: Fixes
  2-4: 2.4
  highlights: Highlights
  deprecations: Deprecations
  breaking-changes: Breaking Changes
  new-apis: New APIs
  2-3-1: 2.3.1
  highlights-2: Highlights
  breaking-changes-2: Breaking Changes
  fixes-3: Fixes
  2-3: 2.3
  highlights-3: Highlights
  deprecations-2: Deprecations
  breaking-changes-3: Breaking Changes
  2-2-1: 2.2.1
  fixes-4: Fixes
  2-2: 2.2
  highlights-4: Highlights
  2-1-2: 2.1.2
  highlights-5: Highlights
  2-1-1: 2.1.1
  fixes-5: Fixes
  2-1: 2.1
  highlights-6: Highlights
  2-0: 2.0
  highlights-7: Highlights
---

# Changelog

## 2.4.2

### Fixes

* Allows browser extensions to detect the PingOne Recognize Web SDK.

## 2.4.1

### Fixes

* Fix edge case with camera permissions

## 2.4

### Highlights

* Active Face Quality Filters running on the client

### Deprecations

* **\[Headless]** The `getLastKeylessFrameResults` function has been replaced by `getLastKeylessServerFrameResults`

* **\[Headless]** The `getLastKeylessFrameTriggeredBiometricFilters` function has been replaced by `getLastKeylessServerFrameTriggeredBiometricFilters`

### Breaking Changes

* **\[Headless]** The SDK added the `CREATE_MEDIA_STREAM_ARGS_UNSET` error, which should be localized as a generic system error

* **\[Web Components]** The localization for the `kl-camera-tip` component and the `SERVER_RECOGNITION_FAILED` error has changed structure. To learn more, refer to [Localization](web-sdk-reference-localization.html)

### New APIs

* **\[Headless]** The `getLastKeylessServerError` function returns the last server error tied to the attempt

* **\[Headless]** The `getLastVideoFrameQuality` function returns the quality of the last video frame from the camera stream, the quality is computed on the client

* **\[Web Components]** The `kl-auth` and `kl-enroll` elements emit a new `video-frame-quality` event

## 2.3.1

### Highlights

* Removes client-side Lockout Policy

### Breaking Changes

* **\[Headless]** The `DEFAULT_KEYLESS_LOCKOUT_TIME`, `DEFAULT_KEYLESS_LOCKOUT_TOLERANCE` and `DEFAULT_KEYLESS_LOCKOUT_WINDOW` constants are no longer exported

* **\[Headless]** The `KeylessLockoutAttempt` and `KeylessLockoutOptions` interfaces are no longer exported

* **\[Headless]** The `getLastKeylessLockoutAttempt`, `etLockoutExpirationDate` and `getLockoutTime` functions are no longer exported

* **\[Headless]** The `getServerLockoutExpirationDate` function was renamed to `getKeylessServerLockoutExpirationDate`

* **\[Headless]** The lockout field in the `KeylessOptions` interface was removed

* **\[Web Components]** The `enable-lockout`, `lockout-time`, l\`ockout-tolerance\`. and `lockout-window` attributes are no longer available

### Fixes

* Fix edge case with camera permissions

## 2.3

### Highlights

* Passive Face Quality Filters running on the client

* Smaller WebAssembly binary size

* Better Remote Logging

### Deprecations

* **\[Headless]** The `importKeylessWebAssemblyModule` function now optionally takes `url.binary` instead of `url.file` in the options argument

* **\[Web Components]** The `kl-auth` and `kl-enroll` elements now optionally take the `wasm-binary-url` attribute instead of `wasm-file-url`

### Breaking Changes

* The `@keyless/sdk-web` and `@keyless/sdk-web-components` packages now include a `wasm.data` file, make sure to bundle it or the SDK will not work

## 2.2.1

### Fixes

* Fix Firefox on Android unable to grant camera permissions

## 2.2

### Highlights

* Single-Thread by default with opt-in Multi-Thread

* COEP/COOP Security Headers are no longer required by default

## 2.1.2

### Highlights

* Faster Camera Startup Time

* Better Camera Permission Flow

## 2.1.1

### Fixes

* Fix Operation ID Forwarding

## 2.1

### Highlights

* CDN Distribution

* Prettier Web Components UI

* Better Tampering Protections

## 2.0

### Highlights

* Better Headless APIs

* Tampering Protections
