Added Session Replay capability, now available as a separate package @cloudcare/react-native-session-replay for independent installation and use.
Added Session Replay error sampling capability, supporting dynamic control of Session Replay via remote configuration.
Session Replay now supports privacy configuration for touch, text/input, and images via touchPrivacy, textAndInputPrivacy, and imagePrivacy. Added the native component FTSessionReplayView to mark and protect sensitive areas within React Native interfaces during session replay recording.
Added support for the new React Native architecture, improving compatibility with the latest React Native application configurations.
Supports dynamically updating data upload URLs via FTMobileReactNative.setDatakitURL and FTMobileReactNative.setDatawayURL.
Added FTRUMConfig.sessionErrorSampleRate to support error sampling. When not sampled by sampleRate, it can sample RUM data from 1 minute prior when an error occurs.
Added FTMobileConfig.lineDataModifier and FTMobileConfig.dataModifier to support data write replacement and data desensitization.
Added RUM Resource data fields: resource_first_byte_time, resource_dns_time, resource_download_time, resource_connect_time, resource_ssl_time, resource_redirect_time. Supports enhanced display of Resource timing on TrueWatch and aligns with the timeline in the APM flame graph.
FTMobileConfig.enableDataIntegerCompatible is now enabled by default.
Optimized SDK configuration for hybrid development with native and React Native.
Supports automatic collection of React Native control click events via the FTRumActionTracking.startTracking() method, and automatic collection of React Native error logs via the FTRumErrorTracking.startTracking() method.
When RUM Resource auto-collection is enabled, added methods: FTReactNativeUtils.filterBlackResource(url) for iOS and ReactNativeUtils.isReactNativeDevUrl(url) for Android to filter React Native symbolization requests and Expo log requests in development environments, reducing redundant data.
Modified the way native SDK header files are referenced in iOS bridge code.
Added RUM entry count limiting functionality. Supports limiting the maximum cached entry count via FTRUMConfig.rumCacheLimitCount. Supports specifying whether to discard new or old data via FTRUMConfig.rumDiscardStrategy.
Added support for limiting total cache size via FTMobileConfig.enableLimitWithDbSize. Once enabled, FTLoggerConfig.logCacheLimitCount and FTRUMConfig.rumCacheLimitCount become ineffective. Supports setting database discard strategy via FTMobileConfig.dbDiscardStrategy and database cache size limit via FTMobileConfig.dbCacheLimit.
Supports collection of Native Error, ANR, and Freeze.
Modified the default error type for automatically collected react-native errors.
For components with the onPress property, added support for defining whether to collect click events for that component via the custom attribute ft-enable-track, and adding extra Action properties via ft-extra-property, when enableAutoTrackUserAction is enabled.