Skip to content

Releases: Purchasely/Purchasely-ReactNative

5.7.3

04 May 13:33
710767b

Choose a tag to compare

React Native SDK 5.7.3

Native SDK updates

  • iOS SDK: 5.7.2 → 5.7.4
  • Android SDK: 5.7.3 → 5.7.4

Bug fixes (iOS)

  • Paywall completion on user-initiated dismissal — completion is now consistently delivered when the user dismisses a paywall by swiping the modal sheet, tapping the drawer/popin overlay, or dragging the sheet down. Previously the host app could remain stuck in a loading state.
  • closeAll action on standalone drawer/popin — now correctly dismisses paywalls displayed as a standalone drawer or popin (outside of a flow).
  • Pending purchases preserved in observer modes — in observer mode, the SDK no longer finishes pending StoreKit transactions, leaving them under the host app's control.
  • Flow UI no longer collapses after back navigation — fixed a layout collapse when toggling a conditional switch after navigating back in a multi-step flow.
  • Conditional components stability — fixed cases where conditional components could disappear during simultaneous tap and device rotation, or render inconsistently when bound to multiple audience selections.
  • Introductory offer eligibility — users with an active subscription in a given group are no longer considered eligible for an introductory offer in that same group.
  • Promo-code redemption tracking — restored correct attribution of paywall presentations following a promo-code redemption.
  • Selected media on paywalls*_selected_url images, Lottie animations, and videos now display correctly even when no dedicated styles.selected block is defined.
  • Page control state — non-default styles are now reapplied after trait changes (e.g. light/dark mode).
  • Stability — fixed a UIKit rendering crash.

Bug fixes (Android)

  • Anonymous → identified user transfer in PaywallObserver mode — purchases made before login are now correctly carried over to the user account on userLogin(). Previously, receipts reported through synchronize() did not flag the user as having purchased, so the transfer step was skipped.
  • Screen re-render crash — fixed IllegalStateException: The specified child already has a parent that could be thrown when a screen was rebuilt in rapid succession (orientation changes, repeated rendering).
  • Modal/Drawer flow crash — fixed an IllegalStateException raised when the modal or drawer from a Flow state changed after the host fragment had been detached (e.g. fast back-press or activity teardown).

Improvements

  • Improved internal concurrency handling in the eligibility flow (iOS).

5.7.2

17 Mar 10:33
715b8a4

Choose a tag to compare

Android SDK 5.7.3

🐛 Bug Fixes

  • Flow system — process death survival: The flow system now correctly saves and restores its full navigation state when Android kills and restores the process. No more blank screens or lost navigation history after the OS reclaims memory in the background.
  • Flow system — purchase callback reliability: Fixed an issue where the display() callback could return CANCELLED instead of PURCHASED after a successful in-app purchase inside a multi-step flow.
  • Paywalls — plan picker race condition: Fixed an intermittent bug where plan picker labels could display the wrong plan's price (e.g. annual price on the monthly label) when Google Play products hadn't loaded yet.
  • WebView — crash on non-exported activities: Tapping a link inside a paywall WebView no longer crashes when a third-party app (e.g. OPay) registers a non-exported Activity for that URL scheme. The SDK now gracefully falls back to loading the URL in the WebView.

iOS SDK 5.7.2

🐛 Bug Fixes

  • Flows tabs presentation pre-fetch: Fixed an issue where tab-based flow presentations were not correctly pre-fetched, improving navigation reliability within multi-tab flows.
  • Solid-color border rendering: Fixed an issue where solid-color borders previously didn't render properly.

5.7.1

03 Mar 10:31
a64bb80

Choose a tag to compare

What's changed

iOS

  • Non-dismissable Drawers & Popins: Drawers and popins can now be configured as non-dismissable via the Purchasely console
  • StoreKit configuration now optional: storeKit is no longer required in Purchasely.start() — defaults to StoreKit 2 when omitted

Android

  • Non-dismissable Drawers & Popins: Drawers and popins can now be configured as non-dismissable via the Purchasely console
  • Drawer-to-drawer fade animation: Navigating between two drawer steps in a flow now uses a smooth fade transition
  • WebView Accept-Language header: WebViews opened via paywall actions now respect the SDK's configured language

Bug Fixes

iOS

  • Fixed a thread-safety crash that could occur when loading product data
  • Fixed paywall display modes showing a blank navigation bar in some configurations.
  • Fixed drawer and popover layout breaking after device rotation.
  • Fixed conditional paywall components disappearing after device rotation on iPad.
  • Fixed paywall transitions when navigating between placements and presentations.

Android

  • General stability improvements: Crash fixes in the presentation display flow covering race conditions, timeouts, and Activity lifecycle edge cases
  • OkHttp downgraded to 4.12.0: Fixes NoClassDefFoundError crash on network requests in React Native apps caused by OkHttp 5.x incompatibility

5.7.0

16 Feb 16:25
f18d710

Choose a tag to compare

Changelog available here

5.6.2

27 Jan 14:44
1ec09fe

Choose a tag to compare

🚧 Upcoming Android minSDK requirement

We will soon raise the minimum supported Android SDK version of Purchasely to minSdk 23 (Android 6.0), following updates in AndroidX libraries and Google Play Billing, which now also require minSdk 23.
Please ensure your application is already configured with minSdk 23, as this change will be mandatory to integrate future versions of the Purchasely SDK.
The current release still supports minSdk 21.

Fixes for iOS

  • Fixed an issue related to introductory and promotional offers eligibility.
  • Fixed an issue preventing Flows screens from displaying properly.

5.6.1

08 Jan 10:28
052ead5

Choose a tag to compare

🚧 Upcoming Android minSDK requirement

We will soon raise the minimum supported Android SDK version of Purchasely to minSdk 23 (Android 6.0), following updates in AndroidX libraries and Google Play Billing, which now also require minSdk 23.
Please ensure your application is already configured with minSdk 23, as this change will be mandatory to integrate future versions of the Purchasely SDK.
The current release still supports minSdk 21.

🎛️ Advanced Conditional Blocks

You now have full control over when and how UI components appear inside your Purchasely-powered screens.

With Advanced Conditional Blocks, you can dynamically display or hide components based on:

  • Introductory Offer eligibility (eligible / not eligible)
  • Audience membership (e.g., churned users, new users, high-value customers…)
  • Custom user attributes (country, language, subscription state, feature flags…)
  • User interactions with other components such as:
    • pickers
    • tabs
    • switches
    • buttons
    • and more

This allows you to build truly personalized, context-aware, and reactive screens directly from the Purchasely Console still no-code.

🛠 New Debug Screen for Developers

A brand-new Debug Screen is now available to help developers understand exactly what Purchasely is doing behind the scenes, making troubleshooting faster and integrations smoother.

You can activate it in two ways:

  • Scan the Preview Mode QR Code from the Purchasely Console
    or

  • Enable it directly in your app with:

    Purchasely.setDebugMode(true);

Once enabled, you’ll see a powerful information overlay on top of any Purchasely screen, including:

  • Screen ID
  • Placement ID
  • Audience
  • A/B test assignment
  • SDK version
  • Anonymous user ID
  • And more to come…

This initial release lays the groundwork — future versions will expand visibility, provide richer context, and make it easier to share diagnostics with Purchasely support.

Full changelog available here

5.5.1

13 Nov 15:59

Choose a tag to compare

What's Changed

  • Added missing paywall interceptor actions
  • Resolved a visibility issue affecting web-checkout-related parameters in PLYPaywallActionParameters on android
  • Performance improvements and refinements to ensure smoother integration and runtime stability.

5.5.0

07 Nov 14:00
0f13e89

Choose a tag to compare

📅 Event Tracking Enhancements

  • Improved reliability and consistency across all event tracking, especially for PRESENTATION_VIEWED.
  • Enhanced purchase event tracking with better context preservation.
  • Optimized event batching and retry logic to ensure all events are sent, even in cases of network loss or server unavailability.

🍎 iOS

This release introduces significant improvements in paywall rendering, data reliability, and thread safety.

ℹ️ Minimum iOS Version

The minimum supported iOS version is now 13.4 (and tvOS 13.4).
This change enhances performance, stability, and testing capabilities.
Our analysis shows that this update affects almost no existing integrations — we have already contacted the only affected client directly.

🧩 Improvements

  • Improved thread safety when updating UI components to prevent background-thread crashes.
  • Fixed missing presentation data in receipts and event payloads, improving data accuracy.

🤖 Android

This release delivers major improvements in paywall rendering, network reliability, and build consistency.

ℹ️ Kotlin 2.0 Minimum

To compile Purchasely SDK you must use Kotlin 2.0 or higher.
The SDK now uses Kotlin 2.1, and we plan to upgrade to 2.2 in Q1 2026 to stay aligned with Kotlin’s frequent releases and dependency updates.

🚀 New Features

  • Web Checkout with Stripe Support
    Introduced a complete web checkout flow powered by Stripe, including receipt validation and flow tracking.

🔗 Get started with Web Payments for U.S. customers

Reference: https://docs.purchasely.com/changelog/55#/

5.4.1

03 Oct 15:24
88258b7

Choose a tag to compare

⚠️ Important Notice regarding iOS SDK Version 5.4.0
We have identified an important issue in version 5.4.0 on iOS devices, affecting all Screens that use vertical pickers or buttons with texts per row = 2.
As a result, this version has been removed and must not be used.
If you are currently using 5.4.0, please update immediately to version 5.4.1, which resolves the issue.

What's new

✨ New Features

  • GDPR & Privacy Levels

    • The SDK now offers built-in support for handling privacy levels.
    • This enables developers to adapt their user experience to different GDPR requirements and to better manage user consent directly within Purchasely.
    • Documentation and integration details are available in our updated privacy guide.
  • Safe Areas Handling

    • You can now choose whether Purchasely screens should respect the system’s safe areas (e.g. notch, home indicator, or system bars).
    • This provides greater flexibility for developers who want tighter control over screen layout and presentation.

🛠 Fixes & Improvements

Various stability and performance improvements for NativeViews

Android

  • Fixed a crash that could occur with NativeViews
  • Fixed an issue where NativeViews did not automatically switch between Light and Dark modes.

5.3.2

21 Aug 13:08

Choose a tag to compare

What's Changed

iOS

  • Resolved an issue where the close action did not behave as expected in a Flow.