Add FTRUMConfig.setEnableTraceUserViewInFragment to support fragment view data collection, default is false
Add FTSDKConfig.setLineDataModifier, FTSDKConfig.setDataModifier to support data write replacement, supporting data desensitization
Add FTRUMConfig.setSessionErrorSampleRate to support error sampling when not sampled by setSamplingRate,
allowing sampling of rum data from 1 minute ago when an error occurs
When FTSDKConfig.setEnableAccessAndroidID(false), use local random uuid as device_uuid
Optimize high-frequency log writing, optimize data synchronization and data idle shutdown logic
Add FTSDKConfig.setEnableOkhttpRequestTag to support adding 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 addition of ResourceID.
Fix circular call issues with other crash collection SDKs under scenarios of multiple RUM configuration initializations
Fill view_referrer with native page name when transitioning from a native page to a WebView page
Fix the problem of IOException rethrowing modifying the original type during network requests
Add setProxy, setProxyAuthenticator, setDns to FTSDKConfig for Proxy, ProxyAuthenticator, Dns configuration in OkHttp data sync network requests
Support DNS IP round-robin connections for known hostNames in Okhttp data sync network requests
Modify the judgment mechanism of isAppForeground to adapt to privacy-sensitive information detection
Add new resource data fields: resource_first_byte_time, resource_dns_time,
resource_download_time, resource_connect_time, resource_ssl_time,
supporting enhanced display of Resource timing on Guance and alignment of time axes in APM flame graphs
Optimize retry mechanism, cancel the configuration option of FTSDKConfig.setDataSyncRetryCount(0) for direct data discard
Default enable FTSDKConfig.enableDataIntegerCompatible for compatibility with web floating-point number data
Fix the issue of duplicate crash data caused by multiple RUM configuration initializations
Support custom association of FTTraceInterceptor.HeaderHandler with RUM data
Support changing ASM-written FTTraceInterceptor.HeaderHandler content via FTRUMConfig.setOkHttpTraceHeaderHandler,
and support changing ASM-written FTResourceInterceptor.ContentHandlerHelper content via FTRUMConfig.setOkHttpResourceContentHandler.
Optimize crash collection capabilities to adapt to certain OS triggering system.exit leading to uncollected crash data
Correct the occasional empty tag issue that causes data to fail normal reporting
Optimize the overlay logic of ASM OkHttpListener EventListener to support retaining original project EventListener parameter passing
Optimize network status and type acquisition, supporting ethernet-type network type display
Optimize frequent database shutdown problems in no-network states
Fix the discrepancy between data entry count and set entry count when discarding logs and RUM old data
Adapt TV device key event, remove non-TV device tags
Support limiting RUM data cache entry count via FTRUMConfig.setRumCacheLimitCount(int), default is 100_000
Support limiting total cache size via FTSDKConfig enableLimitWithDbSize(long dbSize), enabling this will make FTLoggerConfig.setLogCacheLimitCount(int) and FTRUMConfig.setRumCacheLimitCount(int) ineffective
Optimize Session refresh rules under scenarios of no device operation
Fix the issue of FTMetricsMTR thread not being recycled due to separate custom startView calls in RUM
Support adding dynamic properties via FTSdk.appendGlobalContext(globalContext), FTSdk.appendRUMGlobalContext(globalContext),
FTSdk.appendLogGlobalContext(globalContext)
Support clearing unsent cached data via FTSdk.clearAllData()
Extend maximum limit of SDK setSyncSleepTime to 5000 ms
Optimize data storage and synchronization performance
(Old versions upgrading to 1.6.0 require configuring FTSDKConfig.setNeedTransformOldCache for old data compatibility synchronization)
Fix the exception triggered by calling Log.w(String,Throwable) when using ft-plugin
Fix the issue of infinite loops caused by custom WebView methods after ASM writing, preventing WebView content from loading
(Methods involved: loadUrl, loadData, loadDataWithBaseURL, postUrl)
Support IgnoreAOP declarations within classes to ignore all methods in the class
Add ignorePackages configuration to support ignoring ASM through package paths
Fix the issue of infinite loops caused by subclassed WebView methods after ASM writing, preventing WebView content from loading
(Methods involved: loadUrl, loadData, loadDataWithBaseURL, postUrl)
Support IgnoreAOP declarations within classes to ignore all methods in the class
Add ignorePackages configuration to support ignoring ASM through package paths