Repository navigation
INTER-2686: feat: bump native Fingerprint SDKs to 4.2.x - #210
Merged
Merged
Conversation
- Android 4.2.0: https://docs.fingerprint.com/docs/changelog-android-sdk#v4-2-0 - iOS 4.2.0: https://docs.fingerprint.com/docs/changelog-ios-sdk#v4-2-0 - No API changes in either SDK. - Android 4.2.0 AAR still lacks the R8 rules from consumer-rules.pro, so keep the stopgap. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018AX93FxN4bzBaCYXfPTEzC
Contributor
There was a problem hiding this comment.
🟢 Approval recommended
The dependency bounds match the intended policy, existing workarounds remain intact, and no blocking issues were identified.
No open issues 🎉
What changed in this PR
Updates Flutter’s native Fingerprint SDK dependencies to 4.2.x, allowing patch updates while keeping future minor upgrades opt-in.
Changes:
- Updates Android and iOS dependency ranges.
- Retains Android consumer rules, updating only their version note.
- Adds a minor-release changeset describing SDK improvements.
| File | Description |
|---|---|
| ios/fingerprint_flutter/Package.swift | Allows iOS SDK 4.2.x patches. |
| android/fingerprint.gradle | Allows Android SDK 4.2.x patches. |
| android/consumer-rules.pro | Extends the workaround comment to cover 4.2.x. |
| .changeset/native-sdk-4-2.md | Documents the upgrade for a minor release. |
Review effort: Balanced
Android SDK 4.2.0 obfuscates static initializers of other error classes than 4.1.0. Creating ApiKeyRequired on the desktop JVM now throws IllegalAccessError (works on ART). Production code only uses `is` checks, which do not initialize the class, so apps are not affected. Switch tests to ApiKeyNotFound, which loads on both 4.1.0 and 4.2.0. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018AX93FxN4bzBaCYXfPTEzC
Contributor
🚀 Following releases will be created using changesets from this PR:fingerprint_flutter@5.1.0Minor Changes
Supported Native SDK Version Range
|
JuroUhlar
marked this pull request as ready for review
October 21, 2026 14:11
TheUnderScorer
approved these changes
Oct 21, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Part of INTER-2686. Also covers INTER-2687.
Bumps the native SDK ranges to 4.2.x. Patch releases still float, minors stay opt-in.
android/fingerprint.gradle)[4.1.0, 4.2.0)[4.2.0, 4.3.0)Package.swift, podspec reads it)upToNextMinor(from: "4.1.0")upToNextMinor(from: "4.2.0")proguard.txtstill lacks thegms-dontwarnand Kotlin-keeppackagenamesrules, soconsumer-rules.prostays. Only its version note changed.minor.Android unit tests
Creating some SDK error classes on the desktop JVM throws
IllegalAccessError(works on ART). The SDK obfuscator breaks their static initializer, and the affected set changes per release:NetworkError,WrongRegion,PayloadTooLarge,SubscriptionRestricted, …ApiKeyRequired,ClientTimeout,InvalidProxyIntegration*,InstallationMethodRestrictedProduction code only uses
ischecks, which don't initialize the class, so apps are unaffected. Tests now useApiKeyNotFoundinstead ofApiKeyRequired. It loads on both versions.🤖 Generated with Claude Code