更新履歴¶
1.6.7 (2026/08/19)¶
- WebSocket ハンドシェイクリクエストの RUM Resource 収集に対応しました。データに
resource_type=websocket、resource_websocket_collection_level=handshake、resource_websocket_handshake_state(success、rejected、failed)を追加しました。 FTRumConfig.issueDataProviderを追加し、自動収集した Crash および ANR の RUM Error に、検証済みのカスタムフィールドと履歴コンテキストを付加できるようにしました。- macOS のセッションリプレイ録画に対応し、一般的な AppKit ビューとコントロールをカバーしました。
- macOS アプリ起動 Action の自動収集を追加し、macOS のデフォルト
serviceと Log のsourceタグを統一しました。 - セッションリプレイのリソース検査とアップロードが RUM コンテキストの関連付けに対応しました。
FTSessionReplayConfig.enableLinkRUMKeysで引き渡す RUM globalContext フィールドを選択し、同じリソースが異なる関連コンテキストでも正しくルーティングされ、独立して保持され、重複排除されることを保証します。 - フォールバック View、アプリ起動、初回フレーム追跡、遅延した初期 Action、セッション期限切れなどのシナリオにおける RUM ライフサイクル処理を最適化しました。
- UIKit および SwiftUI で自動収集する RUM View の
loading_time計測を最適化し、プリレンダリングおよびプリロード段階のアイドル時間を除外しました。
1.6.6 (2026/07/15)¶
- 移行に関する変更:CocoaPods および Swift Package Manager の配布製品を、
FTMobileSDKシリーズからGuanceSDKシリーズに名称変更しました。GuanceSDK、GuanceWidgetExtension、GuanceSessionReplayを使用してください。CocoaPods のエイリアスGuanceSDK/ExtensionとGuanceSDK/FTSessionReplayは引き続き使用できます。既存プロジェクトのアップグレードは 移行ガイド を参照してください。 - 実験的なセッションリプレイのヒートマップ関連付け機能を追加しました。
FTSessionReplayConfig.enableHeatmapで有効化できます。この機能は自動収集された UIKit Action にのみ関連付けられ、一部の UIKit Action はヒートマップに対応していない場合があります。SwiftUI Action は自動収集に対応していないため、この機能でヒートマップを関連付けることはできません。 - システムの
compressionおよびzlibヘッダーファイルを追加しました。 - URLSession Resource の安定性を最適化し、非同期処理中に request と trace データを保持するとともに、キャッシュするレスポンスボディのサイズを制限して OOM リスクを低減しました。
- RUM の CPU 計算、アプリ起動、アプリ状態、セッションタイムアウト、クラッシュコンテキスト、アクティブな View コンテキストの処理問題を修正しました。
- ANR の信頼性を向上させ、アプリがバックグラウンドに移行した際に SQLite
VACUUMを実行しないようにし、全スレッドのバックトレース収集をリトライするようにしました。 - 無効な列挙値による潜在的な配列範囲外アクセスのクラッシュを修正しました。
1.6.5 (2026/06/09)¶
FTSessionReplayConfig.enableSwiftUIを追加し、セッションリプレイの SwiftUI 録画機能を明示的に有効化できるようにしました。デフォルトは無効です。- iOS のセッションリプレイ Segment アップロード時に
source値をカスタマイズできるようにしました。Flutter のセッションリプレイシナリオに適用するためです。 - 動的な
UIColorの解析によって発生するセッションリプレイのクラッシュを修正し、バックグラウンドスナップショット処理と SwiftUI 録画の安定性を最適化しました。 - サンプリング状態の変更後のセッションリプレイデータのキャッシュ処理を最適化し、エラーサンプリングが有効になった後に録画が開始されない問題を修正して、録画の連続性と安定性を向上させました。
- セッションリプレイ、RUM、Log のアップロードスケジューリングとリトライ処理を最適化しました。
- セッションリプレイのレンダリングの正確性とパフォーマンスを最適化しました。ノードのフラット化、スナップショット処理キューの優先度、View Tree のプライバシーオーバーライドの継承、unsupported placeholder の切り詰めを含みます。
- RUM View の時間とアップロードパッケージの一貫性の問題を修正しました。イベント時間を保持し、package ID の生成前に View データを重複排除します。
1.6.4 (2026/05/21)¶
- SwiftUI ビューのセッションリプレイに対応しました。
- RUM の SwiftUI ビュートラッキングと手動タップ Action のトラッキングに対応しました。
- コールドスタート Action に
app_launch_typeフィールドを追加し、フォアグラウンド起動とバックグラウンド起動を区別できるようにしました。 - ブラックリストによるフィルタリング機能を追加し、ローカルキャッシュへの書き込み前に Log および RUM データをフィルタリングできるようにしました。ルールは
FTMobileConfig.dataFiltersでアプリ内から設定できるほか、Guance ワークスペースのブラックリストから自動的に取得することもでき、両方の方法が同時に有効です。この機能はデフォルトで有効で、FTMobileConfig.enableDataFilter = NOを設定することで SDK 側のフィルタリングを無効化できます。フィルタリングルールはlineDataModifierの後に実行されます。 - アップロード Worker のシャットダウン分離、アップロードコールバックの同期、RUM のアップロード動作を最適化し、重複アップロード、期限切れリトライループ、アップロード実行の競合を回避するとともに、アップロード時に重複する View データをスキップするようにしました。
- RUM のプレースホルダ View 処理をフォールバック View の解決に置き換え、元の View が利用できない場合の View トラッキングの一貫性を向上させました。
- プリセット属性タグの 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を追加しました。 - セッションリプレイのリソースアップロードに RUM Key の関連付け対応を追加しました。
- データアップロードリクエストの圧縮をデフォルトで有効にしました。
- ロングタスク検出器における NSDate の競合状態の問題を修正しました。
- WKWebView bridge のロックと重複有効化の処理問題を修正し、WebView の RUM / セッションリプレイの安定性を向上させました。
- セッションリプレイが WebView ノードデータを処理する際に、ローカル CSS の注入が失敗する可能性がある問題を修正しました。
1.6.2 (2026/04/17)¶
- セッションリプレイ機能を追加し、WebView のセッションリプレイに対応しました。
- セッションリプレイと RUM コンテキストの関連付け機能を追加し、WebView コンテナと読み込まれた HTML コンテンツのコンテキストを関連付けることができるようにしました。
- セッションリプレイのエラーサンプリング機能を追加し、リモート設定によるセッションリプレイの動的制御に対応しました。
- セッションリプレイの画像リソースアップロード機能を追加しました。
- セッションリプレイで
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 のシャットダウン操作のスレッドセーフティの問題を修正しました。
- ロングタスクモニタリング中にメインスレッドの名前を変更することで発生するクラッシュを修正しました。
FTRumConfig.h/.mファイルを追加し、FTRumConfigをFTMobileConfig.hから独立したファイルに分割しました。
1.5.17 (2025/06/11)¶
FTRUMConfig.enableTraceWebViewを追加し、SDK による WebView データ収集を有効にするかどうかを設定できるようにしました。FTRUMConfig.allowWebViewHostでフィルタリング対象のホストアドレスを制御できます。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を追加しました。Guance上で Resource の所要時間を拡張して表示でき、「アプリケーションパフォーマンスモニタリング(APM)」のフレームグラフではタイムラインに合わせて表示できます。 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 の収集ロジックを最適化しました。 - 非推奨 API の NSFileHandle を使用することで発生するクラッシュを修正しました。
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 の自動収集時、ローカルキャッシュから直接取得されたリソースまたは取得タイプが不明なリソースをフィルタリングし、重複収集を防止しました。
- UITabBarController の子ビューの loadingTime 計算ロジックを修正しました。
1.5.1 (2024/08/02)¶
- ラインプロトコルデータのエスケープアルゴリズムを修正し、改行文字によるデータ同期の失敗問題を解決しました。
- エラータイプが
network_errorのエラーメッセージを最適化し、ネットワークリクエストのエラーコードを英語で統一して記載するようにしました。 - データ同期ロジックを最適化し、マルチスレッドから解放済みの
uploadDelayTimerにアクセスすることで発生するクラッシュを修正しました。 - クラッシュ情報の収集時に、OC と C の文字列変換でエンコーディング形式の誤りにより発生するクラッシュを修正しました。
1.5.0 (2024/06/03)¶
- RUM Resource のネットワークリクエストにリモート 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 の参照を弱参照に変更しました。