Skip to content

Changelog


1.6.3 (2026/04/30)

  1. Added view_long_task_rate to calculate the page freeze rate for RUM Views.
  2. Added the network_available field to RUM Resource data to record a snapshot of network availability status at the start of resource loading.
  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 Session Replay resource uploads with RUM Keys.
  5. Enabled data upload request compression by default.
  6. Fixed a race condition issue with NSDate in the long task detector.
  7. Fixed issues with WKWebView bridge locking and duplicate enabling, improving WebView RUM / Session Replay stability.
  8. Fixed an issue where local CSS injection might fail when Session Replay processes WebView node data.

1.6.2 (2026/04/17)

  1. Added Session Replay capability, supporting WebView Session Replay.
  2. Added the ability to associate Session Replay context with RUM context, linking WebView containers with the context of loaded HTML content.
  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 configuring privacy for touch, text/input, and images via touchPrivacy, textAndInputPrivacy, and imagePrivacy. Also supports setting view-level privacy overrides for individual UIViews via sessionReplayPrivacyOverrides.

1.5.21 (2026/04/15)

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

1.5.20 (2026/02/26)

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

1.5.19 (2026/01/09)

  1. Extended resource_type, adding image, media, font, CSS, JS, and 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 callback implementations using FTMobileConfig.remoteConfigFetchCompletionBlock or +updateRemoteConfigWithMiniUpdateInterval:completion:.
  4. Added resource_http_protocol, resource_request_size, and 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 an issue where missing RUM Views caused data loss.
  7. Enhanced crash and ANR stack trace capability, supporting full thread information collection, and allowing crash monitoring type configuration via FTRumConfig.crashMonitoring.

1.5.18 (2025/08/08)

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

1.5.17 (2025/06/11)

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

1.5.16 (2025/05/16)

  1. Added FTMobileConfig.lineDataModifier and 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 one minute prior 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 populate view_referrer.

1.5.15 (2025/04/14)

  1. Fixed Swift Package Manager compilation errors.

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, and resource_redirect_time. Supports enhanced Resource timing display on TrueWatch and aligns with the timeline in the APM flame graph.
  2. Enabled FTMobileConfig.enableDataIntegerCompatible by default.
  3. Added support for disabling URLSession Method Swizzling within the SDK via the macro definition FT_DISABLE_SWIZZLING_RESOURCE.
  4. Optimized data synchronization, adding retry logic for failures.

1.5.13 (2025/02/27)

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

1.5.12 (2025/02/10)

  1. Adjusted file storage path configuration, fixing database creation failures in tvOS environments.
  2. Updated the default service and log source for tvOS environments 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 automatic Resource collection is enabled.
  2. Fixed skyWalking type trace failures in Widget Extensions.

1.5.10 (2025/01/21)

  1. Supports intercepting Requests for custom Trace via FTTraceConfig.traceInterceptor, and adding custom properties to RUM Resource via FTRumConfig.resourcePropertyProvider.
  2. Fixed abnormal behavior of dynamic global property addition methods under multi-threaded access.
  3. Optimized data information passed to WebView.

1.5.9 (2025/01/08)

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

1.5.8 (2024/12/23)

  1. Added tvOS support.
  2. Supports limiting the maximum RUM cache entry count via FTRUMConfig.rumCacheLimitCount, and setting discard policy via FTRUMConfig.rumDiscardType.
  3. Supports limiting total cache size via FTMobileConfig.enableLimitWithDbSize. Once enabled, FTLoggerConfig.logCacheLimitCount and FTRUMConfig.rumCacheLimitCount become ineffective. Supports setting db discard policy via FTMobileConfig.dbDiscardType and db cache size limit via FTMobileConfig.dbCacheLimit.

1.5.7 (2024/12/04)

  1. Supports setting the freeze detection threshold via FTRUMConfig.freezeDurationMs.
  2. Optimized the SDK's shutDown method to avoid freezes or WatchDog crashes caused by synchronous waiting on the main thread.

1.5.6 (2024/11/13)

  1. Supports using FTMobileConfig.compressIntakeRequests to configure deflate compression for synchronous data.
  2. RUM added addAction:actionType:property and startAction:actionType:property: methods, optimizing RUM Action collection logic.
  3. Fixed a crash caused by using deprecated NSFileHandle APIs.

1.5.5 (2024/11/06)

  1. Fixed a crash caused by array index out of bounds in FTResourceMetricsModel.

1.5.4 (2024/10/18)

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

1.5.3 (2024/10/09)

  1. Fixed a memory access error crash during LongTask and Anr collection caused by incorrect property modifier usage.
  2. Replaced method signature validation assertions in FTSwizzler with internal warning logs.
  3. Optimized decimal precision for collected data.

1.5.2 (2024/08/21)

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

1.5.1 (2024/08/02)

  1. Fixed the line protocol data escaping algorithm, resolving data sync failures caused by newline characters.
  2. Optimized error messages for error type network_error, uniformly using English descriptions for network request error codes.
  3. Optimized data synchronization logic, fixing a crash caused by multi-threaded access to a released uploadDelayTimer.
  4. Fixed a crash during crash information collection caused by incorrect encoding format when converting between OC and C strings.

1.5.0 (2024/06/03)

  1. Added remote IP address resolution 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. Performed format processing on NSDictionary type parameters passed to the SDK to prevent data loss due to JSON conversion failures.

1.4.14 (2024/05/29)

  1. Fixed a memory access error crash in FTSwizzler caused by accessing a destroyed Class object.
  2. Fixed potential data consistency and operation conflict issues when NSDictionary type parameters passed to the SDK were actually mutable objects.

1.4.13 (2024/05/15)

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

1.4.12 (2024/04/26)

  1. Fixed a memory leak issue caused by calling the SDK's shutdown method shutDown.
  2. Fixed a crash caused by conflicts with other libraries when collecting RUM-Resource.
  3. Fixed the issue where UncaughtExceptionHandler was not passed during crash collection.
  4. Fixed data anomalies 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 conversion method.
  3. Fixed errors in retrieving RUM data associated with logs.
  4. Optimized time-consuming operations.
  5. Fixed crashes caused by WebView jsBridge, changing WebView references to weak references.

More logs