Release Notes
Version 2.1.2 - 05/02/2026
Featuring significant updates and improving developer experience!
Highlights:
- Richer online mapping with TomTom Orbis map.
- Easier integration through initialization surface
TomTomSdk.initialize(…)that handles all of the configuration needed to begin working on your application. This now includes both Maps and Navigation SDK. - Jetpack Compose APIs available for Map Visualization.
- TomTom example app using Jetpack Compose for you to use and start building fast.
Breaking changes
- Modules restructured and packages renamed; dependencies and imports must be updated.
- Android compileSDK updated to API level 35.
Deprecations
- All Online APIs.
- All Hybrid APIs.
- Navigation and Search UI modules (
com.tomtom.sdk.navigation:ui, com.tomtom.sdk.search:ui).
Share your thoughts on this release by using the feedback button located at the bottom of the page.
General
Breaking changes
-
Add
Complete/Extendedproduct flavors.Use
missingDimensionStrategy("tomtom-sdk-version", <flavor_name>)in thedefaultConfigblock of your Android module to specify the default flavor used by NavSDK. Replace<flavor_name>with eitherCompleteorExtended, depending on your requirements. -
Change
com.tomtom.sdk.common.android.LocationMappertocom.tomtom.sdk.location.android.LocationMapper, which also requires updating the dependency declaration fromcom.tomtom.sdk.common:androidtocom.tomtom.sdk.location:provider-android. -
Reorganize common modules.
The following modules were relocated with no changes in functionality:
com.tomtom.sdk.common:android->com.tomtom.sdk.common:corecom.tomtom.sdk.common:metadata->com.tomtom.sdk.common:core
-
Reorganize TTS modules.
The following modules were relocated with no changes in functionality:
com.tomtom.sdk:tts-engine-api->com.tomtom.sdk:ttscom.tomtom.sdk:tts-engine-android->com.tomtom.sdk:tts -
Set the maximum major version to 2.
-
Update Android
compileSDKto API level 35.
New features
- Promote
BetaFuelConsumptionPerKilometerApito General Availability.
Updates
-
The following APIs are available in General Availability:
com.tomtom.sdk.location.Place.idcom.tomtom.sdk.location.Place.Idcom.tomtom.sdk.location.Place.detailscom.tomtom.sdk.location.Place.Details
-
The following Init Surface APIs are now available in General Availability:
com.tomtom.sdk.init.TomTomSdkcom.tomtom.sdk.common.configuration.SdkContextcom.tomtom.sdk.common.configuration.SdkConfigurationcom.tomtom.sdk.common.configuration.SdkConfiguration.buildSdkConfigurationcom.tomtom.sdk.common.configuration.CoreConfigurationcom.tomtom.sdk.common.configuration.CacheStorageConfigurationcom.tomtom.sdk.common.configuration.OfflineMapConfiguration
Fixes
- Fix an issue where application settings were not retained after restarting the app.
- Fix an issue where replacing a map with an invalid keystore would cause the application to crash.
Deprecations
- The UI modules
com.tomtom.sdk.navigation:uiandcom.tomtom.sdk.search:uiare deprecated in alignment with our product strategy. To ease migration, TomTom will publish an open-source application during Q4 with example code showing how to achieve the same use cases that were previously supported by these modules.
Common
Updates
-
The following APIs are promoted to General Availablity:
com.tomtom.sdk.common.Bundle.containsKey(String?)com.tomtom.sdk.common.Bundle.getChar(String,Char)com.tomtom.sdk.common.Bundle.getFloat(String,Float)com.tomtom.sdk.common.Bundle.isEmpty()com.tomtom.sdk.common.graphics.Bitmapclass and all memberscom.tomtom.sdk.common.graphics.ColorSpaceclass and all memberscom.tomtom.sdk.common.graphics.RgbColorSpaceclass and all memberscom.tomtom.sdk.common.metadata.MetadataProviderclass and all members
Fixes
- Allow non-Compose
MapViewto be used. - Remove networkstate and telemetry config provider from common-initialiser.
- Resolve a potential deadlock that could occur during
Loggerconfiguration. - Revert RSA key-pair support for security framework's
EncryptionManager. By reverting this change, the encryption framework now maintains consistent and predictable behavior across all supported platforms. - The system no longer crashes under "unexpected end of stream" okhttp errors.
Deprecations
TaskHandleris now deprecated. Usecoroutinesinstead.
Data Management
Breaking changes
-
Remove the
DEFAULT_GEOPOLITICAL_VIEWconstant fromNavigationTileStoreConfiguration. -
Reorganize data management modules.
The following modules were relocated with no changes in functionality:
com.tomtom.sdk.datamanagement:nds-store->com.tomtom.sdk.datamanagement:data-storecom.tomtom.sdk.datamanagement:nds-store-updater->com.tomtom.sdk.datamanagement:data-storecom.tomtom.sdk.datamanagement:navigation-tile-store->com.tomtom.sdk.datamanagement:data-storecom.tomtom.sdk.datamanagement:navigation-data-store-hybrid->com.tomtom.sdk.datamanagement:data-store
-
Reorganize map-references module.
The following module was relocated:
com.tomtom.sdk.mapreferences:model->com.tomtom.sdk.datamanagement:map-references
Additionally, the following APIs were changed:
com.tomtom.sdk..mapreferences.MapId->com.tomtom.sdk.datamanagement.mapreferences.MapIdcom.tomtom.sdk..mapreferences.MapPosition->com.tomtom.sdk.datamanagement.mapreferences.MapPositioncom.tomtom.sdk..mapreferences.MapReferences->com.tomtom.sdk.datamanagement.mapreferences.MapReferencescom.tomtom.sdk..mapreferences.RegionId->com.tomtom.sdk.datamanagement.mapreferences.RegionId
Updates
-
Increase the default amount of memory that a
NavigationTileStoreinstance created with the publicNavigationTileStore.create()function may use to cache navigation tiles from 50 MiB to 300 MiB.- Setting a non-default value via
NavigationTileStoreConfiguration.cachingConfiguration.maxMemorySizeis not affected.
- Setting a non-default value via
-
The following API classes and all members are promoted to General Availability:
com.tomtom.sdk.datamanagement.nds.NdsMapUpdatercom.tomtom.sdk.datamanagement.nds.update.AutomaticMapUpdateFailureListenercom.tomtom.sdk.datamanagement.nds.update.CompletedMapOperationcom.tomtom.sdk.datamanagement.nds.update.CurrentMapOperationcom.tomtom.sdk.datamanagement.nds.update.InstallStatecom.tomtom.sdk.datamanagement.nds.update.MapOperationcom.tomtom.sdk.datamanagement.nds.update.MapOperationTypecom.tomtom.sdk.datamanagement.nds.update.MapUpdateErrorcom.tomtom.sdk.datamanagement.nds.update.MapUpdateError.Canceledcom.tomtom.sdk.datamanagement.nds.update.MapUpdateError.DatabaseErrorcom.tomtom.sdk.datamanagement.nds.update.MapUpdateError.ExclusiveAccessNotAcquiredcom.tomtom.sdk.datamanagement.nds.update.MapUpdateError.FileSystemErrorcom.tomtom.sdk.datamanagement.nds.update.MapUpdateError.InitFailedcom.tomtom.sdk.datamanagement.nds.update.MapUpdateError.InsufficientDiskSpacecom.tomtom.sdk.datamanagement.nds.update.MapUpdateError.InvalidArgumentcom.tomtom.sdk.datamanagement.nds.update.MapUpdateError.MissingUpdatescom.tomtom.sdk.datamanagement.nds.update.MapUpdateError.NetworkErrorcom.tomtom.sdk.datamanagement.nds.update.MapUpdateError.NoMapAvailablecom.tomtom.sdk.datamanagement.nds.update.MapUpdateError.SharedMapAccessErrorcom.tomtom.sdk.datamanagement.nds.update.MapUpdateError.Unexpectedcom.tomtom.sdk.datamanagement.nds.update.MapUpdateError.UpdatesDisabledcom.tomtom.sdk.datamanagement.nds.update.NdsStoreUpdatercom.tomtom.sdk.datamanagement.nds.update.NdsStoreUpdaterConfigurationcom.tomtom.sdk.datamanagement.nds.update.NetworkConnectivityConfigurationcom.tomtom.sdk.datamanagement.nds.update.RegionGraphcom.tomtom.sdk.datamanagement.nds.update.RegionGraphListenercom.tomtom.sdk.datamanagement.nds.update.RegionGraphNodeIdcom.tomtom.sdk.datamanagement.nds.update.RegionGraphNodeStatecom.tomtom.sdk.datamanagement.nds.update.RegionsAlongPolylinecom.tomtom.sdk.datamanagement.nds.update.RegionsAroundPositioncom.tomtom.sdk.datamanagement.nds.update.UpdateInfocom.tomtom.sdk.datamanagement.nds.update.automatic.AutomaticNdsStoreUpdaterConfigurationcom.tomtom.sdk.datamanagement.nds.update.automatic.AutomaticNdsStoreUpdaterConfiguration.AllRegionscom.tomtom.sdk.datamanagement.nds.update.automatic.AutomaticNdsStoreUpdaterConfiguration.DataRemovalStrategycom.tomtom.sdk.datamanagement.nds.update.automatic.AutomaticNdsStoreUpdaterConfiguration.RegionsAlongRoutecom.tomtom.sdk.datamanagement.nds.update.automatic.AutomaticNdsStoreUpdaterConfiguration.RelevantRegionscom.tomtom.sdk.datamanagement.nds.update.compositeregion.CompositeRegioncom.tomtom.sdk.datamanagement.nds.update.compositeregion.CompositeRegionIdcom.tomtom.sdk.datamanagement.nds.update.compositeregion.CompositeRegionListenercom.tomtom.sdk.datamanagement.nds.update.compositeregion.CompositeRegionOperationcom.tomtom.sdk.datamanagement.nds.update.compositeregion.CompositeRegionStatecom.tomtom.sdk.datamanagement.nds.update.compositeregion.CompositeRegionStatesDatacom.tomtom.sdk.datamanagement.nds.update.compositeregion.CompositeRegionsUpdatercom.tomtom.sdk.datamanagement.nds.update.compositeregion.CurrentCompositeRegionOperation
-
Update logging levels in the
NDS.Classicmap component to follow guidelines and TomTom’s recommended logging practices.
Fixes
- Fix a JNI crash caused by a missing native method in
MapUpdateTaskListener, which could occur during map update operations. - Fix the algorithm responsible for determining the availability of onboard map BMD tiles.
- Resolve an issue where canceling a map update could cause the application to crash.
- Set correct default memory limit for caching tiles in
createNavigationTileStore(). Update thecreateNavigationTileStore()functions to set the default memory limit for caching tiles to 50 MiB when aTomTomMapsServiceURI is passed, instead of the previous incorrect value of 300 MiB. The default for aTomTomOrbisMapsServiceURI remains 300 MiB.
Deprecations
-
The following API classes and all members are deprecated:
com.tomtom.sdk.datamanagement.locationdecoder.DataVersioncom.tomtom.sdk.datamanagement.locationdecoder.DecodedLocationcom.tomtom.sdk.datamanagement.locationdecoder.DecodingCoveragecom.tomtom.sdk.datamanagement.locationdecoder.DecodingFailurecom.tomtom.sdk.datamanagement.locationdecoder.DecodingFailure.DecodingErrorcom.tomtom.sdk.datamanagement.locationdecoder.DecodingFailure.NoMapAccessOnMapUpdatecom.tomtom.sdk.datamanagement.locationdecoder.DecodingFailure.ProjectionErrorcom.tomtom.sdk.datamanagement.locationdecoder.SegmentMatchStatuscom.tomtom.sdk.datamanagement.nds.NdsMapContext
Removals
- Remove
com.tomtom.sdk.datamanagement:data-store-updatermodule after removal of last remaining deprecated class. - Remove deprecated
com.tomtom.sdk.datamanagement.datastoreupdater.DataStoreUpdaterclass. - Remove deprecated
com.tomtom.sdk.datamanagement.navigationtile.CachingConfiguration.copy()methods. - Remove deprecated
com.tomtom.sdk.datamanagement.navigationtile.NavigationTileStoreConfiguration.copy()methods. - Remove deprecated
com.tomtom.sdk.datamanagement.navigationtile.PrefetchingConfiguration.copy()methods.
Location
Breaking changes
com.tomtom.sdk.location.Location.geoLocationis now internal.
Updates
-
The following API classes are promoted to General Availability:
com.tomtom.sdk.location.Locationcom.tomtom.sdk.location.DistanceTraveledcom.tomtom.sdk.location.DrivingDirectioncom.tomtom.sdk.location.Providercom.tomtom.sdk.location.Satellitescom.tomtom.sdk.location.TurnLightIndicatorcom.tomtom.sdk.location.attitude.Attitudecom.tomtom.sdk.location.perception.Perceptioncom.tomtom.sdk.location.position.Altitudecom.tomtom.sdk.location.position.Positioncom.tomtom.sdk.location.time.Timecom.tomtom.sdk.location.velocity.VehicleSpeedcom.tomtom.sdk.location.velocity.Velocitycom.tomtom.sdk.location.android.LocationInterceptorcom.tomtom.sdk.location.Location.copy():com.tomtom.sdk.location.Locationcom.tomtom.sdk.location.OnLocationUpdateListener.onLocationUpdate(com.tomtom.sdk.location.Location)com.tomtom.sdk.location.DefaultLocationProviderFactory.create(Context,CoroutineDispatcher,LocationProviderConfig,LocationInterceptor?):LocationProvidercom.tomtom.sdk.common.android.LocationMapper.toLocation(android.location.Location):com.tomtom.sdk.location.Location
-
The following APIs are promoted to General Availability:
com.tomtom.sdk.location.GeoPoint.Companion.COORDINATE_COMPARISON_TOLERANCEcom.tomtom.sdk.location.GeoPoint.latitudeAnglecom.tomtom.sdk.location.GeoPoint.longitudeAnglecom.tomtom.sdk.location.IconReferenceclass and all memberscom.tomtom.sdk.location.PersonalLocationTypeclass and all memberscom.tomtom.sdk.location.RoadShield(String,IconReference?,String=,List<String>=,String=,String=)com.tomtom.sdk.location.RoadShield.iconReference:IconReferencecom.tomtom.sdk.location.poi.Source.Companion.PersonalLocationsom.tomtom.sdk.location.poi.StandardCategoryId.Companion.NonStandardcom.tomtom.sdk.location.poi.ev.Capabilityclass and all memberscom.tomtom.sdk.location.poi.ev.ChargingParkclass and all memberscom.tomtom.sdk.location.poi.ev.ChargingPointclass and all memberscom.tomtom.sdk.location.poi.ev.ChargingStationclass and all memberscom.tomtom.sdk.location.poi.ev.Connectorclass and all memberscom.tomtom.sdk.location.poi.ev.ParkingRestrictionclass and all memberscom.tomtom.sdk.location.poi.ev.Statusclass and all memberscom.tomtom.sdk.location.simulation.SimulationStrategy.calculateLocation()com.tomtom.sdk.location.traceslogger.FileExtensionclass and all memberscom.tomtom.sdk.location.traceslogger.parser.FilePickedFailureclass and all memberscom.tomtom.sdk.location.traceslogger.parser.FilePickedFailure.InvalidExtensionclass and all memberscom.tomtom.sdk.location.traceslogger.parser.FilePickedFailure.UnknownFailureclass and all memberscom.tomtom.sdk.location.traceslogger.parser.LocationTracesParserclass and all memberscom.tomtom.sdk.location.traceslogger.parser.SharedStorageFileAccessorclass and all memberscom.tomtom.sdk.location.traceslogger.recorder.DirectoryLoggerStrategyclass and all memberscom.tomtom.sdk.location.traceslogger.recorder.FileNameStrategyclass and all memberscom.tomtom.sdk.location.traceslogger.recorder.LocationTracesRecorderclass and all memberscom.tomtom.sdk.location.traceslogger.recorder.LocationTracesRecorderFactoryobject and all memberscom.tomtom.sdk.location.traceslogger.recorder.LocationTracesRecorderFailureclass and all memberscom.tomtom.sdk.location.traceslogger.recorder.LoggerStrategyclass and all memberscom.tomtom.sdk.location.traceslogger.recorder.SharedStorageDirectoryPickerclass and all members
Fixes
PersonalLocationTypeis now part ofExtendedflavor.
Deprecations
-
The following APIs are deprecated:
com.tomtom.sdk.location.android.AndroidLocationProvider(Context,CoroutineDispatcher,AndroidLocationProviderConfig=)
Removals
-
Remove deprecated:
com.tomtom.sdk.location.android.AndroidLocationProviderclasscom.tomtom.sdk.location.gms.GmsLocationProviderclasscom.tomtom.sdk.location.mapmatched.MapMatchedLocationProviderclasscom.tomtom.sdk.location.proxy.ProxyLocationProviderclass
Map Visualization
Breaking changes
-
com.tomtom.sdk.map.display.ui.LifecycleAwareis now available inExtendedflavour. -
com.tomtom.sdk.map.display.ui.MapProvideris now available inExtendedflavour. -
com.tomtom.sdk.map.display.ui.MapReadyCallbackis now available inExtendedflavour. -
com.tomtom.sdk.map.display.ui.UiComponentClickListeneris now available inExtendedflavour. -
Rename module
map-data-store-commontomap-tile-store-common. -
Rename module
map-data-store-navigationtomap-tile-store-navigation. -
Rename module
map-data-storetomap-tile-store. -
Reorganize map modules.
The following modules were relocated with no changes in functionality:
com.tomtom.sdk.maps:map-display-api->com.tomtom.sdk.maps:map-display-commoncom.tomtom.sdk.maps:map-display->com.tomtom.sdk.maps:map-display-standardcom.tomtom.sdk.maps:data-provider->com.tomtom.sdk.maps:map-data-store-commoncom.tomtom.sdk.maps:traffic-data-provider->com.tomtom.sdk.maps:map-data-store-navigationcom.tomtom.sdk.maps:hybrid-data-provider->com.tomtom.sdk.maps:map-data-store-navigationcom.tomtom.sdk.maps:data-provider-offline->com.tomtom.sdk.maps:map-data-store-navigationcom.tomtom.sdk.maps:map-data-provider->com.tomtom.sdk.maps:map-data-storecom.tomtom.sdk.maps:style-provider-offline->com.tomtom.sdk.maps:map-display-style-provider-offlinecom.tomtom.sdk.maps:map-data-store-online->com.tomtom.sdk.maps:map-data-storecom.tomtom.sdk.maps:map-data-store-hybrid->com.tomtom.sdk.maps:map-data-store-navigationcom.tomtom.sdk.maps:map-data-store-offline->com.tomtom.sdk.maps:map-data-store-navigation
New features
- Implement asynchronous error reporting by introducing a binding mechanism in
com.tomtom.sdk.common.error.ErrorReporter.
Updates
-
Add
StandardStyle.OrbisMapandStandardStyle.TomTomMapvariants to theStandardStylesclass, supporting both Orbis and Genesis map styles. -
Improve performance of zooming to routes that contain a large number of geometry points.
-
Introduce
com.tomtom.sdk.map.display.maptilestore.MapTileStore. Thecom.tomtom.sdk.map.display.mapdatastore.common.MapDataStoreis an alias forcom.tomtom.sdk.map.display.maptilestore.MapTileStore. -
Introduce
com.tomtom.sdk.map.display.maptilestore.MapTileStoreAccess. Thecom.tomtom.sdk.map.display.mapdatastore.common.MapDataStoreAccessis an alias forcom.tomtom.sdk.map.display.maptilestore.MapTileStoreAccess. -
Promote
com.tomtom.sdk.map.display.camera.InitialCameraOptions.LocationBasedto General Availability. -
Promote
com.tomtom.sdk.map.display.camera.InitialCameraOptionsto General Availability. -
Remove
RestrictToExtendedFlavorannotation for Maps SDK APIs available inCompleteflavor. -
The class
com.tomtom.sdk.map.display.camera.FollowCameraOperatorConfigis now inCompleteflavor. -
The following APIs are promoted to General Availability:
com.tomtom.sdk.map.display.camera.CameraOptionsFactory.positionMarkerVerticalOffset(Double):CameraOptionscom.tomtom.sdk.map.display.polygon.InnerPolygonOptionclass and all memberscom.tomtom.sdk.map.display.polygon.PolygonOverlayclass and all memberscom.tomtom.sdk.map.display.polygon.PolygonOverlayControllerclass and all memberscom.tomtom.sdk.map.display.route.Route.areInstructionsVisiblecom.tomtom.sdk.map.display.route.RouteOptions.areInstructionsVisiblecom.tomtom.sdk.map.display.dataprovider.DataProviderclass and all memberscom.tomtom.sdk.map.display.dataprovider.DataProviderListenerclass and all memberscom.tomtom.sdk.map.display.mapdatastore.common.MapDataStoreclass and all memberscom.tomtom.sdk.map.display.dataprovider.offline.TileOfflineDataProviderFactoryobject and all memberscom.tomtom.sdk.map.display.trafficdataprovider.TrafficDataProviderFactoryobject and all memberscom.tomtom.sdk.map.display.mapdataprovider.MapDataProviderFactoryobject and all memberscom.tomtom.sdk.map.display.mapdatastore.online.CacheStorageConfigurationcom.tomtom.sdk.map.display.mapdatastore.online.OnlineMapDataStoreConfigurationcom.tomtom.sdk.map.display.mapdatastore.online.OnlineMapDataStoreControllercom.tomtom.sdk.map.display.styleprovider.offline.StyleUriProviderobject and all memberscom.tomtom.sdk.map.display.visualization.navigation.GuidanceType.Companion.LaneLevelcom.tomtom.sdk.map.display.visualization.navigation.NavigationEventDispatcher.dispatchOnHorizonReset(HorizonOptions)com.tomtom.sdk.map.display.visualization.navigation.NavigationEventDispatcher.dispatchOnNavigationStateChanged(NavigationState)com.tomtom.sdk.map.display.visualization.navigation.NavigationEventDispatcher.dispatchOnProgressUpdated(RouteProgress)com.tomtom.sdk.map.display.visualization.navigation.NavigationEventDispatcher.dispatchOnRouteAddedListener(Route,RoutePlanningOptions,RouteAddedReason)com.tomtom.sdk.map.display.visualization.navigation.NavigationEventDispatcher.dispatchOnRouteRemovedListener(Route,RouteRemovedReason)com.tomtom.sdk.map.display.visualization.navigation.NavigationEventDispatcher.dispatchOnRouteUpdated(Route,RouteUpdatedReason)com.tomtom.sdk.map.display.visualization.navigation.NavigationEventDispatcher.dispatchOnWaypointArrived(RouteStop,Route)com.tomtom.sdk.map.display.visualization.navigation.NavigationEventDispatcher.dispatchOnWaypointDeparted(RouteStop,Route)com.tomtom.sdk.map.display.visualization.navigation.NavigationVisualization.areRouteInstructionsVisiblecom.tomtom.sdk.map.display.visualization.navigation.NavigationVisualization.betterRoute:BetterRouteVisualizationcom.tomtom.sdk.map.display.visualization.navigation.NavigationVisualization.safetyLocationVisualization:SafetyLocationVisualizationcom.tomtom.sdk.map.display.visualization.navigation.NavigationVisualization.unitSystem:UnitSystemcom.tomtom.sdk.map.display.visualization.navigation.StyleConfiguration(RouteStyle=,RouteTrafficIncidentStyle=,SafetyLocationStyle=,BetterRouteStyle=)com.tomtom.sdk.map.display.visualization.navigation.StyleConfiguration.betterRouteStyle:BetterRouteStylecom.tomtom.sdk.map.display.visualization.navigation.StyleConfiguration.route:RouteStylecom.tomtom.sdk.map.display.visualization.navigation.StyleConfiguration.routeTrafficIncident:RouteTrafficIncidentStylecom.tomtom.sdk.map.display.visualization.navigation.StyleConfiguration.safetyLocationStyle:SafetyLocationStylecom.tomtom.sdk.map.display.visualization.navigation.betterroute.BetterRouteClickedListenerclass and all memberscom.tomtom.sdk.map.display.visualization.navigation.betterroute.BetterRouteMarkerStyleclass and all memberscom.tomtom.sdk.map.display.visualization.navigation.betterroute.BetterRouteStyleclass and all memberscom.tomtom.sdk.map.display.visualization.navigation.betterroute.BetterRouteVisualizationclass and all memberscom.tomtom.sdk.map.display.visualization.navigation.horizon.safetylocation.SafetyLocationClickedListenerclass and all memberscom.tomtom.sdk.map.display.visualization.navigation.horizon.safetylocation.SafetyLocationCountOptionsclass and all memberscom.tomtom.sdk.map.display.visualization.navigation.horizon.safetylocation.SafetyLocationMarkerStyleclass and all memberscom.tomtom.sdk.map.display.visualization.navigation.horizon.safetylocation.SafetyLocationStyleclass and all memberscom.tomtom.sdk.map.display.visualization.navigation.horizon.safetylocation.SafetyLocationVisualizationclass and all memberscom.tomtom.sdk.map.display.visualization.navigation.horizon.safetylocation.TextStyleclass and all memberscom.tomtom.sdk.map.display.visualization.poi.OnRouteDetailsclass and all memberscom.tomtom.sdk.map.display.visualization.poi.PoiClickedListenerclass and all memberscom.tomtom.sdk.map.display.visualization.poi.PoiLocationclass and all memberscom.tomtom.sdk.map.display.visualization.poi.PoiVisualizationclass and all memberscom.tomtom.sdk.map.display.visualization.range.ColorByZoomclass and all memberscom.tomtom.sdk.map.display.visualization.range.NamedCircleclass and all memberscom.tomtom.sdk.map.display.visualization.range.NamedPolygonclass and all memberscom.tomtom.sdk.map.display.visualization.range.Rangeclass and all memberscom.tomtom.sdk.map.display.visualization.range.Range.NamedCirclesclass and all memberscom.tomtom.sdk.map.display.visualization.range.Range.NamedPolygonsclass and all memberscom.tomtom.sdk.map.display.visualization.range.RangeStyleclass and all memberscom.tomtom.sdk.map.display.visualization.range.RangeVisualizationclass and all memberscom.tomtom.sdk.map.display.visualization.range.StyleByZoomclass and all memberscom.tomtom.sdk.map.display.visualization.range.WidthByZoomclass and all memberscom.tomtom.sdk.map.display.visualization.routing.RouteStyleclass and all memberscom.tomtom.sdk.map.display.visualization.routing.RouteStyle.DestinationConnectionLineStyleclass and all memberscom.tomtom.sdk.map.display.visualization.routing.RouteStyle.EvWaypointMarkerStyleclass and all memberscom.tomtom.sdk.map.display.visualization.routing.RouteStyle.LinePatternDisplayclass and all memberscom.tomtom.sdk.map.display.visualization.routing.RouteStyle.RouteVehicleRestrictionLineStyleclass and all memberscom.tomtom.sdk.map.display.visualization.routing.RoutingVisualization.areRouteInstructionsVisiblecom.tomtom.sdk.map.display.visualization.routing.StyleConfiguration(RouteStyle=,RouteTrafficIncidentStyle=)com.tomtom.sdk.map.display.visualization.routing.StyleConfiguration.route:RouteStylecom.tomtom.sdk.map.display.visualization.routing.StyleConfiguration.routeTrafficIncident:RouteTrafficIncidentStylecom.tomtom.sdk.map.display.visualization.routing.traffic.RouteTrafficIncidentStyleclass and all memberscom.tomtom.sdk.map.display.visualization.routing.traffic.RouteTrafficIncidentStyle.LinePatternDisplayclass and all memberscom.tomtom.sdk.map.display.visualization.routing.traffic.RouteTrafficIncidentStyle.MagnitudeOfDelayKeyclass and all memberscom.tomtom.sdk.map.display.visualization.routing.traffic.RouteTrafficIncidentStyle.MagnitudeOfDelayPropertiesclass and all memberscom.tomtom.sdk.map.display.visualization.routing.traffic.RouteTrafficIncidentStyle.MarkerVisibilityclass and all memberscom.tomtom.sdk.map.display.visualization.routing.traffic.RouteTrafficIncidentStyle.TrafficIncidentCategoryKeyclass and all memberscom.tomtom.sdk.map.display.visualization.routing.traffic.TrafficIncidentCategoryclass and all memberscom.tomtom.sdk.map.display.visualization.routing.traffic.TrafficVisualization.addTrafficIncidentClickedListener(TrafficIncidentClickedListener)com.tomtom.sdk.map.display.visualization.routing.traffic.TrafficVisualization.removeTrafficIncidentClickedListener(TrafficIncidentClickedListener)com.tomtom.sdk.map.display.visualization.search.SearchVisualization.kt.toPoiLocation(SearchResult):PoiLocation
-
The following is now available in General Availability:
com.tomtom.sdk.map.display.compose.model.MapDisplayInfrastructurecom.tomtom.sdk.map.display.compose.TomTomMapcom.tomtom.sdk.map.display.MapLocationInfrastructurecom.tomtom.sdk.map.display.MapTileInfrastructurecom.tomtom.sdk.map.display.style.StandardStylescom.tomtom.sdk.map.display.visualization.navigation.compose.NavigationVisualizationcom.tomtom.sdk.map.display.visualization.navigation.NavigationVisualizationDataProvidercom.tomtom.sdk.map.display.visualization.routing.compose.RoutingVisualizationcom.tomtom.sdk.map.display.visualization.routing.RoutingVisualizationDataProvider
-
The interface
com.tomtom.sdk.map.display.maptilestore.MapTileStoreAccessis moved toExtendedflavor. -
Update
ElasticDataProviderbindings for error handling during initialization. The initialization process now provides more descriptive error messages when failures occur. -
Update dependency for rendering to texture with 16kb page size support.
Fixes
- Adjust alternative route time difference marker visibility.
- Avoid printing API key in map data store logs.
- Batch removal of markers and polylines for traffic incidents, making map updates smoother and more efficient.
- Clear horizon elements if the snapshot is empty, preventing stale data from being displayed.
- Ensure exception is handled when style fetching is canceled during map closure. This prevents from application spontaneous shutdown.
- Fix a crash during route selection for distinct alternatives.
- Fix a crash in
MichiMapLifecycleClientwhen a function was called after the object was closed. - Fix a crash in Lane Level Guidance.
- Fix a crash in the composable
NavigationVisualizationduring device rotation while navigating. - Fix a crash that could occur if the
MapViewwas destroyed before initialization finished, especially when the app was started and immediately closed. This fix affects themap-display-standardmodule. - Fix a crash when an invalid fork point for a better route would result in a route with less than 2 points.
- Fix a crash when calling
com.tomtom.sdk.map.display.visualization.navigation.NavigationVisualization.displayRoutesduring navigation without a selected route. - Fix a POI issue where distances on map markers were incorrectly displayed in meters instead of kilometers.
- Fix an
UntaggedSocketViolationStrictMode violation by correctly tagging sockets used in the map display. - Fix blinking instruction arrow during route update.
- Fix dark sprites being used when main style is loaded.
- Fix delay in styling of new route when a route is recalculated.
- Fix flickering hazard icons.
- Fix for uncaught
InterruptedIOExceptioninMapDataStoreUriHandler. - Fix issue where, in active guidance, the route plan was displayed but the current active route was changed via the Navigation engine without selecting it in
NavigationVisualization. - Fix issue with showing ETA after route update of active route.
- Fix issue with style not being loaded when map is initialised without Internet connection in online first mode.
- Fix missing ID in GeoJSON polyline and polygon.
- Fix ranking issue on Poi Visualization.
- Fix the crash when removing the destination connection line twice.
- Fix the remaining destination connection line when re-planning a route with
com.tomtom.sdk.map.display.visualization.routing.RoutingVisualization.displayRoutePlanmethod. - Fix the route tube blinking issue during guidance.
- Improve memory consumption in
DefaultMessageClient, reducing resource usage for better performance. - Improve the visible region calculation to ensure it properly includes padding.
- Make the camera independent of the
GuidanceTypeproperty. - Map gesture no longer result in ANR.
- No longer force top-down view on browsing camera activation.
- Prevent a resource leak by closing the initial response when the cached response requires network revalidation.
- Prevent Application Not Responding when telemetry for Maps SDK is enabled.
- Prevent unnecessary complex geometric calculations when no safety zones are present during lane-level scenarios.
- Reduce frequency of prefetching requests on
MapDataStoreConnector. - Remove adding the prediction update listener when the map is replaced.
- Remove polygon overlays.
- Remove the predictions listener when the map is replaced in Lane Level Navigation.
- Replace exception with error when
NavigationEventsConnectoris initialized withNavigationStateother thanIdle. - Resolve a race condition occurring in camera‑tracking mode updates within Compose.
- Stop using lane-precise positions in Standard Map Display.
- Tag sockets used in map display to fix
UntaggedSocketViolationStrictMode violation. - The calculation of safety zones during Lane Level Navigation has become more memory efficient.
- Update alternative routes color.
- Update EV waypoints when the selected route changes.
- Use correct UI context with gesture detectors.
Deprecations
-
Deprecate create APIs in
com.tomtom.sdk.map.display.visualization.poi.PoiVisualizationFactory. -
Deprecate create APIs in
com.tomtom.sdk.map.display.visualization.range.RangeVisualizationFactory. -
Deprecate the following properties:
com.tomtom.sdk.map.display.style.StandardStyles.BROWSINGcom.tomtom.sdk.map.display.style.StandardStyles.DRIVINGcom.tomtom.sdk.map.display.style.StandardStyles.SATELLITEcom.tomtom.sdk.map.display.style.StandardStyles.VEHICLE_RESTRICTIONS
-
Deprecate the following:
com.tomtom.sdk.map.display.mapdatastore.online.OnlineMapDataStoreConfigurationcom.tomtom.sdk.map.display.mapdatastore.online.OnlineMapDataStoreControllercom.tomtom.sdk.map.display.visualization.navigation.GuidanceTypecom.tomtom.sdk.map.display.visualization.navigation.NavigationVisualization.guidanceTypecom.tomtom.sdk.map.display.dataprovider.hybrid.TileHybridDataProviderFactorycom.tomtom.sdk.map.display.mapdatastore.hybrid.HybridMapDataStorecom.tomtom.sdk.map.display.mapdatastore.hybrid.HybridMapDataStoreConfigurationcom.tomtom.sdk.map.display.mapdatastore.hybrid.HybridMapDataStoreControllercom.tomtom.sdk.map.display.mapdatastore.hybrid.HybridMapDataStoreFactory- the
com.tomtom.sdk.map.display.MapOptions.cameraOptionsAPI - the
com.tomtom.sdk.map.display.MapOptions(MapKey, CameraOptions, Padding, StyleDescriptor, StyleMode, OnlineCachePolicy, Boolean)constructor
Do the following to adapt your project to these API changes:
- Replace
MapOptionsprimary constructor withMapOptions(mapKey, initialCameraOptions, padding, mapStyle, styleMode, onlineCachePolicy, renderToTexture)constructor instead.
Navigation
Breaking changes
com.tomtom.sdk.datamanagement.nds.NdsStoreis now an abstract class.com.tomtom.sdk.datamanagement.nds.update.AutomaticMapUpdateFailureListeneris moved toExtendedflavor.- Electric vehicle parameters are now validated before the vehicle is instantiated.
- Remove
validRemainingRouteDurationfromcom.tomtom.sdk.navigation.NavigationConfiguration. - Vehicle input parameters are now validated before the vehicle is instantiated.
New features
com.tomtom.sdk.navigation.RouteUpdatedListener2is now in General Availability.- Add asymmetrical trifurcation implementation.
- Add dynamic route update interval trigger logic.
Updates
-
com.tomtom.sdk.vehicle.provider.VehicleProvideris now in General Availiability. -
Adjust replan cooldown period.
-
Do not attempt back to route replanning when the last route point has been reached.
-
Make
NavigationTileStoreAPIs restricted to theExtendedflavour. -
Make public general availability APIs for guidance instructions and announcements part of the
CompleteNavSDK flavor. -
Make public general availability APIs for lane guidance and announcements part of the
CompleteNavSDK flavor. -
Move HybridRouteReplanner to navigation:navigation module.
-
Override default equals and hashCode for
RouteAddedReason. -
Promote
com.tomtom.sdk.navigation.MutableNavigationConfigurationto General Availablity. -
Promote
com.tomtom.sdk.navigation.TomTomNavigation.configuration:MutableNavigationConfigurationto General Availablity. -
Promote
com.tomtom.sdk.navigation.tracking.UnfollowedRoute.reasonAPI to General Availability. -
Route replanning is triggered without delay during deviation. The user-provided ReplanningRetryPolicy will not be applied in this situation.
-
The following APIs are promoted to General Availability:
com.tomtom.sdk.hazards.common.HazardsConfigurationclass and all memberscom.tomtom.sdk.hazards.model.DetailedHazardInformationclass and all memberscom.tomtom.sdk.hazards.model.DetailedHazardInformation.BadRoadConditionsclass and all memberscom.tomtom.sdk.hazards.model.DetailedHazardInformation.JamTailclass and all memberscom.tomtom.sdk.hazards.model.DetailedHazardInformation.ObjectsOnRoadclass and all memberscom.tomtom.sdk.hazards.model.DetailedHazardInformation.ReducedVisibilityclass and all memberscom.tomtom.sdk.hazards.model.DetailedHazardInformation.RoadWorksclass and all memberscom.tomtom.sdk.hazards.model.DetailedHazardInformation.StrongWindclass and all memberscom.tomtom.sdk.hazards.model.Hazardclass and all memberscom.tomtom.sdk.hazards.model.HazardCategoryclass and all memberscom.tomtom.sdk.hazards.model.HazardIdclass and all memberscom.tomtom.sdk.hazards.model.HazardLocationclass and all memberscom.tomtom.sdk.hazards.model.HazardLocation.Areaclass and all memberscom.tomtom.sdk.hazards.model.HazardLocation.Linearclass and all memberscom.tomtom.sdk.hazards.model.HazardLocation.Spotclass and all memberscom.tomtom.sdk.hazards.model.HazardSeverityclass and all memberscom.tomtom.sdk.hazards.model.HazardTypeclass and all memberscom.tomtom.sdk.navigation.HorizonUpdatedListener.onHorizonReset(HorizonOptions)com.tomtom.sdk.navigation.NavigationEngineRegistryclass and all memberscom.tomtom.sdk.navigation.NavigationSnapshotExtensions.kt.currentActiveRoutePlanningOptions:RoutePlanningOptionscom.tomtom.sdk.navigation.RouteAddedReason.Invalidatedclass and all memberscom.tomtom.sdk.navigation.RouteAddedReason.NavigationResumedclass and all memberscom.tomtom.sdk.navigation.RoutePlanningOptionsExtensions.kt.addItineraryPoint(RoutePlanningOptions,ItineraryPoint):RoutePlanningOptionscom.tomtom.sdk.navigation.RoutePlanningOptionsExtensions.kt.addItineraryPoint(RoutePlanningOptions,ItineraryPoint,ItineraryPoint):RoutePlanningOptionscom.tomtom.sdk.navigation.RoutePlanningOptionsExtensions.kt.removeItineraryPoint(RoutePlanningOptions,ItineraryPoint):RoutePlanningOptionscom.tomtom.sdk.navigation.RoutePlanningOptionsExtensions.kt.skipRouteStop(RoutePlanningOptions,RouteStop):RoutePlanningOptionscom.tomtom.sdk.navigation.TomTomNavigation.navigationEngineRegistry:NavigationEngineRegistrycom.tomtom.sdk.navigation.TomTomNavigation.navigationResumeSnapshot():Result<NavigationResumeSnapshot,NavigationResumeSnapshotFailure>com.tomtom.sdk.navigation.TomTomNavigation.resume(NavigationResumeSnapshot)com.tomtom.sdk.navigation.arrival.ArrivalDetectionEngineclass and all memberscom.tomtom.sdk.navigation.datastoremaintenance.DataStoreMaintenanceEngineclass and all memberscom.tomtom.sdk.navigation.datastoreselection.DataSourceSelectionclass and all memberscom.tomtom.sdk.navigation.datastoreselection.NavigationDataSourceclass and all memberscom.tomtom.sdk.navigation.guidance.AnnouncementModeclass and all memberscom.tomtom.sdk.navigation.guidance.GuidanceEngineclass and all memberscom.tomtom.sdk.navigation.guidance.GuidanceEngineFactoryobject and all memberscom.tomtom.sdk.navigation.guidance.GuidanceEngineOptionsclass and all memberscom.tomtom.sdk.navigation.guidance.LaneGuidanceUpdateclass and all memberscom.tomtom.sdk.navigation.guidance.LaneGuidanceUpdateTypeclass and all memberscom.tomtom.sdk.navigation.guidance.instruction.Signpost(String=,String=,String=,IconReference?=)com.tomtom.sdk.navigation.guidance.instruction.Signpost.exitIconReferencecom.tomtom.sdk.navigation.horizon.HorizonEngineclass and all memberscom.tomtom.sdk.navigation.horizon.HorizonSnapshotState.resetCounter:Intcom.tomtom.sdk.navigation.horizon.elements.hazard.HazardElementclass and all memberscom.tomtom.sdk.navigation.horizon.elements.hazard.HazardElementTypeobject and all memberscom.tomtom.sdk.navigation.horizon.elements.lowemissionzone.LowEmissionZoneElementclass and all memberscom.tomtom.sdk.navigation.horizon.elements.lowemissionzone.LowEmissionZoneElementTypeobject and all memberscom.tomtom.sdk.navigation.horizon.elements.poi.PoiElementclass and all memberscom.tomtom.sdk.navigation.horizon.elements.poi.PoiElementTypeobject and all memberscom.tomtom.sdk.navigation.horizon.elements.railwaycrossing.RailwayCrossingElementclass and all memberscom.tomtom.sdk.navigation.horizon.elements.railwaycrossing.RailwayCrossingElementTypeobject and all memberscom.tomtom.sdk.navigation.horizon.elements.traffic.TrafficEventElementclass and all memberscom.tomtom.sdk.navigation.horizon.elements.traffic.TrafficEventElementTypeobject and all memberscom.tomtom.sdk.navigation.horizon.elements.trafficlight.TrafficLightElementclass and all memberscom.tomtom.sdk.navigation.horizon.elements.trafficlight.TrafficLightElementTypeobject and all memberscom.tomtom.sdk.navigation.horizon.elements.trafficsign.TrafficSignCategoryclass and all memberscom.tomtom.sdk.navigation.horizon.elements.trafficsign.TrafficSignElementclass and all memberscom.tomtom.sdk.navigation.horizon.elements.trafficsign.TrafficSignElementTypeobject and all memberscom.tomtom.sdk.navigation.horizon.elements.trafficsign.TrafficSignLocationclass and all memberscom.tomtom.sdk.navigation.mapmatching.MapMatchingEngineclass and all memberscom.tomtom.sdk.navigation.mapmatching.MapMatchingResult(MatchedLocation,GeoLocation,List<GeoLocation>=,List<MatchedLocation>=,List<RouteId>=)com.tomtom.sdk.navigation.mapmatching.MapMatchingResult.locationPredictions:List<GeoLocation>com.tomtom.sdk.navigation.mapmatching.offline.OfflineMapMatchingEngineFactoryobject and all memberscom.tomtom.sdk.navigation.mapmatching.tilestore.TileStoreMapMatchingEngineFactoryobject and all memberscom.tomtom.sdk.navigation.navigationresumesnapshot.NavigationResumeSnapshotclass and all memberscom.tomtom.sdk.navigation.navigationresumesnapshot.NavigationResumeSnapshotFailureclass and all memberscom.tomtom.sdk.navigation.navigationresumesnapshot.NavigationResumeSnapshotFailure.NoActiveRouteFailureclass and all memberscom.tomtom.sdk.navigation.navigationresumesnapshot.NavigationResumeSnapshotSerializationFailureclass and all memberscom.tomtom.sdk.navigation.offline.Configuration(Context,NdsStore,NdsMapUpdater?=,LocationProvider,RoutePlanner?=,VehicleProvider=,BetterProposalAcceptanceMode=,DeviationReplanningMode=,ReplanningRetryPolicy=,RouteReplanningEngine?=,DataStoreMaintenanceEngine?=,GuidanceEngine?=,HorizonEngine?=,MapMatchingEngine?=,RouteTrackingEngine?=,RouteProgressEngine?=,ArrivalDetectionEngine?=,SafetyLocationsConfiguration?=,HazardsConfiguration?=,Traffic?=)com.tomtom.sdk.navigation.online.Configuration(Context,NavigationTileStore,LocationProvider,RoutePlanner?=,VehicleProvider=,BetterProposalAcceptanceMode=,DeviationReplanningMode=,ReplanningRetryPolicy=,RouteReplanningEngine?=,DataStoreMaintenanceEngine?=,GuidanceEngine?=,HorizonEngine?=,MapMatchingEngine?=,RouteTrackingEngine?=,RouteProgressEngine?=,ArrivalDetectionEngine?=,SafetyLocationsConfiguration?=,HazardsConfiguration?=,Traffic?=)com.tomtom.sdk.navigation.progress.RouteProgressEngineclass and all memberscom.tomtom.sdk.navigation.replanning.ReplannedRouteclass and all memberscom.tomtom.sdk.navigation.replanning.RouteProposalSelectorclass and all memberscom.tomtom.sdk.navigation.replanning.RouteReplanningEngineclass and all memberscom.tomtom.sdk.navigation.replanning.RouteReplanningEngineFactoryobject and all memberscom.tomtom.sdk.navigation.replanning.RouteReplanningEngineFailureclass and all memberscom.tomtom.sdk.navigation.replanning.RouteReplanningEngineFailure.ReplanningFailureclass and all memberscom.tomtom.sdk.navigation.replanning.RouteReplanningEngineFailure.UnsupportedReplanningFailureclass and all memberscom.tomtom.sdk.navigation.replanning.RouteReplanningEngineOptionsclass and all memberscom.tomtom.sdk.navigation.replanning.RouteReplanningFailureclass and all memberscom.tomtom.sdk.navigation.replanning.RouteReplanningFailure.RouteMergingFailureclass and all memberscom.tomtom.sdk.navigation.replanning.RouteReplanningFailure.RoutePlanningFailureclass and all memberscom.tomtom.sdk.navigation.replanning.RouteReplanningFailure.RouteValidationFailureclass and all memberscom.tomtom.sdk.navigation.replanning.RouteReplanningFailure.UnsupportedRouteReplanningFailureclass and all memberscom.tomtom.sdk.navigation.replanning.RouteReplanningReasonclass and all memberscom.tomtom.sdk.navigation.replanning.RouteReplanningReason.BetterFoundclass and all memberscom.tomtom.sdk.navigation.replanning.RouteReplanningReason.Blockageclass and all memberscom.tomtom.sdk.navigation.replanning.RouteReplanningReason.Deviationclass and all memberscom.tomtom.sdk.navigation.replanning.RouteReplanningReason.Incrementclass and all memberscom.tomtom.sdk.navigation.replanning.RouteReplanningReason.Invalidatedclass and all memberscom.tomtom.sdk.navigation.replanning.RouteReplanningReason.LanguageChangeclass and all memberscom.tomtom.sdk.navigation.replanning.RouteReplanningReason.OutOfRangeclass and all memberscom.tomtom.sdk.navigation.replanning.RouteReplanningReason.Refreshclass and all memberscom.tomtom.sdk.navigation.replanning.RouteUpdateModeclass and all memberscom.tomtom.sdk.navigation.resumesnapshotrenewer.NavigationResumeSnapshotRenewerclass and all memberscom.tomtom.sdk.navigation.resumesnapshotrenewer.NavigationResumeSnapshotRenewerFactoryobject and all memberscom.tomtom.sdk.navigation.resumesnapshotrenewer.NavigationResumeSnapshotRenewerFailureclass and all memberscom.tomtom.sdk.navigation.resumesnapshotrenewer.NavigationResumeSnapshotRenewerFailure.NoNavigationResumeSnapshotFailureclass and all memberscom.tomtom.sdk.navigation.resumesnapshotrenewer.NavigationResumeSnapshotRenewerFailure.PersistenceFailureclass and all memberscom.tomtom.sdk.navigation.resumesnapshotrenewer.NavigationResumeSnapshotRenewerOptionsclass and all memberscom.tomtom.sdk.navigation.routecomparison.SectionsDifferenceclass and all memberscom.tomtom.sdk.navigation.routereplanner.RouteReplannerclass and all memberscom.tomtom.sdk.navigation.routereplanner.RouteReplannerConfigurationclass and all memberscom.tomtom.sdk.navigation.routereplanner.RouteReplannerResponseclass and all memberscom.tomtom.sdk.navigation.routereplanner.offline.OfflineRouteReplannerFactoryobject and all memberscom.tomtom.sdk.navigation.routereplanner.online.OnlineRouteReplannerFactoryobject and all memberscom.tomtom.sdk.navigation.tracking.RouteTrackingEngineclass and all memberscom.tomtom.sdk.navigation.tracking.RouteTrackingEngineFactoryobject and all members
-
The following is now mutable:
com.tomtom.sdk.datamanagement.nds.NdsStoreConfiguration.accessPermitcom.tomtom.sdk.datamanagement.nds.NdsStoreConfiguration.geopoliticalViewcom.tomtom.sdk.datamanagement.nds.NdsStoreConfiguration.keyStorePathcom.tomtom.sdk.datamanagement.nds.NdsStoreConfiguration.ndsStorePath
-
Throw
IllegalArgumentExceptioninstead ofExceptionwhen the native NDS.Live map instance detects configuration issues. -
Trim all horizon elements endOffset to geometry max endOffset.
-
Update documentation of
com.tomtom.sdk.navigation.RouteRemovedListenerto inform about routes removal whencom.tomtom.sdk.navigation.TomTomNavigation.selectActiveRoute(RouteId)is used. -
Update documentation of
com.tomtom.sdk.navigation.TomTomNavigation.selectActiveRoute(RouteId)to indicate that all routes other than the selected route are removed, not only the former active route. -
Update documentation of
com.tomtom.sdk.navigation.TomTomNavigation.setActiveRoutePlan(RoutePlan?)to indicate that all routes are removed, not only the former active route. -
Update logic for combining instructions.
-
Update the guide on how to dynamically change TomTomNavigation's configuration.
-
When route planning on deviation is requested by NavSDK, prefer using
Placeinformation from the route stop, instead of relying on the place fromItineraryPointifChargingParkinformation available in thePoiis available in the respective route stop.
Fixes
- Add check for success result before using its value in
com.tomtom.sdk.navigation.lanepathgenerator.common.domain.LanePathGeneratorServiceState. - Add checks for constraints when setting
NavigationTileStoreConfigvalues after instance creation. - Audio announcement language now considers region.
- Change the route so that it no longer includes the missing tile.
- Correct map matching and speed limit issues observed in some online modes.
- During a Software Dead Reckoning (SoftDR) situation, the location context will no longer exposes speed; it now returns a speed of zero.
- Each road shield icon generation now uses a different surface instance to prevent native crash from the Android canvas.
- Fix detecting deviation right after starting navigation.
- Fix lane-level guidance generation for a wrong instruction.
- Fix missing lane guidance images from the developer portal.
- Fix possibility of a loop of data source switching during free driving in hybrid navigation.
- Fix reaching the target charge more than once.
- Fix replanning on deviation from imported routes, when running multiple navigation sessions with the same navigation instance.
- Fix rerouting when a user departed off-road from a waypoint.
- Fix sent telemetry data.
- Fix simple lane guidance missing issue when lane section has a short length.
- Fix the reachable offset calculation in the route merger.
- Fix wrong download size reporting in
com.tomtom.sdk.datamanagement.nds.update.compositeregion.CompositeRegionState. - In case of lane-level guidance route trimming, the system will now take the minimum and maximum offsets of its lane-level routes as its own offsets, rather than the trim offset.
- In Hybrid mode after deviation on online route, select most similar route if it is path alternative.
- Instructions that start within the combinable threshold, but end outside, are now also eligible for combining for lane-level scenarios.
- Lane Level Navigation no longer continues after one trigger to another trigger if there is not enough data for the latter.
- Progress updates are now not stored in the session when a waypoint is skipped over.
- Provide a configuration for the SDK user to input their locale.
- Reset
laneDrivenandlaneLocalizationToggleafter lane guidance is no longer visible. - Resolve an
IllegalStateExceptioninNavUiViewModelthat occurred whenGuidanceUpdatedListenerwas invoked after it had been removed from TomTomNavigation. This fix enhances stability and prevents unexpected crashes during navigation updates. - Route update fails when stationary near the origin of the route.
- Send consumption annotation telemetry when the
IN_WAYPOINT_VICINITYevent is triggered. - The remaining distance for back-to-route check is now considered instead of the route's total length.
- The system no longer crashes during route refresh intake if the active route was replaced. Navigation now continues seamlessly with the existing route, and proper telemetry (RouteRejectedReason.NO_MATCHING_ROUTE_AVAILABLE) is sent when this occurs.
- The system now generates succeeding Lane Level Navigation sessions after having failed at generation.
- Traffic jam spoken warning delays are now rounded down (floored) to whole minutes. A delay of 1m45s will be rounded to 1m.
- Traffic jams with a duration of less than 1 minute are no longer announced with a warning.
- Unfinished lane-level guidance will end when entering free driving mode.
- Updates on
com.tomtom.sdk.navigation.TomTomNavigation.preferredLanguageare now also used for traffic information. - Use new vehicle data in
plannedWithwhen a route is updated. - Use same location prediction for all routes in progress calculation.
Deprecations
-
Converting data classes
BorderCrossing,Country,Roadfromcom.tomtom.sdk.navigation.guidance.instructionpackage to regular classes. As a result the following APIs are deprecated:BorderCrossing.component1()BorderCrossing.component2()BorderCrossing.copy(Country=,Country=)Country.component1()Country.component2()Country.copy(String=,String=)Road.component1()Road.component2()Road.component3()Road.component4()Road.copy(String=,List<String>=,List<RoadShield>=,Set<RoadType>=)
-
Deprecate
validRemainingRouteDurationincom.tomtom.sdk.navigation.replanning.RouteReplanningEngineOptions. -
Deprecate constructors
com.tomtom.sdk.navigation.horizon.HorizonSnapshotState(Int=)andcom.tomtom.sdk.navigation.horizon.HorizonSnapshotState(Int=, Int=). Deprecatecom.tomtom.sdk.navigation.horizon.HorizonSnapshotState.updateCounter. -
Deprecate the class
com.tomtom.sdk.navigation.horizon.elements.traffic.TrafficEventElement. Usecom.tomtom.sdk.navigation.horizon.elements.traffic.TrafficElementinstead. -
Deprecate the following APIs:
com.tomtom.sdk.navigation.offroad.Configurationclass and all memberscom.tomtom.sdk.navigation.offroad.OffRoadTomTomNavigationFactoryobject and all memberscom.tomtom.sdk.navigation.offroad.arrival.OffRoadArrivalDetectionEngineFactoryobject and all memberscom.tomtom.sdk.navigation.offroad.guidance.OffRoadGuidanceEngineFactoryobject and all memberscom.tomtom.sdk.navigation.offroad.mapmatching.OffRoadMapMatchingEngineFactoryobject and all memberscom.tomtom.sdk.navigation.offroad.progress.OffRoadRouteProgressEngineFactoryobject and all memberscom.tomtom.sdk.navigation.offroad.routereplanner.OffRoadRouteReplannerFactoryobject and all memberscom.tomtom.sdk.navigation.offroad.tracking.OffRoadRouteTrackingEngineFactoryobject and all members
-
Deprecate the following:
com.tomtom.sdk.navigation.TomTomNavigation.betterProposalAcceptanceMode:BetterProposalAcceptanceModecom.tomtom.sdk.navigation.TomTomNavigation.unitSystem:UnitSystemTypecom.tomtom.sdk.datamanagement.navigationtile.AreaAlongRoutecom.tomtom.sdk.datamanagement.navigationtile.CacheStorageConfigurationcom.tomtom.sdk.datamanagement.navigationtile.CachingConfigurationcom.tomtom.sdk.datamanagement.navigationtile.NavigationTileStore.Companion.createcom.tomtom.sdk.datamanagement.navigationtile.NavigationTileStoreConfigurationcom.tomtom.sdk.datamanagement.navigationtile.PrefetchingConfigurationcom.tomtom.sdk.datamanagement.nds.NdsStoreConfiguration.copy()ReplanningRetryPolicy.calculateRetryDelay()RouteReplanningEngine.replan()RouteReplanningEngine.shouldReplan()com.tomtom.sdk.datamanagement.datasource.DataSourceclasscom.tomtom.sdk.datamanagement.hybridnavigationdata.DataStoreUpdateModeclasscom.tomtom.sdk.datamanagement.hybridnavigationdata.HybridNavigationDataStoreclasscom.tomtom.sdk.navigation.mapmatching.hybrid.HybridMapMatchingEngineFactoryobjectcom.tomtom.sdk.datamanagement.datasource.DataSourceChangedListenercom.tomtom.sdk.datamanagement.datasource.DataSourceChangedNotifierclasscom.tomtom.sdk.navigation.datastoreselection.DefaultDataStoreSelectionEngineFactorycom.tomtom.sdk.navigation.hybrid.Configurationcom.tomtom.sdk.navigation.hybrid.HybridRouteReplannerFactoryExtension.createOnlineFirstextension functioncom.tomtom.sdk.navigation.hybrid.HybridTomTomNavigationFactorycom.tomtom.sdk.navigation.hybrid.HybridTomTomNavigationFactory.createOnlineFirstmethodcom.tomtom.sdk.navigation.routereplanner.hybrid.HybridRouteReplannerFactorycom.tomtom.sdk.datamanagement.datastore.ActiveRouteUpdatableinterfacecom.tomtom.sdk.datamanagement.datastore.PositionUpdatableinterfacecom.tomtom.sdk.datamanagement.datastore.UpdatableDataStoreinterfacecom.tomtom.sdk.datamanagement.hybridnavigationdata.HybridNavigationDataStore.updateActiveRoute(List<GeoPoint>)com.tomtom.sdk.datamanagement.hybridnavigationdata.HybridNavigationDataStore.updatePosition(GeoPoint)com.tomtom.sdk.datamanagement.navigationtile.NavigationTileStore.updateActiveRoute(List<GeoPoint>)com.tomtom.sdk.datamanagement.navigationtile.NavigationTileStore.updatePosition(GeoPoint)com.tomtom.sdk.datamanagement.nds.update.NdsStoreUpdater.updateActiveRoute(List<GeoPoint>)com.tomtom.sdk.datamanagement.nds.update.NdsStoreUpdater.updatePosition(GeoPoint)com.tomtom.sdk.datamanagement.datastore.StoreAccessclasscom.tomtom.sdk.datamanagement.datastore.StoreAccessProviderinterface
-
Deprecate the object
com.tomtom.sdk.navigation.horizon.elements.traffic.TrafficEventElementType. Usecom.tomtom.sdk.navigation.horizon.elements.traffic.TrafficElementTypeinstead. -
Deprecate:
com.tomtom.sdk.navigation.TomTomNavigation.addRouteUpdatedListener(RouteUpdatedListener)com.tomtom.sdk.navigation.TomTomNavigation.removeRouteUpdatedListener(RouteUpdatedListener)com.tomtom.sdk.navigation.RouteUpdatedListenerReplace it with:com.tomtom.sdk.navigation.TomTomNavigation.addRouteUpdatedListener2(RouteUpdatedListener2)com.tomtom.sdk.navigation.TomTomNavigation.removeRouteUpdatedListener2(RouteUpdatedListener2)com.tomtom.sdk.navigation.RouteUpdatedListener2Withcom.tomtom.sdk.navigation.RouteUpdatedListener2, there is no guarantee that route geometry will be preserved. As a result, after receiving an update viacom.tomtom.sdk.navigation.RouteUpdatedListener2.onRouteUpdated(Route, RouteUpdatedReason), the route should be redrawn.
-
Deprecate:
com.tomtom.sdk.navigation.online.OnlineTomTomNavigationFactorycom.tomtom.sdk.navigation.online.Configuration. To create an instance of TomTomNavigation with online configuration use either:com.tomtom.sdk.navigation.TomTomNavigation(Context, String, LocationProvider, NavigationTileStore)com.tomtom.sdk.navigation.TomTomNavigation(Context, LocationProvider, NavigationTileStore, RoutingConfiguration, NavigationConfiguration, HazardsConfiguration, SafetyLocationsConfiguration).
-
Deprecated the
com.tomtom.sdk.navigation.horizon.RouteLengthPolicyconstructor. Usecom.tomtom.sdk.navigation.horizon.ExplicitDistancePolicy(PathSearchDistance=) instead.
Removals
-
Remove deprecated:
com.tomtom.sdk.navigation.arrival.ArrivalDetectionEngineOptions.copy()methodcom.tomtom.sdk.navigation.arrival.ArrivalDetectionEngineOptionsdestructuring declarationscom.tomtom.sdk.navigation.guidance.instruction.ArrivalGuidanceInstruction.copy()methodcom.tomtom.sdk.navigation.guidance.instruction.ArrivalGuidanceInstructiondestructuring declarationscom.tomtom.sdk.navigation.guidance.instruction.BorderCrossingGuidanceInstruction.copy()methodcom.tomtom.sdk.navigation.guidance.instruction.BorderCrossingGuidanceInstructiondestructuring declarationscom.tomtom.sdk.navigation.guidance.instruction.DepartureGuidanceInstruction.copy()methodcom.tomtom.sdk.navigation.guidance.instruction.DepartureGuidanceInstructiondestructuring declarationscom.tomtom.sdk.navigation.guidance.instruction.EnterAutoTransportGuidanceInstruction.copy()methodcom.tomtom.sdk.navigation.guidance.instruction.EnterAutoTransportGuidanceInstructiondestructuring declarationscom.tomtom.sdk.navigation.guidance.instruction.EnterCarpoolLaneGuidanceInstruction.copy()methodcom.tomtom.sdk.navigation.guidance.instruction.EnterCarpoolLaneGuidanceInstructiondestructuring declarationscom.tomtom.sdk.navigation.guidance.instruction.ExitAutoTransportGuidanceInstruction.copy()methodcom.tomtom.sdk.navigation.guidance.instruction.ExitAutoTransportGuidanceInstructiondestructuring declarationscom.tomtom.sdk.navigation.guidance.instruction.ExitCarpoolLaneGuidanceInstruction.copy()methodcom.tomtom.sdk.navigation.guidance.instruction.ExitCarpoolLaneGuidanceInstructiondestructuring declarationscom.tomtom.sdk.navigation.guidance.instruction.ExitHighwayGuidanceInstruction.copy()methodcom.tomtom.sdk.navigation.guidance.instruction.ExitHighwayGuidanceInstructiondestructuring declarationscom.tomtom.sdk.navigation.guidance.instruction.ExitRoundaboutGuidanceInstruction.copy()methodcom.tomtom.sdk.navigation.guidance.instruction.ExitRoundaboutGuidanceInstructiondestructuring declarationscom.tomtom.sdk.navigation.guidance.instruction.ForkGuidanceInstruction.copy()methodcom.tomtom.sdk.navigation.guidance.instruction.ForkGuidanceInstructiondestructuring declarationscom.tomtom.sdk.navigation.guidance.instruction.MandatoryTurnGuidanceInstruction.copy()methodcom.tomtom.sdk.navigation.guidance.instruction.MandatoryTurnGuidanceInstructiondestructuring declarationscom.tomtom.sdk.navigation.guidance.instruction.MergeGuidanceInstruction.copy()methodcom.tomtom.sdk.navigation.guidance.instruction.MergeGuidanceInstructiondestructuring declarationscom.tomtom.sdk.navigation.guidance.instruction.RoundaboutGuidanceInstruction.copy()methodcom.tomtom.sdk.navigation.guidance.instruction.RoundaboutGuidanceInstructiondestructuring declarationscom.tomtom.sdk.navigation.guidance.instruction.SwitchHighwayGuidanceInstruction.copy()methodcom.tomtom.sdk.navigation.guidance.instruction.SwitchHighwayGuidanceInstructiondestructuring declarationscom.tomtom.sdk.navigation.guidance.instruction.TollgateGuidanceInstruction.copy()methodcom.tomtom.sdk.navigation.guidance.instruction.TollgateGuidanceInstructiondestructuring declarationscom.tomtom.sdk.navigation.guidance.instruction.TurnAroundWhenPossibleGuidanceInstruction.copy()methodcom.tomtom.sdk.navigation.guidance.instruction.TurnAroundWhenPossibleGuidanceInstructiondestructuring declarationscom.tomtom.sdk.navigation.guidance.instruction.TurnGuidanceInstruction.copy()methodcom.tomtom.sdk.navigation.guidance.instruction.TurnGuidanceInstructiondestructuring declarationscom.tomtom.sdk.navigation.guidance.instruction.WaypointGuidanceInstruction.copy()methodcom.tomtom.sdk.navigation.guidance.instruction.WaypointGuidanceInstructiondestructuring declarationscom.tomtom.sdk.navigation.RouteUpdatedReason.Companionproperties
Personalization
Breaking changes
-
Reorganized personal data modules.
The following modules were relocated with no changes in functionality:
com.tomtom.sdk.personaldata:personal-data-api->com.tomtom.sdk.personaldata:personal-data-common
Updates
-
The following API classes and all members are promoted to General Availability:
com.tomtom.sdk.personaldata.DestinationProposalcom.tomtom.sdk.personaldata.PersonalDatacom.tomtom.sdk.personaldata.PersonalLocationcom.tomtom.sdk.personaldata.Proposalscom.tomtom.sdk.personaldata.UserLocationscom.tomtom.sdk.personaldata.UserProfilecom.tomtom.sdk.personaldata.UserProfileCallbackcom.tomtom.sdk.personaldata.UserProfileClearedCallbackcom.tomtom.sdk.personaldata.UserProfileFailurecom.tomtom.sdk.personaldata.UserProfileFailure.ClearProfileFailurecom.tomtom.sdk.personaldata.UserProfileFailure.LoadProfileFailurecom.tomtom.sdk.personaldata.UserProfileFailure.UpdateProfileFailurecom.tomtom.sdk.personaldata.UserProfileUpdatedListener
Fixes
- Creating personal data in the same directory after closing it will not cause a crash.
- Ensure saving a recent location as favorite (and vice versa) returns the updated location instance.
- The favorite personal location is correctly removed after being added from a recent destination.
Routing
Breaking changes
-
Reorganize routing modules.
The following modules were relocated with no changes in functionality:
com.tomtom.sdk.routing.range:range-calculator->com.tomtom.sdk:routing:routing-commoncom.tomtom.sdk.routing:common->com.tomtom.sdk.routing:routing-commoncom.tomtom.sdk.routing:model->com.tomtom.sdk.routing:routing-commoncom.tomtom.sdk.routing:route-planner->com.tomtom.sdk.routing:routing-commoncom.tomtom.sdk.routing:route-planner-api-coroutines->com.tomtom.sdk.routing:routing-commoncom.tomtom.sdk.routing:range-calculator-offline->com.tomtom.sdk:routing:range-calculatorcom.tomtom.sdk.routing:range-calculator-online->com.tomtom.sdk:routing:range-calculatorcom.tomtom.sdk.routing:route-planner-hybrid->com.tomtom.sdk:routing:route-plannercom.tomtom.sdk.routing:route-planner-offline->com.tomtom.sdk:routing:route-plannercom.tomtom.sdk.routing:route-planner-online->com.tomtom.sdk:routing:route-planner
-
Stricter validation checks for charge level options in route planning, throwing
IllegalArgumentExceptionif not satisfied.Using battery capacity provided by the vehicle, now it is required that:
0_kWh <= minChargeAtDestination <= battery_capacity0_kWh <= minChargeAtChargingStops <= 0.5 * battery_capacity0_kWh <= minChargeAtFirstChargingStops <= minChargeAtChargingStops0_kWh <= criticalMinChargeAtDestination <= minChargeAtDestinationInkWh
New features
RoutePlanningOptionsApifor building instances ofRoutePlanningOptionsusing thebuildRoutePlanningOptionsfunction is now in GA.- Add ability to track usage of Charging Parks with Opening Hours feature.
- Add new RoutePlanningOptions2 APIs.
- Enable online range throttling logic if
OnlineRangeThrottlingFeatureis enabled. - Introduce
InternalOnlineRangeThrottlingApiwhich includes theOnlineRangeThrottlingFeaturetoggle. - Introduce online-first
RoutePlanner. - Promote
BetaRoutingNetworkFailureApito General Availability. - Promote
ServiceUrito General Availability. - Road numbers are no longer used in voice messages.
- Support of
chargingParkOpeningHoursresponse JSON field in online planner. - Support of
OpeningHoursinformation in onboard route planner. - Support of charging park opening hours preferences in online planner.
- The online routing request URL now supports the
vehicleBrandparameter. - You can now use new route planner failure types as part of BetaRoutingNetworkFailureApi.
Updates
-
ChargingOptionsparametersavoidChargingParksandchargingStopsStrategyare now part ofCompleteflavor. -
Add
reconstructionModetoRoutePlanningOptions.toString. -
Add
toStringmethod forHttpFailure. -
Add check on
RoutePlanningOptionswhich verifies that last waypointchargingStationIdis different from the one of destination. -
Add check which verifies that two consecutive waypoint have different
chargingStationId. -
Allow
minChargeAtChargingStopsto be higher than half battery capacity ifmodelIdis not provided. -
Charging parameters are now validated during construction instead of failing later during routing.
-
Correctly map vehicle ETC transponder availability for Online Services.
-
Deprecate
departureTimeWithZoneandarrivalTimeWithZonein route summary. -
Itinerary is now a class (not data class) with generated data class methods deprecated.
-
Pass route points per-leg instead of raw polyline to the engine;
-
Promote
com.tomtom.sdk.routing.options.calculation.ReconstructionModeto General Availability. -
Promote
PlanningTimeto General Availability. -
Remove check on half battery capacity for
minChargeAtChargingStops. -
Replace raw polyline with per-leg route points and removed dependencies on consumption annotations.
-
The following APIs are promoted to General Availability:
com.tomtom.sdk.routing.range.offline.OfflineRangeCalculatorFactoryobject and all memberscom.tomtom.sdk.routing.ComputationSourceclass and all memberscom.tomtom.sdk.routing.ComputationSource.Cacheclass and all memberscom.tomtom.sdk.routing.ComputationSource.Offlineclass and all memberscom.tomtom.sdk.routing.ComputationSource.Onlineclass and all memberscom.tomtom.sdk.routing.RouteDataFailureclass and all memberscom.tomtom.sdk.routing.RouteDataFailure.InvalidDataclass and all memberscom.tomtom.sdk.routing.RouteDataFailure.NoConsumptionclass and all memberscom.tomtom.sdk.routing.RouteDataFailure.NoRoutePointsclass and all memberscom.tomtom.sdk.routing.RouteDataFailure.OutOfBoundsclass and all memberscom.tomtom.sdk.routing.RouteDataFailure.WrongArgumentTypeclass and all members
-
Update
equals(),hashCode()andtoString()withRange.isFromCacheexperimental parameter.
Fixes
-
buildEvRoutePlanningOptionswill now successfully useavoidsthat are set as a parameter. -
ChargingOptions.avoidChargingParksandChargingParkPreferences.avoidChargingParksare in sync now. -
Calculate missing consumption values from route points in online routing mode.
-
Calculate summary reachability values for online routes.
-
Create new NDA native client for every routing request.
-
Fix
mapMatchedTrafficEventstartTime/stopTime. -
Fix a problem where RoutePlanner requests continued processing even after a cancellation was requested, ensuring that cancelled requests are now properly terminated.
-
Fix an issue for a dereferenced pointer.
-
Fix crash in AUI NavSDK related to incorrect handling of offroad waypoints in LDEV route updates.
-
Fix not calling RoutePlanningCallback when the.
caller of the RoutePlanner.planRoute does not hold a reference to the callback.
-
Fix travel time computation right after a charging station.
-
Improve routing request creation for vignettes.
-
Make sure that
RoutePlanningCallbackcoroutines execute on main thread. -
ManeuverGeometry is recovered after back to route.
-
Pass heading to all engine request types.
-
Remove duplicate values from
localeDefaultScriptMap. -
Remove road details from verbal "Follow the road..." audio announcements.
-
Sanitize
Vignettes.AllowandVignettes.Avoidinput strings. -
Set remaining budget field in route points for routes that are planned with an electric vehicle but without charging options.
Deprecations
- Deprecate
HybridRoutePlanner.createandExecutionPolicy. - Deprecate
OnlineRangeCalculatorFactory. - Deprecate
OnlineRoutePlannertype. - Deprecate
RangeCalculationOptions.routeToIncludeparameter. - Deprecate data class fields of
ChargingConnectorandChargingParameters. - Deprecate data class fields of
Range. - Fix incorrect replacement suggestion for a deprecated field.
Search
Breaking changes
-
Reorganize search modules.
The following artifacts were relocated with no changes in functionality:
com.tomtom.sdk.search:reverse-geocoder->com.tomtom.sdk.search:search-commoncom.tomtom.sdk.search:dynamic-data->com.tomtom.sdk.search:search-commoncom.tomtom.sdk.search:search->com.tomtom.sdk.search:search-commoncom.tomtom.sdk.search:structured-search->com.tomtom.sdk.search:search-commoncom.tomtom.sdk.search:search-online->com.tomtom.sdk.search:searchcom.tomtom.sdk.search:search-offline->com.tomtom.sdk.search:searchcom.tomtom.sdk.search:search-hybrid->com.tomtom.sdk.search:searchcom.tomtom.sdk.search:structured-search-offline->com.tomtom.sdk.search:searchcom.tomtom.sdk.search:dynamic-data-online->com.tomtom.sdk.search:searchcom.tomtom.sdk.search:search-custom-data-online->com.tomtom.sdk.search:searchcom.tomtom.sdk.search:reverse-geocoder-online->com.tomtom.sdk.search:reverse-geocodercom.tomtom.sdk.search:reverse-geocoder-offline->com.tomtom.sdk.search:reverse-geocodercom.tomtom.sdk.search:reverse-geocoder-hybrid->com.tomtom.sdk.search:reverse-geocoder
New features
PlaceSearchnow handlesdiscoverActiontype inDiscoverResult.- Add
Add stopbutton to the route preview screen. - Add
Plan route,Add waypoint, andSet originactions to the Search v3 detail screen. - Add a basic search detail view in Compose.
- Add EV Search v3 filters and results screens.
- Introduce a
CompleteSDK flavour for Search APIs. - Introduce a new composable component for displaying search results using Search List v3.
Updates
-
Enhance the search functionality by addressing and closing gaps in error handling.
-
EV Search APIs are now available in General Availability. The following APIs have been promoted to General Availability:
com.tomtom.sdk.search.ev.EvSearchOptionscom.tomtom.sdk.search.ev.EvSearchResponsecom.tomtom.sdk.search.ev.EvSearchResultcom.tomtom.sdk.search.ev.EvSearchCallbackcom.tomtom.sdk.search.Search.evSearch(EvSearchOptions):Result<EvSearchResponse, SearchFailure>com.tomtom.sdk.search.Search.evSearch(EvSearchOptions,EvSearchCallback): Cancellable
Additionally:
com.tomtom.sdk.location.poi.ev.AccessTypeis also now available in General Availability. Customers can now use these APIs in production without requiring@OptInannotations. No additional actions are needed for migration.
-
Move
FuelPriceProviderandParkingDetailProviderfromCompletetoExtendedflavor. -
Reduce allocations and copies in offline search.
-
Rename
SearchFailure.NoFtsIndexFailuretoSearchFailure.NoSearchIndexFailureto improve clarity and align with terminology used throughout the SDK. -
Return correct POI ID and EVDS ID for
evPoiDetailsAPI. -
The following APIs are available in General Availability:
com.tomtom.sdk.search.Search.requestEvPoiDetailscom.tomtom.sdk.search.poidetails.EvPoiDetailsCallbackcom.tomtom.sdk.search.poidetails.EvPoiDetailsOptionscom.tomtom.sdk.search.poidetails.EvPoiDetailsResponsecom.tomtom.sdk.search.poidetails.buildEvPoiDetailsOptionsUsecom.tomtom.sdk.search.Search.requestEvPoiDetailsto obtain or refresh charging park details available fromcom.tomtom.sdk.search.Search.evSearch
-
The following APIs are promoted to General Availability:
com.tomtom.sdk.search.customdata.CustomPoiclass and all memberscom.tomtom.sdk.search.customdata.CustomPoiProviderclass and all memberscom.tomtom.sdk.search.dynamicdata.EvChargingAvailabilityProviderclass and all memberscom.tomtom.sdk.search.dynamicdata.ParkingDetailProvider.requestParkingPrice(ParkingPriceOptions):Result<ParkingPriceResponse,SearchFailure>com.tomtom.sdk.search.dynamicdata.ParkingDetailProvider.requestParkingPrice(ParkingPriceOptions,ParkingPriceCallback):Cancellablecom.tomtom.sdk.search.dynamicdata.ev.EvChargingAvailabilityCallbackclass and all memberscom.tomtom.sdk.search.dynamicdata.ev.EvChargingAvailabilityOptionsclass and all memberscom.tomtom.sdk.search.dynamicdata.ev.EvChargingAvailabilityResponseclass and all memberscom.tomtom.sdk.search.dynamicdata.model.ev.Availabilityclass and all memberscom.tomtom.sdk.search.dynamicdata.model.ev.ConnectorAvailabilityclass and all memberscom.tomtom.sdk.search.dynamicdata.model.ev.ConnectorAvailabilityDetailsclass and all memberscom.tomtom.sdk.search.dynamicdata.model.parking.price.Feeclass and all memberscom.tomtom.sdk.search.dynamicdata.model.parking.price.FuzzyDurationclass and all memberscom.tomtom.sdk.search.dynamicdata.model.parking.price.ParkingDurationclass and all memberscom.tomtom.sdk.search.dynamicdata.model.parking.price.PaymentDetailsclass and all memberscom.tomtom.sdk.search.dynamicdata.model.parking.price.PaymentMethodclass and all memberscom.tomtom.sdk.search.dynamicdata.model.parking.price.PaymentTypeclass and all memberscom.tomtom.sdk.search.dynamicdata.model.parking.price.Priceclass and all memberscom.tomtom.sdk.search.dynamicdata.model.parking.price.Rateclass and all memberscom.tomtom.sdk.search.dynamicdata.model.parking.price.RateClassifierclass and all memberscom.tomtom.sdk.search.dynamicdata.model.parking.price.RateDetailsclass and all memberscom.tomtom.sdk.search.dynamicdata.model.parking.price.Ticketclass and all memberscom.tomtom.sdk.search.dynamicdata.parking.price.ParkingPriceCallbackclass and all memberscom.tomtom.sdk.search.dynamicdata.parking.price.ParkingPriceOptionsclass and all memberscom.tomtom.sdk.search.dynamicdata.parking.price.ParkingPriceResponseclass and all memberscom.tomtom.sdk.search.dynamicdata.online.OnlineDynamicDataProviderFactory.createEvChargingAvailabilityProvider(Context,String):EvChargingAvailabilityProvidercom.tomtom.sdk.search.dynamicdata.online.OnlineDynamicDataProviderFactory.createParkingDetailProvider(Context,String):ParkingDetailProvidercom.tomtom.sdk.search.offline.OfflineSearch.Companion.create(NdsStore,List<CustomPoiProvider>,PersonalData):Searchcom.tomtom.sdk.search.offline.OfflineSearch.Companion.create(NdsStore,List<CustomPoiProvider>?=):Searchcom.tomtom.sdk.search.online.custompoi.OnlineWithCustomPoiSearch.kt.create(OnlineSearch.Companion,Context,String,List<CustomPoiProvider>,URL?=,String?=):Search
-
The following is now available in General Availability:
com.tomtom.sdk.search.buildPoiCategorySearchOptionscom.tomtom.sdk.search.buildTextSearchOptionscom.tomtom.sdk.search.reversegeocoder.buildReverseGeocoderOptions()
-
The following SearchOptions factories are now available in General Availability:
com.tomtom.sdk.search.buildAlongRouteWithPoiCategorySearchOptionscom.tomtom.sdk.search.buildAutocompleteOptionscom.tomtom.sdk.search.buildBrandInAreaSearchOptionscom.tomtom.sdk.search.buildBrandSearchOptionscom.tomtom.sdk.search.buildPoiCategoryInAreaSearchOptions
These APIs can be used to efficiently create search options for various use cases, including POI category searches, brand searches, area-based searches, and route-based searches.
Fixes
-
Add new fuel type in bindings.
-
Add radius validation and align with backend evsearch REST API specification for minimum radius for
EvSearchOptions. -
Charging stations now correctly display Plug and Charge capability.
-
Enhance Places search to use more fields in Suggest and Discover for richer Detail queries.
-
Fix a crash with handling
EOFExceptionfor truncated HTTP response bodies in search. -
Fix crash in reverse geocoder on server disconnect.
The crash occurred due to a
SocketTimeoutExceptionwhen acquiring GPS fix. This has been addressed by improving exception mapping for network failures and adding robust error handling during response deserialization. -
Fix deserialization of
EvByIdcall when no results are available. -
Fix failure when
com.tomtom.sdk.location.poi.ev.AccessType.Companyis passed incom.tomtom.sdk.search.ev.EvSearchOptions. -
Fix filtering by CPOs and EMSPs.
-
Improve
HybridReverseGeocoderandHybridSearchbehavior for offline scenarios.This update ensures that the
HybridCoordinatornow immediately returns offline results upon detecting no network connectivity, eliminating unnecessary delays during offline operations -
Online EV Search now uses stable eMSP identifiers for filtering.
-
Online reverse geocoder is cancelled promptly with timeout leading to faster response time in case of a timeout.
-
Populate correctly
neighborhoodNameandpostalNameincom.tomtom.sdk.location.Addressfrom online search responses. -
Prevent ANR in
HybridReverseGeocoderby using dedicated IO dispatcher for offline engine callback and not using main thread. -
Prevent crash when reading truncated or corrupted gzipped HTTP response bodies during online search. The SDK now handles these I/O errors gracefully by returning
com.tomtom.sdk.search.common.error.SearchFailure.NetworkFailureorcom.tomtom.sdk.search.common.error.SearchFailure.HttpFailureinstead of crashing. -
Support multiple brands in
Discover Action.
Deprecations
- Deprecate
com.tomtom.sdk.search.dynamicdata.online.OnlineDynamicDataProviderFactory. - Deprecate
com.tomtom.sdk.search.hybrid.HybridSearch. - Deprecate
com.tomtom.sdk.search.online.OnlineSearchandcom.tomtom.sdk.search.reversegeocoder.online.OnlineReverseGeocoderclasses. - Deprecate
com.tomtom.sdk.search.reversegeocoder.hybrid.HybridReverseGeocoder.
Telemetry
New features
-
Fill external EV POI resolution failure metric.
-
Fill telemetry data for external EV POI usage.
-
Telemetry event with loading duration is generated for each part of the metadata:
- navigation part
- search and bmd part
Updates
-
The following APIs are promoted to General Availability:
com.tomtom.sdk.telemetry.RestrictedTelemetryConfigProviderclass and all memberscom.tomtom.sdk.telemetry.Consentclass and all memberscom.tomtom.sdk.telemetry.DefaultTelemetryConfigProviderclass and all memberscom.tomtom.sdk.telemetry.Telemetryobject and all memberscom.tomtom.sdk.telemetry.TelemetryConfigProviderclass and all members
-
The following Telemetry API is now available in General Availability:
com.tomtom.sdk.telemetry.UserConsent
Fixes
RoutePlanningFallbackRequestEventis now anEventtype supported byRoutingFcdArchive.RoutePlanningFallbackRequestEventis now properly mapped to FCD container.
Traffic
Breaking changes
-
Reorganize traffic modules.
The following modules were relocated with no changes in functionality:
com.tomtom.sdk.traffic:client->com.tomtom.sdk.traffic:traffic-clientcom.tomtom.sdk.traffic:traffic-client-api->com.tomtom.sdk.traffic:traffic-commoncom.tomtom.sdk.traffic:model->com.tomtom.sdk.traffic:traffic-common
New features
- Promote
com.tomtom.sdk.traffic.common.CoreTrafficEventto General Availability.
Updates
-
The following API classes and all their members are promoted to General Availability:
com.tomtom.sdk.traffic.Categorycom.tomtom.sdk.traffic.Causecom.tomtom.sdk.traffic.CauseCodecom.tomtom.sdk.traffic.EffectCodecom.tomtom.sdk.traffic.RoadClasscom.tomtom.sdk.traffic.RoadSubClasscom.tomtom.sdk.traffic.RoadTypecom.tomtom.sdk.traffic.Trafficcom.tomtom.sdk.traffic.TrafficChangedListenercom.tomtom.sdk.traffic.TrafficErrorcom.tomtom.sdk.traffic.TrafficEventcom.tomtom.sdk.traffic.TrafficEventsCallbackcom.tomtom.sdk.traffic.TrafficEventsResultcom.tomtom.sdk.traffic.WarningLevel
Fixes
- Route update in the traffic client component is no longer executed on the main thread.
Deprecations
-
Deprecate the
com.tomtom.sdk.traffic.client.TrafficClientFactory.createHybridModemethod. -
The following API is deprecated:
com.tomtom.sdk.traffic.client.TrafficTpegConfigurationclass and all members
Vehicle
Breaking changes
-
Reorganize vehicle modules.
The following artifacts were renamed with no changes in functionality:
com.tomtom.sdk.vehicle:model->com.tomtom.sdk.vehicle:vehicle-common
Deprecations
com.tomtom.sdk.vehicle.ChargeLevelhas been changed from a data class to a regular class. As a result,component1(),component2()andcopy(), are now deprecated.
Removals
- Remove deprecated
com.tomtom.sdk.vehicle.CombustionEngine.copy()method. - Remove deprecated
com.tomtom.sdk.vehicle.CombustionEnginedestructuring declarations.
Virtual Horizon
Breaking changes
-
com.tomtom.sdk.datamanagement.nds.AccessReleasedCallback.invoke()is now available inExtendedflavour. -
com.tomtom.sdk.datamanagement.nds.AccessReleasedCallbackis now available inExtendedflavour. -
com.tomtom.sdk.datamanagement.nds.NdsStoreFailureis now available inExtendedflavour. -
Reorganize
safetylocationsandhazardsmodules.The following modules were relocated with no changes in functionality:
com.tomtom.sdk.safetylocations:safetylocations-online->com.tomtom.sdk.safetylocations:safetylocationscom.tomtom.sdk.safetylocations:safetylocations-model->com.tomtom.sdk.safetylocations:safetylocations-commoncom.tomtom.sdk.hazards:hazards-online->com.tomtom.sdk.hazards:hazardscom.tomtom.sdk.hazards:hazards-model->com.tomtom.sdk.hazards:hazards-common
New features
-
The following is now available in General Availability:
com.tomtom.sdk.navigation.horizon.buildHorizonOptionscom.tomtom.sdk.navigation.horizon.elements.traffic.TrafficElementcom.tomtom.sdk.navigation.horizon.elements.traffic.TrafficElementType
Updates
-
Promote
com.tomtom.sdk.navigation.horizon.elements.poi.PoiElement2to General Availability. -
Promote
com.tomtom.sdk.navigation.horizon.elements.poi.PoiElementType2to General Availability. -
Promote to General Availability:
com.tomtom.sdk.hazards.model.BadRoadConditionssecondary constructorcom.tomtom.sdk.hazards.model.BadRoadConditions.Causecom.tomtom.sdk.hazards.model.BadRoadConditions.causescom.tomtom.sdk.hazards.model.ReducedVisibilitycom.tomtom.sdk.hazards.model.ReducedVisibility.Causecom.tomtom.sdk.hazards.model.ReducedVisibility.causescom.tomtom.sdk.hazards.model.ObjectsOnRoadsecondary constructorcom.tomtom.sdk.hazards.model.ObjectsOnRoad.Causecom.tomtom.sdk.hazards.model.ObjectsOnRoad.causes
Fixes
- Add a retry mechanism to handle cases where regular subscriptions fail to update.
- Add bounding box and path intersection optimization in
Horizon. Improve safety camera projection by fixing bounding box overlap logic. - Block empty payload messages from
HiveMQ. - Fix
NoSuchElementExceptioninRouteTrafficExtractor. - Fix an issue where POI (Point of Interest) elements were not published from the horizon when using an
online-onlyinitialization surface. - Fix an issue with missing map tiles during location updates.
- Fix race condition during engine switching in
com.tomtom.sdk.navigation.horizon.hybrid.HybridHorizonEngine. - Fix the horizon options used by the cover‑horizon subscription during route navigation.
Deprecations
-
Deprecate
com.tomtom.sdk.hazards.model.HazardType.getAllHazardTypes. -
Deprecate
com.tomtom.sdk.hazards.model.HazardType.Roadworksandcom.tomtom.sdk.hazards.model.DetailedHazardInformation.RoadWorks. -
Deprecate
com.tomtom.sdk.navigation.horizon.elements.poi.PoiElement. Usecom.tomtom.sdk.navigation.horizon.elements.poi.PoiElement2instead. -
Deprecate
com.tomtom.sdk.navigation.horizon.elements.poi.PoiElementType. Usecom.tomtom.sdk.navigation.horizon.elements.poi.PoiElementType2instead. -
Deprecate
com.tomtom.sdk.safetylocations.model.SafetyLocationType.getAllSafetyLocationTypes. -
Deprecate:
com.tomtom.sdk.hazards.model.BadRoadConditionsprimary constructorcom.tomtom.sdk.hazards.model.BadRoadConditions.hasPotholescom.tomtom.sdk.hazards.model.ReducedVisibilityprimary constructorcom.tomtom.sdk.hazards.model.ReducedVisibility.dueToHeavyRaincom.tomtom.sdk.hazards.model.ReducedVisibility.dueToFogcom.tomtom.sdk.hazards.model.ObjectsOnRoadprimary constructorcom.tomtom.sdk.hazards.model.ObjectsOnRoad.animalcom.tomtom.sdk.hazards.model.ObjectsOnRoad.people