Release Notes
Have a feature request? Contact us
2.3.2 - 2022/07/27
Breaking Changes
Removed the
useIntegrationApi
configuration option and replaced it with theintegrationMode
configuration option.Renamed the
authorizationEndpoint
property toauthEndpoint
.Removed the
integrationApiBaseUrl
configuration option. TheauthEndpoint
andpassiveLivenessEndpoint
properties must now be used.Removed the
passiveLivenessImageParamName
configuration option. This value can now be modified using the body callback function (passiveLivenessBodyCallback
).Removed the
passiveLivenessVideoParamName
configuration option. This value can now be modified using the body callback function (passiveLivenessBodyCallback
).Removed the
assetHeaders
configuration option. Asset headers can now be modified using the asset headers callback function (assetHeadersCallback
).Removed the
authHeaders
configuration option. Authorization headers can now be modified using the authentication headers callback function (authHeadersCallback
).Removed the
passiveLivenessHeaders
configuration option. Passive liveness headers can now be modified using the passive liveness headers callback function (passiveLivenessHeadersCallback
).Removed the
passiveLivenessBodyValues
configuration option. Passive liveness body can now be modified using the passive liveness body callback function (passiveLivenessBodyCallback
).
Changes & additions
Added optional middleware service that may be used to obfuscate the liveness API key, along with corresponding configuration properties. Please see the middleware service documentation for details on how to implement and use it. Additionally, the SDK can now be configured to integrate with custom services. Relevant configuration properties are:
integrationMode
authHttpMethod
authHeadersCallback
authBodyCallback
passiveLivenessHttpMethod
passiveLivenessHeadersCallback
passiveLivenessBodyCallback
encryptionKey
Added Selfie Capture component with corresponding
SelfieCaptureResult
object.Added a function for selfie capture (without liveness) to the JavaScript API.
Added
readonlyMode
parameter to the Prepare component.Added parameters to the Prepare component's mobile capture initialization function to allow more control over the generated URL.
Added
hideNext
parameter to the Result component.Added
resultHideNext
parameter to the Wizard component, corresponding with thehideNext
parameter of the Result component.Updated the
onWizardDone
event of the Wizard component to allowSelfieCaptureResult
as a return type, returned when selfie capture is being used instead of passive liveness.Added new events to the Wizard component for handling processing from the Selfie Capture component:
onSelfieResult
onSelfieError
onSelfieCancelled
Added encryption features
Bug fixes
Fixed an issue with the SDK sometimes defaulting to emulated cameras when present.
Fixed issue where the card elements within components were sometimes not sized correctly.
Fixed video mirroring issue.
Fixed issue where text sometimes was not center aligned where it needed to be.
Fixed a bug where the device select component would always appear when set as the first step (regardless of whether or not only a singular viable video input device is present).
2.2.0 - 2022/06/21
Breaking Changes
On the Prepare component, changed the onProceed event to onTakePhoto.
Changes & additions
Added configurable mobile capture functionality to the Prepare component.
Added enableMobileCapture parameter to constructor
Added onMobileCaptureStart event
Added onMobileCaptureCancel event
Added initializeMobileCaptureWithId function
Added mobile capture configuration options to Wizard component
Added enableMobileCapture parameter to constructor
Added onMobileCaptureStart event
Added onMobileCaptureCancel event
Added initializeMobileCaptureWithId function
Added generic SDK classes to HTML elements to simplify styling over multiple SDKs.
Aligned Passive component video element classes with similar elements on other SDKs.
Added the following translation keys (See relevant component documentation for details):
sy-b-translation-36 (PrepareComponent)
sy-b-translation-37 (PrepareComponent)
sy-b-translation-38 (PrepareComponent)
sy-b-translation-39 (PrepareComponent)
sy-b-translation-40 (PrepareComponent)
sy-b-translation-41 (PrepareComponent)
sy-b-translation-42 (PrepareComponent)
sy-b-translation-43 (PrepareComponent)
sy-b-translation-44 (ResultComponent)
2.1.1 - 2022/06/08
Bug fixes
Fixed information blocks on the Prepare component having inconsistent sizes on smaller screens.
Fixed an issue with guidelines not being viewable in Safari on mobile devices.
Changes & additions
Added support for multiple faces, where the SDK will take the largest face into account. This is configurable with the
allowMultipleFaces
API configuration option.
2.1.0 - 2022/06/03
Breaking Changes
Removed all localization properties available as JavaScript API configuration options. These values can now be modified by making use of the new localization framework. Removed properties are:
messageAlignment
messageBlurry
messageDistance
messageHold
messageIncompatible
messageIncompatibleVideo
messageIncompatibleSafari
messageLightingBright
messageLightingDark
messageNoFace
messagePreparing
messageSuccess
Changes & additions
Comprehensive localization rework (See localization section for details)
All components now accept a
translations
parameterAll templates updated to have translatable elements marked with the class
sy-b-translation-#
(where # is its unique number)
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 whenincludeVideo
is set totrue
.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
andthresholdAdjustAmount
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 theopenPassiveLivenessDetection
function ofSybrin.Biometrics.Api
(defaultfalse
). When set totrue
, the selfie image will be returned on thePassiveLivenessResult
as a data URI string.Added a
returnImage (boolean)
parameter to the constructor of the Passive Component (defaultfalse
). When set totrue
, the selfie image will be returned on thePassiveLivenessResult
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
andauthToken
.Added a
passiveLivenessBodyValues
configuration option to pass down additional form body values during the passive liveness API call, similar to thepassiveLivenessHeader
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 anonLivenessError
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'sonLivenessResult
andonLivenessError
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 asfaceDetectionScoreThreshold
configuration option.Removed
faceDistanceThreshold
configuration option and replaced it withfaceDistanceLandscapeThreshold
andfaceDistancePortraitThreshold
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
anddebugInfoEndpoint
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
andmessageIncompatibleSafari
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 thegetClientInfo
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 toonBeforeLiveness
.
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
andmessageAbort
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