Release Notes

Have a feature request? Contact us

2.0.0 - 2022/05/17

Breaking Changes

  • Extensive UI overhaul of all components and functionality.

  • Passive Component:

    • Removed all localization options for a future localization overhaul.

    • Removed useModal parameter from passive component (As part of the UI overhaul, there is no longer a modal option).

    • Removed readonlyMode parameter from passive component (The same functionality can now be achieved by using the newly added wizard component).

    • Removed returnImage parameter from passive component (The image is now always included on the result).

    • Visual UI overhaul.

  • Result Component:

    • Removed all localization options for a future localization overhaul.

    • Changed the onRetry event to onRetake.

    • Visual UI overhaul.

  • JavaScript API configuration options:

    • Changed passiveLivenessParamName property to passiveLivenessImageParamName

    • Adjusted blurThreshold property default value from 7.0 to 7.5 in order to account for new dimensions.

    • Added blurThresholdMobileModifier property with a default value of 1.25 in order to apply different thresholds on different platforms. This is to account for the fact that mobile devices generally have better quality cameras and may be more strict with blur detection.

    • Changed faceDistancePortratThreshold property from 0.75 to 0.5

    • Changed messageSuccess property default value from 'Good job!' to 'Good job! Please wait...' to cater for video recording.

    • Added messageIncompatibleVideo property for instances where video recording is not supported.

    • Added showDebugOverlay property.

Changes & additions

  • Added WizardComponent with additional components to allow for a configurable flow:

    • PrepareComponent

    • DeviceSelectComponent

  • Added optional parameters to the getVideoInputDevices function on the API to specify whether or not the UI should be blocked while loading input devices, along with the capability to specify an element to block.

  • Added checks for video recording feature availability on compatibility check function.

1.6.3 - 2022/04/04

Changes & additions

  • Added capability to record video. In the configuration options section, please see the following properties for details on how to make use of this feature:

    • includeVideo

    • videoDuration

    • messageHold

    • passiveLivenessVideoParamName

  • Added a video property to the passive liveness result object that gets populated when includeVideo is set to true.

  • Removed the returnImage property from the passive liveness call and changed it to always be included. This is to reduce clutter and align video and image data return behavior.

  • Added threshold reduction functionality that can be applied if face tracking fails to detect a face for an extended period of time. See thresholdAdjustInterval and thresholdAdjustAmount properties under configuration options.

Bug fixes

  • Fixed a bug on Firefox where emulation detection using the facing mode executed incorrectly.

1.6.2 - 2022/02/24

Changes & additions

  • Added the capability to cater for disabilities during liveness detection, specifically for lost eyes.

  • Added emulation checks.

  • Added a property on liveness detection results to indicate which camera was used.

Bug fixes

  • Fixed a bug where certain error responses were handled like a success.

1.6.1 - 2022/01/17

Changes & additions

  • Added a returnImage (boolean) parameter to the openPassiveLivenessDetection function of Sybrin.Biometrics.Api (default false). When set to true, the selfie image will be returned on the PassiveLivenessResult as a data URI string.

  • Added a returnImage (boolean) parameter to the constructor of the Passive Component (default false). When set to true, the selfie image will be returned on the PassiveLivenessResult as a data URI string.

1.6.0 - 2022/01/13

Changes & additions

  • The SDK is now provides two different options for referencing the main library:

    • A singular file that contains all functionality (sybrin.biometrics.all.js). This matches implementations from previous versions.

    • A split approach where Biometrics specific functionality is provided in one file (sybrin.biometrics.js) and common functionality shared by other Sybrin web SDKs is provided in another (sybrin.common.js). This approach is new and is intended to reduce the overall page size in solutions that make use of multiple Sybrin web SDKs by including common functionality only once.

1.5.0 - 2021/12/02

Changes & additions

  • Added device selection functionality.

1.4.2 - 2021/11/19

Changes & additions

  • Added configuration to integrate with the companion Sybrin Onboarding API as a middleware proxy when bundled with the web SDK. These configuration options include useIntegrationApi, integrationApiBaseUrl and authToken.

  • Added a passiveLivenessBodyValues configuration option to pass down additional form body values during the passive liveness API call, similar to the passiveLivenessHeader configuration option.

1.4.1 - 2021/11/10

Changes & additions

  • Changed the Passive Component's internal error handling to always trigger the onLivenessResult event, even after an onLivenessError event occurred. While not a breaking change, this could have an external effect on flows where the web SDK has been implemented, specifically where the Passive Component's onLivenessResult and onLivenessError events are used to manage flow steps.

  • Added an eyeDetectionThreshold configuration option for adjusting eye detection sensitivity.

  • The values set in the passiveLivenessHeaders configuration option will now be included in debug information when used.

Bug fixes

  • Fixed some internal memory cleanup errors.

  • Fixed an issue that caused the web SDK to stop working when re-initializing the JavaScript API.

1.4.0 - 2021/10/12

Breaking changes

  • Face detection technique has changed and no longer uses the same detection models as before. Please ensure that you have the new model files as listed in the Get Started section.

  • Removed faceDetectionModel as well as faceDetectionScoreThreshold configuration option.

  • Removed faceDistanceThreshold configuration option and replaced it with faceDistanceLandscapeThreshold and faceDistancePortraitThreshold respectively for different orientations.

Changes & additions

  • Added eye detection features, along with messageEyeClosed configuration option.

  • Changed messageAlignment configuration option default value from "Please center face and open your eyes" to "Please center face".

  • Added debug functionality features, along with recordDebugInfo and debugInfoEndpoint configuration options.

  • Added a tokenTimeout configuration option that determines how long a token is valid and will be reused for before a new authentication call is made.

  • Increased the default blur threshold from 5.5 to 7.0 (see blurThreshold under the API configuration options).

  • Enhanced performance by adding preprocessing to downscale the image that is analyzed for viability.

  • Added targetProcessingSize configuration option to set the target value of the largest dimension that the image will be resized to during preprocessing.

  • Added compatibility check features, along with messageIncompatible and messageIncompatibleSafari configuration options.

Bug fixes

  • Fixed a bug where the modal didn't take up the whole screen when the component was hosted in certain containers.

1.3.0 - 2021/09/28

Breaking changes

  • The default model files have been renamed in order to allow for multiple models to choose from. Please see the Get Started section for an overview of the new file structure, as well as the updated API configuration options for details on how to configure model usage via the faceDetectionModel property. The new names for the files are:

    • assets/express-model-shard1.xml

    • assets/express-model-weights_manifest.json

Changes & additions

  • Added a more accurate, but larger model for face detection that can optionally be used instead of the default express model. This can be configured via the faceDetectionModel property on the API configuration options.

  • Added a strongly typed ClientInfo class that is now returned by the getClientInfo call.

  • Added more detailed information to be returned from getClientInfo.

  • Added custom header configuration for authentication (authHeaders) and passive liveness (passiveLivenessHeaders) API calls that can be set using the API configuration options.

  • Changed the default blur text to "Image too blurry" (see messageBlurry under the API configuration options).

  • Changed the default message when no face is detected to "Scanning for face..." (see messageNoFace under the API configuration options).

  • Significantly reduced the default face detection score threshold from 0.5 to 0.15 (see faceDetectionScoreThreshold under the API configuration options).

  • Slightly increased the default blur threshold from 5.0 to 5.5 (see blurThreshold under the API configuration options).

Bug fixes

  • Fixed a memory leak that occurred while the video feed was being processed.

  • Fixed a bug where resizing while the video feed is already open would not properly adjust processing areas.

  • Fixed a bug on iPad where the video feed was blank.

  • Fixed a bug on iPad where the video cutout would sometimes not re-render correctly on resize or orientation change.

  • Fixed some exceptions not being handled properly.

  • Fixed media stream remaining open for longer than necessary after a photo was successfully taken.

  • Fixed styling being applied to some elements too strictly (would have needed to use !important to style said elements before).

1.2.0 - 2021/09/10

Breaking changes

  • Changed all onBeforeWebcam events to onBeforeLiveness.

Changes & additions

  • Inverted the video feed when a frontal camera is being used in order to improve the alignment process.

  • Added typings for Typescript. These can be found under the src folder.

  • The library no longer requires sybrin.biometrics.css to be included and referenced separately for default component styling to take effect. You may still apply overrides using your own stylesheet by referencing a custom .css file after the library.

  • Added a read-only mode to the passive component which disables all events.

  • Added an option to set request headers for asset retrieval requests.

Bug fixes

  • Fixed a bug where an error occurred if the SDK was included multiple times.

  • Fixed a bug where the correlationId property was required to be passed down to the passive component.

1.1.0 - 2021/08/20

Changes & additions

  • Added blur detection as well as a configuration option to set the blur threshold.

  • Added lighting detection as well as configuration options to set values and thresholds to use when checking for image overexposure or underexposure.

  • Added facial distance detection as well a configuration option to set the distance threshold.

  • Removed hold delay before image is taken as new quality detection negates the need for it. With this, also removed holdDelay, messageHold and messageAbort configuration options as they are no longer used.

  • Added version info retrieval functionality.

  • Added client info retrieval functionality.

  • Added instructions page to the passive component in order to pre-emptively give the user some guidelines on how to ensure a viable selfie.

  • Added localization options to passive component initialization for changing guideline instruction texts.

  • Added useModal configuration option to the passive component which enables launching the video feed in a modal.

  • Added a spinner that appears when a selfie is being processed during passive liveness detection.

  • Slightly tweaked the face bounding box borders to fit better vertically.

  • Updated the demo application to make use of the newly added client info retrieval functionality and initialize the passive component to use the newly added modal functionality only when the client environment is not mobile.

Bug fixes

  • Ensured that the video stream always closes when the passive component is destroyed.

Last updated