## 1.91.0 - 2026-07-17
### Fixed
- Fixed executeWorkflow infinite loading animation displayed after workflow is finished when showFinishScreen: false
- Fixed typo in ID capture V2 attempts remaining
- Fixed Electronic Signature - Signature canvas had incorrect sizing and spacing on mobile and tablet
- Editable and non-editable OCR were wrongly connected to dashboard settings
- Gov validation | Wrong success message for successful scraping
- Device specific | Flows | Workflows | Selfie oval is cut off on smaller screens
- eKYC | Module skipped when country configured as "global"
- The ID capture zoomed in specific devices
- Face capture cannot be loaded and is eventually skipped if it isn’t the first module
- Samsung A14 | Camera stream is lagging significantly
- Camera was zoomed on some devices with two or more cameras
- Document Capture - The camera was zoomed
- Retry attempt was not getting launch | iOS devices
- ID Capture UXv1 | ID preview was horizontal
- Video Selfie - White screen when only “speech” module and useOpenVidu was enabled
- Openvidu is now default and only provider for video recording
- Overall security and injections attacks fixed

## 1.90.0 - 2026-06-12
### Minor Changes
- EKYB desktop improvements
- US_CREDIT_TELCO support
- Center face capture error modal title under icon
- New countries ekyb country grid
- Fix signature canvas
- Hk support for ekyb
- EKYC displayMode support
- EKYB Address autocomplete
- Address is mandatory for EKYB china
- Electronic Signature Layout fix

### Patch Changes
- Fix V2 ID capture bottom UI overlap on wide, short desktop viewports.
- Center the eKYC information verification loader; refine Permissions layout on large screens; fix the permissions modal close action and primary/secondary button order.
- Fix V2 ID capture layout
- Localize `USER_CANCELLED` messages when closing ID or face capture (`errors.userCancelledIdFlow`, `errors.userCancelledFaceFlow`)
- Reset default browser margins on `dl` and `dd` in UserInfo
- Fix `executeWorkflow` firing `/omni/workflow/info` and `/omni/workflow/current/node` twice when called without a `token`.
- Use Stable Version always on i18n fallback
- Add CDN fallback for translation loading

## 1.89.1 - 2026-05-12
### Fixed
- Fixed rate of False Negatives

## 1.89.0 - 2026-05-04
### Added
- Document Capture design changed to V2, please refer to Figma for more info.
    - `nativeCamera` options removed, instead, use `onlyCapture` or `onlyUpload`.
        - `onlyCapture`: Will provide regular Incode camera overlay and capture with UI
        - `onlyUpload`: Will show system's file upload and camera
- Added support for multiple pages documents on Document Capture V2
- OTP for CURP improved, now is just one field and detects SMS auto complete.
- V2 flows can be activated via Dashboard configuration, please check your provisioning to support this on your flows.

### Fixed
- Fixed vulnerabilities on lodash library
- Do not upload or make unnecessary call for recording on CaptureOnly
- Biometric consent now shows correctly on certain ID that need it
- A11Y fixes for Face Capture
- Fixed transitions and smooth animations for CURP
- EKYC fields focus in correctly
- On Workflows, clicking "Refresh Page" button skips ID/Selfie capture

### Removed
- Third ID support is removed

## 1.88.0 - 2026-03-16
### Added
- Adds help button config into ui config
- Add onLog callback support to renderCaptureId and renderCaptureFace
    - `onLog` callback is now available as an optional parameter in both `renderCaptureId` and `renderCaptureFace` methods
    - Callback receives `{ type: string; payload: { [key: string]: unknown } }` - same structure as `renderCamera`'s `onLog`
    - Enables clients to maintain their tracking logic when migrating from `renderCamera` to the newer SDK methods
    - V1 and V2 capture flows both support the callback; key events (e.g. `captureAttemptFinished`) are forwarded to `onLog`
- Adds `throwOnCameraPermissionDenied`

#### Affected render functions
  - `renderCaptureId`
  - `renderCaptureFace`
  - `renderAuthFace`

#### Usage
```ts
incode.renderCaptureId(container, {
  session,
  captureConfig,
  onSuccess: handleSuccess,
  onError: handleError,
  throwOnCameraPermissionDenied: true,
});

incode.renderCaptureFace(container, {
  session,
  captureConfig,
  onSuccess: handleSuccess,
  onError: handleError,
  throwOnCameraPermissionDenied: true,
});

incode.renderAuthFace(container, {
  session,
  authHint,
  onSuccess: handleSuccess,
  onError: handleError,
  throwOnCameraPermissionDenied: true,
});
```

#### Error shape
When camera permission is denied and `throwOnCameraPermissionDenied` is set, the `onError` callback receives:
```ts
{
  code: 'PERMISSION_DENIED',
  message: 'Error in permissions',
  error: Error('PERMISSION_DENIED')
}
```

#### Default behavior
When `throwOnCameraPermissionDenied` is not set (default `false`), the SDK continues to show the built-in permission denied and learn-more screens as before. No breaking changes.

- Improved document capture logging consistency and expanded support for passport document detection

### Fixed
- Update `swiper` dependency and remove unused `jspdf` dependency
- Move Sardine updateConfig to fire on screen change instead of module change

## 1.87.0 - 2026-02-11
### Added
- Sentry Analytics (might require activation, please request to CS/SE)

### Fixed
- Unable to retry selfie capture after failed attempt on V1 when deepsight enabled
- Low quality conditions shown instead of remove hat/lens/mask
- Move resources to vanity CDN -> cdn.incodesmlite.com

## 1.86.1 - 2026-01-16
### Fixed
- Fixed types

## 1.86.0 - 2025-12-24
### Added
- When E2EE is enabled in Deepsight, videos are correctly encrypted
- Added face occlusion error for Selfie on both V1 and V2

### Fixed
- Issue where sometime ID module failed when BackID was enabled
- Sometimes fail screen is visible before the onError function is called
- Fixed layout for data entry on forms
- Remaining attempts showing correctly when capturing ID
- Execute face checks correctly on VS
- Fixed time for capturing on selfie
- CaptureID sometimes incorrectly detected borders of IDs
- Sardine Risk now updates on each module
- Fixed high risk vulnerabilities on SDK

## 1.85.0 - 2025-11-21
### Added
- Recordings added to CaptureOnly when `enableIdRecording` enabled
- Tutorial can be skipped on document capture with `showTutorial:false`
- Phone and Email hint support
- Added `processFinanceSettlement` to `renderCamera("document")` method
- Close button can be hidden with `hideHeaderBranding` on `uiConfig`

### Fixed
- Autocapture timeout resets when module is closed
- RenderAuthFace crashing on second attempt
- Attempts counter on Selfie Capture v2
- Preview showing correctly on autocapture for ID v2
- Close buttons working on tutorial
- Moving to landscape/portrait on iPad no longer breaks layout
- `sendFingerprint` correctly sends cached information even when called multiple times

## 1.84.0 - 2025-10-10
### Added
- New renderAuthFace module for identity verification, this uses v2
- New executeFlow module to provide a flow ID and execute from start to end without extra configuration
- Added captureOnly mode for v2, supporting deepsight **NOTE: Deepsight must be enabled and access to deepsight blobs might need to be requested.**
- Implement DMV scan and support to scan back -> front
- Improved loading times for camera

### Fixed
- Selfie checks are performed on renderLogin
- Better rendering for tablets
- Fixed small issues on Signature Screen
- Blank screens when switching apps
- Support for horizontal mode on Ipad

## 1.83.1 - 2025-10-30
### Fixed
- OTP screen cleans correctly after failed attempt and doesn't flash anymore

## 1.83.0 - 2025-09-02
### Added
- New tokenization system to adapt UI on V2 modules ( [Check theming here](https://developer.incode.com/docs/theming#/))
- New permissions screen
- Detect webviews in our Fingerprint
- Added missing screen for no internet connection on V2
- Added configuration customization for hiding the "Verified by Incode" footer

### Fixed
- Translations on success and uploading screens
- Implemented document alignment on capture
- Fix UI overlapping issues
- Selfie is not captured more than once without user interaction
- Better detection for browsers
- Autocapture sensibility
- Handle permissions after user consent and then removes them

### Changed
- Now renderCaptureFace doesn't automatically runs [processFace](https://developer.incode.com/docs/web-sdk-reference#processface), you need to run it manually.

## 1.82.0 - 2025-07-17
### Added
- Modified values for documents accepted:
  - `asyncProcessCarInvoice` -> `processCarInvoice`
  - `asyncProcessCirculationCard` -> `processCirculationCard`
- On VideoSelfie for OpenVidu, added `onRetry` to handle retries
- Overall WACG improvements

### Fixed
- Issue where selfie was captured multiple times on V2
- Issue where ID wasn't captured correctly with high movement
- Overall ID and Selfie V2 UI polish
- Assisted onboarding for Selfie on V2
- `Quit Process` on V2 now will go to `Verification` screen
- Issue where on some Android devices, permissions screen was showing even with permissions granted
- Issue where sometime double tap could lead to skipping modules on Selfie capture
- Issue where autocapture remained active even on unsupported landscape
- Issue where calling VideoSelfie with OpenTok for the second time made autocapture for selfie brake.

## 1.81.0 - 2025-06-12
### Added
- New selfie capture experience
- Added extra CSS classes to UI elements for custom CSS targeting
- Now attempts limits are respected no matter if the session is restarted

### Fixed
- Improved fingerprint for device
- Text improvements for Brazilian Portuguese
- Fixed issue when capture only back ID was set
- Issue where in some cases more than one image was taken for the ID
- Fixed issues with auto capture on ID capture
- General fixes for small screens

## 1.80.1 - 2025-05-23
### Added
- New type of documents accepted `processV5CLogbook`, `asyncProcessCarInvoice`, `asyncProcessCirculationCard`

### Fixed
- QR scan now works as expected

## 1.80..0 - 2025-05-09
### Added
- New ID capture experience, check [this link](https://developer.incode.com/docs/web-sdk-reference#rendercaptureid) for more info on how to implement.
- New screen of accepted documents on document capture error.

### Fixed
- Low connectivity event working on VideoSelfie

## 1.79.1 - 2025-04-09
### Added
- When encryption and VideoSelfie are used, data will be transmitted now in base64.

## 1.79.0 - 2025-04-04
### Added
- Checks for hat, lenses, face mask and eyes closed added to both Selfie and VideoSelfie.
  - [Check new attributes needed for VS](https://developer.incode.com/docs/web-sdk-reference#/rendervideoselfie)
  - [Check new attributes needed for Selfie](https://developer.incode.com/docs/web-sdk-reference#/rendercamera)
- Added SHA256 encryption
    ```javascript
    OnBoarding.create({
      ...otherOptions,
      useSha256: true
    });
    ```

### Fixed
- VideoSelfie now waits for correct ID side to be shown to capture
- VideoSelfie captures now wait for image to stop moving before capturing and ID to be properly aligned
- Overall translations fixed - Starting 1.79.0 translation notes can be checked [here](https://developer.incode.com/docs/translations-release-notes#/)

## 1.78.0 - 2025-03-03
### Added
- Improved selfie image quality module within Selfie auto capture
- Language support for Hmong and Somali
- Implement error screens when disconnecting in ID capture and selfie screens
- `documentType` field added to `rendedCamera` method allowing for `otherDocument1`, `otherDocument2` and `otherDocument3` values.

### Fixed
- Fixed lenses check

## 1.77.2 - 2025-01-08
### Added
- OneToOne verification added to `renderLoginDesktop` method using same configuration as `renderLogin`

## 1.77.1 - 2025-01-03
### Fixes
- Fix typescript types for session

## 1.77.0 - 2024-12-19
### Fixes
- Created loose sessions to avoid issues with types being too strict
- Fixed A11Y issues with voiceover on ID/Selfie capture

### Added
- Added `renderFiscalQR` method to the SDK

## 1.76.1 - 2024-11-29
### Fixes
- Network disconnection handling on Video Selfie

### Added
- Extra CSS classes for retry components for better styling

## 1.76.0 - 2024-11-04
### Fixed
- Issues when uploading PDFs from file picker.
- ID auto capture timeout is respected now on all attempts.
- Small translations singular/plural for attempts remaining
- Desktop wrong screen shown when user denies selfie permissions

### Added
- Added a new event that detects low connection network when using Video Selfie and OpenVidu
- Extra CSS classes for some components for better styling
  - `.IncodeLanguageSwitcher`
- Improve accuracy of real-time detection for ID type
- New blocking error screen for Selfie and ID captures, allowing user to read errors better.
- Enable camera selection on authentication
- Show real-time feedback if user shows wrong side of the ID
- Adapt Selfie and FaceMatch UX for tablets
- New endpoint for PoA file upload

## 1.75.2 - 2024-10-28
### Fixed
- Minor issues with accessibility across capture experience

## 1.75.1 - 2024-10-02
### Fixed
- Minor issues with accessibility on ID capture

### Added
- Implemented SDK initialize method that allows async/await to correctly load languages

## 1.75.0 - 2024-09-17
### Fixed
- Mask and lenses checks work on selfie capture
- Issue with zoom on some recent iPhones on ID capture
- Issue where sometimes TAP TO SPEAK button didn't work on Video Selfie due to missing translations on consent. English will be used as default.
- Localization for labels in Desktop Selfie capture
- Fix types

### Added
- Enable audio recording for selfie and ID capture when new settings enabled

## 1.74.0 - 2024-8-12
### Fixed
- Critical and High vulnerabilities fixed
- Video Selfie | Speech before pressing "Tap to Speak" is no longer considered for the speech recognition
- Token is not needed for onlyCapture in renderCamera

## 1.73.1 - 2024-7-11
### Fixed
- This will fix an issue where sometimes a Video Selfie showed a black video when the cameras switched.

## 1.73.0 - 2024-07-05
### Fixed
- Fixed checks for virtual camera detection
- Face capture sometime stopping after first or second capture attempt

## 1.72.0 - 2024-06-20
### Added
- Security improvements
- EyesClosed event and notifications on selfie

### Fixed
- Added translatable elements to desktop ID capture
- WASM modules loading correctly
- When using and selecting external cameras, camera was not opening the correct camera
- Fix translations when opening on an unsupported browser

## 1.71.0 - 2024-05-21
### Added
- Increase VideoSelfie events
- Support for NationalId number
- Glare check skipped for templates from BRA and DEU

### Fixed
- Accessibility Improvements:
  - Document Selector
  - POA
  - Phone Input Widget
  - Assertiveness
- Expose SMS expiration time
- Fix occasionally double ID capture
- Fix redirects from desktop on workflows when surplus
- Onboarding Try Again buttons removed for all expired sessions
- User consent continue button wasn’t working from time to time

## 1.70.0 - 2024-04-15
### Added
- Updated default biometric user consent
- Browser not supported message
- Forms | Support for Yes/No questions
- Language is added to QR redirects
- Support for Tagalo
- Glare check for Brazilian ID will be skipped

### Fixed
- ID Capture | UI will no longer shift to the left
- ID Capture | Sometimes black/white borders are present in image
- Video Selfie | instructions didn’t show from time to time
- Video Selfie | Selfie frame briefly showing before switching camera
- Video Selfie | Switching to Back/Front Camera won’t show at the end
- Email module input will show up as a correct email input
- Overall improvements for WCAG
- Selfie | Capture sometimes perform an extra selfie capture
- Forms | Send answers in order of questions received from configuration
- Forms | Missing predefined question “What is your name?”
- Forms | The Year of birth entry wasn’t user-friendly
- Screen events firing multiple times
- Fix “Enable Face Recording” when on desktop
- Changed Portuguese to Brazilian Portuguese
- SMS expiration time will now show real time
- OnError will launch correctly when denying camera access
- Fixed design for manual capture on Passport manual capture

Updated about 1 hour ago
