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 passnilto 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 IDAdd new
ContextManager.fetchCurrentActivityfunction 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 RecognitionAdd new
sessionTimeoutSecondsconfiguration 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 ConfigurationCustom signals whose ID can't be used, or whose numeric value is
NaNor infinite, are now reported in the console once per signal ID instead of being dropped silently
Ad Tech
Add new callback based
ContextManager.fetchGoldenSignalsto allow waiting for sensor data to be availableAdd 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 matchingmv_key. See Golden Signals
ContextPush:
Fix a crash in the host app when a push payload contained a
NaNor infinite signal valueContextPush.setUserId(_:)is now deprecated in favor ofContextManager.setUserId(_:). Existing calls keep working, and for push you only need to provide the device token viaContextPush.setDeviceToken(_:)
Extension Build
Add new
uploadsEnabledparameter toContextManager.setupForExtensionto stop an extension from uploading events itself. Events are still recorded and are uploaded the next time the app launchesReduce 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
ABTestInformationnot 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.wasForcedUpsellflag 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
Add new ContextManager.registerContextObserver method to get a callback when it's a good moment to show a prompt
Learn more in Listening for Good Moments
Remove an Xcode console warning when using the SDK in a background thread
Improve frequency of event flushing during development so it's easier to test
[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
Expose properties on the ContextModelInformation struct
[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
Add initializer for RevenueEvent to support logRevenueOutcome(from:outcome:) with a
RevenueEventobject
[iOS] 5.2.0 - 2025-01-22
Add context.logRevenueOutcomeIfNotLoggedYet to track in-app purchase and subscription revenue
[iOS] 5.1.0 - 2025-01-22
Add context.logRevenueOutcome(from:outcome:) to track in-app purchase and subscription revenue
Improve efficiency of push-related network requests
Improve internal detection of app launch reason
[iOS] 5.0.0 - 2025-01-21
Launch ContextPush product — see How ContextPush Works for details
Remove deprecated methods:
ContextManager.checkIfGoodMomentForPushNotification→ use ContextPush insteadContextManager.deliverNotificationIfGoodMoment→ use ContextPush insteadContextManager.requestATTrackingAuthorizationForCalibration→ discontinuedContextManager.requestATTrackingAuthorizationIfGoodMoment→ discontinuedContextManager.requestATTTrackingAuthorization→ discontinuedcontext.logAttAuthStatus→ discontinueddefaultLogSenderproperty → discontinued
[iOS] 4.8.0 - 2024-12-03
Add support for logging multiple outcomes on a single
Contextobject
[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
cancelContextCallbackmethodFix crash when creating contexts from multiple threads
Preserve
recentContextwhen app enters backgroundImprove 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
maxDelaywhen usingContextManager.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.xcprivacyfile for upcoming Apple requirementsAdd 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 modelAdd warnings for potential integration issues
Improve accelerometer sensor handling
Disable
CallKitin calibration mode builds to avoid app rejections
[iOS] 4.0.0 - 2024-03-07
Add support for OTA custom model updates (configurable)
Remove
Context.customModelNamepropertyChange
CustomModelenum toStringAdd optional error reporting to backend to improve stability
Convert
ContextManager.sdkVersionfrom property to methodReplace
context.appendCustomSignals()withcontext.appendOutcomeMetadata()
Last updated
Was this helpful?