변경 로그¶
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을 수집하지 않습니다. - watchdog ANR이 동일한 SDK 수명 주기 내에서 중복 보고되고,
FTSdk.shutDown()호출 시 감지 스레드가 제때 종료되지 않는 문제를 수정했습니다. - WebView Browser Log 수집을 추가했습니다.
FTLoggerConfig.setEnableWebViewLog(true)로 활성화할 수 있으며, 로그 필터링, 캐시 업로드,FTLoggerConfig.setEnableLinkRumData(...)RUM 연결 및 원격logEnableWebViewLog구성을 지원합니다. - WebView host 구성을 최적화했습니다.
FTSDKConfig.setAllowWebViewHost(...)를 추가하여 WebView RUM과 Log의 host 범위를 통합 제어하며,FTRUMConfig.setAllowWebViewHost(...)는 더 이상 사용하지 않습니다. - 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)¶
- 블랙리스트 필터링 기능을 추가했습니다. 로컬 캐시에 쓰기 전에 Logging 및 RUM 데이터를 필터링할 수 있습니다. 규칙은
FTSDKConfig.setDataFilters로 앱 내에서 구성하거나, Guance 워크스페이스의 블랙리스트에서 자동으로 가져올 수 있으며 두 방식이 동시에 적용됩니다. 이 기능은 기본적으로 활성화되어 있으며FTSDKConfig.setEnableDataFilter(false)로 끌 수 있습니다. 필터 규칙은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 버전에서 도입된 원격 동적 구성이 최초 로드 시 적용되지 않는 문제를 수정했습니다.
- 사용자 정의 Trace Header 처리를 위한
TraceContext및TraceContext.Simple을 추가했습니다.HeaderHandler.getTraceContext(Request)를 재정의하여headers,traceId,spanId를 한 번에 제공할 수 있으며 기존getTraceHeader,getTraceID/getSpanID구현과 완전히 호환됩니다. FTSdk.setDatakitUrl(url),FTSdk.setDatawayUrl(datawayUrl, clientToken)을 통해 전송 주소를 동적으로 변경할 수 있습니다.
1.6.16 (2026/1/08)¶
- globalContext 및 속성 key에 잘못된 문자 필터링을 추가했습니다.
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를 가져올 때 간헐적으로 발생하는 null 포인터 예외를 수정했습니다.
- 오류 스택 형식을 최적화하고 특정 시나리오에서 줄바꿈 오류 문제를 수정했습니다.
- 앱이 백그라운드에 있을 때 제한된 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 shutdown 후 다시 초기화해도 유휴 상태 DB 해제가 트리거되지 않는 문제를 수정했습니다.
1.6.14 (2025/08/20)¶
- ContentProvider를 사용하여 다중 프로세스 데이터 수집의 고부하 시나리오 호환 문제를 최적화했습니다.
- SDK AndroidMainfest에서
android.permission.READ_PHONE_STATE선언을 제거했습니다. 통합 측에서 실제 상황에 따라 직접 추가해야 합니다. 권한 사용 설명은 통합 문서를 참조하세요. - 하위 프로세스의 데이터 동기화를 제한하고, 하위 프로세스에서 수집한 데이터는 메인 프로세스가 업로드합니다.
1.6.13 (2025/08/10)¶
- 사용자 정의 사용자 작업 추적을 지원하는
FTRUMConfig.setActionTrackingHandler를 추가했습니다. 이 핸들러를 통해 개발자는 RUM 데이터의 사용자 작업(앱 시작, 클릭) 추적 방식을 사용자 정의할 수 있습니다. 작업 이름을 수정하거나 사용자 정의 속성을 추가하거나 특정 작업 추적을 건너뛸 수 있습니다. - 사용자 정의 Activity 페이지 추적을 지원하는
FTRUMConfig.setViewActivityTrackingHandler를 추가했습니다. 이 핸들러를 통해 개발자는 RUM 데이터의 Activity 페이지 추적 방식을 사용자 정의할 수 있습니다. 페이지 이름을 수정하거나 사용자 정의 속성을 추가하거나 특정 Activity 추적을 건너뛸 수 있습니다. - 사용자 정의 Fragment 페이지 추적을 지원하는
FTRUMConfig.setViewFragmentTrackingHandler를 추가했습니다. 이 핸들러를 통해 개발자는 RUM 데이터의 Fragment 페이지 추적 방식을 사용자 정의할 수 있습니다. 페이지 이름을 수정하거나 사용자 정의 속성을 추가하거나 특정 Fragment 추적을 건너뛸 수 있습니다. FTRUMGlobalManager.addAction에 userid 등 bindUserData 바인딩 관련 정보가 누락되던 문제를 수정했습니다.- View의
Fragemnt에load_time데이터 메트릭을 추가했습니다. - 현재 view의 로드 시간을 지정하는
FTRUMGlobalManager.updateTime을 추가했습니다. - OkHttp 3.12.x 버전 호환성을 개선했습니다.
FTRUMConfig.appendRUMGlobalContext로 추가한 태그는 세션 중에 업데이트할 수 있습니다.
1.6.12 (2025/06/11)¶
- Android SDK를 통해 WebView 데이터를 수집할지 여부를 구성하는
FTRUMConfig.setEnableTraceWebView를 추가했습니다.FTRUMConfig.setAllowWebViewHost로 필터링할 host 주소를 제어할 수 있습니다. - 로컬 네트워크 오류를 필터링할 수 있는
ContentHandlerHelperEx.onExceptionWithFilter를 추가했습니다. - 원격 조건부 구성 기능을 활성화하는
FTSDKConfig.setRemoteConfiguration을 추가했습니다. 원격 제어를 활성화한 후 최소 업데이트 간격을 설정하는FTSDKConfig.setRemoteConfigMiniUpdateInterval을 추가했습니다.
1.6.11 (2025/05/15)¶
- Fragment view 데이터 수집을 지원하는
FTRUMConfig.setEnableTraceUserViewInFragment를 추가했습니다. 기본값은false입니다. - 데이터 쓰기 대체를 지원하고 데이터 마스킹을 지원하는
FTSDKConfig.setLineDataModifier,FTSDKConfig.setDataModifier를 추가했습니다. - 오류 샘플링을 지원하는
FTRUMConfig.setSessionErrorSampleRate를 추가했습니다.setSamplingRate에 의해 샘플링되지 않은 경우 오류 발생 시 1분 전 RUM 데이터를 샘플링하여 수집할 수 있습니다. FTSDKConfig.setEnableAccessAndroidID(false)일 때 로컬 임의UUID를device_uuid로 사용합니다.- 고빈도 로그 쓰기를 최적화하고 데이터 동기화 및 데이터 유휴 종료 로직을 개선했습니다.
1.6.10 (2025/04/18)¶
- OkHttp request에 고유 ResourceID를 추가하는
FTSDKConfig.setEnableOkhttpRequestTag를 추가하여 동일한 요청의 고동시성에서 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 장치 태그를 제거했습니다.
- RUM 데이터 캐시 항목 수 상한을 제한하는
FTRUMConfig.setRumCacheLimitCount(int)를 지원합니다. 기본값은 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 재전달 문제를 수정했습니다.
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 nullability 어노테이션을 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()이 없어 발생하는 크래시를 수정했습니다.- Compose Replay가 의존하는
MappingContextAndroidView 상호 운용 콜백 접근 메서드를 유지하도록 consumer ProGuard 규칙을 추가했습니다. - 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¶
- CardView 및 Chip을 포함한 Material 컴포넌트에 대한 Session Replay 지원을 추가했습니다.
- 낮은 Android 버전의 호환성 및 디버깅 지원을 개선했습니다.
- Replay 데이터에서 Material 컴포넌트의 렌더링 표현을 최적화하고 MaterialDrawableToColorMapper 규칙을 업데이트했습니다.
ft-session-replay와 버전 정책을 맞춰 릴리스 관리 및 통합 일관성을 개선했습니다.
ft-session-replay-compose¶
- Jetpack Compose Session Replay 지원을 추가했습니다.
ComposeView및AndroidComposeView시나리오를 녹화하고 재생할 수 있습니다. - 텍스트, 텍스트 입력 상자, 버튼, 이미지, 슬라이더, Switch, Checkbox, RadioButton, Tab, 컨테이너 노드 등 일반적인 Compose 컴포넌트의 의미론적 매핑 및 재생을 지원합니다.
- Compose에서
Modifier를 통한 Session Replay 개인정보 보호 재정의를 지원합니다. 노드 숨기기, 이미지 개인정보, 텍스트 및 입력 개인정보, 터치 개인정보를 포함합니다. - 현재 Compose 재생은 의미론적 노드 매핑을 기반으로 하며 픽셀 단위 복원을 보장하지 않습니다.
Brush배경은 아직 지원되지 않습니다. 예를 들어 선형 그라데이션, 방사형 그라데이션 배경은 원래 효과대로 재생되지 않습니다.
ft-session-replay-material 더 많은 변경 로그
ft-session-replay-compose 더 많은 변경 로그
ft-native¶
1.1.3 (2026/04/30)¶
- Native Crash 백트레이스 견고성을 강화했습니다. null 주소 탐지를 추가하고 libft_native_exp_lib.so에서 libunwind.so 백트레이스 시 null 포인터 및 와일드 포인터 검사를 강화했습니다.
- 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-plguin ( 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 symbol 파일이 생성되지 않는 문제를 수정했습니다.
- 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가 클래스 내에서 선언되어 해당 클래스의 모든 메서드를 무시하도록 지원합니다.
- 패키지 경로 구성을 통해 ASM을 무시하는
ignorePackages구성을 추가했습니다.
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가 클래스 내에서 선언되어 해당 클래스의 모든 메서드를 무시하도록 지원합니다.
- 패키지 경로 구성을 통해 ASM을 무시하는
ignorePackages구성을 추가했습니다.
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 핫픽스 프레임워크와의 호환을 지원합니다.