更新日志¶
1.6.5 (2026/06/09)¶
- 新增
FTSessionReplayConfig.enableSwiftUI,用于显式开启 Session Replay 的 SwiftUI 录制能力,默认关闭 - 新增 iOS Session Replay Segment 上传时自定义
source值支持,用于适配 Flutter Session Replay 场景 - 修复因动态
UIColor解析导致的 Session Replay 崩溃问题,并优化后台快照处理与 SwiftUI 录制稳定性 - 优化采样状态变化后的 Session Replay 数据缓存处理,修复错误采样生效后未开始录制的问题,提升录制连续性与稳定性
- 优化 Session Replay、RUM 和 Log 上传调度与重试处理
- 优化 Session Replay 渲染正确性与性能,包括节点扁平化、快照处理队列优先级、View Tree 隐私覆盖继承以及 unsupported placeholder 裁剪
- 修复 RUM View 时间与上传包一致性问题,通过保留事件时间并在 package ID 生成前对 View 数据去重
1.6.4 (2026/05/21)¶
- 新增 SwiftUI 视图的 Session Replay 支持
- 新增 RUM SwiftUI 视图追踪与手动点击 Action 追踪支持
- 冷启动 Action 新增
app_launch_type字段,用于区分前台启动和后台启动 - 新增
FTMobileConfig.enableDataFilter与FTMobileConfig.dataFilters,用于开启 SDK 侧 DataFilter 并配置本地黑名单规则。DataFilter 规则会在lineDataModifier之后、本地缓存写入之前执行 - 优化上传 Worker 关闭隔离、上传回调同步与 RUM 上传行为,避免重复上传、过期重试循环、上传执行冲突,并在上传时跳过重复的 View 数据
- 将 RUM 占位 View 处理替换为兜底 View 解析,提升原始 View 不可用时的 View 追踪一致性
- 优化预置属性 Tag 在 nil、空值以及用户信息更新场景下的处理
1.6.3 (2026/04/30)¶
- 新增
view_long_task_rate,用于统计 RUM View 的页面卡顿率 - RUM Resource 数据新增
network_available字段,用于记录资源开始时的网络可用状态快照 - RUM 崩溃数据新增来自应用状态统计的崩溃持续时间字段:
foreground_crash_free_duration和background_crash_free_duration - Session Replay 资源上传新增关联 RUM Key 支持
- 默认开启数据上传请求压缩
- 修复长任务检测器中 NSDate 的竞态问题
- 修复 WKWebView bridge 锁定和重复启用处理问题,提升 WebView RUM / Session Replay 稳定性
- 修复 Session Replay 处理 WebView 节点数据时,本地 CSS 注入可能失败的问题
1.6.2 (2026/04/17)¶
- 新增 Session Replay 能力,支持 WebView Session Replay
- 新增 Session Replay 与 RUM 上下文关联能力,可将 WebView 容器与已加载 HTML 内容的上下文进行关联。
- 新增 Session Replay 错误采样能力,并支持通过远程配置动态控制 Session Replay。
- 新增 Session Replay 图片资源上传能力
- Session Replay 支持通过
touchPrivacy、textAndInputPrivacy、imagePrivacy配置触控、文本与输入、图片的隐私配置,同时支持通过sessionReplayPrivacyOverrides为单个 UIView 设置视图级隐私覆盖
1.5.21 (2026/04/15)¶
- 新增
setDatakitURL:、setDatawayURL:clientToken:方法,支持运行时动态更新上报地址 - 最低部署版本调整为 iOS 12+、macOS 10.14+
- 修复调用
addAction:时 View 关联失败的问题 - 优化 Log 与 RUM 关联逻辑,补充缺失的
action_id字段 - 修复 RemoteConfig 拉取间隔逻辑,SDK 启动时使用本地上次请求时间校验请求间隔
- 修复采样率动态修改不生效的问题
1.5.20 (2026/02/26)¶
- 修复
FTPresetProperty中的并发读写问题,避免字典损坏与重复释放导致的崩溃 - SDK 内 SQLite 启用 WAL 模式
- 将已废弃的
SCNetworkReachability替换为NWPathMonitor - 移除已废弃 API
UIScreen.mainScreen的使用 - 修复
FTMobileConfig.dataModifier处理逻辑,使其覆盖所有数据条目
1.5.19 (2026/01/09)¶
- 扩展
resource_type,新增 image、media、font、CSS、JS、native 类型 - 网络错误中新增
resource_id,用于关联对应资源数据 - 支持通过
FTMobileConfig.remoteConfigFetchCompletionBlock或+updateRemoteConfigWithMiniUpdateInterval:completion:方法回调实现远程变量的自定义解析和配置 - Resource 新增
resource_http_protocol、resource_request_size、resource_connection_reuse字段 - 细化冷启动与预热启动时间指标,新增
app_pre_runtime_init_time、app_runtime_init_time、app_uikit_init_time、app_application_init_time和app_first_frame_init_time - 修复 RUM View 缺失导致的数据丢失问题
- 增强崩溃与 ANR 堆栈能力,支持全线程信息采集,并支持通过
FTRumConfig.crashMonitoring设置崩溃监控类型
1.5.18 (2025/08/08)¶
- 新增支持通过
FTRumConfig.viewTrackingHandler与FTRumConfig.actionTrackingHandler进行 RUM View/Action 采集过滤、自定义 View/Action 名称 - 添加方法
-updateViewLoadingTime:支持为当前活跃的 RUM View 更新加载时间 - 修复日志数据中
sdk_name字段缺失问题 - 修复 WebView 数据采集中 UserScripts 冲突问题
- 修复 SDK 关闭操作的线程安全性问题
- 修复在 Long task 监控时修改主线程的名称导致的崩溃问题
- 新增
FTRumConfig.h/.m文件将FTRumConfig从FTMobileConfig.h中拆分为独立文件
1.5.17 (2025/06/11)¶
-
添加
FTRUMConfig.enableTraceWebView配置是否开启通过 SDK 采集 webview 数据,通过FTRUMConfig.allowWebViewHost可以控制需要过滤 host 地址 -
添加
FTRumConfig.sessionTaskErrorFilter, 可以针对本地网络错误进行过滤 -
添加
FTMobileConfig.remoteConfiguration支持开启远程条件配置功能、FTMobileConfig.remoteConfigMiniUpdateInterval支持在开启远程控制之后,设置最短更新时间间隔
1.5.16 (2025/05/16)¶
-
添加
FTMobileConfig.lineDataModifier、FTMobileConfig.dataModifier支持数据写入替换,支持数据脱敏 -
添加
FTRUMConfig.sessionErrorSampleRate支持错误采样,在未被 sampleRate 采样时,在发生错误时可以对 1 分钟前的 rum 的数据进行取样采集 -
Logger 支持通过
logLevelFilter设置过滤自定义日志等级 -
原生页面跳转至 WebView 页面时,用原生页面名称填充
view_referrer
1.5.15 (2025/04/14)¶
- 修复 Swift Package Manager 编译报错问题
1.5.14 (2025/03/07)¶
-
新增 RUM
Resource数据字段resource_first_byte_time、resource_dns_time、resource_download_time、resource_connect_time、resource_ssl_time、resource_redirect_time,支持在观测云上 Resource 耗时增强展示,并在支持「应用性能监测」火焰图对齐时间轴 -
默认开启
FTMobileConfig.enableDataIntegerCompatible -
新增支持通过宏定义
FT_DISABLE_SWIZZLING_RESOURCE关闭 SDK 内 URLSession Method Swizzling 方法 -
优化数据同步,添加失败重传逻辑
1.5.13 (2025/02/27)¶
- 优化页面采集逻辑,防止特殊视图导致 RUM View 采集缺失
1.5.12 (2025/02/10)¶
- 调整文件存储路径配置,修复 tvOS 环境数据库创建失败的问题
- 更新了 tvOS 环境的默认
service和日志source,分别设置为df_rum_tvos和df_rum_tvos_log - 修复 RUM Action 事件中
duration时长计算不准确的问题
1.5.11 (2025/02/05)¶
- RUM Resource 采集优化,防止 RUM 开启 Resource 自动采集时采集 SDK 内请求
- 修复 Widget Extension 中 skyWalking 类型链路追踪失败问题
1.5.10 (2025/01/21)¶
- 支持通过
FTTraceConfig.traceInterceptor拦截 Request 自定义 Trace,通过FTRumConfig.resourcePropertyProvider添加 RUM Resource 自定义属性 - 修复动态添加全局属性方法在多线程访问下的异常问题
- 优化 WebView 传入数据信息
1.5.9 (2025/01/08)¶
- 新增支持通过
FTURLSessionDelegate.traceInterceptorblock 拦截URLRequest,进行自定义链路追踪、更改链路中 spanId 与 traceId - RUM Resource 支持采集通过 swift async/await URLSession API 发起的网络请求
- 修复 LongTask 与 Anr 关联 View 错误问题
1.5.8 (2024/12/23)¶
- 增加 tvOS 支持
- 支持通过
FTRUMConfig.rumCacheLimitCount来限制 RUM 最大缓存条目数, 支持通过FTRUMConfig.rumDiscardType设置丢弃策略 - 支持通过
FTMobileConfig.enableLimitWithDbSize限制总缓存大小功能,开启之后FTLoggerConfig.logCacheLimitCount及FTRUMConfig.rumCacheLimitCount将失效, 支持通过FTMobileConfig.dbDiscardType设置 db 丢弃策略、 通过FTMobileConfig.dbCacheLimit设置 db 缓存限制大小
1.5.7 (2024/12/04)¶
- 支持通过
FTRUMConfig.freezeDurationMs设置卡顿检测阀值 - 优化 SDK 的
shutDown方法,避免主线程同步等待导致的卡顿或 WatchDog 崩溃
1.5.6 (2024/11/13)¶
- 支持使用
FTMobileConfig.compressIntakeRequests对同步数据进行 deflate 压缩配置 - RUM 添加
addAction:actionType:property与startAction:actionType:property:方法, 优化 RUM Action 采集逻辑 - 修复使用 NSFileHandle 废弃 api 导致的崩溃问题
1.5.5 (2024/11/06)¶
- 修复
FTResourceMetricsModel中数组越界导致的崩溃问题
1.5.4 (2024/10/18)¶
- 添加全局、log、RUM globalContext 属性动态设置方式
- 添加清除数据方法,支持删除所有尚未上传至服务器的数据
- 调整同步间歇支持的最大时间间隔至 5000 毫秒
1.5.3 (2024/10/09)¶
- 修复 LongTask、Anr 采集时因属性修饰符使用错误而导致的内存访问错误崩溃
- 使用内部警告日志替换
FTSwizzler中方法签名验证断言 - 优化采集数据的小数精度
1.5.2 (2024/08/21)¶
- 修复 Xcode 16 编译缺少
#include <arm/_mcontext.h>头文件问题 - 自动采集 RUM-Resource 时,过滤掉直接从本地缓存获取或获取类型未知的 Resource,防止采集重复
- 修复 UITabBarController 子视图 loadingTime 计算逻辑
1.5.1 (2024/08/02)¶
- 修复行协议数据转义算法,解决因换行符导致数据同步失败问题
- 优化错误类型为
network_error的错误信息,统一使用英文描述网络请求错误码 - 优化数据同步逻辑,修复多线程访问已释放
uploadDelayTimer导致的崩溃问题 - 修复采集崩溃信息时 OC 与 C 字符串转换时编码格式错误导致的崩溃问题
1.5.0 (2024/06/03)¶
- RUM resource 网络请求添加 remote ip 地址解析功能
- 添加行协议 Integer 数据兼容模式,处理 web 数据类型冲突问题
- 日志添加自定义 status 方法
- 日志数据写入优化、数据同步优化
- 对传入 SDK 的 NSDictionary 类型参数进行格式处理防止转换 json 失败造成数据丢失
1.4.14 (2024/05/29)¶
- 修复
FTSwizzler内访问已被销毁的 Class 对象而导致的内存访问错误崩溃 - 修复向 SDK 传递的 NSDictionary 类型参数实际上是可变对象时可能引发的数据一致性和操作冲突问题
1.4.13 (2024/05/15)¶
- RUM LongTask、Anr 采集优化,修复 LongTask 堆栈信息采集不准确问题,新增支持采集致命卡顿
- 修复
FTSwizzler内因多线程同时操作 NSMutableSet 造成的崩溃 - 修复打包 SDK Framework info.plist 中版本信息缺失问题
- 修复自定义 NSURLSession 未设置 delegate 时 Resource 的性能指标采集失败问题
- SDK 内部日志转化为文件功能优化,新增指定文件路径方法
1.4.12 (2024/04/26)¶
- 修复 SDK 调用注销方法 shutDown 产生的内存泄漏问题
- 修复采集 RUM-Resource 时与其他库冲突导致崩溃问题
- 修复崩溃采集 UncaughtExceptionHandler 未传递问题
- 修复多次初始化 SDK 造成的数据异常
1.4.11(2024/03/28)¶
- 新增支持数据同步参数配置,请求条目数据,同步间歇时间,以及日志缓存条目数
- 新增内部日志转文件方法
- 日志关联 RUM 数据获取错误修复
- 耗时操作优化
- 修复 WebView jsBridge 时产生的崩溃,对 WebView 引用改为弱引用