Skip to content

Changelog


ft-sdk

1.7.3 (2026/07/02)

  1. Added FTSdk.setAutoSync(boolean), supporting dynamic enabling or disabling of automatic cache data synchronization after SDK initialization.
  2. Fixed inconsistent handling of warn and warning log level filter values in FTLoggerConfig.setLogLevelFilters.
  3. Fixed the application of logcat configuration for Native Crash and ANR, correctly using nativeCrashLogCatSetting and anrCrashLogCatSetting respectively.
  4. Optimized cache count initialization during startup and file cache size refresh logic to avoid blocking the main thread when the SDK starts.
  5. Optimized file cache size calculation method, using persistent incremental metadata to improve accuracy of cache limit judgment and write performance in high-capacity FileStore scenarios.
  6. Optimized lock contention in RUM cache strategy when total cache size limit is enabled, improving stability of high-concurrency FileStore writes.
  7. Optimized remote configuration log display; array fields like rumAllowWebViewHost, logLevelFilters will now print actual content.

1.7.2 (2026/05/20)

  1. Added DataKit-compatible data filtering capability, supporting local and remote rule filtering for Logging and RUM data; enabled by default, can be disabled via FTSDKConfig.setEnableDataFilter(false).
  2. Added FTSDKConfig.setDataFilters, supporting configuration of local filtering rules and remote filtering rule fetch intervals; filtering rules are executed after LineDataModifier and before local cache write.
  3. Added general cache size limit configuration FTSDKConfig.enableLimitWithCacheSize, FTSDKConfig.setCacheDiscard, and CacheDiscard; original enableLimitWithDbSize, setDbCacheDiscard remain for compatibility but migration to new interfaces is recommended.
  4. Added file cache capability FTSDKConfig.enableFileDataStore(), used for synchronous caching and RUM aggregated data, providing a migration path compatible with old caches.
  5. ft-sdk no longer strongly depends on ft-session-replay; applications not enabling Session Replay do not need to add ft-session-replay dependency.
  6. Added app_launch_type field to cold-start Action, used to distinguish foreground launch and background launch.
  7. Added RUM fallback View data, generating real View summary records in ApplicationLaunch, BackgroundView, and RootView scenarios, allowing launch, background, and RUM events lacking foreground View to associate with random view_id.
  8. 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.
  9. Fixed issue where custom Resource attributes could override SDK-calculated duration, and added non-negative value protection for fallback durations in exceptional cases.
  10. Fixed Session Replay upload retry and upload address validation logic, avoiding repeated triggering of uploads for invalid addresses, and making retriable failures handled by backoff strategy.

1.7.1 (2026/04/30)

  1. 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 of 1.
  2. Added crash RUM Error metrics foreground_crash_free_duration and background_crash_free_duration, used to distinguish foreground and background crash-free run durations.
  3. Added Resource network snapshot fields, including network_available, network_validated, network_downlink_kbps, network_uplink_kbps, and network_signal_strength.
  4. SDK data synchronization now enables deflate compression by default, can be disabled via FTSDKConfig.setCompressIntakeRequests(false).
  5. Corrected version dependency constraints between ft-sdk and Session Replay module, improving integration compatibility check accuracy.

1.7.0 (2026/04/17)

  1. Added Session Replay capability, supporting WebView Session Replay, DCloud WebView, and full snapshot keyframe collection for WebView containers.
  2. Added Session Replay and RUM context association capability, allowing association between WebView containers and loaded HTML content contexts.
  3. Added Session Replay error sampling capability, and supports dynamic control of Session Replay via remote configuration.
  4. Added Session Replay image resource upload capability, supplementing parameter passthrough like userAgent, appVersion and synchronization link adaptation.
  5. Optimized Session Replay initialization, fragment frame complement, frame generation and consumption, delayed write, disk write limit, etc., improving recording and synchronization stability.
  6. Fixed issues including WebView data loss, abnormal handling in invisible scenarios, premature write causing white screen, low-version OkHttp unable to sync, Bitmap recycling causing recording failure, etc.
  7. 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)

  1. Fixed issue introduced in version 1.6.16: remote dynamic configuration not taking effect on first load.
  2. Added TraceContext and TraceContext.Simple, used for custom Trace Header handling. Can override HeaderHandler.getTraceContext(Request) to provide headers, traceId, and spanId at once, fully compatible with existing getTraceHeader, getTraceID / getSpanID implementations.
  3. Supports 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. Extended resource_type support range, added image, media, font, CSS, JS, native types.
  3. Supports 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 3.12 and above.
  7. Fixed inaccurate Resource request start time.
  8. Fixed occasional null pointer exception when fetching Action and View during SDK shutdown.
  9. Optimized error stack format, fixed line break errors in specific scenarios.
  10. Added limited Long Task monitoring capability when the application is in the background.
  11. Optimized Session refresh mechanism when the application 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 main thread, automatically stops monitoring when the application goes to the background.
  2. Optimized long log output mechanism for logs exceeding 4K, improving log readability and integrity.
  3. Optimized generation logic for resource, long task, error within View context.
  4. Increased View generation rate and reduced traffic data generated for Views with the same view_id.
  5. Removed restriction on ActivityLifecycleCallbacks in child processes, making lifecycle monitoring more complete.
  6. Fixed occasional data update loss issue for View.
  7. Fixed session refresh anomaly 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 AndroidMainfest declaration of android.permission.READ_PHONE_STATE, integrators need to add it themselves based on actual situation. Permission usage instructions see integration documentation.
  3. Limited 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 user action (app launch, click) tracking in RUM data. Developers can modify action names, add custom attributes, or skip tracking specific actions.
  2. Added FTRUMConfig.setViewActivityTrackingHandler to support custom Activity page tracking. This handler allows developers to customize Activity page tracking in RUM data. Developers can modify page names, add custom attributes, or skip tracking specific Activities.
  3. Added FTRUMConfig.setViewFragmentTrackingHandler to support custom Fragment page tracking. This handler allows developers to customize Fragment page tracking in RUM data. Developers can modify page names, add custom attributes, or skip tracking specific Fragments.
  4. Fixed missing bindUserData binding related information (e.g., userid) in FTRUMGlobalManager.addAction.
  5. Added load_time data metric for Fragment in View.
  6. Added FTRUMGlobalManager.updateTime for customizing the current view's load time.
  7. Improved compatibility with OkHttp 3.12.x versions.
  8. Tags added via FTRUMConfig.appendRUMGlobalContext can be updated during the session.

1.6.12 (2025/06/11)

  1. Added FTRUMConfig.setEnableTraceWebView to configure whether to enable WebView data collection via Android SDK, can control host addresses to filter via FTRUMConfig.setAllowWebViewHost.
  2. Added ContentHandlerHelperEx.onExceptionWithFilter, allowing filtering of local network errors.
  3. Added FTSDKConfig.setRemoteConfiguration to support enabling remote conditional configuration, added FTSDKConfig.setRemoteConfigMiniUpdateInterval to support setting 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, supporting data desensitization.
  3. Added FTRUMConfig.setSessionErrorSampleRate to support error sampling; when not sampled by setSamplingRate, errors can trigger sampling collection of RUM data from 1 minute prior.
  4. When FTSDKConfig.setEnableAccessAndroidID(false), uses local random uuid as device_uuid.
  5. Optimized high-frequency log writes, optimized data synchronization and data idle shutdown logic.

1.6.10 (2025/04/18)

  1. Added FTSDKConfig.setEnableOkhttpRequestTag to support adding unique ResourceID to okhttp request, solving trace_id, span_id misalignment issues in high-concurrency identical requests; ft-plugin version 1.3.5+ supports automatic ResourceID addition.
  2. Fixed circular invocation issue with other crash collection SDKs in scenarios where RUM configuration is initialized multiple times.
  3. When navigating from native page to WebView page, uses native page name to fill view_referrer.
  4. Fixed issue where IOException from network request being re-thrown could alter original type.
  5. Added setProxy, setProxyAuthenticator, setDns to FTSDKConfig for configuring Proxy, ProxyAuthenticator, 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 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, supporting enhanced Resource duration display on Guance, and supporting APM flame graph timeline alignment.
  3. Optimized synchronization retry mechanism, removed configuration option FTSDKConfig.setDataSyncRetryCount(0) for direct data discard.
  4. FTSDKConfig.enableDataIntegerCompatible enabled by default, for compatibility with web numeric floating-point type data.
  5. Fixed issue where multiple RUM configuration initializations could cause duplicate crash data generation.

1.6.8 (2025/01/21)

  1. Fixed inaccurate fps collection issue when RUM configuration is initialized multiple times.
  2. Added tolerance for old version cache data upgrade.
  3. Migrated FTRUMConfig.setOkHttpTraceHeaderHandler to FTTraceConfig.setOkHttpTraceHeaderHandler.
  4. Enhanced WebView SDK internal information, optimized performance.

1.6.7 (2025/01/10)

  1. Supports custom FTTraceInterceptor.HeaderHandler for association with RUM data.
  2. Supports modifying ASM-written FTTraceInterceptor.HeaderHandler content via FTRUMConfig.setOkHttpTraceHeaderHandler, supports 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 empty tag characters causing data reporting failure.
  5. Optimized ASM OkHttpListener EventListener override logic, supports preserving original project EventListener event parameter passing.

1.6.6 (2024/12/27)

  1. Optimized network status and type acquisition, supports displaying ethernet network type.
  2. Optimized frequent database closure issue during data writes in no-network state.
  3. Fixed discrepancy between discarded log/RUM old data count and set count.
  4. Adapted TV device key events, removed non-TV device tags.
  5. Supports limiting RUM data cache entry count upper limit via FTRUMConfig.setRumCacheLimitCount(int), default 100_000.
  6. Supports limiting total cache size via FTSDKConfig enableLimitWithDbSize(long dbSize); after enabling, FTLoggerConfig.setLogCacheLimitCount(int) and FTRUMConfig.setRumCacheLimitCount(int) become ineffective.
  7. Optimized Session refresh rules in scenarios with no device operation.

1.6.5 (2024/12/24)

  1. Weakened null parameter prompts for WebView during AOP process.
  2. Optimized long Session update mechanism when the application is in the background.

1.6.4 (2024/12/03)

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

1.6.3 (2024/11/18)

  1. Optimized performance of custom addAction under high-frequency calls.
  2. Supports configuring deflate compression for synchronized data using FTSDKConfig.setCompressIntakeRequests.

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 called separately in RUM caused monitoring metric FTMetricsMTR thread not being recycled.
  2. Supports adding dynamic attributes via FTSdk.appendGlobalContext(globalContext), FTSdk.appendRUMGlobalContext(globalContext), FTSdk.appendLogGlobalContext(globalContext).
  3. Supports clearing unreported 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 old 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. Added local network error type prompts for Error network_error, supplementing scenarios where resource_status=0 in Resource data.
  2. Fixed uncaughtException rethrow passing issue when setEnableTrackAppCrash(false).

1.5.1 (2024/06/19)

  1. Added other thread code stacks for Java Crash and ANR.
  2. Added additional logcat configuration capability for Java Crash, Native Crash, ANR.
  3. Fixed issue where session_id was frequently updated in long session scenarios with no action updates.

1.5.0 (2024/06/03)

  1. Added remote IP address resolution capability for RUM resource network requests.
  2. Fixed array thread safety issue caused by high-concurrency network requests after enabling RUM SampleRate.
  3. Optimized tolerance 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. Optimized tolerance for SDK config configuration read exceptions.

1.4.6 (2024/05/15)

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

1.4.5 (2024/04/26)

  1. Optimized compatibility handling for repeated initialization.
  2. Optimized c/c++ crash collection data synchronization logic to avoid deadlock from unexpected exit in certain scenarios.
  3. Optimized startAction Property attribute write logic to avoid thread-safe access issues.

1.4.4 (2024/04/01)

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

1.4.3 (2024/03/22)

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

More logs

ft-session-replay

0.1.6 (2026/07/09)

ft-session-replay

  1. Added Flutter Session Replay external recorder mode; Flutter-side recorder can reuse Session Replay sampling, context update, and data write capabilities, while closing native recorder lifecycle.
  2. Fixed crash issue when Session Replay handles DialogFragment where getDialog() or its Window is null.

ft-session-replay-material

  1. No changes.

ft-session-replay-compose

  1. No changes.

0.1.5 (2026/05/19)

ft-session-replay

  1. Added Flutter Session Replay upload compatibility capability, supporting mapping Replay batches to corresponding Segments via Flutter RUM context Key.
  2. Fixed compatibility issue with Session Replay file read/write factories under both regular storage and encrypted storage implementations.
  3. 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 available address configuration is completed.
  4. Replaced remaining JetBrains nullability annotations in Session Replay with AndroidX annotations, reducing redundant annotation dependencies.

ft-session-replay-material

  1. No changes.

ft-session-replay-compose

  1. No changes.

0.1.4 (2026/04/30)

ft-session-replay

  1. Removed redundant Kotlin dependencies, simplifying Session Replay dependency graph.
  2. 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 for Java/Kotlin integration.

ft-session-replay-material

  1. Aligned version with ft-session-replay 0.1.4, no API or behavior changes.

ft-session-replay-compose

  1. Fixed crash issue when recording AndroidView interop nodes, where low-version Session Replay Core lacked MappingContext.getInteropViewCallback().
  2. Added consumer ProGuard rules to preserve Compose Replay dependency's MappingContext AndroidView interop callback access methods.
  3. Enhanced documentation for Compose Replay's Modifier privacy overrides, extension support, text truncation modes, and image Wireframe helper methods, improving IDE hints for Kotlin/Compose integration.

0.1.3 (2026/04/17)

ft-session-replay

  1. Added WebView Session Replay capability, supporting DCloud WebView and full snapshot keyframe collection for WebView containers.
  2. Added Session Replay and RUM context association capability, allowing association between WebView containers and loaded HTML content contexts.
  3. Added error sampling capability, and supports dynamic control of Session Replay via remote configuration.
  4. Added image resource upload capability, improved metadata handling for userAgent, appVersion, forceFullSnapshot, etc.
  5. Optimized frame generation and consumption, fragment frame complement, WebView Replay data delayed write, invisible WebView handling, and disk write limits, improving stability and performance.
  6. Fixed issues including WebView Replay data loss, premature write causing white screen, low-version OkHttp sync failure, Bitmap recycling causing recording failure, rumLinkKey null handling, and recording timeout in multi-image scenarios.

ft-session-replay-material

  1. Added Session Replay support for Material components, including CardView and Chip.
  2. Optimized compatibility and debugging support for low-version Android.
  3. Optimized rendering performance of Material components in Replay data, updated MaterialDrawableToColorMapper rules.
  4. Aligned version strategy with ft-session-replay, improving release management and integration consistency.

ft-session-replay-compose

  1. Added Jetpack Compose Session Replay support, enabling recording and playback for ComposeView and AndroidComposeView scenarios.
  2. Supports semantic mapping and playback for common Compose components, including text, text input fields, buttons, images, sliders, Switch, Checkbox, RadioButton, Tab, and container nodes.
  3. Supports Session Replay privacy overrides via Modifier in Compose, including hiding nodes, image privacy, text and input privacy, touch privacy.
  4. Current Compose playback is based on semantic node mapping, pixel-perfect reproduction not guaranteed; Brush backgrounds (e.g., linear gradient, radial gradient) are not supported and will not be played back with original effects.

ft-session-replay more logs

ft-session-replay-material more logs

ft-session-replay-compose more logs

ft-native

1.1.3 (2026/04/30)

  1. Enhanced Native Crash backtrace robustness, added null address detection, and strengthened null pointer and wild pointer checks during libunwind.so backtrace in libft_native_exp_lib.so.
  2. Fixed potential secondary crash issue of libunwind.so during Native Crash handling.

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. Supports capturing ANR Crash.
  2. Supports capturing C/C++ Native Crash.
  3. Supports collecting application running state at crash.
  4. Supports callbacks triggered by ANR and Native Crash.

More logs

ft-plguin ( AGP >=7.4.2 )

1.3.7 (2026/06/26)

  1. Added wildcard configuration support for ignorePackages.
  2. Fixed issue where, when autoUploadNativeDebugSymbol enabled and using default nativeLibPath auto-identification, unstripped Native .so symbol file directory could not be identified in some AGP builds, causing symbol archive generation failure.

1.3.6 (2025/12/03)

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

1.3.5 (2025/04/18)

  1. Optimized plugin parameter stability in concurrent compilation.
  2. Added ASM writing for FTAutoTrack.trackRequestBuilder method, requires ft-sdk version 1.6.10+.
  3. Supports Log.println log auto-capture, requires ft-sdk version 1.6.8+.

1.3.4 (2024/12/11)

  1. Optimized error log output.
  2. Fixed issue where sourcemap symbol file not generated when minifyEnabled not enabled.
  3. Supports generating sourcemap but not actively uploading via generateSourceMapOnly true.

1.3.3 (2024/09/04)

  1. Optimized native symbol so auto-fetch upload, supports custom specifying nativeLibPath.

1.3.2 (2024/08/13)

  1. Supports React Native WebView event auto-capture.

1.3.1 (2024/07/04)

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

1.3.0 (2024/03/22)

  1. Supports datakit source map auto-upload, supports native symbol upload.
  2. Supports capturing Application cold/hot launch, Activity page navigation, View, ListView, Dialog, Tab click events.
  3. Supports writing Webview Js listener methods.
  4. Supports Okhttp Trace and Resource data auto-write.
  5. Supports Gradle 8.0, AGP 8.0.
  6. Supports IgnoreAOP ignore marker.
  7. Supports compatibility with Alibaba Cloud hotfix framework.

More logs

ft-plugin-legacy ( AGP <=7.4.2 )

1.1.9 (2025/12/09)

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

1.1.8 (2024/08/13)

  1. Supports React Native WebView event auto-capture.

1.1.7 (2024/07/04)

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

1.1.6 (2024/03/22)

  1. Supports datakit source map auto-upload, supports native symbol upload.
  2. Supports capturing Application cold/hot launch, Activity page navigation, View, ListView, Dialog, Tab click events.
  3. Supports writing Webview Js listener methods.
  4. Supports Okhttp Trace and Resource data auto-write.
  5. Supports AGP versions below 7.4.2.
  6. Supports IgnoreAOP ignore marker.
  7. Supports compatibility with Alibaba Cloud hotfix framework.

More logs

Feedback

Is this page helpful? ×