Skip to content

RUM Flutter SDK release notes

May 19, 2026

Flutter SDK 0.5.1

  • 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
May 13, 2026

Flutter SDK 0.5.0

  • 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
  • Native iOS SDK upgraded to 2.6.4.
May 11, 2026

Flutter SDK 0.4.2

  • 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

  • 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
  • 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 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
  • 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
  • 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 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 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 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

  • 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 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

  • 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

  • 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

Jan 25, 2026

Flutter SDK 0.0.20

  • Added the AP3 domain as an option for initializing the SDK.
Jan 21, 2026

Flutter SDK 0.0.19

  • 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

  • Bug fix (BUGV2-1468).
  • Native Android SDK upgraded to 2.6.3.
Nov 13, 2025

Flutter SDK 0.0.17

  • Bug fix (BUGV2-1474).
  • Native iOS SDK upgraded to 1.4.0.
Sep 28, 2025

Flutter SDK 0.0.16

  • Added sendCustomMeasurement. Learn more
  • Native iOS SDK upgraded to 1.2.6.
Sep 21, 2025

Flutter SDK 0.0.15

  • Native iOS SDK upgraded to 1.2.5.
Aug 10, 2025

Flutter SDK 0.0.14

  • Native iOS SDK upgraded to 1.1.2.
Jul 24, 2025

Flutter SDK 0.0.13

  • 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

  • Added proxyUrl support.
  • Added traceParentInHeader (iOS only).
  • Native iOS SDK upgraded to 1.0.26.
Jun 22, 2025

Flutter SDK 0.0.11

  • Bug fixes.
  • Native iOS SDK upgraded to 1.0.24.
Jun 17, 2025

Flutter SDK 0.0.10

  • 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

  • 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 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

  • Implemented beforeSend, getLabels(), getSessionId(), isInitialized(), and setApplicationContext().
  • Native SDK upgraded to 1.0.21.
Apr 24, 2025

Flutter SDK 0.0.6

  • 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 CustomDomainUrl.
  • Native SDK upgraded to 1.0.18.
Feb 10, 2025

Flutter SDK 0.0.4

  • 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

  • Added the Android implementation.
Nov 25, 2024

Flutter SDK 0.0.2

  • 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

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