RUM iOS SDK changelog
iOS SDK 2.9.2
- On the hybrid (React Native / Flutter) path, a
beforeSendedit to an editablecx_rumfield (for example, redactingsession_context.user_emailor rewritinglabels) was reflected intext.cx_rumbut not ininstrumentation_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 editedcx_rumbefore upload — the same rebuild the native single-event path performs — so both destinations carry identical values.
iOS SDK 2.9.1
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
iOS SDK 2.9.0
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
iOS SDK 2.8.0
- 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) andImageScannermaskAll(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
flutterViewBitmapProviderrequests 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
SessionReplayentry points now dispatch toDispatchQueue.main. - Fixed session replay click frames not being detected on iOS 26:
getClickPointcast tap coordinates withas? Double, which no longer succeeds for a boxedCGFloaton 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
iOS SDK 2.7.0
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).
iOS SDK 2.6.4
The hybrid SDK path now honors excludeFromSampling (CX-40203).
iOS SDK 2.6.3
- Added the
ExcludableInstrumentationenum and theexcludeFromSamplingSDK 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
iOS SDK 2.6.2
Fixed a Flutter scroll freeze by using afterScreenUpdates: false.
iOS SDK 2.6.1
Fixed the tracesExporter instrumentation_data payload and the TracesExporterViewController per-span table UI. Learn more
iOS SDK 2.6.0
Hardened the Custom Spans API and fixed a network span 422 error (CX-39134). Learn more
iOS SDK 2.5.1
- Removed all
assert/precondition/fatalErrorcalls from SDK code, so the SDK can no longer crash the host app (CX-37986). - Added a global span registry (CX-37986).
iOS SDK 2.5.0
- Added the Traces Exporter (OTLP JSON) with a callback. Learn more
- Added global span trace propagation and
ignoredInstrumentsfor 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
US3domain to theCoralogixDomainenum. - Fixed preservation of
telemetry.sdk.*attributes in the OTel Resource.
iOS SDK 2.4.1
Fixed traceparent header capture in the React Native / Flutter hybrid network path.
iOS SDK 2.4.0
Added Flutter obfuscated errors plus error metadata (arch, build_id, stack_trace_type).
iOS SDK 2.3.3
Forward request and response headers and payload in the Flutter hybrid network path.
iOS SDK 2.3.2
Made Span conform to Equatable and record events conform to Hashable.
iOS SDK 2.3.1
Made Span conform to Hashable.
iOS SDK 2.3.0
- 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
beforeSendCallBackbehavior across SDKs (CX-32889). - Fixed React Native response body capture plus
URLSessionrace conditions. - Fixed the
beforeSenderror count when severity changes (BUGV2-5379). - Preserve the request in
requestMapfor network header capture, and movedSDKSampler.
iOS SDK 2.2.0
- Added hybrid platform support for
setUserInteraction,setNetworkRequestContext, and session-replay decoupling. - Enriched
instrumentation_data.otelSpanwithcx_rum.*structured attributes. - Added the
NetworkCaptureRulemodel and thenetworkExtraConfigSDK option (CX-33230). - Added capture-rule fields on
NetworkRequestContext(CX-33232). - Added the
resolveConfigForUrl(_:configs:)API (CX-33231). - Added
shouldSendTextandresolveTargetNamedelegates for user-action events (CX-32583). - Added
UISwipeGestureRecognizerswipe 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
niltosetUserContext. - 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
sysctland 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
iOS SDK 2.1.0
Eliminated delegate class scanning and migrated to industry-standard swizzling for multi-SDK compatibility.
iOS SDK 2.0.0
- Added Flutter session-recording masking support.
- Fixed severity syncing from the
beforeSendcallback toCxSpan.
iOS SDK 1.5.3
Fixed a negative-duration bug and now mark the session ID and session creation date correctly (CX-4620).
iOS SDK 1.5.2
Wired ANR detection into the scheme (CX-26496).
iOS SDK 1.5.1
Adopted async/await in internal APIs (CX-25861).
iOS SDK 1.3.0
- Added a screenshot change-detection filter for iOS Session Replay (ALPH-2515). Learn more
- Added mobile-vitals options (ALPH-2754). Learn more
iOS SDK 1.2.6
- 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.
iOS SDK 1.2.5
Automated the CocoaPods release pipeline (ALPH-6671).
iOS SDK 1.2.3
Bumped the PLCrashReporter dependency.
iOS SDK 1.2.2
- Fixed the user-agent string.
- React Native integration fixes (ALPH-1234).
iOS SDK 1.2.1
- Fixed broken
spanidandtraceid. - Fixed an app freeze on the main thread.
iOS SDK 1.2.0
- 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
iOS SDK 1.1.3
Fixed an app crash in NSMutableURLRequest ObjC bridging (ALPH-2631).
iOS SDK 1.1.2
- Externalized
PLCrashReporterfrom the main RUM module (ALPH-2488). - Fixed iOS schema issues (ALPH-2530).
- Removed duplicate swizzle code that sent multiple clicks.
sessionIdis now lowercase (ALPH-2523).ignoreUrlnow works with regex (ALPH-2519).- Fixed a
URLSessioninstrumentation deadlock. - Fixed a crash in
URLSessionInstrumentation.injectIntoNSURLSessionCreateTaskWithParameterMethod(ALPH-2507).
iOS SDK 1.1.1
Fixed several crashes (ALPH-2498).
iOS SDK 1.1.0
Refactored the idle logic (ALPH-2468).
iOS SDK 1.0.27
- Added an
isManualflag (ALPH-2429). - Added snapshot context on all severity-5 events (ALPH-2424).
- Fixed a crash in the
BatchWorker/NetworkStatusclass (ALPH-2423).
iOS SDK 1.0.26
- Added
traceparentheader injection (native) (ALPH-2296). - When using a proxy URL, the exporter now removes the span correctly (ALPH-2148).
iOS SDK 1.0.25
- Added a
traceparentheader option onCoralogixOptions(ALPH-2295). - Added proxy URL support (native) (ALPH-2292).
- Fixed a crash in
SessionMetaDataManager(ALPH-2914).
iOS SDK 1.0.24
- Changed duration handling, added undefined-text handling, and repaired broken tests (ALPH-2388).
- Fixed images being skipped during session recording (ALPH-2360). Learn more
iOS SDK 1.0.23
- Added Flutter support for cold / warm mobile vitals (ALPH-1234).
- Initialize
segmentIndexwhen the page is incremented (ALPH-2286).
iOS SDK 1.0.22
- Added Session Replay click events (ALPH-1885).
- Added a disable-swizzling option (ALPH-2246). Learn more
iOS SDK 1.0.21
- Added screenshot events in session recording (ALPH-2159).
- Fixed a crash in
URLSessionInstrumentation(ALPH-2218). Learn more
iOS SDK 1.0.20
- Merged Session Replay into the main module (ALPH-2183).
- Fixed a crash in
URLSessioninstrumentation (ALPH-2195). Learn more
iOS SDK 1.0.19
Added beforeSend logic.
iOS SDK 1.0.18
- 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).
iOS SDK 1.0.17
Fixed ignoreUrl and ignoreError API behavior.
iOS SDK 1.0.16
- Added missing API functions (ALPH-2128).
- Fixed network requests not being captured in some cases (ALPH-2128).
iOS SDK 1.0.15
Added new public API functions (ALPH-2214).
iOS SDK 1.0.14
Switched the library to static linkage.
iOS SDK 1.0.13
Fixed a crash in the UICollectionView swizzle.
iOS SDK 1.0.12
- Added lifecycle events (ALPH-1623).
- Added daily metrics log reporting (ALPH-1625).
- Added
beforeSendlogic (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).
iOS SDK 1.0.11
Fixed iOS 13 compatibility (Xcode 15.0.1).
iOS SDK 1.0.10
- Added basic tvOS support (ALPH-1506).
- Added a
samplerRateoption onCoralogixOptions. - 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.
iOS SDK 1.0.8
Added native enhancements for Flutter capabilities (ALPH-1137).
iOS SDK 1.0.6
Added the CocoaPods podspec.
iOS SDK 1.0.5
- Added OpenTelemetry API/SDK and
PLCrashReporteras XCFrameworks. - Added session-snapshot logic (ALPH-1187).
- Added OpenTelemetry SDK/API integration (ALPH-1187).
iOS SDK 1.0.4
- Added ViewController extraction for Swift UIKit.
- Added ViewController extraction for SwiftUI (ALPH-1085).
- Added
DeviceStateandDeviceContext(ALPH-1112).
iOS SDK 1.0.0
Initial release of the Coralogix iOS RUM SDK.
