Skip to main content

RUM iOS SDK changelog

Aug 10, 2026

iOS SDK 2.15.1

Fixed

Network requests reported from Flutter and React Native now carry the HTTP reason phrase in network_request_context.status_text (for example, "OK" or "Not Found"). Previously it was always empty on iOS while Android populated it.

Aug 9, 2026

iOS SDK 2.15.0

Improved
  • Every user-interaction event now carries interaction_context.is_masked_element (always present, boolean): the SDK's own observation that the interaction targeted content Session Replay masked. false also covers "could not resolve" — a hybrid payload with no coordinates, or no frame geometry to test the point against — so the flag under-reports rather than over-reports. Read it in beforeSend to implement policies stricter than the default redaction: drop the event, blank the coordinates, or rewrite the target. Learn more
  • setUserInteraction accepts an optional is_masked boolean, an authoritative masking verdict from a hybrid wrapper that owns its own masking (the Flutter plugin sets it). It overrides the SDK's geometry resolution and drives both the flag and inner-text redaction.
  • FlutterViewBitmap gained maskRects, the rectangles Dart masked in the delivered bitmap, in Flutter-view-local points. They merge into the captured frame's mask geometry, so tap markers over masked Flutter content are now suppressed on the same terms as native masks. A reused stale bitmap carries the rects of its own frame, never a newer frame's.
  • Fixed network requests reported from Flutter and React Native being exported with a constant duration of 1 ms. They now carry their real measured duration.
  • Interactions reported through the hybrid bridge (setUserInteraction — React Native, Flutter) are now redacted on the same terms as native taps. Previously the bridge payload's target_element_inner_text was copied verbatim, so a masked element's real text shipped in the clear: the redaction only ran on the swizzled native-touch path, which emits no span in hybrid mode. Only the inner text is redacted — identity fields and coordinates are reported as-is, matching the web SDK — and the masking is resolved from the payload's coordinates against the same frame geometry that suppresses the replay's tap marker.
  • Native tap redaction now also tests the tap point against the frame's mask geometry, closing two gaps: text of UIKit views masked by maskText/maskAllImages, and text under a SwiftUI .cxMask() overlay (a sibling, not an ancestor, so the view-tree walk could not see it). Both previously shipped their real text while their pixels and tap marker were masked.
Aug 6, 2026

iOS SDK 2.14.0

New

Buffered spans are now automatically flushed when the app enters the background, ensuring telemetry is uploaded before process suspension. The SDK uses UIApplication.beginBackgroundTask to extend the background time window and guarantee completion before the app is terminated.

Aug 5, 2026

iOS SDK 2.13.3

Improved
  • setUserContext now promotes the next exported event to a snapshot event, so the session's user information refreshes immediately instead of waiting for the next error, navigation, or one-minute interval — matching the browser SDK's behavior.
  • Masking now applies to everything inside a masked view, not just the view it was set on. Masking a container is enough to cover its contents, including individually tappable subviews. Learn more
  • Tapping inside a masked area no longer draws a tap marker in Session Replay, so a recording of a masked keypad no longer reveals which keys were pressed. The frame is still recorded, and interaction events still carry their touch coordinates.
  • User interaction events now report *** for the text of any view inside a masked area. Previously only the masked view itself was redacted, so a tap on a key inside a masked keypad sent the key's label in clear.
  • Redacted target_element_inner_text is now reported as *** rather than omitted, matching the Android SDK. This affects views rejected by shouldSendText, password fields, and fields with a sensitive textContentType, which previously sent no target_element_inner_text at all.
Aug 2, 2026

iOS SDK 2.13.2

Fixed

Fixed session sampling dropping buffered spans when the session rotates.

Jul 28, 2026

iOS SDK 2.13.1

Improved
  • Exposed isSessionSampledIn to the beforeSend callback, so you can filter events with awareness of whether the session is sampled in.
  • Added the optional labels parameter to the hybrid (React Native / Flutter) reportError overloads, matching the native API.
Jul 28, 2026

iOS SDK 2.12.0

Improved

reportError now takes optional data and labels parameters on every overload (exception, error, and message). You can attach structured context and event labels in the same call instead of pairing reportError with a separate logdata lands under error_context.error_custom_data, and labels merge into the error event's labels. Learn more

Jul 23, 2026

iOS SDK 2.11.2

Fixed

Session Replay now masks the navigation-bar title during view transitions, closing a leak where the title could appear unmasked mid-transition.

Jul 20, 2026

iOS SDK 2.11.1

Fixed

Session Replay now holds the last captured Flutter frame instead of black-filling the frame when a bitmap is unavailable.

Jul 20, 2026

iOS SDK 2.11.0

New

Crash-event delivery now survives process death, so a crash that terminates the app is still reported on the next launch.

Jul 19, 2026

iOS SDK 2.10.4

Fixed

The active view is now frozen onto spans at creation time, so view_context matches the view that was active when the event occurred.

Jul 14, 2026

iOS SDK 2.10.3

Fixed

On the hybrid network path, iOS now honors the Dart / React Native wire traceId, so the exported span matches the traceparent sent on the wire.

Jul 14, 2026

iOS SDK 2.10.2

Fixed

Crashes are now attributed to the session that crashed and to the crash-time timestamp, rather than to the session that reports them on the next launch.

Jul 9, 2026

iOS SDK 2.10.1

Fixed

The task span is now reused on resume, so the wire traceparent matches the exported span.

Jul 5, 2026

iOS SDK 2.10.0

New

Added the createNewSession() public API to rotate the session on demand.

Jun 24, 2026

iOS SDK 2.9.2

Fixed
  • On the hybrid (React Native / Flutter) path, a beforeSend edit to an editable cx_rum field (for example, redacting session_context.user_email or rewriting labels) was reflected in text.cx_rum but not in instrumentation_data.otelSpan.attributes: the encoded spans were uploaded verbatim after the callback, so the tracing mirror stayed stale and a redacted value still leaked through tracing. The OTEL attributes are now rebuilt from the edited cx_rum before upload — the same rebuild the native single-event path performs — so both destinations carry identical values.
Jun 16, 2026

iOS SDK 2.9.1

Fixed

mobile-performance-hero

Fixed Cold Start AVG reporting multi-hour values. Prewarmed launches (iOS spawns the process in the background ahead of user intent, flagged by ActivePrewarm) and other background launches (push/fetch/location) were measured from kernel process birth time and counted as cold starts. Prewarmed launches are now skipped, and any cold-start duration beyond a 60s ceiling is dropped as a background-launch artifact. Learn more

Jun 15, 2026

iOS SDK 2.9.0

New

Session Replay now emits a one-shot init log capturing its configuration when recording starts, so the active Session Replay settings are visible in the backend. Learn more

Jun 11, 2026

iOS SDK 2.8.0

Improved
  • Fixed SwiftUI text and images not being masked in session replay, where the synchronous UIView walk could not see inside SwiftUI hosting views (BUGV2-6045). As an interim fix, the Vision-based TextScanner (OCR) and ImageScanner maskAll (rectangle detection) pipeline stages are restored, scoped to captures whose scene contains a SwiftUI hosting view (URLEntry.containsSwiftUIContent). UIKit and Flutter capture paths are unchanged. OCR masking is probabilistic (for example, rows clipped at the viewport edge mid-scroll may escape recognition).
  • Fixed a session replay mask-skew bug where, during scroll animations, mask rects drifted 16–80+ px behind the text they covered (BUGV2-6045). Native-window capture now uses layer.render(in:) (the model layer) and collects mask rects synchronously in the same render pass.
  • Fixed Flutter content appearing as a transparent hole in session-replay frames. A new flutterViewBitmapProvider requests a pre-masked RGBA8888 bitmap from the Flutter plugin's Dart rasteriser, which captures and masks in a single synchronous frame slice.
  • Fixed the session replay capture timer silently never firing when initialised via Flutter's background MethodChannel task queue (background threads have no run loop). All SessionReplay entry points now dispatch to DispatchQueue.main.
  • Fixed session replay click frames not being detected on iOS 26: getClickPoint cast tap coordinates with as? Double, which no longer succeeds for a boxed CGFloat on iOS 26. Coordinates are now coerced from any numeric boxing (Double/CGFloat/Int/NSNumber).
  • Added SessionReplayOptions.flutterViewBitmapProvider: FlutterViewBitmapProvider?, a callback for Flutter hosts to supply pre-masked frame bitmaps per capture. Learn more
Jun 2, 2026

iOS SDK 2.7.0

Improved

Added a customAttributes: [String: Any]? parameter on the reportError(message:, stackTrace:, ...) and reportError(message:, obfuscatedStackTrace:, ...) overloads. Custom attributes now ride alongside the parsed stack frames on the emitted error event instead of being mutually exclusive with the stack trace (CX-44438).

May 12, 2026

iOS SDK 2.6.4

Fixed

The hybrid SDK path now honors excludeFromSampling (CX-40203).

May 11, 2026

iOS SDK 2.6.3

Improved
  • Added the ExcludableInstrumentation enum and the excludeFromSampling SDK option (CX-40199).
  • Added per-session sampling reroll with init-flow decoupling (CX-40200).
  • Added a per-span sampling filter in CoralogixExporter (CX-40201).
  • Added SwiftUI swipe detection (CX-33282).
  • Fixed Session Replay scroll lag. Learn more
Apr 28, 2026

iOS SDK 2.6.2

Fixed

Fixed a Flutter scroll freeze by using afterScreenUpdates: false.

Apr 26, 2026

iOS SDK 2.6.1

Fixed

Fixed the tracesExporter instrumentation_data payload and the TracesExporterViewController per-span table UI. Learn more

Apr 23, 2026

iOS SDK 2.6.0

Improved

Hardened the Custom Spans API and fixed a network span 422 error (CX-39134). Learn more

Apr 16, 2026

iOS SDK 2.5.1

Improved
  • Removed all assert/precondition/fatalError calls from SDK code, so the SDK can no longer crash the host app (CX-37986).
  • Added a global span registry (CX-37986).
Apr 14, 2026

iOS SDK 2.5.0

New
  • Added the Traces Exporter (OTLP JSON) with a callback. Learn more
  • Added global span trace propagation and ignoredInstruments for automatic spans (CX-35954/CX-35955).
  • Added the Custom Spans API, OTel context, and RUM/Tracing parity with the Browser SDK (CX-35951). Learn more
  • Added the US3 domain to the CoralogixDomain enum.
  • Fixed preservation of telemetry.sdk.* attributes in the OTel Resource.
Mar 29, 2026

iOS SDK 2.4.1

Fixed

Fixed traceparent header capture in the React Native / Flutter hybrid network path.

Mar 26, 2026

iOS SDK 2.4.0

New

Added Flutter obfuscated errors plus error metadata (arch, build_id, stack_trace_type).

Mar 22, 2026

iOS SDK 2.3.3

Improved

Forward request and response headers and payload in the Flutter hybrid network path.

Mar 22, 2026

iOS SDK 2.3.2

Improved

Made Span conform to Equatable and record events conform to Hashable.

Mar 22, 2026

iOS SDK 2.3.1

Improved

Made Span conform to Hashable.

Mar 18, 2026

iOS SDK 2.3.0

Improved
  • Added request/response body capture, a hybrid severity fix, and tap x/y rounding (CX-33235).
  • Added response body capture with content-type stringification and a 1024-char limit (CX-33234).
  • Unified beforeSendCallBack behavior across SDKs (CX-32889).
  • Fixed React Native response body capture plus URLSession race conditions.
  • Fixed the beforeSend error count when severity changes (BUGV2-5379).
  • Preserve the request in requestMap for network header capture, and moved SDKSampler.
Mar 9, 2026

iOS SDK 2.2.0

Improved

mobile-performance-hero

  • Added hybrid platform support for setUserInteraction, setNetworkRequestContext, and session-replay decoupling.
  • Enriched instrumentation_data.otelSpan with cx_rum.* structured attributes.
  • Added the NetworkCaptureRule model and the networkExtraConfig SDK option (CX-33230).
  • Added capture-rule fields on NetworkRequestContext (CX-33232).
  • Added the resolveConfigForUrl(_:configs:) API (CX-33231).
  • Added shouldSendText and resolveTargetName delegates for user-action events (CX-32583).
  • Added UISwipeGestureRecognizer swipe detection (CX-32582).
  • Extended the interaction schema with scroll detection and PII-safe text (CX-32580/CX-32581).
  • Process MetricKit hang diagnostics as error events (CX-31668).
  • Allow clearing user context by passing nil to setUserContext.
  • Decoupled ANR from Mobile Vitals and report it as error events.
  • Removed unused mobile-vitals sample-rate configuration (CX-31659).
  • Fixed accurate cold-start measurement via sysctl and removed the swizzle dependency (CX-31662).
  • Report warm start for Flutter and React Native apps (CX-31661).
  • Include zero-count windows in frame statistics for accurate percentiles (CX-31666).
  • Removed the 100% cap from memory utilization (CX-31664).
  • Removed the CPU 100% cap to detect multi-core saturation (CX-31663). Learn more
Feb 12, 2026

iOS SDK 2.1.0

Improved

Eliminated delegate class scanning and migrated to industry-standard swizzling for multi-SDK compatibility.

Feb 5, 2026

iOS SDK 2.0.0

Improved
  • Added Flutter session-recording masking support.
  • Fixed severity syncing from the beforeSend callback to CxSpan.
Jan 21, 2026

iOS SDK 1.5.3

Fixed

Fixed a negative-duration bug and now mark the session ID and session creation date correctly (CX-4620).

Jan 5, 2026

iOS SDK 1.5.2

Improved

Wired ANR detection into the scheme (CX-26496).

Dec 23, 2025

iOS SDK 1.5.1

Improved

Adopted async/await in internal APIs (CX-25861).

Dec 3, 2025

iOS SDK 1.5.0

New

Added a masking bridge widget (ALPH-22252). Learn more

Nov 9, 2025

iOS SDK 1.4.0

New

Added an iOS mask-view for the native SDK (ALPH-15201). Learn more

Nov 3, 2025

iOS SDK 1.3.2

Fixed

Fixed a missing session-replay function (ALPH-1234). Learn more

Oct 30, 2025

iOS SDK 1.3.1

Fixed

Fixed a session-replay segment-index bug (ALPH-1234). Learn more

Oct 26, 2025

iOS SDK 1.3.0

New

mobile-performance-hero

  • Added a screenshot change-detection filter for iOS Session Replay (ALPH-2515). Learn more
  • Added mobile-vitals options (ALPH-2754). Learn more
Sep 28, 2025

iOS SDK 1.2.6

Improved
  • Emit Navigation events (ALPH-2546).
  • Added a Custom-measurement API. Learn more
  • Added custom log labels (ALPH-2257).
  • Send an internal-init event (ALPH-2654).
  • Refactored mobile vitals (ALPH-2704).
  • Session reset now uses a closure instead of NotificationCenter.
  • Fixed an idle bug.
Sep 4, 2025

iOS SDK 1.2.5

Improved

Automated the CocoaPods release pipeline (ALPH-6671).

Sep 1, 2025

iOS SDK 1.2.3

Improved

Bumped the PLCrashReporter dependency.

Aug 31, 2025

iOS SDK 1.2.2

Fixed
  • Fixed the user-agent string.
  • React Native integration fixes (ALPH-1234).
Aug 26, 2025

iOS SDK 1.2.1

Fixed
  • Fixed broken spanid and traceid.
  • Fixed an app freeze on the main thread.
Aug 25, 2025

iOS SDK 1.2.0

New

mobile-performance-hero

  • Added persistent anonymous fingerprinting (ALPH-2644).
  • Added a unified Mobile Vitals reporting API.
  • Added slow / freeze frame detection (ALPH-2588).
  • Added a memory detector (ALPH-2550).
  • Added native iOS CPU tracking (ALPH-2579).
  • Added missing metrics and logic (ALPH-1234). Learn more
Aug 11, 2025

iOS SDK 1.1.3

Fixed

Fixed an app crash in NSMutableURLRequest ObjC bridging (ALPH-2631).

Jul 30, 2025

iOS SDK 1.1.2

Improved
  • Externalized PLCrashReporter from the main RUM module (ALPH-2488).
  • Fixed iOS schema issues (ALPH-2530).
  • Removed duplicate swizzle code that sent multiple clicks.
  • sessionId is now lowercase (ALPH-2523).
  • ignoreUrl now works with regex (ALPH-2519).
  • Fixed a URLSession instrumentation deadlock.
  • Fixed a crash in URLSessionInstrumentation.injectIntoNSURLSessionCreateTaskWithParameterMethod (ALPH-2507).
Jul 17, 2025

iOS SDK 1.1.1

Fixed

Fixed several crashes (ALPH-2498).

Jul 10, 2025

iOS SDK 1.1.0

Improved

Refactored the idle logic (ALPH-2468).

Jul 2, 2025

iOS SDK 1.0.27

Improved
  • Added an isManual flag (ALPH-2429).
  • Added snapshot context on all severity-5 events (ALPH-2424).
  • Fixed a crash in the BatchWorker / NetworkStatus class (ALPH-2423).
Jun 26, 2025

iOS SDK 1.0.26

Improved
  • Added traceparent header injection (native) (ALPH-2296).
  • When using a proxy URL, the exporter now removes the span correctly (ALPH-2148).
Jun 24, 2025

iOS SDK 1.0.25

Improved
  • Added a traceparent header option on CoralogixOptions (ALPH-2295).
  • Added proxy URL support (native) (ALPH-2292).
  • Fixed a crash in SessionMetaDataManager (ALPH-2914).
Jun 22, 2025

iOS SDK 1.0.24

Improved
  • Changed duration handling, added undefined-text handling, and repaired broken tests (ALPH-2388).
  • Fixed images being skipped during session recording (ALPH-2360). Learn more
Jun 5, 2025

iOS SDK 1.0.23

Improved
  • Added Flutter support for cold / warm mobile vitals (ALPH-1234).
  • Initialize segmentIndex when the page is incremented (ALPH-2286).
May 25, 2025

iOS SDK 1.0.22

New
  • Added Session Replay click events (ALPH-1885).
  • Added a disable-swizzling option (ALPH-2246). Learn more
May 8, 2025

iOS SDK 1.0.21

Improved
  • Added screenshot events in session recording (ALPH-2159).
  • Fixed a crash in URLSessionInstrumentation (ALPH-2218). Learn more
Apr 24, 2025

iOS SDK 1.0.20

Improved
  • Merged Session Replay into the main module (ALPH-2183).
  • Fixed a crash in URLSession instrumentation (ALPH-2195). Learn more
Apr 14, 2025

iOS SDK 1.0.19

New

Added beforeSend logic.

Apr 3, 2025

iOS SDK 1.0.18

Improved
  • Rolled back OpenTelemetry to 1.9.0 (ALPH-2154).
  • Fixed a DANZ duration bug — durations are now in milliseconds (ALPH-2151).
  • Fixed a crash in the "xploretechnologey" path (ALPH-2148).
Mar 27, 2025

iOS SDK 1.0.17

Fixed

Fixed ignoreUrl and ignoreError API behavior.

Mar 16, 2025

iOS SDK 1.0.16

Improved
  • Added missing API functions (ALPH-2128).
  • Fixed network requests not being captured in some cases (ALPH-2128).
Mar 6, 2025

iOS SDK 1.0.15

New

Added new public API functions (ALPH-2214).

Feb 24, 2025

iOS SDK 1.0.14

Changed

Switched the library to static linkage.

Feb 4, 2025

iOS SDK 1.0.13

Fixed

Fixed a crash in the UICollectionView swizzle.

Nov 19, 2024

iOS SDK 1.0.12

New
  • Added lifecycle events (ALPH-1623).
  • Added daily metrics log reporting (ALPH-1625).
  • Added beforeSend logic (ALPH-1622).
  • Added instrumentation config (ALPH-1567).
  • Added AP3 environment support.
  • Added performance mobile vitals (ALPH-1463).
  • Skip collecting IP data (ALPH-1570).
  • Fixed a Flutter gap, lifecycle bugs, and a Flutter stuck-trace bug (ALPH-1759).
Aug 28, 2024

iOS SDK 1.0.11

Fixed

Fixed iOS 13 compatibility (Xcode 15.0.1).

Aug 27, 2024

iOS SDK 1.0.10

New
  • Added basic tvOS support (ALPH-1506).
  • Added a samplerRate option on CoralogixOptions.
  • Added RUM user actions (ALPH-1285).
  • Added traces support (ALPH-1375).
  • Flatten error context.
  • Fixed a wrong Swift tools version — now 5.9.
  • Fixed telephony info handling.
Jul 7, 2024

iOS SDK 1.0.8

Improved

Added native enhancements for Flutter capabilities (ALPH-1137).

Jun 23, 2024

iOS SDK 1.0.6

New

Added the CocoaPods podspec.

Jun 20, 2024

iOS SDK 1.0.5

New
  • Added OpenTelemetry API/SDK and PLCrashReporter as XCFrameworks.
  • Added session-snapshot logic (ALPH-1187).
  • Added OpenTelemetry SDK/API integration (ALPH-1187).
May 26, 2024

iOS SDK 1.0.4

New
  • Added ViewController extraction for Swift UIKit.
  • Added ViewController extraction for SwiftUI (ALPH-1085).
  • Added DeviceState and DeviceContext (ALPH-1112).
May 2, 2024

iOS SDK 1.0.0

New

Initial release of the Coralogix iOS RUM SDK.

Last updated on