Expo SDK Release Notes

We are constantly working to improve our SDK. Here you’ll find the change log for the Expo SDK and related details.


Expo 2.2.0 Release

🚀 Added

  • Added Reteno.setNotificationGroupingRule(rule) for Android to group notifications by a payload key or a fixed group ID. The rule is persisted natively, so it also applies to background pushes. Pass null to disable grouping. Requires Reteno Android SDK 2.10.0 or later.

🐛 Fixed

  • Android background push notifications now trigger the OnPushNotificationReceived listener because ExpoRetenoPushReceiver re-dispatches events to the native SDK.
  • iOS SDK initialization now runs on the main queue, fixing a race condition in ExpoRetenoSdkModule.
  • Fixed config plugin path resolution for iOS Notification Service and Content Extensions in symlinked installs, including npm/yarn workspaces, file: dependencies, and pnpm.
  • Fixed a native property name typo affecting push subscription reporting on iOS.

📦 Dependencies

  • Reteno Android SDK bumped from 2.9.6 to 2.10.1.
  • Reteno iOS SDK bumped from 2.7.2 to 2.7.3.

Read more >


Expo 2.1.1 Release

New Features

Bumped native Reteno SDK dependencies:

  • Android: com.reteno:core/push/fcm` 2.9.5 → 2.9.6

  • iOS: Reteno pod 2.7.1 → 2.7.2

Both native releases add support for the DOES_NOT_EQUAL In-App display rule operator.

Read more >


Expo 2.1.0 Release

New Features

  • Added marketId field to UserAttributes and AnonymousUserAttributes. Pass an empty string "" to clear the value on the backend.
  • Updated native Android Reteno SDK: 2.9.4 → 2.9.5
  • Updated native iOS Reteno SDK: 2.7.0 → 2.7.1

Read more >


Expo 2.0.0 Release

🚨 Breaking Changes

  • sdkAccessToken in plugin config is now optional — choose between two initialization paths:
    • Path A (auto-init): set sdkAccessToken in plugin config, no JS call needed
    • Path B (manual init): omit sdkAccessToken, call Reteno.initialize({ apiKey }) from JS for full control over options

New Features

  • Reteno.initialize() — new JS method to initialize the SDK with full options support (isDebugMode, pauseInAppMessages, sessionDurationSeconds, lifecycleTrackingOptions, iosDeviceTokenHandlingMode)
  • RetenоMessagingService — built-in FCM service, no manual setup required
  • setDeviceToken() — now returns Promise<boolean>, safe to call on Android (no-op instead of throwing)

🏷️ Types

  • New: InitializeOptions, LifecycleTrackingOptions, DeviceTokenHandlingMode

Read more >


Expo 1.3.0 Release

🔆 Improved

  • Android: Auto-configure push notification receivers via Expo plugin — The Expo config plugin now automatically registers ExpoRetenoClickReceiver and ExpoRetenoPushReceiver in AndroidManifest.xml during prebuild, along with the required metadata entries. No manual manifest configuration needed.

Read more >


Expo 1.2.0 Release

🔆 Improved

  • Add a version badge and integrate SafeAreaProvider in the app
  • Enhance In-App message handling and add push notification controls
  • Update the initializeSdk function to use RetenoAndroidProps and rename the debug property for clarity
  • Update package.json scripts for Android and iOS builds, add UserContext for user state management, and enhance error handling in EcommerceView
  • Update user attributes handling and improve error management; bump SDK version to 2.6.2

Read more >


Expo 1.1.2 Release

🔆 Improved

  • Updated expo-reteno-sdk README with improved description, installation instructions, documentation links, and setup guides

Read more >


Expo 1.1.1 Release

🔆 Improved

  • Add initial README.md with project structure and documentation links

Read more >


Expo 1.1.0 Release

🔆 Improved

  • Added ecommerce logging
  • Android inbox
  • Android installation without Firebase
  • Android pn listeners
  • App groups
  • App inbox & action buttons
  • iOS Firebase
  • iOS flow
  • iOS module
  • iOS notification content extension
  • Monorepo structure
  • Monorepo structure
  • NotificationServiceExtension
  • Release-it
  • Skip/postpone
  • Sync user information functions with iOS
  • Test app ui
  • Test build
  • UpdateMultiAccountUserAttributes()
  • User behaviour
  • User information
  • User information & anonymous user

Fixed

  • Android
  • App crashes and external user ID
  • Rewrite bundle versions and entitlements
  • SDK types
  • User attributes & log recommendations
  • User attributes functionality
  • User information

Read more >