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/Extended product flavors.

    Use missingDimensionStrategy("tomtom-sdk-version", <flavor_name>) in the defaultConfig block of your Android module to specify the default flavor used by NavSDK. Replace <flavor_name> with either Complete or Extended, depending on your requirements.

  • Change com.tomtom.sdk.common.android.LocationMapper to com.tomtom.sdk.location.android.LocationMapper, which also requires updating the dependency declaration from com.tomtom.sdk.common:android to com.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:core
    • com.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:tts com.tomtom.sdk:tts-engine-android -> com.tomtom.sdk:tts

  • Set the maximum major version to 2.

  • Update Android compileSDK to API level 35.

New features
  • Promote BetaFuelConsumptionPerKilometerApi to General Availability.
Updates
  • The following APIs are available in General Availability:

    • com.tomtom.sdk.location.Place.id
    • com.tomtom.sdk.location.Place.Id
    • com.tomtom.sdk.location.Place.details
    • com.tomtom.sdk.location.Place.Details
  • The following Init Surface APIs are now available in General Availability:

    • com.tomtom.sdk.init.TomTomSdk
    • com.tomtom.sdk.common.configuration.SdkContext
    • com.tomtom.sdk.common.configuration.SdkConfiguration
    • com.tomtom.sdk.common.configuration.SdkConfiguration.buildSdkConfiguration
    • com.tomtom.sdk.common.configuration.CoreConfiguration
    • com.tomtom.sdk.common.configuration.CacheStorageConfiguration
    • com.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:ui and com.tomtom.sdk.search:ui are 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.Bitmap class and all members
    • com.tomtom.sdk.common.graphics.ColorSpace class and all members
    • com.tomtom.sdk.common.graphics.RgbColorSpace class and all members
    • com.tomtom.sdk.common.metadata.MetadataProvider class and all members
Fixes
  • Allow non-Compose MapView to be used.
  • Remove networkstate and telemetry config provider from common-initialiser.
  • Resolve a potential deadlock that could occur during Logger configuration.
  • 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
  • TaskHandler is now deprecated. Use coroutines instead.

Data Management

Breaking changes
  • Remove the DEFAULT_GEOPOLITICAL_VIEW constant from NavigationTileStoreConfiguration.

  • 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-store
    • com.tomtom.sdk.datamanagement:nds-store-updater -> com.tomtom.sdk.datamanagement:data-store
    • com.tomtom.sdk.datamanagement:navigation-tile-store -> com.tomtom.sdk.datamanagement:data-store
    • com.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.MapId
    • com.tomtom.sdk..mapreferences.MapPosition -> com.tomtom.sdk.datamanagement.mapreferences.MapPosition
    • com.tomtom.sdk..mapreferences.MapReferences -> com.tomtom.sdk.datamanagement.mapreferences.MapReferences
    • com.tomtom.sdk..mapreferences.RegionId -> com.tomtom.sdk.datamanagement.mapreferences.RegionId
Updates
  • Increase the default amount of memory that a NavigationTileStore instance created with the public NavigationTileStore.create() function may use to cache navigation tiles from 50 MiB to 300 MiB.

    • Setting a non-default value via NavigationTileStoreConfiguration.cachingConfiguration.maxMemorySize is not affected.
  • The following API classes and all members are promoted to General Availability:

    • com.tomtom.sdk.datamanagement.nds.NdsMapUpdater
    • com.tomtom.sdk.datamanagement.nds.update.AutomaticMapUpdateFailureListener
    • com.tomtom.sdk.datamanagement.nds.update.CompletedMapOperation
    • com.tomtom.sdk.datamanagement.nds.update.CurrentMapOperation
    • com.tomtom.sdk.datamanagement.nds.update.InstallState
    • com.tomtom.sdk.datamanagement.nds.update.MapOperation
    • com.tomtom.sdk.datamanagement.nds.update.MapOperationType
    • com.tomtom.sdk.datamanagement.nds.update.MapUpdateError
    • com.tomtom.sdk.datamanagement.nds.update.MapUpdateError.Canceled
    • com.tomtom.sdk.datamanagement.nds.update.MapUpdateError.DatabaseError
    • com.tomtom.sdk.datamanagement.nds.update.MapUpdateError.ExclusiveAccessNotAcquired
    • com.tomtom.sdk.datamanagement.nds.update.MapUpdateError.FileSystemError
    • com.tomtom.sdk.datamanagement.nds.update.MapUpdateError.InitFailed
    • com.tomtom.sdk.datamanagement.nds.update.MapUpdateError.InsufficientDiskSpace
    • com.tomtom.sdk.datamanagement.nds.update.MapUpdateError.InvalidArgument
    • com.tomtom.sdk.datamanagement.nds.update.MapUpdateError.MissingUpdates
    • com.tomtom.sdk.datamanagement.nds.update.MapUpdateError.NetworkError
    • com.tomtom.sdk.datamanagement.nds.update.MapUpdateError.NoMapAvailable
    • com.tomtom.sdk.datamanagement.nds.update.MapUpdateError.SharedMapAccessError
    • com.tomtom.sdk.datamanagement.nds.update.MapUpdateError.Unexpected
    • com.tomtom.sdk.datamanagement.nds.update.MapUpdateError.UpdatesDisabled
    • com.tomtom.sdk.datamanagement.nds.update.NdsStoreUpdater
    • com.tomtom.sdk.datamanagement.nds.update.NdsStoreUpdaterConfiguration
    • com.tomtom.sdk.datamanagement.nds.update.NetworkConnectivityConfiguration
    • com.tomtom.sdk.datamanagement.nds.update.RegionGraph
    • com.tomtom.sdk.datamanagement.nds.update.RegionGraphListener
    • com.tomtom.sdk.datamanagement.nds.update.RegionGraphNodeId
    • com.tomtom.sdk.datamanagement.nds.update.RegionGraphNodeState
    • com.tomtom.sdk.datamanagement.nds.update.RegionsAlongPolyline
    • com.tomtom.sdk.datamanagement.nds.update.RegionsAroundPosition
    • com.tomtom.sdk.datamanagement.nds.update.UpdateInfo
    • com.tomtom.sdk.datamanagement.nds.update.automatic.AutomaticNdsStoreUpdaterConfiguration
    • com.tomtom.sdk.datamanagement.nds.update.automatic.AutomaticNdsStoreUpdaterConfiguration.AllRegions
    • com.tomtom.sdk.datamanagement.nds.update.automatic.AutomaticNdsStoreUpdaterConfiguration.DataRemovalStrategy
    • com.tomtom.sdk.datamanagement.nds.update.automatic.AutomaticNdsStoreUpdaterConfiguration.RegionsAlongRoute
    • com.tomtom.sdk.datamanagement.nds.update.automatic.AutomaticNdsStoreUpdaterConfiguration.RelevantRegions
    • com.tomtom.sdk.datamanagement.nds.update.compositeregion.CompositeRegion
    • com.tomtom.sdk.datamanagement.nds.update.compositeregion.CompositeRegionId
    • com.tomtom.sdk.datamanagement.nds.update.compositeregion.CompositeRegionListener
    • com.tomtom.sdk.datamanagement.nds.update.compositeregion.CompositeRegionOperation
    • com.tomtom.sdk.datamanagement.nds.update.compositeregion.CompositeRegionState
    • com.tomtom.sdk.datamanagement.nds.update.compositeregion.CompositeRegionStatesData
    • com.tomtom.sdk.datamanagement.nds.update.compositeregion.CompositeRegionsUpdater
    • com.tomtom.sdk.datamanagement.nds.update.compositeregion.CurrentCompositeRegionOperation
  • Update logging levels in the NDS.Classic map 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 the createNavigationTileStore() functions to set the default memory limit for caching tiles to 50 MiB when a TomTomMapsService URI is passed, instead of the previous incorrect value of 300 MiB. The default for a TomTomOrbisMapsService URI remains 300 MiB.
Deprecations
  • The following API classes and all members are deprecated:

    • com.tomtom.sdk.datamanagement.locationdecoder.DataVersion
    • com.tomtom.sdk.datamanagement.locationdecoder.DecodedLocation
    • com.tomtom.sdk.datamanagement.locationdecoder.DecodingCoverage
    • com.tomtom.sdk.datamanagement.locationdecoder.DecodingFailure
    • com.tomtom.sdk.datamanagement.locationdecoder.DecodingFailure.DecodingError
    • com.tomtom.sdk.datamanagement.locationdecoder.DecodingFailure.NoMapAccessOnMapUpdate
    • com.tomtom.sdk.datamanagement.locationdecoder.DecodingFailure.ProjectionError
    • com.tomtom.sdk.datamanagement.locationdecoder.SegmentMatchStatus
    • com.tomtom.sdk.datamanagement.nds.NdsMapContext
Removals
  • Remove com.tomtom.sdk.datamanagement:data-store-updater module after removal of last remaining deprecated class.
  • Remove deprecated com.tomtom.sdk.datamanagement.datastoreupdater.DataStoreUpdater class.
  • 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.geoLocation is now internal.
Updates
  • The following API classes are promoted to General Availability:

    • com.tomtom.sdk.location.Location
    • com.tomtom.sdk.location.DistanceTraveled
    • com.tomtom.sdk.location.DrivingDirection
    • com.tomtom.sdk.location.Provider
    • com.tomtom.sdk.location.Satellites
    • com.tomtom.sdk.location.TurnLightIndicator
    • com.tomtom.sdk.location.attitude.Attitude
    • com.tomtom.sdk.location.perception.Perception
    • com.tomtom.sdk.location.position.Altitude
    • com.tomtom.sdk.location.position.Position
    • com.tomtom.sdk.location.time.Time
    • com.tomtom.sdk.location.velocity.VehicleSpeed
    • com.tomtom.sdk.location.velocity.Velocity
    • com.tomtom.sdk.location.android.LocationInterceptor
    • com.tomtom.sdk.location.Location.copy():com.tomtom.sdk.location.Location
    • com.tomtom.sdk.location.OnLocationUpdateListener.onLocationUpdate(com.tomtom.sdk.location.Location)
    • com.tomtom.sdk.location.DefaultLocationProviderFactory.create(Context,CoroutineDispatcher,LocationProviderConfig,LocationInterceptor?):LocationProvider
    • com.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_TOLERANCE
    • com.tomtom.sdk.location.GeoPoint.latitudeAngle
    • com.tomtom.sdk.location.GeoPoint.longitudeAngle
    • com.tomtom.sdk.location.IconReference class and all members
    • com.tomtom.sdk.location.PersonalLocationType class and all members
    • com.tomtom.sdk.location.RoadShield(String,IconReference?,String=,List<String>=,String=,String=)
    • com.tomtom.sdk.location.RoadShield.iconReference:IconReference
    • com.tomtom.sdk.location.poi.Source.Companion.PersonalLocations
    • om.tomtom.sdk.location.poi.StandardCategoryId.Companion.NonStandard
    • com.tomtom.sdk.location.poi.ev.Capability class and all members
    • com.tomtom.sdk.location.poi.ev.ChargingPark class and all members
    • com.tomtom.sdk.location.poi.ev.ChargingPoint class and all members
    • com.tomtom.sdk.location.poi.ev.ChargingStation class and all members
    • com.tomtom.sdk.location.poi.ev.Connector class and all members
    • com.tomtom.sdk.location.poi.ev.ParkingRestriction class and all members
    • com.tomtom.sdk.location.poi.ev.Status class and all members
    • com.tomtom.sdk.location.simulation.SimulationStrategy.calculateLocation()
    • com.tomtom.sdk.location.traceslogger.FileExtension class and all members
    • com.tomtom.sdk.location.traceslogger.parser.FilePickedFailure class and all members
    • com.tomtom.sdk.location.traceslogger.parser.FilePickedFailure.InvalidExtension class and all members
    • com.tomtom.sdk.location.traceslogger.parser.FilePickedFailure.UnknownFailure class and all members
    • com.tomtom.sdk.location.traceslogger.parser.LocationTracesParser class and all members
    • com.tomtom.sdk.location.traceslogger.parser.SharedStorageFileAccessor class and all members
    • com.tomtom.sdk.location.traceslogger.recorder.DirectoryLoggerStrategy class and all members
    • com.tomtom.sdk.location.traceslogger.recorder.FileNameStrategy class and all members
    • com.tomtom.sdk.location.traceslogger.recorder.LocationTracesRecorder class and all members
    • com.tomtom.sdk.location.traceslogger.recorder.LocationTracesRecorderFactory object and all members
    • com.tomtom.sdk.location.traceslogger.recorder.LocationTracesRecorderFailure class and all members
    • com.tomtom.sdk.location.traceslogger.recorder.LoggerStrategy class and all members
    • com.tomtom.sdk.location.traceslogger.recorder.SharedStorageDirectoryPicker class and all members
Fixes
  • PersonalLocationType is now part of Extended flavor.
Deprecations
  • The following APIs are deprecated:

    • com.tomtom.sdk.location.android.AndroidLocationProvider(Context,CoroutineDispatcher,AndroidLocationProviderConfig=)
Removals
  • Remove deprecated:

    • com.tomtom.sdk.location.android.AndroidLocationProvider class
    • com.tomtom.sdk.location.gms.GmsLocationProvider class
    • com.tomtom.sdk.location.mapmatched.MapMatchedLocationProvider class
    • com.tomtom.sdk.location.proxy.ProxyLocationProvider class

Map Visualization

Breaking changes
  • com.tomtom.sdk.map.display.ui.LifecycleAware is now available in Extended flavour.

  • com.tomtom.sdk.map.display.ui.MapProvider is now available in Extended flavour.

  • com.tomtom.sdk.map.display.ui.MapReadyCallback is now available in Extended flavour.

  • com.tomtom.sdk.map.display.ui.UiComponentClickListener is now available in Extended flavour.

  • Rename module map-data-store-common to map-tile-store-common.

  • Rename module map-data-store-navigation to map-tile-store-navigation.

  • Rename module map-data-store to map-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-common
    • com.tomtom.sdk.maps:map-display -> com.tomtom.sdk.maps:map-display-standard
    • com.tomtom.sdk.maps:data-provider -> com.tomtom.sdk.maps:map-data-store-common
    • com.tomtom.sdk.maps:traffic-data-provider -> com.tomtom.sdk.maps:map-data-store-navigation
    • com.tomtom.sdk.maps:hybrid-data-provider -> com.tomtom.sdk.maps:map-data-store-navigation
    • com.tomtom.sdk.maps:data-provider-offline -> com.tomtom.sdk.maps:map-data-store-navigation
    • com.tomtom.sdk.maps:map-data-provider -> com.tomtom.sdk.maps:map-data-store
    • com.tomtom.sdk.maps:style-provider-offline -> com.tomtom.sdk.maps:map-display-style-provider-offline
    • com.tomtom.sdk.maps:map-data-store-online -> com.tomtom.sdk.maps:map-data-store
    • com.tomtom.sdk.maps:map-data-store-hybrid -> com.tomtom.sdk.maps:map-data-store-navigation
    • com.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.OrbisMap and StandardStyle.TomTomMap variants to the StandardStyles class, 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. The com.tomtom.sdk.map.display.mapdatastore.common.MapDataStore is an alias for com.tomtom.sdk.map.display.maptilestore.MapTileStore.

  • Introduce com.tomtom.sdk.map.display.maptilestore.MapTileStoreAccess. The com.tomtom.sdk.map.display.mapdatastore.common.MapDataStoreAccess is an alias for com.tomtom.sdk.map.display.maptilestore.MapTileStoreAccess.

  • Promote com.tomtom.sdk.map.display.camera.InitialCameraOptions.LocationBased to General Availability.

  • Promote com.tomtom.sdk.map.display.camera.InitialCameraOptions to General Availability.

  • Remove RestrictToExtendedFlavor annotation for Maps SDK APIs available in Complete flavor.

  • The class com.tomtom.sdk.map.display.camera.FollowCameraOperatorConfig is now in Complete flavor.

  • The following APIs are promoted to General Availability:

    • com.tomtom.sdk.map.display.camera.CameraOptionsFactory.positionMarkerVerticalOffset(Double):CameraOptions
    • com.tomtom.sdk.map.display.polygon.InnerPolygonOption class and all members
    • com.tomtom.sdk.map.display.polygon.PolygonOverlay class and all members
    • com.tomtom.sdk.map.display.polygon.PolygonOverlayController class and all members
    • com.tomtom.sdk.map.display.route.Route.areInstructionsVisible
    • com.tomtom.sdk.map.display.route.RouteOptions.areInstructionsVisible
    • com.tomtom.sdk.map.display.dataprovider.DataProvider class and all members
    • com.tomtom.sdk.map.display.dataprovider.DataProviderListener class and all members
    • com.tomtom.sdk.map.display.mapdatastore.common.MapDataStore class and all members
    • com.tomtom.sdk.map.display.dataprovider.offline.TileOfflineDataProviderFactory object and all members
    • com.tomtom.sdk.map.display.trafficdataprovider.TrafficDataProviderFactory object and all members
    • com.tomtom.sdk.map.display.mapdataprovider.MapDataProviderFactory object and all members
    • com.tomtom.sdk.map.display.mapdatastore.online.CacheStorageConfiguration
    • com.tomtom.sdk.map.display.mapdatastore.online.OnlineMapDataStoreConfiguration
    • com.tomtom.sdk.map.display.mapdatastore.online.OnlineMapDataStoreController
    • com.tomtom.sdk.map.display.styleprovider.offline.StyleUriProvider object and all members
    • com.tomtom.sdk.map.display.visualization.navigation.GuidanceType.Companion.LaneLevel
    • com.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.areRouteInstructionsVisible
    • com.tomtom.sdk.map.display.visualization.navigation.NavigationVisualization.betterRoute:BetterRouteVisualization
    • com.tomtom.sdk.map.display.visualization.navigation.NavigationVisualization.safetyLocationVisualization:SafetyLocationVisualization
    • com.tomtom.sdk.map.display.visualization.navigation.NavigationVisualization.unitSystem:UnitSystem
    • com.tomtom.sdk.map.display.visualization.navigation.StyleConfiguration(RouteStyle=,RouteTrafficIncidentStyle=,SafetyLocationStyle=,BetterRouteStyle=)
    • com.tomtom.sdk.map.display.visualization.navigation.StyleConfiguration.betterRouteStyle:BetterRouteStyle
    • com.tomtom.sdk.map.display.visualization.navigation.StyleConfiguration.route:RouteStyle
    • com.tomtom.sdk.map.display.visualization.navigation.StyleConfiguration.routeTrafficIncident:RouteTrafficIncidentStyle
    • com.tomtom.sdk.map.display.visualization.navigation.StyleConfiguration.safetyLocationStyle:SafetyLocationStyle
    • com.tomtom.sdk.map.display.visualization.navigation.betterroute.BetterRouteClickedListener class and all members
    • com.tomtom.sdk.map.display.visualization.navigation.betterroute.BetterRouteMarkerStyle class and all members
    • com.tomtom.sdk.map.display.visualization.navigation.betterroute.BetterRouteStyle class and all members
    • com.tomtom.sdk.map.display.visualization.navigation.betterroute.BetterRouteVisualization class and all members
    • com.tomtom.sdk.map.display.visualization.navigation.horizon.safetylocation.SafetyLocationClickedListener class and all members
    • com.tomtom.sdk.map.display.visualization.navigation.horizon.safetylocation.SafetyLocationCountOptions class and all members
    • com.tomtom.sdk.map.display.visualization.navigation.horizon.safetylocation.SafetyLocationMarkerStyle class and all members
    • com.tomtom.sdk.map.display.visualization.navigation.horizon.safetylocation.SafetyLocationStyle class and all members
    • com.tomtom.sdk.map.display.visualization.navigation.horizon.safetylocation.SafetyLocationVisualization class and all members
    • com.tomtom.sdk.map.display.visualization.navigation.horizon.safetylocation.TextStyle class and all members
    • com.tomtom.sdk.map.display.visualization.poi.OnRouteDetails class and all members
    • com.tomtom.sdk.map.display.visualization.poi.PoiClickedListener class and all members
    • com.tomtom.sdk.map.display.visualization.poi.PoiLocation class and all members
    • com.tomtom.sdk.map.display.visualization.poi.PoiVisualization class and all members
    • com.tomtom.sdk.map.display.visualization.range.ColorByZoom class and all members
    • com.tomtom.sdk.map.display.visualization.range.NamedCircle class and all members
    • com.tomtom.sdk.map.display.visualization.range.NamedPolygon class and all members
    • com.tomtom.sdk.map.display.visualization.range.Range class and all members
    • com.tomtom.sdk.map.display.visualization.range.Range.NamedCircles class and all members
    • com.tomtom.sdk.map.display.visualization.range.Range.NamedPolygons class and all members
    • com.tomtom.sdk.map.display.visualization.range.RangeStyle class and all members
    • com.tomtom.sdk.map.display.visualization.range.RangeVisualization class and all members
    • com.tomtom.sdk.map.display.visualization.range.StyleByZoom class and all members
    • com.tomtom.sdk.map.display.visualization.range.WidthByZoom class and all members
    • com.tomtom.sdk.map.display.visualization.routing.RouteStyle class and all members
    • com.tomtom.sdk.map.display.visualization.routing.RouteStyle.DestinationConnectionLineStyle class and all members
    • com.tomtom.sdk.map.display.visualization.routing.RouteStyle.EvWaypointMarkerStyle class and all members
    • com.tomtom.sdk.map.display.visualization.routing.RouteStyle.LinePatternDisplay class and all members
    • com.tomtom.sdk.map.display.visualization.routing.RouteStyle.RouteVehicleRestrictionLineStyle class and all members
    • com.tomtom.sdk.map.display.visualization.routing.RoutingVisualization.areRouteInstructionsVisible
    • com.tomtom.sdk.map.display.visualization.routing.StyleConfiguration(RouteStyle=,RouteTrafficIncidentStyle=)
    • com.tomtom.sdk.map.display.visualization.routing.StyleConfiguration.route:RouteStyle
    • com.tomtom.sdk.map.display.visualization.routing.StyleConfiguration.routeTrafficIncident:RouteTrafficIncidentStyle
    • com.tomtom.sdk.map.display.visualization.routing.traffic.RouteTrafficIncidentStyle class and all members
    • com.tomtom.sdk.map.display.visualization.routing.traffic.RouteTrafficIncidentStyle.LinePatternDisplay class and all members
    • com.tomtom.sdk.map.display.visualization.routing.traffic.RouteTrafficIncidentStyle.MagnitudeOfDelayKey class and all members
    • com.tomtom.sdk.map.display.visualization.routing.traffic.RouteTrafficIncidentStyle.MagnitudeOfDelayProperties class and all members
    • com.tomtom.sdk.map.display.visualization.routing.traffic.RouteTrafficIncidentStyle.MarkerVisibility class and all members
    • com.tomtom.sdk.map.display.visualization.routing.traffic.RouteTrafficIncidentStyle.TrafficIncidentCategoryKey class and all members
    • com.tomtom.sdk.map.display.visualization.routing.traffic.TrafficIncidentCategory class and all members
    • com.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.MapDisplayInfrastructure
    • com.tomtom.sdk.map.display.compose.TomTomMap
    • com.tomtom.sdk.map.display.MapLocationInfrastructure
    • com.tomtom.sdk.map.display.MapTileInfrastructure
    • com.tomtom.sdk.map.display.style.StandardStyles
    • com.tomtom.sdk.map.display.visualization.navigation.compose.NavigationVisualization
    • com.tomtom.sdk.map.display.visualization.navigation.NavigationVisualizationDataProvider
    • com.tomtom.sdk.map.display.visualization.routing.compose.RoutingVisualization
    • com.tomtom.sdk.map.display.visualization.routing.RoutingVisualizationDataProvider
  • The interface com.tomtom.sdk.map.display.maptilestore.MapTileStoreAccess is moved to Extended flavor.

  • Update ElasticDataProvider bindings 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 MichiMapLifecycleClient when a function was called after the object was closed.
  • Fix a crash in Lane Level Guidance.
  • Fix a crash in the composable NavigationVisualization during device rotation while navigating.
  • Fix a crash that could occur if the MapView was destroyed before initialization finished, especially when the app was started and immediately closed. This fix affects the map-display-standard module.
  • 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.displayRoutes during navigation without a selected route.
  • Fix a POI issue where distances on map markers were incorrectly displayed in meters instead of kilometers.
  • Fix an UntaggedSocketViolation StrictMode 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 InterruptedIOException in MapDataStoreUriHandler.
  • 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.displayRoutePlan method.
  • 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 GuidanceType property.
  • 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 NavigationEventsConnector is initialized with NavigationState other than Idle.
  • 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 UntaggedSocketViolation StrictMode 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.BROWSING
    • com.tomtom.sdk.map.display.style.StandardStyles.DRIVING
    • com.tomtom.sdk.map.display.style.StandardStyles.SATELLITE
    • com.tomtom.sdk.map.display.style.StandardStyles.VEHICLE_RESTRICTIONS
  • Deprecate the following:

    • com.tomtom.sdk.map.display.mapdatastore.online.OnlineMapDataStoreConfiguration
    • com.tomtom.sdk.map.display.mapdatastore.online.OnlineMapDataStoreController
    • com.tomtom.sdk.map.display.visualization.navigation.GuidanceType
    • com.tomtom.sdk.map.display.visualization.navigation.NavigationVisualization.guidanceType
    • com.tomtom.sdk.map.display.dataprovider.hybrid.TileHybridDataProviderFactory
    • com.tomtom.sdk.map.display.mapdatastore.hybrid.HybridMapDataStore
    • com.tomtom.sdk.map.display.mapdatastore.hybrid.HybridMapDataStoreConfiguration
    • com.tomtom.sdk.map.display.mapdatastore.hybrid.HybridMapDataStoreController
    • com.tomtom.sdk.map.display.mapdatastore.hybrid.HybridMapDataStoreFactory
    • the com.tomtom.sdk.map.display.MapOptions.cameraOptions API
    • 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 MapOptions primary constructor with MapOptions(mapKey, initialCameraOptions, padding, mapStyle, styleMode, onlineCachePolicy, renderToTexture) constructor instead.
Breaking changes
  • com.tomtom.sdk.datamanagement.nds.NdsStore is now an abstract class.
  • com.tomtom.sdk.datamanagement.nds.update.AutomaticMapUpdateFailureListener is moved to Extended flavor.
  • Electric vehicle parameters are now validated before the vehicle is instantiated.
  • Remove validRemainingRouteDuration from com.tomtom.sdk.navigation.NavigationConfiguration.
  • Vehicle input parameters are now validated before the vehicle is instantiated.
New features
  • com.tomtom.sdk.navigation.RouteUpdatedListener2 is now in General Availability.
  • Add asymmetrical trifurcation implementation.
  • Add dynamic route update interval trigger logic.
Updates
  • com.tomtom.sdk.vehicle.provider.VehicleProvider is now in General Availiability.

  • Adjust replan cooldown period.

  • Do not attempt back to route replanning when the last route point has been reached.

  • Make NavigationTileStore APIs restricted to the Extended flavour.

  • Make public general availability APIs for guidance instructions and announcements part of the Complete NavSDK flavor.

  • Make public general availability APIs for lane guidance and announcements part of the Complete NavSDK flavor.

  • Move HybridRouteReplanner to navigation:navigation module.

  • Override default equals and hashCode for RouteAddedReason.

  • Promote com.tomtom.sdk.navigation.MutableNavigationConfiguration to General Availablity.

  • Promote com.tomtom.sdk.navigation.TomTomNavigation.configuration:MutableNavigationConfiguration to General Availablity.

  • Promote com.tomtom.sdk.navigation.tracking.UnfollowedRoute.reason API 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.HazardsConfiguration class and all members
    • com.tomtom.sdk.hazards.model.DetailedHazardInformation class and all members
    • com.tomtom.sdk.hazards.model.DetailedHazardInformation.BadRoadConditions class and all members
    • com.tomtom.sdk.hazards.model.DetailedHazardInformation.JamTail class and all members
    • com.tomtom.sdk.hazards.model.DetailedHazardInformation.ObjectsOnRoad class and all members
    • com.tomtom.sdk.hazards.model.DetailedHazardInformation.ReducedVisibility class and all members
    • com.tomtom.sdk.hazards.model.DetailedHazardInformation.RoadWorks class and all members
    • com.tomtom.sdk.hazards.model.DetailedHazardInformation.StrongWind class and all members
    • com.tomtom.sdk.hazards.model.Hazard class and all members
    • com.tomtom.sdk.hazards.model.HazardCategory class and all members
    • com.tomtom.sdk.hazards.model.HazardId class and all members
    • com.tomtom.sdk.hazards.model.HazardLocation class and all members
    • com.tomtom.sdk.hazards.model.HazardLocation.Area class and all members
    • com.tomtom.sdk.hazards.model.HazardLocation.Linear class and all members
    • com.tomtom.sdk.hazards.model.HazardLocation.Spot class and all members
    • com.tomtom.sdk.hazards.model.HazardSeverity class and all members
    • com.tomtom.sdk.hazards.model.HazardType class and all members
    • com.tomtom.sdk.navigation.HorizonUpdatedListener.onHorizonReset(HorizonOptions)
    • com.tomtom.sdk.navigation.NavigationEngineRegistry class and all members
    • com.tomtom.sdk.navigation.NavigationSnapshotExtensions.kt.currentActiveRoutePlanningOptions:RoutePlanningOptions
    • com.tomtom.sdk.navigation.RouteAddedReason.Invalidated class and all members
    • com.tomtom.sdk.navigation.RouteAddedReason.NavigationResumed class and all members
    • com.tomtom.sdk.navigation.RoutePlanningOptionsExtensions.kt.addItineraryPoint(RoutePlanningOptions,ItineraryPoint):RoutePlanningOptions
    • com.tomtom.sdk.navigation.RoutePlanningOptionsExtensions.kt.addItineraryPoint(RoutePlanningOptions,ItineraryPoint,ItineraryPoint):RoutePlanningOptions
    • com.tomtom.sdk.navigation.RoutePlanningOptionsExtensions.kt.removeItineraryPoint(RoutePlanningOptions,ItineraryPoint):RoutePlanningOptions
    • com.tomtom.sdk.navigation.RoutePlanningOptionsExtensions.kt.skipRouteStop(RoutePlanningOptions,RouteStop):RoutePlanningOptions
    • com.tomtom.sdk.navigation.TomTomNavigation.navigationEngineRegistry:NavigationEngineRegistry
    • com.tomtom.sdk.navigation.TomTomNavigation.navigationResumeSnapshot():Result<NavigationResumeSnapshot,NavigationResumeSnapshotFailure>
    • com.tomtom.sdk.navigation.TomTomNavigation.resume(NavigationResumeSnapshot)
    • com.tomtom.sdk.navigation.arrival.ArrivalDetectionEngine class and all members
    • com.tomtom.sdk.navigation.datastoremaintenance.DataStoreMaintenanceEngine class and all members
    • com.tomtom.sdk.navigation.datastoreselection.DataSourceSelection class and all members
    • com.tomtom.sdk.navigation.datastoreselection.NavigationDataSource class and all members
    • com.tomtom.sdk.navigation.guidance.AnnouncementMode class and all members
    • com.tomtom.sdk.navigation.guidance.GuidanceEngine class and all members
    • com.tomtom.sdk.navigation.guidance.GuidanceEngineFactory object and all members
    • com.tomtom.sdk.navigation.guidance.GuidanceEngineOptions class and all members
    • com.tomtom.sdk.navigation.guidance.LaneGuidanceUpdate class and all members
    • com.tomtom.sdk.navigation.guidance.LaneGuidanceUpdateType class and all members
    • com.tomtom.sdk.navigation.guidance.instruction.Signpost(String=,String=,String=,IconReference?=)
    • com.tomtom.sdk.navigation.guidance.instruction.Signpost.exitIconReference
    • com.tomtom.sdk.navigation.horizon.HorizonEngine class and all members
    • com.tomtom.sdk.navigation.horizon.HorizonSnapshotState.resetCounter:Int
    • com.tomtom.sdk.navigation.horizon.elements.hazard.HazardElement class and all members
    • com.tomtom.sdk.navigation.horizon.elements.hazard.HazardElementType object and all members
    • com.tomtom.sdk.navigation.horizon.elements.lowemissionzone.LowEmissionZoneElement class and all members
    • com.tomtom.sdk.navigation.horizon.elements.lowemissionzone.LowEmissionZoneElementType object and all members
    • com.tomtom.sdk.navigation.horizon.elements.poi.PoiElement class and all members
    • com.tomtom.sdk.navigation.horizon.elements.poi.PoiElementType object and all members
    • com.tomtom.sdk.navigation.horizon.elements.railwaycrossing.RailwayCrossingElement class and all members
    • com.tomtom.sdk.navigation.horizon.elements.railwaycrossing.RailwayCrossingElementType object and all members
    • com.tomtom.sdk.navigation.horizon.elements.traffic.TrafficEventElement class and all members
    • com.tomtom.sdk.navigation.horizon.elements.traffic.TrafficEventElementType object and all members
    • com.tomtom.sdk.navigation.horizon.elements.trafficlight.TrafficLightElement class and all members
    • com.tomtom.sdk.navigation.horizon.elements.trafficlight.TrafficLightElementType object and all members
    • com.tomtom.sdk.navigation.horizon.elements.trafficsign.TrafficSignCategory class and all members
    • com.tomtom.sdk.navigation.horizon.elements.trafficsign.TrafficSignElement class and all members
    • com.tomtom.sdk.navigation.horizon.elements.trafficsign.TrafficSignElementType object and all members
    • com.tomtom.sdk.navigation.horizon.elements.trafficsign.TrafficSignLocation class and all members
    • com.tomtom.sdk.navigation.mapmatching.MapMatchingEngine class and all members
    • com.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.OfflineMapMatchingEngineFactory object and all members
    • com.tomtom.sdk.navigation.mapmatching.tilestore.TileStoreMapMatchingEngineFactory object and all members
    • com.tomtom.sdk.navigation.navigationresumesnapshot.NavigationResumeSnapshot class and all members
    • com.tomtom.sdk.navigation.navigationresumesnapshot.NavigationResumeSnapshotFailure class and all members
    • com.tomtom.sdk.navigation.navigationresumesnapshot.NavigationResumeSnapshotFailure.NoActiveRouteFailure class and all members
    • com.tomtom.sdk.navigation.navigationresumesnapshot.NavigationResumeSnapshotSerializationFailure class and all members
    • 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?=,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.RouteProgressEngine class and all members
    • com.tomtom.sdk.navigation.replanning.ReplannedRoute class and all members
    • com.tomtom.sdk.navigation.replanning.RouteProposalSelector class and all members
    • com.tomtom.sdk.navigation.replanning.RouteReplanningEngine class and all members
    • com.tomtom.sdk.navigation.replanning.RouteReplanningEngineFactory object and all members
    • com.tomtom.sdk.navigation.replanning.RouteReplanningEngineFailure class and all members
    • com.tomtom.sdk.navigation.replanning.RouteReplanningEngineFailure.ReplanningFailure class and all members
    • com.tomtom.sdk.navigation.replanning.RouteReplanningEngineFailure.UnsupportedReplanningFailure class and all members
    • com.tomtom.sdk.navigation.replanning.RouteReplanningEngineOptions class and all members
    • com.tomtom.sdk.navigation.replanning.RouteReplanningFailure class and all members
    • com.tomtom.sdk.navigation.replanning.RouteReplanningFailure.RouteMergingFailure class and all members
    • com.tomtom.sdk.navigation.replanning.RouteReplanningFailure.RoutePlanningFailure class and all members
    • com.tomtom.sdk.navigation.replanning.RouteReplanningFailure.RouteValidationFailure class and all members
    • com.tomtom.sdk.navigation.replanning.RouteReplanningFailure.UnsupportedRouteReplanningFailure class and all members
    • com.tomtom.sdk.navigation.replanning.RouteReplanningReason class and all members
    • com.tomtom.sdk.navigation.replanning.RouteReplanningReason.BetterFound class and all members
    • com.tomtom.sdk.navigation.replanning.RouteReplanningReason.Blockage class and all members
    • com.tomtom.sdk.navigation.replanning.RouteReplanningReason.Deviation class and all members
    • com.tomtom.sdk.navigation.replanning.RouteReplanningReason.Increment class and all members
    • com.tomtom.sdk.navigation.replanning.RouteReplanningReason.Invalidated class and all members
    • com.tomtom.sdk.navigation.replanning.RouteReplanningReason.LanguageChange class and all members
    • com.tomtom.sdk.navigation.replanning.RouteReplanningReason.OutOfRange class and all members
    • com.tomtom.sdk.navigation.replanning.RouteReplanningReason.Refresh class and all members
    • com.tomtom.sdk.navigation.replanning.RouteUpdateMode class and all members
    • com.tomtom.sdk.navigation.resumesnapshotrenewer.NavigationResumeSnapshotRenewer class and all members
    • com.tomtom.sdk.navigation.resumesnapshotrenewer.NavigationResumeSnapshotRenewerFactory object and all members
    • com.tomtom.sdk.navigation.resumesnapshotrenewer.NavigationResumeSnapshotRenewerFailure class and all members
    • com.tomtom.sdk.navigation.resumesnapshotrenewer.NavigationResumeSnapshotRenewerFailure.NoNavigationResumeSnapshotFailure class and all members
    • com.tomtom.sdk.navigation.resumesnapshotrenewer.NavigationResumeSnapshotRenewerFailure.PersistenceFailure class and all members
    • com.tomtom.sdk.navigation.resumesnapshotrenewer.NavigationResumeSnapshotRenewerOptions class and all members
    • com.tomtom.sdk.navigation.routecomparison.SectionsDifference class and all members
    • com.tomtom.sdk.navigation.routereplanner.RouteReplanner class and all members
    • com.tomtom.sdk.navigation.routereplanner.RouteReplannerConfiguration class and all members
    • com.tomtom.sdk.navigation.routereplanner.RouteReplannerResponse class and all members
    • com.tomtom.sdk.navigation.routereplanner.offline.OfflineRouteReplannerFactory object and all members
    • com.tomtom.sdk.navigation.routereplanner.online.OnlineRouteReplannerFactory object and all members
    • com.tomtom.sdk.navigation.tracking.RouteTrackingEngine class and all members
    • com.tomtom.sdk.navigation.tracking.RouteTrackingEngineFactory object and all members
  • The following is now mutable:

    • com.tomtom.sdk.datamanagement.nds.NdsStoreConfiguration.accessPermit
    • com.tomtom.sdk.datamanagement.nds.NdsStoreConfiguration.geopoliticalView
    • com.tomtom.sdk.datamanagement.nds.NdsStoreConfiguration.keyStorePath
    • com.tomtom.sdk.datamanagement.nds.NdsStoreConfiguration.ndsStorePath
  • Throw IllegalArgumentException instead of Exception when 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.RouteRemovedListener to inform about routes removal when com.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 Place information from the route stop, instead of relying on the place from ItineraryPointif ChargingPark information available in the Poi is 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 NavigationTileStoreConfig values 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 laneDriven and laneLocalizationToggle after lane guidance is no longer visible.
  • Resolve an IllegalStateException in NavUiViewModel that occurred when GuidanceUpdatedListener was 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_VICINITY event 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.preferredLanguage are now also used for traffic information.
  • Use new vehicle data in plannedWith when a route is updated.
  • Use same location prediction for all routes in progress calculation.
Deprecations
  • Converting data classes BorderCrossing, Country, Road from com.tomtom.sdk.navigation.guidance.instruction package 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 validRemainingRouteDuration in com.tomtom.sdk.navigation.replanning.RouteReplanningEngineOptions.

  • Deprecate constructors com.tomtom.sdk.navigation.horizon.HorizonSnapshotState(Int=) and com.tomtom.sdk.navigation.horizon.HorizonSnapshotState(Int=, Int=). Deprecate com.tomtom.sdk.navigation.horizon.HorizonSnapshotState.updateCounter.

  • Deprecate the class com.tomtom.sdk.navigation.horizon.elements.traffic.TrafficEventElement. Use com.tomtom.sdk.navigation.horizon.elements.traffic.TrafficElement instead.

  • Deprecate the following APIs:

    • com.tomtom.sdk.navigation.offroad.Configuration class and all members
    • com.tomtom.sdk.navigation.offroad.OffRoadTomTomNavigationFactory object and all members
    • com.tomtom.sdk.navigation.offroad.arrival.OffRoadArrivalDetectionEngineFactory object and all members
    • com.tomtom.sdk.navigation.offroad.guidance.OffRoadGuidanceEngineFactory object and all members
    • com.tomtom.sdk.navigation.offroad.mapmatching.OffRoadMapMatchingEngineFactory object and all members
    • com.tomtom.sdk.navigation.offroad.progress.OffRoadRouteProgressEngineFactory object and all members
    • com.tomtom.sdk.navigation.offroad.routereplanner.OffRoadRouteReplannerFactory object and all members
    • com.tomtom.sdk.navigation.offroad.tracking.OffRoadRouteTrackingEngineFactory object and all members
  • Deprecate the following:

    • com.tomtom.sdk.navigation.TomTomNavigation.betterProposalAcceptanceMode:BetterProposalAcceptanceMode
    • com.tomtom.sdk.navigation.TomTomNavigation.unitSystem:UnitSystemType
    • com.tomtom.sdk.datamanagement.navigationtile.AreaAlongRoute
    • com.tomtom.sdk.datamanagement.navigationtile.CacheStorageConfiguration
    • com.tomtom.sdk.datamanagement.navigationtile.CachingConfiguration
    • com.tomtom.sdk.datamanagement.navigationtile.NavigationTileStore.Companion.create
    • com.tomtom.sdk.datamanagement.navigationtile.NavigationTileStoreConfiguration
    • com.tomtom.sdk.datamanagement.navigationtile.PrefetchingConfiguration
    • com.tomtom.sdk.datamanagement.nds.NdsStoreConfiguration.copy()
    • ReplanningRetryPolicy.calculateRetryDelay()
    • RouteReplanningEngine.replan()
    • RouteReplanningEngine.shouldReplan()
    • com.tomtom.sdk.datamanagement.datasource.DataSource class
    • com.tomtom.sdk.datamanagement.hybridnavigationdata.DataStoreUpdateMode class
    • com.tomtom.sdk.datamanagement.hybridnavigationdata.HybridNavigationDataStore class
    • com.tomtom.sdk.navigation.mapmatching.hybrid.HybridMapMatchingEngineFactory object
    • com.tomtom.sdk.datamanagement.datasource.DataSourceChangedListener
    • com.tomtom.sdk.datamanagement.datasource.DataSourceChangedNotifier class
    • com.tomtom.sdk.navigation.datastoreselection.DefaultDataStoreSelectionEngineFactory
    • com.tomtom.sdk.navigation.hybrid.Configuration
    • com.tomtom.sdk.navigation.hybrid.HybridRouteReplannerFactoryExtension.createOnlineFirst extension function
    • com.tomtom.sdk.navigation.hybrid.HybridTomTomNavigationFactory
    • com.tomtom.sdk.navigation.hybrid.HybridTomTomNavigationFactory.createOnlineFirst method
    • com.tomtom.sdk.navigation.routereplanner.hybrid.HybridRouteReplannerFactory
    • com.tomtom.sdk.datamanagement.datastore.ActiveRouteUpdatable interface
    • com.tomtom.sdk.datamanagement.datastore.PositionUpdatable interface
    • com.tomtom.sdk.datamanagement.datastore.UpdatableDataStore interface
    • com.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.StoreAccess class
    • com.tomtom.sdk.datamanagement.datastore.StoreAccessProvider interface
  • Deprecate the object com.tomtom.sdk.navigation.horizon.elements.traffic.TrafficEventElementType. Use com.tomtom.sdk.navigation.horizon.elements.traffic.TrafficElementType instead.

  • Deprecate:

    • com.tomtom.sdk.navigation.TomTomNavigation.addRouteUpdatedListener(RouteUpdatedListener)
    • com.tomtom.sdk.navigation.TomTomNavigation.removeRouteUpdatedListener(RouteUpdatedListener)
    • com.tomtom.sdk.navigation.RouteUpdatedListener Replace it with:
    • com.tomtom.sdk.navigation.TomTomNavigation.addRouteUpdatedListener2(RouteUpdatedListener2)
    • com.tomtom.sdk.navigation.TomTomNavigation.removeRouteUpdatedListener2(RouteUpdatedListener2)
    • com.tomtom.sdk.navigation.RouteUpdatedListener2 With com.tomtom.sdk.navigation.RouteUpdatedListener2, there is no guarantee that route geometry will be preserved. As a result, after receiving an update via com.tomtom.sdk.navigation.RouteUpdatedListener2.onRouteUpdated(Route, RouteUpdatedReason), the route should be redrawn.
  • Deprecate:

    • com.tomtom.sdk.navigation.online.OnlineTomTomNavigationFactory
    • com.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.RouteLengthPolicy constructor. Use com.tomtom.sdk.navigation.horizon.ExplicitDistancePolicy(PathSearchDistance=) instead.

Removals
  • Remove deprecated:

    • com.tomtom.sdk.navigation.arrival.ArrivalDetectionEngineOptions.copy() method
    • com.tomtom.sdk.navigation.arrival.ArrivalDetectionEngineOptions destructuring declarations
    • com.tomtom.sdk.navigation.guidance.instruction.ArrivalGuidanceInstruction.copy() method
    • com.tomtom.sdk.navigation.guidance.instruction.ArrivalGuidanceInstruction destructuring declarations
    • com.tomtom.sdk.navigation.guidance.instruction.BorderCrossingGuidanceInstruction.copy() method
    • com.tomtom.sdk.navigation.guidance.instruction.BorderCrossingGuidanceInstruction destructuring declarations
    • com.tomtom.sdk.navigation.guidance.instruction.DepartureGuidanceInstruction.copy() method
    • com.tomtom.sdk.navigation.guidance.instruction.DepartureGuidanceInstruction destructuring declarations
    • com.tomtom.sdk.navigation.guidance.instruction.EnterAutoTransportGuidanceInstruction.copy() method
    • com.tomtom.sdk.navigation.guidance.instruction.EnterAutoTransportGuidanceInstruction destructuring declarations
    • com.tomtom.sdk.navigation.guidance.instruction.EnterCarpoolLaneGuidanceInstruction.copy() method
    • com.tomtom.sdk.navigation.guidance.instruction.EnterCarpoolLaneGuidanceInstruction destructuring declarations
    • com.tomtom.sdk.navigation.guidance.instruction.ExitAutoTransportGuidanceInstruction.copy() method
    • com.tomtom.sdk.navigation.guidance.instruction.ExitAutoTransportGuidanceInstruction destructuring declarations
    • com.tomtom.sdk.navigation.guidance.instruction.ExitCarpoolLaneGuidanceInstruction.copy() method
    • com.tomtom.sdk.navigation.guidance.instruction.ExitCarpoolLaneGuidanceInstruction destructuring declarations
    • com.tomtom.sdk.navigation.guidance.instruction.ExitHighwayGuidanceInstruction.copy() method
    • com.tomtom.sdk.navigation.guidance.instruction.ExitHighwayGuidanceInstruction destructuring declarations
    • com.tomtom.sdk.navigation.guidance.instruction.ExitRoundaboutGuidanceInstruction.copy() method
    • com.tomtom.sdk.navigation.guidance.instruction.ExitRoundaboutGuidanceInstruction destructuring declarations
    • com.tomtom.sdk.navigation.guidance.instruction.ForkGuidanceInstruction.copy() method
    • com.tomtom.sdk.navigation.guidance.instruction.ForkGuidanceInstruction destructuring declarations
    • com.tomtom.sdk.navigation.guidance.instruction.MandatoryTurnGuidanceInstruction.copy() method
    • com.tomtom.sdk.navigation.guidance.instruction.MandatoryTurnGuidanceInstruction destructuring declarations
    • com.tomtom.sdk.navigation.guidance.instruction.MergeGuidanceInstruction.copy() method
    • com.tomtom.sdk.navigation.guidance.instruction.MergeGuidanceInstruction destructuring declarations
    • com.tomtom.sdk.navigation.guidance.instruction.RoundaboutGuidanceInstruction.copy() method
    • com.tomtom.sdk.navigation.guidance.instruction.RoundaboutGuidanceInstruction destructuring declarations
    • com.tomtom.sdk.navigation.guidance.instruction.SwitchHighwayGuidanceInstruction.copy() method
    • com.tomtom.sdk.navigation.guidance.instruction.SwitchHighwayGuidanceInstruction destructuring declarations
    • com.tomtom.sdk.navigation.guidance.instruction.TollgateGuidanceInstruction.copy() method
    • com.tomtom.sdk.navigation.guidance.instruction.TollgateGuidanceInstruction destructuring declarations
    • com.tomtom.sdk.navigation.guidance.instruction.TurnAroundWhenPossibleGuidanceInstruction.copy() method
    • com.tomtom.sdk.navigation.guidance.instruction.TurnAroundWhenPossibleGuidanceInstruction destructuring declarations
    • com.tomtom.sdk.navigation.guidance.instruction.TurnGuidanceInstruction.copy() method
    • com.tomtom.sdk.navigation.guidance.instruction.TurnGuidanceInstruction destructuring declarations
    • com.tomtom.sdk.navigation.guidance.instruction.WaypointGuidanceInstruction.copy() method
    • com.tomtom.sdk.navigation.guidance.instruction.WaypointGuidanceInstruction destructuring declarations
    • com.tomtom.sdk.navigation.RouteUpdatedReason.Companion properties

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.DestinationProposal
    • com.tomtom.sdk.personaldata.PersonalData
    • com.tomtom.sdk.personaldata.PersonalLocation
    • com.tomtom.sdk.personaldata.Proposals
    • com.tomtom.sdk.personaldata.UserLocations
    • com.tomtom.sdk.personaldata.UserProfile
    • com.tomtom.sdk.personaldata.UserProfileCallback
    • com.tomtom.sdk.personaldata.UserProfileClearedCallback
    • com.tomtom.sdk.personaldata.UserProfileFailure
    • com.tomtom.sdk.personaldata.UserProfileFailure.ClearProfileFailure
    • com.tomtom.sdk.personaldata.UserProfileFailure.LoadProfileFailure
    • com.tomtom.sdk.personaldata.UserProfileFailure.UpdateProfileFailure
    • com.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-common
    • com.tomtom.sdk.routing:common -> com.tomtom.sdk.routing:routing-common
    • com.tomtom.sdk.routing:model -> com.tomtom.sdk.routing:routing-common
    • com.tomtom.sdk.routing:route-planner -> com.tomtom.sdk.routing:routing-common
    • com.tomtom.sdk.routing:route-planner-api-coroutines -> com.tomtom.sdk.routing:routing-common
    • com.tomtom.sdk.routing:range-calculator-offline -> com.tomtom.sdk:routing:range-calculator
    • com.tomtom.sdk.routing:range-calculator-online -> com.tomtom.sdk:routing:range-calculator
    • com.tomtom.sdk.routing:route-planner-hybrid -> com.tomtom.sdk:routing:route-planner
    • com.tomtom.sdk.routing:route-planner-offline -> com.tomtom.sdk:routing:route-planner
    • com.tomtom.sdk.routing:route-planner-online -> com.tomtom.sdk:routing:route-planner
  • Stricter validation checks for charge level options in route planning, throwing IllegalArgumentException if not satisfied.

    Using battery capacity provided by the vehicle, now it is required that:

    • 0_kWh <= minChargeAtDestination <= battery_capacity
    • 0_kWh <= minChargeAtChargingStops <= 0.5 * battery_capacity
    • 0_kWh <= minChargeAtFirstChargingStops <= minChargeAtChargingStops
    • 0_kWh <= criticalMinChargeAtDestination <= minChargeAtDestinationInkWh
New features
  • RoutePlanningOptionsApi for building instances of RoutePlanningOptions using the buildRoutePlanningOptions function 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 OnlineRangeThrottlingFeature is enabled.
  • Introduce InternalOnlineRangeThrottlingApi which includes the OnlineRangeThrottlingFeature toggle.
  • Introduce online-first RoutePlanner.
  • Promote BetaRoutingNetworkFailureApi to General Availability.
  • Promote ServiceUri to General Availability.
  • Road numbers are no longer used in voice messages.
  • Support of chargingParkOpeningHours response JSON field in online planner.
  • Support of OpeningHours information in onboard route planner.
  • Support of charging park opening hours preferences in online planner.
  • The online routing request URL now supports the vehicleBrand parameter.
  • You can now use new route planner failure types as part of BetaRoutingNetworkFailureApi.
Updates
  • ChargingOptions parameters avoidChargingParks and chargingStopsStrategy are now part of Complete flavor.

  • Add reconstructionMode to RoutePlanningOptions.toString.

  • Add toString method for HttpFailure.

  • Add check on RoutePlanningOptions which verifies that last waypoint chargingStationId is different from the one of destination.

  • Add check which verifies that two consecutive waypoint have different chargingStationId.

  • Allow minChargeAtChargingStops to be higher than half battery capacity if modelId is 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 departureTimeWithZone and arrivalTimeWithZone in 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.ReconstructionMode to General Availability.

  • Promote PlanningTime to 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.OfflineRangeCalculatorFactory object and all members
    • com.tomtom.sdk.routing.ComputationSource class and all members
    • com.tomtom.sdk.routing.ComputationSource.Cache class and all members
    • com.tomtom.sdk.routing.ComputationSource.Offline class and all members
    • com.tomtom.sdk.routing.ComputationSource.Online class and all members
    • com.tomtom.sdk.routing.RouteDataFailure class and all members
    • com.tomtom.sdk.routing.RouteDataFailure.InvalidData class and all members
    • com.tomtom.sdk.routing.RouteDataFailure.NoConsumption class and all members
    • com.tomtom.sdk.routing.RouteDataFailure.NoRoutePoints class and all members
    • com.tomtom.sdk.routing.RouteDataFailure.OutOfBounds class and all members
    • com.tomtom.sdk.routing.RouteDataFailure.WrongArgumentType class and all members
  • Update equals(), hashCode() and toString() with Range.isFromCache experimental parameter.

Fixes
  • buildEvRoutePlanningOptions will now successfully use avoids that are set as a parameter.

  • ChargingOptions.avoidChargingParks and ChargingParkPreferences.avoidChargingParks are 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 mapMatchedTrafficEvent startTime/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 RoutePlanningCallback coroutines 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.Allow and Vignettes.Avoid input strings.

  • Set remaining budget field in route points for routes that are planned with an electric vehicle but without charging options.

Deprecations
  • Deprecate HybridRoutePlanner.create and ExecutionPolicy.
  • Deprecate OnlineRangeCalculatorFactory.
  • Deprecate OnlineRoutePlanner type.
  • Deprecate RangeCalculationOptions.routeToInclude parameter.
  • Deprecate data class fields of ChargingConnector and ChargingParameters.
  • Deprecate data class fields of Range.
  • Fix incorrect replacement suggestion for a deprecated field.
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-common
    • com.tomtom.sdk.search:dynamic-data -> com.tomtom.sdk.search:search-common
    • com.tomtom.sdk.search:search -> com.tomtom.sdk.search:search-common
    • com.tomtom.sdk.search:structured-search -> com.tomtom.sdk.search:search-common
    • com.tomtom.sdk.search:search-online-> com.tomtom.sdk.search:search
    • com.tomtom.sdk.search:search-offline -> com.tomtom.sdk.search:search
    • com.tomtom.sdk.search:search-hybrid -> com.tomtom.sdk.search:search
    • com.tomtom.sdk.search:structured-search-offline -> com.tomtom.sdk.search:search
    • com.tomtom.sdk.search:dynamic-data-online -> com.tomtom.sdk.search:search
    • com.tomtom.sdk.search:search-custom-data-online -> com.tomtom.sdk.search:search
    • com.tomtom.sdk.search:reverse-geocoder-online -> com.tomtom.sdk.search:reverse-geocoder
    • com.tomtom.sdk.search:reverse-geocoder-offline -> com.tomtom.sdk.search:reverse-geocoder
    • com.tomtom.sdk.search:reverse-geocoder-hybrid -> com.tomtom.sdk.search:reverse-geocoder
New features
  • PlaceSearch now handles discoverAction type in DiscoverResult.
  • Add Add stop button to the route preview screen.
  • Add Plan route, Add waypoint, and Set origin actions to the Search v3 detail screen.
  • Add a basic search detail view in Compose.
  • Add EV Search v3 filters and results screens.
  • Introduce a Complete SDK 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.EvSearchOptions
    • com.tomtom.sdk.search.ev.EvSearchResponse
    • com.tomtom.sdk.search.ev.EvSearchResult
    • com.tomtom.sdk.search.ev.EvSearchCallback
    • com.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.AccessType is also now available in General Availability. Customers can now use these APIs in production without requiring @OptIn annotations. No additional actions are needed for migration.
  • Move FuelPriceProvider and ParkingDetailProvider from Complete to Extended flavor.

  • Reduce allocations and copies in offline search.

  • Rename SearchFailure.NoFtsIndexFailure to SearchFailure.NoSearchIndexFailure to improve clarity and align with terminology used throughout the SDK.

  • Return correct POI ID and EVDS ID for evPoiDetails API.

  • The following APIs are available in General Availability:

    • com.tomtom.sdk.search.Search.requestEvPoiDetails
    • com.tomtom.sdk.search.poidetails.EvPoiDetailsCallback
    • com.tomtom.sdk.search.poidetails.EvPoiDetailsOptions
    • com.tomtom.sdk.search.poidetails.EvPoiDetailsResponse
    • com.tomtom.sdk.search.poidetails.buildEvPoiDetailsOptions Use com.tomtom.sdk.search.Search.requestEvPoiDetails to obtain or refresh charging park details available from com.tomtom.sdk.search.Search.evSearch
  • The following APIs are promoted to General Availability:

    • com.tomtom.sdk.search.customdata.CustomPoi class and all members
    • com.tomtom.sdk.search.customdata.CustomPoiProvider class and all members
    • com.tomtom.sdk.search.dynamicdata.EvChargingAvailabilityProvider class and all members
    • com.tomtom.sdk.search.dynamicdata.ParkingDetailProvider.requestParkingPrice(ParkingPriceOptions):Result<ParkingPriceResponse,SearchFailure>
    • com.tomtom.sdk.search.dynamicdata.ParkingDetailProvider.requestParkingPrice(ParkingPriceOptions,ParkingPriceCallback):Cancellable
    • com.tomtom.sdk.search.dynamicdata.ev.EvChargingAvailabilityCallback class and all members
    • com.tomtom.sdk.search.dynamicdata.ev.EvChargingAvailabilityOptions class and all members
    • com.tomtom.sdk.search.dynamicdata.ev.EvChargingAvailabilityResponse class and all members
    • com.tomtom.sdk.search.dynamicdata.model.ev.Availability class and all members
    • com.tomtom.sdk.search.dynamicdata.model.ev.ConnectorAvailability class and all members
    • com.tomtom.sdk.search.dynamicdata.model.ev.ConnectorAvailabilityDetails class and all members
    • com.tomtom.sdk.search.dynamicdata.model.parking.price.Fee class and all members
    • com.tomtom.sdk.search.dynamicdata.model.parking.price.FuzzyDuration class and all members
    • com.tomtom.sdk.search.dynamicdata.model.parking.price.ParkingDuration class and all members
    • com.tomtom.sdk.search.dynamicdata.model.parking.price.PaymentDetails class and all members
    • com.tomtom.sdk.search.dynamicdata.model.parking.price.PaymentMethod class and all members
    • com.tomtom.sdk.search.dynamicdata.model.parking.price.PaymentType class and all members
    • com.tomtom.sdk.search.dynamicdata.model.parking.price.Price class and all members
    • com.tomtom.sdk.search.dynamicdata.model.parking.price.Rate class and all members
    • com.tomtom.sdk.search.dynamicdata.model.parking.price.RateClassifier class and all members
    • com.tomtom.sdk.search.dynamicdata.model.parking.price.RateDetails class and all members
    • com.tomtom.sdk.search.dynamicdata.model.parking.price.Ticket class and all members
    • com.tomtom.sdk.search.dynamicdata.parking.price.ParkingPriceCallback class and all members
    • com.tomtom.sdk.search.dynamicdata.parking.price.ParkingPriceOptions class and all members
    • com.tomtom.sdk.search.dynamicdata.parking.price.ParkingPriceResponse class and all members
    • com.tomtom.sdk.search.dynamicdata.online.OnlineDynamicDataProviderFactory.createEvChargingAvailabilityProvider(Context,String):EvChargingAvailabilityProvider
    • com.tomtom.sdk.search.dynamicdata.online.OnlineDynamicDataProviderFactory.createParkingDetailProvider(Context,String):ParkingDetailProvider
    • com.tomtom.sdk.search.offline.OfflineSearch.Companion.create(NdsStore,List<CustomPoiProvider>,PersonalData):Search
    • com.tomtom.sdk.search.offline.OfflineSearch.Companion.create(NdsStore,List<CustomPoiProvider>?=):Search
    • com.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.buildPoiCategorySearchOptions
    • com.tomtom.sdk.search.buildTextSearchOptions
    • com.tomtom.sdk.search.reversegeocoder.buildReverseGeocoderOptions()
  • The following SearchOptions factories are now available in General Availability:

    • com.tomtom.sdk.search.buildAlongRouteWithPoiCategorySearchOptions
    • com.tomtom.sdk.search.buildAutocompleteOptions
    • com.tomtom.sdk.search.buildBrandInAreaSearchOptions
    • com.tomtom.sdk.search.buildBrandSearchOptions
    • com.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 EOFException for truncated HTTP response bodies in search.

  • Fix crash in reverse geocoder on server disconnect.

    The crash occurred due to a SocketTimeoutException when 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 EvById call when no results are available.

  • Fix failure when com.tomtom.sdk.location.poi.ev.AccessType.Company is passed in com.tomtom.sdk.search.ev.EvSearchOptions.

  • Fix filtering by CPOs and EMSPs.

  • Improve HybridReverseGeocoder and HybridSearch behavior for offline scenarios.

    This update ensures that the HybridCoordinator now 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 neighborhoodName and postalName in com.tomtom.sdk.location.Address from online search responses.

  • Prevent ANR in HybridReverseGeocoder by 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.NetworkFailure or com.tomtom.sdk.search.common.error.SearchFailure.HttpFailure instead 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.OnlineSearch and com.tomtom.sdk.search.reversegeocoder.online.OnlineReverseGeocoder classes.
  • 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.RestrictedTelemetryConfigProvider class and all members
    • com.tomtom.sdk.telemetry.Consent class and all members
    • com.tomtom.sdk.telemetry.DefaultTelemetryConfigProvider class and all members
    • com.tomtom.sdk.telemetry.Telemetry object and all members
    • com.tomtom.sdk.telemetry.TelemetryConfigProvider class and all members
  • The following Telemetry API is now available in General Availability:

    • com.tomtom.sdk.telemetry.UserConsent
Fixes
  • RoutePlanningFallbackRequestEvent is now an Event type supported by RoutingFcdArchive.
  • RoutePlanningFallbackRequestEvent is 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-client
    • com.tomtom.sdk.traffic:traffic-client-api -> com.tomtom.sdk.traffic:traffic-common
    • com.tomtom.sdk.traffic:model -> com.tomtom.sdk.traffic:traffic-common
New features
  • Promote com.tomtom.sdk.traffic.common.CoreTrafficEvent to General Availability.
Updates
  • The following API classes and all their members are promoted to General Availability:

    • com.tomtom.sdk.traffic.Category
    • com.tomtom.sdk.traffic.Cause
    • com.tomtom.sdk.traffic.CauseCode
    • com.tomtom.sdk.traffic.EffectCode
    • com.tomtom.sdk.traffic.RoadClass
    • com.tomtom.sdk.traffic.RoadSubClass
    • com.tomtom.sdk.traffic.RoadType
    • com.tomtom.sdk.traffic.Traffic
    • com.tomtom.sdk.traffic.TrafficChangedListener
    • com.tomtom.sdk.traffic.TrafficError
    • com.tomtom.sdk.traffic.TrafficEvent
    • com.tomtom.sdk.traffic.TrafficEventsCallback
    • com.tomtom.sdk.traffic.TrafficEventsResult
    • com.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.createHybridMode method.

  • The following API is deprecated:

    • com.tomtom.sdk.traffic.client.TrafficTpegConfiguration class 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.ChargeLevel has been changed from a data class to a regular class. As a result, component1(), component2() and copy(), are now deprecated.
Removals
  • Remove deprecated com.tomtom.sdk.vehicle.CombustionEngine.copy() method.
  • Remove deprecated com.tomtom.sdk.vehicle.CombustionEngine destructuring declarations.

Virtual Horizon

Breaking changes
  • com.tomtom.sdk.datamanagement.nds.AccessReleasedCallback.invoke() is now available in Extended flavour.

  • com.tomtom.sdk.datamanagement.nds.AccessReleasedCallback is now available in Extended flavour.

  • com.tomtom.sdk.datamanagement.nds.NdsStoreFailure is now available in Extended flavour.

  • Reorganize safetylocations and hazards modules.

    The following modules were relocated with no changes in functionality:

    • com.tomtom.sdk.safetylocations:safetylocations-online -> com.tomtom.sdk.safetylocations:safetylocations
    • com.tomtom.sdk.safetylocations:safetylocations-model -> com.tomtom.sdk.safetylocations:safetylocations-common
    • com.tomtom.sdk.hazards:hazards-online -> com.tomtom.sdk.hazards:hazards
    • com.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.buildHorizonOptions
    • com.tomtom.sdk.navigation.horizon.elements.traffic.TrafficElement
    • com.tomtom.sdk.navigation.horizon.elements.traffic.TrafficElementType
Updates
  • Promote com.tomtom.sdk.navigation.horizon.elements.poi.PoiElement2 to General Availability.

  • Promote com.tomtom.sdk.navigation.horizon.elements.poi.PoiElementType2 to General Availability.

  • Promote to General Availability:

    • com.tomtom.sdk.hazards.model.BadRoadConditions secondary constructor
    • com.tomtom.sdk.hazards.model.BadRoadConditions.Cause
    • com.tomtom.sdk.hazards.model.BadRoadConditions.causes
    • com.tomtom.sdk.hazards.model.ReducedVisibility
    • com.tomtom.sdk.hazards.model.ReducedVisibility.Cause
    • com.tomtom.sdk.hazards.model.ReducedVisibility.causes
    • com.tomtom.sdk.hazards.model.ObjectsOnRoad secondary constructor
    • com.tomtom.sdk.hazards.model.ObjectsOnRoad.Cause
    • com.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 NoSuchElementException in RouteTrafficExtractor.
  • Fix an issue where POI (Point of Interest) elements were not published from the horizon when using an online-only initialization 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.Roadworks and com.tomtom.sdk.hazards.model.DetailedHazardInformation.RoadWorks.

  • Deprecate com.tomtom.sdk.navigation.horizon.elements.poi.PoiElement. Use com.tomtom.sdk.navigation.horizon.elements.poi.PoiElement2 instead.

  • Deprecate com.tomtom.sdk.navigation.horizon.elements.poi.PoiElementType. Use com.tomtom.sdk.navigation.horizon.elements.poi.PoiElementType2 instead.

  • Deprecate com.tomtom.sdk.safetylocations.model.SafetyLocationType.getAllSafetyLocationTypes.

  • Deprecate:

    • com.tomtom.sdk.hazards.model.BadRoadConditions primary constructor
    • com.tomtom.sdk.hazards.model.BadRoadConditions.hasPotholes
    • com.tomtom.sdk.hazards.model.ReducedVisibility primary constructor
    • com.tomtom.sdk.hazards.model.ReducedVisibility.dueToHeavyRain
    • com.tomtom.sdk.hazards.model.ReducedVisibility.dueToFog
    • com.tomtom.sdk.hazards.model.ObjectsOnRoad primary constructor
    • com.tomtom.sdk.hazards.model.ObjectsOnRoad.animal
    • com.tomtom.sdk.hazards.model.ObjectsOnRoad.people