# Changelog

Release notes for the Superwall React Native SDK

> **Warning**

**Deprecated SDK**We strongly recommend migrating to the new [Superwall Expo SDK](/docs/expo), see our [migration guide](/docs/expo/guides/migrating-react-native) for details.



2.1.7 [#217]

Fixes [#fixes]

* Fixes issue with `enableExperimentalDeviceVariables`.

2.1.6 [#216]

Enhancements [#enhancements]

* Upgrades iOS SDK to 4.5.0 [View iOS SDK release notes](https://github.com/superwall/Superwall-iOS/releases/tag/4.5.0).

Fixes [#fixes-1]

* Fixes issue with `enableExperimentalDeviceVariables`.

2.1.5 [#215]

Enhancements [#enhancements-1]

* Exposes the `enableExperimentalDeviceVariables` `SuperwallOption`.

2.1.4 [#214]

Enhancements [#enhancements-2]

* Upgrades iOS SDK to 4.4.1 [View iOS SDK release notes](https://github.com/superwall/Superwall-iOS/releases/tag/4.4.1).
* Upgrades Android SDK to 2.1.2 [View Android SDK release notes](https://github.com/superwall/Superwall-Android/releases/tag/2.1.2).

2.1.3 [#213]

Fixes [#fixes-2]

* Fixes issue when building for iOS.

2.1.2 [#212]

Fixes [#fixes-3]

* Upgrades iOS SDK to 4.4.0 [View iOS SDK release notes](https://github.com/superwall/Superwall-iOS/releases/tag/4.4.0).

2.1.1 [#211]

Enhancements [#enhancements-3]

* Upgrades Android SDK to 2.1.0 [View Android SDK release notes](https://github.com/superwall/Superwall-Android/releases/tag/2.1.0).

2.1.0 [#210]

Fixes [#fixes-4]

* Upgrades iOS SDK to 4.3.9 [View iOS SDK release notes](https://github.com/superwall/Superwall-iOS/releases/tag/4.3.9).

Enhancements [#enhancements-4]

* Adds support for `storeKitVersion` in `SuperwallOptions`.
* Fixes an issue preventing `SuperwallDelegate.didRedeemLink` from getting
  called when a Web Checkout link was redeemed.
* Adds `didRedeem` and `willRedeem` to support web checkout

2.1.0 (Beta 3) [#210-beta-3]

Fixes [#fixes-5]

* Adds support for `storeKitVersion` in `SuperwallOptions`.

2.1.0 (Beta 2) [#210-beta-2]

Fixes [#fixes-6]

* Fixes an issue preventing `SuperwallDelegate.didRedeemLink` from getting called when a Web Checkout link was redeemed.

2.1.0 (Beta 1) [#210-beta-1]

Enhancements [#enhancements-5]

* Adds `didRedeem` and `willRedeem` to support web checkout
* Upgrades iOS SDK to 4.3.7 [View iOS SDK release notes](https://github.com/superwall/Superwall-iOS/releases/tag/4.3.7).

2.0.14 [#2014]

Enhancements [#enhancements-6]

* Upgrades iOS SDK to 4.3.5 [View iOS SDK release notes](https://github.com/superwall/Superwall-iOS/releases/tag/4.3.5).

2.0.13 [#2013]

Enhancements [#enhancements-7]

* Adds `getAssignments`.
* Upgrades iOS SDK to 4.3.0 [View iOS SDK release notes](https://github.com/superwall/Superwall-iOS/releases/tag/4.3.0).

2.0.12 [#2012]

Enhancements [#enhancements-8]

* Adds `setLogLevel`.
* Upgrades Android SDK to 2.0.6 [View Android SDK release notes](https://github.com/superwall/Superwall-Android/releases/tag/2.0.6).

Fixes [#fixes-7]

* Bug fixes for running the example app on Xcode 16.4.

2.0.11 [#2011]

Enhancements [#enhancements-9]

* Upgrades iOS SDK to 4.2.0 [View iOS SDK release notes](https://github.com/superwall/Superwall-iOS/releases/tag/4.2.0).

Fixes [#fixes-8]

* Fixes an issue preventing `RestorationResult.failed` from deserializing, which caused failed Restore Purchases attempts to get stuck with the loading indicator shown.

2.0.10 [#2010]

Enhancements [#enhancements-10]

* Upgrades iOS SDK to 4.0.6 [View iOS SDK release notes](https://github.com/superwall/Superwall-iOS/releases/tag/4.0.6).

Fixes [#fixes-9]

* Fixes `productId` not being available in the `PurchaseResult` on iOS.
* Fixes issues for Kotlin 2.0 users on Android

2.0.9 [#209]

Fixes [#fixes-10]

* Fixes issue with `getSubscriptionStatus` on iOS.

2.0.8 [#208]

Enhancements [#enhancements-11]

* Upgrades Android SDK to 2.0.5 [View Android SDK release notes](https://github.com/superwall/Superwall-Android/releases/tag/2.0.5).
* Upgrades iOS SDK to 4.0.5 [View iOS SDK release notes](https://github.com/superwall/Superwall-iOS/releases/tag/4.0.5).
* Adds back `getSubscriptonStatus`

2.0.7 [#207]

Fixes [#fixes-11]

* Fixes issue when hanling deep links

2.0.6 [#206]

Enhancements [#enhancements-12]

* Upgrades Android SDK to 2.0.3 [View Android SDK release notes](https://github.com/superwall/Superwall-Android/releases/tag/2.0.3).
* Upgrades Android SDK to 4.0.3 [View iOS SDK release notes](https://github.com/superwall/Superwall-iOS/releases/tag/4.0.3).
* Updates `SuperwallPlacement` naming to `SuperwallEvent`

2.0.5 [#205]

Enhancements [#enhancements-13]

* Upgrades Android SDK to 2.0.2 [View Android SDK release notes](https://github.com/superwall/Superwall-Android/releases/tag/2.0.2).

2.0.4 [#204]

Enhancements [#enhancements-14]

* Upgrades iOS SDK to 4.0.1 [View iOS SDK release notes](https://github.com/superwall/Superwall-iOS/releases/tag/4.0.1).

2.0.3 [#203]

Enhancements [#enhancements-15]

* Updates `SubscriptionStatus.Active` to accept either a list of strings or a list of `Entitlement` objects.
* Updates how feature block is passed in and used in `register` call
* Removes the need for params to be a `Map`, the parameter now supports a `Record`
* Upgrades Android SDK to `2.0.1` [View Android SDK release notes](https://github.com/superwall-me/Superwall-Android/releases/tag/2.0.1)

Fixes [#fixes-12]

* Example project fixes.

2.0.2 [#202]

Fixes [#fixes-13]

* Readds `handleDeepLink(url:)` to `Superwall`.

2.0.1 [#201]

Fixes [#fixes-14]

* Fixes the issue `TypeError: SuperwallReactNative.observeSubscriptionStatus is not a function`.

2.0.0 [#200]

Breaking Changes [#breaking-changes]

* Updated API for `Superwall.shared.configure` to now receive an object
* Updated API for `Superwall.shared.register` to now receive an object
* Updated API for `Superwall.shared.setSubscriptionStatus` to now receive a `SubscriptionStatus` type with an `Entitlements` array in case of `SubscriptionStatus.Active`
* Added a `subscriptionStatusEmitter` you can subscribe to using the `change`listener
* Upgrades iOS SDK to 4.0.0 [View iOS SDK release notes](https://github.com/superwall-me/Superwall-iOS/releases/tag/4.0.0).
* Upgrades Android SDK to 2.0.0 [View Android SDK release notes](https://github.com/superwall-me/Superwall-Android/releases/tag/2.0.0)
* View more changes in our [migration guide](https://superwall.com/docs/migrating-to-v2-react-native)

1.4.7 [#147]

Enhancements [#enhancements-16]

* Upgrades iOS SDK to 3.12.4 [View iOS SDK release notes](https://github.com/superwall-me/Superwall-iOS/releases/tag/3.12.4).

1.4.6 [#146]

Enhancements [#enhancements-17]

* Upgrades iOS SDK to 3.12.3 [View iOS SDK release notes](https://github.com/superwall-me/Superwall-iOS/releases/tag/3.12.3).

1.4.5 [#145]

Fixes [#fixes-15]

* Removes unnecessary date comparison from PurchaseController example code.
* Adds a StoreKit configuration file to the iOS expo example app.

1.4.4 [#144]

Enhancements [#enhancements-18]

* Upgrades iOS SDK to 3.12.1 [View iOS SDK release notes](https://github.com/superwall-me/Superwall-iOS/releases/tag/3.12.1)

1.4.3 [#143]

Enhancements [#enhancements-19]

* Upgrades Android SDK to 1.5.1 [View Android SDK release notes](https://github.com/superwall-me/Superwall-Android/releases/tag/1.5.1)
* Upgrades iOS SDK to 3.12.0 [View iOS SDK release notes](https://github.com/superwall-me/Superwall-iOS/releases/tag/3.12.0)

Fixes [#fixes-16]

* Fixes issue where accessing configuration state before configuring would cause a crash.

1.4.2 [#142]

Fixes [#fixes-17]

* Fixes an issue where params that were passed with `getPresentationResult(event:params:)` were being dropped.

1.4.1 [#141]

Enhancements [#enhancements-20]

* Exposes `getPresentationResult(event:params:)`. This returns a `PresentationResult`, which preemptively gets the result of registering an event. This helps you determine whether a particular event will present a paywall in the future.

1.4.0 [#140]

Enhancements [#enhancements-21]

* Adds `setInterfaceStyle(style:)` to Superwall, which you can use to set the interface style as `LIGHT` or `DARK`.

1.3.5 [#135]

Fixes [#fixes-18]

* Fixes issue where the `PurchaseController` functions wouldn't get called on hot restart of the app.
* Fixes issue with configuration status serialization on Android.
* Fixes issue with preloading paywalls on Android.

1.3.4 [#134]

Enhancements [#enhancements-22]

* Upgrades Android SDK to 1.3.1 [View Android SDK release notes](https://github.com/superwall-me/Superwall-Android/releases/tag/1.3.1)
* Upgrades iOS SDK to 3.11.1 [View iOS SDK release notes](https://github.com/superwall-me/Superwall-iOS/releases/tag/3.11.1)
* Adds `preloadAllPaywalls` and `preloadPaywalls(eventNames: Set<String>)` method to `Superwall` which preloads all paywalls or paywalls for the event names passed in the argument.

Fixes [#fixes-19]

* Fixes issue with the `Experiment` inside `PaywallInfo` being `null` in the `handleSuperwallEvent` delegate for iOS.

1.3.3 [#133]

Enhancements [#enhancements-23]

* Upgrades Android SDK to 1.3.0 [View Android SDK release notes](https://github.com/superwall-me/Superwall-Android/releases/tag/1.3.0)
* Upgrades iOS SDK to 3.10.1 [View iOS SDK release notes](https://github.com/superwall-me/Superwall-iOS/releases/tag/3.10.1)
* Adds `passIdentifiersToPlayStore` to `SuperwallOptions` which allows you to pass user identifiers to the Play Store purchases as account identifiers. This is useful for tracking user purchases in the Play Store console.
* Adds `confirmAllAssignments` method to `Superwall` which confirms assignments for all placements and returns an array of all confirmed experiment assignments. Note that the assignments may be different when a placement is registered due to changes in user, placement, or device parameters used in audience filters.

Fixes [#fixes-20]

* Fixes issue with the `Experiment` inside `PaywallInfo` being `null` in the `handleSuperwallEvent` delegate for iOS.

1.3.2 [#132]

Enhancements [#enhancements-24]

* Upgrades iOS SDK to 3.10.0 [View iOS SDK release notes](https://github.com/superwall-me/Superwall-iOS/releases/tag/3.10.0)
* Upgrades Android SDK to 1.2.9 [View Android SDK release notes](https://github.com/superwall-me/Superwall-Android/releases/tag/1.2.9)

1.3.1 [#131]

Enhancements [#enhancements-25]

* Upgrades Android SDK to 1.2.8 [View Android SDK release notes](https://github.com/superwall-me/Superwall-Android/releases/tag/1.2.8)

1.3.0 [#130]

Enhancements [#enhancements-26]

* Upgrades iOS SDK to 3.9.1. [View iOS SDK release notes](https://github.com/superwall-me/Superwall-iOS/releases/tag/3.9.1)
* Upgrades Android SDK to 1.2.7 [View Android SDK release notes](https://github.com/superwall-me/Superwall-Android/releases/tag/1.2.7)
* Exposes the `SuperwallOption` `collectAdServicesAttribution` for iOS. When `true`, this collects the AdServices attribute token, which will be process by our backend. This adds `adServicesTokenRequest_start`, `adServicesTokenRequest_complete`, and `adServicesTokenRequest_fail` events.
* Exposes `getConfigurationStatus()`. This returns either `PENDING`, `CONFIGURED`, or `FAILED`.

1.2.7 [#127]

Fixes [#fixes-21]

// TODO: Update iOS to latest version before releasing.

* Fixes issue where the `paywallWillOpenURL` wasn't being called.

1.2.6 [#126]

Enhancements [#enhancements-27]

* Adds an expo example project.
* Upgrades iOS SDK to 3.7.3. [View iOS SDK release notes](https://github.com/superwall-me/Superwall-iOS/releases/tag/3.7.3)
* Upgrades Android SDK to 1.2.4. [View Android SDK release notes](https://github.com/superwall-me/Superwall-Android/releases/tag/1.2.4)

1.2.5 [#125]

Fixes [#fixes-22]

* Fixes `Switch must be exhaustive` error caused by the upgrade of the iOS SDK.

1.2.4 [#124]

Enhancements [#enhancements-28]

* Upgrades iOS SDK to 3.7.0. [View iOS SDK release notes](https://github.com/superwall-me/Superwall-iOS/releases/tag/3.7.0)

Fixes [#fixes-23]

* Fixes an error `Invalid LocalNotificationType value`.

1.2.3 [#123]

Enhancements [#enhancements-29]

* Adds `Superwall.shared.dismiss()` to be able to dismiss a paywall programmatically.
* Upgrades Android SDK to 1.2.1. [View Android SDK release notes](https://github.com/superwall-me/Superwall-Android/releases/tag/1.2.1)

1.2.2 [#122]

Enhancements [#enhancements-30]

* Upgrades iOS SDK to 3.6.6. [View iOS SDK release notes](https://github.com/superwall-me/Superwall-iOS/releases/tag/3.6.6)
* Upgrades Android SDK to 1.1.7. [View Android SDK release notes](https://github.com/superwall-me/Superwall-Android/releases/tag/1.1.7)

Fixes [#fixes-24]

* Makes sure the iOS SDK is pinned to a specific version, rather than a minimum version.

1.2.1 [#121]

Enhancements [#enhancements-31]

* Upgrades Android SDK to 1.1.6. [View Android SDK release notes](https://github.com/superwall-me/Superwall-Android/releases/tag/1.1.6)

1.2.0 [#120]

Enhancements [#enhancements-32]

* Adds `handleDeepLink(url:)`.
* Adds `setUserAttributes(userAttributes:)` and `getUserAttributes()`.
* Upgrades iOS SDK to 3.6.5. [View iOS SDK release notes](https://github.com/superwall-me/Superwall-iOS/releases/tag/3.6.5)

Fixes [#fixes-25]

* Transaction error alerts now display the intended error message rather than a generic `PurchaseResultError`.

1.1.3 [#113]

Enhancements [#enhancements-33]

* Upgrades Android SDK to 1.1.5. [View Android SDK release notes](https://github.com/superwall-me/Superwall-Android/releases/tag/1.1.5)

1.1.2 [#112]

Enhancements [#enhancements-34]

* Upgrades Android SDK to 1.1.4. [View Android SDK release notes](https://github.com/superwall-me/Superwall-Android/releases/tag/1.1.4)
* Upgrades iOS SDK to 3.6.2. [View iOS SDK release notes](https://github.com/superwall-me/Superwall-iOS/releases/tag/3.6.2)

Fixes [#fixes-26]

* Fixes issue where the React Native `SuperwallEvent` hadn't been updated to include `identityAlias`.

1.1.1 [#111]

Enhancements [#enhancements-35]

* Upgrades Android SDK to 1.1.2. [View Android SDK release notes](https://github.com/superwall-me/Superwall-Android/releases/tag/1.1.2)
* Upgrades iOS SDK to 3.6.1. [View iOS SDK release notes](https://github.com/superwall-me/Superwall-iOS/releases/tag/3.6.1)

1.1.0 [#110]

Enhancements [#enhancements-36]

* Upgrades Android SDK to 1.1.1. [View Android SDK release notes](https://github.com/superwall-me/Superwall-Android/releases/tag/1.1.1)
* Upgrades iOS SDK to 3.6.0. [View iOS SDK release notes](https://github.com/superwall-me/Superwall-iOS/releases/tag/3.6.0)

Fixes [#fixes-27]

* Fixes issue with restoration on iOS.
* Fixes issue with presenting surveys.

1.0.5 [#105]

Fixes [#fixes-28]

* Fixes issue where params sent via register were being dropped.

1.0.4 [#104]

Enhancements [#enhancements-37]

* Upgrades Android SDK to 1.0.2. [View Android SDK release notes](https://github.com/superwall/Superwall-Android/releases/tag/1.0.2)

1.0.3 [#103]

Fixes [#fixes-29]

* Providing your own `PurchaseController` now works as expected.
* Publicly exposes `EventType`, `PurchaseResultCancelled`, `PurchaseResultFailed`, `PurchaseResultPending`, `PurchaseResultPurchased`, `PurchaseResultRestored`, `TransactionBackgroundView`.

1.0.2 [#102]

Enhancements [#enhancements-38]

* Upgrades Android SDK to 1.0.0. [View Android SDK release notes](https://github.com/superwall/Superwall-Android/releases/tag/1.0.0)
* Upgrades iOS SDK to 3.5.0. [View iOS SDK release notes](https://github.com/superwall/Superwall-iOS/releases/tag/3.5.0)