Skip to content

v0.12.0

Choose a tag to compare

@robert-northmind robert-northmind released this 05 Mar 14:02
· 66 commits to main since this release
8072e9f

Faro Flutter SDK v0.12.0

⚠️ Deprecated

  • markEventStart() and markEventEnd() are now deprecated. Use startSpan() for duration tracking. Use startUserAction() when you need interaction-level correlation across logs, events, exceptions, and spans. Use startSpanManual() for manual span lifecycle control.

✨ Added

  • UI activity monitoring for user actions: The SDK now automatically monitors Flutter widget rebuilds to detect UI responses to user actions. This emits bounded activity signals that keep user actions alive while the UI is updating, similar to DOM mutation observation in the Web SDK. Disable via enableUiActivityMonitoring: false in FaroConfig.
  • Asset load lifecycle signals: Asset loads via FaroAssetTracking now emit activity signals to keep user actions alive during resource loading.
  • Expanded asset tracking: FaroAssetBundle now also tracks loadBuffer and loadStructuredBinaryData in addition to load and loadString.

⚠️ Changed

  • BREAKING: FaroAssetTracking replaces FaroAssetBundle in public API: FaroAssetBundle is no longer exported from package:faro/faro.dart. Use FaroAssetTracking(child: ...) instead of DefaultAssetBundle(bundle: FaroAssetBundle(), child: ...).

    Before After
    ```dart ```dart
    DefaultAssetBundle( FaroAssetTracking(
    bundle: FaroAssetBundle(), child: const FaroUserInteractionWidget(child: MyApp()),
    child: const FaroUserInteractionWidget(child: MyApp()), )
    ) ```
    ```
  • HTTP tracking no longer emits the legacy http_request custom event from HttpTrackingClient.

  • HTTP request telemetry continues to be available through span-derived faro.tracing.fetch events and OTLP spans.

  • Pending operation lifecycle signals are now span-driven via UserActionConstants.pendingOperationKey:

    • HTTP spans set this marker automatically.
    • Custom spans can opt in by setting this attribute to true.
    • Marker-based pending operations use span ID as operation ID.
    • The marker attribute is exported with the span/event attributes.

See CHANGELOG.md for complete details.


Full Changelog: v0.11.0...v0.12.0