cx_flutter_plugin
The Coralogix SDK for Flutter is designed to support various Flutter targets by leveraging the numerous platforms supported by Coralogix's native SDKs.
0.14.0
8.5K downloads/mo
#3132 most downloaded on pub.dev
What this package is like to depend on
Last release today
23 Aug 2026
Ships fairly regularly
a new release about every 2 weeks
Nearly every release is documented
notes for 43 of 43 stable releases
Nothing withdrawn
no release was ever pulled
2 years old
43 releases · first in 2024
30 releases in the last 12 months
see the full history below
Release timeline
43 releases · Jul 2024 to Aug 2026Releases
latest 43-
0.14.023 Aug 2026Release notes
Open source →Release Date: August 12, 2026
- New: interactions on masked content are reported as masked. A tap anywhere on a control wrapped in
MaskedWidget— or on a control containing masked content — reportsinteraction_context.is_masked_element: trueand 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. - 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. beforeSendcan readis_masked_elementand drop the event or edit its interaction context.- Fix: a configured
beforeSendno longer breaks Session Replay. Top-level event fields the plugin does not model —screenshot_contextamong 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
beforeSendusers: 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 — returningnullto 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
getSessionReplayFolderPaththrowing on Android instead of returning the path. - Fixed events being dropped when a
beforeSendis configured and the SDK reports an event type this plugin version does not model — they are now delivered unchanged.
- New: interactions on masked content are reported as masked. A tap anywhere on a control wrapped in
-
0.13.112 Aug 2026Release notes
Open source →Release Date: August 11, 2026
- Fix: network request durations are now reported correctly 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; 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.
-
0.13.011 Aug 2026Release notes
Open source →Release Date: August 10, 2026
- Native iOS SDK bumped to 2.14.0 and Android SDK 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.
- Fixed network request durations on Android always being reported as zero — instrumented requests now report their real duration.
- Android now pulls in
androidx.worktransitively; apps that replace the default WorkManager initializer with on-demand initialization keep the immediate flush but skip the backstop job.
-
0.12.106 Aug 2026Release notes
Open source →Release Date: August 6, 2026
- Native iOS SDK bumped to 2.13.3 and Android SDK to 2.19.4. The updated native SDKs now promote snapshot context on
setUserContextto the next eligible exported span, ensuring user-context changes are captured in the session without requiring a manual snapshot trigger.
- Native iOS SDK bumped to 2.13.3 and Android SDK to 2.19.4. The updated native SDKs now promote snapshot context on
-
0.12.003 Aug 2026Release notes
Open source →Release Date: August 2, 2026
- New:
reportErrornow accepts optionallabelsandisCrash— add per-event labels and distinguish caught vs. uncaught exceptions in a single call. Labels merge into the event's labels alongside session-level labels;isCrash: truemarks unhandled exceptions for native SDK sampling/grouping. (On iOS,isCrashapplies only to errors reported with a stack trace — the native message/data variants don't carry it.) - New: error events carry the real Dart error type —
reportError(error, …)now reportserror.runtimeType(e.g.StateError,PlatformException) as the event's error type instead of the genericFlutterError, so errors group by type in the dashboard. String messages still report asFlutterError. - Enhancement: automatic stack trace recovery — if no explicit
stackTraceis passed,reportError(error)recovers the stack fromerror.stackTraceon Dart Error subtypes, promoting calls to the full code path (iOS/Android benefit from this for errorType context and data forwarding). - Breaking (platform-interface implementers only):
CxFlutterPluginPlatform.reportErrorgained named parameters (errorType,isCrash,labels) — customCxFlutterPluginPlatformsubclasses must update their override. The publicCxFlutterPlugin.reportErrorkeeps its three-positional shape and stays source-compatible for app code. - Native iOS SDK bumped to 2.13.2 and Android SDK to 2.19.2 (both include labels support on reportError).
- New:
-
0.10.226 Jul 2026Release notes
Open source →Release Date: July 23, 2026
- Bug fix (iOS): Session Replay no longer goes black while the screen is animating continuously (spinners, transitions); the recording now holds the last frame instead of filling black.
- Native iOS SDK bumped to 2.11.2.
-
0.10.115 Jul 2026Release notes
Open source →Release Date: July 14, 2026
- Bug fix (iOS): network requests instrumented with the Dio interceptor now report the same trace id sent in the
traceparentheader, so they link to their backend traces (Android already did). - Native iOS SDK bumped to 2.10.3.
- Bug fix (iOS): network requests instrumented with the Dio interceptor now report the same trace id sent in the
-
0.10.006 Jul 2026Release notes
Open source →Release Date: July 5, 2026
- New:
createNewSession()— force-starts a fresh RUM session on demand (e.g. on user logout) without a fullshutdown()+ re-init, on both iOS and Android. Bridges the native SDKs' session-recreation API. - Native iOS SDK bumped to 2.10.0 and Android SDK to 2.17.1 (both include
createNewSession).
- New:
-
0.9.229 Jun 2026Release notes
Open source →Release Date: June 29, 2026
- Bug fix: Session Replay masking errors during route transitions, bottom sheets, and taps. Text could briefly appear unmasked — or a mask land at the wrong offset — while a route pushed/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/dialog) stays masked. (iOS + Android.)
- Bug fix (Android): the Flutter Session Replay frame was shrunk into the top-left corner. The masked bitmap was rasterised at logical resolution while the native compositor blits it at physical pixels, so it filled only ~
1/devicePixelRatioof 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.) - Bug fix (Android): black Session Replay frames, most visibly 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 rasterise and transfer on a slower device. This requires android-sdk 2.16.3 (bumped here): native now waits for the masked image and, on a genuine miss, drops the frame instead of black-filling.
-
0.9.121 Jun 2026Release notes
Open source →Release Date: June 21, 2026
- Bug fix: Android build failed for consumers on Kotlin 2.x (K2 compiler). An internal helper used an expression body containing early
return nullshort-circuits, which the K2 compiler (Kotlin 2.2+) rejects as a hard error (Returns are not allowed for functions with expression body), breaking:cx_flutter_plugin:compileDebugKotlin. Converted to a block body — logic is unchanged. - Build fix: removed
mavenLocal()and a local-repo block fromandroid/build.gradle. These were accidentally shipped; dependency resolution now relies ongoogle()/mavenCentral()as intended.
- Bug fix: Android build failed for consumers on Kotlin 2.x (K2 compiler). An internal helper used an expression body containing early
-
0.6.004 Jun 2026Release notes
Open source →Release Date: June 4, 2026
- Bug fix:
reportErrornow honours its public contract on both platforms. Previously, callingCxFlutterPlugin.reportError(message, data, stackTrace)with a non-empty stack trace silently dropped thedatamap — the parsed frames went to native but the custom attributes did not. The iOS and Android bridges now threaddatathrough into the newcustomAttributesparameter on the native error decorators, so a single RUM error event carries both the parsed frames and the data attributes. - Native iOS SDK upgraded to 2.7.0 (Coralogix, CoralogixInternal, SessionReplay) — required for
reportError(... customAttributes:)overloads. - Native Android SDK upgraded to 2.13.0 — required for the
customAttributesfield onCoralogixErrorDecorator.
- Bug fix:
-
0.5.125 May 2026Release notes
Open source →Release Date: May 19, 2026
- Bug fix (follow-up): obfuscated
virtaddresses were wrong on iOS. The 0.4.2 fix computedvirt = offset + (isolate_instructions − isolate_dso_base). On Android this coincidentally equals the ELF VMA of_kDartIsolateSnapshotInstructions(libapp.sois loaded with matching layout), but on iOS the Dart snapshots are linked into the Runner Mach-O at a different VMA — the result was off by ~1.3 MB and resolved to the wrong symbols. The parser now emitsvirtin the canonicaldart symbolizeform<symbol>+0x<offset>(e.g._kDartIsolateSnapshotInstructions+0x2d01ef); the server reads the symbol's ELF VMA from the uploaded debug-info file and adds the offset. Server-side update required to accept the new format alongside legacy numericvirtduring rollout. - Bug fix: parser dropped every frame on Android. Android's Dart runtime emits an extra
virt ADDRtoken betweenabs ADDRand the symbol suffix (iOS does not). The frame regex now allows this optional middle token. - Behavioural change: engine / framework frames are now skipped at parse time. Frames without a
_kDartIsolateSnapshotInstructions/_kDartVmSnapshotInstructionssuffix (Flutter engine, OS frameworks) live in different DSOs and cannot be resolved against the app's symbols file — emittingvirtvalues for them was producing addresses pointing at DATA sections. The parsed stack trace now carriesdropped_frame_countso consumers can distinguish "all frames filtered" from "parser found nothing" whenframesis empty (omitted from the map when zero).
- Bug fix (follow-up): obfuscated
-
0.5.013 May 2026Release notes
Open source →Release Date: May 13, 2026
- New:
excludeFromSamplingonCXExporterOptions. Lets the SDK keep emitting selected instrumentation categories even when the session is sampled out viasdkSampler. Supported categories:errors,logs,network,userInteractions,mobileVitals,customSpan,customMeasurement. Defaults to an empty list — the sampler gates everything as before. Mirrors the iOS and Android native APIs added in their 3.8.0 / 2.12.0 releases. - New: Time Measurement API.
CxFlutterPlugin.startTimeMeasure(name, {labels})andCxFlutterPlugin.endTimeMeasure(name)bracket arbitrary spans of work; the native SDK reports the duration as acustom-measurementspan (milliseconds). Pure bridge pass-through — no Dart-side state, native owns the in-flight registry. Empty / whitespace-only names and duplicatestartfor an in-flight name are ignored (first wins). Callers are responsible for pairing everystartwith exactly oneend. - Native iOS SDK upgraded to 2.6.4 (Coralogix, CoralogixInternal, SessionReplay).
- New:
-
0.4.212 May 2026Release notes
Open source →Release Date: May 11, 2026
- Bug fix (iOS Session Replay scroll lag): Resolved by native iOS SDK upgrade. Long scroll sessions with Session Replay enabled no longer jank, particularly on screens with mixed-script (RTL / CJK) text content.
- Bug fix (obfuscated stack trace
virtaddresses): Some production traces emitted anabsfield that did not equalisolate_instructions + offset, so the previousabs − isolate_dso_baseformula produced incorrect virtual addresses and the server-side symbolicator returned the wrong source mappings. The parser now computesvirt = offset + (isolate_instructions − isolate_dso_base)from the per-frame_kDartIsolateSnapshotInstructions+0xNNNsuffix — the authoritative source — and falls back toabs − isolate_dso_baseonly when the offset suffix orisolate_instructionsheader is missing. - Native iOS SDK upgraded to 2.6.3 (Coralogix, CoralogixInternal, SessionReplay).
- Native Android SDK upgraded to 2.12.0.
-
0.4.107 May 2026Release notes
Open source →Release Date: May 6, 2026
- New (Android):
maskAllTextsandtextsToMasknow work in Flutter. Flutter renders entirely insideFlutterSurfaceView, so the native Android SDK's View-hierarchy traversal finds no TextViews. The Flutter layer now walks the live render tree on every frame capture and returns bounding rects for all visibleRenderParagraph/RenderEditablenodes directly to the nativeflutterMaskRegionsProvider. Icon glyphs (Unicode Private Use Area), content scrolled behind the AppBar or outside any scroll viewport, and content on covered Navigator routes are all excluded automatically. iOS is unaffected — the native iOS SDK handles text masking itself. textsToMaskaccepts regex patterns. Each entry is compiled as aRegExp; plain strings like'password'match any text containing that word. Invalid patterns are silently skipped rather than crashing SDK initialisation.- Text fields (
RenderEditable) are always masked whentextsToMaskis active. Reading live text field content to filter against patterns would mean inspecting potentially sensitive data (passwords, PINs) to decide whether to mask it — so all editable inputs are masked unconditionally whenever anytextsToMaskpattern is configured. - Bug fix: sentinel registration race.
SessionReplayMasking.initialize()is nowasyncandawaits the sentinelregisterMaskRegioncall before returning, eliminating a race where the very first captured frame could be unmasked. - Sentinel registration failure now logged. Previously swallowed silently; a
debugPrintwarning is now emitted if the sentinel fails to register.
- New (Android):
-
0.4.003 May 2026Release notes
Open source →Release Date: May 3, 2026
- New: Custom Spans public API.
CxFlutterPlugin.getCustomTracer({ignoredInstruments})returns aCoralogixCustomTracerwhentraceParentInHeader.enableistrue. From there,tracer.startGlobalSpan(name, {labels})creates a rootCoralogixGlobalSpanexposingspanId/traceId;globalSpan.startCustomSpan(name, {labels})creates childCoralogixCustomSpans;globalSpan.withContext(block)runs Dart work in a Zone whose async chain inherits the active span's id; andendSpan()closes spans on the native SDK. Mirrors the browser SDK contract — only one tracer per SDK lifecycle is allowed; subsequentgetCustomTracercalls return the cached instance. - New:
CoralogixIgnoredInstrumentenum (networkRequests,userInteractions,errors) — pass togetCustomTracerto opt specific Dart-side instrumentation out of inheriting the active custom span. - HTTP/Dio inherit the active custom span automatically.
CxHttpClientandCxDioInterceptornow read the active global span viaUtils.resolveTraceId(), injecttraceparentcarrying the inherited traceId, and attachcustomTraceId/customSpanIdto every network event. Barehttp.get()/ raw Dio still bypass — wrap inCxHttpClient/CxDioInterceptorto keep the trace linked. - New:
CXExporterOptions.tracesExportercallback. When provided, the native SDK streams completed OTLP-style trace batches over a newcx_flutter_plugin/onTracesExporterEventChannel. Caller is responsible for forwarding to a Coralogix OTLP endpoint. Additive — does not replace the normal RUM log pipeline. - Bug fix (iOS scroll freeze with session recording): Resolved by native iOS SDK upgrade.
- Bug fix (Android custom span lifecycle parity):
shutdown()now ends tracked spans on Android (was iOS-only); avoids dangling spans after Dart-sideCxFlutterPlugin.shutdown(). - Bug fix (Android child span ids):
startCustomSpannow returns the real OTelspanId/traceIdfrom the underlying span instead of a fabricated hex — cross-system trace correlation now works on Android the same as iOS. - Bug fix (
endSpanidempotence): Both platforms now succeed silently when a spanId is already untracked (e.g. ended by the 30s idle timer, byremoveAll()on shutdown, or by a duplicate Dart-side call). Previously iOS threwunknown_span. - Docs (Custom Spans): Added a full README usage guide for
getCustomTracer→startGlobalSpan→withContext+CxHttpClient→startCustomSpan→endSpan, includingignoredInstrumentsbehavior andtraceParentInHeaderprerequisite. - Docs (Traces Exporter): Added README guidance for configuring
CXExporterOptions.tracesExporterand consuming OTLP-style batch payloads from the EventChannel bridge. - Dartdoc coverage (public API): Expanded docs for
CoralogixCustomTracer,CoralogixGlobalSpan,CoralogixCustomSpan, andCoralogixIgnoredInstrumentso custom-spans API behavior and intent are explicit in generated docs. - Native iOS SDK upgraded to 2.6.2 (Coralogix, CoralogixInternal, SessionReplay).
- Native Android SDK upgraded to 2.11.1.
- New: Custom Spans public API.
-
0.3.305 Apr 2026Release notes
Open source →Release Date: April 5, 2026
- Bug fix (release mode errors sent as log): In release builds, caught exceptions produced empty stack trace frames, causing the iOS bridge to fall through to
reportError(message:data:)which the native SDK recorded as a log event instead of an error. The bridge now always routes through the error path when a parsed stack trace is present. - Bug fix (release mode stack frames empty): The symbolicated frame regex required a column number, but Dart AOT (release) stack traces omit it. The parser now treats column numbers as optional so frames are populated correctly in release builds.
- version bump script: Added
scripts/bump_version.shto keeppubspec.yaml,lib/plugin_version.dart, andios/cx_flutter_plugin.podspecin sync. - Xcode ObfuscatedRelease configuration: Added
ObfuscatedReleasebuild configuration to the example app for easy switching between symbolicated and obfuscated builds.
- Bug fix (release mode errors sent as log): In release builds, caught exceptions produced empty stack trace frames, causing the iOS bridge to fall through to
-
0.3.231 Mar 2026Release notes
Open source →Release Date: March 31, 2026
- Bug fix (obfuscated stack traces): Frame addresses were always empty when reporting obfuscated Dart errors. The stack trace parser now correctly matches the Dart VM's
abs-only frame format (introduced in Dart 3.x) and computes virtual addresses (abs − isolate_dso_base) expected by both the iOS and Android native SDKs. - Bug fix (publish workflow): Release CI failed with a missing
.envasset error when validating the example app. A stub.envfile is now created before the validation step.
- Bug fix (obfuscated stack traces): Frame addresses were always empty when reporting obfuscated Dart errors. The stack trace parser now correctly matches the Dart VM's
-
0.3.129 Mar 2026Release notes
Open source →Release Date: March 26, 2026
- Bug fix:
fragmentsfield in network events was always empty. BothCxDioInterceptorandCxHttpClientnow correctly report the URL path (e.g./some/path) instead of the URI fragment.
- Bug fix:
-
0.3.026 Mar 2026Release notes
Open source →Release Date: March 26, 2026
- Obfuscated error stack traces: Obfuscated stack traces now propagate and are exported correctly via the iOS bridge key centralisation.
- Performance (iOS): Fixed scroll lag caused by interaction tracking. The swipe-context widget tree walk is now performed once at pointer-down and cached, instead of running on every pointer-up/cancel. This eliminates main-thread jank during fast list scrolling when
userActionsis enabled.
-
0.2.023 Mar 2026Release notes
Open source →Release Date: March 23, 2026
- CxDioInterceptor: New interceptor for Dio HTTP client. Add
CxDioInterceptor()to yourDioinstance to automatically capture network requests, generate RUM spans, and inject W3Ctraceparentheaders — no migration from your existing networking layer required. - NetworkCaptureRule: New
networkCaptureConfigoption onCXExporterOptions. Supply a list ofCxNetworkCaptureRuleobjects to control which headers and payloads are captured per URL. Rules are matched in order (first match wins); when no rules are configured, no headers or payloads are captured. Bodies over 1024 characters are dropped entirely. - Expanded network context: Both
CxHttpClientandCxDioInterceptornow reportstatus_text,request_headers,response_headers,request_payload,response_payload, anderror_message.traceId/spanIdare forwarded to the native Android SDK. beforeSendis now optional: When omitted, events are sent directly without a Dart-side round-trip, reducing platform channel overhead. Migration: if you relied on the implicit pass-through, setbeforeSend: (event) => eventexplicitly.- iOS
setUserInteractiondispatched to main thread: FixesMain Thread Checkerwarning caused by UIKit access on the background method-channel queue. - iOS
networkExtraConfigparsing:networkCaptureConfigrules are now parsed and forwarded to the native iOS SDK duringinitSdk. - Performance (Android):
CoralogixRum.initialize, Session Replay init, andcaptureScreenshotrun on the main looper.reportErrorandsendCxSpanDatarun on a dedicated background executor. - Performance (iOS): Method channel uses a background task queue when available.
CoralogixRuminitialization is dispatched to the main queue from background handlers. - Native iOS SDK upgraded to 2.3.3
- Native Android SDK upgraded to 2.9.3
- CxDioInterceptor: New interceptor for Dio HTTP client. Add
-
0.1.110 Mar 2026Release notes
Open source →- Hybrid user interaction: When user enables
userActionsin options, Dart tracks click/scroll/swipe; iOS always receivesuserActions: falseto avoid duplicate events. - setUserInteraction: iOS forwards interaction payload to native SDK (2.2.0). Android forwards via
reportUserInteraction(native SDK 2.9.0); returns error whenevent_nameis missing or when SDK is not initialized (iOS). - Context types aligned with native: EventContext
source; DeviceContextoperating_system/os_version,network_connection_type/network_connection_subtype,user_agent; ErrorContextexception_type; NetworkRequestContextrequest_headers/response_headers/request_payload/response_payload; InteractionContexttarget_element,element_classes,target_element_inner_text,scroll_directionwithtoJson()omitting nulls for beforeSend round-trip. - Native iOS SDK 2.2.0; native Android SDK 2.9.0.
- Android: compileSdk 36 (plugin and example).
- Hybrid user interaction: When user enables
-
0.1.016 Feb 2026Release notes
Open source →Added Android support for
allowedTracingUrlsinTraceParentInHeaderconfigurations Native Android SDK upgraded to 2.7.2 Native iOS SDK upgraded to 2.1.0 -
0.0.2108 Feb 2026 -
0.0.2025 Jan 2026 -
0.0.1921 Jan 2026Release notes
Open source →Breaking Change: Flutter SDK Requirement
- The package now requires Flutter >=3.27.0 (as specified in
pubspec.yamlenvironment:flutter: '>=3.27.0') - This requirement is necessary to support the modern
Color.withValues(alpha: ...)API, which replaced the deprecatedColor.withOpacity()method - The example app has been updated to use
Color.withValues()for future compatibility - Native iOS SDK upgraded to 1.5.3
- Bug fix: https://github.com/coralogix/cx-flutter-plugin/issues/37#issue-3715310863 Release Date: Jan 21, 2026
- The package now requires Flutter >=3.27.0 (as specified in
-
0.0.1810 Dec 2025 -
0.0.1713 Nov 2025 -
0.0.1629 Sep 2025Release notes
Open source →Release Date: Sep 28, 2025
Add sendCustomMeasurement Native iOS SDK upgraded to 1.2.6
-
0.0.1521 Sep 2025 -
0.0.1410 Aug 2025 -
0.0.1324 Jul 2025Release notes
Open source →Release Date: July 24, 2025
- fix: Android plugin now respect setting the userActions interaction to false and thus actually turning it off Native Android SDK upgraded to 2.4.44
-
0.0.1122 Jun 2025 -
0.0.1017 Jun 2025Release notes
Open source →Release Date: June 17, 2025
- Bug fixes - beforeSend not sending instrumentation in android and iOS
- Crash fix on Android
Native Android SDK upgraded to 2.4.41 Native iOS SDK upgraded to 1.0.23
-
0.0.901 Jun 2025Release notes
Open source →Release Date: May 28, 2025
- Added Android support for the
beforeSendoperation - Bug fixes and improvements
Native Android SDK upgraded to 2.4.4
- Added Android support for the
-
0.0.827 May 2025Release notes
Open source →Release Date: May 27, 2025
Added Android support for newly added methods:
- getLabels()
- getSessionId()
- isInitialized()
- setApplicationContext()
- Disable swizzling for iOS (NetworkOnly)
Added Android support for the beforeSend callback Breaking changes:
- The 'CxExporterOptions' class 'beforeSend' callback is now asynchronous.
Native iOS SDK upgraded to 1.0.22 Native Android SDK upgraded to 2.4.3
-
0.0.708 May 2025Release notes
Open source →Release Date: May 8, 2025
Implemented the following:
- Before Send
- getLabels()
- getSessionId()
- isInitialized()
- setApplicationContext()
Native SDK upgraded to 1.0.21
-
0.0.624 Apr 2025Release notes
Open source →Release Date: April 24, 2025
Fix Crash related to URLSessionInstrumentation. Navigation instrument was removed from CoralogixOptions Native SDK upgraded to 1.0.20
-
0.0.508 Apr 2025Release notes
Open source →Release Date: April 8, 2025
Fix issue related to CustomDomainUrl was removed. Native SDK upgraded to 1.0.18
-
0.0.410 Feb 2025Release notes
Open source →Release Date: February 10, 2025
Fixed bug preventing data to be sent if no custom url was set on Android.
-
0.0.315 Dec 2024 -
0.0.225 Nov 2024Release notes
Open source →Release Date: November 25, 2024
Enhancements SDK Initialization Sampling: Introduced sdkSampler, allowing configuration of the SDK's initialization rate as a percentage (0-100%).
FPS Sampling Rate Configuration: Added mobileVitalsFPSSamplingRate to set the frequency of FPS sampling per hour, with a default of once every minute.
Instrumentation Control: Implemented instrumentations, enabling selective activation or deactivation of specific instruments during runtime. By default, all instrumentations are active.
IP Data Collection Toggle: Added collectIPData to control the collection of user IP addresses and geolocation data, defaulting to true.
-
0.0.118 Jul 2024Release notes
Open source →Added Android support for
allowedTracingUrlsinTraceParentInHeaderconfigurations Native Android SDK upgraded to 2.7.2 Native iOS SDK upgraded to 2.1.0