Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
[1.1.0]
Added
- Added Vue, React and Angular examples to the source package. See
examples/frameworksfor more details. - Added the ability to render a QR code via the
qrmethod. See the QR Code guide for usage. - Added the ability to parse a QR redirect via the
parseQrRedirectmethod. See the QR Code guide for usage. - Added the
imeiflow andtagssupport to theqrmethod. - Added window property detection.
Changed
- Renamed the library global from
DeviceValidationtoDeviceAssure. The oldDeviceValidationreference still works but is deprecated and will be removed in a later release. - Renamed the built file from
deviceAssure-XXX.min.jstodeviceassure-XXX.min.js.
[1.0.34]
Changed
- The source-package sample application is now a Fastify-based application; see the README for updated run instructions.
- Updated to DeviceAtlas client-side library 2.7.3.
Removed
- Removed the
check,checkIMEIandgetDatamethods from the documentation; use theloadmethod instead.
[1.0.33]
Added
- Updated example pages to show a note about using a secure context for accurate results.
Changed
- Updated to latest 2.7.2 version of the DeviceAtlas clientside library. Improved Apple Detection.
[1.0.32]
Added
- Ability to collect IMEI via Server to Server.
Fixed
- Collecting additional properties to help with private mode detection
[1.0.31]
Added
- Updating to the latest clientside library 2.6
Fixed
- Incorrect examples for custom tags setup in README
[1.0.30]
Changed
- Updating DeviceAtlas clientside library to latest 2.5.2
- Updating Implementation Guide to latest version
[1.0.29]
Changed
- Implementation Guide updates
[1.0.28]
Added
- Added ability to add 'tags' to the request via the options object.
Changed
- Updated storageType 'None' to no longer clear existing cache if already set from previously used storageType options 'cookie' or 'local-storage'.
[1.0.27]
Added
- Added private browsing detection
- Adding the capture of a new property screen.availTop.
- Added collection of the navigator.maxTouchPoints
- Added more properties to detect invalid browser/device claims from client hints.
- Added more automation properties to the collection.
- Promises to collect new and existing properties. When not present a non-Promise method is used.
- Updated library to be built off webpack
Changed
- Updated the retry mechanism to not make multiple requests if the response status code one of 403, 409, 410, 422 or 429.
Fixed
- Allowing .check, .getData and .checkIMEI to run without a definition of DeviceValidation in the window.
[1.0.26]
Added
- Added a check on the DV cache to not run the rest of the library if we already have a cache.
- Added hook and examples for on callback for server to server.
- Trimming white space for string configs [licence, urls and storageType].
- Added the identification of a request being made in a secure context.
- Added
loadmethod, which when called will load the DeviceAssure library and run based on the configs passed in. Library is backwards compatible with the legacy methods. - Added Migration Guide for new
loadmethod. - Added Implementation Guide for DeviceAssure to source package.
Changed
- Updated example pages to look more consistent.
- Changed the format of the IMEI error response to be wrapped in an object instead of a string. onError is also called now too.
- When using the new
loadmethod, the library will only run when called. - Updated the README for these new changes and examples.
Deprecated
getDatawas deprecated. It will be removed in later releases.checkwas deprecated. It will be removed in later releases.checkIMEIwas deprecated. It will be removed in later releases.- Setting up the library with the
DeviceValidationobject was deprecated. It will be removed in later releases.
Removed
- Removed vendor folder from examples, using CDN for jQuery and Bootstrap in example pages.
Fixed
- Improved IMEI error handling.
[1.0.25]
Fixed
- Added minor fixes to run on IE 11 and 10.
[1.0.24]
Added
- Adding ability to link variant device assure libraries running on the same page.
[1.0.23]
Added
- Added the collection of screen properties.
[1.0.22]
Added
- Added the collection of automation tool identification.
- Added the collection of headless browser identification.
- Minor README updates
[1.0.21]
Added
- Added the collection of language and languages
[1.0.20]
Added
- Adding the collection of browser identification properties for Brave, Opera and Safari.
- Including the DeviceAtlas Device Verification QR Code Example
- Updated how Sample Application in source package and added README entry for how to run it.
Fixed
- Fixing issue where DeviceAtlasCollector was not always configured correctly.
[1.0.19]
Fixed
- Renaming DeviceAtlas object to DeviceAtlasCollector to avoid conflicts with other libraries.
[1.0.18]
Added
- Added config to override URLs
Changed
- Updated to the latest 2.4.6 clientside library.
Deprecated
- getData was deprecated. It will be removed in later releases.
[1.0.17]
Changed
- Updated to the latest 2.4.4 clientside library.
[1.0.16]
Changed
- Updated formatting in the README
[1.0.15]
Added
- Added window.DeviceValidation hook and updated README to show how to use it.
- Added a new example page for the On Event example.
- Added new config for setting the storage expiry called
storageExpiry. - Added new option for
storageTypecallednone. - Store the result of the DeviceAssure call in to the cache now.
Changed
- Updated README to have more practical examples.
- Updated README to list all the configs and methods this web library has.
- Adding application/json to the http request header.
- Updated to the latest 2.4.3 clientside library.
Fixed
- Preventing double /check request being sent on page load.
[1.0.14]
Changed
- Updated README content for IMEI DeviceCheck
[1.0.13]
Changed
- Updated to use clientside library of 2.4.1 (latest as of 6th April 2023)
[1.0.12]
Added
- Adding some iOS specific js property collection
- Adding clientSide string to the payload under 'data.web.webview.clientSide'
Changed
- Updated how jsProps field is generated. It is now using the embedded DeviceAtlas library to generate this.
[1.0.11]
Added
- GSMA Device-Check demo page.
- Added Example URLS to each demo page.
[1.0.10]
Fixed
- Fix possible null pointer exception for serverToServerEnabled option.
[1.0.9]
Added
library-typeheader.- Added the ability to change the location of the TTL to 'cookie' or 'local-storage'.
- Added
hasVibrationfield to jsProps.
Changed
- Updated to the latest DeviceAtlas client-side library.
- Updated Documentation for
storageTypeconfig. - Underlying DAPROPS cookie has been turned off.
Deprecated
Removed
Fixed
- Fixed an issue where DeviceAtlas library was still running even if no request sent. Data collection only occurs now when the TTL storage has expired.
- Fixed an issue on running the DeviceAssure Check on older iOS devices.
- Fixed an issue where errors on the callback function were not showing in the example pages.
Security
[1.0.8]
Added
- Added 'audioRef' property retry when not present on Apple devices on first load of dv library.
Changed
- Updated the Bootstrap library to 5.1.2 for the example pages.
- Updated the example UI to include a loading spinner and code like snippet for our example snippets for the serverToServer and normal example pages.
Deprecated
- No need to call DeviceValidation.check() for import of dv.min.js, library will auto send results when loaded and serverToServer is switched off. This call is now mainly used for manually triggering the Check API call.
Removed
- Removed the DeviceValidation.check() call on load of our example page, it was causing a race condition.
Fixed
- The retrieval of the 'audioRef' property is now more reliable on first load of our library for Apple devices.
- Fixed the setting of the 'onSuccess' and 'onError' blocks in the DeviceValidation config object.
[1.0.7]
Changed
- Updated the customer documentation to highlight the 30 minute period that no calls are made from the browser while the cookie is in place.
[1.0.6]
Changed
- Updated the Package Json to match that of the current release numbers.
- Added a new property to indicate when the request is from a Server to Server request.
[1.0.5]
- Updated library for ServerToServer implementation. Library will not make a DeviceAssure check call automatically upon loading if serverToServer is set to true in DeviceValidation's option. Added a new function 'getData' which can accept a callback function to get value asynchronously or can return data synchronously via blocking call.
- Added an example page to demonstrate how the ServerToServer implementation works.
[1.0.4]
- Updated library not to continue sending requests when a 429 is returned.
[1.0.3]
Added
- Updated library to work with 1.9.1 of the client-side library
[1.0.2]
Added
- New property for collection 'ApplePaySession'
[1.0.1]
Added
- Add following new properties into the data collector: navigator.connection.saveData navigator.deviceMemory navigator.oscpu navigator.platform navigator.productSub navigator.webdriver window.screen.width window.screen.availWidth window.screen.height window.screen.availHeight navigator.mediaDevicessharing
Changed
- Updated the deviceatlas js file from 1.7 to be the latest version 1.8 which adds iOS 12.2 devices detection.
[1.0.0]
Changed
- Updated the documentation to mention the usage of the cookie.
- Removing Beta postfix as the library is no longer in beta.
[1.0.0-beta.2]
Changed
- Updated the deviceatlas js file from 1.6 to be the latest version 1.7
[1.0.0-beta.1]
Changed
- Store a cookie for 30 minutes, validate the device just if the cookie is not set.
- Added
errorsblock to the request payload to carry over errors from previous retries.
[1.0.0-beta]
- Initial Release of the DeviceAssure Web Library.