Version 3.0 of the DriveKit SDK contains breaking changes: all methods that were marked as deprecated during the past year have been permanently removed.
This guide lists every removed element alongside its recommended replacement, organized by module.
Following these steps will keep your integration stable and future-proof.
This version also features a newly available callback to retrieve the beacon detected and confirmed during trip recording which will not be presented in this migration guide.
How to use this guide
Each section maps to an SDK module. For every removed element, you'll find:
The exact method, class, or property that was removed
The recommended drop-in replacement to use instead
Module-level reset() methods
The reset() method has been removed from every individual module. Use DriveKit.reset() as your single reset point across all modules.
Removed in v3.0
What to do instead
DriveKitDriverData.reset()
Call DriveKit.shared.reset()
DriveKitChallenge.reset()
Call DriveKit.shared.reset()
DriveKitCoaching.reset()
Call DriveKit.shared.reset()
DriveKitDriverAchievement.reset()
Call DriveKit.shared.reset()
DriveKitGroup.reset()
Call DriveKit.shared.reset()
DriveKitTripAnalysis.reset()
Call DriveKit.shared.reset()
DriveKitVehicle.reset()
Call DriveKit.shared.reset()
DriveKitTripAnalysis
Several one-off methods have been merged into a single, structured call: getCurrentTripInfo(). This reduces the number of calls you need to make and gives you all the context about the current trip in one place.
A property has been converted to a method to support electric vehicle context.
Removed in v3.0
What to do instead
Class
DKVehicleCategory.liteConfigDqIndex: String?
getLiteConfigDqIndex(isElectricCar:)
DKVehicleCategory
Data Access Layer (DB)
DriveKitDBAchievementAccess
Removed in v3.0
What to do instead
Module
.legacy
No longer used - remove any reference to it
DKRankingPeriod
DriveKitDBTripAccess
The trip data classes have been renamed to follow the DK naming convention used across the SDK. This brings consistency and avoids naming collisions in your project.