# Android

## \[ 3.0.0 ] - 2026/03/09

{% hint style="warning" %}
**This release marks a new major version of the DriveKit SDK**

All methods that were marked as [deprecated](https://docs.drivequant.com/get-started-drivekit/android/drivekit-3.0-migration-guide) during the past year have been removed.
{% endhint %}

**Added**

* TripAnalysis: `TripListener` exposes a new callback `beaconConfirmed(beacon: BeaconData)`, invoked when a beacon is detected and confirmed during a trip recording. Read more [here](https://docs.drivequant.com/trip-analysis/android/triplistener#add-a-triplistener).

**Changed**

* Project: Methods and properties that have been marked as deprecated for more than one year are now permanently deleted. For more details, please refer to the [migration guide](https://docs.drivequant.com/get-started-drivekit/android/drivekit-3.0-migration-guide).

## \[ 2.26.0 ] - 2026/02/19

**Added**

* TripAnalysis: Implemented Play Services version storage for improved system monitoring.

**Changed**

* TripAnalysis: Optimized geofence exit detection for faster and more reliable performance.

**Fixed**

* TripAnalysis: Improved capture of the correct trip start detection mode.

## \[ 2.25.0 ] - 2026/02/04

**Changed**

* Core: Automatically retry failed requests when the device smartphone reconnects to a network.
* TripAnalysis: Automatically repost detected crashes when server errors occur.
* TripAnalysis: The crash feedback notification is now configured with the notification identifier instead of a randomly generated identifier.

## \[ 2.24.1 ] - 2026/01/26

**Fixed**

* TripAnalysis: Prevented immediate trip-post retry when the trip analysis service is temporarily unavailable or returns an error.

## \[ 2.24.0 ] - 2026/01/14

**Added**

* Project: The DriveKit SDK is now published on Maven Central starting with this version. The DriveQuant Maven repository can be safely removed and will be deprecated by the end of 2026.

**Changed**

* Trip Analysis : Added an internal parameter to flag trips and crashs analyzed in real time or uploaded later because of network unavailability.

**Fixed**

* TripSimulator: Location heading data is now correctly sent during trip simulation.

## \[ 2.23.0 ] - 2025/12/18

**Added**

* TripAnalysis: Added a new method ([`getLastVehicleTripLocation()`](https://docs.drivequant.com/trip-analysis/android/trip-management#get-last-vehicle-trip-location)) to retrieve the arrival location of the most recent trip performed with a vehicle.
* Vehicle: Added a new method ([`getVehicleLocation(vehicleId)`](https://docs.drivequant.com/vehicle/android/vehicle-management#get-vehicle-last-location)) to retrieve the arrival location of the last trip for a given vehicle.

**Changed**

* TripAnalysis: Improved the `getLastTripLocation()` method by filtering out invalid trips.

## \[ 2.22.1 ] - 2025/12/01

**Changed**

* TripAnalysis: Improved end-of-trip location accuracy in `getLastTripLocation()` .

## \[ 2.22.0 ] - 2025/11/13

**Changed**

* TripAnalysis : Updated Play Services Location to version 21.3.0
* TripAnalysis : Updated Car library to version 1.7.0

**Added**

* Vehicle : Added new vehicle brands (AIWAYS, BYD, Leapmotor, and Xpeng).

## \[ 2.21.0 ] - 2025/10/27

**Changed**

* TripAnalysis: Improved trip upload handling for pending analyses when the phone reconnects to a mobile network.
* TripAnalysis: Improved diagnostic indicators related to location settings.

**Fixed**

* TripAnalysis: Resolved a very rare crash that could occur when device sensors returned invalid data values.

## \[ 2.20.0 ] - 2025/10/06

**Added**

* DatabaseUtils: The `Trip` object now includes more granular address fields:
  * *departureState*, *departurePostalCode*, *departureCountry*
  * *arrivalState*, *arrivalPostalCode*, *arrivalCountry*

**Changed**

* Core: User data sessions are now automatically cleared when `setApiKey()` or `setUserId()` is called with new values that differ from the currently configured values.&#x20;
* TripSimulator: The preset crash trip scenario has been updated from a 10 km/h confirmed crash to a 40 km/h confirmed crash, providing a more realistic test case.

## \[ 2.19.0 ] - 2025/09/09

**Changed**

* Project: DriveKit is now targeting Android 16 (API level 36). It is recommended to check the official Android [documentation](https://developer.android.com/about/versions/16/migration).

## \[ 2.18.1 ] - 2025/07/24

**Fixed**

* TripAnalysis: Handled a `SecurityException` occurring during foreground service execution for trip recording, despite all required launch conditions being satisfied.

## \[ 2.18.0 ] - 2025/07/16

**Added**

* DriverData: The `Trip` object now includes occupant information, indicating whether the occupant was the **driver** or a **passenger**. Read more [here](https://docs.drivequant.com/trip-analysis/android/references#occupantinfo).&#x20;

## \[ 2.17.0 ] - 2025/06/30

**Added**

* TripAnalysis: A new method `configureNotification()`  allows configuring the trip recording notification using Android's `NotificationChannel`  and `Notification`  objects. Read more [here](https://docs.drivequant.com/trip-analysis/android/trip-management#with-the-dknotification-object).

## \[ 2.16.0 ] - 2025/06/24

**Added**

* Core: Add a `config` file listing DriveKit configurations. Read more [here](https://docs.drivequant.com/get-started-drivekit/android/advanced-configurations#logging).

**Changed**

* Core: Improve accuracy of smartphone boot date returned in `TURNED_ON` [diagnosis event](https://docs.drivequant.com/backend/driver/application-diagnoses#events).

## \[ 2.15.0 ] - 2025/05/13

**Added**

* DriverData: Add a new method `updateDriverPassengerMode()` to declare if the user has been the driver or a passenger of the trip. Read more [here](https://docs.drivequant.com/driver-data/android/get-started#declare-a-trip-made-as-passenger).
* TripAnalysis: Trip metadata are now automatically saved in local database after a trip analysis. It is no longer necessary to call the trip synchronization service to retrieve these metadata.

## \[ 2.14.0 ] - 2025/04/15

**Added**

* Core: The SDK generates a unique installation identifier to detect if the same account is used on multiple devices. [Read more](https://docs.drivequant.com/get-started-drivekit/android/advanced-configurations#docs-internal-guid-1205ab64-7fff-36b8-2207-9b2e9643cad0).

**Changed**

* Core: DriveKit logs now include a summary of authorizations and sensor statuses to simplify analysis.
* TripAnalysis: Improved the accuracy of trip cancellation reasons by adding a new cause, `NO_GPS_DATA`, to cover cases where no GPS points are available.

## \[ 2.13.1 ] - 2025/04/08

**Changed**

* Core: The WorkManager is not automatically initialized when the [auto-initialization](https://docs.drivequant.com/get-started-drivekit/android/advanced-configurations#manually-initialize-the-sdk) is disabled (it is initialized only if required).

## \[ 2.13.0 ] - 2025/03/17

**Added**

* TripAnalysis: Added a link to the real-time tracking map in the accident data accessible via [DKCrashInfo](https://docs.drivequant.com/trip-analysis/android/references#dkcrashinfo) object.

**Fixed**

* TripAnalysis: Manage a possible crash when the user revokes the location permission during a trip recording.

## \[ 2.12.2 ] - 2025/03/14

**Added**

* BeaconUtils: Add configuration rules for minified applications.

**Changed**

* Core: Update the internal networking manager.

## \[ 2.12.0 ] - 2025/02/24

**Added**

* TripSimulator: A no-op module is now available. Learn more [here](https://docs.drivequant.com/trip-analysis/trip-simulator).

**Changed**

* TripAnalysis: the property used to check that the [crash detection is available](https://docs.drivequant.com/trip-analysis/android/crash-detection#verify-that-the-feature-is-available) (`isCrashDetectionAvailable` ) returns False when the SDK is not configured.

**Fixed**

* TripAnalysis: Handle possible crash when the device has no GPS sensor.
* Core: Fix rare *ConcurrentModificationException* errors.

## \[ 2.11.0 ] - 2025/02/17

**Fixed**

* BeaconUtils: Address potential crashes that might occur during beacon scanning on certain Xiaomi devices.
* Core: Fix a rare issue that occurs when fetching the previous app exit reason on devices running Android 11.

## \[ 2.10.0 ] - 2025/01/22

**Added**

* TripAnalysis: Add methods to manage the [location sharing while driving](https://docs.drivequant.com/trip-analysis/android/trip-management#manage-the-location-sharing-while-driving).

**Changed**

* Project: The minimum version supported by DriveKit is now Android 8.0 Oreo (API 26).

## \[ 2.9.1 ] - 2025/01/06

**Changed**

* Core: Improved detection of diagnosis events related to smartphone turn-on and turn-off.

## \[ 2.9.0 ] - 2024/12/16

**Changed**

* TripAnalysis: Add callbacks to the [TripListener](https://docs.drivequant.com/trip-analysis/android/triplistener) to improve monitoring of trip recording states.

**Fixed**

* TripAnalysis: Clear trip metadata when DriveKit is [reset](https://docs.drivequant.com/get-started-drivekit/android/advanced-configurations#reset).

## \[ 2.8.0 ] - 2024/12/03

**Fixed**

* TripAnalysis: handling a `ForegroundServiceStartNotAllowedException` error which can occur even if [exemptions from background start restrictions](https://developer.android.com/develop/background-work/services/foreground-services?authuser=1#background-start-restriction-exemptions) are respected.

**Deprecated**

* TripAnalysis: the object `account` has been deprecated in `PostGenericResponse`.

## \[ 2.7.3 ] - 2024/11/26

**Fixed**

* Project: Improve migration code managing an occasional migration error occurring when the SDK is integrated into a minified application.

## \[ 2.7.2 ] - 2024/11/21

**Fixed**

* Core: Prevent requests from using cache.
* Core: Improve the way of deserializing objects from GSON.

## \[ 2.7.1 ] - 2024/11/19

**Fixed**

* Project: Update ProGuard rules to fix minification issues.

## \[ 2.7.0 ] - 2024/11/05

**Added**

* TripAnalysis: Add a new method `getCurrentTripInfo()`to retrieve some information about the current trip. Follow this [link](https://docs.drivequant.com/trip-analysis/android/trip-management#get-information-about-the-current-trip) to learn more.

{% hint style="warning" %}
`getCurrentStartMode()` and `getCurrentTripStartDate()`methods on DriveKitTripAnalysis module are deprecated and will be removed at the end of 2025. Please use `getCurrentTripInfo()` method instead.
{% endhint %}

## \[ 2.6.0 ] - 2024/10/22

**Added**

* TripAnalysis: Add a new method to retrieve the arrival location of the last trip: `getLastTripLocation()`. Follow this [link](https://docs.drivequant.com/trip-analysis/android/trip-management#get-the-arrival-location-of-the-last-trip) to learn more.
* TripAnalysis: The `getLastTripPoint(): TripPoint?` method is now deprecated and replaced by `getLastTripPointOfCurrentTrip(): TripPoint?`. It avoids confusion with the new `getLastTripLocation` method.

## \[ 2.5.0 ] - 2024/10/15

**Changed**

* Project: The `EncryptedSharedPreferences` library is no longer used in the SDK as it is [no longer maintained by Android](https://developer.android.com/privacy-and-security/cryptography#jetpack_security_crypto_library).
* TripAnalysis: The `tripFinished(post: PostGeneric, response: PostGenericResponse)` [TripListener](https://docs.drivequant.com/trip-analysis/android/triplistener)'s callback is now deprecated and replaced by `tripFinished(result: TripResult)`. The [TripResult](https://docs.drivequant.com/trip-analysis/android/references#tripresult) makes it easier to understand the trip analysis result from our DriveQuant servers.

## \[ 2.4.4 ] - 2024/11/22

**Fixed**

* Core: Prevent requests from using cache.

## \[ 2.4.3 ] - 2024/09/17

**Fixed**

* Project: New ProGuard rules have been added to avoid obfuscation of useful classes. This update is important if you have enabled minification in your application.

## \[ 2.4.2 ] - 2024/09/12

**Fixed**

* Core: In some rare cases, calling the methods `enableLogging`/`disableLogging` can interrupt the SDK initialization.
* TripAnalysis: Avoid interruptions in trip recording that could be caused by a problem with the `EncryptedSharedPreferences` library.

## \[ 2.4.1 ] - 2024/08/28

**Fixed**

* Core: Better management of diagnosis data backup in case of changes in minification rules.

## \[ 2.4.0 ] - 2024/07/31

**Changed**

* DriveKit is now targeting Android 15 (API level 35). It is recommended to check our [migration guide](https://docs.drivequant.com/get-started-drivekit/android/android-15-migration-guide) and the [Android documentation](https://developer.android.com/about/versions/15/behavior-changes-all).
* ProGuard rules have been added to handle enabled code minification in client app configuration.
* DriverAchievement: The LEGACY RankingPeriod is deprecated and will be removed in early 2025.
* Challenge: Challenge list sync service has been enhanced to be up to 20x faster.

## \[ 2.3.1 ] - 2024/11/22

**Fixed**

* Core: Prevent requests from using cache.

## \[ 2.3.0 ] - 2024/06/19

**Changed**

* Core: Updated version of the `security-crypto` library to prevent ANR events on Android 12 devices.

**Fixed**

* Core: AutoReset permission value was inverted in `DKDeviceConfigurationListener`.
* TripAnalysis: Fix of a rare crash that could occur when the iBeacon scan starts if the Bluetooth sensor has been turned off.
* TripAnalysis: Fix a rare crash when the user Bluetooth device class is null during a phone call.

## \[ 2.2.0 ] - 2024/05/29

**Changed**

* TripAnalysis: Manage Full Screen Intent runtime permission which can be revoked by the [Google Play Store](https://source.android.com/docs/core/permissions/fsi-limits) for apps on Android 14+ devices that do not have calling or alarm functionalities. If you are using the Crash Detection Feedback feature, have a check about the [dedicated](https://docs.drivequant.com/trip-analysis/android/crash-detection#configure-crash-detection-feedback) section.

## \[ 2.1.0 ] - 2024/05/20

**Changed**

* DriverAchievement: We have updated statistics of badges to get more details: acquired, remaining and total number of badges for each level (bronze, silver and gold).

## \[ 2.0.2 ] - 2024/05/02

**Fixed**

* TripAnalysis: On rare occasions, an error in calculating the variance of the gyroscope can interrupt trip recording and collision detection.

## \[ 2.0.1 ] - 2024/04/18

**Fixed**

* TripAnalysis: The bluetooth sensor could be unexpectedly turned off at the end of a trip for devices on Android 12 and below.

## \[ 2.0.0 ] - 2024/04/10

{% hint style="danger" %}
**This is a major version of the DriveKit SDK.**

There is no breaking changes, except the deletion of methods and properties already marked as deprecated for more than a year.
{% endhint %}

**Added**

* TripSimulator: Add the new *`TRIP_WITH_CRASH_2_STILL_DRIVING`* dataset to simulate a trip with a confirmed accident after which the driver continues to drive. Learn more [here](https://docs.drivequant.com/trip-analysis/trip-simulator).

**Deleted**

* Core: The deprecated property `listener` is now deleted.
* TripAnalysis: The deprecated `setVehicle(vehicle: Vehicle)` method is now deleted and replaced by `setVehicle(vehicle: TripVehicle)`
* DriverData: Deprecated methods `saveTrainTrip(…)` and `getTimelines()` are now deleted.

**Changed**

* Project: The internal modules are now automatically initialized. It means that you no longer have to initialize the modules in the `onCreate` method of your `Application` class. Read more via the [Quick start part](https://docs.drivequant.com/get-started-drivekit/android/quick-start).
* DriverData: Add new `ignoreItemsWithoutTripScored` parameter for `getDriverTimelines()` method. If set to `true`, the returned timeline data will not contain items ([DKAllContextItem](https://docs.drivequant.com/driver-data/android/references#dkallcontextitem) and [DKRoadContextItem](https://docs.drivequant.com/driver-data/android/references#dkroadcontextitem)) where there are only unscored trips. Learn more [here](https://docs.drivequant.com/driver-data/android/get-started#get-driver-timelines).

**Deleted**

* Core: The deprecated  `delegate` is now deleted.
* DriverData: Deprecated methods `saveTrainTrip(…)` and `getTimelines()` are now deleted.

## \[ 1.41.1 ] - 2024/11/22

**Fixed**

* Core: Prevent requests from using cache.

## \[ 1.41.0 ] - 2024/02/07

**Changed**

* TripAnalysis: From this version, the callback tripPoint() is also triggered during the stopping state.
* TripAnalysis: In addition to phone compatibility, `isCrashDetectionAvailable` now measures whether the accelerometer is working properly and whether access to the crash detection feature is enabled. [Read more](https://docs.drivequant.com/trip-analysis/android/crash-detection#verify-that-the-feature-is-available).
* DriverAchievement: New method to get the number of badges: total number, number of badges collected and number of badges remaining. [Read more](https://docs.drivequant.com/driver-achievement/android/get-started#get-badge-statistics).

**Fixed**

* Project: Better management of parallel synchronisation for trip list, vehicle list, challenge list and coaching message.

## \[ 1.40.1 ] - 2024/01/19

**Changed**

* Project: Update Kotlin version to 1.8.22, Android Gradle Plugin to 8.1.4 and Gradle to 8.3.
* Vehicle: DriveKit accepts new values for [engine index parameters](https://docs.drivequant.com/trip-analysis/rest-services/references#engine-type): Biofuel (6), Bi-fuel gasoline bioethanol (7), Dual-fuel gasoline NGV (8), Dual-fuel gasoline LPG (9), Not available (10) and Hydrogen (12).
* Challenge : Update challenge list by adding number of registered and number of ranked users for a given challenge. The rank of the user is also provided. See [Challenge](https://docs.drivequant.com/challenge/android/references-android#challenge).
* Challenge: Update challenge detail by adding number of registered users for a given challenge. The booleans isRegistered and conditionsFilled has also been added. See [ChallengeDetail](https://docs.drivequant.com/challenge/android/references-android#challengedetail).

{% hint style="warning" %}
DriveKit now requires JDK 17.
{% endhint %}

**Added**

* TripAnalysis: Add the `getTripResponseStatus()` method to ease the access to the status and data of a completed trip. See [Get the trip response status](https://docs.drivequant.com/release-notes/changelog/broken-reference).
* Vehicle: Documentation of the main methods included in the DriveKit internal component [vehicle](https://docs.drivequant.com/vehicle "mention")

## \[ 1.39.2 ] - 2024/06/12 <a href="#id-1.39.2-2024-06-12" id="id-1.39.2-2024-06-12"></a>

**Fixed**

* Core: Fix incorrect state value for AutoReset permission when `DKDeviceConfigurationListener.onDeviceConfigurationChanged(event: DKDeviceConfigurationEvent)` callback is triggered: the `isValid` returned value was inverted.

## \[ 1.39.1 ] - 2024/05/03

**Fixed**

* TripAnalysis: On rare occasions, an error in calculating the variance of the gyroscope can interrupt trip recording and collision detection.

## \[ 1.39.0 ] - 2023/12/06

**Changed**

* TripAnalysis: New log message to indicate when trip analysis is postponed because the smartphone has no internet connection.
* TripAnalysis: Some `TripListener` methods are now optional: `tripPoint`, `beaconDetected`, `potentialTripStart`, `crashDetected` and `crashFeedbackSent`. If you don't use these methods, there's no need to override them.

**Fixed**

* TripAnalysis: Improve Bluetooth device verification during a trip recording.

## \[ 1.38.0 ] - 2023/11/07

**Added**

* Core: Add new `DKDeviceConfigurationListener` to get informed when permissions and sensors status have changed. [Read more](https://docs.drivequant.com/get-started-drivekit/android#listen-for-permissions-and-sensors-status-changes).

{% hint style="warning" %}
`onDeviceConfigEvent()` method in `TripListener` is deprecated and will be removed in a future version. Please use [`DKDeviceConfigurationListener`](https://docs.drivequant.com/get-started-drivekit/android#listen-for-permissions-and-sensors-status-changes) instead.
{% endhint %}

**Fixed**

* TripAnalysis: Fixed a crash that could occur on Android 14 if the location sensor is deactivated before the start of a trip recording.
* TripAnalysis: In rare cases, IMU data vectors (pitch, roll and yaw) may have different sizes to GPS data vectors.

**Changed**

* TripAnalysis: `crashDetected()`callback can be called even if `enableCrashFeedback` is disabled
* Core: Improved logs with an information message if the Core, TripAnalysis or DriverData modules are initialized multiple times.
* Update Gradle configuration to avoid overriding the `sdkStateChanged` method in the `TripListener` interface.

## \[ 1.37.0 ] - 2023/10/19

**Fixed**

* TripAnalysis: Fix a crash that may occur if the location permission is revoked during a trip analysis.
* TripAnalysis: The callback `tripStarted` is now called when a trip StartMode is MANUAL.

**Changed**

* Vehicle: Add Plug-in hybrid gasoline engine index.
* DriveKitListeners or TripListeners are no longer stored as weak references. This change enables the registration of anonymous classes.

## \[ 1.36.1 ] - 2023/10/04

**Fixed**

* TripAnalysis: Fixed a minor bug that blocked the simulation of a trip with a collision.

## \[ 1.36.0 ] - 2023/09/14

**Added**

* Core: DriveKit detects critical changes that can disrupt trip recording (permissions status, sensors and user logout). This information is included in the diagnostic log file and shared with the DriveQuant platform.
* Vehicle: New service to replace a vehicle.

**Fixed**

* TripAnalysis: Check if background location is authorized on Android 14+ devices before starting a trip recording.

## \[ 1.35.2 ] - 2023/08/09

**Breaking changes**

* TripAnalysis: In the `DeviceConfigEvent` *sealed class*:
  * `BLUETOOTH_SENSOR_STATE_CHANGED` has been renamed to `BluetoothSensorStateChanged`
  * `GpsSensorStateChanged` has been added to monitor when GPS sensor has been turned on and off.

**Changed**

* DriveKit is now targeting Android 14 (*API level 34*). It is recommended to check [our migration guide](https://docs.drivequant.com/get-started-drivekit/android/android-14-migration-guide) and the Android [documentation](https://developer.android.com/about/versions/14/overview).
* TripAnalysis: Upgrade Play Services Location to *v21.0.1*

## \[ 1.34.0 ] - 2023/07/17

**Added**

* DriverData: The DriveData component includes detailed data describing the user's profile. The driver's profile is based on driving habits.

**Breaking changes**

* The DKDay enum has been moved from TripAnalysis to Core.

## \[ 1.33.0 ] - 2023/06/12

**Added**

* TripAnalysis: DriveKit can use the connection between the smartphone and an Android Auto system to initiate a trip recording.

**Changed**

* TripAnalysis: Several `TripListener` can now be added independently and after module initialization. This makes it easier to use multiple trip listeners in your project if you need more than one..

## \[ 1.32.0 ] - 2023/05/23

**Changed**

* TripAnalysis: Improve vehicle configuration.

## \[ 1.31.2 ] - 2023/05/17

**Fixed**

* TripAnalysis: Fixed `TripPoint` incorrect `distance` computation value in rare cases.

## \[ 1.31.1 ] - 2023/05/05

**Added**

* DriverData: The timeline data has been extended to include the variables needed to display driving conditions: distance category of trips, weather, day/night trips and week/weekend trips.

## \[ 1.30.0 ] - 2023/03/27

**Breaking changes**

* TripAnalysis: We have simplified the message that informs that a trip has been cancelled. For that, a new method `tripCancelled()` has been added in `TripListener` ([Read more](https://docs.drivequant.com/trip-analysis/android/get-started#initialization))

**Fixed**

* TripAnalysis: Fixed a rare issue of concurrent access on the gyrometer sensor recording for the crash detection feature.
* Core: Improve DriveKitLog content and management.

## \[ 1.29.4 ] - 2023/02/21

**Fixed**

* TripAnalysis: Smartphones with facial recognition are better handled for the computation of the distraction score.

## \[ 1.29.1 ] - 2023/02/06

**Added**

* TripAnalysis: Add `allowBeaconTripStart` parameter to disable beacon trip start ([Read more](https://docs.drivequant.com/trip-analysis/android/advanced-configuration#filter-the-beacon-trigger-to-start-trip-recording)).
* TripAnalysis: Improve temporary save trip mechanism when a beacon or a Bluetooth device is required.
* TripAnalysis: Logging of trip cancellation mode when the Bluetooth device is missing and improved detection of the Bluetooth device when a trip confirmation is in progress.

**Changed**

* Core: Secure storage of sensitive data using `EncryptedSharedPreferences`.
* Core: Display an explicit error message in logcat when DriveKit is not correctly initialized.
* DriverData: Trip synchronisation time was significantly reduced.

## \[ 1.28.0 ] - 2023/01/16

**Changed**

* Project: The minimum version supported by DriveKit is now Android 6.0 Marshmallow (API 23).
* DriverData: Add fuelSaving values into Timeline

## \[ 1.27.2 ] - 2022/12/09

**Added**

* TripAnalysis: Add a method to get the startMode of the current trip

## \[ 1.27.1 ] - 2022/11/24

**Changed**

* Project: Remove the `allowBackup` flag. Read [more](https://developer.android.com/guide/topics/manifest/application-element#allowbackup) on the official Android documentation

## \[ 1.27.0 ] - 2022/10/17

**Fixed**

* TripAnalysis: Check `ACTIVITY_RECOGNITION` runtime permission is granted by the user before initializing the auto start mode

**Changed**

* Project: Update Play Services to 20.0.0

**Added**

* TripAnalysis: New configuration to cancel or enable trip recording when the Bluetooth device paired with a vehicle is not connected to the smartphone.
* Core: Add a function to delete a user account
* Group: New module to manage driver’s groups

## \[ 1.26.0 ] - 2022/08/29

**Breaking changes**

* All DriveKit components support Android 13. It is recommended to check the [Android documentation](https://developer.android.com/about/versions/13).&#x20;

**Added**

* Permissions utils : Android 13 permission support. See the [Notification Runtime Permission](https://docs.drivequant.com/release-notes/changelog/broken-reference) section.
* TripSimulator: The trip simulator can emulate a bus trip to test the transportation mode detection service.

**Changed**

* DriveKit is now targeting Android 13 (API level 33)
* TripAnalysis: Added a listener the change of the state of the Bluetooth sensor (enabled/disabled)

## \[ 1.25.1 ] - 2022/07/27

**Fixed**

* TripAnalysis: Fixed a rare glitch when recording gyroscope measurements on some Android smartphones

## \[ 1.25.0 ] - 2022/07/20

**Changed**

* Vehicle: We have improved error messages and synchronisation in the case of deleted vehicles.

## \[ 1.24.0 ] - 2022/07/01

**Changed**

* BeaconUtils: The module can now be configured to support multiple beacon types.
* TripAnalysis: The beacon's battery level is measured at each trip.

## \[ 1.23.0 ] - 2022/06/14

**Fixed**

* Core: Improve DriveKit initialization: the `access` service is not called until the userId is not configured.

**Changed**

* DriverData: Added speeding duration, speeding distance and ecodriving sub-scores into the timeline data.
* DriverData: Added energy and energy consumption for electric vehicles.

## \[ 1.22.2 ] - 2022/05/18

**Changed**

* TripSimulator: Update of PresetTrip distance and duration information.

## \[ 1.22.1 ] - 2022/05/17

**Changed**

* TripAnalysis: Handle a crash that may happen when the device has rebooted and if DriveKit  is not initialized.

## \[ 1.22.0 ] - 2022/05/11

**Added**

* TripAnalysis: Add method tripFinished() in TripListener which is called when a trip has been recorded by the SDK and sent to DriveQuant server for analysis. More details [here](https://docs.drivequant.com/trip-analysis/android/get-started#initialization).
* DatabaseUtils: Add a method on `TransportationMode` to indicate whether or not it is an alternative travel mode.

**Fixed**

* TripAnalysis: Fix a ConcurrentModificationException that may happen during gyroscope computation value.

## \[ 1.21.0 ] - 2022/04/20

**Changed**

* TripAnalysis: Improved reverse geocoding of departure and arrival addresses.

**Fixed**

* TripAnalysis: In Crash Detection, handle `NaN` values in gyroscope variance computation.
* Vehicle: Update vehicle in local database when `changeBeaconToVehicle(…)` is called.

## \[ 1.20.0 ] - 2022/04/11

**Changed**

* TripAnalysis: The "working hours" feature brings more flexibility and lets you choose to label as business or personal a trip performed during an unchecked day.
* TripAnalysis: Improve phone distraction detection.
* Trip analysis: The collection of GPS data around the collision detection event has been improved.

## \[ 1.19.2 ] - 2022/04/07

**Fixed**

* All DriveKit components: Fix an issue when saving an existing trip in local database.

## \[ 1.19.1 ] - 2022/03/31

**Fixed**

* Core: Fix a crash that can occur when retrieving DriveKitLog zip files at the end of the month.

## \[ 1.19.0 ] - 2022/03/23

**Added**

* TripAnalysis: All DriveKit users can now get a built-in crash detection feature integrated in the Trip Analysis component. This function analyzes the motion sensors during the trip recording to detect a collision.
* TripSimulator: Add a new trip with a crash to simulate an accident.

**Changed**

* DatabaseUtils: Update Room library version to v2.4.1.
* All DriveKit components: To better understand the SDK lifecycle and to help you check your integration we have enriched and improved the activity logs.

## \[ 1.18.0 ] - 2022/01/24

**Added**

* TripAnalysis: add a working hours management feature to control the time period in which automatic trip recording is enabled.

## \[ 1.17.0 ] - 2022/01/10

**Added**

* DriverAchievement: New phone call badge to encourage drivers to reduce distracted driving.

## \[ 1.16.0 ] - 2021/12/06

**Added**

* DriverAchievement: Add calls in streaks.

## \[ 1.15.1 ] - 2021/11/23

**Changed**

* Core: Activate logs by default.

## \[ 1.14.1 ] - 2021/10/29

**Fixed**

* Trip Analysis: Manage cases when Nearby Devices permissions is not authorized yet.

## \[ 1.14.0 ] - 2021/10/14

**Added**

* Core : Sensors availability are now returned in authentication service.
* Driver Data : Add functions to manage manual trips.

## \[ 1.13.2 ] - 2021/10/05

**Breaking changes**

* All DriveKit components now support Android 12. It is recommended to check the [Android documentation](https://developer.android.com/about/versions/12).

{% hint style="danger" %}
External libraries in DriveKit now require Java 8. If you run into any issues, please check the [Android documentation.](https://developer.android.com/studio/write/java8-support)
{% endhint %}

## \[ 1.13.1 ] - 2021/09/22

**Fixed**

* Core : Handle nullable address locality in reverse geocoder

## \[ 1.13.0 ] - 2021/09/08

**Changed**

* DriverData: Better management of reverse geocoding

## \[ 1.12.2 ] - 2021/07/22

**Added**

* New driveKit Component to implement a driving challenge in your app.

**Changed**

* The minimum version supported by DriveKit is now Android 5.0 Lollipop (API 21).

## \[ 1.11.3 ] - 2021/05/24

**Fixed**&#x20;

* Trip Analysis : improved initialization of localTripId when the application has been killed by a manufacturer battery optimization.

## \[ 1.11.2 ] - 2021/05/07

**Fixed**&#x20;

* Trip Analysis: Manage phone calls during StartingState

## \[ 1.11.0 ] - 2021/04/05

**Added**&#x20;

* Driver Data: Synchronize speeding data in local database

**Changed**

* Trip Analysis: Optimized local database synchronization for new trip

## \[ 1.10.0 ] - 2021/03/03

**Added**&#x20;

* Driver Data: phone distraction indicators update (new scoring and call events)

**Changed**

* Driver Data: Improved deleted trip synchronisation if the user is connected to multiple smartphones.
* General : AndroidX libraries update.

## \[ 1.9.0 ] - 2021/01/20

**Added**

* Trip Analysis: Retrieving new data for the identification of distracted driving.
* Driver Data : Add function to declare transportation mode.
* Driver Data : Synchronize maneuver and evaluation with trips.

## \[ 1.8.0 ] - 2020/11/26

**Fixed**

* DriverData : Remove DriveQuant Google API Key in AndroidManifest.xml

**Added**

* Driver Data: The driver synthesis data and timeline of scores can be synchronised and used from the Driver Data component.
* Trip Analysis: It is now possible to add specific data within a trip's post

## \[ 1.7.0 ] - 2020/10/28

**Added**&#x20;

* Trip Simulator: We have introduced a new component able to simulate trips in order to help your mobile app testings

## \[ 1.6.2 ] - 2020/10/22

**Added**&#x20;

* Driver Achievement: A new ranking score (speed limit) can be displayed on the driver leaderboard.
* Trip Simulator: We have introduced a new component able to simulate trips in order to help your mobile app testings
* Trip Analysis: Handle an error that may occur when a trip is manually stopped

**Changed**

* Driver Data: By default, the trip list shows only the trips made in vehicles. A configuration parameter enables the display of the trips detected in alternative transportation modes

**Fixed**

* Trip Analysis: Handle an error that may occur when a trip is manually stopped

## \[ 1.6.1 ] - 2020/09/22

**Changed**

* All DriveKit components are now compatible with Android 11

**Fixed**

* Trip Analysis: In some cases vehicle is not correctly configured

## \[ 1.6.0 ] - 2020/08/26

**Added**

* DriverAchievement: New feature Rankings
* TripAnalysis: Enhancement of automatic trip recording by geozone detection

## \[ 1.5.1 ] - 2020/07/07

**Added**&#x20;

* TripAnalysis: New public method to check and manually repost trips
* TripAnalysis: Improved detection of bicycle mobility

## \[ 1.5.0 ] - 2020/06/24

**Added**

* DriverAchievement: New feature for collection of driving badges.
* Vehicle: New feature to set-up a truck

**Changed**

* TripAnalysis: Improve Bluetooth device detection check during the trip
* Vehicle: Add new car brands

**Fixed**

* Core: Update the refresh token mechanism
* DatabaseUtils: Manage trips without phone distraction indicators

## \[ 1.4.2 ] - 2020/05/20

**Fixed**

* Vehicle component: Vehicles synchronization now manages odometers' deleted references&#x20;
* TripAnalysis component: vehiclesConfigTakeOver parameter is correctly saved in SharedPreferences and reset when necessary

**Changed**

* Core: Improve logging system

## \[ 1.4.0 ] - 2020/04/20

**Added**

* New Vehicle component: Manage vehicle synchronization with local database, detection mode configuration of vehicle, and functions to pair a beacon or a  bluetooth device to the vehicle
* Core: Add log configuration to remove log from console

## \[ 1.3.1 ] - 2020/03/27

**Changed**

* Trip Analysis: Update share position service with canceled events

## \[ 1.3.0 ] - 2020/03/06

**Added**

* New Driver Achievement SDK with streak features

## \[ 1.2.3 ] - 2020/03/02

**Added**

* Trip Analysis: Add optional sdkStateChanged method on TripListener

**Fixed**

* Trip Analysis: Fix ItineraryStatistics parsing for day and weekDay fields

## \[ 1.2.0 ] - 2020/01/17

**Added**

* Trip Analysis: The autostart feature supports Bluetooth vehicle detection. More detail [here](https://docs.drivequant.com/trip-analysis/android/bluetooth-usage).

## \[ 1.1.6 ] - 2019/12/17

#### Added

* Trip Analysis: Notification channel name and id of trip recording foreground notification are now configurable for device running Android 8 or higher
* Trip Analysis: Add beacon detection for pre-Lollipop devices

## \[ 1.1.4 ] - 2019/11/26

#### Fixed

* Core: Logging system compatibilty with Android 10
* Trip Analysis: Fix IllegalStateException when some error messages are null

## \[ 1.1.3 ] - 2019/11/12

#### Fixed

* Trip Analysis: Beacon verification can failed when only UUID and major is configure
* Core: Authentication failed with some userId

## \[ 1.1.1 ] - 2019/10/31

#### Added

* Driver Data UI: Add setting to [customize the primary font](https://docs.drivequant.com/driver-data/user-interface/android#primary-font): `primaryFont`
* Driver Data UI: Add setting to [display/hide the delete trip button](https://docs.drivequant.com/driver-data/user-interface/android#hiding-the-delete-trip-button): `enableDeleteTrip`
* Added a screen for displaying driving tips.

## \[ 1.1.0 ] - 2019/10/25

#### Added

* Add Driver Data SDK for Driver's trips synchronisation.
* Add Driver Data UI for trip display.

## \[ 1.0.1 ] - 2019/10/10

#### Fixed

* Calling startTrip method may generate an exception
* Trip Analysis SDK throws an exception when launched on Android virtual devices

#### Added

* Support of Android 10

## \[ 1.0.0 ] - 2019/09/16

#### Changed

* Release version of the Trip Analysis SDK.

#### Added

* New interface to retrieve the detected beacon event before the start of the trip.&#x20;
* Add method to get the SDK recorder state.

## \[ 1.0.0 - beta 1 ] - 2019/09/09

#### Added

* Trip Analysis SDK is now available in beta version
