Added illegal character filtering for globalContext and attribute keys.
Extended resource_type support range, added new types: image, media, font, CSS, JS, native.
Added support for 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_reuse fields to Resource.
Refined cold start time metrics, added app_pre_application_init_time, app_application_init_time and app_first_frame_init_time.
Added compatibility support for OkHttp 3.12 and above.
Fixed inaccurate Resource request start time.
Fixed occasional null pointer exceptions when obtaining Action and View during SDK shutdown.
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 time consumption calculation logic in Action, View and Resource.
Used ContentProvider to optimize compatibility issues in high-load multi-process data collection scenarios.
Removed the declaration of android.permission.READ_PHONE_STATE from the SDK AndroidManifest. Integrators need to add it themselves based on actual conditions. Permission usage instructions are in the Integration Documentation.
Limited data synchronization in child processes. Data collected by child processes will be reported by the main process.
Added FTRUMConfig.setActionTrackingHandler to support custom user action tracking. This handler allows developers to customize how user actions (app start, clicks) are tracked in RUM data. Developers can modify action names, add custom attributes, or skip tracking specific actions.
Added FTRUMConfig.setViewActivityTrackingHandler to support custom Activity page tracking. This handler allows developers to customize how Activity page tracking is handled in RUM data. Developers can modify page names, add custom attributes, or skip tracking specific Activities.
Added FTRUMConfig.setViewFragmentTrackingHandler to support custom Fragment page tracking. This handler allows developers to customize how Fragment page tracking is handled in RUM data. Developers can modify page names, add custom attributes, or skip tracking specific Fragments.
Fixed the issue where FTRUMGlobalManager.addAction lacked bindUserData binding related information, such as userid.
View Fragemntload_time data metric.
Added FTRUMGlobalManager.updateTime to customize the current view's loading time.
Improved compatibility with OkHttp 3.12.x versions.
Tags added via FTRUMConfig.appendRUMGlobalContext can be updated during the session.
Added FTRUMConfig.setEnableTraceWebView to configure whether to enable WebView data collection via the Android SDK. Use FTRUMConfig.setAllowWebViewHost to control which host addresses to filter.
Added ContentHandlerHelperEx.onExceptionWithFilter to filter local network errors.
Added FTSDKConfig.setRemoteConfiguration to support enabling remote conditional configuration functionality. Added FTSDKConfig.setRemoteConfigMiniUpdateInterval to set the minimum update interval after enabling remote control.
Added FTRUMConfig.setEnableTraceUserViewInFragment to support fragment view data collection, default is false.
Added FTSDKConfig.setLineDataModifier, FTSDKConfig.setDataModifier to support data write replacement and data desensitization.
Added FTRUMConfig.setSessionErrorSampleRate to support error sampling. When not sampled by setSamplingRate, it can sample RUM data from 1 minute ago when an error occurs.
When FTSDKConfig.setEnableAccessAndroidID(false), use a local random uuid as device_uuid.
Optimized high-frequency log writing, data synchronization, and data idle shutdown logic.
Added FTSDKConfig.setEnableOkhttpRequestTag to support adding unique ResourceID to okhttp requests, to solve the issue of trace_id and span_id misalignment in high concurrency scenarios for identical requests. ft-plugin version 1.3.5 and above supports automatic ResourceID addition.
Fixed the issue of recursive calls caused by multiple RUM configuration initializations with other crash collection SDKs.
When navigating from a native page to a WebView page, use the native page name to fill view_referrer.
Fixed the issue where re-throwing IOException from network requests altered the original type.
FTSDKConfig added setProxy, setProxyAuthenticator, setDns to configure Proxy, ProxyAuthenticator, Dns for OkHttp data synchronization network requests.
OkHttp data synchronization network requests support known hostName DNS IP round-robin connections.
Modified the isAppForeground judgment mechanism to adapt to privacy-sensitive information detection.
Added resource data fields resource_first_byte_time, resource_dns_time, resource_download_time, resource_connect_time, resource_ssl_time. Supports enhanced display of Resource time consumption on Guance and aligns with the timeline in the APM flame graph.
Optimized synchronization retry mechanism, removed the configuration option FTSDKConfig.setDataSyncRetryCount(0) for immediate data discard.
FTSDKConfig.enableDataIntegerCompatible is enabled by default for compatibility with web numeric floating-point types.
Fixed the issue of duplicate crash data generation in scenarios with multiple RUM configuration initializations.
Support custom FTTraceInterceptor.HeaderHandler to correlate with RUM data.
Support modifying the content of the ASM-written FTTraceInterceptor.HeaderHandler via FTRUMConfig.setOkHttpTraceHeaderHandler, and support modifying the content of the ASM-written FTResourceInterceptor.ContentHandlerHelper via FTRUMConfig.setOkHttpResourceContentHandler.
Optimized crash collection capability, adapted to scenarios where system.exit triggered by certain OS prevents crash data collection.
Fixed the occasional issue where the tag was an empty string, causing data upload failure.
Optimized the ASM OkHttpListener EventListener coverage logic, supporting the retention of original project EventListener event parameter passing.
Optimized network status and type acquisition, added support for displaying ethernet network type.
Optimized the issue of frequent database closures when writing data without network connection.
Fixed the discrepancy between the number of discarded log/RUM old data entries and the set number.
Adapted TV device button events, removed non-TV device tags.
Support limiting the upper limit of RUM data cache entries via FTRUMConfig.setRumCacheLimitCount(int), default is 100_000.
Support limiting total cache size via FTSDKConfig enableLimitWithDbSize(long dbSize). After enabling, FTLoggerConfig.setLogCacheLimitCount(int) and FTRUMConfig.setRumCacheLimitCount(int) will become ineffective.
Optimized Session refresh rules when the device is idle.
Fixed the issue where calling custom startView separately in RUM caused the monitoring metric FTMetricsMTR thread not to be recycled.
Support adding dynamic attributes via FTSdk.appendGlobalContext(globalContext), FTSdk.appendRUMGlobalContext(globalContext), FTSdk.appendLogGlobalContext(globalContext).
Support clearing unsynced cached data via FTSdk.clearAllData().
Extended the maximum limit of SDK setSyncSleepTime to 5000 ms.
Optimized data storage and synchronization performance.
(Upgrading from old versions to 1.6.0 requires configuring FTSDKConfig.setNeedTransformOldCache for old data compatibility synchronization.)
Fixed the issue where calling Log.w(String,Throwable) caused an exception when using ft-plugin.