Copy as Markdown[Open in ChatGPT](https://chatgpt.com/?q=Read%20https%3A%2F%2Fcoralogix.com%2Fdocs%2Fuser-guides%2Frum%2Fsdk-installation%2Fflutter%2Frelease-notes.md%20and%20help%20me%20with%20my%20question%20about%20this%20Coralogix%20documentation%20page.)[Open in Claude](https://claude.ai/new?q=Read%20https%3A%2F%2Fcoralogix.com%2Fdocs%2Fuser-guides%2Frum%2Fsdk-installation%2Fflutter%2Frelease-notes.md%20and%20help%20me%20with%20my%20question%20about%20this%20Coralogix%20documentation%20page.)

# RUM Flutter SDK changelog

Sep 10, 2026

Flutter SDK 0.15.1

Fixed

* Native iOS SDK updated to 2.18.2.
* Fixed a crash recovered from a previous run being reported again on every subsequent app launch on iOS. It is now reported once.

Sep 7, 2026

Flutter SDK 0.15.0

Improved

* Native iOS SDK updated to 2.18.1.
* Session recording now captures the frame the moment a finger touches the screen, once per tap, and reports it as a screenshot event. **[Learn more](https://coralogix.com/docs/user-guides/rum/product-features/session-replay/flutter.md)**
* A scroll or swipe records one frame as it begins, rather than a second one when the finger lifts.
* Fixed `captureScreenshot()` not appearing in the event stream on iOS. Previously it captured a frame but reported nothing.
* Where there is no new frame to show, mid-scroll or during a screen transition, the recording skips that moment instead of repeating an earlier image.

Aug 12, 2026

Flutter SDK 0.14.0

New

* Interactions on masked content are now reported as masked. A tap anywhere on a control wrapped in `MaskedWidget`, or on a control containing masked content, reports `interaction_context.is_masked_element: true` and redacts its text to `***`. Session Replay draws no tap marker over a masked control, so a recording can no longer reveal which key of a masked keypad was pressed. **[Learn more](https://coralogix.com/docs/user-guides/rum/product-features/session-replay/flutter.md)**
* Masking configured for the replay image (`maskAllTexts`, `textsToMask`, `maskAllImages`) hides those pixels in the recording and suppresses tap markers, but does not redact interaction text, matching the Android, iOS, and web SDKs.
* `beforeSend` can read `is_masked_element` and drop the event or edit its interaction context.
* Fixed a configured `beforeSend` breaking Session Replay. Top-level event fields the plugin does not model, `screenshot_context` among them, were dropped in transit, which left recordings without a timeline and prevented playback. Unmodelled fields nested inside a context the plugin does model are still dropped.
* Note for `beforeSend` users: fields the plugin does not model are forwarded exactly as the SDK sent them and are not exposed to the callback, so they cannot be edited or removed there. Returning `null` to drop the whole event is the only way to withhold them. Events therefore carry fields that earlier versions silently discarded.
* A masked area that a modal or dialog only partly covers is now masked exactly where it still shows. Previously the whole area stopped being masked once enough of it was hidden, leaving the visible remainder exposed in the recording.
* Fixed a masked widget continuing to hide part of the recording after it stopped being visible (for example after navigating to another screen, or scrolling it out of view) which blacked out whatever was actually on screen in that spot.
* Fixed masks being dropped or misplaced in the recording in apps that supply their own view configuration, where the size and pixel ratio reported by the platform differ from the ones the recording is captured at.
* Fixed `getSessionReplayFolderPath` throwing on Android instead of returning the path.
* Fixed events being dropped when a `beforeSend` is configured and the SDK reports an event type this plugin version does not model. They are now delivered unchanged.

Aug 11, 2026

Flutter SDK 0.13.1

Fixed

* Fixed network request durations on iOS. Previously every request instrumented by the Dart layer showed a duration of 1 ms.
* Network request durations in the Dio interceptor are now measured with a monotonic clock, so system clock adjustments mid-request can no longer skew them.
* Failed-request error text is no longer sent with network request events. It was never shown on any platform, and error details continue to be reported through error events.
* Native iOS SDK bumped to 2.15.1, which honors the millisecond durations sent by the plugin and restores the HTTP status text on network events.

Aug 10, 2026

Flutter SDK 0.13.0

Improved

* Native iOS SDK bumped to 2.14.0 and Android to 2.21.1. Buffered telemetry is now flushed automatically when the app enters the background, so events from the end of a session are no longer lost when the process is suspended while backgrounded.
* The background flush needs no API call: iOS extends the background window so the upload can finish, and Android starts the export immediately with a background job as a backstop.
* Interaction masking now matches the Coralogix web SDK. Interaction events for a masked element redact only its inner text, and every interaction event reports whether its element was masked. **[Learn more](https://coralogix.com/docs/user-guides/rum/product-features/session-replay/flutter.md)**
* Fixed network request durations on Android always being reported as zero. Instrumented requests now report their real duration.
* Android now pulls in `androidx.work` transitively. Apps that replace the default WorkManager initializer with on-demand initialization keep the immediate flush but skip the backstop job.

Aug 6, 2026

Flutter SDK 0.12.1

Improved

* Native iOS SDK bumped to 2.13.3 and Android to 2.19.4. The updated native SDKs now promote snapshot context on `setUserContext` to the next eligible exported span, ensuring user-context changes are captured in the session without requiring a manual snapshot trigger.

Aug 2, 2026

Flutter SDK 0.12.0

New

* `reportError` now accepts optional `labels` and `isCrash`, so you can add per-event labels and distinguish caught from uncaught exceptions in a single call. Labels merge into the event's labels alongside session-level labels, and `isCrash: true` marks unhandled exceptions for native SDK sampling and grouping. On iOS, `isCrash` applies only to errors reported with a stack trace, the native message and data variants don't carry it.
* Error events now carry the real Dart error type. `reportError(error, …)` reports `error.runtimeType` (for example, `StateError` or `PlatformException`) as the event's error type instead of the generic `FlutterError`, so errors group by type in the dashboard. String messages still report as `FlutterError`.
* Added automatic stack trace recovery. If no explicit `stackTrace` is passed, `reportError(error)` recovers the stack from `error.stackTrace` on Dart `Error` subtypes, promoting calls to the full code path (iOS and Android benefit from this for error-type context and data forwarding).
* **Breaking change:** for platform-interface implementers only, `CxFlutterPluginPlatform.reportError` gained named parameters (`errorType`, `isCrash`, `labels`), so custom `CxFlutterPluginPlatform` subclasses must update their override. The public `CxFlutterPlugin.reportError` keeps its three-positional shape and stays source-compatible for app code.
* Native iOS SDK bumped to 2.13.2 and Android to 2.19.2, both of which include labels support on `reportError`.

Jul 28, 2026

Flutter SDK 0.11.0

Improved

* New `event.isSessionSampledIn` in `beforeSend`: a read-only flag that is `false` when an event reached export only via `excludeFromSampling` while the session itself was sampled out, so a callback can filter excluded categories further, for example, keeping only errors at a low `sdkSampler`.
* A `beforeSend` callback can no longer change the session identity (`session_id`, `session_creation_date`) or clear `session_context`. These are restored after the callback runs, matching the native SDKs. User identity fields stay editable.
* On Android, crash events now upload directly instead of taking the `beforeSend` round trip to Dart, so a `beforeSend` callback no longer sees them, matching iOS.
* Native iOS SDK bumped to 2.13.1 and Android to 2.19.1.

Jul 23, 2026

Flutter SDK 0.10.2

Fixed

* Fixed an iOS Session Replay bug where the recording went black while the screen was animating continuously (spinners, transitions). The recording now holds the last frame instead of filling black.
* Native iOS SDK bumped to 2.11.2.

Jul 14, 2026

Flutter SDK 0.10.1

Fixed

* Fixed iOS network requests instrumented with the Dio interceptor reporting a trace ID that differed from the one sent in the `traceparent` header, so they now link to their backend traces (Android already did).
* Native iOS SDK bumped to 2.10.3.

Jul 5, 2026

Flutter SDK 0.10.0

New

* New `createNewSession()` force-starts a fresh RUM session on demand (for example, on user logout) without a full `shutdown()` and re-initialization, on both iOS and Android. It bridges the native SDKs' session-recreation API.
* Native iOS SDK bumped to 2.10.0 and Android to 2.17.1, both of which include `createNewSession`.

Jun 29, 2026

Flutter SDK 0.9.2

Fixed

* Fixed Session Replay masking errors during route transitions, bottom sheets, and taps on both iOS and Android. Text could briefly appear unmasked, or a mask could land at the wrong offset, while a route pushed or popped, a bottom sheet animated, or a tap's ripple played. Capture is now taken from a settled frame with the pixels and mask rectangles read from the same frame, and a route sitting behind a non-opaque modal (sheet or dialog) stays masked. **[Learn more](https://coralogix.com/docs/user-guides/rum/product-features/session-replay/flutter.md)**
* Fixed the Android Flutter Session Replay frame being shrunk into the top-left corner. The masked bitmap was rasterized at logical resolution while the native compositor blits it at physical pixels, so it filled only about `1/devicePixelRatio` of the frame. It is now captured at the `FlutterView`'s physical resolution and fills the frame. iOS maps logical points 1:1 and was unaffected.
* Fixed black Session Replay frames on Android, most visible on taps (the tap indicator on a black screen). The native side abandoned the masked-image request after a single vsync and black-filled the region, but a full-resolution masked frame can take longer to rasterize and transfer on a slower device. Native now waits for the masked image and, on a genuine miss, drops the frame instead of black-filling. This requires android-sdk 2.16.3, bumped here.

Jun 21, 2026

Flutter SDK 0.9.1

Fixed

* Fixed an Android build failure for consumers on Kotlin 2.x (the K2 compiler in Kotlin 2.2+). An internal helper used an expression body with early `return null` short-circuits, which K2 rejects as a hard error, breaking `:cx_flutter_plugin:compileDebugKotlin`. It was converted to a block body with the same logic.
* Removed `mavenLocal()` and a local-repo block that were accidentally shipped in `android/build.gradle`; dependency resolution now relies on `google()` and `mavenCentral()` as intended.

Jun 18, 2026

Flutter SDK 0.9.0

New

* New automatic view tracking via `CxNavigatorObserver`. Add it to your app's `navigatorObservers` and screen changes are reported automatically, with no manual `setView` per page. Only `PageRoute`s are tracked (dialogs, bottom sheets, and popups are not), and the view name comes from `RouteSettings.name` (unnamed routes are skipped). Pass a `nameExtractor` to derive the name differently or to skip a route by returning `null`; a throwing `nameExtractor` is caught and reported, so it can never break navigation.

Jun 18, 2026

Flutter SDK 0.8.0

Improved

* `beforeSend` now realigns OTel span attributes, bringing Flutter to parity with the native fix. When a `beforeSend` callback edits a network or custom-span event, the change is mirrored onto the event's `instrumentation_data.otelSpan.attributes` so the OTel span matches the modified `text.cx_rum`. Previously this realignment ran only on the synchronous native path, so Flutter's asynchronous `beforeSend` left OTel attributes at their pre-edit values; keys the callback removes are now dropped from the span.
* Fixed custom-span events being dropped during `beforeSend`: `CoralogixEventType` was missing the `custom-span` value, so those events failed to decode in the round-trip. The enum value and its mapping were added.

Jun 18, 2026

Flutter SDK 0.7.0

Improved

* Session Replay now performs Flutter-native masking, compositing a pre-masked bitmap from the real render tree instead of the previous pull-based region/OCR path. `CXSessionReplayOptions` is the single source of truth for what gets masked, `maskAllTexts`, `textsToMask` (regex), `maskAllImages`, plus the `MaskedWidget` wrapper. This fixes over-masking of text on routes hidden behind the current screen and mask/scroll misalignment during fast scrolling. **[Learn more](https://coralogix.com/docs/user-guides/rum/product-features/session-replay/flutter.md#mask-specific-widgets)**
* Fixed iOS Session Replay scroll lag: frames are now captured at the resolution the native SDK retains, with an in-flight guard, a self-healing per-capture timeout, and scroll-skip.
* Deprecated `registerMaskRegion` and `unregisterMaskRegion`. Masking is applied automatically now, so these are no-ops (they log) and will be removed in a future release.
* Native iOS SDK upgraded to 2.9.1, Android to 2.16.1.

Jun 4, 2026

Flutter SDK 0.6.0

Improved

* Fixed `reportError(message, data, stackTrace)` to honor its public contract on both platforms. Previously, calling it with a non-empty stack trace silently dropped the `data` map. The iOS and Android bridges now thread `data` through into the native `customAttributes` parameter, so a single RUM error event carries both the parsed frames and the data attributes.
* Native iOS SDK upgraded to 2.7.0, Android to 2.13.0.

May 19, 2026

Flutter SDK 0.5.1

Improved

* Fixed obfuscated `virt` addresses that were wrong on iOS (a follow-up to the 0.4.2 fix). The parser now emits `virt` in the canonical `dart symbolize` form `<symbol>+0x<offset>`, which the server resolves against the uploaded debug-info file. This format requires a corresponding server-side update during rollout. (BUGV2-6011 follow-up)
* Fixed an Android parser bug that dropped every frame: the frame regex now allows the extra `virt ADDR` token that Android's Dart runtime emits between `abs ADDR` and the symbol suffix.
* Behavioral change: engine and framework frames (those without a `_kDartIsolateSnapshotInstructions` / `_kDartVmSnapshotInstructions` suffix) are now skipped at parse time, because they can't be resolved against the app's symbols file. The parsed stack trace now carries a `dropped_frame_count` field (omitted when zero). **[Learn more](https://coralogix.com/docs/user-guides/rum/cli/rum-cli.md)**

May 13, 2026

Flutter SDK 0.5.0

New

* New `excludeFromSampling` option on `CXExporterOptions` (CX-40205) keeps selected instrumentation categories emitting even when the session is sampled out via `sdkSampler`. Supported categories: `errors`, `logs`, `network`, `userInteractions`, `mobileVitals`, `customSpan`, and `customMeasurement`. Defaults to an empty list, so the sampler gates everything as before.
* New Time Measurement API (CX-40514): `startTimeMeasure(name, {labels})` and `endTimeMeasure(name)` bracket a span of work, which the native SDK reports as a `custom-measurement` span in milliseconds. Pair every `start` with exactly one `end`. **[Learn more](https://coralogix.com/docs/user-guides/rum/sdk-installation/flutter/mobile/features/custom-instrumentation.md#time-measurement)**
* Native iOS SDK upgraded to 2.6.4.

May 11, 2026

Flutter SDK 0.4.2

Fixed

* Fixed iOS Session Replay scroll lag (via a native iOS SDK upgrade), particularly on screens with mixed-script (RTL / CJK) text.
* Fixed obfuscated stack trace `virt` addresses: the parser now computes `virt` from the per-frame `_kDartIsolateSnapshotInstructions+0xNNN` offset suffix, falling back to the previous formula only when that suffix or the `isolate_instructions` header is missing. (BUGV2-6011)
* Native iOS SDK upgraded to 2.6.3, Android to 2.12.0.

May 6, 2026

Flutter SDK 0.4.1

New

* Android text masking (`maskAllTexts` and `textsToMask`) now works in Flutter. Because Flutter renders inside a single `FlutterSurfaceView`, the Flutter layer now walks the live render tree on each frame capture and returns mask regions for visible text to the native Android SDK; off-screen, scrolled-away, and covered content is excluded automatically. iOS is unaffected, it handles text masking natively. **[Learn more](https://coralogix.com/docs/user-guides/rum/product-features/session-replay/flutter.md#mask-specific-widgets)**
* `textsToMask` now accepts regex patterns (each entry is compiled as a `RegExp`; plain strings match any text containing the word). Invalid patterns are skipped rather than crashing SDK initialization.
* Text fields (`RenderEditable`) are always masked whenever any `textsToMask` pattern is configured, so sensitive input is never inspected to decide whether to mask it.
* Fixed a sentinel registration race so the first captured frame can no longer be unmasked, and registration failures are now logged.

May 3, 2026

Flutter SDK 0.4.0

New

* New Custom Spans public API (CX-36096). `getCustomTracer({ignoredInstruments})` returns a `CoralogixCustomTracer` when `traceParentInHeader.enable` is `true`; from there, `startGlobalSpan()` creates a root span, `startCustomSpan()` creates child spans, `withContext()` runs Dart work in a Zone that inherits the active span, and `endSpan()` closes spans. Only one tracer is allowed per SDK lifecycle. **[Learn more](https://coralogix.com/docs/user-guides/rum/sdk-installation/flutter/mobile/features/custom-instrumentation.md#custom-spans)**
* New `CoralogixIgnoredInstrument` enum (`networkRequests`, `userInteractions`, `errors`) opts specific Dart-side instrumentation out of inheriting the active custom span.
* `CxHttpClient` and `CxDioInterceptor` now automatically inherit the active custom span, inject a `traceparent` header, and attach `customTraceId` / `customSpanId` to network events. Bare `http` and raw Dio calls still bypass this, wrap them in `CxHttpClient` / `CxDioInterceptor` to keep the trace linked.
* New `CXExporterOptions.tracesExporter` callback streams completed OTLP-style trace batches over an EventChannel for you to forward to a Coralogix OTLP endpoint. It is additive and does not replace the normal RUM log pipeline. **[Learn more](https://coralogix.com/docs/user-guides/rum/sdk-installation/flutter/mobile/configuration/traces-exporter.md#traces-exporter)**
* Fixed an iOS scroll freeze with session recording, the Android span lifecycle on `shutdown()`, and Android child span IDs (now real OTel `spanId` / `traceId`). `endSpan()` is now idempotent on both platforms (iOS previously threw `unknown_span`).
* Native iOS SDK upgraded to 2.6.2, Android to 2.11.1.

Apr 5, 2026

Flutter SDK 0.3.3

Fixed

* Fixed release-mode caught exceptions being recorded as logs instead of errors; the iOS bridge now routes through the error path whenever a parsed stack trace is present.
* Fixed empty release-mode stack frames: column numbers are now optional, since Dart AOT (release) stack traces omit them.
* Added a `scripts/bump_version.sh` script to keep version numbers in sync across `pubspec.yaml`, `lib/plugin_version.dart`, and the iOS podspec.
* Added an `ObfuscatedRelease` build configuration to the example app.

Mar 31, 2026

Flutter SDK 0.3.2

Fixed

* Fixed empty frame addresses when reporting obfuscated Dart errors: the parser now matches the Dart 3.x `abs`-only frame format and computes virtual addresses (`abs − isolate_dso_base`).
* Fixed a release CI failure caused by a missing `.env` asset during example-app validation. (BUGV2-5531)

Mar 26, 2026

Flutter SDK 0.3.1

Fixed

* Fixed the always-empty `fragments` field in network events: `CxDioInterceptor` and `CxHttpClient` now report the URL path (for example, `/some/path`) instead of the URI fragment. (BUGV2-5509)

Mar 26, 2026

Flutter SDK 0.3.0

Fixed

* Obfuscated error stack traces now propagate and export correctly through the iOS bridge.
* Fixed iOS scroll lag from interaction tracking: the swipe-context widget-tree walk now runs once at pointer-down and is cached, instead of running on every pointer-up or cancel.

Mar 23, 2026

Flutter SDK 0.2.0

New

* New `CxDioInterceptor` for the Dio HTTP client: add it to your `Dio` instance to automatically capture network requests, generate RUM spans, and inject W3C `traceparent` headers, no migration from your existing networking layer required.
* New `networkCaptureConfig` option on `CXExporterOptions`: supply a list of `CxNetworkCaptureRule` objects to control which headers and payloads are captured per URL. Rules match in order (first match wins), nothing is captured when no rules are configured, and bodies over 1024 characters are dropped.
* Expanded network context: `CxHttpClient` and `CxDioInterceptor` now report `status_text`, request and response headers and payloads, and `error_message`.
* `beforeSend` is now optional. **Migration:** if you relied on the implicit pass-through, set `beforeSend: (event) => event` explicitly.
* Performance and threading improvements: iOS `setUserInteraction` is now dispatched to the main thread, and Android and iOS move initialization and background work onto appropriate queues.
* Native iOS SDK upgraded to 2.3.3, Android to 2.9.3.

Mar 10, 2026

Flutter SDK 0.1.1

Improved

* Hybrid user interaction tracking: when `userActions` is enabled, Dart tracks click, scroll, and swipe events while iOS receives `userActions: false` to avoid duplicates.
* `setUserInteraction` now forwards interaction payloads to the native iOS and Android SDKs, and returns an error when `event_name` is missing or the SDK is not initialized.
* Context types were aligned with the native SDKs across event, device, error, network request, and interaction contexts, with `toJson()` omitting nulls for the `beforeSend` round-trip.
* Native iOS SDK 2.2.0, Android 2.9.0.

Feb 16, 2026

Flutter SDK 0.1.0

Improved

* Added Android support for `allowedTracingUrls` in `TraceParentInHeader` configurations.
* Native Android SDK upgraded to 2.7.2, iOS to 2.1.0.

Feb 8, 2026

Flutter SDK 0.0.21

New

* Added Session Replay support. **[Learn more](https://coralogix.com/docs/user-guides/rum/product-features/session-replay/flutter.md)**

Jan 25, 2026

Flutter SDK 0.0.20

Improved

* Added the AP3 domain as an option for initializing the SDK.

Jan 21, 2026

Flutter SDK 0.0.19

Breaking changeAction required

* **Breaking change:** the package now requires Flutter 3.27.0 or later, which is needed to support the modern `Color.withValues()` API that replaced the deprecated `Color.withOpacity()` method.
* Native iOS SDK upgraded to 1.5.3, plus a bug fix.

Dec 10, 2025

Flutter SDK 0.0.18

Fixed

* Bug fix (BUGV2-1468).
* Native Android SDK upgraded to 2.6.3.

Nov 13, 2025

Flutter SDK 0.0.17

Fixed

* Bug fix (BUGV2-1474).
* Native iOS SDK upgraded to 1.4.0.

Sep 28, 2025

Flutter SDK 0.0.16

New

* Added `sendCustomMeasurement`. **[Learn more](https://coralogix.com/docs/user-guides/rum/sdk-installation/javascript/browser-sdk/features/custom-instrumentation.md)**
* Native iOS SDK upgraded to 1.2.6.

Sep 21, 2025

Flutter SDK 0.0.15

Improved

* Native iOS SDK upgraded to 1.2.5.

Aug 10, 2025

Flutter SDK 0.0.14

Improved

* Native iOS SDK upgraded to 1.1.2.

Jul 24, 2025

Flutter SDK 0.0.13

Fixed

* The Android plugin now respects setting `userActions` to `false`, so user interaction tracking can actually be turned off.
* Native Android SDK upgraded to 2.4.44.

2025

Flutter SDK 0.0.12

New

* Added `proxyUrl` support.
* Added `traceParentInHeader` (iOS only).
* Native iOS SDK upgraded to 1.0.26.

Jun 22, 2025

Flutter SDK 0.0.11

Fixed

* Bug fixes.
* Native iOS SDK upgraded to 1.0.24.

Jun 17, 2025

Flutter SDK 0.0.10

Fixed

* Fixed `beforeSend` not sending instrumentation on Android and iOS.
* Fixed an Android crash.
* Native Android SDK upgraded to 2.4.41, iOS to 1.0.23.

May 28, 2025

Flutter SDK 0.0.9

Improved

* Added Android support for the `beforeSend` operation, plus bug fixes and improvements.
* Native Android SDK upgraded to 2.4.4.

May 27, 2025

Flutter SDK 0.0.8

Breaking changeAction required

* **Breaking change:** the `CxExporterOptions` `beforeSend` callback is now asynchronous.
* Added Android support for `getLabels()`, `getSessionId()`, `isInitialized()`, `setApplicationContext()`, and the `beforeSend` callback.
* Disabled swizzling for iOS (NetworkOnly).
* Native iOS SDK upgraded to 1.0.22, Android to 2.4.3.

May 8, 2025

Flutter SDK 0.0.7

New

* Implemented `beforeSend`, `getLabels()`, `getSessionId()`, `isInitialized()`, and `setApplicationContext()`.
* Native SDK upgraded to 1.0.21.

Apr 24, 2025

Flutter SDK 0.0.6

Changed

* Fixed a crash related to `URLSessionInstrumentation`.
* Removed the Navigation instrument from `CoralogixOptions`.
* Native SDK upgraded to 1.0.20.

Apr 8, 2025

Flutter SDK 0.0.5

Removed

* Removed `CustomDomainUrl`.
* Native SDK upgraded to 1.0.18.

Feb 10, 2025

Flutter SDK 0.0.4

Fixed

* Fixed a bug that prevented data from being sent on Android when no custom URL was set.

Dec 15, 2024

Flutter SDK 0.0.3

New

* Added the Android implementation.

Nov 25, 2024

Flutter SDK 0.0.2

New

* Added `sdkSampler` to set the SDK initialization rate as a percentage (0–100%).
* Added `mobileVitalsFPSSamplingRate` to set the FPS sampling frequency per hour (default once a minute).
* Added `instrumentations` to selectively activate or deactivate specific instruments at runtime (all active by default).
* Added `collectIPData` to toggle collection of user IP and geolocation data (default `true`).

Jul 18, 2024

Flutter SDK 0.0.1

New

* Added Android support for `allowedTracingUrls` in `TraceParentInHeader` configurations.
* Native Android SDK 2.7.2, iOS SDK 2.1.0.
