Skip to content

feat!: take native iOS and Android 5.0 - #684

Merged
Shahroz16 merged 2 commits into
mainfrom
feat/native-sdk-5
Oct 26, 2026
Merged

Shahroz16 merged 2 commits into
mainfrom
feat/native-sdk-5

Conversation

@Shahroz16

@Shahroz16 Shahroz16 commented Oct 26, 2026 •

Copy link
Copy Markdown
Contributor

React Native 7.0.0: takes native iOS 5.0.0 and Android 5.0.0. Merging to main releases 7.0.0, and the Expo plugin follows with 4.0.0 pinning it.

Refs MBL-2394, MBL-2391.

What changes for customers

6.x 7.0.0
React Native 0.77+ 0.77+ (unchanged)
iOS 15.1+ (React Native's own minimum) 15.1+ (unchanged)
Android API 24+ in practice (React Native 0.76+), module default 21 API 24, module default 24
Native SDKs iOS 4.13.0, Android 4.26.0 iOS 5.0.0, Android 5.0.0
iOS FCM (customerio-reactnative/fcm) CioFirebaseWrapper 1.1.0 from customerio-ios-fcm CioFirebaseWrapper 5.0.0 from customerio-ios, same Firebase pods
Android dependencies apps get firebase-messaging 24.1, play-services-base 18.7, WorkManager 2.10 firebase-messaging 26, play-services-base 18.11, WorkManager 2.12

The OS minimums don't change for React Native apps. This is a major because native 5.0 brings newer Firebase, Play services and WorkManager into every app, and the iOS FCM adapter now comes from customerio-ios. Apps that pin older versions of those update them, or stay on 6.x.

Podfiles stay as they are. After upgrading, run pod update CustomerIO once (FCM apps: pod update CustomerIO CioFirebaseWrapper), since a plain pod install stops on the Podfile.lock snapshot of the old native pin (6.15.0 to 6.16.0 behaves the same).

Changes

  • package.json: cioNativeiOSSdkVersion is = 5.0.0. cioiOSFirebaseWrapperSdkVersion is gone, since the wrapper is versioned with the iOS SDK now.
  • customerio-reactnative.podspec: the fcm subspec takes CioFirebaseWrapper at the native SDK version.
  • README.md and the deployment-target guide: the native SDKs now require iOS 15 and API 24.
  • android/gradle.properties: native Android 5.0.0 and a default minSdkVersion of 24.
  • Example app: the Podfile's git-source fallback takes CioFirebaseWrapper from customerio-ios.

Verification

CI builds the example app for Android and for iOS with APN and FCM on Xcode 27, builds stock React Native hosts on AGP 8 and AGP 9, and runs the scene E2E.

Locally on Xcode 27.1, the example's FCM Release build resolves Firebase 12.19 from CocoaPods, builds, and runs on an iOS 26.5 simulator. Next to React Native Firebase 26.0 (Firebase 12.15 from CocoaPods) it also builds. On 6.16.1 Podfile.locks, an FCM app upgrades with pod update CustomerIO CioFirebaseWrapper and an APN app with pod update CustomerIO; plain pod install and pod install --repo-update both stop on the lock.

React Native Firebase 27 ships Firebase only through SwiftPM, so fcm next to it fails with "Multiple commands produce FirebaseCore.framework". That's the same on 6.x and stays out of this release.

🤖 Generated with Claude Code

CioFirebaseWrapper now ships in customerio-ios and is versioned with it, so
the fcm subspec and the example app take it from there and the separate
cioiOSFirebaseWrapperSdkVersion is gone. The Android module defaults to
minSdkVersion 24, matching native Android 5.0.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Shahroz16
Shahroz16 requested a review from a team as a code owner October 26, 2026 17:14
@github-actions

github-actions Bot commented Oct 26, 2026 •

Copy link
Copy Markdown
Contributor

Sample app builds 📱

Below you will find the list of the latest versions of the sample apps. It's recommended to always download the latest builds of the sample apps to accurately test the pull request.


Builds are in progress. This comment will be updated when they finish.

  • iOS FCM: 684.2.0 (29884076)
  • Android APN: 684.2.0 (29884076)

The README and the deployment-target guide still said the native SDKs support older OS versions.
From 5.0.0 they require iOS 15 and API 24; the normalization helper stays because the 5.0 pods
declare iOS 15.0 (below React Native's 15.1) and Jist 0.1.0 still declares iOS 13.0.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Shahroz16
Shahroz16 merged commit c16b1d5 into main Oct 26, 2026
31 checks passed
@Shahroz16
Shahroz16 deleted the feat/native-sdk-5 branch October 26, 2026 20:55
cio-mobile-release Bot pushed a commit that referenced this pull request Oct 26, 2026
## [7.0.0](6.16.1...7.0.0) (2026-10-26)

### ⚠ BREAKING CHANGES

* take native iOS and Android 5.0 (#684)

### Features

* take native iOS and Android 5.0 ([#684](#684)) ([c16b1d5](c16b1d5))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci:full Run the full PR CI lane

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants