Expo Changelog
Check out release history our Expo Plugin. Alpha and beta releases provide access new features and fixes that have been tested internally at Customer.io but have not been tested with a production app or audience. We strongly recommend that you use these versions internally, for acceptance testing or to get a head start integrating new features in your app.
Need to upgrade?
Select your current version to see everything that changed between it and the latest Expo release.
3.x Releases
3.7.1
Bug Fixes
- update customerio-reactnative to 6.6.2 (#384) (c690ac3)
- Android
4.20.1— Geofence enter/exit event accuracy (release notes) - iOS
4.7.2— Geofence enter/exit reliability and in-app page route rule matching (release notes)
- Android
3.7.0
3.6.1
Bug Fixes
- update customerio-reactnative to 6.5.1 (#366) (1b78fa7)
- Android
4.18.1— Harden push notification activity and in-app message WebView (release notes) - iOS
4.5.1— Internal test-isolation refactor; no runtime impact (release notes)
- Android
3.5.2
3.5.1
3.4.0
Features
Bug Fixes
- inject killed-state deep link workaround before factory.startReactNative (https://github.com/customerio/customerio-expo-plugin/pull/337)
3.0.0
⚠ BREAKING CHANGES
- remove React Native old architecture support (#323)
Features
RN
- Exposed
trackMetricmethod for manually tracking push notification metrics. This is useful when using multiple push providers or displaying notifications without relying on Customer.io SDK. (#539) (43deefe) - In-app messages now support SSE (Server-Sent Events) as an alternative to polling, reducing latency and improving message delivery efficiency (#555) (a777c69)
2.x Releases
2.11.0
2.10.0
Features
- Updated the SDK and dependencies for Android 16 compatibility, including minor updates to better support newer OS restrictions and behavior changes. (#319) (2537f17)
⚠️ Notes
- Apps now may need to update their
compileSdkversion to36and Gradle version to at least8.9.3to ensure compatibility with updated dependencies and to successfully build against Android 16. - Apps not using the required
compileSdkor Gradle versions may experience issues. The plugin attempts to downgrade dependencies automatically. If issues persist, Android 16 support can be disabled by settingandroid.disableAndroid16Supporttotruein plugin configuration.
2.9.0
2.8.0
Features
- You can now send banners, modals, pop-ups, and surveys to anonymous visitors —no ID or email required.
- Improve push notification delivery receipts delay for android (#313) (ad96c18)
Breaking Features
- Support for Kotlin 2+ is added (#591) (b5f94ff)
but this also means apps needs to have the following minimum requirement, which should already be covered in Expo 53 and above
- Gradle: 8.0 or later
- Android Gradle Plugin (AGP): 8.0 or later (8.2+ recommended)
- Kotlin: 1.9.20 or later (2.0+ required if using Kotlin Multiplatform or K2-specific features)
Bug Fixes
- Resolved a crash when dismissing in app messages using back press during initial loading phase. Users can now safely navigate away from messages without encountering unexpected app crashes
- Fix in-app inline tabbed bug
2.7.3
2.7.2
Bug Fixes
- Improved plugin logging and is now limited to node development environments by default and can be enabled manually by setting
CUSTOMERIO_DEBUG_MODE=truein env (#306) (aa32215) - Auto initialization
configis now lenient and only runs duringprebuild. To enforce strict checks, setCUSTOMERIO_STRICT_MODE=truein env (#307) (d57d650) - Push config is now optional if app includes a valid
google-services.jsonusing other means, auto-initialization will work as long as the build succeeds (#300) (548bc01) (#309) (a69e62b)
2.7.1
2.7.0
Improvements
- Updated React Native SDK from
4.7.0to4.8.0which includes following updates: (#294) (a0e6190)- Added support for queueing sticky sessions on iOS
- Aligned iOS public API with other Customer.io SDK platforms
- Fixed build issues on Xcode 26 beta that only affected apps using CocoaPods
- Fixed an issue where custom scheme URLs were not opening when using FCM with
CioAppDelegateWrapper
- When
setHighPriorityPushHandleris explicitly set tofalse, Firebase Messaging service is now added to Android manifest with a lower priority (-10, previously-1) to reduce the chance of conflicts with other push handlers (#297) (cb72527)
2.6.0
✨ Expo Plugin: Auto Initialization Support for React Native SDK
- Customer.io React Native SDK can now be configured directly from
app.json, removing the need to callCustomerIO.initialize()manually in JavaScript. This update enables automatic SDK initialization at app startup when a validconfigis present, requiring only thecdpApiKey(regionis needed forEU,siteIdfor in-app messaging). It is compatible with Expo SDK 53+ and fully backward compatible, manual initialization continues to work without any warnings. Read more in plugin docs. (#292) (529306b)
2.5.0
Utilizing React Native New Architecture
- This release fully adopts React Native's new architecture using Fabric and TurboModules while maintaining compatibility with old architecture. No changes to public API, apps will automatically use appropriate setup based on their configuration. (#278) (96e4069)
Fixes and Tooling update
- Support for FCM 12.x is added which requires a minimum iOS deployment target of 15. If you're using FCM module, ensure your deployment target and tooling are up to date. Or lock Firebase to 11.x to avoid compatibility issues
- Fixes a crash when build attributes from device are nullable
2.4.0
2.3.1
2.3.0
2.2.0
2.1.0
2.0.2
Bug Fixes
- Improves clarity and reduces configuration errors by grouping all iOS push notification settings under a unified pushNotification property; the previous configuration pattern has been deprecated (but not yet removed) and will be unsupported in future releases.(#247)