Flutter

[6.14.0] - 17 Jun 2025

Added

  • Added the canMonitorGeofences field to the SDK status.

Changed

  • Changed the minimum Flutter version required from 3.3.0 to 3.22.3.

  • Updated the Sentiance Android SDK dependency to v6.14. See here for the changes introduced in this SDK version.

  • Updated the Sentiance iOS SDK dependency to v6.14. See here for the changes introduced in this SDK version.

[6.13.0] - 30 Apr 2025

Upcoming changes

Changed

  • For iOS, bumped the deployment target to iOS 13.0.

  • For Android, bumped the minimum supported Android API level (minSdkVersion) to 24.

  • Updated the Sentiance Android SDK dependency to v6.13. See here for the changes introduced by this SDK version.

  • Updated the Sentiance iOS SDK dependency to v6.13. See here for the changes introduced by this SDK version.

  • For a custom Android notification channel ID, the expected manifest meta-data name was changed to com.sentiance.flutter.core.notification_channel_id to match our documentation.

[6.12.0] - 28 Mar 2025

Added

  • Severity information to vehicle crash events. See CrashEvent.

Changed

  • speedLimitInMps of a Waypoint will now return double.infinity instead of null, if the waypoint has an unlimited speed limit.

  • Invalid altitudes for CrashEvents are now null on iOS.

Fixed

  • null accuracy value for CrashEvents on iOS.

[6.11.1] - 11 Mar 2025

Fixed

  • Exception when using 3rd party plugins (that require registration) in the body of Dart listeners set in background.dart .

[6.11.0] - 28 Feb 2025

Added

  • A new isProvisional property to TimelineEvent, which indicates whether the event is provisional. A provisional event is identified based on real-time detections, but may change in the near future as more data is collected and processed, to filter out unwanted artifacts. For example, a provisional car transport may get identified, followed by a provisional bus transport. After the full trip is complete, these provisional events may get merged into a single final car event. Currently, provisional events apply only to 'transport' types.

  • The getTimelineUpdates and getTimelineEvents Dart APIs in addition to the native initializeListener EventTimeline APIs now accept an optional includeProvisionalEvents parameter for you to specify whether to retrieve/receive all events, including provisional ones.

  • The requestUserContext Dart API and the native initializeListener UserContext APIs now accept an optional includeProvisionalEvents parameter for you to specify whether to retrieve/receive all events, including provisional ones.

  • The transportIsProvisional value has been added to the OccupantRoleFeedbackResult type. Submitting occupant role feedback for provisional transports is not allowed.

Changed

  • Updated the Sentiance Android SDK dependency to v6.11. See here for the changes introduced by this SDK version.

  • Updated the Sentiance iOS SDK dependency to v6.11. See here for the changes introduced by this SDK version.

[6.10.0] - 7 Feb 2025

Added

  • A new driving insights feature for detecting the occupant role of the user during car transports (i.e. driver vs passenger). The occupant role is available at the end of a transport, in the TransportEvent.

  • A feedback API, for providing feedback on the detected occupant role of the user during car transports. The feedback is used on the device to improve the accuracy of future detections.

  • Support for assigning tags to transports. A tag is a key-value which can be assigned to an ongoing or future transport. The tags are included in the retrieved TransportEvent, after the transport has ended.

  • Waypoints in phone usage, call-while-moving, and harsh driving events. These waypoints indicate the segments of the transport where the corresponding event occurred. Some waypoints can be synthetic.

  • A driving insights API for retrieving the average 'overall' safety score of the user, over a period of the last 7, 14, or 30 days.

  • ​Type and confidence information to harsh driving events. A type is categorized as acceleration, braking, or cornering.

  • magnitudeAsDouble property to harsh driving events.

[6.9.2] - 25 November 2024

Added

  • Accept additional SDK init options on Android and support customizing the SDK's notification.

[6.9.1] - 31 October 2024

Fixed

  • An issue where driving insights' transport events have null distance values on iOS.

[6.9.0] - 15 October 2024

Added

  • Support for typed errors to be used in try/catch statements when invoking Sentiance APIs.

  • Missing isSpeedLimitUnlimited field to waypoints.

  • lastUpdateTimeMs field to transport events.

  • BREAKING: Include recent events and update criteria information with the user context update delivered to the app via background listeners.

Changed

  • BREAKING: The following APIs' signature/behavior has changed:

    • reset() now returns void instead of bool. If the operation succeeds, execution terminates normally. If an error occurs, a ResetError will be thrown.

    • submitDetections() now returns void instead of bool. If the operation succeeds, execution terminates normally. If an error occurs, a SubmitDetectionsError will be thrown.

    • enableDetections() now returns void instead of bool. If the operation succeeds, execution terminates normally. If an error occurs, an EnableDetectionsError will be thrown.

    • enableDetectionsWithExpiryDate() now returns void instead of bool. If the operation succeeds, execution terminates normally. If an error occurs, an EnableDetectionsError will be thrown.

    • disableDetections() now returns void instead of bool. If the operation succeeds, execution terminates normally. If an error occurs, a DisableDetectionsError will be thrown.

    • createUser() now throws a UserCreationError if the operation fails.

    • requestAccessToken() now throws a UserAccessTokenError if the operation fails.

    • refreshGeofences() now throws a SmartGeofencesRefreshError if the operation fails.

    • requestUserContext() now throws a RequestUserContextError if the operation fails.

    • invokeDummyVehicleCrash() now returns void instead of bool.

  • BREAKING: Make TimelineEvent abstract, and introduce 4 inheritor types: TransportEvent, StationaryEvent, OffTheGridEvent, UnknownEvent.

  • BREAKING: Registration of all event listeners in Dart code is now ensured via a staticregisterXXXListener function that is provided by the corresponding plugin class.

  • BREAKING: The user context update listener now provides update criteria along with user context information.

  • BREAKING: Segment attribute values are now doubles instead of ints.

  • BREAKING: Expose one entry point(library file) per package.

  • BREAKING: Rename the minTravelledSpeedInMps and maxTravelledSpeedInMps fields of CallWhileMovingEvents to minTraveledSpeedInMps and maxTraveledSpeedInMps, respectively.

  • getPhoneUsageEvents, getHarshDrivingEvents, getCallWhileMovingEvents, getSpeedingEvents, getTimelineUpdates and getTimelineEvents APIs now return a list of non-nullable events instead of nullable ones.

Removed

  • BREAKING: getLanguageName API has been removed.

  • BREAKING: Multiple duplicate type definitions across all modules.

  • BREAKING: type field has been removed from transport events.

Fixed

  • An issue where speed and speed limit information for waypoints were not being set on iOS.

[0.0.22] - 31 July 2024

Added

  • lastUpdateTimeMs and venue information to timeline events.

  • isSpeedLimitUnlimited information to waypoints.

Changed

  • Updated the version of the native iOS modules of all Sentiance packages, to match the version of the Flutter packages themselves. (It was previously set to 0.0.1).

  • Updated Android's minSdkVersion on all packages from 19 to 23to match the native Sentiance SDK.

Fixed

  • Set the duration of ongoing timeline events on iOS to nil (it was previously set to a negative number)

  • An issue on iOS with all APIs that take an epoch timestamp as argument, where these timestamps were considered to be in seconds instead of milliseconds. (Impacted plugins: sentiance_core, sentiance_event_timeline)

  • An issue on iOS with some APIs that return data with timestamps, where the said timestamps were being reported in microseconds instead of milliseconds. (Impacted plugins: sentiance_driving_insights, sentiance_event_timeline)

  • An issue on iOS with some APIs that return data with timestamps, where the said timestamps were being reported in seconds instead of milliseconds. (Impacted plugins: sentiance_crash_detection, sentiance_event_timeline, sentiance_user_context)

[0.0.21] - 17 July 2024

Fixed

  • An issue with the Dart API for smart geofences that prevented consumers from accessing smart geofence APIs.

[0.0.20] - 16 July 2024

Added

  • New sentiance_smart_geofences package to support Smart Geofences. You can use Smart Geofences to monitor points of interest, and get notified of entries and exits. See here about the feature and its build dependencies, and here for some sample code.

Changed

  • Updated the Sentiance Android SDK dependency to version 6.8.

  • Updated the Sentiance iOS SDK dependency to version 6.8.

Last updated