Releases: iProov/web
3.0.3
23.10.2020 3.0.3
Fixed
- Liveness: UX issues with Android devices
- Interrupted event: occasional issues when retrying when the interrupted event was fired have been resolved.
- Kiosk mode: Missing overlay during scanning has been restored.
Changed
- Kiosk mode: face position smoothing is slightly faster.
- Alignment experience: rendering is no longer limited to 30 FPS across all browsers.
- Imagery quality: Safari now sends 720p if available, falling back to VGA.
- Dependencies: we no longer list dependencies in our distributed package.json, as they are already bundled and optimized as part of the build.
3.1.0-alpha.0
Added
iProovSupport
is a separate export to facilitate a smaller critical bundle size for integrators.- Using a module bundler you can run
import { iProovSupport } from "@iproov/web/iProovSupport"
- Script tag integrations can still access
window.IProov.IProovSupport
for the time being.
- Using a module bundler you can run
version
property on theiProovMe
component.- This is also accessible on
window.IProov.version
.
- This is also accessible on
- External dependencies are now loaded with
<link rel=preload>
for non-blocking parallel loading. sideEffects
andtype
props have been added to the distribution'spackage.json
.- This adds a hint to bundlers like Webpack and Rollup to make tree shaking easier, resulting in smaller bundle sizes.
- In the long term, once Webpack 5 is released, we intend to provide an ESM build for maximum tree shaking!
Changed
- Bundling and modularisation upgrades.
- Dependencies are once again modular, and will be loaded as needed.
- This reduces the bundle size from 4MB (plus dependencies) to around 1.3MB gzipped (including dependencies).
- With the iProovSupport change, the pre-gzip impact to an integration's critical bundle is 16KB raw (was 4MB).
- With that,
assets_url
's meaning is changing again, we're afraid... - Customers now have a choice to either serve Web SDK assets "on premises", use our CDN, or reverse proxy.
- This affects CDN and reverse proxy configurations; we do hope this is the last change to asset loading for a long time.
- Please see the upgrade guide for steps needed.
- The main entry file for the npm package is now
iProovMe.js
. - Improved our encoder for better speed and the latest bugfixes.
Removed
- Automatic transpilation for the following outdated browsers:
- Blackberry < 10
- Edge < 84
- Firefox < 80
- IE < 11
- IE Mobile (all)
- iOS Safari < 13.4
- Opera < 70
- Safari < 13.1
- Please see
.browserslistrc
for the current targeted browsers. - If your app must support older browsers, simply transpile the standalone
iProovSupport.js
checker as needed.
3.0.2
Fixed
- Kiosk mode feature detection and alignment is now smoother
3.0.1
Fixed
- Delay in camera starting after grant permission button clicked.
- Fullscreen prompts in iPad.
- Console errors on completion of a claim.
- Camera not turning off in Safari after a claim.
- Smoothing in snap to face.
- Support checker events now contain the correct detail payload.
Changed
- We now request 1080p or 720p video on desktops if available. This gives better biometric performance.
Added
- Liveness transaction support for mobile devices.
- Language strings for Liveness transactions:
progress_assessing_liveness
prompt_liveness_align_face
prompt_liveness_no_face
prompt_liveness_scan_completed
3.0.0
Fixed
- Kiosk mode can now be localised using the standard Web SDK localization feature.
- Add missing
client_error
key to the language file. - Firefox performance issues
Changed
- The "aborted" event has been removed and replaced with "cancelled" in line with the native SDKs.
- WASM and Worker files are now bundled within the Web SDK package instead of being fetched via the CDN.
Added
- The "interrupted" event and slot have been added, which allow users to retry should a fast exit from fullscreen occur.
This rarely happens but can be caused by software launched automatically as a result of webcam usage. - Two new language strings,
prompt_kiosk_align_face
andprompt_kiosk_keep_still
have been added. See iproov-en.json for English translations.
Removed
- Legacy native bridge mode has been removed
- The "aborted" event and associated slots
- PicoJS face detector
2.1.1
22.06.2020 2.1.1
Fixed
- Unsupported slot not displaying even though the event was firing correctly.
2.1.0
22.05.2020 2.1.0
Fixed
- Kiosk mode: face centering on the y-axis has been correctly aligned.
- Kiosk mode: custom logo positioning has been fixed.
- Product performance: timing issues when starting in landscape causing occasional errors have been resolved.
- Product performance: issues where iMacs were unable to obtain a camera feed have been resolved.
- Native bridge: In Native Bridge mode, the support checker would return unsupported which is not always the case.
- CJS/ESM/UMD: Support has been ensured as per the docs. Previously imports would not work correctly.
Changed
- The
base_url
option now requires a URL usinghttps://
; the deprecated functionality of prepending the secure protocol has been removed. - Native bridge mode has been radically overhauled to make native integration possible with one line of code in a single location.
- Web automatically detects this simple, one-line Native Bridge integration and switches to Native Bridge mode if applicable.
- Breaking change:
prefer_app
has been removed in favour of this automatic integration. - Breaking change:
prefer_app_options
has been renamed tonative_sdk_options
- Breaking change: Native bridge mode now requires the following SDK minimum versions:
- iOS SDK 7.5.0
- Android SDK 5.3.0 (to be released and confirmed - if you urgently require this feature please get in touch: [email protected])
- Improved error handling around fetching and loading external assets to help debug integration issues easier
- Improved error handling with cameras
Added
- Added the capability for
sdk_unsupported
errors to be gracefully displayed to users, should a particular version of the Web SDK remain in production past its EOL. - Added capability to provide early deprecation warnings to integrator developers via the console.
v2.0.0
What Is It?
The iProov Web SDK is now generally available, which officially brings the power of iProov Genuine Presence Assurance to web browsers on desktop, laptops, tablets, mobile devices, and kiosk environments.
How to get it?
The SDK is available as a JavaScript package on NPM which which is detailed on the GitHub page.
iProov Web can be integrated as part of a user journey on any modern browser. The iProov Android and iOS SDKs can be used within WebView based mobile apps, ensuring a consistent user experience with minimal additional integration effort.
Integration
The iProov Web SDK is shipped as a standards-based Web Component, which means that it can be integrated in virtually any frontend framework. Integrators can set options using the standard DOM attribute scheme, either through the tag itself or programmatically with JavaScript.
The web component emits its lifecycle events using the standards based CustomEvent model.
In terms of frameworks, iProov provides integration guides which are available for various modern frontend frameworks, as well as for ‘vanilla’ Javascript:
- jQuery
- Angular
- ReactJS
- VueJS
Full integration documentation is available on GitHub.
What is new in iProov Web v2.0
Use of WASM to replace WebRTC
- Using WASM for encoding is a remarkable technical leap forward from WebRTC
- Enables lossless compression of imagery, which allows iProov to analyse camera quality images with full detail, improving the biometric testing accuracy
- Selective encoding and streaming enables the SDK to send minimal imagery required to reduce the bandwidth constraints for streaming
- WebRTC has been entirely removed, which increases the operating envelope to include a wider range of software and network environments which would not otherwise support WebRTC
Improved User Interface (UI)
- Use of new “shaded” and “vibrant” UI options for visualising the abstracted user face, for higher user success and acceptability
- Scanning line which indicates the progress through the capture, which reduces cognitive load during capture
Kiosk Mode
- iProov Web Kiosk Mode is a significant new capability and optimises iProov Web for fixed hardware in locations such as service centres, transport hubs or bank branches
- Kiosk Mode adopts a wholly different user experience including an innovative face tracking feature which moves the user’s face into the centre of the screen, simulating a moving camera
- Kiosk Mode has been tested and developed in conjunction with government agencies providing public service centres. It is specifically designed for accessibility to a wide range of demographics, across age and digital literacy
- Kiosk Mode can be called with a flag when loading the web SDK on a per-transaction basis. This allows integrators the choose to invoke either Kiosk Mode or the standard mobile/desktop user experience
New biometric tests optimised for web traffic
- iProov has designed and deployed a suite of new biometric tests which are optimised for analysing web traffic
- These new tests accelerate the overall transaction speed to improve the user experience and shorten the transaction time
Ability to integrate with enterprise applications
- iProov Web provides a new capability which supports the integration with commonly used Enterprise applications including Active Directory. This enables iProov to be used as a primary or secondary factor for federated enterprise access management
Feature: lightweight compatibility checker
- iProov has bundled within the SDK, a light feature which checks before loading the SDK whether the hardware and software environment can support the iProov Web service. This means that users can “fail fast” if they don’t have the right support, and receive the right message eg. upgrade your browser / switch to another browser etc
Customisation
iProov Web maintains a close alignment with the iProov native SDKs, allowing a wide range of control for integrators who want to move beyond the default configuration.
Control during loading
- Integrators can now control the user interface during the loading phase, while the SDK continues to pass loading events until the process completes - this allows the SDK to pass control to the integrator as soon as Flashmark completes
Other UX/UI options
- Localising all strings in different languages with a simple interface for passing in new language strings
- Customise colours of UI components
Network and security
- iProov Web uses assets which are not bundled in the SDK, and so need to be accessed while the SDK is loaded. This requires network availability.
- For customers requiring all traffic from their front-end to route via their own servers, iProov has implemented an option to set all URLs for the SDK call-outs. This can connect via both reverse and forward proxy connections
Hardware and Software Support
Every effort has been made to ensure an optimised user experience across the wide range of devices and browsers that iProov supports.
The minimum base requirements for hardware are:
- A user-facing camera
- A screen
- An Internet connection
The minimum base requirements for browsers are:
- iOS, MacOS, Windows, Android and ChromeOS operating systems
- WebAssembly (WASM) support, which is now widely available
- WebGL support
- Permission granted to use the user-facing camera
If the web SDK is unable to detect a supported platform, the SDK emits an event which details the reason for lack of support, this can be used by the integrator to display a relevant message to the user.
If the user’s device is unable to complete the iProov process, our lightweight support check component can be used to guide them to a different journey.
iProov will maintain a full view of the system compatibility for each version of the client in the GitHub repository.
Operating conditions:
- iProov maintains a current list of operating conditions and minimum requirements for optimal service on the iProov Portal (login protected).
v1.0.1
- Set paths to be relative so demos work in sub directories
First release of HTML5 integration examples
v1.0.0 First release of HTML5 integration examples