• Improve the tree-shaking capability
  • Confidence score calculations moved to server for increased accuracy (Pro version)


  • Improve the performance slightly


  • Improve identification time for visitors who use an ad blocker or an M1 Mac
  • Improve identification accuracy


  • Add a new result field: confidence score. The confidence score field tells how much the agent is sure about the visitor identifier. See the API reference for more details.
  • Fix an error that occurs in Firefox Add-ons


  • Makes get run much faster when some time passes between calling load() and get(). See the JavaScript agent preloading guide to learn how to leverage it.
  • Added an error constant for bad server response format: FingerprintJS.ERROR_BAD_RESPONSE_FORMAT. The error can be caused by wrong endpoint.
  • The disableTls option is moved from the get options to the load options. It still works when set within get options for compatibility, but doesn't actually disable the TLS request. So we recommend updating your code if you use disableTls.
  • fix: JS agent may never complete getting the visitor identifier when the page is in background.


  • Fix client timeouts in WeChat built-in browser on iOS 13
  • Increase the accuracy of agent when the page runs in background


  • Fix "Client timeout" errors that happen in bots that run setTimeout too quickly
  • Fix console WebGL warnings in IE 11


  • Incognito detection accuracy improvement
  • TypeScript compatibility improvement
  • Fix an error in Android 5.1 Browser: Failed to parse the response
  • Fix client timeouts in iOS WeChat built-in browser


  • Many new identification methods under the hood
  • JS agent retries visitor identification request in case of error
  • A new billing model. Identifications are billed per a unique visitor instead of a request.
  • New expected JS agent errors: FingerprintJS.ERROR_WRONG_REGION, FingerprintJS.ERROR_SUBSCRIPTION_NOT_ACTIVE


  • fix: Remote monitoring doesn't work in Android Browser 4.1
  • fix: JS agent script encoding can change the canvas fingerprint, that can reduce accuracy in rare cases
  • Add internal request encryption
  • Improve the fingerprinting performance