--- title: "Changelog" slug: "react-native-changelog" updated: 2026-09-14T12:34:02Z published: 2026-09-14T12:34:02Z canonical: "docs.mapp.com/react-native-changelog" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.mapp.com/llms.txt > Use this file to discover all available pages before exploring further. # Changelog ## 2.0.1 08 Sep 2026 Improves the reliability and consistency of SDK initialization handling on iOS. ### Bug Fixes - iOS: Fixed `Mapp.onInitCompletedListener()` to return a `Promise<boolean>` instead of `null`. - iOS: `Mapp.onInitCompletedListener()` now resolves immediately with `true` when the SDK is already initialized, or waits for SDK initialization to complete when it is still in progress. ### Improvements - Improved consistency of `Mapp.onInitCompletedListener()` across Android and iOS, providing reliable initialization-waiting behavior on both platforms. - Existing Android initialization behavior remains unchanged. ### Note The public `Mapp.onInitCompletedListener(): Promise<boolean>` API remains unchanged. No developer action is required. ## 2.0.0 02 Sep 2026 Major release. Adds Expo support through a config plugin and verifies the plugin with the React Native New Architecture. Contains breaking changes — review the [Breaking Changes in 2.0.0](/docs/en/breaking-changes-2-0-0-react-native-engage) article and follow the [Migrating from 1.4.2 to 2.0.0](/docs/en/migrating-1-4-2-to-2-0-0-react-native-engage) guide before upgrading. ### Breaking Changes - Minimum iOS deployment target raised from 10.0 to 15.1. - Android geofence permission handling, FCM service ownership, and inbox status update behavior changed. - `engage2()`, `startGeoFencing()`, and `stopGeoFencing()` deprecated in favor of their replacements. Full details, including who can upgrade without source changes, are in the [Breaking Changes in 2.0.0](/docs/en/breaking-changes-2-0-0-react-native-engage) article. ### New Features - Expo support through a config plugin — see the [Expo Integration Guide](/docs/en/expo-integration-guide-react-native-engage). - New `MappPushHelper` native API for routing push through a custom Firebase service — see the [MappPushHelper Reference](/docs/en/mapppushhelper-reference-react-native-engage). - `Mapp.engage()` is now awaitable — await it before calling APIs that depend on the native Mapp singleton. ### Bug Fixes - Android: Failed Firebase token registration now rejects with `FCM_REGISTRATION_FAILED` instead of crashing while reading a failed task result. - Android: All Mapp engage calls now run on the main looper. Background Firebase callbacks wait for a bounded engage attempt and safely return failure after SDK errors, timeout, or interruption. ### Dependency Updates - Verified baseline: Expo SDK 57, React Native 0.86, New Architecture, Android API 36, AGP 8.12, Kotlin 2.1.20, JDK 21. ## 1.4.3 09 Sep 2026 Improves the reliability of SDK initialization and engagement handling, particularly when application logic depends on the SDK being fully initialized. ### Bug Fixes - Android/iOS: `Mapp.engage(...)` is now awaitable, allowing SDK-dependent calls to execute only after native engagement has completed. Engagement failures now correctly reject the promise. - iOS: Fixed `Mapp.onInitCompletedListener()` to return a `Promise<boolean>` instead of `null`. - iOS: `Mapp.onInitCompletedListener()` now resolves immediately when the SDK is already initialized, or waits for initialization to complete when it is still in progress. - Android/iOS: Improved consistency of `Mapp.onInitCompletedListener()` initialization handling across both platforms while preserving the existing public API. - Android: Existing native initialization behavior remains unchanged. ### Note Existing `Mapp.onInitCompletedListener(): Promise<boolean>` integrations remain compatible. ## 1.4.2 **07 Aug 2026** Dependency-alignment release for Android. Aligns the plugin with the Mapp Engage Android SDK 7.1.2. No iOS or JavaScript API changes. ### Dependency Updates - Mapp Engage Android SDK 7.1.2 (from 7.1.1) ## 1.4.1 **09 Jul 2026** Alignment release. Adds New Architecture support on Android and updates the bundled native SDKs. ### Dependency Updates - Mapp Engage Android SDK 7.1.1 (from 7.0.2), which resolves an R8/ProGuard packaging issue - Mapp Engage In-App iOS SDK 6.0.11 ### Changes - Android: Plugin now supports the React Native New Architecture (TurboModule). ## 1.4.0 **11 May 2026** Bug fix release for Android. Aligns the plugin with the Mapp Engage Android SDK 7.0.2. React Native 0.84 and React 19.2.3 are now the minimum supported versions. No iOS or JavaScript API changes. ### Bug Fixes - Android: `requestPostNotificationPermission` only checked the current notification permission state instead of triggering the runtime permission request. - Android: When the runtime permission prompt was unavailable or notifications were blocked, the plugin did not open the app notification settings screen, and the returned promise did not always resolve. ### Dependency Updates - React Native 0.84 (minimum required, from 0.81.4) - React 19.2.3 (minimum required) - Mapp Engage Android SDK 7.0.2 (from 6.1.3) ## 1.3.6 **27 Mar 2026** Packaging and dependency-alignment release for iOS. No JavaScript API changes and no Android SDK changes. ### Changes - iOS: Updated bundled Mapp Engage SDK binaries to version 6.1.3 (AppoxeeSDK.xcframework) - iOS: Updated CocoaPods integration to use vendored `.xcframework` and bundled resources directly from this plugin - iOS: Removed direct CocoaPods dependencies on `MappSDK`, `MappSDKInapp`, and `MappSDKGeotargeting` from the podspec ## 1.3.5 **12 Jan 2026** Bug fix release for iOS. No Android or JavaScript API changes. ### Bug Fixes - iOS: App Store links from push messages could not be opened - iOS: Calling `setAlias` with `resendAttributes = true` did not resend cached custom attributes ### Dependency Updates - Mapp Engage iOS SDK 6.1.2 - Mapp Engage Inapp iOS SDK 6.0.9 ## 1.3.4 **18 Nov 2025** Bug fix release for Android and iOS with dependency updates. ### Bug Fixes - Android: `notificationMode` set to `BACKGROUND_ONLY` or `SILENT_ONLY` had no effect — push messages were displayed even when the application was in the foreground - Android: The device's cached state was not invalidated after logout, causing certain SDK methods to malfunction - Android: Device fingerprint information was not updated when changes occurred - iOS: Removed usage of deprecated iOS APIs - iOS: Links from push and in-app messages open and function as expected ### Dependency Updates - Mapp Android SDK 6.1.3 - Mapp iOS SDK 6.1.1 - com.google.code.gson:gson 2.13.2 - com.google.dagger:dagger 2.57.2 - com.google.firebase:firebase-bom 34.4.0 - com.github.bumptech.glide:compiler 5.0.5 - androidx.appcompat:appcompat 1.7.1 - androidx.webkit:webkit 1.14.0 - androidx.work:work-runtime 2.10.5 - androidx.concurrent:concurrent-futures 1.3.0 ## 1.3.2 **16 Oct 2025** Patch release restoring backward compatibility for `setAlias`. ### Bug Fixes - The `setAlias` function declaration introduced in 1.3.1 caused compatibility issues with existing integrations — restored to ensure backward compatibility ## 1.3.1 **14 Oct 2025** Adds support for setting multiple custom attributes in one call and the `resendAttributes` parameter for `setAlias`. Updates React Native to 0.81.4. ### Changes - React Native updated to 0.81.4 - Android: `minSdkVersion` updated to 24, `targetSdkVersion` updated to 36 - Multiple custom attributes can now be set in a single `setAttributes` call (nested objects are not supported) - `setAlias`: added `resendAttributes` parameter, aligned with Android SDK 6.1.0 behavior - iOS: Additional build flags required under `OTHER_CPLUSPLUSFLAGS`: `-DFOLLY_CFG_NO_COROUTINES=1` and `-DFOLLY_HAVE_CLOCK_GETTIME=1` ### Dependency Updates - Gradle 8.14.2 (minimum required) - Node.js >= 20.19.4 (minimum required) - Mapp Android SDK 6.1.0 (from 6.0.10) - Mapp Geolocation SDK 6.0.7 ## 1.3.0 **17 Jul 2025** **Breaking change.** Migrates to the new React Native architecture. React Native 0.76 or later is required. ### Changes - Migrated to the new React Native architecture (Fabric / TurboModules) - React Native minimum version raised to 0.76 ### Dependency Updates - react ^19.0.0 - react-native ^0.79.2 - jest ^28.1.3 - Android targetSdk 35 - Gradle 8.13 - Android Gradle Plugin 8.10.1 - com.google.firebase:firebase-bom 33.15.0 - org.jetbrains.kotlin:kotlin 2.1.21 - com.google.code.gson:gson 2.13.0 - androidx.appcompat:appcompat 1.7.1 - androidx.lifecycle:lifecycle-viewmodel-ktx 2.9.1 ## 1.2.1 **05 Mar 2025** Bug fix release for iOS. ### Bug Fixes - iOS: Background statistics tracking did not work correctly ### Dependency Updates - Mapp iOS SDK 6.0.10 (from 6.0.8) ## 1.2.0 **02 Dec 2024** Adds channel update support for existing app installations and fixes several in-app messaging issues. ### Changes - Channel attributes can now be updated in an existing app installation ### Bug Fixes - In-app message read, unread, and deleted status could not be set correctly - Null specifiers caused unexpected behavior in certain SDK calls - Geofencing did not function correctly in some configurations ### Dependency Updates - Mapp Android SDK 6.0.25 (from 6.0.23) - Mapp iOS SDK 6.0.8 (from 6.0.7) - React Native 0.75.2 (from 0.69.4) ## 1.1.3 **22 May 2024** Dependency update release. ### Dependency Updates - Mapp Android SDK 6.0.23 - Mapp iOS SDK 6.0.6