v0.12.0
Faro Flutter SDK v0.12.0
⚠️ Deprecated
markEventStart()andmarkEventEnd()are now deprecated. UsestartSpan()for duration tracking. UsestartUserAction()when you need interaction-level correlation across logs, events, exceptions, and spans. UsestartSpanManual()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: falseinFaroConfig. - Asset load lifecycle signals: Asset loads via
FaroAssetTrackingnow emit activity signals to keep user actions alive during resource loading. - Expanded asset tracking:
FaroAssetBundlenow also tracksloadBufferandloadStructuredBinaryDatain addition toloadandloadString.
⚠️ Changed
-
BREAKING:
FaroAssetTrackingreplacesFaroAssetBundlein public API:FaroAssetBundleis no longer exported frompackage:faro/faro.dart. UseFaroAssetTracking(child: ...)instead ofDefaultAssetBundle(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_requestcustom event fromHttpTrackingClient. -
HTTP request telemetry continues to be available through span-derived
faro.tracing.fetchevents 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