Skip to content

Releases: CleverTap/clevertap-react-native

3.4.0

28 Mar 17:32
9458272
Compare
Choose a tag to compare

⚠️ NOTE
Please refer to this guide for changed integration steps for Huawei PushProvider for android.

What's new

API changes

  • [Android and iOS Platform]
    • Adds new API to register push tokens
      • pushRegistrationToken(your_token, pushType): Register the token for providers other than FCM. Refer here for example usage.
      • setFCMPushToken(your_token): Register the token for FCM only. Refer here for example usage.
    • Removes: The legacy token registration APIs have been removed to make push providers injectable. The above mentioned APIs should be used in it's place. The removed APIs include:
      • setPushToken(value, type)

3.3.0

17 Mar 11:25
2cf8568
Compare
Choose a tag to compare

Refer to the troubleshoot guide if you encounter any errors while upgrading to this version.

What's new

  • [Android Platform]
    • Supports CleverTap Android SDK v7.2.2.
    • Adds support for Android 15, making it compliant with Android 15 requirements. Details here.
    • Upgrades the algorithm used for encryption of PII data, making it compliant with OWASP. Uses AndroidKeyStore for securely backing up encryption key on API levels 23+.
    • Updates minSdkVersion to API 21 (Android 5.0).

3.2.0

05 Feb 17:51
8aa5721
Compare
Choose a tag to compare

What's new

  • Adds support for triggering InApps based on first-time event filtering in multiple triggers. Now you can create campaign triggers that combine recurring and first-time events. For example: Trigger a campaign when "Charged" occurs (every time) OR "App Launched" occurs (first time only).
  • Adds new user-level event log tracking system to store and manage user event history. New APIs include:
    • getUserEventLog(<eventName>): Get details about a specific event
    • getUserEventLogCount(<eventName>): Get count of times an event occurred
    • getUserLastVisitTs(): Get timestamp of user's last app visit
    • getUserAppLaunchCount(): Get total number of times user has launched the app
    • getUserEventLogHistory(): Get full event history for current user

API Changes

  • Deprecates: The old event tracking APIs tracked events at the device level rather than the user level, making it difficult to maintain accurate user-specific event histories, especially in multi-user scenarios. The following methods have been deprecated in favor of new user-specific event tracking APIs that provide more accurate, user-level analytics. These deprecated methods will be removed in future versions with prior notice:
    • eventGetDetail(): Use getUserEventLog() instead for user-specific event details
    • eventGetOccurrences(): Use getUserEventLogCount() instead for user-specific event counts
    • eventGetFirstTime(): Use getUserEventLog() instead for user-specific first occurrence timestamp
    • eventGetLastTime(): Use getUserEventLog() instead for user-specific last occurrence timestamp
    • sessionGetPreviousVisitTime(): Use getUserLastVisitTs() instead for user-specific last visit timestamp
    • sessionGetTotalVisits(): Use getUserAppLaunchCount() instead for user-specific app launch count
    • getEventHistory(): Use getUserEventLogHistory() instead for user-specific event history

3.1.1

06 Nov 10:35
2c2ab96
Compare
Choose a tag to compare

Bug Fixes

  • [iOS Platform]
    • Fixes a bug where the push notification callback was getting triggered twice in killed state.

3.1.0

25 Oct 12:32
d0ed9bf
Compare
Choose a tag to compare

What's new

  • [Android Platform]

  • [iOS Platform]

  • [Android and iOS Platform]

    • Adds support for File Type Variables in Remote Config. Please refer to the Remote Config Variables doc to read more on how to integrate this in your app.
    • Adds support for Custom Code Templates. Please refer to the CustomCodeTemplates.md doc to read more on how to integrate this in your app.
    • Adds support for custom code in-app templates definitions through a json scheme.

Bug Fixes

  • [Android and iOS Platform]
    • Fixes a missing import statement in the index.js file #431
    • Fixes #426

3.0.0

08 Oct 09:01
1a16bfa
Compare
Choose a tag to compare

What's new

  • [Android Platform]

    • Supports CleverTap Android SDK v7.0.1.
    • Removes character limit of maximum 3 lines from AppInbox messages.
    • Deprecates CleverTapModule.setInitialUri() in favour of CleverTapRnAPI.setInitialUri(). Refer to step 4
  • [iOS Platform]

  • [Android and iOS Platform]

    • Adds support for triggering InApps based on user attribute changes.
    • Migrates the bridge to a backwards-compatible New Architecture Turbo Module.
      • The CleverTap ReactNative SDK continues to be compatible with both the Old and the New Architecture.

Breaking Changes

  • [Android Platform]
    • Ensure that your custom Application class, extends the CleverTapApplication or calls CleverTapRnAPI.initReactNativeIntegration(this); to enable the functionality of ClevertapPushNotificationClicked and few other callbacks linked to killed state. Refer to step 3

Bug Fixes

  • [Android Platform]
    • Fixes an ANR caused by extremely old InApp campaigns.
    • Fixes an issue where incorrect callbacks were sent for InApps when the phone was rotated.
    • Fixes an issue where an InApp was displayed even after all the campaigns were stopped.
    • Fixes an issue where the InApp image was not shown when the phone was rotated to landscape.
    • Fixes an issue where certain URLs loaded incorrectly in custom HTML InApp templates.

2.2.1

12 Apr 12:05
1f0c213
Compare
Choose a tag to compare

What's new

Bug Fixes

  • [Android Platform]

    • Fixes a crash due to IllegalArgumentException caused by allowedPushType XPS enum.
  • [iOS Platform]

    • Fixes a build error related to privacy manifests when statically linking the SDK using Cocoapods.

2.2.0

05 Apr 10:27
1b2f0db
Compare
Choose a tag to compare

⚠️ NOTE
2.2.0 produces a crash, please update to 2.2.1 and above.

What's new

API Changes

  • Removes all Xiaomi related public methods as the Xiaomi SDK has been discontinued. Details here.
  • Changes the function definition of setPushToken to setPushToken: function (token, type) i.e it no more accepts region as a parameter.

Bug Fixes

  • [Android Platform]

    • Extends the push primer callback to notify permission denial when cancel button is clicked on PromptForSettings alert dialog.
    • Fixes a crash due to NullPointerException related to deviceInfo.deviceId.
    • Fixes an ANR related to isMainProcess check.
    • Fixes an ANR due to eager initialisation of CtApi triggered by DeviceId generation.
    • Fixes an android build issue related to package name not found for apps with ReactNative version 0.70 or lower.
  • [iOS Platform]

    • Fixes a bug where client side in-apps were not discarded when rendering status is set to "discard".

2.1.0

07 Mar 17:42
013d962
Compare
Choose a tag to compare

What's new

  • [Android Platform]

    • Supports CleverTap Android SDK v6.1.1.
    • Supports Android 14, made it compliant with Android 14 requirements. Details here
    • Upgrades AGP to 8.2.2 for building the SDK and adds related consumer proguard rules
    • Deprecates Xiaomi public methods as we are sunsetting SDK. Details here.
    • Adds Accessibility ids for UI components of SDK
    • Migrates JobScheduler to WorkManager for Pull Notifications.
  • [iOS Platform]

Bug Fixes

  • [Android Platform]

    • Fixes InApps crash in a rare activity destroyed race condition
    • Fixes Potential ANR in a race condition of SDK initialisation in multithreaded setup
  • [iOS Platform]

    • Fixed a crash due to out of bounds in NSLocale implementation.

2.0.0

15 Feb 15:49
e9459aa
Compare
Choose a tag to compare

What's new

  • [Android Platform]

  • [iOS Platform]

  • [Android and iOS Platform]

    • Adds support for client-side in-apps.
    • Adds new API clearInAppResources(boolean) to delete images and gifs which are preloaded for inapps in cs mode
    • Adds new API fetchInApps() to explicitly fetch InApps from the server

Bug Fixes

  • [Android Platform]

    • Fixes a bug where JavaScript was not working for custom-html InApp header/footer templates.
    • Fixes an NPE related to AppInbox APIs.
    • Fixes a ClassCastException in defineVariable API of Product Experiences.
    • Fixes a resource name conflict with the firebase library in fcm_fallback_notification_channel_label
    • Fixes a StrictMode Violation spawning from ctVariables.init().
    • Removes use of lossy conversions leading to an issue in PushTemplates.
    • Handles an edge case related to migration of encryption level when local db is out of memory
  • [iOS Platform]

    • Fixes a bug where some in-apps were not being dismissed.