All notable changes to this project will be documented in this file.
This change log file is based on best practices from Keep a Changelog. This project adheres to Semantic Versioning. Breaking changes result in a different MAJOR version. UI changes that might break customizations on top of the SDK will be treated as breaking changes too. This project adheres to the Node default version scheme.
- Internal: Changed assets url to point at https://assets.onfido.com/
2.5.0 - 2018-07-27
- UI: Added a permission priming screen to inform the user that camera permissions must be enabled.
- UI: Added a permission recovering screen in case user media permissions are denied.
- UI: Added intro screen when entering cross device flow.
- UI: Changed UI for face capture step. On small screens it will display a full screen camera component.
- UI: Desktop - If webcam is not available, a cross device intro screen will be shown to allow the user to take a live photo on their mobile phones.
2.4.1 - 2018-05-18
- Public: Fixed bug where hitting Enter key on the SMS input number was causing page reload.
2.4.0 - 2018-05-17
- Public: Added
documentTypes
to thedocument
step options, which allows to filter the document types.
- Internal: Refactored layout to better handle presence of header and footer elements.
- Internal: On cross device client clear error message when configuration is received.
2.3.0 - 2018-04-17
- Public: Added
onModalRequestClose
options, which is a callback that fires when the user attempts to close the modal.
- Public: Fixed
complete
step to allow string customization at initialization time. - Internal: Fixed the
tearDown
method to clear the onComplete callback functions. (issue #306)
- Internal: Removed references to
useWebcam
option from README.md and return console warning if the option is used.
2.2.0 - 2018-02-13
- Public: Added support for internationalisation. The SDK can now be displayed in Spanish by adding
{language: 'es'}
to the initialization options. It can also be displayed in a custom language by passing an object containing the custom phrases and the locale. Iflanguage
is not present or the wrong locale tag is provided, the language locale will default toen
. - Public: Added support for Spanish language on the SMS body.
- Public: Added webcam support on Safari and IE Edge.
- UI: If the webcam is facing the user it will be mirrored
2.1.0 - 2017-11-30
- UI: The cross device feature now supports sending the link via SMS. Users will still be able to copy the link to clipboard.
- UI: Introduced a back button that allows the user to navigate to the previous screen.
- Internal: Introduced code splitting and lazy loading
2.0.0 - 2017-11-08
In this version, we're introducting cross-device flow that allows to continue verification on mobile in order to take photos of your document and face.
Note:
- This version is not backwards-compatible. Migration notes can be found in MIGRATION.md
- Public: Removed
onDocumentCapture
that used to be fired when the document had been successfully captured, confirmed by the user and uploaded to the Onfido API - Public: Removed
onFaceCapture
callbacks that used to be fired when the face has beed successfully captured, confirmed by the user and uploaded to the Onfido API. - Public: Removed
getCaptures
function that used to return the document and face files captured during the flow. - Internal: Removed confirm action
- Public: Changed the behaviour of
onComplete
callback. It used to return an object that contained all captures, now it doesn't return any data.
- UI: Introducing glare detection feature for documents. Not available for documents in PDF format yet.
- Internal: Added confirm step to router history and tracking
- UI: Improved how errors and warnings are displayed on the UI
- UI: Improved navigation between steps when using the browser navigation buttons
- Internal: Improved event tracking
- Internal: Upgraded Preact to latest version
Bumping version to 1.0.0 because SDK has already been implemented in production integrations. Also SDK now integrates with Onfido API.
- Public: Support uploading documents and live photos to the Onfido API through use of new SDK tokens (JWT v2)
- Public: Face no longer supports PDF upload in order to align with the Onfido API.
- Internal: Fixed problem on certain versions of Firefox that no longer supported the old version of getUserMedia
- Internal: Fixed the
tearDown
method to clear the documents and faces currently in the store - Internal: Fixed PDF preview issues on IE Edge, IE11 and mobile browsers.
- Internal: Fixed lower resolution webcams not working on Firefox
- Internal: replaced the has_webcam checker with a more robust version that periodically checks if the state changed
- Internal: Increased the file size upper limit to 10 MB.
- Internal: Use HTTP protocol to post documents to the server instead of websockets
- Public: Fixed intermittent connection problem
- Public: Document and face captures will be returned by callbacks as File or Blob instead of base64.
- Internal: Callbacks are now linked to the flow rather than the Redux store.
- Public: Capture the reverse side of driving licenses and ID cards.
- Public: Add a file size limit of 4 MB in line with the Onfido API.
- Internal: Read exif tags to orientate images correctly.
- Public: Change the default to use file upload rather than the webcam for document captures.
- Internal: Fix dependencies to avoid bugs due to changes in minor updates.
Install with npm install [email protected]
- Internal: Change the signature expected from the websockets server.
- Public: The documentType in the capture object now corresponds to the API document_types.
- Public: Fixed bug where URL path was removed between steps.
0.11.1 - Hotfix
- Public: Fixed bug where
Onfido.getCaptures()
andonComplete(hash)
was returning a broken hash. - Internal: Froze dependencies which were causing the upload document and pdf preview not to work.
- Internal: Removed
preact-router
. - Public: Removed URL routes for each step of the SDK flow.
- Internal: Removed unused components - Dropdown and ActionBar.
- Internal: Use the staging backend when in development.
- Updated version of onfido-sdk-core to 0.7.1.
- Public: tearDown method to remove the SDK elements.
- Internal: Use
visibilityjs
to pause captures when the tab is inactive. - Internal: The copy of the document not found error message was changed.
- Internal: Changed the order of the document selection to passport, driver's license and identity card.
- Public: The returned webcam captures now have a resolution of 960x720, or lower if the webcam does not support it.
- Internal: The confirmation step for webcam captures now displays the new high resolution images.
- Internal: Updated
react-webcam-onfido
in order to get the higher resolution functionality.
- Public: Uploaded PDF files are now supported and returned by the callbacks as base64.
- Internal: PDF files are displayed in the confirmation step as an embedded object, which means the browser needs to support pdf files in order for them to be visible.
- Public: document and face callback are now passed only their respective capture, instead of both their captures.
- Public: document and face callback are now only called after the user has confirmed the capture
- Public: document, face and complete callback can be called multiple times, if the condition that triggers them is met more than once (eg. if the user goes back to redo the capture steps)
- Internal: callbacks' returned value now have no impact on the event dispatcher.
- All captures have now a default no op function. This fixes an exception raise (in case some callbacks where not defined), which caused the rest of the callbacks not to be called after the exception was raised.
- Updated
react-webcam
to the onfido fork, this fixes the issue where the webcam canvas (used to obtain screenshots) has 0 height under certain circumstances (namely on windows machines running Chrome). This bug, when it happened, caused the document capture step not to work.
- Started tracking fatal exceptions and page views of the SDK.
- Fixed bug of a broken layout on the document selection step. Always reproducible on IE and on other browsers too, but only when going back a step on certain conditions.
- Fixed bug where on IE an unnecessary scrollbar appeared and the scrolling area was bigger than it should have been.
- Public: An error message is now shown if the upload file has as unsupported file type.
Object.assign
was being used but not polyfilled. Its occurrence was replaced with an es6 object construction.- UI disappeared if the browser's windows width was smaller than 481px;
- Public: Captures are now returned as
png
instead ofwebp
, althoughwebp
is still used internally for streaming to the server. - Public: the captures returned by
Onfido.getCaptures()
have a simplified signature of just{id,image,documentType}
. - Public: It's now possible to open and close the modal by calling
.setOptions({isModalOpen:boolean})
- Internal: The modal has been refactored to be fully reactive,
vanilla-modal
has been replaced with a fork ofreact-modal
. - Internal: Updated to
[email protected]
, selectors are now more general as in they are no longer specific to each capture type, some new selectors are also being used. - Internal:
Camera
,Capture
andUploader
have been refactored, the pure part of the components have been separated from the state logic part. This adds flexibility and encapsulation. - Internal: The
Capture
component now orchestrates all the state logic of theUploader
component, this allows to join the camera and uploader state logic together.
- Public: The capture screen UI now includes an upload button fallback, for whenever the user experiences problems with the webcam.
- Internal: When requesting to validate documents there is now a strategy to cope with slow responses from the server. If the number of unprocessed documents is 3+, the client stops sending more requests until a response is given.
- Internal:
webp
falls back tojpeg
in case the browser does not support it.
- Public:
onComplete
event now fires only after both the document and face captures have been confirmed in the UI - Internal: updated
onfido-sdk-core
to 0.5.0 which causes the all capture event to be triggered when captured are both valid and confirmed - Internal: made the confirm button change the state of the capture to confirmed
- Internal: sometimes when document was retaken multiple times the capture ended up squashed. This was fixed by upgrading to
[email protected]
. - Internal: fixed Bug #36, it caused the face to be captured every second after a document retake.
- Public:
Onfido.init()
now returns an object. - Internal:
isDesktop
detection is now based on DetectRTC'sisMobile
detection - Internal: improved Webcam Detection, it now takes into account wether a Webcam exists and if it the user has given the website permission to use it. Before it was only checking whether the getUserMedia API is supported by the browser or not. DetectRTC is used for this detection.
- Public: it's now possible to change the init options at runtime by calling
setOptions()
on the object returned byOnfido.init()
- Public:
useWebcam
option added to the facial and document capture step
- SDK Core dependency update, fixes issue https://github.com/onfido/onfido-sdk-ui/issues/25
Note: This update only changes the dist folder release, npm releases get the dependency update if they do
npm install
- API: Flow customization option
steps:[]
- UI: Overlay to the webcam document capture (Possibly breaking change)
- DOC: Integration examples to documentation
- NPM (commonjs2) style of importing the library now works