Releases: CleverTap/clevertap-react-native
3.1.1
3.1.0
What's new
-
[Android Platform]
- Supports CleverTap Android SDK v7.0.2.
- Adds support for custom handshake domain configuration in android manifest
-
[iOS Platform]
- Supports CleverTap iOS SDK v7.0.2.
- Adds support for custom handshake domains.
-
[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
3.0.0
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 ofCleverTapRnAPI.setInitialUri()
. Refer to step 4
-
[iOS Platform]
- Supports CleverTap iOS SDK v7.0.1.
-
[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 theCleverTapApplication
or callsCleverTapRnAPI.initReactNativeIntegration(this);
to enable the functionality ofClevertapPushNotificationClicked
and few other callbacks linked to killed state. Refer to step 3
- Ensure that your custom
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
What's new
-
[Android Platform]
- Supports CleverTap Android SDK v6.2.1.
-
[iOS Platform]
- Supports CleverTap iOS SDK v6.2.1.
Bug Fixes
-
[Android Platform]
- Fixes a crash due to
IllegalArgumentException
caused by allowedPushTypeXPS
enum.
- Fixes a crash due to
-
[iOS Platform]
- Fixes a build error related to privacy manifests when statically linking the SDK using Cocoapods.
2.2.0
⚠️ NOTE
2.2.0 produces a crash, please update to 2.2.1 and above.
What's new
-
[Android Platform]
- Supports CleverTap Android SDK v6.2.0.
-
[iOS Platform]
- Supports CleverTap iOS SDK v6.2.0.
- Updates privacy manifests.
API Changes
- Removes all Xiaomi related public methods as the Xiaomi SDK has been discontinued. Details here.
- Changes the function definition of
setPushToken
tosetPushToken: function (token, type)
i.e it no more acceptsregion
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 todeviceInfo.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 withReactNative
version 0.70 or lower.
- Extends the push primer callback to notify permission denial when cancel button is clicked on
-
[iOS Platform]
- Fixes a bug where client side in-apps were not discarded when rendering status is set to "discard".
2.1.0
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]
- Supports CleverTap iOS SDK v6.1.0.
- Adds privacy manifests for CleverTap-iOS-SDK & CleverTapLocation.
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
What's new
-
[Android Platform]
- Supports CleverTap Android SDK v6.0.0.
-
[iOS Platform]
- Supports CleverTap iOS SDK v6.0.0.
-
[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
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.
- Adds in-built support to send the default locale(i.e.language and country) data to the dashboard and exposed public API
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.
- Updated logic to retrieve country code using NSLocale above iOS 16 as
Bug Fixes
- [iOS Platform]
- Fixes a crash in iOS 17/Xcode 15 related to alert inapps.
1.2.0
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]
- Supports CleverTap iOS SDK v5.2.0.
-
[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.
- Adds
Breaking API Changes
- [Android Platform]
- CTFlushPushImpressionsWork breaks custom WorkerFactory implementation of an App:
- If you are using custom
WorkFactory
implementation ofWorkManager
for Android platform then make sure that you correctly handle workers defined by CleverTap SDK and other third party dependencies. - You must return
null
fromcreateWorker()
for any unknown workerClassName. Please check implementation provided in the blog here.
- If you are using custom
- CTFlushPushImpressionsWork breaks custom WorkerFactory implementation of an App:
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
- Supports CleverTap iOS SDK v5.1.2.
- [iOS platform]Fixed a bug where the App Inbox would appear empty.