릴리스 노트¶
ft-sdk¶
1.7.5 (2026/08/16)¶
- OkHttp WebSocket 핸드셰이크 RUM Resource 수집 추가:
FTRUMConfig.setEnableTraceUserResource(true)를 활성화하고ft-plugin >= 1.3.8을 사용하면 자동 수집되며,FTWebSocket.newWebSocket(...)또는FTWebSocket.wrap(...)을 통해 수동으로 연동할 수도 있습니다. 데이터에resource_type=websocket,resource_websocket_collection_level=handshake,resource_websocket_handshake_state(success,rejected,failed) 필드가 추가됩니다. - 백그라운드 컴포넌트가 첫 번째 Activity보다 먼저 시작될 때 콜드 스타트 Action의
app_launch_type분류가 부정확하고, 시작 시간에 기기의 딥 슬립 시간이 포함되는 문제를 수정했습니다. FTRUMConfig.setIssueDataProvider(...)추가: 자동 수집된 Crash 및 ANR RUM Error에 사용자 정의 필드를 추가할 수 있도록 지원하며, 이전에 복구된 ANR 데이터도 포함됩니다.- Android 11(API 30) 이상에서 치명적 ANR 복구 기능 추가:
FTRUMConfig.setEnableTrackAppANR(true)를 활성화하면 SDK가 프로세스 후속 시작 시 치명적 ANR을 복구하고 원래 RUM View 연결을 유지합니다. Android 10 이하에서는 실시간 watchdog/native ANR 수집을 계속 사용하며, Android 11 이상에서는 비치명적 실시간 ANR을 수집하지 않습니다. - 동일 SDK 수명 주기 내에서 watchdog ANR이 중복 보고되고,
FTSdk.shutDown()호출 시 감지 스레드가 적시에 종료되지 않는 문제를 수정했습니다. - WebView Browser Log 수집 추가:
FTLoggerConfig.setEnableWebViewLog(true)로 활성화할 수 있으며, 로그 필터링, 캐시 업로드,FTLoggerConfig.setEnableLinkRumData(...)RUM 연결 및 원격logEnableWebViewLog구성을 지원합니다. - WebView 호스트 구성 최적화:
FTSDKConfig.setAllowWebViewHost(...)를 추가하여 WebView RUM 및 Log의 호스트 범위를 통합 제어하고,FTRUMConfig.setAllowWebViewHost(...)는 더 이상 사용되지 않습니다(Deprecated). - Session Replay 중지 후에도 WebView와 Activity를 계속 보유하여 발생하는 메모리 누수를 수정했습니다.
1.7.4 (2026/07/15)¶
- 실험적 Android RUM Heatmap 지원 추가: RUM 데이터에
display,action_position,action_target필드가 추가됩니다. 리플레이 요소 연결을 위해서는ft-session-replay >= 0.1.7이 필요합니다. - 로케일 관련 파싱 문제를 수정하고, 사용자 정의 로그 콘솔 출력의 내결함성을 개선했습니다.
1.7.3 (2026/07/02)¶
FTSdk.setAutoSync(boolean)추가: SDK 초기화 후 캐시 데이터 자동 동기화를 동적으로 활성화/비활성화할 수 있습니다.FTLoggerConfig.setLogLevelFilters가warn과warning로그 레벨 필터 값을 일관되지 않게 처리하는 문제를 수정했습니다.- Native Crash 및 ANR의 logcat 구성 적용 문제를 수정하여, 각각
nativeCrashLogCatSetting과anrCrashLogCatSetting을 올바르게 사용하도록 했습니다. - 시작 단계의 캐시 수량 초기화와 파일 캐시 크기 갱신 로직을 최적화하여 SDK 시작 시 메인 스레드가 차단되지 않도록 했습니다.
- 파일 캐시 크기 통계 방식을 최적화하여, 지속적인 증분 메타데이터를 사용함으로써 대용량 FileStore 시나리오에서 캐시 상한 판단 정확성과 쓰기 성능을 향상시켰습니다.
- 전체 캐시 크기 제한 활성화 시 RUM 캐시 정책의 잠금 경합을 최적화하여, 고동시성 FileStore 쓰기 안정성을 개선했습니다.
- 원격 구성 로그 표시를 최적화하여,
rumAllowWebViewHost,logLevelFilters등의 배열 필드가 실제 내용을 출력하도록 했습니다.
1.7.2 (2026/05/20)¶
- DataKit과 호환되는 데이터 필터링 기능 추가: Logging 및 RUM 데이터에 대해 로컬 및 원격 규칙 필터링을 지원합니다. 기본적으로 활성화되어 있으며,
FTSDKConfig.setEnableDataFilter(false)로 비활성화할 수 있습니다. FTSDKConfig.setDataFilters추가: 로컬 필터 규칙과 원격 필터 규칙 가져오기 간격을 구성할 수 있습니다. 필터 규칙은LineDataModifier이후, 로컬 캐시 쓰기 이전에 실행됩니다.- 범용 캐시 크기 제한 구성 추가:
FTSDKConfig.enableLimitWithCacheSize,FTSDKConfig.setCacheDiscard,CacheDiscard. 기존enableLimitWithDbSize,setDbCacheDiscard는 계속 사용할 수 있지만 새 인터페이스로 마이그레이션하는 것이 좋습니다. - 파일 캐시 기능
FTSDKConfig.enableFileDataStore()추가: 동기화 캐시 및 RUM 집계 데이터에 사용되며, 기존 캐시와의 호환성을 위한 마이그레이션 경로를 제공합니다. ft-sdk가 더 이상ft-session-replay에 강제로 의존하지 않습니다. Session Replay를 활성화하지 않은 앱은ft-session-replay의존성을 추가로 가져올 필요가 없습니다.- 콜드 스타트 Action에
app_launch_type필드 추가: 포그라운드 시작과 백그라운드 시작을 구분합니다. - RUM 폴백 View 데이터 추가:
ApplicationLaunch,BackgroundView,RootView시나리오에서 실제 View 요약 레코드를 생성하여, 시작, 백그라운드 및 포그라운드 View가 없는 RUM 이벤트가 임의의view_id와 연결될 수 있도록 합니다. - 데이터 동기화 전략 최적화: RUM 데이터를 우선 동기화하고, 데이터 유형별로 재시도 및 백오프 상태를 분리하여 로그 동기화가 RUM 데이터 보고에 미치는 영향을 줄였습니다.
- 사용자 정의 Resource 속성이 SDK에서 계산한
duration을 덮어쓸 수 있는 문제를 수정하고, 예외 발생 시 소요 시간에 대해 음수 값 보호를 적용했습니다. - Session Replay 업로드 재시도 및 업로드 주소 유효성 검사 로직을 수정하여, 유효하지 않은 주소가 반복적으로 업로드를 트리거하지 않도록 하고, 재시도 가능한 실패는 백오프 전략에 따라 처리되도록 했습니다.
1.7.1 (2026/04/30)¶
- View RUM 메트릭
view_long_task_rate추가: View 수명 주기 내에서 Long Task 총 시간 비율을 통계하며, 최대값은1입니다. - 크래시 RUM Error 메트릭
foreground_crash_free_duration및background_crash_free_duration추가: 포그라운드와 백그라운드에서 크래시 없이 실행된 시간을 구분합니다. - Resource 네트워크 스냅샷 필드 추가:
network_available,network_validated,network_downlink_kbps,network_uplink_kbps,network_signal_strength. - SDK 데이터 동기화 시 deflate 압축이 기본적으로 활성화됩니다.
FTSDKConfig.setCompressIntakeRequests(false)로 비활성화할 수 있습니다. ft-sdk와 Session Replay 모듈 간의 버전 의존성 제약 조건을 수정하여, 통합 호환성 검증의 정확성을 향상시켰습니다.
1.7.0 (2026/04/17)¶
- Session Replay 기능 추가: WebView Session Replay, DCloud WebView 및 WebView 컨테이너의 전체 스냅샷 키프레임 수집을 지원합니다.
- Session Replay와 RUM 컨텍스트 연결 기능 추가: WebView 컨테이너와 로드된 HTML 콘텐츠의 컨텍스트를 연결할 수 있습니다.
- Session Replay 오류 샘플링 기능 추가: 원격 구성을 통해 Session Replay를 동적으로 제어할 수 있습니다.
- Session Replay 이미지 리소스 업로드 기능 추가: userAgent, appVersion 등의 매개변수 전달 및 동기화 링크 적응을 보완했습니다.
- Session Replay 초기화, 청크 보간 프레임, 프레임 생성 및 소비, 지연 쓰기, 디스크 쓰기 제한 등 로직을 최적화하여 녹화 및 동기화 안정성을 개선했습니다.
- WebView 데이터 손실, 보이지 않는 화면 처리 예외, 너무 이른 쓰기로 인한 흰 화면, 낮은 버전 OkHttp 동기화 실패, Bitmap 재활용으로 인한 녹화 실패 등의 문제를 수정했습니다.
- 일부 컨트롤에서 레이아웃이 완료되지 않았을 때 관련 메서드를 호출하여 발생하는 크래시 문제를 수정하여 전반적인 안정성과 호환성을 개선했습니다.
1.6.17 (2026/3/25)¶
- 1.6.16 버전에서 도입된 문제 수정: 원격 동적 구성이 처음 로드될 때 적용되지 않던 문제.
TraceContext및TraceContext.Simple추가: 사용자 정의 Trace Header 처리를 위한 인터페이스입니다.HeaderHandler.getTraceContext(Request)를 재정의하여headers,traceId,spanId를 한 번에 제공할 수 있으며, 기존getTraceHeader,getTraceID/getSpanID구현과 완전히 호환됩니다.FTSdk.setDatakitUrl(url),FTSdk.setDatawayUrl(datawayUrl, clientToken)을 통해 전송 주소를 동적으로 변경할 수 있습니다.
1.6.16 (2026/1/08)¶
- globalContext 및 속성 키에 잘못된 문자 필터링을 추가했습니다.
resource_type지원 범위 확장: image, media, font, CSS, JS, native 유형을 추가했습니다.FTSDKConfig.setRemoteConfigurationCallBack(FTRemoteConfigManager.FetchResult),FTSdk.updateRemoteConfig(int remoteConfigMiniUpdateInterval, FTRemoteConfigManager.FetchResult result)를 통해 원격 변수에 대한 사용자 정의 파싱 및 구성을 지원합니다.- Resource에
resource_http_protocol,resource_request_size,resource_connection_reuse필드 추가. - 콜드 스타트 시간 메트릭 세분화:
app_pre_application_init_time,app_application_init_time,app_first_frame_init_time추가. - OkHttp 3.12 이상 버전에 대한 호환성 지원 추가.
- Resource 요청 시작 시간이 정확하지 않은 문제를 수정했습니다.
- SDK 종료 과정에서 Action 및 View를 가져올 때 간헐적으로 발생하는 널 포인터 예외를 수정했습니다.
- 오류 스택 형식 최적화: 특정 시나리오에서 줄바꿈 오류가 발생하는 문제를 수정했습니다.
- 애플리케이션이 백그라운드에 있을 때 제한된 Long Task 모니터링 기능을 추가했습니다.
- 애플리케이션 백그라운드 상태에서의 Session 갱신 메커니즘을 최적화했습니다.
- Action, View, Resource의 나노초 단위 소요 시간 계산 로직을 최적화했습니다.
1.6.15 (2025/12/03)¶
- FPS 모니터링 메커니즘 최적화: 메인 스레드에서 시작하며, 애플리케이션이 백그라운드로 전환되면 자동으로 모니터링을 중지합니다.
- 4K를 초과하는 긴 로그 출력 메커니즘 최적화: 로그 가독성과 완전성을 향상시킵니다.
- View 컨텍스트에서 resource, long task, error 생성 로직 최적화.
- View 생성 속도 향상 및 동일한
view_id를 가진 트래픽 데이터 감소. - 하위 프로세스에서 ActivityLifecycleCallbacks에 대한 제한을 제거하여 수명 주기 모니터링을 더 완전하게 합니다.
- View에서 간헐적으로 발생하는 데이터 업데이트 손실 문제를 수정했습니다.
- 비동기 네트워크 요청으로 인한 세션 갱신 예외를 수정했습니다.
- SDK 종료 후 다시 초기화할 때 유휴 상태에서 DB 해제를 트리거하지 못하는 문제를 수정했습니다.
1.6.14 (2025/08/20)¶
- ContentProvider를 사용하여 다중 프로세스 데이터 수집의 고부하 시나리오에서 호환성 문제를 최적화했습니다.
- SDK AndroidManifest의
android.permission.READ_PHONE_STATE선언을 제거했습니다. 통합 측에서 실제 상황에 따라 직접 추가해야 합니다. 권한 사용 설명은 통합 문서를 참조하세요. - 하위 프로세스의 데이터 동기화를 제한합니다. 하위 프로세스에서 수집한 데이터는 메인 프로세스에서 데이터를 보고합니다.
1.6.13 (2025/08/10)¶
FTRUMConfig.setActionTrackingHandler추가: 사용자 정의 작업 추적을 지원합니다. 이 핸들러를 통해 개발자는 RUM 데이터의 사용자 작업(앱 시작, 클릭) 추적 방식을 사용자 정의할 수 있습니다. 작업 이름을 수정하거나, 사용자 정의 속성을 추가하거나, 특정 작업 추적을 건너뛸 수 있습니다.FTRUMConfig.setViewActivityTrackingHandler추가: 사용자 정의 Activity 페이지 추적을 지원합니다. 이 핸들러를 통해 개발자는 RUM 데이터의 Activity 페이지 추적 방식을 사용자 정의할 수 있습니다. 페이지 이름을 수정하거나, 사용자 정의 속성을 추가하거나, 특정 Activity 추적을 건너뛸 수 있습니다.FTRUMConfig.setViewFragmentTrackingHandler추가: 사용자 정의 Fragment 페이지 추적을 지원합니다. 이 핸들러를 통해 개발자는 RUM 데이터의 Fragment 페이지 추적 방식을 사용자 정의할 수 있습니다. 페이지 이름을 수정하거나, 사용자 정의 속성을 추가하거나, 특정 Fragment 추적을 건너뛸 수 있습니다.FTRUMGlobalManager.addAction에 bindUserData 관련 정보(userid 등)가 누락된 문제를 수정했습니다.- View의
Fragment에load_time데이터 메트릭 추가. FTRUMGlobalManager.updateTime추가: 현재 View의 로드 시간을 사용자 정의하는 데 사용됩니다.- OkHttp 3.12.x 버전과의 호환성 향상.
FTRUMConfig.appendRUMGlobalContext를 통해 추가된 태그를 세션 기간 동안 업데이트할 수 있습니다.
1.6.12 (2025/06/11)¶
FTRUMConfig.setEnableTraceWebView추가: Android SDK를 통한 WebView 데이터 수집 활성화 여부를 구성합니다.FTRUMConfig.setAllowWebViewHost를 통해 필터링할 호스트 주소를 제어할 수 있습니다.ContentHandlerHelperEx.onExceptionWithFilter추가: 로컬 네트워크 오류를 필터링하는 데 사용할 수 있습니다.FTSDKConfig.setRemoteConfiguration추가: 원격 조건 구성 기능 활성화를 지원합니다.FTSDKConfig.setRemoteConfigMiniUpdateInterval추가: 원격 제어 활성화 후 최소 업데이트 간격을 설정할 수 있습니다.
1.6.11 (2025/05/15)¶
FTRUMConfig.setEnableTraceUserViewInFragment추가: Fragment View 데이터 수집을 지원합니다. 기본값은false입니다.FTSDKConfig.setLineDataModifier,FTSDKConfig.setDataModifier추가: 데이터 쓰기 시 대체 및 데이터 마스킹을 지원합니다.FTRUMConfig.setSessionErrorSampleRate추가: 오류 샘플링을 지원합니다.setSamplingRate에 의해 샘플링되지 않은 경우, 오류 발생 시 1분 전의 RUM 데이터를 샘플링하여 수집할 수 있습니다.FTSDKConfig.setEnableAccessAndroidID(false)인 경우, 로컬 랜덤UUID를device_uuid로 사용합니다.- 고빈도 로그 쓰기 최적화, 데이터 동기화 및 데이터 유휴 종료 로직 최적화.
1.6.10 (2025/04/18)¶
FTSDKConfig.setEnableOkhttpRequestTag추가: OkHttp request에 고유 ResourceID를 추가하여 동일 요청의 고동시성 trace_id, span_id 오정렬 문제를 해결합니다. ft-plugin 1.3.5 이상 버전에서 ResourceID 자동 추가를 지원합니다.- RUM 구성을 여러 번 초기화하는 시나리오에서 다른 크래시 수집 SDK와의 순환 호출 문제를 수정했습니다.
- 네이티브 페이지에서 WebView 페이지로 이동할 때 네이티브 페이지 이름으로 view_referrer를 채웁니다.
- 네트워크 요청 IOException 재발생 시 원본 유형이 변조되는 문제를 수정했습니다.
- FTSDKConfig에
setProxy,setProxyAuthenticator,setDns추가: OkHttp 데이터 동기화 네트워크 요청에 대한 Proxy, ProxyAuthenticator, Dns 구성을 지원합니다. - OkHttp 데이터 동기화 네트워크 요청이 알려진 hostName DNS IP 라운드 로빈 연결을 지원합니다.
1.6.9 (2025/03/07)¶
- isAppForeground 판단 메커니즘 수정: 개인 정보 보호 민감 정보 감지에 적응합니다.
resource데이터 필드resource_first_byte_time,resource_dns_time,resource_download_time,resource_connect_time,resource_ssl_time추가: Guance에서 Resource 소요 시간 강화 표시를 지원하고, APM 플레임 그래프의 타임라인 정렬을 지원합니다.- 동기화 재시도 메커니즘 최적화:
FTSDKConfig.setDataSyncRetryCount(0)설정 시 데이터를 직접 폐기하는 옵션을 취소했습니다. FTSDKConfig.enableDataIntegerCompatible기본 활성화: 웹 숫자 부동 소수점 유형 데이터와의 호환성을 위해 사용됩니다.- RUM 구성을 여러 번 초기화하는 시나리오에서 크래시 데이터가 중복 생성되는 문제를 수정했습니다.
1.6.8 (2025/01/21)¶
- RUM 구성을 여러 번 초기화할 때 FPS 수집이 정확하지 않은 문제를 수정했습니다.
- 구 버전 캐시 데이터 업그레이드에 대한 내결함성 처리.
FTRUMConfig.setOkHttpTraceHeaderHandler를FTTraceConfig.setOkHttpTraceHeaderHandler로 마이그레이션했습니다.- WebView SDK 내부 정보 강화 및 성능 최적화.
1.6.7 (2025/01/10)¶
- 사용자 정의
FTTraceInterceptor.HeaderHandler와 RUM 데이터 연결을 지원합니다. FTRUMConfig.setOkHttpTraceHeaderHandler를 통해 ASM이 작성한FTTraceInterceptor.HeaderHandler내용을 변경할 수 있으며,FTRUMConfig.setOkHttpResourceContentHandler를 통해 ASM이 작성한FTResourceInterceptor.ContentHandlerHelper내용을 변경할 수 있습니다.- 크래시 수집 기능 최적화: 일부 OS에서
system.exit를 트리거하여 크래시 데이터를 수집할 수 없는 시나리오에 적응합니다. - 태그가 간헐적으로 빈 문자열이 되어 데이터가 정상적으로 보고되지 않는 문제를 수정했습니다.
- ASM OkHttpListener EventListener 재정의 로직 최적화: 원본 프로젝트 EventListener 이벤트 매개변수 전달을 유지하도록 지원합니다.
1.6.6 (2024/12/27)¶
- 네트워크 상태 및 유형 획득 최적화: ethernet 유형의 네트워크 유형 표시를 지원합니다.
- 네트워크가 없는 상태에서 데이터 쓰기로 인해 데이터베이스가 빈번하게 닫히는 문제를 최적화했습니다.
- 로그 및 RUM의 오래된 데이터 폐기 시, 데이터 항목 수와 설정된 항목 수의 편차 문제를 수정했습니다.
- TV 장치 키 이벤트 적응: 비 TV 장치 태그를 제거했습니다.
FTRUMConfig.setRumCacheLimitCount(int)를 통해 RUM 데이터 캐시 항목 수 상한을 제한할 수 있습니다. 기본값은 100,000입니다.FTSDKConfig enableLimitWithDbSize(long dbSize)를 통해 전체 캐시 크기 제한 기능을 지원합니다. 활성화하면FTLoggerConfig.setLogCacheLimitCount(int)및FTRUMConfig.setRumCacheLimitCount(int)는 더 이상 적용되지 않습니다.- 장치 조작이 없는 시나리오에서 Session 갱신 규칙을 최적화했습니다.
1.6.5 (2024/12/24)¶
- WebView가 AOP 과정에서 매개변수가 null일 때의 경고를 약화시켰습니다.
- 애플리케이션이 백그라운드에서 긴 Session을 갱신하는 메커니즘을 최적화했습니다.
1.6.4 (2024/12/03)¶
- API 24 이상에서 앱 시작 시간 통계를 최적화했습니다.
FTRUMConfig.setEnableTrackAppUIBlock(true, blockDurationMs)를 통해 감지 시간 범위를 설정할 수 있습니다.
1.6.3 (2024/11/18)¶
- 사용자 정의
addAction의 고빈도 호출 시 성능을 최적화했습니다. FTSDKConfig.setCompressIntakeRequests를 사용하여 동기화 데이터에 대한deflate압축 구성을 지원합니다.
1.6.2 (2024/10/24)¶
- RUM에
addAction메서드 추가: property 확장 속성과 빈번한 연속 데이터 보고를 지원합니다.
1.6.1 (2024/10/18)¶
- RUM에서 사용자 정의
startView를 단독으로 호출할 때 모니터링 메트릭FTMetricsMTR스레드가 회수되지 않는 문제를 수정했습니다. FTSdk.appendGlobalContext(globalContext),FTSdk.appendRUMGlobalContext(globalContext),FTSdk.appendLogGlobalContext(globalContext)를 통해 동적 속성을 추가할 수 있습니다.FTSdk.clearAllData()를 통해 보고되지 않은 캐시 데이터를 정리할 수 있습니다.- SDK
setSyncSleepTime최대 제한이 5000ms로 연장되었습니다.
1.6.0 (2024/08/18)¶
- 데이터 저장 및 동기화 성능 최적화
(구 버전에서 1.6.0으로 업그레이드하려면
FTSDKConfig.setNeedTransformOldCache를 구성하여 구 데이터 호환 동기화를 수행해야 합니다.) - ft-plugin 사용 시
Log.w(String,Throwable)호출로 인해 예외가 발생하는 문제를 수정했습니다.
1.5.2 (2024/07/10)¶
- Error network_error에 로컬 네트워크 오류 유형 힌트 추가: Resource 데이터에서 resource_status=0인 시나리오를 보충 설명하는 데 사용됩니다.
setEnableTrackAppCrash(false)설정 시 uncaughtException rethrow 전달 문제를 수정했습니다.
1.5.1 (2024/06/19)¶
- Java Crash 및 ANR에 다른 스레드의 코드 스택을 추가했습니다.
- Java Crash, Native Crash, ANR에 추가 logcat 구성 기능을 추가했습니다.
- 긴 세션 및 action 업데이트가 없는 시나리오에서 session_id가 빈번하게 업데이트되는 문제를 수정했습니다.
1.5.0 (2024/06/03)¶
- RUM Resource 네트워크 요청에 원격 IP 주소 확인 기능을 추가했습니다.
- RUM SampleRate 활성화 후 고동시성 네트워크 요청으로 인한 배열 스레드 안전 문제를 수정했습니다.
ConnectivityManager.registerDefaultNetworkCallback메서드 내결함성 최적화.- 웹 데이터 유형 충돌 문제를 처리하기 위해 라인 프로토콜 Integer 데이터 호환 모드를 추가했습니다.
- 자동 수집 Action click에서 컨트롤 리소스 이름 ID 획득 최적화.
- SDK config 구성 읽기 예외 문제에 대한 내결함성 최적화.
1.4.6 (2024/05/15)¶
- SDK 초기화 내결함성 최적화.
- 로그에 새로운 Status.Debug 유형 추가.
- 콘솔 로그 수집 레벨 대응 관계 조정:
Log.i->info,Log.d->debug. - FTLogger 사용자 정의 로그에서 사용자 정의 status 필드를 지원합니다.
1.4.5 (2024/04/26)¶
- 중복 초기화 호환성 최적화 처리.
- c/c++ 크래시 수집 데이터 동기화 로직 최적화: 특정 시나리오에서 예기치 않은 중단 종료로 인한 교착 상태를 방지합니다.
- startAction Property 속성 쓰기 로직 최적화: 스레드 안전 접근 문제를 방지합니다.
1.4.4 (2024/04/01)¶
- 데이터베이스 연결 내결함성 보호.
setOnlySupportMainProcesstrue 설정 시 하위 프로세스 구성이 일부 적용되지 않는 문제를 수정했습니다.- RUM에서 View 수집을 활성화하지 않을 때 Crash가 rethrow되지 않는 문제를 수정했습니다.
1.4.3 (2024/03/22)¶
- Dataway 및 Datakit 주소 업로드 지원.
- Action, View, Resource, LongTask, Error 유형의 RUM 데이터 전송 지원.
- View, Action 페이지 이동, 컨트롤 클릭 작업 자동 수집: ft-plugin 필요.
- Resource 자동 수집: OkHttp만 지원하며 ft-plugin 필요.
- Error 중 Native Crash 및 ANR: ft-native 필요.
- Log 데이터 전송 지원, 콘솔 자동 쓰기: ft-plugin 필요.
- 분산 추적 HTTP header propagation: OkHttp만 지원하며 ft-plugin 필요.
- 데이터 동기화 매개변수 구성 지원: 요청 항목 데이터, 동기화 간격 시간, 로그 캐시 항목 수.
- SDK 내부 로그를 파일로 변환 지원.
ft-session-replay¶
0.1.8 (2026/08/16)¶
ft-session-replay¶
- Session Replay 리소스 검사 및 업로드 시
FTSessionReplayConfig.enableLinkRUMKeys(...)에 의해 선택된 RUMglobalContext를 전달하여, 리소스 요청이 해당 RUM 컨텍스트를 유지하도록 합니다. - Session Replay 중지 후에도 WebView와 Activity를 계속 보유하여 발생하는 메모리 누수를 수정했습니다.
ft-session-replay-material¶
- 변경 사항 없음.
ft-session-replay-compose¶
- 변경 사항 없음.
0.1.7 (2026/07/15)¶
ft-session-replay¶
- 실험적 Android Heatmap의 Session Replay 요소 연결 기능 추가:
ft-sdk >= 1.7.4와 함께 사용해야 합니다. - 멀티 터치 및 제스처 취소 시나리오에서 Pointer ID와 좌표 기록이 올바르지 않은 문제를 수정했습니다.
- 터키어 등 로케일 환경에서
PrivacyOverrideExtensions.setSessionReplayTouchPrivacy(View, TouchPrivacy)를 통해 구성된 View 터치 개인 정보 보호 재정의가 적용되지 않을 수 있는 문제를 수정했습니다.
ft-session-replay-material¶
- 변경 사항 없음.
ft-session-replay-compose¶
- 변경 사항 없음.
0.1.6 (2026/07/09)¶
ft-session-replay¶
- Flutter Session Replay 외부 레코더 모드 추가: Flutter 측 레코더가 Session Replay 샘플링, 컨텍스트 업데이트 및 데이터 쓰기 기능을 재사용하면서 네이티브 레코더 수명 주기를 종료할 수 있습니다.
- Session Replay가
DialogFragment를 처리할 때getDialog()또는 소속 Window가 null이어서 발생하는 크래시 문제를 수정했습니다.
ft-session-replay-material¶
- 변경 사항 없음.
ft-session-replay-compose¶
- 변경 사항 없음.
0.1.5 (2026/05/19)¶
ft-session-replay¶
- Flutter Session Replay 업로드 호환성 기능 추가: Flutter RUM 컨텍스트 Key를 통해 Replay 배치를 해당 Segment에 매핑할 수 있습니다.
- 일반 저장소와 암호화 저장소 구현에서 Session Replay 파일 읽기/쓰기 팩토리의 호환성 문제를 수정했습니다.
- Session Replay 데이터 및 리소스 업로드의 재시도 상태 처리를 수정했습니다. 업로드 실패 시 백오프 전략에 따라 재시도하며, 유효하지 않은 업로드 주소는 사용 가능한 주소가 구성될 때까지 건너뜁니다.
- Session Replay에 남아 있는 JetBrains null 값 어노테이션을 AndroidX 어노테이션으로 교체하여 중복 어노테이션 의존성을 줄였습니다.
ft-session-replay-material¶
- 변경 사항 없음.
ft-session-replay-compose¶
- 변경 사항 없음.
0.1.4 (2026/04/30)¶
ft-session-replay¶
- 중복 Kotlin 의존성 제거로 Session Replay 의존성 관계 단순화.
- Session Replay 구성, 개인 정보 제어, 사용자 정의 Mapper 확장, 리소스 업로드 콜백 등 공개 API 주석을 보완하여 Java/Kotlin 통합 시 IDE 힌트 및 사용자 정의 확장 개발 경험을 향상시켰습니다.
ft-session-replay-material¶
ft-session-replay0.1.4와 버전을 맞추며, API 또는 동작 변경 사항 없음.
ft-session-replay-compose¶
AndroidView상호 운용 노드 녹화 시, 낮은 버전 Session Replay Core에MappingContext.getInteropViewCallback()이 없어 발생하는 크래시를 수정했습니다.- consumer ProGuard 규칙 추가: Compose Replay가 의존하는
MappingContextAndroidView 상호 운용 콜백 접근 메서드를 유지합니다. - Compose Replay의
Modifier개인 정보 재정의, 확장 지원, 텍스트 잘림 모드 및 이미지 Wireframe 헬퍼 메서드 주석을 보완하여 Kotlin/Compose 통합 시 IDE 힌트를 향상시켰습니다.
0.1.3 (2026/04/17)¶
ft-session-replay¶
- WebView Session Replay 기능 추가: DCloud WebView 및 WebView 컨테이너의 전체 스냅샷 키프레임 수집을 지원합니다.
- Session Replay와 RUM 컨텍스트 연결 기능 추가: WebView 컨테이너와 로드된 HTML 콘텐츠의 컨텍스트를 연결할 수 있습니다.
- 오류 샘플링 기능 추가: 원격 구성을 통해 Session Replay를 동적으로 제어할 수 있습니다.
- 이미지 리소스 업로드 기능 추가: userAgent, appVersion, forceFullSnapshot 등 메타데이터 처리를 보완했습니다.
- 프레임 생성 및 소비, 청크 보간 프레임, WebView Replay 데이터 지연 쓰기, 보이지 않는 WebView 처리 및 디스크 쓰기 제한을 최적화하여 안정성과 성능을 향상시켰습니다.
- WebView Replay 데이터 손실, 너무 이른 쓰기로 인한 흰 화면, 낮은 버전 OkHttp 동기화 실패, Bitmap 재활용으로 인한 녹화 실패, rumLinkKey null 값 처리 및 다중 이미지 시나리오에서 녹화 시간 초과 등의 문제를 수정했습니다.
ft-session-replay-material¶
- Session Replay의 Material 컴포넌트 지원 추가: CardView 및 Chip 포함.
- 낮은 버전 Android의 호환성 및 디버그 지원 최적화.
- Material 컴포넌트의 Replay 데이터 내 렌더링 성능 최적화: MaterialDrawableToColorMapper 규칙 업데이트.
ft-session-replay와 버전 전략을 맞추어 릴리스 관리 및 통합 일관성 향상.
ft-session-replay-compose¶
- Jetpack Compose Session Replay 지원 추가:
ComposeView및AndroidComposeView시나리오의 녹화 및 리플레이를 지원합니다. - 일반적인 Compose 컴포넌트의 의미론적 매핑 및 리플레이 지원: 텍스트, 텍스트 입력 상자, 버튼, 이미지, 슬라이더, Switch, Checkbox, RadioButton, Tab 및 컨테이너 클래스 노드 포함.
- Compose에서
Modifier를 통한 Session Replay 개인 정보 재정의 지원: 노드 숨기기, 이미지 개인 정보, 텍스트 및 입력 개인 정보, 터치 개인 정보 포함. - 현재 Compose 리플레이는 의미론적 노드 매핑을 기반으로 하며, 픽셀 단위 복원을 보장하지 않습니다.
Brush배경(예: 선형 그래디언트, 방사형 그래디언트)은 아직 지원되지 않습니다.
ft-session-replay-material 더 많은 로그
ft-session-replay-compose 더 많은 로그
ft-native¶
1.1.3 (2026/04/30)¶
- Native Crash 역추적 견고성 강화: 널 주소 감지를 추가하고, libft_native_exp_lib.so에서 libunwind.so 역추적 시 널 포인터 및 와일드 포인터 검사를 강화했습니다.
- Native Crash 처리 과정에서 libunwind.so가 이차 크래시를 일으킬 수 있는 문제를 수정했습니다.
1.1.2 (2025/07/18)¶
- Android 16K 페이지 크기 적응(Android 15+ 호환)
1.1.1 (2024/06/22)¶
- Native Crash 및 ANR에 logcat 구성 기능 추가
1.1.0 (2024/03/22)¶
- ANR Crash 캡처 지원
- C/C++ Native Crash 캡처 지원
- 크래시 시 애플리케이션 실행 상태 수집 지원
- ANR 및 Native Crash 트리거 시 콜백 지원
ft-plugin (AGP >=7.4.2)¶
1.3.8 (2026/08/16)¶
- OkHttp
newWebSocket()자동 계측 추가:FTRUMConfig.setEnableTraceUserResource(true)를 활성화하면 WebSocket 핸드셰이크 RUM Resource를 자동 수집할 수 있으며,ft-sdk >= 1.7.5가 필요합니다.
1.3.7 (2026/06/26)¶
ignorePackages에 와일드카드 구성 지원 추가.autoUploadNativeDebugSymbol활성화 및 기본nativeLibPath자동 인식 사용 시, 일부 AGP 빌드에서 strip되지 않은 Native.so심볼 파일 디렉터리를 인식하지 못하여 심볼 압축 패키지 생성이 비정상적으로 발생하는 문제를 수정했습니다.
1.3.6 (2025/12/03)¶
- UniApp WebView 지원.
- ASM 작성을 위한 knownWebViewClasses 매개변수 추가.
- 로그를 파일로 출력하는 기능 추가.
- 더 많은 로그를 출력하기 위한 verboseLog 매개변수 추가.
- FTMethodAdapter에 숫자 값 경계 처리 추가.
- 사용자 정의 WebView의 내부 메서드를 필터링하기 위한 무시 구성 추가.
1.3.5 (2025/04/18)¶
- 동시 컴파일에서 plugin 매개변수 안정성 최적화.
- ASM이 FTAutoTrack.trackRequestBuilder 메서드를 작성하도록 추가: ft-sdk 1.6.10 이상 버전 필요.
- Log.println 로그 자동 수집 지원: ft-sdk 1.6.8 이상 버전 필요.
1.3.4 (2024/12/11)¶
- 오류 로그 출력 최적화.
- minifyEnabled가 활성화되지 않아 sourcemap 심볼 파일이 생성되지 않는 문제를 수정했습니다.
- generateSourceMapOnly true를 통해 sourcemap을 생성하지만 자동 업로드하지 않는 기능 지원.
1.3.3 (2024/09/04)¶
- native symbol so 자동 획득 및 업로드 최적화: 사용자 정의 nativeLibPath 지정 지원.
1.3.2 (2024/08/13)¶
- React Native WebView 이벤트 자동 캡처 지원.
1.3.1 (2024/07/04)¶
- asmVersion 구성 기능 추가: asm7 - asm9 지원, 기본값은 asm9.
- WebView 사용자 정의 메서드가 ASM 작성 후 순환 호출을 유발하여 WebView 내용을 로드할 수 없는 문제를 수정했습니다.
(관련 메서드:
loadUrl,loadData,loadDataWithBaseURL,postUrl) - IgnoreAOP가 클래스 내에서 선언되어 전체 클래스의 메서드를 무시하도록 지원.
ignorePackages구성 추가: 패키지 경로를 통한 ASM 무시 구성 지원.
1.3.0 (2024/03/22)¶
- Datakit source map 자동 업로드 지원, native symbol 업로드 지원.
- Application 콜드/핫 스타트, Activity 페이지 이동, View, ListView, Dialog, Tab 클릭 이벤트 캡처 지원.
- WebView JS 모니터링 메서드 작성 지원.
- OkHttp Trace 및 Resource 데이터 자동 작성 지원.
- Gradle 8.0, AGP 8.0 지원.
- IgnoreAOP 무시 표시 지원.
- Alibaba Cloud 핫픽스 프레임워크 호환 지원.
ft-plugin-legacy (AGP <=7.4.2)¶
1.1.9 (2025/12/09)¶
- UniApp WebView 지원.
- ASM 작성을 위한 knownWebViewClasses 매개변수 추가.
- 로그를 파일로 출력하는 기능 추가.
- 더 많은 로그를 출력하기 위한 verboseLog 매개변수 추가.
- FTMethodAdapter에 숫자 값 경계 처리 추가.
- 사용자 정의 WebView의 내부 메서드를 필터링하기 위한 무시 구성 추가.
1.1.8 (2024/08/13)¶
- React Native WebView 이벤트 자동 캡처 지원.
1.1.7 (2024/07/04)¶
- WebView 서브클래스 재정의 메서드가 ASM 작성 후 순환 호출을 유발하여 WebView 내용을 로드할 수 없는 문제를 수정했습니다.
(관련 메서드:
loadUrl,loadData,loadDataWithBaseURL,postUrl) - IgnoreAOP가 클래스 내에서 선언되어 전체 클래스의 메서드를 무시하도록 지원.
ignorePackages구성 추가: 패키지 경로를 통한 ASM 무시 구성 지원.
1.1.6 (2024/03/22)¶
- Datakit source map 자동 업로드 지원, native symbol 업로드 지원.
- Application 콜드/핫 스타트, Activity 페이지 이동, View, ListView, Dialog, Tab 클릭 이벤트 캡처 지원.
- WebView JS 모니터링 메서드 작성 지원.
- OkHttp Trace 및 Resource 데이터 자동 작성 지원.
- AGP 7.4.2 미만 버전 지원.
- IgnoreAOP 무시 표시 지원.
- Alibaba Cloud 핫픽스 프레임워크 호환 지원.