[6.7.1] - 15 Apr 2024


  • Improved vehicle crash detection for motorcycles. Benefiting from this improvement requires an SDK configuration change for your app. For more information, reach out to the Sentiance support team.


  • Stability improvements to the venue and speed limit tile downloading components.

  • Core Data warnings related to implicit type coercion, and failed calls to SENTDBRegistry's designated initializer.

[6.7.0] - 5 Apr 2024

  • A new API method for controlling whether the SDK is allowed to use mobile data for uploading/downloading configuration and detection data.

  • A new isLocationAvailable SDK status property, to reflect the SDK's view of accurate location availability.


  • Improved the runtime performance of the following sensor processing features: crash detection, transport classification, harsh driving detection, and phone usage detection.

  • Updated the SDK's framework folder structure to address asset validation issues on Xcode 15.3.

  • Updated the Objective-C Protobuf framework that is bundled in the Umbrella framework, and referenced by the Sentiance SDK SPM package, to v3.18.3-p. This is a Sentiance-packaged framework using the official v3.18.3 source code, with an added privacy manifest file. It has a minimum iOS version set to 10.5.

[6.6.4] - 18 Mar 2024


  • Privacy manifest file to the Sentiance SDK. Note: a manifest file has also been added to the Protobuf SDK that is bundled in the Umbrella framework, and the one shipped with the Sentiance SPM package. For CocoaPods integrations, updating to Protobuf v3.25.3 from the official source is sufficient to include the Protobuf manifest file.


  • Increased the capacity for storing downloaded speed limit data.

[6.6.3] - 5 Mar 2024


  • Transport mode detection for short transports.

  • Computation of the various safety scores for short transports.

[6.6.2] - 23 Feb 2024


  • Improved transport classification for certain app configurations.

  • Fixed a delay in the SDK in reacting to location permission changes.

  • Stability improvements to the detection submission towards the Sentiance backend.

[6.6.1] - 2 Feb 2024


  • Improved detection of car and motorcycle transport modes, for certain app configurations.

  • Improved harsh driving detection for motorcycles.

  • Addressed a delay in updating the SDK's detection state, after having enabled detections.

  • Fixed an issue that prevented the SDK reset completion handler from being invoked, under certain conditions.


  • Removed the use of Amazon AWS credentials.

[6.6.0] - 5 Jan 2024


  • New public API methods for querying historic timeline events and subscribing for real time event updates. See the how-to guide here.

  • Support for syncing on-device transports and driving insights with the Sentiance Cloud Platform.


  • Driving insights: updated the minimal transport distance and duration requirements for safety score calculation, to 500 meters and 3 minutes respectively.

  • Rearchitected the SDK's background task execution component to utilize only one iOS background task. As such, only the following background task identifier is needed in the Info.plist: com.sentiance.backgroundtask.task_processing


  • Under certain circumstances, the starting location of a trip is incorrectly chosen to be an older stationary.

  • Potential crash at runtime, if the SDK is initialized after having been reset in the same lifetime of the app process (i.e. without an app restart).

[6.5.2] - 11 Dec 2023


  • Occasional crash when creating a user, after having reset the SDK.

[6.5.1] - 9 Nov 2023


  • Resolved detection issues on iOS 16.4 and above, where iOS terminated the app when running in the background.

  • Fixed an issue causing the SDK to crash during the computation of user segments.

  • Fixed a crash that occurred when interacting with the SDK, despite initialization succeeding, stemming from an internal state inconsistency within the SDK.

[6.5.0] - 13 Oct 2023


  • Call-while-moving safety score, which is computed using phone calls that are detected during vehicular transports. Corresponding call-while-moving events can be retrieved via the Sentiance API.

  • Legal driving safety score, which is computed using the traveled speed information during vehicular transports, in addition to the use of speed limit information that is downloaded and stored offline by the SDK. Corresponding speeding events can be retrieved via the Sentiance API.

  • Overall safety score, which is computed using the other safe driving scores.



  • Stability improvements to the underlying movement detection algorithm.

[6.4.0] - 10 Jul 2023

Production Readiness Update

In this release, the following features have been promoted from Early Access to Production Ready:

  • Transport classification

  • Home & work detection

  • User segment detection

  • User's current context information

See our On-Device Features page for more information about these features. Detailed overview of feature production readiness can be found on this page.

This version includes breaking changes for some Early Access features.


  • SENTHarshDrivingEvent now provides separate start and end dates, instead of a single event date.


  • Phone usage detection during vehicular transports. This feature is part of the on-device Driving Insights feature. It uses a custom machine learning model to accurately detect phone usages. The detected events can be obtained using the getPhoneUsageEvents.

  • Focused driving safety score, which is calculated by taking into account the detected phone usage events during vehicular transports. See SENTSafetyScore.


  • Stability improvements to the movement detection subsystem.

  • Improvements to the on-device home and work location detection.

  • Runtime warnings about the usage of NSKeyedUnarchiveFromData.

  • Rare crash caused by blocked the main thread during SDK initialization.

  • Excessive device storage usage during the lifetime of the SDK.

  • Compile time warnings about category method overriding a class method.

[6.3.3] - 21 Jun 2023


  • Stability fixes to the home/work detection and venue-type mapping features.

[6.3.2] - 8 May 2023


  • Stability improvements to home and work venue detection.

[6.3.1] - 18 Apr 2023


  • Runtime exception when using the TransportSession feature.

  • A bug introduced in v6.3.0, which delayed the SDK's reaction to location permission changes.

[6.3.0] - 7 Apr 2023

This version includes breaking changes for some Early Access features.


  • A new Driving Insights feature, which provides information about a user's driving behaviour. In this first version, the SDK detects harsh driving events (e.g. acceleration, braking, and turning), which are then used to compute a vehicular transport's smooth driving score. This data is available via the new APIs in the Sentiance class, which allows the subscription to, and retrieval of DrivingInsights and HarshDrivingEvents. This feature must be enabled by Sentiance before use.

  • New API methods in the Sentiance class which allow the subscription to, and retrieval of TransportSessions. A transport session corresponds to a transport that was detected by the SDK, and includes information such as the mode of transport, and the raw sensor data that was used to classify it. This API is primarily intended to be used for accessing the raw sensor data. To simply be notified of new transports, it's more efficient to utilize the UserContext info.

  • A short history of locations inside SENTVehicleCrashEvent, which represent the preceding locations leading up to the crash event.


  • Several minor stability issues.


  • BREAKING: a number of user segments that are no longer supported.

[6.2.5] - 9 Mar 2023


  • distanceInMeters property of TransportEvent returns nil instead of a proper result.

[6.2.4] - 16 Feb 2023


  • Incorrect device low-power-mode indicator when checking the SDK status. This bug also impacted the system API result when calling ProcessInfo.isLowPowerModeEnabled.

[6.2.3] - 9 Feb 2023


  • An exception caused by deadlocking logic, when checking the background app refresh status and device thermal state.

[6.2.2] - 31 Jan 2023


  • An exception related to incompatible bundled models, caused by build-time SDK Bundle merge by Xcode.

  • An issue where the SDK would start running in the background without detections being started, due to a conflict with a geofence set at the app level.

  • An exception caused by deadlocking logic, when checking if the device is in low power mode.

[6.2.1] - 19 Jan 2023


  • CocoaPods: $(PODS_ROOT)/** path from SWIFT_INCLUDE_PATHS that was being set by the SDK Podspec configuration. This was resulting in build errors when compiling Swift files.


  • High CPU usage when some on-device features were enabled, such as User Segment Detection and Stationary Venue-Type Mapping.

[6.2.0] - 9 Jan 2023

This version includes breaking changes for some Early Access features.


  • Transport waypoint and distance information to SENTTransportEvent, which is part of the event list returned in SENTUserContext. Both waypoints and distance are based on unprocessed (i.e raw) location data.

  • User's current semantic time info to SENTUserContext (e.g. morning, lunch, evening). See SENTSemanticTime.

  • A new multi-purpose SDK background task, with identifier com.sentiance.backgroundtask.task_processing. Adding this identifier to your app's Info.plist is mandatory. Please update your project settings, and enable Background fetch and processing capabilities.

  • isDeviceLowPowerModeEnabled property to SENTSDKStatus, to indicate whether the device is in low power mode.

  • isMotionActivityPermissionGranted property to SENTSDKStatus, to indicate whether the motion activity permission has been granted.

  • Support for uploading additional SDK status information to the Sentiance Cloud Platform.

  • New SDK dependency called dskoball. See dependencies.


  • Stationary venue mapping has been update to an improved version, but that is limited to venue-type mapping. i.e. a stationary will no longer reference a specific venue, but a venue type instead.

  • Improved support for on-device user segment detection.

  • The SDK's background task identifier com.sentiance.backgroundtask.segment_detection is no longer required. You may remove it from your app's Info.plist file.

  • Disabled SDK logging to the device system log (i.e. console).


  • Rare exception when uploading logs to the Sentiance Cloud Platform.


  • BREAKING: SENTUserContextUpdateCriteriaActiveMoments criteria type.

  • BREAKING: SENTMoment class. SENTUserContext no longer returns moments.

  • BREAKING: venueSignificance is removed from SENTStationaryEvent, and moved to SENTVenue. SENTStationaryEvent now references a SENTVenue.

  • BREAKING: SENTVenueCandidates and SENTVisit classes are removed. venueCandidates has been removed from SENTStationaryEvent.

  • BREAKING: SENTVenue now has a nullable location, which previously was not nullable. The location can be nil when it's unknown, such as when a stationary has a venue significance of "point of interest". In this case, only the venue type is known, but not its exact location.

  • BREAKING: SENTVenue no longer has venue name or labels.

[6.1.3] - 1 Dec 2022


  • Runtime exception when processing a detected stationary for venue mapping purposes.

[6.1.2] - 24 Nov 2022


  • Missing vehicle crash information in the trip data that is uploaded to the Sentiance Platform.

[5.15.4] - 18 Nov 2022


  • An issue where the SDK continues detections after the location permission is downgraded to "while using the app."

[6.1.1] - 14 Nov 2022


  • Potential runtime exception related to the vehicle crash diagnostic feature.

[6.1.0] - 30 Sep 2022

This version includes breaking changes for some Early Access features.


  • Diagnostic API for monitoring vehicle crash detection. See setVehicleCrashDiagnosticHandler:

  • App-configurable rules to control SDK data transmission to the Sentiance Cloud Platform. The app can specify which of the following data types are allowed to be transmitted to the Sentiance platform: vehicle crash data, SDK and device info, general detection data, all data. See setTransmittableDataTypes:

  • Support for car, bus, train, and tram/metro transport mode detection, part of the user's current context information.

  • Internal support in the SDK to notify the Sentiance Cloud Platform that the SDK has been reset.

  • Support for specifying 'any' trip type when calling isTripOngoing: using SENTTripTypeAny.


  • Improve the detection of vehicle crashes that occur towards the end of a trip.

  • Rare occurrence of a EXC_BAD_ACCESS crash.

  • File operation exception at runtime, causing the process to crash.

  • Inaccurate stationary venue information in some instances.


  • BREAKING: vehicle and rail transport modes from the user's current context information.

[6.0.3] - 19 Sep 2022


  • Runtime exception when attempting to remove CLCircularRegions that were created by the SDK, while the app is also monitoring CLBeaconRegions.

[5.15.3] - 19 Sep 2022


  • Runtime exception when attempting to remove CLCircularRegions that were created by the SDK, while the app is also monitoring CLBeaconRegions.

[6.0.2] - 30 Aug 2022

Swift Package Manager Support

Starting with this release, you can add the Sentiance SDK to your project as Swift Package. See these instructions.


  • Sentiance's custom TensorFlowLiteC v2.7.0 XCFramework has been repackaged as a dynamic library framework. If you've integrated the SDK manually or by using Carthage, and will use the TensorFlowLiteC framework bundled in this release, make sure to update your project settings to embed and sign the TensorFlowLiteC framework. For other integration types, no changes are required.

  • Improved the vehicle crash detection algorithm.


  • Occasional slow initialization while loading the SDK's resource bundle on some devices.

  • Unterminated background processing and app refresh tasks, after the tasks have finished.

  • Motion & Fitness permission dialog triggered by the SDK, when the step counting feature is activated.

  • Optimized the download of venue data, used for on-device processing.

  • An issue where a handler/listener that was set on the SDK would be lost after resetting the SDK.

  • An issue where the SDK stops immediately after being initialized, when using the deprecated initializer.

  • A rare issue where the main thread gets blocked while processing location data.

[5.15.2] - 30 Aug 2022


  • Improved the vehicle crash detection algorithm.

[6.0.1] - 16 Aug 2022


  • Failure to update the deep learning crash detection model under certain circumstances, after an SDK update.

  • Usage of incorrect trip-end location.

  • Incorrectly returned NSDictionary as the user creation error detail, instead of an NSString.

  • Invalid SDK state, when user creation is interrupted by app termination or unfinished user linking, requiring an SDK reset to be able to complete user creation.

  • Failure to deliver SDK status updates when the location permission or precision changes.

  • Blocking of the main thread during app startup, under rare circumstances.

[5.15.1] - 16 Aug 2022


  • Restored support for the armv7 architecture.


  • Failure to update the deep learning crash detection model under certain circumstances, after an SDK update.

  • Usage of incorrect trip-end location.

  • Rare stack overflow issue when submitting detections during SDK initialization.

[6.0.0] - 1 Aug 2022

Breaking Changes

Version 6.0 is a major release and includes multiple deprecations and breaking changes. Please read our migration guide to learn how to upgrade to this version.

Given the significance of the changes in this version, we recommend testing your app carefully, before making it available to your wider audience.


  • A Sentiance user creation method that supports the existing user-linking flow, and a new authentication-code based flow. The new flow is the recommended approach for future integrations.

  • A dedicated SDK initializer that does not create a Sentiance user. To be used in combination with the user creation method.

  • Improved versions of asynchronous SDK methods that accept a result and error returning handler, offering more flexibility and Swift friendliness.

  • Detection enabling and disabling methods that are persistent across app restarts, and that replace the SDK's start and stop methods.

  • User Context information, which can be requested or subscribed for, and which includes a user's recent timeline events, the home and work locations (if detected), and a user's segments (if detected). This feature is released as Early Access and must be enabled by Sentiance first. For more information about it, see our On-Device Features page.

  • On-device user event timeline generation, with support for real-time transport classification using Sentiance's ML-based transport classifier. This feature is released as Early Access and must be enabled by Sentiance first. The timeline is made available via the User Context data.

  • On-device venue mapping of stationary locations, using Sentiance's ML-based classifier. This feature uses venue data that is downloaded and stored offline. It is released as Early Access. The venue information is made available via the User Context. For more information about this feature, see our On-Device Features page.

  • On-device segment detection. This feature is released as Early Access and must be enabled by Sentiance first. The segment data is made available via the User Context. For more information about this feature, see our On-Device Features page.

  • Limited support for running detections when the location permission is while-in-use, and when the app is in the foreground.

  • Nullability annotations for all public methods and classes.

  • SENTSDKStatus.userExists, SENTSDKStatus.backgroundRefreshStatus, and SENTSDKStatus.detectionStatus

  • userExists and isUserLinked methods in the Sentiance class, accessible without initializing the SDK.

  • isPreciseLocationAuthorizationGranted to indicate whether precise location permission is granted.


  • Bumped the minimum support iOS version to 13.0.

  • The SENTSDK class has been renamed to Sentiance.

  • Most Sentiance methods can no longer be called without initializing the SDK first. Exceptions are mentioned in each method's corresponding documentation.

  • MetaUserLinker is renamed to UserLinker.

  • isVehicleCrashDetectionSupported no longer accepts an argument..

  • Modifications to SENTConfig after passing it to initWithConfig:success:failure are now ignored.


  • initWithConfig:success:failure:

  • reset:failure:

  • start:, startWithStopDate:completion:, stop

  • getUserId, getUserActivity, getInitState, getSdkStatus, getVersion, getWifiQuotaLimit, getWiFiQuotaUsage, getMobileQuotaLimit, getMobileQuotaUsage, getDiskQuotaLimit, getDiskQuotaUsage (deprecated in favor of properties).

  • getUserAccessToken:failure:

  • startTrip:transportModeHint:success:failure and stopTrip:failure

  • submitDetections:failure:

  • SENTSDKStatus.startStatus and SENTSDKStatus.locationPermission


  • Prevent blocking the main thread during startup under certain conditions.

  • Improve the handling of false-trip detections.

  • Stability fixes when resetting the SDK.

  • OOM when uploading data to the Sentiance platform continuously fails.


  • setCrashListener:

  • isInitialized

  • setTripProfileHandler:, setFullTripProfilingEnabled:, setSpeedLimit:

  • SdkStatus.isLocationPermGranted

[5.15.0] - 13 Jul 2022


  • Support for arm64 (M1 Mac) simulators. See this guide.


  • The TensorFlowLiteC framework bundled in our fat framework and xcframework artifacts have been replaced with a custom TensorFlowLiteC v2.7.0 framework, which includes support for arm64 (device), arm64 (simulator), and x86_64 (simulator) architectures.


  • Failure to clean up the keychain under certain circumstances, after app reinstallation. This resulted in restoring the previous Sentiance user on the device.

  • Failure to run the vehicle crash detector when triggered-trips mode is enabled on the SDK.


  • Support for armv7 (device) and i386 (simulator) architectures.

[5.14.1] - 4 Jul 2022


  • API to control background task identifier registration (details). This is currently relevant only when the SDK's step-counter feature is being utilized.


  • Improved the vehicle crash detection algorithm.


  • An issue that was introduced in v5.14.0, where iOS terminates the app when scheduling a background task. This was caused by the SDK registering background task identifiers outside of the app delegate.

[5.14.0] - 30 May 2022

This release updates the SDK's TensorFlow Lite dependency version to 2.7.0. If your app depends on a different version of TensorFlow Lite, make sure to test it for compatibility before updating.


  • Updated the TensorFlow Lite dependency to v2.7.0.

  • Updated the vehicle crash detection ML model for TensorFlow Lite v2.7.0 compatibility.

[5.13.0] - 5 May 2022


  • Step count tracking (disabled by default).

  • Support scheduling background tasks.


  • Improved the vehicle crash detection algorithm.

[5.12.1] - 3 Feb 2022


  • Improved the vehicle crash detection algorithm.

  • Added support for vehicle crash detection when motion activity permission is not granted.


  • A bug that was introduced in v5.11.2, where reinstalling the app did not clear the previous Sentiance user.

[5.12.0] - 4 Jan 2022


  • Trip recording consistency upon unexpected app restart.

  • Stability of background task usage in the SDK.

  • Improved vehicle crash detection.

  • Inability to detect trips after toggling the location precision setting on iOS 14+.


  • Legacy on-device trip profiling. This feature will be removed in the next major release.

[5.11.2] - 8 Nov 2021


  • Fixed updating debug log configuration received from backstage.

  • Removed obsolete linker flag '-all_load' from podspec which lead to linker issues in recent react native environments.

[5.11.1] - 29 Jul 2021


  • Fixed an issue where detections were not able to start on iOS 15 devices due to the updated authorization status.

  • Fixed TensorFLowLite model updating mechanism at runtime.

  • Removed embedded TensorFlowLite library from SENTSDK pod by providing a separate thinned package and adding a pod dependency to TensorFlowLite (applies to CocoaPods integration only and requires CocoaPods 1.10.0 or above).

[5.11.0] - 16 Jul 2021


  • Support SDK artifacts without CallKit linkage


  • Fixed rare and transient runtime crashes when object references inside the SDK get released from the OS due to erroneous reference semantics.

  • Fixed delayed uploading of payloads in case of outdated authentication tokens.

  • Fixed missing trip detections due to erroneous flip flop checks.

[5.10.1] - 20 May 2021


  • Updated embedded TensorFlowLite framework to v2.4.0.


  • Fixed potential accelerometer data gaps in trip objects due to included data from previous trips.

  • Fixed swift compiler warning since Xcode 12.5 wrt a missing include in the umbrella header.

[5.10.0] - 14 Apr 2021


  • Support for approximate location access available since iOS 14.

  • Support for detection of screen lock/unlock events.


  • Add fail-fast mechanism during third party user linking if linking has not been completed.

  • Slightly adjust the actual stationary start time in the same way as the Android SDK.


  • Missing sensor data for crash events in some cases.

  • Overlapping stationary events in case of trip timeouts.

  • Recovery of trip object creation in case the SDK got killed by the OS.

  • Trip object creation and submission in case of a crash event.

[5.9.0] - 29 Jan 2021


  • New type to SDK artifacts which are now packaged as both Framework and XCFramework (Please make sure to have CocoaPods 1.10.0 or above installed on your machine if you integrate Sentiance SDK via CocoaPods).

  • An improved and more accurate vehicle crash detection, backed by a machine learning model. You must switch to using the new Sentiance API method setVehicleCrashHandler: to activate it.

  • A new method to help test your crash detection integration. See invokeDummyVehicleCrash.

  • A new method to check if crash detection is supported on the device for a specific trip type. See isVehicleCrashDetectionSupported:.

Beta Feature: Support for host apps that enable Data Protection. This functionality is released as a beta feature and not yet recommended for production use.


  • The trip serialization process utilizes a less intense and more optimized background processing model.



  • An issue where portions of accelerometer and gyroscope data might be missed

  • An issue where stationary detection might overlap with past stationary and trip detections

  • An issue where the SDK might continuously report an initialization state of SENTInitInProgress after the initialization credentials are changed

  • An issue where the SDK might continue collecting location fixes even after the user becomes stationary and cause excessive energy consumption

  • An issue where the SDK might accidentally remove keychain items owned by the host app

  • An issue where the SDK might crash during a network operation


  • Location permission prompt when starting the SDK. If you rely on the SDK for prompting the user, please make sure you update your app and prompt the user during the onboarding.

[5.7.4] - 15 Jul 2020


  • The SQLCore I/O database error

  • High frequency GPS configuration

[5.7.3] - 9 Jul 2020


  • An issue where the SDK might not register geofences after determining that the user is stationary

  • An issue where the SDK might use outdated geofences during stationary state determination

[5.7.1] - 4 Jun 2020


  • An issue when using beacon regions was causing unexpected exits

[5.7.0] - 3 Jun 2020


  • Support added for on-device trip profiling and hard event detection.

[5.6.1] - 21 Feb 2020


  • An issue where the SDK might quit unexpectedly during resetting due to an internal issue

[5.6.0] - 5 Feb 2020


  • Support for resetting the SDK to factory settings, which clears all user data and allows creating a new Sentiance user.


  • The geo-fence management policy so that the SDK does not intervene with the lifecycle of geo-fences owned by the enclosing app.

  • Removed the motion activity permission prompt when starting the SDK. If you rely on the SDK for prompting the user, please make sure you update your app and prompt the user during the onboarding.


  • An issue where the SDK database might experience conflicts when the enclosing app also uses database instance(s) of CoreData.

[5.5.5] - 13 Nov 2019

  • Fixed the SDK start/stop infinite loop when the user was selecting “Allow Once” for iOS 13 location permission.

[5.5.3] - 7 Oct 2019


  • iOS 13 background tasks crash

  • Stuck in stationary (missing some trips)

  • On base url change submission fix

[5.5.2] - 17 Sept 2019


  • iOS 13 crash fix

  • Payload submission stability fixes

[5.5.1] - 27 Aug 2019


  • Support for CocoaPods

  • Integration Guide, to assist with installation and configuration of the SDK from Xcode


[5.4.0] - 2 Jul 2019


[5.3.2] - 14 Jun 2019


[5.3.0] - 4 Jun 2019


[5.2.1] - 29 May 2019



  • Stability and trip detection improvements.


  • Fix with reachability.

[5.1.8] - 28 Feb 2019


  • Stability improvements.

[5.1.7] - 28 Jan 2019


  • Crash detection speed check.


  • Improved trip start detection.

  • Stability improvements.

[5.1.5] - 21 Dec 2018


  • iOS update fix

  • Trip overlays on off the grid events

  • Other fixes and improvements

[5.1.4] - 6 Nov 2018


  • Crash detection implemented


  • Fix with small amount of waypoints

  • Trip duplication fix

  • Other fixes and improvements

[5.1.3] - 25 Oct 2018


  • Fix with using beacons

[5.1.2] - 8 Oct 2018


  • Triggered trip timeout, persisting started triggered trip

[5.1.1] - 26 Sep 2018


  • SDK motion activity and start moving timing bug fixes

[5.1.0] - 27 Aug 2018


  • Meta Users implemented. Documentation updated accordingly.

[5.0.7] - 9 Aug 2018


  • Battery usage fix

Last updated