Skip to main content

v4.0.0

This version includes breaking changes and requires you to manually migrate. For more details on upgrading to Android SDK v4.0.0, refer to the Migrating the Fingerprint Android SDK from v2 to v4 page.

What’s new

  • FingerprintJSFactory and the FingerprintJS interface are renamed to FingerprintFactory and Fingerprint, dropping the legacy “JS” naming.
  • The response object is renamed from FingerprintJSProResponse to FingerprintResponse, and several nested/legacy fields (confidenceScore, ipLocation, firstSeenAt, and similar) have been removed in favor of a flat response shape, along with their supporting types (ConfidenceScore, Timestamp, and IpLocation). Check the migration guide to see the full list.
  • requestId is renamed to eventId across responses, errors, and exceptions.
  • The extendedResponseFormat configuration flag has been removed as v4 always returns the flat format.
  • Several error classes have been removed or replaced, and new error classes have been added to reflect new server-side error codes. Check the migration guide for more details about error classes.
  • Kotlin upgraded from v1.9.25 to v2.3.20.
  • Added in-code documentation for better DX: API documentation is published as a Javadoc JAR alongside the Maven artifacts, so it’s available directly in your IDE when you add the dependency.
  • Bug fixes and stability improvements for low-end Android devices.
  • Reduced SDK size.
Android SDK v4.0.0 size info: 3.94MB

Compatibility

  • Requires Android 6.0+ (API Level 23 or higher)
  • Tested with API Level 36 (targetSdk = 36)
  • Compiled using API Level 36 (compileSdk = 36)

Build Info

  • Kotlin: v2.3.20 (org.jetbrains.kotlin:kotlin-*:2.3.20)
  • Android Gradle Plugin: v8.13.0 (com.android.tools.build:gradle:8.13.0)
  • Gradle: v8.13
  • jvmTarget : Java 11

v2.17.1

What’s new

  • Started collecting additional signals to support upcoming improvements to Android identification.
Android SDK v2.17.1 size info: 4.23MB

Compatibility

  • Requires Android 6.0+ (API Level 23 or higher)
  • Tested with API Level 36 (targetSdk = 36)
  • Compiled using API Level 36 (compileSdk = 36)

Build Info

  • Kotlin: v1.9.25 (org.jetbrains.kotlin:kotlin-*:1.9.25)
  • Android Gradle Plugin: v8.13.0 (com.android.tools.build:gradle:8.13.0)
  • Gradle: v8.13
  • jvmTarget : Java 11

v2.17.0

What’s new

  • Added internal improvements to enhance fraud detection capabilities. These updates lay the groundwork for upcoming backend enhancements.
  • Reduced false positives in emulator and rooted device detection.
  • Internal bug fixes and security updates.
Android SDK v2.17.0 size info: 4.13MB

Compatibility

  • Requires Android 6.0+ (API Level 23 or higher)
  • Tested with API Level 36 (targetSdk = 36)
  • Compiled using API Level 36 (compileSdk = 36)

Build Info

  • Kotlin: v1.9.25 (org.jetbrains.kotlin:kotlin-*:1.9.25)
  • Android Gradle Plugin: v8.13.0 (com.android.tools.build:gradle:8.13.0)
  • Gradle: v8.13
  • jvmTarget : Java 11

v2.16.0

What’s new

  • Added internal improvements to support enhanced detection logic and upcoming backend updates.
Android SDK v2.16.0 size info: 4.12MB

Compatibility

  • Requires Android 6.0+ (API Level 23 or higher)
  • Tested with API Level 36 (targetSdk = 36)
  • Compiled using API Level 36 (compileSdk = 36)

Build Info

  • Kotlin: v1.9.25 (org.jetbrains.kotlin:kotlin-*:1.9.25)
  • Android Gradle Plugin: v8.13.0 (com.android.tools.build:gradle:8.13.0)
  • Gradle: v8.13
  • jvmTarget : Java 11

v2.15.0

What’s new

  • Updated client-level logic to improve the accuracy and reliability of rooted device detection.
  • Expanded the range of device-level signals collected for deeper device integrity insights.
  • Internal bug fixes and performance improvements.
Android SDK v2.15.0 size info: 3.53MB

Compatibility

  • Requires Android 6.0+ (API Level 23 or higher)
  • Tested with API Level 36 (targetSdk = 36)
  • Compiled using API Level 36 (compileSdk = 36)

Build Info

  • Kotlin: v1.9.25 (org.jetbrains.kotlin:kotlin-*:1.9.25)
  • Android Gradle Plugin: v8.13.0 (com.android.tools.build:gradle:8.13.0)
  • Gradle: v8.13
  • jvmTarget : Java 11

v2.14.0

What’s new

  • Reduced Android SDK AAR size by 1.5MB (from 4.7MB to 3.2MB)
  • Fixed crashes during app initialization on low-end devices running Android 12, 13, and 15, including devices with limited available RAM.
  • Added coroutine support for cleaner, more idiomatic integration in Kotlin-based Android projects.
  • Internal bug fixes and performance improvements.
Android SDK v2.14.0 size info: 3.2MB

Compatibility

  • Requires Android 6.0+ (API Level 23 or higher)
  • Tested with API Level 36 (targetSdk = 36)
  • Compiled using API Level 36 (compileSdk = 36)

Build Info

  • Kotlin: v1.9.25 (org.jetbrains.kotlin:kotlin-*:1.9.25)
  • Android Gradle Plugin: v8.13.0 (com.android.tools.build:gradle:8.13.0)
  • Gradle: v8.13
  • jvmTarget : Java 11

v2.13.1

What’s new

  • Added internal improvements to support enhanced detection logic and upcoming backend updates.
  • Security updates and minor bug fixes.

Compatibility

  • Requires Android 6.0+ (API Level 23 or higher)
  • Tested with API Level 36 (targetSdk = 36)
  • Compiled using API Level 36 (compileSdk = 36)

Build Info

  • Kotlin: v1.9.25 (org.jetbrains.kotlin:kotlin-*:1.9.25)
  • Android Gradle Plugin: v8.13.0 (com.android.tools.build:gradle:8.13.0)
  • Gradle: v8.13
  • jvmTarget : Java 11
Smart Signals

v2.12.0

What’s new

  • Added internal improvements to enhance fraud detection capabilities. These updates lay the groundwork for upcoming backend enhancements.
  • Improved cloned app detection on Android.

Compatibility

  • Requires Android 6.0+ (API Level 23 or higher)
  • Tested with API Level 36 (targetSdk = 36)
  • Compiled using API Level 36 (compileSdk = 36)

Build Info

  • Kotlin: v1.9.25 (org.jetbrains.kotlin:kotlin-*:1.9.25)
  • Android Gradle Plugin: v8.13.0 (com.android.tools.build:gradle:8.13.0)
  • Gradle: v8.13
  • jvmTarget : Java 11
Smart Signals

v2.11.0

What’s new

Recommendation: We strongly encourage upgrading to the version 2.11.0 to benefit from improved security and stronger protection against tampering and reverse-engineering attempts.
  • Implemented additional security measures to protect Android SDK requests from manipulation, tampering, and reverse-engineering attempts.
  • Deprecated support for Android 5.x.
  • Improved rooted device detection on Android.
  • Improved emulator detection logic on Android.
  • The total SDK size increased from 800kB to 4.5MB

Compatibility

  • Requires Android 6.0+ (API Level 23 or higher)
  • Tested with API Level 35 (targetSdk = 35)
  • Compiled using API Level 35 (compileSdk = 35)

Build Info

  • Kotlin: v1.9.25 (org.jetbrains.kotlin:kotlin-*:1.9.25)
  • Android Gradle Plugin: v8.13.0 (com.android.tools.build:gradle:8.13.0)
  • Gradle: v8.13
  • jvmTarget : Java 11
Smart Signals

v2.10.0

What’s new

  • Introduced a new proximity detection location-based signal for mobile devices. Instead of representing a unique device, the new proximity ID corresponds to a fixed geographical zone within which the device is observed. This additional layer of context makes it possible to identify groups of devices in the same physical area or a single device that may have changed its identity but remained in the same location. See Proximity detection for Android devices reference for more info.
  • Enhanced the detection logic to more accurately identify true factory resets on Android devices. This update reduces false positives and improves signal reliability for fraud prevention workflows.

Compatibility

  • Requires Android 5.0+ (API Level 21 or higher)
  • Tested with API Level 35 (targetSdk = 35)
  • Compiled using API Level 35 (compileSdk = 35)

Build Info

  • Kotlin: v1.9.25 (org.jetbrains.kotlin:kotlin-*:1.9.25)
  • Android Gradle Plugin: v8.7.3 (com.android.tools.build:gradle:8.7.3)
  • Gradle: v8.10.2
  • jvmTarget : Java 8

v2.9.0

What’s new

  • Introduced internal architecture updates and performance improvements to support upcoming capabilities.
  • Addressed minor data collection issues to improve SDK reliability.
  • Added new error codes
    • InvalidProxyIntegrationSecret
    • InvalidProxyIntegrationHeaders
    • ProxyIntegrationSecretEnvironmentMismatch

Compatibility

  • Requires Android 5.0+ (API Level 21 or higher)
  • Tested with API Level 35 (targetSdk = 35)
  • Compiled using API Level 35 (compileSdk = 35)

Build Info

  • Kotlin: v1.9.25 (org.jetbrains.kotlin:kotlin-*:1.9.25)
  • Android Gradle Plugin: v8.1.1 (com.android.tools.build:gradle:8.1.1)
  • Gradle: v8.3.0
  • jvmTarget : Java 8
Smart Signals

v2.8.0

What’s new

  • Introduced the ability to detect if requests from the app were subject to MitM attacks. See MitM Attack Detection to learn more.
  • Added support for Open Client Response.
  • Minor enhancements to identification and detection of Smart Signals.

Compatibility

  • Requires Android 5.0+ (API Level 21 or higher)
  • Tested with API Level 35 (targetSdk = 35)
  • Compiled using API Level 35 (compileSdk = 35)

Build Info

  • Kotlin: v1.9.25 (org.jetbrains.kotlin:kotlin-*:1.9.25)
  • Android Gradle Plugin: v8.7.3 (com.android.tools.build:gradle:8.7.3)
  • Gradle: v8.10.2
  • jvmTarget : Java 8

v2.7.0

What’s new

Compatibility

  • Requires Android 5.0+ (API Level 21 or higher)
  • Tested with API Level 34 (targetSdk = 34)
  • Compiled using API Level 34 (compileSdk = 34)

Build Info

  • Kotlin: v1.9.25 (org.jetbrains.kotlin:kotlin-*:1.9.25)
  • Android Gradle Plugin: v8.1.1 (com.android.tools.build:gradle:8.1.1)
  • Gradle: v8.3.0
  • jvmTarget : Java 8

v2.6.0

What’s new

  • Introduced the ability to configure the timeout interval for the client session. To learn more, see Specifying a custom timeout.
  • Added internal improvements to enhance fraud detection capabilities. These updates lay the groundwork for upcoming backend enhancements.

What’s changed

  • Information about Installed Applications is no longer collected and used.
  • Removed dependency com.github.fingerprintjs:fingerprint-android

Compatibility

  • Requires Android 5.0+ (API Level 21 or higher)
  • Tested with API Level 34 (targetSdk = 34)
  • Compiled using API Level 34 (compileSdk = 34)

Build Info

  • Kotlin: v1.9.25 (org.jetbrains.kotlin:kotlin-*:1.9.25)
  • Android Gradle Plugin: v8.1.1 (com.android.tools.build:gradle:8.1.1)
  • Gradle: v8.3.0
  • jvmTarget : Java 8

v2.5.0

What’s new

  • Introduced the ability to redirect failed requests to alternate endpoints. The list Configuration.fallbackEndpointUrls can be used to specify one or more alternate endpoints. For a complete example, see Getting a visitorId.

Compatibility

  • Requires Android 5.0+ (API Level 21 or higher)
  • Tested with API Level 34 (targetSdk = 34)
  • Compiled using API Level 34 (compileSdk = 34)

Build Info

  • Kotlin: v1.9.10 (org.jetbrains.kotlin:kotlin-*:1.9.10)
  • Android Gradle Plugin: v8.1.1 (com.android.tools.build:gradle:8.1.1)
  • Gradle: v8.3.0
  • jvmTarget : Java 8
Smart Signals

v2.4.0

What’s new

  • Introduced a new child class, PackageNotAuthorized to the sealed class, Error. This error is returned when an unauthorized app makes identification requests using a stolen API key. See Request filtering for mobile apps for more information.
  • Enhanced our VPN Detection Smart Signal with a new data point, originCountry that indicates the country in which the mobile device is currently located at.

Compatibility

  • Requires Android 5.0+ (API Level 21 or higher)
  • Tested with API Level 34 (targetSdk = 34)
  • Compiled using API Level 34 (compileSdk = 34)

Build Info

  • Kotlin: v1.9.10 (org.jetbrains.kotlin:kotlin-*:1.9.10)
  • Android Gradle Plugin: v8.1.1 (com.android.tools.build:gradle:8.1.1)
  • Gradle: v8.3.0
  • jvmTarget : Java 8
Smart Signals

v2.3.4

What’s new

  • Introduced the ability to detect if the device location has been spoofed. To learn more, see Geolocation Spoofing Detection.
  • Added runtime dependency com.google.android.gms:play-services-location

Compatibility

  • Requires Android 5.0+ (API Level 21 or higher)
  • Tested with API Level 33 (targetSdk = 33)
  • Compiled using API Level 34 (compileSdk = 34)

Build Info

  • Kotlin: v1.9.10 (org.jetbrains.kotlin:kotlin-*:1.9.10)
  • Android Gradle Plugin: v8.1.1 (com.android.tools.build:gradle:8.1.1)
  • Gradle: v8.3.0
  • jvmTarget : Java 8

v2.3.3

What’s new

  • Introduced the ability to detect if a device is using VPN. To learn more, see VPN Detection.
  • Introduced the ability to detect if an app using this SDK is being instrumented by Frida. To learn more, see Frida Detection.
  • Added runtime dependency androidx.core:core

What’s changed

  • Upgraded dependency com.github.fingerprintjs:fingerprint-android to v2.1.0

Compatibility

  • Requires Android 5.0+ (API Level 21 or higher)
  • Tested with API Level 33 (targetSdk = 33)
  • Compiled using API Level 34 (compileSdk = 34)

Build Info

  • Kotlin: v1.9.10 (org.jetbrains.kotlin:kotlin-*:1.9.10)
  • Android Gradle Plugin: v8.1.1 (com.android.tools.build:gradle:8.1.1)
  • Gradle: v8.3.0
  • jvmTarget : Java 8

v2.3.2

What’s changed

  • Upgraded dependency com.github.fingerprintjs:fingerprint-android to v2.0.2

Compatibility

  • Requires Android 5.0+ (API Level 21 or higher)
  • Tested with API Level 33 (targetSdk = 33)
  • Compiled using API Level 33 (compileSdk = 33)

Build Info

  • Kotlin: v1.8.21 (org.jetbrains.kotlin:kotlin-*:1.8.21)
  • Android Gradle Plugin: v7.4.2 (com.android.tools.build:gradle:7.4.2)
  • Gradle: v7.5.0
  • jvmTarget : Java 8

v2.3.1

What’s changed

  • The following dependencies have now been declared within com.fingerprint.android:pro. They need not anymore be individually included in build.gradle.
    • org.jetbrains.kotlin:kotlin-stdlib
    • com.github.fingerprintjs:fingerprint-android
  • Reduced the size of the payload that is transmitted from the device to Fingerprint’s servers.

Compatibility

  • Requires Android 5.0+ (API Level 21 or higher)
  • Tested with API Level 33 (targetSdk = 33)
  • Compiled using API Level 33 (compileSdk = 33)

Build Info

  • Kotlin: v1.8.0 (org.jetbrains.kotlin:kotlin-*:1.8.0)
  • Android Gradle Plugin: v7.4.2 (com.android.tools.build:gradle:7.4.2)
  • Gradle: v7.5.0
  • jvmTarget : Java 8
Smart Signals

v2.3.0

What’s changed

Compatibility

  • Requires Android 5.0+ (API Level 21 or higher)
  • Tested with API Level 33 (targetSdk = 33)
  • Compiled using API Level 33 (compileSdk = 33)

Build Info

  • Kotlin: v1.7.0 (org.jetbrains.kotlin:kotlin-*:1.7.0)
  • Android Gradle Plugin: v7.2.2 (com.android.tools.build:gradle:7.2.2)
  • Gradle: v7.4.2
  • jvmTarget : Java 8