Release Notes
Version 2.6.2 - 24/09/2026
Discover the improvements and new features included in the following version.
Share your thoughts on this release by using the feedback button located at the bottom of the page.
For more in-depth documentation, check the API ReferenceNavigation
Fixes
- Fix the map-matched position sometimes leaving a roundabout at an earlier exit while the vehicle was still driving on the roundabout. The position now follows the vehicle around the roundabout until it actually exits.
- Fix road numbers, such as “N279”, being spoken as a garbled word in Dutch (
nl-NL) guidance announcements played throughcom.tomtom.sdk.tts.android.AndroidTextToSpeechEngine. If you disabled instruction phonetics to work around this, you can now enable them again.
Personalization
Fixes
- Fix a crash when saving a place as a personal location, such as a favorite or a recent destination, if the place has a routing entry point with a specific purpose, such as parking or pedestrian access.
- Fix a crash when loading a stored personal location that has an entry point of a type the SDK does not recognize. The SDK now skips that entry point instead.
Version 2.6.1 - 21/09/2026
General
Fixes
- Stop canceling network requests that are already in progress when the device regains connectivity, for example after waking from deep sleep. Previously, these requests could fail, so online search could stop returning results, and map data such as speed limits could remain missing after the connection was restored.
Map Visualization
Fixes
- Stop map icons, such as search-result markers, from briefly blinking when the map style changes. Icons now keep their current appearance until the new style’s icons are fully loaded.
Navigation
Fixes
- Fix a crash that could occur when arriving at a charging stop on an electric-vehicle route, after the route was updated and the current leg had zero predicted energy consumption.
- Fix the vehicle position jumping off the road while driving through long tunnels. Map matching now uses the vehicle’s speed to estimate the distance traveled.
Version 2.6.0 - 21/09/2026
General
Updates
NdsStoreFailureListener,NdsStoreRecoverableFailure,NewMapFile,NdsStore.replaceMap(),NdsStore.replaceKeystore(),NdsStoreFunctions.NdsStore(Context, File, String, NdsStoreFailureListener?, ...), andMapUpdateError.FileValidationErrorare now available in General Availability.com.tomtom.sdk.init.TomTomSdk.getOfflineRegionStore()is now available in General Availability.com.tomtom.sdk.init.TomTomSdk.failuresis now available in General Availability.com.tomtom.sdk.init.TomTomSdkFailureis now available in General Availability.com.tomtom.sdk.init.TomTomSdkFailure.CannotReadMapis now available in General Availability.com.tomtom.sdk.init.TomTomSdkFailure.CannotReadKeyStoreis now available in General Availability.
Fixes
-
Stop canceling network requests that are already in progress when the device regains connectivity after being idle. Previously, such requests could fail unexpectedly during this transition.
🤖 Generated with Claude Code
-
Fix online requests stalling for several minutes after the device wakes from deep sleep. Online routing, search, vehicle metadata, and other online features now resume immediately once network connectivity returns.
-
Hybrid search and hybrid route planning no longer hang for 10 to 20 seconds when the device cannot resolve a host name, for example on a network that accepts the connection but has an unresponsive DNS resolver. They now stop waiting on name resolution after 5 seconds and return the onboard result instead. Other online requests still wait for the system resolver, so a name that resolves slowly continues to succeed rather than failing early.
Deprecations
NdsStore.Companion.create(Context, NdsStoreConfiguration)andNdsStoreFunctions.NdsStore(Context, File, String, String=, ...)are deprecated. UseNdsStoreFunctions.NdsStore(Context, File, String, NdsStoreFailureListener?, ...)instead, providing aNdsStoreFailureListenerto handle map corruption events.
Common
Breaking changes
- Deprecate
com.tomtom.sdk.vehicle.VehicleProviderandcom.tomtom.sdk.vehicle.VehicleProviderFactory.
Updates
-
Expand the availability of:
com.tomtom.sdk.asset.RoadShieldIconProvidercom.tomtom.sdk.asset.RoadShieldIconProviderFailurecom.tomtom.sdk.asset.StyleModecom.tomtom.sdk.asset.Bitmapcom.tomtom.sdk.asset.BitmapConfigcom.tomtom.sdk.asset.ColorSpacecom.tomtom.sdk.asset.RgbColorSpace
from the Extended to the Complete flavor.
-
Restore
com.tomtom.sdk.vehicle.VehicleProviderandcom.tomtom.sdk.vehicle.VehicleProviderFactoryto their previous non-deprecated state.
Fixes
- API annotation opt-in removed for deleted planning time API.
Removals
- Remove the Beta opt-in for dynamic continuous-replanning:
com.tomtom.sdk.featuretoggle.DynamicRouteUpdateIntervalFeatureandcom.tomtom.sdk.featuretoggle.BetaDynamicRouteUpdateIntervalApi. The behavior these gated is now always enabled. Remove anycom.tomtom.sdk.featuretoggle.FeatureToggleController.enable(DynamicRouteUpdateIntervalFeature)calls and@OptIn(BetaDynamicRouteUpdateIntervalApi::class)annotations from your code.
Data Management
Updates
-
The following APIs for onboard manual map management are now Generally Available:
com.tomtom.sdk.datamanagement.nds.NdsStore.obtainRegionUpdater()com.tomtom.sdk.datamanagement.nds.region.RegionUpdatercom.tomtom.sdk.datamanagement.nds.region.RegionInfoUpdateListenercom.tomtom.sdk.datamanagement.nds.region.Region(andcom.tomtom.sdk.datamanagement.nds.region.Region.Id)com.tomtom.sdk.datamanagement.nds.region.RegionStatecom.tomtom.sdk.datamanagement.nds.region.RegionStateInfocom.tomtom.sdk.datamanagement.nds.region.RegionStructurecom.tomtom.sdk.datamanagement.nds.region.RegionInstallStatecom.tomtom.sdk.datamanagement.nds.region.RegionUpdateStatecom.tomtom.sdk.datamanagement.nds.region.RegionDataInfocom.tomtom.sdk.datamanagement.nds.region.RegionOperation(andcom.tomtom.sdk.datamanagement.nds.region.RegionOperation.Type,com.tomtom.sdk.datamanagement.nds.region.RegionOperation.Source)com.tomtom.sdk.datamanagement.nds.region.RegionOperationStatus(andcom.tomtom.sdk.datamanagement.nds.region.RegionOperationStatus.Progress,com.tomtom.sdk.datamanagement.nds.region.RegionOperationStatus.Completed)com.tomtom.sdk.datamanagement.nds.region.RegionQueryCallbackcom.tomtom.sdk.datamanagement.nds.region.RegionSizeQueryCallbackcom.tomtom.sdk.datamanagement.nds.region.DownloadedRegionDataAction
Use
NdsStore.obtainRegionUpdater()to obtain aRegionUpdaterand the newRegionInfoUpdateListenerto observe region structure, state and operation status changes.
Fixes
- Map corruption events are now properly notified to error listeners even when keystore recovery is in progress. Previously, errors detected during recovery were silently ignored, potentially leaving the application without proper feedback about map state issues.
- The API key is censored when converting
NdsStoreUpdateConfigurationto aString. - Fix SDK initialization failing on some devices when using an online-only configuration, caused by unnecessary checks against unused update storage.
- Offline map features now start correctly and map updates now install correctly even when an internal map update database was corrupted, for example by a power loss during a previous session. Corrupted files are now replaced automatically. Previously, initialization failed on every application start, or every map update installation failed, until application data was cleared.
Map Visualization
Updates
- Rename
initinbuildRangeDataWithPolygon. - Reduce CPU usage while navigating with an active route.
- Reduce peak memory use while the map is rendering.
- The bundled sky and reflection map textures are no longer stored with lossy compression, so they render slightly sharper. GPU memory use is unchanged, while the on-disk size of the map display package grows slightly.
Fixes
- Keep icons drawn using the old sprite sheet during a style switch until a new sprite sheet is completely loaded. This prevents icon blinking.
- Stop the camera from losing its lock on the chevron when changing camera mode during a Lane Level Navigation session.
- Fix the charging time shown on an EV charging-stop map marker differing from the charging time shown for the same stop in the route panel.
- Fix a waypoint marker from a previous route staying on the map after you cancel that route and plan a new one.
- Improve polygon range smoothness when changing zoom levels.
- Fix balloon appearing when a marker with empty balloon text is selected.
- Fix instruction arrows being drawn on an alternative route instead of on the route you are navigating, when alternative routes were shown during navigation.
- Fix a crash that could occur when the application closed the map view and released the map.
- The map no longer shows a black screen when the map view becomes available before the rendering thread has started.
- Fix a rare crash when switching map styles while tiles were still loading.
- Fix a rare crash on some Android devices during long map rendering sessions.
- Fix the map staying permanently blank when you reopen a map view that was never cleanly shut down, for example after the application spent a long time in the background.
- Fix a freeze that could occur when the device screen turned off while an offline map update was in progress.
- Stop the map reloading all its tiles when switching between driving and browsing while lane-level navigation is supported. Previously, this caused a visible flash instead of a smooth transition.
CameraSteadyListenerno longer permanently stops receiving events after intense gestures.- Setting
com.tomtom.sdk.map.display.camera.CameraTrackingMode.Nonenow stops a camera transition that the previous tracking mode had started. Previously that transition kept running and moved the camera to its end position, overriding a camera animation requested straight after. SettingCameraTrackingMode.Nonenow also stops a camera animation that your application started and that is still running. A pendingAnimateCameraCallbacknow receivesonCancelled()instead ofonComplete()in that case, and on the Compose map a suspendedanimateCameracall is cancelled along with the coroutine that called it. - Fix early map readiness in applications that show several map views in one process. Readiness for these views now arrives once their style has loaded, so it can arrive later than before.
- Fix a rare crash that could stop the app during long drives with frequent route recalculations.
- Fix a rare crash while the map was drawing features whose styling data had just been removed. Such features now keep their default appearance until the map redraws them.
- Fix a startup crash on some Android hardware when the app was built with Unity development profiling enabled.
- The map no longer keeps the previous frame on screen while the camera animates, and buildings and landmarks no longer flicker, on devices with Arm Mali graphics processors. The map also keeps rendering when the host application switches its renderer while the map is on screen.
Deprecations
- Deprecate
com.tomtom.sdk.map.display.visualization.routing.traffic.TrafficVisualization.getTrafficIncidents(Route):List<TrafficIncident>?. - Deprecate reachable distance feature in compose.
- Deprecate
com.tomtom.sdk.map.display.visualization.routing.compose.state.RoutingVisualizationState.reachableDistanceVisible. - Deprecate
com.tomtom.sdk.map.display.visualization.navigation.compose.state.NavigationVisualizationState.reachableDistanceVisible.
Navigation
Breaking changes
-
Remove the
apiKeyparameter from the new offline navigationcom.tomtom.sdk.navigation.offline.Configurationconstructors. The parameter was unused on the offline code path. Affected constructors:com.tomtom.sdk.navigation.offline.Configuration(Context, String, LocationProvider, NdsStore)com.tomtom.sdk.navigation.offline.Configuration(Context, String, LocationProvider, NdsStore, BetterProposalAcceptanceMode, DeviationReplanningMode, RouteUpdateMode, Duration, Distance, AnnouncementMode, Distance, Duration, SafetyLocationsConfiguration?, HazardsConfiguration?)
To migrate, drop the
apiKeyargument from these constructor calls; no replacement is required. -
Introduce new constructor for RouteReplanningEngineOptions that doesn’t take
validRemainingRouteDurationas a parameter:com.tomtom.sdk.navigation.replanning.RouteReplanningEngineOptions(RouteUpdateMode=,Duration=). -
Deprecate
com.tomtom.sdk.navigation.TomTomNavigation.vehicleProvider:VehicleProvider.
Updates
- Dynamic continuous-replanning is now available in General Availability. Continuous replanning now reacts to traffic delay increases, blocked routes, vehicle-dimension changes, and EV consumption-curve changes between scheduled refreshes — delivering more Better Route Proposals when conditions change while reducing cloud calls. The default
com.tomtom.sdk.navigation.replanning.RouteReplanningEngineOptions.replanRouteIntervalis now5.minutes(previously3.minutes). - Add binding for UTC timestamp in mapmatching prediction.
- Restore
com.tomtom.sdk.navigation.offline.Configuration(Context, NdsStore, LocationProvider, RoutePlanner, VehicleProvider?, BetterProposalAcceptanceMode?, DeviationReplanningMode?)andcom.tomtom.sdk.navigation.offline.Configuration(Context, NdsStore, NdsMapUpdater?, LocationProvider, RoutePlanner?, VehicleProvider?, BetterProposalAcceptanceMode?, DeviationReplanningMode?, ReplanningRetryPolicy?, RouteReplanningEngine?, DataStoreMaintenanceEngine?, GuidanceEngine?, HorizonEngine?, MapMatchingEngine?, RouteTrackingEngine?, RouteProgressEngine?, ArrivalDetectionEngine?, SafetyLocationsConfiguration?, HazardsConfiguration?)to their previous non-deprecated state. No action is required. - Restore
com.tomtom.sdk.navigation.TomTomNavigation.vehicleProviderto its previous non-deprecated state. No action is required.
Fixes
- The SDK no longer crashes when a route leg has no 0 predicted energy consumption.
- Use speed to infer distance traveled.
- North America motorway instructions will be triggered at a correct timing when navigation just starts.
- Fix Simple Lane Guidance being shown on non-motorway roads in Japan when using a Zenrin map with onboard navigation.
- Fix stick-to-route behavior not being applied to routes with
RouteorUpdatereconstruction mode when supporting points are present. - Fix incorrect
[RestrictedApi]lint warnings for Complete-flavor users ofcom.tomtom.sdk.navigation.guidance.instruction.ExitRoundaboutGuidanceInstruction. - Safety locations such as speed cameras and safety zones now reappear after live services access becomes available again. Previously, they could stop being shown until navigation was restarted.
- EV route replanning no longer produces misaligned route leg options for routes with automatically added charging stops, preventing replanning requests from being rejected.
- All types of instruction can be combined after a continue interim instruction if the distance between them is less than 400 meters.
- Fix lane guidance suppression for non-motorway roads on Zenrin (Japan) maps not being applied when offline navigation was created with a custom
guidanceEnginepassed tocom.tomtom.sdk.navigation.offline.OfflineTomTomNavigationFactory.Configuration. - Give each turn-by-turn guidance instruction a unique identifier, so expanding the instruction list no longer crashes when a route stop is at the same location as the destination.
- The speed limit is no longer unavailable while driving through a roundabout that is mapped as a special traffic figure.
- Fix guidance stopping completely at a turn that has a non-drivable side road very close before it. Guidance now continues as normal, and the turn is announced at its usual distance.
- Restore delivery of safety locations and hazards after a temporary loss of network connectivity. Previously, Horizon could stop reporting them after such temporary connectivity loss.
- Now lane predecessors show correct number of lanes.
- Continuous replanning triggered by ETA or state-of-charge deviation no longer retries immediately after a failed replanning attempt. This prevents repeated failing replanning requests on the same trip.
- Route replanning no longer fails for electric vehicle routes that include a charging stop. Previously, replanning such a route while driving could stop recognizing the charging stop, so no new route was found for the rest of the trip.
- Lane guidance is no longer shown for non-motorway maneuvers on Zenrin Japan maps when the incoming road has no road information.
- Navigation no longer switches repeatedly between the onboard map and online map data while you drive without a route and without a working internet connection. Previously the data source could change back and forth even though no new map data could be downloaded.
- Safety locations and hazards are now more reliable on slow network connections. Previously, the SDK could time out while subscribing before a slow connection had responded.
- A switch between two Japanese expressways is now announced as a fork, for example “keep left”, instead of as an exit. Previously the announcement told drivers to take an exit, which does not match how these junctions work in Japan.
- Roundabout voice instructions with lane guidance now announce the distance first, consistent with all other instructions.
Deprecations
-
Deprecate
com.tomtom.sdk.navigation.offline.Configuration(Context, NdsStore, LocationProvider, RoutePlanner, VehicleProvider, BetterProposalAcceptanceMode, DeviationReplanningMode)andcom.tomtom.sdk.navigation.offline.Configuration(Context, NdsStore, NdsMapUpdater?, LocationProvider, RoutePlanner?, VehicleProvider, BetterProposalAcceptanceMode, DeviationReplanningMode, ReplanningRetryPolicy, RouteReplanningEngine?, DataStoreMaintenanceEngine?, GuidanceEngine?, HorizonEngine?, MapMatchingEngine?, RouteTrackingEngine?, RouteProgressEngine?, ArrivalDetectionEngine?, SafetyLocationsConfiguration?, HazardsConfiguration?).To migrate, use one of the new GA constructors:
- For basic setup:
com.tomtom.sdk.navigation.offline.Configuration(Context, LocationProvider, NdsStore). - For advanced setup:
com.tomtom.sdk.navigation.offline.Configuration(Context, LocationProvider, NdsStore, BetterProposalAcceptanceMode, DeviationReplanningMode, RouteUpdateMode, Duration, Distance, AnnouncementMode, Distance, Duration, SafetyLocationsConfiguration?, HazardsConfiguration?).
If you previously injected custom engines (such as
routeReplanningEngine,guidanceEngine,horizonEngine,mapMatchingEngine, ordataStoreMaintenanceEngine) through the full-advanced constructor, construct navigation with the new constructor and then apply the engines throughcom.tomtom.sdk.navigation.TomTomNavigation.navigationEngineRegistry.updateEngines(...)after construction. - For basic setup:
-
Deprecate the old constructor for RouteReplanningEngineOptions that takes
validRemainingRouteDurationas a parameter:com.tomtom.sdk.navigation.replanning.RouteReplanningEngineOptions(RouteUpdateMode=,Duration=,Duration=).
Personalization
Fixes
- The SDK no longer crashes on start after an upgrade when personal data sync tasks are still stored on the device. Previously, a stored sync task could be read as a different task, which ended the process on every start until the user cleared app data.
Routing
New features
com.tomtom.sdk.routing.offline.OfflineRoutePlanner.Companion.create(NdsStore)is now available in General Availability.- Support polyline per leg for LDEVR.
Updates
com.tomtom.sdk.routing.options.Itinerary.planningTime, thecom.tomtom.sdk.routing.options.Itinerary(ItineraryPoint, ItineraryPoint, List<ItineraryPoint>, PlanningTime)constructor, andcom.tomtom.sdk.routing.options.calculation.PlanningTime.DepartNoware now available in General Availability. You can now set a departure or arrival time inside of theItineraryto plan a route for a specific time..- Orbis online routing now uses the TomTom Orbis Routing v3 API by default.
Fixes
- Fix
com.tomtom.sdk.routing.route.section.SectionLocation.startPointIndexandcom.tomtom.sdk.routing.route.section.SectionLocation.endPointIndexso they correctly index intocom.tomtom.sdk.routing.route.Route.geometryandcom.tomtom.sdk.routing.route.Route.routePoints. Previously, on a route containing one or more waypoints, these indexes referenced point positions that still included the duplicated waypoint boundary points. As a result, slicing the route geometry by a section’s indexes, for exampleRoute.geometry.subList(startPointIndex, endPointIndex + 1), could throwIndexOutOfBoundsException, or return geometry shifted by the number of waypoints. - Remove
@RestrictToExtendedFlavor(ExternalScope.LIBRARY_GROUP)fromcom.tomtom.sdk.routing.route.section.traffic.Cause. - Fix charging stop opening hours range issues. Residual milliseconds could cause inconsistent EV route planning results if comparing their opening hours ranges by equality.
- Reject combining waypoint optimization with supporting points.
com.tomtom.sdk.routing.options.RoutePlanningOptionsnow throws anIllegalArgumentExceptionwhenwaypointOptimization(other thanWaypointOptimization.None) is set together withcom.tomtom.sdk.routing.options.RouteLegOptions.supportingPoints, because these features cannot be used together. RoutingFailure.computationSourceis now correctly set when the offline route planner is used. Previously it was alwaysnullfor failures from the offline routing path.- Orbis routing requests no longer send unsupported vehicle dimensions (axle weight, length, width, height, number of axles), which could cause the request to be rejected.
- The SDK no longer sends invalid avoid areas to the online Routing API.
- Routing requests on Orbis maps no longer fail when waypoint optimization is set; the unsupported computeBestOrder parameter is no longer sent to Orbis.
- Online full replan will succeed when the route was initially planned by first increment mode.
- Report a cancelled onboard back-to-route request as a cancellation. Previously, cancelling a back-to-route calculation could be reported as a deserialization failure.
com.tomtom.sdk.routing.options.RoutePlanningOptionsnow requires a consumption model when an electric charge level or a combustion fuel level is set, and throws anIllegalArgumentExceptionotherwise. Previously such options could be created but led to a failed route request.- Stop navigation from crashing when it starts on a route that was planned with a
com.tomtom.sdk.routing.options.RouteLegOptionswithout supporting points, for example when the first leg drives up to the start of an imported track.
Deprecations
-
Deprecate
com.tomtom.sdk.routing.offline.OfflineRoutePlanner.Companion.create(NdsStore, Traffic?).Use
com.tomtom.sdk.routing.offline.OfflineRoutePlanner.Companion.create(NdsStore)instead — traffic is now sourced automatically fromNdsStore. To migrate:- Replace
OfflineRoutePlanner.create(ndsStore, traffic)withOfflineRoutePlanner.create(ndsStore).
- Replace
Search
Fixes
- Fix
com.tomtom.sdk.search.hybrid.HybridSearchandcom.tomtom.sdk.search.reversegeocoder.hybrid.HybridReverseGeocoderto fall back to offline results when the online API returns an authorization failure (SearchFailure.ApiKeyFailureor HTTP 401). Previously, these failures caused hybrid mode to fail entirely instead of falling back to offline.SearchFailure.HttpFailurewith HTTP 403 (insufficient permissions) is returned directly without attempting an offline fallback. - Fix offline search and reverse geocoding not working after keystore auto-recovery. Previously, after the SDK automatically recovered a missing or corrupted keystore, full-text search would fail until the app was restarted.
- Fix crash when an eMobility Service Provider or charge point operator brand name contains non-ASCII characters (for example, Japanese text) during an EV search.
- Fix
nearbyPoiCategoriesalways being empty incom.tomtom.sdk.search.model.result.EvPoiDetailsresults from offline search. - Fix EV charging station search, parking price, parking availability, fuel price, and offline search returning no results or missing data when the system locale is set to Arabic.
- EV along-route search now respects the nearby POI category filter (for example restaurant or hotel). Previously the filter was ignored and unfiltered charging stations were returned.
Removals
- Remove
com.tomtom.sdk.location.AlphaPlacesSearchApi. Remove any@OptIn(AlphaPlacesSearchApi::class)usages from your code.
Vehicle
Fixes
- You can now set electric-vehicle speed-consumption curve values up to 3000 Wh/km for speeds of 100 km/h and above. Previously all values were capped at 750 Wh/km, which caused route planning to fail for high-consumption vehicles such as those towing heavy trailers. Values below 100 km/h are still capped at 750 Wh/km.
- Include the auxiliary power override in the vehicle consumption data sent to FCD.
- Validate
maxSpeedproperty inVehicleto ensure it falls within the allowed range.
Virtual Horizon
Fixes
- Report a speed limit inside roundabouts that previously had none, derived from the lower of the entry and exit limits (capped at 40 km/h urban / 60 km/h non-urban).
- Fix application-not-responding (ANR) errors that could occur in the background while cached online hazards data was being cleaned up.
- Discard the broken geometry and elements if they are behind the vehicle.
- Fix ApplicationNotResponding (ANR) issue when closing
CustomPoiDataProviderwhile it is still fetching POIs from the offline map.