Skip to main content
SystemVersion
Rokt SDK for iOS5.0.0
iOS15.0+
Package ManagerCocoaPod/ Swift Package Manager
Swift5
Xcode16

Release History

5.0.0Direct link to 5.0.0

Breaking ChangesDirect link to Breaking Changes

  • Source distribution: SDK now ships as Swift source instead of a pre-built XCFramework for both SPM and CocoaPods
  • iOS 15 minimum: Deployment target raised from iOS 12 to iOS 15
  • execute() / execute2step() / executeWithEvents() removed: Use selectPlacements() with a unified onEvent callback instead of separate onLoad, onUnLoad, onShouldShowLoadingIndicator, onShouldHideLoadingIndicator, and onEmbeddedSizeChange callbacks
  • viewNameidentifier: Renamed across selectPlacements(), events(), purchaseFinalized(), and RoktLayout
  • RoktLayout parameter changes: locationNamelocation; identifier is now required
  • PlacementOptionsRoktPlacementOptions: Type renamed
  • initWith(onInitComplete:) callback removed: Use globalEvents() to listen for RoktEvent.InitComplete instead
  • setLoggingEnabled(enable:) removed: Use setLogLevel(_:) for granular log control

ChangedDirect link to Changed

  • Add trunk security scanning and remove stale Cortex catalog
  • Bump actions/download-artifact from 7.0.0 to 8.0.1
  • Bump actions/create-github-app-token from 2.2.1 to 3.0.0

AddedDirect link to Added

  • Migration guide for v4 to v5 upgrade

4.16.4Direct link to 4.16.4

ChangedDirect link to Changed

  • XCFramework generated from RoktUXHelper 0.8.3 snapshot
  • Bump iOS deployment target from 12.0 to 15.0 to align with RoktUXHelper requirements

4.16.3Direct link to 4.16.3

FixedDirect link to Fixed

  • Update to RoktUXHelper 0.8.1 fixing SignalViewed events not being emitted — offers now correctly fire viewed events after 50%+ visibility for 1 second
  • Fixed critical crash when users tap buttons in SDK layouts caused by invalid UTF-8 encoding in event data
  • Fixed thread safety issue in real-time event processing that could cause crashes under high load
  • Improved error handling and logging for event storage operations

4.16.2Direct link to 4.16.2

FixedDirect link to Fixed

  • Fixed caching being silently enabled when building RoktConfig without an explicit CacheConfig

4.16.1Direct link to 4.16.1

AddedDirect link to Added

  • Add PlacementOptions to support passing joint SDK timing data for placement selection

FixedDirect link to Fixed

  • Remove false positive font diagnostics requests on the first time init

4.16.0Direct link to 4.16.0

AddedDirect link to Added

  • Add configurable log levels via Rokt.setLogLevel(_:)

DeprecatedDirect link to Deprecated

  • Deprecate Rokt.setLoggingEnabled(enable:) in favor of setLogLevel(_:)

4.15.0Direct link to 4.15.0

AddedDirect link to Added

  • Added support for getting and setting session ID. If you use multiple integrations, such as webview and native within your app you can now set session ID so it is maintained across integration types.

ChangedDirect link to Changed

  • Updated timing data capture logic and added x-rokt-trace-id header

4.14.6Direct link to 4.14.6

FixedDirect link to Fixed

  • Fixed thread safety crash when processing platform events

4.14.5Direct link to 4.14.5

ChangedDirect link to Changed

  • Reverted temporary iOS view controller hierarchy changes introduced in 4.14.4
  • RoktUXHelper version 0.7.5

FixedDirect link to Fixed

  • Fix ScrollableColumn and ScrollableRow ignoring dimension maxHeight/maxWidth constraints when weight is set

4.14.4Direct link to 4.14.4

FixedDirect link to Fixed

  • Embedded hosting controller cleanup to remove view controller lifecycle management

4.14.3Direct link to 4.14.3

FixedDirect link to Fixed

  • Fixed cache attributes being used in place of all attributes

4.14.2Direct link to 4.14.2

ChangedDirect link to Changed

  • RoktUXHelper version 0.7.4
  • New animation styles supported in DataImageCarousel

FixedDirect link to Fixed

  • Fixed ProgressComponent

4.14.1Direct link to 4.14.1

FixedDirect link to Fixed

  • Fixed thread safety crash in DistributionComponents when transitioning between offers

4.14.0Direct link to 4.14.0

FixedDirect link to Fixed

  • Handle negative values in Progression predicate of When component

4.13.0Direct link to 4.13.0

ChangedDirect link to Changed

  • UX Helper version updated to 0.7.0

4.12.0Direct link to 4.12.0

AddedDirect link to Added

  • Add detection of Stripe SDK with Apple Pay capabilities

FixedDirect link to Fixed

  • Debounce embedded size change events
  • Persist sessionId from API response regardless of whether layouts are selected

4.11.0Direct link to 4.11.0

AddedDirect link to Added

  • EmbeddedSizeChanged now gets emitted as an event

ChangedDirect link to Changed

  • FirstPositiveEngagement is now emitted for all execute calls

4.10.0Direct link to 4.10.0

ChangedDirect link to Changed

  • Enabled DSym on XCFramework export
  • Add detection of Apple Pay and if a user is new to Apple Pay
  • Sessions are now retained between app restarts

4.9.1Direct link to 4.9.1

AddedDirect link to Added

  • Explicitly add @objc annotation to support Cart Item Instant Purchase

4.9.0Direct link to 4.9.0

AddedDirect link to Added

  • Support for openURL passthrough option
  • Thank you upsells layout
  • Image carousel layout

4.8.1Direct link to 4.8.1

FixedDirect link to Fixed

  • Limit size dimensions to 2 decimal places to fix precision issue

4.8.0Direct link to 4.8.0

RemovedDirect link to Removed

  • Remove spacing when image download fails

FixedDirect link to Fixed

  • Fix color mode switch on RichText after progression

4.7.0Direct link to 4.7.0

AddedDirect link to Added

  • iOS SDK using UXHelper module as rendering engine

ChangedDirect link to Changed

  • Minimum supported iOS version bumped to 12 (deprecated support for iOS 11 & 10)

4.6.1Direct link to 4.6.1

FixedDirect link to Fixed

  • Fixed regression on weight property
  • Flutter embedded overlap fix released behind feature flag
  • Fixed carousel height
  • Refactored dynamic-height bottomsheet to fix onLoad callback
  • Added Flutter iOS arm64 simulator support

4.6.0Direct link to 4.6.0

FixedDirect link to Fixed

  • Dynamic bottomsheet enhancements
  • Fixed accessibility text cut-off
  • Fixed carousel distribution height on iOS 18

4.5.1Direct link to 4.5.1

FixedDirect link to Fixed

  • Fixed bottomsheet bottom-edge background color
  • Fixed system font accessibility sizing

4.5.0Direct link to 4.5.0

AddedDirect link to Added

  • Support for dynamic-height bottomsheet

4.4.0Direct link to 4.4.0

AddedDirect link to Added

  • Support collapsing the embedded layout with the close button

FixedDirect link to Fixed

  • Fix color mode changes on the RichText component after progression
  • Fix Arabic/Farsi localized numbers in event dates

4.3.1Direct link to 4.3.1

FixedDirect link to Fixed

  • Fix Flutter embedded placement not tappable on second offer
  • Add extra is-Rokt URL parameters under feature flag
  • Bounding box rendering under feature flag
  • Fix retry logic on nil-response in networking layer

4.3.0Direct link to 4.3.0

FixedDirect link to Fixed

  • Fix empty Flutter embedded placement height
  • Fix RoktWebview menu on iPadOS
  • Align StaticImage dark-URL behavior with Android
  • Align overlay vertical-alignment key with Android and Web

4.2.0Direct link to 4.2.0

AddedDirect link to Added

  • Privacy Manifest support

FixedDirect link to Fixed

  • Fix overlay alignment

4.1.0Direct link to 4.1.0

FixedDirect link to Fixed

  • Re-register fonts and log on font errors
  • Fix dark-mode switch on iOS 17
  • Fix crash on text progress indicator
  • Fix creative title rendering twice
  • Fix crash on negative response
  • Fix threading crash in BaseDependencyInjection sharedItems
  • Open linked URLs from bottomsheet in full-screen height

Was this article helpful?