Skip to content

Changelog


ft-sdk

1.6.17 (2026/3/25)

  1. Fixed an issue introduced in version 1.6.16: remote dynamic configuration did not take effect on first load.
  2. Added TraceContext and TraceContext.Simple for custom Trace Header handling. By overriding HeaderHandler.getTraceContext(Request), you can provide headers, traceId, and spanId at once, fully compatible with existing getTraceHeader, getTraceID / getSpanID implementations.
  3. Support dynamically changing transmission addresses via FTSdk.setDatakitUrl(url), FTSdk.setDatawayUrl(datawayUrl, clientToken).

1.6.16 (2026/1/08)

  1. Added illegal character filtering for globalContext and attribute keys.
  2. Expanded resource_type support range, added new types: image, media, font, CSS, JS, native.
  3. Support custom parsing and configuration of remote variables via FTSDKConfig.setRemoteConfigurationCallBack(FTRemoteConfigManager.FetchResult), FTSdk.updateRemoteConfig(int remoteConfigMiniUpdateInterval, FTRemoteConfigManager.FetchResult result).
  4. Added resource_http_protocol, resource_request_size, resource_connection_reuse fields to Resource.
  5. Refined cold start time metrics, added app_pre_application_init_time, app_application_init_time, and app_first_frame_init_time.
  6. Added compatibility support for OkHttp versions 3.12 and above.
  7. Fixed inaccurate Resource request start time issue.
  8. Fixed occasional NullPointerException when obtaining Action and View during SDK shutdown process.
  9. Optimized error stack format, fixed line break errors in specific scenarios.
  10. Added limited Long Task monitoring capability when the app is in the background.
  11. Optimized Session refresh mechanism when the app is in the background.
  12. Optimized nanosecond-level duration calculation logic in Action, View, and Resource.

1.6.15 (2025/12/03)

  1. Optimized FPS monitoring mechanism: starts on the main thread, automatically stops monitoring when the app enters the background.
  2. Optimized output mechanism for long logs exceeding 4K, improving log readability and completeness.
  3. Optimized generation logic for resource, long task, and error within View context.
  4. Increased View generation rate and reduced traffic data generated for views with the same view_id.
  5. Removed restrictions on ActivityLifecycleCallbacks in child processes, making lifecycle monitoring more complete.
  6. Fixed occasional issue of View data update loss.
  7. Fixed session refresh anomalies caused by asynchronous network requests.
  8. Fixed issue where idle DB release could not be triggered after SDK shutdown and re-initialization.

1.6.14 (2025/08/20)

  1. Used ContentProvider to optimize compatibility issues in high-load multi-process data collection scenarios.
  2. Removed SDK AndroidManifest declaration for android.permission.READ_PHONE_STATE. Integrators need to add it themselves based on actual requirements. Permission usage instructions can be found in the integration documentation.
  3. Restricted data synchronization in child processes. Data collected by child processes will be reported by the main process.

1.6.13 (2025/08/10)

  1. Added FTRUMConfig.setActionTrackingHandler to 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.
  2. Added FTRUMConfig.setViewActivityTrackingHandler to 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.
  3. Added FTRUMConfig.setViewFragmentTrackingHandler to 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.
  4. Fixed issue where FTRUMGlobalManager.addAction lacked binding information for bindUserData, such as userid.
  5. Added load_time data metric for Fragment in View.
  6. Added FTRUMGlobalManager.updateTime for customizing the current view's loading time.
  7. Improved compatibility with OkHttp 3.12.x versions.
  8. Tags added via FTRUMConfig.appendRUMGlobalContext can be updated during a session.

1.6.12 (2025/06/11)

  1. Added FTRUMConfig.setEnableTraceWebView to configure whether to enable WebView data collection via Android SDK. Use FTRUMConfig.setAllowWebViewHost to control which host addresses to filter.
  2. Added ContentHandlerHelperEx.onExceptionWithFilter, which can filter local network errors.
  3. Added FTSDKConfig.setRemoteConfiguration to support enabling remote conditional configuration feature. Added FTSDKConfig.setRemoteConfigMiniUpdateInterval to support setting the minimum update interval after enabling remote control.

1.6.11 (2025/05/15)

  1. Added FTRUMConfig.setEnableTraceUserViewInFragment to support fragment view data collection, default is false.
  2. Added FTSDKConfig.setLineDataModifier, FTSDKConfig.setDataModifier to support data write replacement, enabling data desensitization.
  3. Added FTRUMConfig.setSessionErrorSampleRate to support error sampling. When not sampled by setSamplingRate, errors can trigger sampling collection of RUM data from up to 1 minute ago.
  4. When FTSDKConfig.setEnableAccessAndroidID(false), use a local random uuid as device_uuid.
  5. Optimized high-frequency log writing, data synchronization, and idle shutdown logic.

1.6.10 (2025/04/18)

  1. Added FTSDKConfig.setEnableOkhttpRequestTag to support adding a unique ResourceID to okhttp requests, solving 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.
  2. Fixed an issue where repeated initialization of RUM configuration could cause circular calls with other crash collection SDKs.
  3. When navigating from a native page to a WebView page, the native page name is used to populate view_referrer.
  4. Fixed issue where IOException from network requests was re-thrown, altering the original exception type.
  5. Added setProxy, setProxyAuthenticator, setDns to FTSDKConfig for configuring Proxy, ProxyAuthenticator, and Dns for OkHttp data synchronization network requests.
  6. OkHttp data synchronization network requests support DNS IP round-robin connection for known hostNames.

1.6.9 (2025/03/07)

  1. Modified the isAppForeground judgment mechanism to adapt to privacy-sensitive information detection.
  2. Added resource data fields: resource_first_byte_time, resource_dns_time, resource_download_time, resource_connect_time, resource_ssl_time. Supports enhanced Resource duration display on TrueWatch and alignment with the APM flame graph timeline.
  3. Optimized synchronization retry mechanism, removed the configuration option FTSDKConfig.setDataSyncRetryCount(0) which directly discarded data.
  4. FTSDKConfig.enableDataIntegerCompatible is enabled by default for compatibility with web numeric floating-point data types.
  5. Fixed issue where repeated initialization of RUM configuration could cause duplicate crash data generation.

1.6.8 (2025/01/21)

  1. Fixed inaccurate fps collection issue when RUM configuration was initialized multiple times.
  2. Added fault tolerance for cache data upgrade from older versions.
  3. Migrated FTRUMConfig.setOkHttpTraceHeaderHandler to FTTraceConfig.setOkHttpTraceHeaderHandler.
  4. Enhanced WebView SDK internal information and optimized performance.

1.6.7 (2025/01/10)

  1. Support for custom FTTraceInterceptor.HeaderHandler to correlate with RUM data.
  2. Support for modifying ASM-written FTTraceInterceptor.HeaderHandler content via FTRUMConfig.setOkHttpTraceHeaderHandler, and modifying ASM-written FTResourceInterceptor.ContentHandlerHelper content via FTRUMConfig.setOkHttpResourceContentHandler.
  3. Optimized crash collection capability, adapting to scenarios where system.exit triggered by certain OS prevents crash data collection.
  4. Fixed occasional issue where tag was an empty string, causing data to fail normal reporting.
  5. Optimized ASM OkHttpListener EventListener override logic, supporting preservation of original project EventListener event parameter passing.

1.6.6 (2024/12/27)

  1. Optimized network status and type acquisition, supporting display of ethernet network type.
  2. Optimized frequent database closure issue during data writing when no network is available.
  3. Fixed discrepancy between the number of discarded log/RUM entries and the configured limit when discarding old data.
  4. Adapted TV device key events, filtering out non-TV device tags.
  5. Support limiting RUM data cache entry count upper limit via FTRUMConfig.setRumCacheLimitCount(int), default is 100_000.
  6. Support limiting total cache size via FTSDKConfig enableLimitWithDbSize(long dbSize). After enabling, FTLoggerConfig.setLogCacheLimitCount(int) and FTRUMConfig.setRumCacheLimitCount(int) will become ineffective.
  7. Optimized Session refresh rules when the device is idle.

1.6.5 (2024/12/24)

  1. Weakened warnings for null parameters during WebView AOP process.
  2. Optimized long Session update mechanism when the app is in the background.

1.6.4 (2024/12/03)

  1. Optimized App startup time statistics for API 24 and above.
  2. Support setting detection time range via FTRUMConfig.setEnableTrackAppUIBlock(true, blockDurationMs).

1.6.3 (2024/11/18)

  1. Optimized performance of custom addAction during high-frequency calls.
  2. Support using FTSDKConfig.setCompressIntakeRequests to configure deflate compression for synchronized data.

1.6.2 (2024/10/24)

  1. RUM added addAction method, supporting property extension attributes and frequent continuous data reporting.

1.6.1 (2024/10/18)

  1. Fixed issue where custom startView calls in RUM alone caused the monitoring metric FTMetricsMTR thread not to be recycled.
  2. Support adding dynamic attributes via FTSdk.appendGlobalContext(globalContext), FTSdk.appendRUMGlobalContext(globalContext), FTSdk.appendLogGlobalContext(globalContext).
  3. Support clearing unsynced cached data via FTSdk.clearAllData().
  4. SDK setSyncSleepTime maximum limit extended to 5000 ms.

1.6.0 (2024/08/18)

  1. Optimized data storage and synchronization performance. (Upgrading from older versions to 1.6.0 requires configuring FTSDKConfig.setNeedTransformOldCache for old data compatibility synchronization.)
  2. Fixed issue where calling Log.w(String,Throwable) with ft-plugin caused an exception.

1.5.2 (2024/07/10)

  1. Error network_error added local network error type hints to supplement scenarios where resource_status=0 in Resource data.
  2. Fixed uncaughtException rethrow propagation issue when setEnableTrackAppCrash(false).

1.5.1 (2024/06/19)

  1. Java Crash and ANR supplemented with other thread code stacks.
  2. Java Crash, Native Crash, ANR added additional logcat configuration capability.
  3. Fixed issue where session_id was frequently updated during long sessions with no action updates.

1.5.0 (2024/06/03)

  1. RUM resource network requests added remote IP address resolution capability.
  2. Fixed array thread safety issue caused by high-concurrency network requests after enabling RUM SampleRate.
  3. Fault tolerance optimization for ConnectivityManager.registerDefaultNetworkCallback method.
  4. Added line protocol Integer data compatibility mode to handle web data type conflicts.
  5. Optimized automatic acquisition of control resource name ID in Action click auto-collection.
  6. Fault tolerance optimization for SDK config configuration reading exceptions.

1.4.6 (2024/05/15)

  1. SDK initialization fault tolerance optimization.
  2. Added new log type Status.Debug.
  3. Adjusted console log capture level mapping: Log.i -> info, Log.d -> debug.
  4. FTLogger custom logs support custom status field.

1.4.5 (2024/04/26)

  1. Compatibility optimization for repeated initialization.
  2. Optimized c/c++ crash collection data synchronization logic to avoid deadlocks in scenarios where unexpected termination occurs.
  3. Optimized startAction Property attribute writing logic to avoid thread safety access issues.

1.4.4 (2024/04/01)

  1. Database connection fault tolerance protection.
  2. Fixed issue where child process configuration partially ineffective when setOnlySupportMainProcess is true.
  3. Fixed issue where Crash would not rethrow when RUM View collection is not enabled.

1.4.3 (2024/03/22)

  1. Support for uploading addresses to Dataway and Datakit.
  2. Support for sending RUM data types: Action, View, Resource, LongTask, Error.
    • View, Action page navigation, control click operations auto-collection require ft-plugin.
    • Resource auto-collection only supports Okhttp and requires ft-plugin.
    • Native Crash and ANR in Error require ft-native.
  3. Support for sending Log data, console auto-writing requires ft-plugin.
  4. Trace http header propagation only supports Okhttp and requires ft-plugin.
  5. Support for data synchronization parameter configuration: request entry count, sync interval time, and log cache entry count.
  6. Support for converting SDK internal logs to files.

More logs

ft-native

1.1.2 (2025/07/18)

  1. Adapted to Android 16K page size (compatible with Android 15+).

1.1.1 (2024/06/22)

  1. Added logcat configuration capability for Native Crash and ANR.

1.1.0 (2024/03/22)

  1. Support for capturing ANR Crash.
  2. Support for capturing C/C++ Native Crash.
  3. Support for collecting application runtime state upon crash.
  4. Support for callbacks triggered by ANR and Native Crash.

More logs

ft-plugin ( AGP >=7.4.2 )

1.3.6 (2025/12/03)

  1. Support for UniApp WebView.
  2. Added knownWebViewClasses parameter to support ASM writing.
  3. Added log output to file functionality.
  4. Added verboseLog parameter for more verbose log output.
  5. Added numerical boundary handling in FTMethodAdapter.
  6. Added ignore configuration for filtering internal methods of custom WebViews.

1.3.5 (2025/04/18)

  1. Optimized stability of plugin parameters during concurrent compilation.
  2. Added ASM writing for FTAutoTrack.trackRequestBuilder method, requires ft-sdk version 1.6.10 or above.
  3. Support for automatic capture of Log.println logs, requires ft-sdk version 1.6.8 or above.

1.3.4 (2024/12/11)

  1. Optimized error log output.
  2. Fixed issue where sourcemap symbol file was not generated when minifyEnabled was not enabled.
  3. Support for generateSourceMapOnly true, generating sourcemap but not actively uploading it.

1.3.3 (2024/09/04)

  1. Optimized automatic acquisition and upload of native symbol so files, supports custom nativeLibPath specification.

1.3.2 (2024/08/13)

  1. Support for automatic capture of React Native WebView events.

1.3.1 (2024/07/04)

  1. Added asmVersion configuration capability, supports asm7 - asm9, default is asm9.
  2. Fixed issue where custom WebView methods caused circular calls after ASM writing, preventing WebView content loading. (Involved methods: loadUrl, loadData, loadDataWithBaseURL, postUrl).
  3. IgnoreAOP supports declaration within a class to ignore all methods in that class.
  4. Added ignorePackages configuration, supporting ASM ignore via package path configuration.

1.3.0 (2024/03/22)

  1. Support for automatic upload of datakit source maps, support for upload of native symbols.
  2. Support for capturing Application cold/warm start, Activity page navigation, View, ListView, Dialog, Tab click events.
  3. Support for writing Webview Js listener methods.
  4. Support for automatic writing of Okhttp Trace and Resource data.
  5. Support for Gradle 8.0, AGP 8.0.
  6. Support for IgnoreAOP ignore markers.
  7. Support for compatibility with Alibaba Cloud hotfix framework.

More logs

ft-plugin-legacy ( AGP <=7.4.2 )

1.1.9 (2025/12/09)

  1. Support for UniApp WebView.
  2. Added knownWebViewClasses parameter to support ASM writing.
  3. Added log output to file functionality.
  4. Added verboseLog parameter for more verbose log output.
  5. Added numerical boundary handling in FTMethodAdapter.
  6. Added ignore configuration for filtering internal methods of custom WebViews.

1.1.8 (2024/08/13)

  1. Support for automatic capture of React Native WebView events.

1.1.7 (2024/07/04)

  1. Fixed issue where overriding methods in WebView subclasses caused circular calls after ASM writing, preventing WebView content loading. (Involved methods: loadUrl, loadData, loadDataWithBaseURL, postUrl).
  2. IgnoreAOP supports declaration within a class to ignore all methods in that class.
  3. Added ignorePackages configuration, supporting ASM ignore via package path configuration.

1.1.6 (2024/03/22)

  1. Support for automatic upload of datakit source maps, support for upload of native symbols.
  2. Support for capturing Application cold/warm start, Activity page navigation, View, ListView, Dialog, Tab click events.
  3. Support for writing Webview Js listener methods.
  4. Support for automatic writing of Okhttp Trace and Resource data.
  5. Support for AGP versions below 7.4.2.
  6. Support for IgnoreAOP ignore markers.
  7. Support for compatibility with Alibaba Cloud hotfix framework.

More logs