Flutter

[6.10.0] - 7 Feb 2025

Upcoming Changes in the Next Release

Starting from v6.11, planned for the end of February 2025, the following changes will come into effect:

  1. Minimum supported iOS version for SDK detections will change from 13.0 to 15.0. You can still target iOS 13.0 for your app builds, however, detection will not be possible, and the SDK initialization will fail.

  2. Minimum Supported Android API level for SDK detections will change from 23 to 24 (i.e. from Android 6 to 7). You can still target API level 23 for your app builds, however, detections will not be possible, and the SDK initialization will fail.

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

This release is a major update to the Sentiance Flutter SDK, and includes a number of breaking changes. For reference on how to migrate your integration, check out our migration guide.

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