콘텐츠로 이동

변경 로그


1.6.7 (2026/08/19)

  1. WebSocket 핸드셰이크 요청의 RUM Resource 수집 지원이 추가되었습니다. 데이터에 resource_type=websocket, resource_websocket_collection_level=handshake, resource_websocket_handshake_state(success, rejected, failed)가 추가됩니다.
  2. FTRumConfig.issueDataProvider가 추가되어 자동 수집된 Crash 및 ANR RUM Error에 검증된 사용자 정의 필드와 히스토리 컨텍스트를 첨부할 수 있습니다.
  3. 일반적인 AppKit 뷰와 컨트롤을 포괄하는 macOS Session Replay 녹화 지원이 추가되었습니다.
  4. macOS 앱 시작 Action 자동 수집이 추가되었고, macOS 기본 service 및 Log source 태그가 통일되었습니다.
  5. Session Replay 리소스 검사 및 업로드가 RUM 컨텍스트 연결을 지원합니다. FTSessionReplayConfig.enableLinkRUMKeys를 통해 전달할 RUM globalContext 필드를 선택하여, 동일한 리소스가 서로 다른 연결 컨텍스트에서 올바르게 라우팅되고 독립적으로 보존되며 중복 제거되도록 보장합니다.
  6. 대체(fallback) View, 앱 시작, 첫 프레임 추적, 지연된 초기 Action, Session 만료 등의 시나리오에서 RUM 라이프사이클 처리가 개선되었습니다.
  7. UIKit 및 SwiftUI 자동 수집 RUM View의 loading_time 측정이 개선되어 프리렌더링 및 프리로드 단계의 유휴 시간이 제외됩니다.

1.6.6 (2026/07/15)

  1. 마이그레이션 변경: CocoaPods 및 Swift Package Manager 배포 제품이 FTMobileSDK 시리즈에서 GuanceSDK 시리즈로 변경되었습니다. GuanceSDK, GuanceWidgetExtension, GuanceSessionReplay을 사용하세요. CocoaPods 별칭 GuanceSDK/Extension 및 GuanceSDK/FTSessionReplay는 계속 사용할 수 있습니다. 기존 프로젝트 업그레이드는 마이그레이션 가이드를 참조하세요.
  2. 실험적 Session Replay 히트맵 연결 기능이 추가되었으며, FTSessionReplayConfig.enableHeatmap으로 활성화할 수 있습니다. 이 기능은 자동 수집된 UIKit Action에만 연결되며 일부 UIKit Action은 Heatmap을 지원하지 않을 수 있습니다. SwiftUI Action은 자동 수집을 지원하지 않으므로 이 기능으로 히트맵을 연결할 수 없습니다.
  3. 시스템 compression 및 zlib 헤더 파일이 추가되었습니다.
  4. URLSession Resource 안정성이 개선되어 비동기 처리 중 request 및 trace 데이터를 유지하고 캐시된 응답 본문 크기를 제한하여 OOM 위험을 낮춥니다.
  5. RUM CPU 계산, 앱 시작, 앱 상태, Session 타임아웃, 크래시 컨텍스트 및 활성 View 컨텍스트 처리 문제가 수정되었습니다.
  6. ANR 안정성이 개선되어 앱이 백그라운드로 전환될 때 SQLite VACUUM 실행을 방지하고 전체 스레드 백트레이스 수집을 재시도합니다.
  7. 잘못된 열거형 값으로 인해 발생할 수 있는 배열 범위 초과 크래시가 수정되었습니다.

1.6.5 (2026/06/09)

  1. Session Replay의 SwiftUI 녹화 기능을 명시적으로 활성화하는 FTSessionReplayConfig.enableSwiftUI가 추가되었습니다. 기본값은 비활성화입니다.
  2. iOS Session Replay Segment 업로드 시 사용자 정의 source 값이 지원되어 Flutter Session Replay 시나리오에 대응합니다.
  3. 동적 UIColor 파싱으로 인한 Session Replay 크래시 문제가 수정되었고, 백그라운드 스냅샷 처리 및 SwiftUI 녹화 안정성이 개선되었습니다.
  4. 샘플링 상태 변경 후 Session Replay 데이터 캐시 처리가 개선되었고, 잘못된 샘플링이 적용된 후 녹화가 시작되지 않던 문제가 수정되어 녹화 연속성과 안정성이 향상되었습니다.
  5. Session Replay, RUM 및 Log 업로드 스케줄링과 재시도 처리가 개선되었습니다.
  6. 노드 평탄화, 스냅샷 처리 큐 우선순위, View Tree 개인정보 보호 오버라이드 상속, unsupported placeholder 트리밍을 포함한 Session Replay 렌더링 정확성과 성능이 개선되었습니다.
  7. 이벤트 시간을 유지하고 package ID 생성 전에 View 데이터를 중복 제거하여 RUM View 시간과 업로드 패키지 간의 일관성 문제가 수정되었습니다.

1.6.4 (2026/05/21)

  1. SwiftUI 뷰에 대한 Session Replay 지원이 추가되었습니다.
  2. RUM SwiftUI 뷰 추적 및 수동 탭 Action 추적 지원이 추가되었습니다.
  3. 콜드 스타트 Action에 app_launch_type 필드가 추가되어 포그라운드 시작과 백그라운드 시작을 구분합니다.
  4. 블랙리스트 필터링 기능이 추가되어 로컬 캐시에 쓰기 전에 Log 및 RUM 데이터를 필터링할 수 있습니다. 규칙은 FTMobileConfig.dataFilters를 통해 앱 내에서 구성하거나 Guance 워크스페이스의 블랙리스트에서 자동으로 가져올 수 있으며 두 방식이 동시에 적용됩니다. 이 기능은 기본적으로 활성화되어 있으며 FTMobileConfig.enableDataFilter = NO로 SDK 측 필터링을 끌 수 있습니다. 필터 규칙은 lineDataModifier 이후에 실행됩니다.
  5. 업로드 Worker 종료 격리, 업로드 콜백 동기화 및 RUM 업로드 동작이 개선되어 중복 업로드, 만료된 항목의 재시도 루프, 업로드 실행 충돌을 방지하고 업로드 시 중복 View 데이터를 건너뜁니다.
  6. RUM 플레이스홀더 View 처리가 대체(fallback) View 해석으로 변경되어 원본 View를 사용할 수 없을 때 View 추적 일관성이 향상되었습니다.
  7. nil, 빈 값, 사용자 정보 업데이트 시나리오에서 사전 정의된 속성 Tag 처리 방식이 개선되었습니다.

1.6.3 (2026/04/30)

  1. RUM View의 페이지 멈춤 비율을 집계하는 view_long_task_rate가 추가되었습니다.
  2. RUM Resource 데이터에 network_available 필드가 추가되어 리소스 시작 시 네트워크 사용 가능 상태 스냅샷을 기록합니다.
  3. RUM 크래시 데이터에 앱 상태 통계 기반 무충돌 지속 시간 필드인 foreground_crash_free_duration 및 background_crash_free_duration이 추가되었습니다.
  4. Session Replay 리소스 업로드에 연결된 RUM Key 지원이 추가되었습니다.
  5. 데이터 업로드 요청 압축이 기본적으로 활성화됩니다.
  6. 긴 작업(Long Task) 감지기의 NSDate 경합 문제가 수정되었습니다.
  7. WKWebView bridge 잠금 및 중복 활성화 처리 문제가 수정되어 WebView RUM / Session Replay 안정성이 향상되었습니다.
  8. Session Replay가 WebView 노드 데이터를 처리할 때 로컬 CSS 주입이 실패할 수 있는 문제가 수정되었습니다.

1.6.2 (2026/04/17)

  1. WebView Session Replay를 지원하는 Session Replay 기능이 추가되었습니다.
  2. Session Replay와 RUM 컨텍스트 연결 기능이 추가되어 WebView 컨테이너와 로드된 HTML 콘텐츠의 컨텍스트를 연결할 수 있습니다.
  3. Session Replay 오류 샘플링 기능이 추가되었고, 원격 구성을 통해 Session Replay를 동적으로 제어할 수 있습니다.
  4. Session Replay 이미지 리소스 업로드 기능이 추가되었습니다.
  5. Session Replay는 touchPrivacy, textAndInputPrivacy, imagePrivacy를 통해 터치, 텍스트 및 입력, 이미지의 개인정보 보호 설정을 구성할 수 있으며, sessionReplayPrivacyOverrides를 통해 개별 UIView에 뷰 단위 개인정보 보호 오버라이드를 설정할 수 있습니다.

1.5.21 (2026/04/15)

  1. 런타임에 업로드 주소를 동적으로 업데이트할 수 있는 setDatakitURL:, setDatawayURL:clientToken: 메서드가 추가되었습니다.
  2. 최소 배포 버전이 iOS 12+, macOS 10.14+로 조정되었습니다.
  3. addAction: 호출 시 View 연결이 실패하는 문제가 수정되었습니다.
  4. Log 및 RUM 연결 로직이 개선되어 누락된 action_id 필드가 보완되었습니다.
  5. RemoteConfig 가져오기 간격 로직이 수정되었습니다. SDK 시작 시 로컬의 마지막 요청 시간을 사용하여 요청 간격을 검증합니다.
  6. 샘플링 비율을 동적으로 변경해도 적용되지 않던 문제가 수정되었습니다.

1.5.20 (2026/02/26)

  1. FTPresetProperty의 동시 읽기/쓰기 문제가 수정되어 딕셔너리 손상 및 중복 해제로 인한 크래시를 방지합니다.
  2. SDK 내부 SQLite에 WAL 모드가 활성화되었습니다.
  3. 더 이상 사용되지 않는 SCNetworkReachability가 NWPathMonitor로 교체되었습니다.
  4. 더 이상 사용되지 않는 UIScreen.mainScreen API 사용이 제거되었습니다.
  5. FTMobileConfig.dataModifier 처리 로직이 수정되어 모든 데이터 항목에 적용됩니다.

1.5.19 (2026/01/09)

  1. resource_type이 확장되어 image, media, font, CSS, JS, native 유형이 추가되었습니다.
  2. 네트워크 오류에 resource_id가 추가되어 해당 리소스 데이터와 연결할 수 있습니다.
  3. FTMobileConfig.remoteConfigFetchCompletionBlock 또는 +updateRemoteConfigWithMiniUpdateInterval:completion: 메서드 콜백을 통해 원격 변수의 사용자 정의 파싱 및 구성을 지원합니다.
  4. Resource에 resource_http_protocol, resource_request_size, resource_connection_reuse 필드가 추가되었습니다.
  5. 콜드 스타트 및 웜 스타트 시간 메트릭이 세분화되어 app_pre_runtime_init_time, app_runtime_init_time, app_uikit_init_time, app_application_init_time, app_first_frame_init_time이 추가되었습니다.
  6. RUM View 누락으로 인한 데이터 손실 문제가 수정되었습니다.
  7. 크래시 및 ANR 스택 기능이 강화되어 전체 스레드 정보 수집을 지원하며, FTRumConfig.crashMonitoring을 통해 크래시 모니터링 유형을 설정할 수 있습니다.

1.5.18 (2025/08/08)

  1. FTRumConfig.viewTrackingHandler 및 FTRumConfig.actionTrackingHandler를 통한 RUM View/Action 수집 필터링과 사용자 정의 View/Action 이름 지정이 지원됩니다.
  2. 현재 활성화된 RUM View의 로딩 시간을 업데이트하는 -updateViewLoadingTime: 메서드가 추가되었습니다.
  3. 로그 데이터에 sdk_name 필드가 누락되는 문제가 수정되었습니다.
  4. WebView 데이터 수집에서 UserScripts 충돌 문제가 수정되었습니다.
  5. SDK 종료 작업의 스레드 안전성 문제가 수정되었습니다.
  6. Long task 모니터링 중 메인 스레드 이름을 변경하여 발생하는 크래시 문제가 수정되었습니다.
  7. FTRumConfig.h/.m 파일이 추가되어 FTRumConfig가 FTMobileConfig.h에서 별도 파일로 분리되었습니다.

1.5.17 (2025/06/11)

  1. SDK를 통한 WebView 데이터 수집 여부를 설정하는 FTRUMConfig.enableTraceWebView가 추가되었습니다. FTRUMConfig.allowWebViewHost로 필터링할 host 주소를 제어할 수 있습니다.
  2. 로컬 네트워크 오류를 필터링할 수 있는 FTRumConfig.sessionTaskErrorFilter가 추가되었습니다.
  3. 원격 조건부 구성 기능을 활성화하는 FTMobileConfig.remoteConfiguration이 추가되었고, FTMobileConfig.remoteConfigMiniUpdateInterval로 원격 제어 활성화 후 최소 업데이트 간격을 설정할 수 있습니다.

1.5.16 (2025/05/16)

  1. 데이터 쓰기 치환 및 데이터 마스킹을 지원하는 FTMobileConfig.lineDataModifier, FTMobileConfig.dataModifier가 추가되었습니다.
  2. 오류 샘플링을 지원하는 FTRUMConfig.sessionErrorSampleRate가 추가되었습니다. sampleRate로 샘플링되지 않은 경우, 오류 발생 시 1분 전의 RUM 데이터를 샘플링하여 수집할 수 있습니다.
  3. Logger가 logLevelFilter를 통해 사용자 정의 로그 레벨을 필터링할 수 있습니다.
  4. 네이티브 페이지에서 WebView 페이지로 이동할 때 네이티브 페이지 이름으로 view_referrer가 채워집니다.

1.5.15 (2025/04/14)

  1. Swift Package Manager 컴파일 오류가 수정되었습니다.

1.5.14 (2025/03/07)

  1. RUM Resource 데이터 필드로 resource_first_byte_time, resource_dns_time, resource_download_time, resource_connect_time, resource_ssl_time, resource_redirect_time가 추가되었습니다. Guance에서 Resource 소요 시간을 강화된 형태로 표시할 수 있으며, 애플리케이션 성능 모니터링(APM) 플레임 그래프와 시간 축을 정렬할 수 있습니다.
  2. FTMobileConfig.enableDataIntegerCompatible이 기본적으로 활성화됩니다.
  3. 매크로 FT_DISABLE_SWIZZLING_RESOURCE로 SDK 내부의 URLSession Method Swizzling을 비활성화할 수 있습니다.
  4. 데이터 동기화가 개선되어 실패 시 재전송 로직이 추가되었습니다.

1.5.13 (2025/02/27)

  1. 페이지 수집 로직이 개선되어 특수 뷰로 인한 RUM View 수집 누락을 방지합니다.

1.5.12 (2025/02/10)

  1. 파일 저장 경로 설정이 조정되어 tvOS 환경에서 데이터베이스 생성 실패 문제를 수정합니다.
  2. tvOS 환경의 기본 service 및 로그 source가 각각 df_rum_tvos 및 df_rum_tvos_log로 업데이트되었습니다.
  3. RUM Action 이벤트에서 duration 길이 계산이 부정확한 문제가 수정되었습니다.

1.5.11 (2025/02/05)

  1. RUM Resource 수집이 최적화되어 RUM의 Resource 자동 수집이 활성화된 상태에서 SDK 내부 요청이 수집되지 않도록 방지합니다.
  2. Widget Extension에서 skyWalking 유형 분산 추적이 실패하는 문제가 수정되었습니다.

1.5.10 (2025/01/21)

  1. FTTraceConfig.traceInterceptor로 Request를 인터셉트하여 사용자 정의 Trace를 구성하고, FTRumConfig.resourcePropertyProvider로 RUM Resource 사용자 정의 속성을 추가할 수 있습니다.
  2. 전역 속성을 동적으로 추가하는 메서드의 다중 스레드 접근 시 발생하는 예외 문제가 수정되었습니다.
  3. WebView로 전달되는 데이터 정보가 최적화되었습니다.

1.5.9 (2025/01/08)

  1. FTURLSessionDelegate.traceInterceptor block으로 URLRequest를 인터셉트하여 사용자 정의 분산 추적을 수행하고, 추적의 spanId와 traceId를 변경할 수 있습니다.
  2. RUM Resource는 swift async/await URLSession API로 시작된 네트워크 요청을 수집할 수 있습니다.
  3. LongTask 및 ANR과 연결된 View 오류 문제가 수정되었습니다.

1.5.8 (2024/12/23)

  1. tvOS 지원이 추가되었습니다.
  2. FTRUMConfig.rumCacheLimitCount로 RUM 최대 캐시 항목 수를 제한할 수 있으며, FTRUMConfig.rumDiscardType으로 폐기 정책을 설정할 수 있습니다.
  3. FTMobileConfig.enableLimitWithDbSize로 총 캐시 크기를 제한할 수 있습니다. 활성화하면 FTLoggerConfig.logCacheLimitCount 및 FTRUMConfig.rumCacheLimitCount는 더 이상 적용되지 않습니다. FTMobileConfig.dbDiscardType으로 DB 폐기 정책을, FTMobileConfig.dbCacheLimit으로 DB 캐시 제한 크기를 설정할 수 있습니다.

1.5.7 (2024/12/04)

  1. FTRUMConfig.freezeDurationMs로 멈춤 감지 임계값을 설정할 수 있습니다.
  2. SDK의 shutDown 메서드가 최적화되어 메인 스레드의 동기 대기로 인한 멈춤 또는 WatchDog 크래시를 방지합니다.

1.5.6 (2024/11/13)

  1. FTMobileConfig.compressIntakeRequests를 사용하여 동기화 데이터를 deflate 압축하도록 구성할 수 있습니다.
  2. RUM에 addAction:actionType:property 및 startAction:actionType:property: 메서드가 추가되어 RUM Action 수집 로직이 개선되었습니다.
  3. 더 이상 사용되지 않는 NSFileHandle API 사용으로 인한 크래시 문제가 수정되었습니다.

1.5.5 (2024/11/06)

  1. FTResourceMetricsModel에서 배열 범위 초과로 인한 크래시 문제가 수정되었습니다.

1.5.4 (2024/10/18)

  1. 전역, Log, RUM globalContext 속성을 동적으로 설정하는 방법이 추가되었습니다.
  2. 아직 서버에 업로드되지 않은 모든 데이터를 삭제하는 데이터 초기화 메서드가 추가되었습니다.
  3. 동기화 간격으로 지원되는 최대 시간 간격이 5000밀리초로 조정되었습니다.

1.5.3 (2024/10/09)

  1. LongTask 및 ANR 수집 시 속성 한정자(property modifier) 오사용으로 인한 메모리 접근 오류 크래시가 수정되었습니다.
  2. FTSwizzler의 메서드 시그니처 검증 단언(assertion)이 내부 경고 로그로 대체되었습니다.
  3. 수집 데이터의 소수점 정밀도가 개선되었습니다.

1.5.2 (2024/08/21)

  1. Xcode 16 컴파일 시 #include <arm/_mcontext.h> 헤더 파일 누락 오류가 수정되었습니다.
  2. RUM-Resource 자동 수집 시 로컬 캐시에서 직접 가져오거나 유형을 알 수 없는 Resource를 필터링하여 중복 수집을 방지합니다.
  3. UITabBarController 하위 뷰의 loadingTime 계산 로직이 수정되었습니다.

1.5.1 (2024/08/02)

  1. Line Protocol 데이터 이스케이프 알고리즘이 수정되어 줄바꿈 문자로 인한 데이터 동기화 실패 문제를 해결합니다.
  2. 오류 유형이 network_error인 오류 메시지가 개선되어 네트워크 요청 오류 코드를 영어로 통일하여 설명합니다.
  3. 데이터 동기화 로직이 개선되어, 다중 스레드가 해제된 uploadDelayTimer에 접근하여 발생하는 크래시 문제를 수정합니다.
  4. 크래시 정보 수집 시 OC와 C 문자열 변환 과정의 인코딩 형식 오류로 인한 크래시 문제가 수정되었습니다.

1.5.0 (2024/06/03)

  1. RUM resource 네트워크 요청에 원격 IP 주소 해석 기능이 추가되었습니다.
  2. Line Protocol Integer 데이터 호환 모드가 추가되어 웹 데이터 유형 충돌 문제를 처리합니다.
  3. 로그에 사용자 정의 status 메서드가 추가되었습니다.
  4. 로그 데이터 쓰기 및 데이터 동기화가 최적화되었습니다.
  5. SDK로 전달되는 NSDictionary 유형 파라미터에 형식 처리를 적용하여 JSON 변환 실패로 인한 데이터 손실을 방지합니다.

1.4.14 (2024/05/29)

  1. FTSwizzler 내부에서 이미 해제된 Class 객체에 접근하여 발생하는 메모리 접근 오류 크래시가 수정되었습니다.
  2. SDK로 전달되는 NSDictionary 유형 파라미터가 실제로는 변경 가능한(mutable) 객체일 때 발생할 수 있는 데이터 일관성 및 연산 충돌 문제가 수정되었습니다.

1.4.13 (2024/05/15)

  1. RUM LongTask 및 ANR 수집이 최적화되어 LongTask 스택 정보 수집이 부정확한 문제를 수정하고, 치명적 멈춤(fatal hang) 수집을 지원합니다.
  2. FTSwizzler 내부에서 여러 스레드가 NSMutableSet을 동시에 조작하여 발생하는 크래시가 수정되었습니다.
  3. SDK Framework를 패키징할 때 info.plist의 버전 정보가 누락되는 문제가 수정되었습니다.
  4. 사용자 정의 NSURLSession에 delegate가 설정되지 않은 경우 Resource 성능 지표 수집이 실패하는 문제가 수정되었습니다.
  5. SDK 내부 로그를 파일로 변환하는 기능이 최적화되어 파일 경로를 지정하는 메서드가 추가되었습니다.

1.4.12 (2024/04/26)

  1. SDK에서 종료 메서드 shutDown을 호출할 때 발생하는 메모리 누수 문제가 수정되었습니다.
  2. RUM-Resource 수집 시 다른 라이브러리와의 충돌로 인한 크래시 문제가 수정되었습니다.
  3. 크래시 수집 시 UncaughtExceptionHandler가 전달되지 않는 문제가 수정되었습니다.
  4. SDK를 여러 번 초기화할 때 발생하는 데이터 이상 문제가 수정되었습니다.

1.4.11(2024/03/28)

  1. 데이터 동기화 파라미터, 요청 항목 데이터, 동기화 간격 시간, 로그 캐시 항목 수를 구성하는 기능이 추가되었습니다.
  2. 내부 로그를 파일로 변환하는 메서드가 추가되었습니다.
  3. 로그와 RUM 데이터 연결 시 데이터를 가져오지 못하는 오류가 수정되었습니다.
  4. 시간 소요 작업이 최적화되었습니다.
  5. WebView jsBridge 사용 시 발생하는 크래시가 수정되었으며, WebView 참조가 약한 참조(weak)로 변경되었습니다.

더 많은 로그

문서 평가

이 페이지가 도움이 되었나요?