Skip to content

⬆️ native: pin 11.2.2 on both platforms so the liveness fix reaches React Native apps - #246

Merged
Juma Allan (jumaallan) merged 2 commits into
mainfrom
chore/native-11.2.2
Sep 10, 2026
Merged

Juma Allan (jumaallan) merged 2 commits into
mainfrom
chore/native-11.2.2

Conversation

@jumaallan

@jumaallan Juma Allan (jumaallan) commented Sep 10, 2026 •

Copy link
Copy Markdown
Member

User description

Story: https://app.shortcut.com/smileid/story/xxx

upgrade

Summary

Pins the native SDKs to 11.2.2 on both platforms, so React Native apps pick up the
SmartSelfie™ fix where a job could carry the same liveness picture twice.

  • android/gradle.properties and react-native-smile-id.podspec take the new native versions.
  • The wrapper's own version goes to 11.2.2 in package.json. Android reads that file for
    setWrapperInfo so it needs no edit, but ios/RNSmileID.swift hardcodes the same value and
    does — it reports the wrapper version, not the native one, so it drifts silently if missed.

11.2.2 also carries a rotated request-signing secret and raises
active_liveness_version to 2.1.0, neither of which needs anything from this wrapper.

Known Issues

Do not merge until the iOS release finishes publishing. Android 11.2.2 is live on Maven
Central, but the iOS side is mid-flight: the SmileID pod is the last artifact in that chain
and is not on CocoaPods trunk yet. Until it is, pod install cannot resolve SmileID 11.2.2,
so CI here will fail on the iOS job — that failure is expected and is not a problem with this
diff.

Podfile.lock in the sample app(s) is deliberately not updated. Regenerating it needs a
pod install against the published pod, which cannot run yet for the reason above. The
previous native bump updated those lockfiles in the same change, so they should be refreshed
before this merges rather than left stale.

Not verified on a device, and not verified against a real build: the native dependency it
points at is not fully published yet.

Test Instructions

Once pod trunk info SmileID lists 11.2.2, run pod install in the sample app to refresh
Podfile.lock, then build and run the sample on both platforms. The versions to expect:

  • Android: com.smileidentity:android-sdk:11.2.2
  • iOS: SmileID 11.2.2
  • Wrapper reported to the backend via setWrapperInfo: 11.2.2

Screenshot

N/A — no UI changes.

⬆️


PR Type

Enhancement, Documentation


Description

  • Pin Android and iOS native SDKs to 11.2.2

  • Bump wrapper version to 11.2.2

  • Update hardcoded iOS setWrapperInfo version

  • Add CHANGELOG entry for the bump


Diagram Walkthrough

flowchart LR
  A["android/gradle.properties"] -- "SmileId_androidVersion" --> N["Native SDK 11.2.2"]
  B["react-native-smile-id.podspec"] -- "SmileID pod" --> N
  C["package.json"] -- "wrapper version" --> W["Wrapper 11.2.2"]
  D["ios/RNSmileID.swift"] -- "setWrapperInfo" --> W
  E["CHANGELOG.md"] -- "release note" --> W
Loading

File Walkthrough

Relevant files
Dependencies
gradle.properties
Bump Android native SDK pin to 11.2.2                                       

android/gradle.properties

  • Bumps SmileId_androidVersion from 11.2.1 to 11.2.2
+1/-1     
react-native-smile-id.podspec
Bump iOS SmileID pod pin to 11.2.2                                             

react-native-smile-id.podspec

  • Bumps the hard-pinned SmileID pod dependency to 11.2.2
+1/-1     
Configuration changes
RNSmileID.swift
Update hardcoded iOS wrapper version string                           

ios/RNSmileID.swift

  • Updates the hardcoded wrapper version passed to SmileID.setWrapperInfo
    to 11.2.2
+1/-1     
package.json
Bump wrapper package version to 11.2.2                                     

package.json

  • Bumps the package version to 11.2.2, which Android reads for
    setWrapperInfo
+1/-1     
Documentation
CHANGELOG.md
Add 11.2.2 changelog entry                                                             

CHANGELOG.md

  • Adds an 11.2.2 release section noting the Android and iOS SDK bumps
    with release links
+6/-0     


Need help?
  • Type /help how to ... in the comments thread for any questions about PR-Agent usage.
  • Check out the documentation for more information.
  • …eact Native apps
    
    Picks up the SmartSelfie™ fix where a job could carry the same liveness picture
    twice, plus the rotated request-signing secret and active_liveness_version 2.1.0.
    
    The wrapper's own version goes to 11.2.2 as well. Android reads package.json for
    setWrapperInfo, so only the hardcoded literal in ios/RNSmileID.swift needed
    moving alongside it.
    
    Podfile.lock is left alone: refreshing it needs a pod install against the
    published SmileID pod, which is not on trunk yet.
    @prfectionist

    prfectionist Bot commented Sep 10, 2026

    Copy link
    Copy Markdown
    Contributor

    PR Reviewer Guide 🔍

    Here are some key observations to aid the review process:

    ⏱️ Estimated effort to review: 1 🔵⚪⚪⚪⚪
    🏅 Score: 85
    🧪 No relevant tests
    🔒 No security concerns identified
    🔀 No multiple PR themes
    ⚡ Recommended focus areas for review

    Duplicated version constant

    The wrapper version is hardcoded here while package.json holds the same value and Android reads it from that file. Any future bump that touches only package.json will silently report a stale wrapper version to Smile ID from iOS clients, which is exactly the drift this bump had to fix by hand. Consider deriving the value at build time (e.g. a generated constant or an Info.plist entry populated from package.json) so there is one source of truth.

    SmileID.setWrapperInfo(name: .reactNative, version: "11.2.2")
    Stale example Podfile.lock

    The podspec now requires SmileID 11.2.2 but the example app's Podfile.lock still pins 11.2.1, so pod install --deployment (and CI iOS builds that rely on the lock) will fail to resolve until the lock is regenerated. This is acknowledged in the description as blocked on the pod publishing, but it needs a follow-up before merge, otherwise the iOS example builds against a version the podspec no longer allows.

    s.dependency "SmileID", "11.2.2"

    @github-actions

    Copy link
    Copy Markdown

    🔍 Semgrep Security Scan Results

    ✅ No security findings detected by p/security-audit ruleset.

    @prfectionist

    prfectionist Bot commented Sep 10, 2026

    Copy link
    Copy Markdown
    Contributor

    PR Code Suggestions ✨

    No code suggestions found for the PR.

    pod install refuses to cross a lockfile pin: the lock held SmileID (= 11.2.1)
    while the podspec now requires (= 11.2.2), so CI failed with 'could not find
    compatible versions for pod SmileID' and the hint to run pod update. Ran
    `pod update SmileID SmileIDSDK`, which is surgical — no other pod moved.
    
    The dev pod's own checksum changes too, since react-native-smile-id's version
    went to 11.2.2 with package.json.
    
    Left out of this commit: pod install also reorders
    SmileIdExample/PrivacyInfo.xcprivacy, which has nothing to do with the version
    bump.
    @jumaallan
    Juma Allan (jumaallan) merged commit 8f7e2f6 into main Sep 10, 2026
    14 of 15 checks passed
    @jumaallan
    Juma Allan (jumaallan) deleted the chore/native-11.2.2 branch September 10, 2026 13:30
    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

    Projects

    None yet

    Development

    Successfully merging this pull request may close these issues.

    2 participants