Skip to content

Upgrading to v12.x

richardsimongreen edited this page Oct 16, 2026 · 1 revision

There have been a number of breaking changes in this 12.0.0 release. Please read through this section to understand those changes and refer to the revised README.md.

Changes to Api

  • The states IProov.State.Success and IProov.State.Failure have been simplified with the removal of the return frame, which was unused. This alters the signature of these two classes.
    • IProov.State.Success is now an object and no longer carries a SuccessResult.
    • IProov.State.Failure exposes its reasons directly. The IProov.FailureResult wrapper class has been removed.
  • Session.cancel() now returns a value to better understand what happened and what can now be done

Changes to Options

  • If you were using 'orientation' Option then this is no longer available. Proper handling of large format landscape devices in light of Android 16+ changes is being considered for a future release.

Changes to Dependencies

  • Minimum level of Kotlin is now 2.0.21 (was 1.8.10).
  • We are phasing out support for <Android 10, so even though you can still set minSdk to 26, users on devices below Android 10 will be blocked. If you are affected, please contact support
  • Protobuf has been updated to 4.36.0. If you use Cloud Firestore, see the note below.
    • Firestore versions before 27.0.0 depend on protolite-well-known-types, which contains its own copy of com.google.protobuf.DescriptorProtos. protobuf-javalite 4.27.0 and later contain the same class, so the build fails with Duplicate class com.google.protobuf.DescriptorProtos. To fix this, upgrade to Firestore 27.0.0 or later, or force protobuf-javalite 3.25.8, which the standard iProov SDK also supports. The -pf SDK requires protobuf-java 4.33.5 or later.

Clone this wiki locally