Release Notes¶
ft-sdk¶
1.7.2 (2026/05/20)¶
- Added DataKit-compatible data filtering capabilities, supporting local and remote rule filtering for Logging and RUM data; enabled by default, can be disabled via
FTSDKConfig.setEnableDataFilter(false). - Added
FTSDKConfig.setDataFilters, supporting configuration of local filtering rules and remote filtering rule fetch intervals; filtering rules are executed afterLineDataModifierand before local cache write. - Added general cache size limit configurations
FTSDKConfig.enableLimitWithCacheSize,FTSDKConfig.setCacheDiscard, andCacheDiscard; originalenableLimitWithDbSizeandsetDbCacheDiscardremain compatible but migration to the new interfaces is recommended. - Added file cache capability
FTSDKConfig.enableFileDataStore(), used for synchronous caching and RUM aggregated data, and provides a migration path compatible with old caches. ft-sdkno longer strongly depends onft-session-replay, applications not enabling Session Replay do not need to additionally introduce theft-session-replaydependency.- Added
app_launch_typefield to cold start Actions, used to distinguish between foreground and background launches. - Added RUM fallback View data, generating real View summary records in
ApplicationLaunch,BackgroundView, andRootViewscenarios, enabling launch, background, and RUM events lacking a foreground View to associate with a randomview_id. - Optimized data synchronization strategy, prioritizing RUM data synchronization, and isolating retry and backoff states by data type, reducing the impact of log synchronization on RUM data reporting.
- Fixed the issue where custom Resource attributes could overwrite the SDK-calculated
duration, and added non-negative value protection for fallback durations in exceptions. - Fixed Session Replay upload retry and upload address validation logic, avoiding repeated upload triggers from invalid addresses, and allowing retryable failures to be handled according to the backoff strategy.
1.7.1 (2026/04/30)¶
- Added View RUM metric
view_long_task_rate, used to calculate the proportion of total Long Task duration within the View lifecycle, with a maximum value of1. - Added crash RUM Error metrics
foreground_crash_free_durationandbackground_crash_free_duration, used to distinguish foreground and background crash-free run durations. - Added Resource network snapshot fields, including
network_available,network_validated,network_downlink_kbps,network_uplink_kbps, andnetwork_signal_strength. - SDK data synchronization now enables deflate compression by default, can be disabled via
FTSDKConfig.setCompressIntakeRequests(false). - Corrected version dependency constraints between
ft-sdkand the Session Replay module, improving integration compatibility check accuracy.
1.7.0 (2026/04/17)¶
- Added Session Replay capability, supporting WebView Session Replay, DCloud WebView, and full snapshot keyframe collection for WebView containers.
- Added Session Replay and RUM context association capability, allowing association between WebView containers and loaded HTML content contexts.
- Added Session Replay error sampling capability, and supports dynamic control of Session Replay via remote configuration.
- Added Session Replay image resource upload capability, supplemented with parameter passthrough like userAgent, appVersion, and synchronization link adaptation.
- Optimized Session Replay initialization, fragment frame complementing, frame generation and consumption, delayed writes, disk write limits, etc., improving recording and synchronization stability.
- Fixed issues including WebView data loss, abnormal handling in invisible scenarios, premature writes causing white screens, inability to synchronize with low-version OkHttp, Bitmap recycling causing recording failures, etc.
- Fixed crash issues caused by calling related methods on some controls before layout completion, improving overall stability and compatibility.
1.6.17 (2026/3/25)¶
- Fixed issue introduced in version 1.6.16: remote dynamic configuration not taking effect on first load.
- Added
TraceContextandTraceContext.Simple, used for custom Trace Header processing. Can overrideHeaderHandler.getTraceContext(Request)to provideheaders,traceId, andspanIdat once, fully compatible with existinggetTraceHeader,getTraceID/getSpanIDimplementations. - Supports dynamically changing transmission addresses via
FTSdk.setDatakitUrl(url),FTSdk.setDatawayUrl(datawayUrl, clientToken).
1.6.16 (2026/1/08)¶
- Added illegal character filtering for globalContext and attribute keys.
- Expanded
resource_typesupport range, added image, media, font, CSS, JS, native types. - Supports custom parsing and configuration of remote variables via
FTSDKConfig.setRemoteConfigurationCallBack(FTRemoteConfigManager.FetchResult),FTSdk.updateRemoteConfig(int remoteConfigMiniUpdateInterval, FTRemoteConfigManager.FetchResult result). - Added
resource_http_protocol,resource_request_size,resource_connection_reusefields to Resource. - Refined cold start time metrics, added
app_pre_application_init_time,app_application_init_time, andapp_first_frame_init_time. - Added compatibility support for OkHttp 3.12 and above.
- Fixed inaccurate Resource request start time issue.
- Fixed occasional NullPointerException when obtaining Action and View during SDK shutdown process.
- Optimized error stack format, fixed line break errors in specific scenarios.
- Added limited Long Task monitoring capability when the application is in the background.
- Optimized Session refresh mechanism when the application is in the background.
- Optimized nanosecond-level duration calculation logic in Action, View, and Resource.
1.6.15 (2025/12/03)¶
- Optimized FPS monitoring mechanism: starts on the main thread, automatically stops monitoring when the app enters the background.
- Optimized long log output mechanism exceeding 4K, improving log readability and completeness.
- Optimized generation logic for resource, long task, and error within View context.
- Increased View generation rate and reduced traffic data generated with the same view_id.
- Removed restrictions on ActivityLifecycleCallbacks in child processes, making lifecycle monitoring more complete.
- Fixed occasional View data update loss issue.
- Fixed session refresh exception caused by asynchronous network requests.
- Fixed issue where idle DB release could not be triggered after SDK shutdown and re-initialization.
1.6.14 (2025/08/20)¶
- Used ContentProvider to optimize compatibility issues in high-load multi-process data collection scenarios.
- Removed SDK AndroidManifest declaration for
android.permission.READ_PHONE_STATE, integrators need to add it based on actual requirements. Permission usage instructions can be found in the integration documentation. - Limited data synchronization in child processes; data collected by child processes will be reported by the main process.
1.6.13 (2025/08/10)¶
- Added
FTRUMConfig.setActionTrackingHandlerto support custom user action tracking. This handler allows developers to customize how user actions (app launch, clicks) are tracked in RUM data. Developers can modify action names, add custom attributes, or skip tracking for specific actions. - Added
FTRUMConfig.setViewActivityTrackingHandlerto support custom Activity page tracking. This handler allows developers to customize how Activity pages are tracked in RUM data. Developers can modify page names, add custom attributes, or skip tracking for specific Activities. - Added
FTRUMConfig.setViewFragmentTrackingHandlerto support custom Fragment page tracking. This handler allows developers to customize how Fragment pages are tracked in RUM data. Developers can modify page names, add custom attributes, or skip tracking for specific Fragments. - Fixed issue where
FTRUMGlobalManager.addActionlacked bindUserData binding related information, such as userid. - Added
load_timedata metric forFragmentin View. - Added
FTRUMGlobalManager.updateTimefor customizing the current view's load time. - Improved compatibility with OkHttp 3.12.x versions.
- Tags added via
FTRUMConfig.appendRUMGlobalContextcan be updated during a session.
1.6.12 (2025/06/11)¶
- Added
FTRUMConfig.setEnableTraceWebViewto configure whether to enable WebView data collection via Android SDK. UseFTRUMConfig.setAllowWebViewHostto control host address filtering. - Added
ContentHandlerHelperEx.onExceptionWithFilter, which can filter local network errors. - Added
FTSDKConfig.setRemoteConfigurationto support enabling remote conditional configuration functionality. AddedFTSDKConfig.setRemoteConfigMiniUpdateIntervalto support setting the minimum update interval after enabling remote control.
1.6.11 (2025/05/15)¶
- Added
FTRUMConfig.setEnableTraceUserViewInFragmentto support fragment view data collection, default isfalse. - Added
FTSDKConfig.setLineDataModifier,FTSDKConfig.setDataModifierto support data write replacement, enabling data desensitization. - Added
FTRUMConfig.setSessionErrorSampleRateto support error sampling. When not sampled bysetSamplingRate, errors can trigger sampling collection of RUM data from up to 1 minute ago. - When
FTSDKConfig.setEnableAccessAndroidID(false), uses a local randomuuidas thedevice_uuid. - Optimized high-frequency log writing, optimized data synchronization, and data idle shutdown logic.
1.6.10 (2025/04/18)¶
- Added
FTSDKConfig.setEnableOkhttpRequestTagto support adding a unique ResourceID to okhttp requests, solving the issue of trace_id and span_id misalignment in high-concurrency identical requests. ft-plugin version 1.3.5 and above supports automatic ResourceID addition. - Fixed the issue of circular calls occurring when RUM configuration is initialized multiple times, in conjunction with other crash collection SDKs.
- When navigating from a native page to a WebView page, the native page name is used to populate view_referrer.
- Fixed the issue where re-throwing IOException from network requests could alter the original exception type.
- Added
setProxy,setProxyAuthenticator,setDnsto FTSDKConfig for configuring Proxy, ProxyAuthenticator, and Dns for OkHttp data synchronization network requests. - OkHttp data synchronization network requests support DNS IP round-robin connection for known hostNames.
1.6.9 (2025/03/07)¶
- Modified the
isAppForegroundjudgment mechanism to adapt to privacy-sensitive information detection. - Added
resourcedata fieldsresource_first_byte_time,resource_dns_time,resource_download_time,resource_connect_time,resource_ssl_time, supporting enhanced Resource duration display on TrueWatch, and supporting flame chart timeline alignment in APM. - Optimized synchronization retry mechanism, removed the configuration option
FTSDKConfig.setDataSyncRetryCount(0)which directly discarded data. FTSDKConfig.enableDataIntegerCompatibleis enabled by default, used for compatibility with web numeric floating-point type data.- Fixed the issue of duplicate crash data generation when RUM configuration is initialized multiple times.
1.6.8 (2025/01/21)¶
- Fixed inaccurate fps collection when RUM configuration is initialized multiple times.
- Added tolerance for old version cache data upgrades.
- Migrated
FTRUMConfig.setOkHttpTraceHeaderHandlertoFTTraceConfig.setOkHttpTraceHeaderHandler. - Enhanced WebView SDK internal information and optimized performance.
1.6.7 (2025/01/10)¶
- Supports custom
FTTraceInterceptor.HeaderHandlerassociation with RUM data. - Supports modifying the content of
FTTraceInterceptor.HeaderHandlerwritten by ASM viaFTRUMConfig.setOkHttpTraceHeaderHandler, and supports modifying the content ofFTResourceInterceptor.ContentHandlerHelperwritten by ASM viaFTRUMConfig.setOkHttpResourceContentHandler. - Optimized crash collection capability, adapting to scenarios where
system.exittriggered by certain OS prevents crash data collection. - Fixed occasional empty character tags causing data reporting failure.
- Optimized ASM OkHttpListener EventListener override logic, supporting preservation of original project EventListener event parameter passing.
1.6.6 (2024/12/27)¶
- Optimized network status and type acquisition, supporting display of ethernet network type.
- Optimized frequent database closure issue during data writes in no-network state.
- Fixed discrepancy between the number of discarded log/RUM entries and the set limit.
- Adapted TV device key events, filtering out non-TV device tags.
- Supports limiting RUM data cache entry count upper limit via
FTRUMConfig.setRumCacheLimitCount(int), default 100_000. - Supports limiting total cache size via
FTSDKConfig enableLimitWithDbSize(long dbSize). After enabling,FTLoggerConfig.setLogCacheLimitCount(int)andFTRUMConfig.setRumCacheLimitCount(int)will become ineffective. - Optimized Session refresh rules when the device is idle.
1.6.5 (2024/12/24)¶
- Weakened null parameter warnings during AOP for WebView.
- Optimized long Session update mechanism when the application is in the background.
1.6.4 (2024/12/03)¶
- Optimized App launch time statistics for API 24 and above.
- Supports setting detection time range via
FTRUMConfig.setEnableTrackAppUIBlock(true, blockDurationMs).
1.6.3 (2024/11/18)¶
- Optimized performance of custom
addActionduring high-frequency calls. - Supports using
FTSDKConfig.setCompressIntakeRequeststo configuredeflatecompression for synchronized data.
1.6.2 (2024/10/24)¶
- RUM added
addActionmethod, supporting property extension attributes and frequent continuous data reporting.
1.6.1 (2024/10/18)¶
- Fixed issue where custom
startViewcalled separately in RUM caused the monitoring metricFTMetricsMTRthread not being recycled. - Supports adding dynamic attributes via
FTSdk.appendGlobalContext(globalContext),FTSdk.appendRUMGlobalContext(globalContext),FTSdk.appendLogGlobalContext(globalContext). - Supports clearing unreported cached data via
FTSdk.clearAllData(). - SDK
setSyncSleepTimemaximum limit extended to 5000 ms.
1.6.0 (2024/08/18)¶
- Optimized data storage and synchronization performance.
(Upgrading from old versions to 1.6.0 requires configuring
FTSDKConfig.setNeedTransformOldCachefor old data compatibility synchronization.) - Fixed issue where calling
Log.w(String,Throwable)when using ft-plugin caused an exception.
1.5.2 (2024/07/10)¶
- Added local network error type hints to Error network_error, used to supplement scenarios where resource_status=0 in Resource data.
- Fixed uncaughtException rethrow propagation issue when
setEnableTrackAppCrash(false).
1.5.1 (2024/06/19)¶
- Added other thread code stack traces for Java Crash and ANR.
- Added additional logcat configuration functionality for Java Crash, Native Crash, and ANR.
- Fixed issue where session_id was frequently updated during long sessions with no action updates.
1.5.0 (2024/06/03)¶
- Added remote IP address resolution functionality for RUM resource network requests.
- Fixed array thread safety issue caused by high-concurrency network requests when RUM SampleRate is enabled.
- Optimized fault tolerance for the
ConnectivityManager.registerDefaultNetworkCallbackmethod. - Added line protocol Integer data compatibility mode to handle web data type conflicts.
- Optimized automatic collection of control resource name id in Action click.
- Optimized fault tolerance for SDK config configuration reading exceptions.
1.4.6 (2024/05/15)¶
- Optimized SDK initialization fault tolerance.
- Added Status.Debug type for logs.
- Adjusted console log capture level correspondence:
Log.i->info,Log.d->debug. - FTLogger custom logs support custom status field.
1.4.5 (2024/04/26)¶
- Optimized compatibility handling for repeated initialization.
- Optimized c/c++ crash collection data synchronization logic to avoid deadlocks caused by unexpected termination in certain scenarios.
- Optimized startAction Property attribute write logic to avoid thread-safe access issues.
1.4.4 (2024/04/01)¶
- Added database connection fault tolerance protection.
- Fixed issue where child process configuration partially ineffective when
setOnlySupportMainProcessis true. - Fixed issue where Crash would not rethrow when RUM View collection is not enabled.
1.4.3 (2024/03/22)¶
- Supports Dataway and Datakit address upload.
- Supports sending RUM data of types Action, View, Resource, LongTask, Error.
- View, Action page navigation, control click operations are automatically collected, requires ft-plugin.
- Resource, automatically collected, only supports Okhttp, and requires ft-plugin.
- Native Crash and ANR in Error require ft-native.
- Supports sending Log data, console automatic writing requires ft-plugin.
- Link http header propagation, only supports Okhttp, and requires ft-plugin.
- Supports data synchronization parameter configuration: request entry count, sync interval time, and log cache entry count.
- Supports converting SDK internal logs to files.
ft-session-replay¶
0.1.5 (2026/05/19)¶
ft-session-replay¶
- Added Flutter Session Replay upload compatibility capability, supporting mapping Replay batches to corresponding Segments via Flutter RUM context Key.
- Fixed compatibility issues with Session Replay file read/write factories under normal storage and encrypted storage implementations.
- Fixed retry state handling for Session Replay data and resource uploads; upload failures are retried according to backoff strategy; invalid upload addresses are skipped until a valid address configuration is available.
- Replaced remaining JetBrains nullability annotations in Session Replay with AndroidX annotations, reducing redundant annotation dependencies.
ft-session-replay-material¶
- No changes.
ft-session-replay-compose¶
- No changes.
0.1.4 (2026/04/30)¶
ft-session-replay¶
- Removed redundant Kotlin dependencies, simplifying Session Replay dependency relationships.
- Enhanced public API documentation for Session Replay configuration, privacy control, custom Mapper extensions, resource upload callbacks, etc., improving IDE hints and custom extension development experience during Java/Kotlin integration.
ft-session-replay-material¶
- Aligned version with
ft-session-replay0.1.4, no API or behavioral changes.
ft-session-replay-compose¶
- Fixed crash issue when recording
AndroidViewinterop nodes, caused by missingMappingContext.getInteropViewCallback()in low-version Session Replay Core. - Added consumer ProGuard rules to preserve
MappingContextAndroidView interop callback access methods required by Compose Replay. - Enhanced documentation for Compose Replay's
Modifierprivacy masking, extension support, text truncation modes, and image Wireframe helper methods, improving IDE hints during Kotlin/Compose integration.
0.1.3 (2026/04/17)¶
ft-session-replay¶
- Added WebView Session Replay capability, supporting DCloud WebView and full snapshot keyframe collection for WebView containers.
- Added Session Replay and RUM context association capability, allowing association between WebView containers and loaded HTML content contexts.
- Added error sampling capability, and supports dynamic control of Session Replay via remote configuration.
- Added image resource upload capability, improved metadata handling for userAgent, appVersion, forceFullSnapshot, etc.
- Optimized frame generation and consumption, fragment frame complementing, WebView Replay data delayed writes, invisible WebView handling, and disk write limits, improving stability and performance.
- Fixed issues including WebView Replay data loss, premature writes causing white screens, synchronization failure with low-version OkHttp, Bitmap recycling causing recording failure, rumLinkKey null handling, and recording timeout in multi-image scenarios.
ft-session-replay-material¶
- Added Session Replay support for Material components, including CardView and Chip.
- Optimized compatibility and debugging support for lower Android versions.
- Optimized rendering performance of Material components in Replay data, updated MaterialDrawableToColorMapper rules.
- Aligned version strategy with
ft-session-replay, improving release management and integration consistency.
ft-session-replay-compose¶
- Added Jetpack Compose Session Replay support, enabling recording and replay for
ComposeViewandAndroidComposeViewscenarios. - Supports semantic mapping and replay for common Compose components, including text, text input fields, buttons, images, sliders, Switch, Checkbox, RadioButton, Tab, and container nodes.
- Supports Session Replay privacy masking via
Modifierin Compose, including node hiding, image privacy, text and input privacy, touch privacy. - Current Compose replay is based on semantic node mapping and does not guarantee pixel-perfect reproduction;
Brushbackgrounds are not yet supported, e.g., linear gradients, radial gradients, etc., will not replay with original effects.
ft-session-replay-material More logs
ft-session-replay-compose More logs
ft-native¶
1.1.3 (2026/04/30)¶
- Enhanced Native Crash backtrace robustness, added null address detection, and strengthened null pointer and wild pointer checks during libunwind.so backtracing in libft_native_exp_lib.so.
- Fixed potential secondary crash issue of libunwind.so during Native Crash processing.
1.1.2 (2025/07/18)¶
- Adapted to Android 16K page size (compatible with Android 15+).
1.1.1 (2024/06/22)¶
- Added logcat configuration functionality for Native Crash and ANR.
1.1.0 (2024/03/22)¶
- Supports capturing ANR Crash.
- Supports capturing C/C++ Native Crash.
- Supports collecting application running state upon crash.
- Supports callbacks triggered by ANR and Native Crash.
ft-plugin ( AGP >=7.4.2 )¶
1.3.6 (2025/12/03)¶
- Supports UniApp WebView.
- Added knownWebViewClasses parameter to support ASM writing.
- Added functionality to output logs to files.
- Added verboseLog parameter for more verbose log output.
- Added numerical boundary handling in FTMethodAdapter.
- Added ignore configuration for filtering internal methods of custom WebViews.
1.3.5 (2025/04/18)¶
- Optimized stability of plugin parameters during concurrent compilation.
- Added ASM writing for FTAutoTrack.trackRequestBuilder method, requires ft-sdk version 1.6.10 or above.
- Supports automatic capture of Log.println logs, requires ft-sdk version 1.6.8 or above.
1.3.4 (2024/12/11)¶
- Optimized error log output.
- Fixed issue where sourcemap symbol file was not generated when minifyEnabled was not enabled.
- Supports generating sourcemap without active upload via generateSourceMapOnly true.
1.3.3 (2024/09/04)¶
- Optimized native symbol so automatic acquisition and upload, supports custom nativeLibPath specification.
1.3.2 (2024/08/13)¶
- Supports automatic capture of React Native WebView events.
1.3.1 (2024/07/04)¶
- Added asmVersion configuration functionality, supports asm7 - asm9, default is asm9.
- Fixed issue where custom WebView methods caused circular calls after ASM writing, preventing WebView content loading.
(Involved methods:
loadUrl,loadData,loadDataWithBaseURL,postUrl) - IgnoreAOP supports declaration within a class to ignore all methods in that class.
- Added
ignorePackagesconfiguration, supports ignoring ASM by package path.
1.3.0 (2024/03/22)¶
- Supports datakit source map automatic upload, supports native symbol upload.
- Supports capturing Application cold/warm start, Activity page navigation, View, ListView, Dialog, Tab click events.
- Supports writing WebView Js listener methods.
- Supports automatic writing of Okhttp Trace and Resource data.
- Supports Gradle 8.0, AGP 8.0.
- Supports IgnoreAOP ignore marker.
- Supports compatibility with Alibaba Cloud hotfix framework.
ft-plugin-legacy ( AGP <=7.4.2 )¶
1.1.9 (2025/12/09)¶
- Supports UniApp WebView.
- Added knownWebViewClasses parameter to support ASM writing.
- Added functionality to output logs to files.
- Added verboseLog parameter for more verbose log output.
- Added numerical boundary handling in FTMethodAdapter.
- Added ignore configuration for filtering internal methods of custom WebViews.
1.1.8 (2024/08/13)¶
- Supports automatic capture of React Native WebView events.
1.1.7 (2024/07/04)¶
- Fixed issue where overriding methods in WebView subclasses caused circular calls after ASM writing, preventing WebView content loading.
(Involved methods:
loadUrl,loadData,loadDataWithBaseURL,postUrl) - IgnoreAOP supports declaration within a class to ignore all methods in that class.
- Added
ignorePackagesconfiguration, supports ignoring ASM by package path.
1.1.6 (2024/03/22)¶
- Supports datakit source map automatic upload, supports native symbol upload.
- Supports capturing Application cold/warm start, Activity page navigation, View, ListView, Dialog, Tab click events.
- Supports writing WebView Js listener methods.
- Supports automatic writing of Okhttp Trace and Resource data.
- Supports AGP versions below 7.4.2.
- Supports IgnoreAOP ignore marker.
- Supports compatibility with Alibaba Cloud hotfix framework.