Skip to content

Releases: CleverTap/clevertap-react-native

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.

1.2.1

25 Oct 12:08
7c7af62
Compare
Choose a tag to compare

What's new

  • [Android Platform]

    • Supports CleverTap Android SDK v5.2.1.
    • Adds Custom Proxy Domain functionality for Push Impressions and Events raised from CleverTap Android SDK. Please refer to Usage.md file to read more on how to configure custom proxy domains in Android.
  • [iOS Platform]

    • Supports CleverTap iOS SDK v5.2.1.
    • Adds support to enable NSFileProtectionComplete to secure App’s document directory.
  • [Android and iOS Platform]

    • Adds in-built support to send the default locale(i.e.language and country) data to the dashboard and exposed public API CleverTapPlugin.setLocale(Locale locale) to set the custom locale, for LP Parity.
    • Adds support for Integration Debugger to view errors and events on the dashboard when the debugLevel is set to 3 using CleverTapPlugin.setDebugLevel(3).
    • Adds support to configure first tab title in App Inbox.

Changes

  • [iOS Platform]
    • Updated logic to retrieve country code using NSLocale above iOS 16 as CTCarrier is deprecated above iOS 16 with no replacements, see Apple Doc.
    • Updated logic to not send carrier name above iOS 16 in CTCarrier field.

Bug Fixes

  • [iOS Platform]
    • Fixes a crash in iOS 17/Xcode 15 related to alert inapps.

1.2.0

18 Aug 12:21
8348417
Compare
Choose a tag to compare

What's new

  • [Android Platform]

    • Supports CleverTap Android SDK v5.2.0.
    • Note: RenderMax Push SDK functionality is now supported directly within the CleverTap Core SDK. Please remove the integrated RenderMax SDK before you upgrade to CleverTap React Native SDK for this version.
    • Adds support for developer defined default notification channel. Please refer to the Usage.md file to read more on how to setup default channel in your app. Also please note that this is only supported for CleverTap core notifications. Support for push templates will be released soon.
  • [iOS Platform]

  • [Android and iOS Platform]

    • Adds support for encryption of PII data wiz. Email, Identity, Name and Phone. Please refer to Usage.md file to read more on how to enable/disable encryption of PII data.
    • Adds support for custom KV pairs common to all inbox messages in App Inbox.

API Changes

  • [Android Platform]
    • Adds SCCampaignOptOut Event to Restricted Events Name List for internal use.
    • Adds custom sdk versions to af field for internal use.

Breaking API Changes

  • [Android Platform]
    • CTFlushPushImpressionsWork breaks custom WorkerFactory implementation of an App:
      • If you are using custom WorkFactory implementation of WorkManager for Android platform then make sure that you correctly handle workers defined by CleverTap SDK and other third party dependencies.
      • You must return null from createWorker() for any unknown workerClassName. Please check implementation provided in the blog here.

Bug Fixes

  • [Android Platform]
    • Fixes #393 - push permission flow crash when context in CoreMetadata is null.
    • Fixes #428 - Race-condition when detecting if an in-app message should show.
    • Fixes Push primer alert dialog freeze behavior, which became unresponsive when clicked outside the window.
    • Fixes a bug where addMultiValueForKey and addMultiValuesForKey were overwriting the current values of the user properties instead of appending it.

1.1.2

31 Jul 07:58
9c7794b
Compare
Choose a tag to compare

1.1.1

02 Jun 11:35
b546a3e
Compare
Choose a tag to compare
  • Bug fixes and performance improvements.

1.1.0

29 May 11:31
101c5e4
Compare
Choose a tag to compare

New Features

  • Adds support for Remote Config Variables. Please refer to the Remote Config Variables doc to read more on how to integrate this to your app.
  • Adds new API dismissInbox() to dismiss the App Inbox screen.
  • Adds new APIs, markReadInboxMessagesForIDs(Array) and deleteInboxMessagesForIDs(Array) to mark read and delete an array of Inbox Messages respectively.

API Changes

Deprecated: The following methods and classes related to Product Config and Feature Flags have been marked as deprecated in this release, instead use new Remote Config Variables feature. These methods and classes will be removed in the future versions with prior notice.

  • Product config

    • setDefaultsMap
    • fetch
    • activate
    • fetchAndActivate
    • setMinimumFetchIntervalInSeconds
    • resetProductConfig
    • getProductConfigString
    • getProductConfigBoolean
    • getNumber
    • getLastFetchTimeStampInMillis
  • Feature flags

    • getFeatureFlag

Breaking Change

  • Streamlines the payload for various callbacks across Android and iOS platform. Refer doc for detailed changes.

Changes

  • [Android and iOS platforms]: Adds contentPageIndex and buttonIndex arguments to the payload sent via CleverTap.CleverTapInboxMessageTapped listener: The contentPageIndex indicates the page index of the content, which ranges from 0 to the total number of pages for carousel templates. For non-carousel templates, the value is always 0, as they only have one page of content. The buttonIndex represents the index of the App Inbox button clicked (0, 1, or 2). A value of -1 in buttonIndex indicates the App Inbox item is clicked.
  • [Android Platform] Behavioral change of CleverTap.CleverTapInboxMessageTapped listener: Previously, the callback was raised when the App Inbox item is clicked. Now, it is also raised when the App Inbox button is clicked. It matches the behavior in iOS platform.

Bug Fixes

  • Fixes a bug where App Inbox was not respecting the App Inbox background color when no tabs are provided.
  • Fixes the non-EU retry mechanism bug.

1.0.3

03 May 11:29
87c1945
Compare
Choose a tag to compare
  • Fixes a bug where notification clicked callbacks were not working for killed state in iOS.