Skip to content

Changelog


1.6.5 (2026/06/09)

  1. Added FTSessionReplayConfig.enableSwiftUI to explicitly enable SwiftUI recording capability for Session Replay, disabled by default.
  2. Added support for custom source value when uploading iOS Session Replay Segments, to adapt to Flutter Session Replay scenarios.
  3. Fixed Session Replay crashes caused by dynamic UIColor parsing, and optimized background snapshot processing and SwiftUI recording stability.
  4. Optimized Session Replay data caching after sampling state changes, fixed the issue where recording did not start after erroneous sampling took effect, improving recording continuity and stability.
  5. Optimized upload scheduling and retry handling for Session Replay, RUM, and Log.
  6. Optimized Session Replay rendering correctness and performance, including node flattening, snapshot processing queue priority, View Tree privacy override inheritance, and unsupported placeholder trimming.
  7. Fixed inconsistency between RUM View time and upload package, by retaining event time and deduplicating View data before package ID generation.

1.6.4 (2026/05/21)

  1. Added Session Replay support for SwiftUI views.
  2. Added RUM SwiftUI view tracking and manual click Action tracking support.
  3. Added app_launch_type field to cold start Actions to distinguish between foreground and background launches.
  4. Added FTMobileConfig.enableDataFilter and FTMobileConfig.dataFilters to enable SDK-side DataFilter and configure local blacklist rules. DataFilter rules are executed after lineDataModifier and before local cache write.
  5. Optimized upload worker shutdown isolation, upload callback synchronization, and RUM upload behavior to avoid duplicate uploads, expired retry loops, upload execution conflicts, and to skip duplicate View data during upload.
  6. Replaced RUM placeholder View handling with fallback View parsing, improving View tracking consistency when the original View is unavailable.
  7. Optimized handling of preset property Tags in scenarios of nil, empty values, and user information updates.

1.6.3 (2026/04/30)

  1. Added view_long_task_rate for calculating RUM View page freeze rate.
  2. Added network_available field to RUM Resource data to record a snapshot of network availability status at resource start.
  3. Added crash duration fields from application state statistics to RUM crash data: foreground_crash_free_duration and background_crash_free_duration.
  4. Added support for associating RUM Key when uploading Session Replay resources.
  5. Enabled data upload request compression by default.
  6. Fixed race condition issue with NSDate in the long task detector.
  7. Fixed WKWebView bridge locking and duplicate enablement handling issues, improving WebView RUM / Session Replay stability.
  8. Fixed potential failure of local CSS injection when Session Replay processes WebView node data.

1.6.2 (2026/04/17)

  1. Added Session Replay capability, supporting WebView Session Replay.
  2. Added Session Replay and RUM context association capability, allowing association between WebView container and loaded HTML content context.
  3. Added Session Replay error sampling capability, supporting dynamic control of Session Replay via remote configuration.
  4. Added Session Replay image resource upload capability.
  5. Session Replay supports privacy configuration for touch, text and input, and images via touchPrivacy, textAndInputPrivacy, imagePrivacy, and supports view-level privacy override for individual UIViews via sessionReplayPrivacyOverrides.

1.5.21 (2026/04/15)

  1. Added setDatakitURL: and setDatawayURL:clientToken: methods, supporting dynamic update of reporting endpoints at runtime.
  2. Minimum deployment target adjusted to iOS 12+, macOS 10.14+.
  3. Fixed issue where View association failed when calling addAction:.
  4. Optimized Log and RUM association logic, adding missing action_id field.
  5. Fixed RemoteConfig fetch interval logic, SDK uses local last request time at startup to validate request interval.
  6. Fixed issue where dynamic modification of sampling rate did not take effect.

1.5.20 (2026/02/26)

  1. Fixed concurrent read-write issue in FTPresetProperty, avoiding crashes caused by dictionary corruption and double free.
  2. Enabled WAL mode for SQLite within the SDK.
  3. Replaced deprecated SCNetworkReachability with NWPathMonitor.
  4. Removed usage of deprecated API UIScreen.mainScreen.
  5. Fixed FTMobileConfig.dataModifier processing logic to cover all data entries.

1.5.19 (2026/01/09)

  1. Extended resource_type, adding image, media, font, CSS, JS, native types.
  2. Added resource_id to network errors for associating with corresponding resource data.
  3. Support for custom parsing and configuration of remote variables via FTMobileConfig.remoteConfigFetchCompletionBlock or +updateRemoteConfigWithMiniUpdateInterval:completion: method callbacks custom parsing and configuration.
  4. Added resource_http_protocol, resource_request_size, resource_connection_reuse fields to Resource.
  5. Refined cold start and warm start time metrics, adding app_pre_runtime_init_time, app_runtime_init_time, app_uikit_init_time, app_application_init_time, and app_first_frame_init_time.
  6. Fixed data loss issue caused by missing RUM View.
  7. Enhanced crash and ANR stack capability, supporting full thread information collection, and supporting setting crash monitoring type via FTRumConfig.crashMonitoring.

1.5.18 (2025/08/08)

  1. Added support for RUM View/Action collection filtering, custom View/Action names via FTRumConfig.viewTrackingHandler and FTRumConfig.actionTrackingHandler.
  2. Added method -updateViewLoadingTime: to support updating loading time for the currently active RUM View.
  3. Fixed missing sdk_name field in log data.
  4. Fixed UserScripts conflict issue in WebView data collection.
  5. Fixed thread safety issue with SDK shutdown operation.
  6. Fixed crash caused by modifying main thread name during Long task monitoring.
  7. Added FTRumConfig.h/.m files to split FTRumConfig from FTMobileConfig.h into independent files.

1.5.17 (2025/06/11)

  1. Added FTRUMConfig.enableTraceWebView to configure whether to enable webview data collection via SDK, and FTRUMConfig.allowWebViewHost to control host addresses to filter.
  2. Added FTRumConfig.sessionTaskErrorFilter to filter local network errors.
  3. Added FTMobileConfig.remoteConfiguration to support enabling remote conditional configuration, FTMobileConfig.remoteConfigMiniUpdateInterval to set minimum update interval after enabling remote control.

1.5.16 (2025/05/16)

  1. Added FTMobileConfig.lineDataModifier, FTMobileConfig.dataModifier to support data write replacement and data desensitization.
  2. Added FTRUMConfig.sessionErrorSampleRate to support error sampling. When not sampled by sampleRate, it can sample RUM data from 1 minute ago when an error occurs.
  3. Logger supports setting custom log level filtering via logLevelFilter.
  4. When navigating from a native page to a WebView page, the native page name is used to fill view_referrer.

1.5.15 (2025/04/14)

  1. Fixed Swift Package Manager compilation error.

1.5.14 (2025/03/07)

  1. Added RUM Resource data fields resource_first_byte_time, resource_dns_time, resource_download_time, resource_connect_time, resource_ssl_time, resource_redirect_time, supporting enhanced Resource duration display on TrueWatch and alignment with timeline in APM flame graph.
  2. Enabled FTMobileConfig.enableDataIntegerCompatible by default.
  3. Added support for disabling SDK internal URLSession Method Swizzling via macro definition FT_DISABLE_SWIZZLING_RESOURCE.
  4. Optimized data synchronization, added failure retransmission logic.

1.5.13 (2025/02/27)

  1. Optimized page collection logic to prevent RUM View collection loss due to special views.

1.5.12 (2025/02/10)

  1. Adjusted file storage path configuration, fixed database creation failure issue in tvOS environment.
  2. Updated default service and log source for tvOS environment to df_rum_tvos and df_rum_tvos_log respectively.
  3. Fixed inaccurate duration calculation in RUM Action events.

1.5.11 (2025/02/05)

  1. Optimized RUM Resource collection to prevent SDK internal requests from being collected when RUM Resource auto-collection is enabled.
  2. Fixed skyWalking type trace failure issue in Widget Extension.

1.5.10 (2025/01/21)

  1. Support for intercepting Request for custom Trace via FTTraceConfig.traceInterceptor, and adding custom properties to RUM Resource via FTRumConfig.resourcePropertyProvider.
  2. Fixed exception issue with dynamic global property addition method under multi-threaded access.
  3. Optimized data information passed to WebView.

1.5.9 (2025/01/08)

  1. Added support for intercepting URLRequest via FTURLSessionDelegate.traceInterceptor block for custom trace, changing spanId and traceId within the trace.
  2. RUM Resource supports collecting network requests initiated via swift async/await URLSession API.
  3. Fixed View association error for LongTask and Anr.

1.5.8 (2024/12/23)

  1. Added tvOS support.
  2. Support for limiting maximum RUM cache entry count via FTRUMConfig.rumCacheLimitCount, and setting discard policy via FTRUMConfig.rumDiscardType.
  3. Support for limiting total cache size via FTMobileConfig.enableLimitWithDbSize. After enabling, FTLoggerConfig.logCacheLimitCount and FTRUMConfig.rumCacheLimitCount become invalid. Support for setting db discard policy via FTMobileConfig.dbDiscardType, and db cache limit size via FTMobileConfig.dbCacheLimit.

1.5.7 (2024/12/04)

  1. Support for setting freeze detection threshold via FTRUMConfig.freezeDurationMs.
  2. Optimized SDK's shutDown method to avoid lag or WatchDog crash caused by main thread synchronous waiting.

1.5.6 (2024/11/13)

  1. Support for configuring deflate compression for synchronous data via FTMobileConfig.compressIntakeRequests.
  2. RUM added addAction:actionType:property and startAction:actionType:property: methods, optimizing RUM Action collection logic.
  3. Fixed crash issue caused by using deprecated NSFileHandle api.

1.5.5 (2024/11/06)

  1. Fixed crash issue caused by array out-of-bounds in FTResourceMetricsModel.

1.5.4 (2024/10/18)

  1. Added dynamic setting methods for global, log, RUM globalContext properties.
  2. Added data clearing method to delete all data not yet uploaded to the server.
  3. Adjusted maximum time interval supported for sync intervals to 5000 milliseconds.

1.5.3 (2024/10/09)

  1. Fixed memory access violation crash in LongTask, Anr collection due to incorrect property modifier usage.
  2. Replaced method signature validation assertion in FTSwizzler with internal warning logs.
  3. Optimized decimal precision of collected data.

1.5.2 (2024/08/21)

  1. Fixed missing #include <arm/_mcontext.h> header file issue when compiling with Xcode 16.
  2. When auto-collecting RUM-Resource, filter out Resources fetched directly from local cache or of unknown fetch type to prevent duplicate collection.
  3. Fixed loadingTime calculation logic for UITabBarController subviews.

1.5.1 (2024/08/02)

  1. Fixed line protocol data escaping algorithm, resolving data sync failure due to line breaks.
  2. Optimized error messages for error type network_error, uniformly using English descriptions for network request error codes.
  3. Optimized data synchronization logic, fixed crash caused by multi-threaded access to released uploadDelayTimer.
  4. Fixed crash caused by encoding format error during OC and C string conversion when collecting crash information.

1.5.0 (2024/06/03)

  1. Added remote IP address resolution function for RUM resource network requests.
  2. Added line protocol Integer data compatibility mode to handle web data type conflicts.
  3. Added custom status method for logs.
  4. Optimized log data writing and data synchronization.
  5. Format processing for NSDictionary type parameters passed to SDK to prevent data loss due to json conversion failure.

1.4.14 (2024/05/29)

  1. Fixed memory access violation crash in FTSwizzler caused by accessing destroyed Class object.
  2. Fixed data consistency and operation conflict issues that may arise when NSDictionary type parameters passed to SDK are actually mutable objects.

1.4.13 (2024/05/15)

  1. Optimized RUM LongTask, Anr collection, fixed inaccurate LongTask stack information collection, added support for collecting fatal freezes.
  2. Fixed crash in FTSwizzler caused by concurrent multi-threaded operations on NSMutableSet.
  3. Fixed missing version information in info.plist of packaged SDK Framework.
  4. Fixed performance metric collection failure for Resource when custom NSURLSession does not set delegate.
  5. Optimized SDK internal log to file conversion function, added method to specify file path.

1.4.12 (2024/04/26)

  1. Fixed memory leak issue caused by calling SDK deregistration method shutDown.
  2. Fixed crash issue caused by conflict with other libraries when collecting RUM-Resource.
  3. Fixed issue where UncaughtExceptionHandler was not passed during crash collection.
  4. Fixed data anomaly caused by multiple SDK initializations.

1.4.11(2024/03/28)

  1. Added support for configuring data synchronization parameters: request entry count, sync interval time, and log cache entry count.
  2. Added internal log to file method.
  3. Fixed error in retrieving RUM data associated with logs.
  4. Optimized time-consuming operations.
  5. Fixed crash during WebView jsBridge, changed WebView reference to weak reference.

More Logs