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 Reference
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 through com.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.
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?, ...), and MapUpdateError.FileValidationError are now available in General Availability.
  • com.tomtom.sdk.init.TomTomSdk.getOfflineRegionStore() is now available in General Availability.
  • com.tomtom.sdk.init.TomTomSdk.failures is now available in General Availability.
  • com.tomtom.sdk.init.TomTomSdkFailure is now available in General Availability.
  • com.tomtom.sdk.init.TomTomSdkFailure.CannotReadMap is now available in General Availability.
  • com.tomtom.sdk.init.TomTomSdkFailure.CannotReadKeyStore is 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) and NdsStoreFunctions.NdsStore(Context, File, String, String=, ...) are deprecated. Use NdsStoreFunctions.NdsStore(Context, File, String, NdsStoreFailureListener?, ...) instead, providing a NdsStoreFailureListener to handle map corruption events.

Common

Breaking changes
  • Deprecate com.tomtom.sdk.vehicle.VehicleProvider and com.tomtom.sdk.vehicle.VehicleProviderFactory.
Updates
  • Expand the availability of:

    • com.tomtom.sdk.asset.RoadShieldIconProvider
    • com.tomtom.sdk.asset.RoadShieldIconProviderFailure
    • com.tomtom.sdk.asset.StyleMode
    • com.tomtom.sdk.asset.Bitmap
    • com.tomtom.sdk.asset.BitmapConfig
    • com.tomtom.sdk.asset.ColorSpace
    • com.tomtom.sdk.asset.RgbColorSpace

    from the Extended to the Complete flavor.

  • Restore com.tomtom.sdk.vehicle.VehicleProvider and com.tomtom.sdk.vehicle.VehicleProviderFactory to 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.DynamicRouteUpdateIntervalFeature and com.tomtom.sdk.featuretoggle.BetaDynamicRouteUpdateIntervalApi. The behavior these gated is now always enabled. Remove any com.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.RegionUpdater
    • com.tomtom.sdk.datamanagement.nds.region.RegionInfoUpdateListener
    • com.tomtom.sdk.datamanagement.nds.region.Region (and com.tomtom.sdk.datamanagement.nds.region.Region.Id)
    • com.tomtom.sdk.datamanagement.nds.region.RegionState
    • com.tomtom.sdk.datamanagement.nds.region.RegionStateInfo
    • com.tomtom.sdk.datamanagement.nds.region.RegionStructure
    • com.tomtom.sdk.datamanagement.nds.region.RegionInstallState
    • com.tomtom.sdk.datamanagement.nds.region.RegionUpdateState
    • com.tomtom.sdk.datamanagement.nds.region.RegionDataInfo
    • com.tomtom.sdk.datamanagement.nds.region.RegionOperation (and com.tomtom.sdk.datamanagement.nds.region.RegionOperation.Type, com.tomtom.sdk.datamanagement.nds.region.RegionOperation.Source)
    • com.tomtom.sdk.datamanagement.nds.region.RegionOperationStatus (and com.tomtom.sdk.datamanagement.nds.region.RegionOperationStatus.Progress, com.tomtom.sdk.datamanagement.nds.region.RegionOperationStatus.Completed)
    • com.tomtom.sdk.datamanagement.nds.region.RegionQueryCallback
    • com.tomtom.sdk.datamanagement.nds.region.RegionSizeQueryCallback
    • com.tomtom.sdk.datamanagement.nds.region.DownloadedRegionDataAction

    Use NdsStore.obtainRegionUpdater() to obtain a RegionUpdater and the new RegionInfoUpdateListener to 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 NdsStoreUpdateConfiguration to a String.
  • 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 init in buildRangeDataWithPolygon.
  • 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.
  • CameraSteadyListener no longer permanently stops receiving events after intense gestures.
  • Setting com.tomtom.sdk.map.display.camera.CameraTrackingMode.None now 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. Setting CameraTrackingMode.None now also stops a camera animation that your application started and that is still running. A pending AnimateCameraCallback now receives onCancelled() instead of onComplete() in that case, and on the Compose map a suspended animateCamera call 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.
Breaking changes
  • Remove the apiKey parameter from the new offline navigation com.tomtom.sdk.navigation.offline.Configuration constructors. 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 apiKey argument from these constructor calls; no replacement is required.

  • Introduce new constructor for RouteReplanningEngineOptions that doesn’t take validRemainingRouteDuration as 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.replanRouteInterval is now 5.minutes (previously 3.minutes).
  • Add binding for UTC timestamp in mapmatching prediction.
  • Restore com.tomtom.sdk.navigation.offline.Configuration(Context, NdsStore, LocationProvider, RoutePlanner, VehicleProvider?, BetterProposalAcceptanceMode?, DeviationReplanningMode?) and com.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.vehicleProvider to 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 Route or Update reconstruction mode when supporting points are present.
  • Fix incorrect [RestrictedApi] lint warnings for Complete-flavor users of com.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 guidanceEngine passed to com.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) and com.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, or dataStoreMaintenanceEngine) through the full-advanced constructor, construct navigation with the new constructor and then apply the engines through com.tomtom.sdk.navigation.TomTomNavigation.navigationEngineRegistry.updateEngines(...) after construction.

  • Deprecate the old constructor for RouteReplanningEngineOptions that takes validRemainingRouteDuration as 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, the com.tomtom.sdk.routing.options.Itinerary(ItineraryPoint, ItineraryPoint, List<ItineraryPoint>, PlanningTime) constructor, and com.tomtom.sdk.routing.options.calculation.PlanningTime.DepartNow are now available in General Availability. You can now set a departure or arrival time inside of the Itinerary to 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.startPointIndex and com.tomtom.sdk.routing.route.section.SectionLocation.endPointIndex so they correctly index into com.tomtom.sdk.routing.route.Route.geometry and com.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 example Route.geometry.subList(startPointIndex, endPointIndex + 1), could throw IndexOutOfBoundsException, or return geometry shifted by the number of waypoints.
  • Remove @RestrictToExtendedFlavor(ExternalScope.LIBRARY_GROUP) from com.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.RoutePlanningOptions now throws an IllegalArgumentException when waypointOptimization (other than WaypointOptimization.None) is set together with com.tomtom.sdk.routing.options.RouteLegOptions.supportingPoints, because these features cannot be used together.
  • RoutingFailure.computationSource is now correctly set when the offline route planner is used. Previously it was always null for 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.RoutePlanningOptions now requires a consumption model when an electric charge level or a combustion fuel level is set, and throws an IllegalArgumentException otherwise. 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.RouteLegOptions without 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 from NdsStore. To migrate:

    • Replace OfflineRoutePlanner.create(ndsStore, traffic) with OfflineRoutePlanner.create(ndsStore).
Fixes
  • Fix com.tomtom.sdk.search.hybrid.HybridSearch and com.tomtom.sdk.search.reversegeocoder.hybrid.HybridReverseGeocoder to fall back to offline results when the online API returns an authorization failure (SearchFailure.ApiKeyFailure or HTTP 401). Previously, these failures caused hybrid mode to fail entirely instead of falling back to offline. SearchFailure.HttpFailure with 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 nearbyPoiCategories always being empty in com.tomtom.sdk.search.model.result.EvPoiDetails results 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 maxSpeed property in Vehicle to 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 CustomPoiDataProvider while it is still fetching POIs from the offline map.