Release notes · Releases Web SDK

Web SDK Release Notes

1.93.0 - 2026-09-11

Added

  • ID capture onEvent callback — emits idCapture.started and idCapture.completed per side (front | back | passport) so integrators can observe the front→back boundary when captureMode: 'both'
  • Dynamic form pre-fill from captured ID/OCR — opted-in questions are seeded before render; non-editable fields stay read-only but still submit; fetch failure falls back to a blank, editable form
  • Document capture support for IRS W-8BEN (processW8BenOcr, single-page) and W-8BEN-E (processW8BenEOcr, multi-page)
  • Headless renderWallet surfaces NO_CREDENTIAL when no wallet credential is available; a chooser-less Digital ID-only config reports INCONSISTENT_FLOW_CONFIGURATION instead of a silent dead-end

Fixed

  • Show the ID scan failed message when retry attempts are exhausted, instead of a generic processing error
  • Desktop IDV2 manual-capture preview no longer looks cropped, zoomed, or letterboxed
  • Prevent scrollbar flicker on desktop at some zoom levels; lock scroll during capture when the host page is taller than the viewport
  • Anchor the IDV2 manual capture button to the bottom of the viewport so it cannot land inside the ID frame
  • Improve iOS VoiceOver responsiveness during ID capture by pacing frame processing
  • Honor the Dashboard Enforce Capture Image Attempts setting at runtime — the attempt budget survives refresh, back navigation, and re-init; exhausted budgets emit NO_MORE_TRIES
  • Combined consent now loads in the language selected during the flow
  • Workflow electronic signature respects the configured custom subtitle

Changed

  • US Smart Capture restores the barcode fast path: when the back-side PDF417 barcode is decoded, skip the 3-2-1 countdown and go to the "Hold on" analyzing screen

Download 1.93.0

1.92.1 - 2026-08-26

Fixed

  • Webpack build issues solved

Download 1.92.1

1.92.0 - 2026-08-19

Deepsight

  • Configuration and enablement should match dashboard configuration for deepsight to work correctly.

eKYC

  • India ID number support
  • India DMV (IN_DMV) support
  • Nigeria NG_MONO_BVN support
  • UK EKPB prefill
  • Mexico eKYC prefill adjustments
  • Improve apartment-field logic

eKYB

  • W4B dateOfIncorporation support

UIConfig

  • Add uiConfig and onClose to renderCamera('document', …) for per-flow theming and close handling
  import { create } from '@incodetech/welcome';
  const incode = create({ apiURL: 'https://demo-api.incodesmile.com' });
  incode.renderCamera('document', document.getElementById('camera'), {
    token: session, // or rely on create()/start() session
    onSuccess: (result) => {
      // document uploaded / step finished
    },
    onError: (err) => {
      // handle failure
    },
    // Theme / brand this flow without org-level dashboard config
    uiConfig: {
      branding: {
        logo: { src: 'https://cdn.example.com/logo.svg', height: 32 },
        hideFooterBranding: true,
        // hideHeaderBranding: true,
      },
      closeButton: {
        show: true,
        position: 'left', // or 'right'
        // offset: 16,
      },
      theming: {
        designTokens: {
          color: {
            brand: { primary: '#EC0000' },
          },
        },
      },
      helpButton: { show: true },
      // notifications: { minimal: true },
    },
    // Fired when the user taps the X (then the SDK unmounts itself)
    onClose: () => {
      // navigate away, resume host UI, analytics, etc.
    },
  });

ID / Face capture

  • Hide camera loading overlay when continuing from V1 manual ID review
  • Center ID flip ("Show the back of your ID") Lottie animation
  • Center IDV2 manual-capture tooltip text in standalone embeds
  • Fix selfie frame on specific iOS devices
  • Delay Selfie V2 capture frame until camera is visibly playing
  • Honor ChooseCamera deviceId on V1 desktop selfie / face auth (spread props before deviceId)
  • Prevent excess scrollable area on webcam capture pages
  • Text-magnification layout — top text grows downward; manual capture button stays in viewport
  • Samsung/Android Chrome — tab switch no longer flashes permission screen or breaks stream; wait for visibility before getUserMedia; release recorder before retry
  • Force OpenVidu (not OpenTok) for ID/selfie recording sessions in non-production
  • Propagate expired-token init errors to renderCaptureId / renderCaptureFace onError as SESSION_EXPIRED (401)
  • Honor custom tutorialText title/subtitle on every multi-page document tutorial step
  • Honor configured lottieScriptUrl for IDV2 capture-feedback notifications
  • Add crossOrigin="anonymous" to Lottie player loader so cross-origin script errors are not opaque

Security, theming & platform

  • Remove vulnerable bundled uuid — switch recorder to in-repo @incodetech/opentok-react; pin openvidu-browser → uuid 11.1.1
  • SDK deprecation policy — setup() warns once when release is ≥12 months old
  • Share applyDashboardTheme across workflow and flow so workflow buttons pick up brand color

Download 1.92.0

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

Download 1.91.0

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 When the primary i18nexus translations endpoint fails (network error or non-2xx response), the SDK now retries the same {lng}/{ns} resource against https://cdn.incodesmile.com/translations/{version}/{lng}/{ns}.json.
  • Update custom watchlist UI to match V2 design: replace modal loader with a shared StatusPage component using design-system Page, LoadingIcon, and SuccessIcon, with updated translation keys and accessibility focus on success.
  • DocumentCapture: hide the upload option when onlyAllowCapture: true is passed. Removed the no-op onlyCapture and nativeCamera props from DocumentCaptureProps.
  • Allow DOUBLE custom field type to accept decimal values
  • Add guards to VideoSelfie buttons
  • Fix EncryptionLabel overlapping the attempts text and primary CTA on desktop ID processing screens (IdAnalyzing, IdSuccess, IdError). The label is now rendered once inside IdProcessingLayout's full-size FrameContainer (matching CaptureOverlay's structure) so its absolute positioning math lines up with the camera frame, instead of being placed inside the maxH: 900 content Flex where the math drifted on tall viewports.
  • In V2 capture flows, when the user loses or revokes camera access mid-session, the camera overlay now shows the Denied instructions component so guidance matches the rest of the V2 permission experience.
  • Disable "Tap when done" in the Video Selfie voice consent step until the recorder has captured at least the minimum required duration of audio. Prevents fast-tap races where the session finished without a voice consent recording attached.

Download 1.90.0

1.89.1 - 2026-05-12

Fixed

  • Fixed rate of False Negatives

Download 1.89.1

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

Download 1.89.0

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

    Added a new optional throwOnCameraPermissionDenied boolean prop to renderCaptureId, renderCaptureFace, and renderAuthFace. When enabled, the SDK immediately calls onError with a PERMISSION_DENIED error code instead of showing the built-in denied/learn-more permission screens.

    This gives integrators full control over the camera permission denied UX, allowing them to handle the error in their own application layer.

    Affected render functions

    • renderCaptureId
    • renderCaptureFace
    • renderAuthFace

    Usage

    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:

    {
      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

Download 1.87.0

1.86.1 - 2026-01-16

Fixed

  • Fixed types

Download 1.86.1

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

Download 1.86.0

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

Download 1.85.0

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

Download 1.84.0

1.83.1 - 2025-10-30

Fixed

  • OTP screen cleans correctly after failed attempt and doesn't flash anymore

Download 1.83.1

1.83.0 - 2025-09-02

Added

  • New tokenization system to adapt UI on V2 modules (Check theming here)
  • 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, you need to run it manually.

Design Changes

Highlights

  • Added corner cases screens (for ID Capture V2 and Face Capture V2).
  • Updated permission dialog (web + bottom sheet native).

ID Capture V2

  • Added Age verification screen.
  • Added vertical and passport capture screens.
  • Added “All photos are encrypted” message on all capturing/result screens.
  • Updated Permission dialog screen design for Web.
  • Updated Permission dialog screen design to a bottom sheet for native iOS and Android.
  • Added Photo review screen.
  • Removed “We protect your data, and it is only used for verification” from Learn more permission screen for native iOS and Android.
  • Added No Internet connection screen.
  • Added Document not accepted errors screens.
  • Added Verification processing screen.
  • Added “No attempts remaining” disclaimer to the error screens with exhausted attempts.
  • Added Dark mode screens on Happy path.

Face Capture V2

  • Removed the “Face is blurry” feedback screen.
  • Added “Eyes closed” feedback screen.
  • Added No Internet connection screen.
  • Changed the icon on error screens that had attempts left for the orange warn one.
  • Added a Continue button and “No attempts remaining” disclaimer to the error screens with exhausted attempts.
  • Visibilized “Face not aligned” error screen.
  • Added Dark mode screens on Happy path.

Download 1.83.0


Was this page helpful?