For the complete documentation index, see llms.txt. This page is also available as Markdown.

Changelog

Track ContextSDK latest updates, new features, and fixes in our changelog.

[iOS] 5.17.0 - 2026-08-14

Generic

  • Breaking: the minimum iOS deployment target is now iOS 16 (previously iOS 14). This is required by the on-device Core ML models the SDK now ships with. Apps that must keep an iOS 14 deployment target should stay on 5.16.0 - see Minimum SDK Requirements

  • Add new ContextManager.setUserId(_:) function to set the user ID once for all ContextSDK products, or pass nil to clear it on sign-out. The value is stored on the device, so it's still there on the next app start. See Tracking the User ID

  • Add new ContextManager.fetchCurrentActivity function that runs our on-device activity recognition models on demand and returns the probability that the user is walking, in transit, sitting and more, with a second overload to score only the activities you ask for. This API isn't part of the default build, get in touch if you'd like it enabled for your app. See Activity Recognition

  • Add new sessionTimeoutSeconds configuration option to change how long the app has to stay in the background before events are grouped into a new session. It defaults to 5 minutes, so brief background and foreground transitions (like pulling down the notification shade) keep the same session. See Custom Configuration

  • Custom signals whose ID can't be used, or whose numeric value is NaN or infinite, are now reported in the console once per signal ID instead of being dropped silently

Ad Tech

  • Add new callback based ContextManager.fetchGoldenSignals to allow waiting for sensor data to be available

  • Add support for passing custom signals directly into the golden signals call in addition to the global signals

  • Golden signals are now backed by OTA delivered CoreML models allowing them to be evolved over time

  • Golden signals now expose the outputs of those models: scores under m_ keys, moment embeddings as [Float] vectors with the model version under the matching mv_ key. See Golden Signals

ContextPush:

  • Fix a crash in the host app when a push payload contained a NaN or infinite signal value

  • ContextPush.setUserId(_:) is now deprecated in favor of ContextManager.setUserId(_:). Existing calls keep working, and for push you only need to provide the device token via ContextPush.setDeviceToken(_:)

Extension Build

  • Add new uploadsEnabled parameter to ContextManager.setupForExtension to stop an extension from uploading events itself. Events are still recorded and are uploaded the next time the app launches

  • Reduce the memory footprint of the notification service extension by optimizing how data is shared to the main app

[iOS] 5.16.0 - 2026-05-05

Generic

  • Add new ContextManager.didReceiveMemoryWarning() function to release memory that is no longer strictly required

ContextPush:

  • Add support for notification service extensions to track generic events in a lifecycle safe way

[iOS] 5.15.0 - 2026-03-31

ContextPush:

  • Add influenced open tracking to measure when users open the app after receiving a push notification

  • Add richer context signals to push payloads for improved delivery optimization

  • Add Swift Package Manager support for the notification service extension as a separate target

[iOS] 5.14.1 - 2026-02-12

  • Fixes the ABTestInformation not having an initializer

[iOS] 5.14.0 - 2026-01-29

ContextPush:

  • Add notification service extension support for confirmed delivery tracking

  • Add API to customize notification content before delivery

  • Bug fixes and performance improvements

ContextDecision & ContextPush:

  • Introduce adaptive thresholds that automatically adjust based on your app's outcomes and user behavior for improved performance over time

[iOS] 5.13.0 - 2025-11-06

ContextPush:

  • This includes the new Hybrid Mode, increasing the number of opportunities we get to deliver push notifications

AdTech:

  • New AdTech capabilities

[iOS] 5.12.0 - 2025-10-30

  • New AdTech capabilities

[iOS] 5.11.0 - 2025-10-02

  • Adds new Context.wasForcedUpsell flag to indicate if the current upsell was triggered in a bad moment.

[iOS] 5.10.1 - 2025-09-03

  • Add 34 new motion signals that require only 0.01s of data

  • Add new APIs to better support customers' AB testing systems

[iOS] 5.9.0 - 2025-08-07

  • Add support for revenue tracking for StoreKit 1

  • Improve ContextPush background time handling

  • Update Unity binding

[iOS] 5.8.0 - 2025-07-24

  • Added 43 new motion signals for more precise context detection

[iOS] 5.7.0 - 2025-07-18

  • Introducing Cooldowns, allowing you to control a minimum and maximum number of prompts shown in a given time period

  • Improvements on handling disabled push permissions

[iOS] 5.6.1 - 2025-06-16

  • Add support for logging revenue data from Unity

  • Add support for manually putting ContextSDK into control mode in Unity

[iOS] 5.6.0 - 2025-05-30

  • Improve ContextPush performance

  • Verify maximum length of flowName (500 chars)

  • Add additional internet geolocation signals

[iOS] 5.5.0 - 2025-04-29

[iOS] 5.4.0 - 2025-03-13

  • Add enableInstantContext configuration for improved battery savings, especially when using only ContextPush

  • Improve error output in the Xcode console

[iOS] 5.3.1 - 2025-02-21

[iOS] 5.3.0 - 2025-02-06

  • Add support for sending images in context-aware push notifications

  • Add new context signals

  • Add ContextManager.getCustomModel(for:) to check if a custom model was rolled out for a specific flow

[iOS] 5.2.1 - 2025-01-28

[iOS] 5.2.0 - 2025-01-22

[iOS] 5.1.0 - 2025-01-22

[iOS] 5.0.0 - 2025-01-21

  • Launch ContextPush product — see How ContextPush Works for details

  • Remove deprecated methods:

    • ContextManager.checkIfGoodMomentForPushNotification → use ContextPush instead

    • ContextManager.deliverNotificationIfGoodMoment → use ContextPush instead

    • ContextManager.requestATTrackingAuthorizationForCalibration → discontinued

    • ContextManager.requestATTrackingAuthorizationIfGoodMoment → discontinued

    • ContextManager.requestATTTrackingAuthorization → discontinued

    • context.logAttAuthStatus → discontinued

    • defaultLogSender property → discontinued

[iOS] 4.8.0 - 2024-12-03

  • Add support for logging multiple outcomes on a single Context object

[iOS] 4.7.1 - 2024-11-13

  • Fix crash affecting users on iOS 15

  • Improve documentation

[iOS] 4.7.0 - 2024-10-15

  • Enable custom models to make decisions based on custom signals

  • Add new context signals

  • Prevent "Duplicate signal IDs found" from being logged when using ContextManager.recentContext

[Android] 1.0.1 - 2024-10-01

  • Fix issue with accelerometer data collection on certain devices

[iOS] 4.6.0 - 2024-09-30

  • Add new signals

  • Add Flutter support

[iOS] 4.5.1 - 2024-09-12

  • Prepare for future releases

[iOS] 4.5.0 - 2024-08-14

  • Add new accelerometer signals

  • Add signals related to session duration

[iOS] 4.4.3 - 2024-08-01

  • Bugfix release

[iOS] 4.4.2 - 2024-08-01

  • Bugfix release

[iOS] 4.4.1 - 2024-07-31

  • Add additional context signals

[iOS] 4.4.0 - 2024-07-29

  • Add cancelContextCallback method

  • Fix crash when creating contexts from multiple threads

  • Preserve recentContext when app enters background

  • Improve documentation

[iOS] 4.3.1 - 2024-07-08

  • Remove async/await from the codebase to simplify backporting on iOS 13/14

  • Fix crash caused by incorrect async backport linking

[Android] 1.0.0 - 2024-07-01

  • Initial release of ContextSDK for Android

[iOS] 4.3.0 - 2024-06-03

  • Add support for specifying a maxDelay when using ContextManager.optimize(...)

[iOS] 4.2.2 - 2024-05-21

  • Fix issue where custom signals could be lost when using ContextManager.optimize(...)

[iOS] 4.2.0 - 2024-05-13

  • Add support for React Native

[iOS] 4.1.2 - 2024-05-08

  • Fix crash related to non-thread-safe cache access

[iOS] 4.1.1 - 2024-05-02

  • Add PrivacyInfo.xcprivacy file for upcoming Apple requirements

  • Add additional accelerometer signals

  • Add basic Objective-C support

  • Improve integration robustness

[iOS] 4.0.2 - 2024-04-12

  • Add ContextManager.recentContext(customModel: .customModelName) to retrieve context for a specific custom model

  • Add warnings for potential integration issues

  • Improve accelerometer sensor handling

  • Disable CallKit in calibration mode builds to avoid app rejections

[iOS] 4.0.0 - 2024-03-07

  • Add support for OTA custom model updates (configurable)

  • Remove Context.customModelName property

  • Change CustomModel enum to String

  • Add optional error reporting to backend to improve stability

  • Convert ContextManager.sdkVersion from property to method

  • Replace context.appendCustomSignals() with context.appendOutcomeMetadata()

Last updated

Was this helpful?