Occasional SecurityException when accessing the ConnectivityManager on Android 11+ devices.
Failure to detect some phone calls during trips.
A rare occurrence of a NullPointerException during internal SDK message handling.
Failure to initialize the SDK on some emulator images due to a divide by zero error.
Failure to run crash detection immediately after resetting the SDK.
Support for tracking app foreground and background state changes.
Support for collecting accelerometer range and max supported frequency.
Improve detection of tablet devices by taking the device's smallest screen width into account.
Use existing authentication token when submitting a token refresh request.
Add fail-fast mechanism during third party user linking if linking has not been completed.
Improve handling of out of order sensor data
Fix skipped events in some rare cases.
Stability improvements to the user authentication and sensor data collection.
An improved and a more accurate vehicle crash detection, backed by a machine learning model. You must switch to using the new Sentiance API method
setVehicleCrashListener(VehicleCrashListener) to activate it.
A new method to help test your crash detection integration. See
A new method to check if crash detection is supported on the device for a specific trip type. See
On Android 9 and above, when background execution is restricted for your app (by the user or an OS power saving feature), SDK detections will no longer run. An
SdkStatus update will be delivered to your app, with
startStatus set to
isBackgroundProcessingRestricted set to
true so that you can take the appropriate action.
Library dependency changes:
Removed compile-time dependency on
Added runtime dependency on
org.tensorflow:tensorflow-lite:2.2.0. This dependency adds native libraries to your app. To limit their architectures, see here.
Minor stability and timeline quality improvements.
Fatal exception when aborting service start-up due to uninitialized SDK.
Stability improvement in the SDK logging subsystem.
Support for on-device trip profiling and hard event detection. This feature is not enabled by default.
Support for remotely enabling "controlled trips only" detection mode.
Disabled Proguard method synchronization optimization (method/marking/synchronized) due to incorrect removal of
synchronized method markings. This change is also carried over to any application code when using Proguard. If you're using R8, it will have no impact on your code.
Detection support for Android 4.4. and lower is now disabled.
WRITE_EXTERNAL_STORAGE permission is no longer requested by the SDK. Previously, this permission was requested up to API level 18. If you rely on the presence of this permission in the final manifest, please add it manually to your app's manifest instead.
Issues related to ANR and failed foregrounding of SDK services.
Properly reflect on the users timeline any SDK termination during trips.
Ensure long trips are split to no more than 4 hour durations.
Rare issue causing sensor timestamp misalignment.
Support resetting the SDK to a "never initialized" state, clearing all SDK user data and allowing the creation of a new Sentiance user. See
Improve the detection of granting the background location access permission on Android 10+.
Update and replace the use of deprecated Google Play Services APIs.
Motion activity detection issue during trips.
A rare token refresh issue that causes an unreleased wakelock.
Other minor bugs.
WRITE_EXTERNAL_STORAGE manifest permission is now limited to API level 18 and lower.
Stop the internal heartbeat task when the SDK is stopped.
Fix an occasional NullPointerException that occurs during detections.
ACCESS_BACKGROUND_LOCATION permission is now removed from the SDK's manifest. If you are targeting API level 29+, please add this permission to your app's manifest instead. The inclusion of this permission affected apps targeting API level 28 or lower. For more information about this change, please see here.
Android 10 permission support.
ACCESS_BACKGROUND_LOCATION permission has been added to the SDK's manifest. Background location access is mandatory to support proper detections. See Location Permission.
android.permission.ACTIVITY_RECOGNITION permission is required on Android 10 and above to prevent degradation in the detection quality. See Activity Recognition Permission.
Ability to obtain a user's nearby points of interest during stationary. You can now obtain a list of POIs and their type directly from the SDK instead of querying the Sentiance API. See
Report the app's notification setting (enabled/disabled) to the Sentiance Platform.
Report the device's Google Play Services version to the Sentiance Platform.
Keep a metadata journal to prevent sending duplicate user metadata requests.
Target API level is now 29.
Use Android's network capability API on Android 10.
The return type of
StationaryInfo.getLocation() is no longer nullable. A stationary activity is guaranteed to have a proper location.
Rare crash caused by a null pointer exception during call detection.
Rare crash caused by concurrent modification exception.
Properly capture unhandled exceptions (reported to the Sentiance Platform).
Incorrect user activity type reported during SDK startup.
The Sentiance app secret is no longer stored by the SDK.
Improved stationary detection.
Faster detection of location permission grant.
Decrease the number of notifications shown during stationary.
Explicitly set the
required attribute to
Add missing fields to
equals() methods of the
Properly detect and end ongoing (internal) SDK trips with poor location accuracy.
Support additional fine-tuning of the SDK's disk usage quota.
Rare crash caused by a NullPointerException in the ContinuousSensorStreamService class.
Remotely configurable sensor collection rate for non -R SDK versions.
Relax the high accuracy location mode requirement. Detections will also work with battery saving mode.
Occasional excessive wake-ups on Samsung devices.
Rare issue where duplicate detection payloads are uploaded to the server.
Rare issue where an invalid waypoint is added to a trip.
Support adding trip metadata during an ongoing trip. See
Support asynchronous user linking. See
Send user-agent info to API calls.
Internal changes to user linking, sdk configuration updates, and SDK heartbeat data.
Issue related to incorrectly timed activity transition events supplied by play services.
Batched payload submission.
Voip call detection.
Improved trip detection.
Screen on/off detection during trips.
Fix crash when targeting a pre-12.0.1 version of Google Play Location Services.
Minor internal bug fixes and improvements.
Support updating the SDK notification at runtime with
Ability to register for user activity updates (trips and stationary moments) with
Fixed a rare issue where the location availability sdk status value is incorrect.
Other minor bugs.
Support overwriting the Sentiance API URL with
App version code in the device info payload.
Prevent creating very long stationaries when the device has been offline (no location updates or powered off).
Include geofence exit triggering locations in trips.
Drop payloads when the API responds with 413 (payload too large).
Reschedule SDK tasks with changed criteria.
Rare crash caused by shared SimpleDateFormat instance.
Prevent stopping of incoming location fixes during trips caused by high frequency requests (1 per 10 secs or higher).
Capture unexpected exceptions and errors during SDK init, and fail with reason
Minor detection improvement.
Stuck stationary issue.
Alarms not triggering on Samsung.
Upload device location-mode, battery-saving state, and battery optimization config to the Sentiance platform.
Capture hourly heartbeat events to track SDK runtime.
Support uploading select SDK events (e.g. heartbeat) to the Sentiance platform over mobile data.
TransportMode enum obfuscation issue.
Support for uploading SDK logs over mobile data.
Detection improvements to some Samsung and Huawei devices.
Prevent Sentiance credentials change for an already authenticated user (init will fail with
Prevent premature user access token refreshes.
Minor bug fixes.
Ability to disable battery optimization for improved detections (see here).
Updated min required Google Play Location Services version to 12.0.1.
Minor bug fixes.
android.permission.FOREGROUND_SERVICE permission required for Android 9.
Updated target API to 28.
Improved detection algorithm.
Support for sending mocked locations.
Improved detection algorithm.
Minor bug fixes.
Provide the ability to set the SDK's notification ID.
Improve stationary detection.
Fix google play console warning related to AWS credentials.
Disable SDK notifications for triggered trips flavor when no trip is ongoing.
Prevent LocationService from crashing during startup.
Stationary detection improvement.
More SDK logging.
Removed explicit allowBackup param from manifest.
Wakelock prevention and other minor fixes.
Support for meta users.
Remotely configurable required location providers.
Prevent automatic detections in triggered trips mode.
Location parameter of
CrashCallback.onCrash() is now nullable.
Vehicle crash detection algorithm update.
Various bug fixes.