Release Notes

Version 1.26.0 - 12/09/2025

Discover the improvements and new features included in the following version. Share your thoughts on this release by using the feedback button located at the bottom of the page.

Data Management

Fixes
  • Fix possible segmentation fault when already cached NDS.Live tiles are requested to be prefetched again.

General

Fixes
  • Fix segmentation fault in the routing engine.
Deprecations
  • Change the names of ServiceUri endpoints from Classic and Orbis to TomTomMapService and TomTomOrbisMapService. Deprecate TomTomMapService in favor of TomTomOrbisMapService.

Virtual Horizon

Fixes
  • Do not publish horizon elements based on unavailable horizon attributes.
  • Fix Out of Memory issues in the Vehicle Horizon service of HorizonEngine.
  • Use geometry start offset to trim horizon elements.

Map Visualization

Updates
  • Bring 16 KB page size support to map-display module.
Fixes
  • Catch timeout exception to prevent coroutine from stopping location updates.
  • Display Neutral Ground Truth instead of Pinyin and Bopomofo localizations.
  • Ensure exception is handled when style fetching is canceled during map closure to prevent spontaneous application shutdown.
  • Fix crash in MichiMapLifecycleClient.
  • Fix crash when removing the destination connection line twice.
  • Fix dark sprites being used when main style is loaded.
  • Fix sprite fetcher cancellation and getRenderedFeatures NREs.
  • Fix uncaught InterruptedIOException in MapDataStoreUriHandler.
  • Handle rare Android Auto scenario where the camera fails to zoom into routes by using the current camera zoom level instead of raising a computation error.
  • Increase vertical bottom offset for all driving, follow, and free driving camera modes.
  • Prevent chevron jittery movement caused by time lags of incoming location signals and chaotic GPS signals.
  • Prevent crash in VectorTileData model and DoubleGpuResource.
  • Prevent duplicate tile requests with old data provider when system clock is incorrect.
  • Previously, it was not possible to show a GeoJSON polyline after it was hidden. Now, this functionality has been enabled.
  • Previously, there was a reverse logic issue with delta updates and Brotli compression feature toggles. Now, this issue has been fixed.
  • Previously, there was a visibility issue with departure/destination markers during GeoJSON processing. Now, this issue has been fixed.
  • Previously, there was an issue with the destination connection line remaining on the map. Now, this issue has been resolved.
  • Reduce frequency of prefetching requests on MapDataStoreConnector.
  • Reduce I/O, data, and battery consumption when prefetching with MapDataStore.
  • Resolve deadlock when AssetFetcher invokes callbacks during engine shutdown.
Breaking changes
  • Remove com.tomtom.sdk.navigation.horizon.featuretoggle.HorizonMppDrivenPrefetchingFeature, com.tomtom.sdk.navigation.horizon.featuretoggle.HorizonEllipseBasedOnDemandFetchingFeature, and com.tomtom.sdk.navigation.horizon.featuretoggle.HorizonLiveDataCachingFeature feature flags. Post-removal behavior is consistent with prior behavior with the flags enabled.
  • Remove HybridOnlineFirstContinuousReplanningFeature and HybridOnlineFirstSynchronousFallbackFeature feature flags.
Updates
  • Improve comparison API documentation to reflect updated field names and deprecations.
  • Merge railway crossing horizon elements if they are within 8 meters from each other.
  • Previously, exceptions were thrown when calling clear-prefixed methods or removing listeners from a closed TomTomNavigation instance. Now, no exceptions are thrown in this scenario.
  • Previously, the com.tomtom.sdk.navigation.TomTomNavigation.navigationSnapshot was nullable at the start of navigation when the route was provided. The initial value for the location was set to the origin of the given route at the start of navigation and to the last visited route point when resuming navigation. Now it is non-nullable.
  • Trim all horizon elements endOffset to geometry max endOffset.
Fixes
  • Add Better Route Proposal panel in landscape mode.
  • Correctly display whether a road has controlled access.
  • Display the "towards" name on the screen in the Next Intersection Panel.
  • Do not publish RouteUpdated event when Better Route Proposal is automatically accepted due to data source switch.
  • Fix concurrency issue in RouteTrafficProvider.
  • Fix data source switching loop during free driving in hybrid navigation.
  • Fix issues with horizon route traffic effect code generation.
  • Fix map matching and speed limit issues in some online modes.
  • Fix missing simple lane guidance when lane section is short.
  • Fix POI amenity mapping.
  • Fix problem where pending lane guidance failed to end due to an empty list error.
  • Pause progress updates during active guidance mode when a waypoint is skipped.
  • Prevent crash during route refresh when the active route is replaced.
  • Prevent simple lane guidance for next instruction from showing on previous instruction.
  • Prevent simple lane guidance starting again after it ends.
  • Use horizon path geometry to check tile availability in free drive mode.
  • Use separate surface instance for each road shield icon generation to prevent native crash in Android canvas.
  • When update is performed, ensure waypoints contain information about Place from the corresponding RouteStop to fix the issue of empty name for waypoints.

Personalization

New features
  • Add new properties to user settings telemetry event.
Fixes
  • Check if HTTP response source is open before reading to prevent crashes when source is closed. Ensure the app remains stable when encountering network or server errors.
Deprecations
  • Deprecate com.tomtom.sdk.datamanagement.hybridnavigationdata.HybridNavigationDataStoreAccess and com.tomtom.sdk.datamanagement.hybridnavigationdata.HybridNavigationDataStore.storeAccess.
  • Deprecate DataStoreMaintenanceEngineFactory.

Routing

Breaking changes
  • Rename com.tomtom.sdk.routing.route.instruction.ManeuverView to com.tomtom.sdk.routing.route.instruction.ManeuverGeometry.
New features
  • Alternative and better proposal routes now have a valid ForkPoint set when offline planning is used.
  • Introduce ServiceUri and new RoutePlanner factory.
  • Introduce a new constructor for RoutePlanningOptions that supports setting whether toll amounts should be computed.
Updates
  • Construct route leg polyline from sequence of route points received from the engine.

  • Implement a common API annotation ExperimentalRoutingNetworkFailureApi to replace four separate annotations.

  • Override toString method for RoutingFailure.

  • The departureTime and arrivalTime getters in the route summary are now in General Availability.

  • The following APIs are now available in General Availability:

    • com.tomtom.sdk.routing.route.instruction.arrival.ArrivalInstruction( arrivalSide, routeOffset, maneuverPoint, drivingSide, previousSignificantRoad, nextSignificantRoad, routePath, intersectionName, signpost, landmark, sideStreetOffset, trafficLightOffset, id )
    • com.tomtom.sdk.routing.route.instruction.autotransport.EnterAutoTransportInstruction( autoTransportType, borderCrossing, routeOffset, maneuverPoint, drivingSide, previousSignificantRoad, nextSignificantRoad, routePath, intersectionName, signpost, landmark, sideStreetOffset, trafficLightOffset, id)
    • com.tomtom.sdk.routing.route.instruction.autotransport.ExitAutoTransportInstruction( autoTransportType, borderCrossing, routeOffset, maneuverPoint, drivingSide, previousSignificantRoad, nextSignificantRoad, routePath, intersectionName, signpost, landmark, sideStreetOffset, trafficLightOffset, id)
    • com.tomtom.sdk.routing.route.instruction.bordercrossing.BorderCrossingInstruction( borderCrossing, routeOffset, maneuverPoint, drivingSide, previousSignificantRoad, nextSignificantRoad, routePath, intersectionName, signpost, landmark, sideStreetOffset, trafficLightOffset, id)
    • com.tomtom.sdk.routing.route.instruction.carpoollane.EnterCarpoolLaneInstruction( carpoolLaneDirection, routeOffset, maneuverPoint, drivingSide, previousSignificantRoad, nextSignificantRoad, routePath, intersectionName, signpost, landmark, sideStreetOffset, trafficLightOffset, id)
    • com.tomtom.sdk.routing.route.instruction.carpoollane.ExitCarpoolLaneInstruction( carpoolLaneDirection, routeOffset, maneuverPoint, drivingSide, previousSignificantRoad, nextSignificantRoad, routePath, intersectionName, signpost, landmark, sideStreetOffset, trafficLightOffset, id)
    • com.tomtom.sdk.routing.route.instruction.departure.DepartureInstruction( routeOffset, maneuverPoint, drivingSide, previousSignificantRoad, nextSignificantRoad, routePath, intersectionName, signpost, landmark, sideStreetOffset, trafficLightOffset, id)
    • com.tomtom.sdk.routing.route.instruction.fork.ForkInstruction( forkDirection, routeOffset, maneuverPoint, drivingSide, previousSignificantRoad, nextSignificantRoad, routePath, intersectionName, signpost, landmark, sideStreetOffset, trafficLightOffset, id)
    • com.tomtom.sdk.routing.route.instruction.highway.ExitHighwayInstruction( exitDirection, routeOffset, maneuverPoint, drivingSide, previousSignificantRoad, nextSignificantRoad, routePath, intersectionName, signpost, landmark, sideStreetOffset, trafficLightOffset, id)
    • com.tomtom.sdk.routing.route.instruction.highway.SwitchHighwayInstruction( exitDirection, routeOffset, maneuverPoint, drivingSide, previousSignificantRoad, nextSignificantRoad, routePath, intersectionName, signpost, landmark, sideStreetOffset, trafficLightOffset, id)
    • com.tomtom.sdk.routing.route.instruction.mandatoryturn.MandatoryTurnInstruction( turnAngle, turnDirection, routeOffset, maneuverPoint, drivingSide, previousSignificantRoad, nextSignificantRoad, routePath, intersectionName, signpost, landmark, sideStreetOffset, trafficLightOffset, id)
    • com.tomtom.sdk.routing.route.instruction.merge.MergeInstruction( mergeSide, routeOffset, maneuverPoint, drivingSide, previousSignificantRoad, nextSignificantRoad, routePath, intersectionName, signpost, landmark, sideStreetOffset, trafficLightOffset, id)
    • com.tomtom.sdk.routing.route.instruction.roundabout.ExitRoundaboutInstruction( routeOffset, maneuverPoint, drivingSide, previousSignificantRoad, nextSignificantRoad, routePath, intersectionName, signpost, landmark, sideStreetOffset, trafficLightOffset, id)
    • com.tomtom.sdk.routing.route.instruction.roundabout.RoundaboutInstruction( turnAngle, exitNumber, quantizedTurnAngle, routeOffset, maneuverPoint, drivingSide, previousSignificantRoad, nextSignificantRoad, routePath, intersectionName, signpost, landmark, sideStreetOffset, trafficLightOffset, id)
    • com.tomtom.sdk.routing.route.instruction.tollgate.TollgateInstruction( tollgateName, paymentTypes, routeOffset, maneuverPoint, drivingSide, previousSignificantRoad, nextSignificantRoad, routePath, intersectionName, signpost, landmark, sideStreetOffset, trafficLightOffset, id)
    • com.tomtom.sdk.routing.route.instruction.turn.TurnInstruction( turnAngle, turnDirection, routeOffset, maneuverPoint, drivingSide, previousSignificantRoad, nextSignificantRoad, routePath, intersectionName, signpost, landmark, sideStreetOffset, trafficLightOffset, id)
    • com.tomtom.sdk.routing.route.instruction.turnaroundwhenpossible.TurnAroundWhenPossibleInstruction( routeOffset, maneuverPoint, drivingSide, previousSignificantRoad, nextSignificantRoad, routePath, intersectionName, signpost, landmark, sideStreetOffset, trafficLightOffset, id)
    • com.tomtom.sdk.routing.route.instruction.waypoint.WaypointInstruction( waypointSide, routeOffset, maneuverPoint, drivingSide, previousSignificantRoad, nextSignificantRoad, routePath, intersectionName, signpost, landmark, sideStreetOffset, trafficLightOffset, id)
Fixes
  • Fix crash related to incorrect handling of offroad waypoints in Long Distance Electric Vehicle route updates.
  • Fix incorrect itinerary points in back-to-route response.
  • Fix issue with com.tomtom.sdk.routing.online.OnlineRoutePlanner.advanceGuidanceProgress.
  • Previously, the waypointType for the ItineraryPoints representing waypoints in the Itinerary constructor was not set to UserGenerated. It is now corrected.
  • Recover ManeuverGeometry after route deviation.
Deprecations
  • Deprecate the com.tomtom.sdk.routing.options.guidance.ProgressPoints class.

  • Deprecate the QueryOptions.customEndpoint.

  • Deprecate the following constructors:

    • com.tomtom.sdk.routing.route.instruction.arrival.ArrivalInstruction( arrivalSide: ItineraryPointRelativePosition, routeOffset: Distance, maneuverPoint: GeoPoint, drivingSide: DrivingSide, combineWithNext: Boolean, announcements: List<Announcement> = emptyList(), previousSignificantRoad: Road? = null, nextSignificantRoad: Road? = null, routePath: List<InstructionPoint> = emptyList(), intersectionName: TextWithPhonetics? = null, signpost: Signpost? = null, landmark: Landmark? = null, sideStreetOffset: Distance? = null, trafficLightOffset: Distance? = null, id: UniqueId = UniqueId(), ) use: ArrivalInstruction( arrivalSide, routeOffset, maneuverPoint, drivingSide, previousSignificantRoad, nextSignificantRoad, routePath, intersectionName, signpost, landmark, sideStreetOffset, trafficLightOffset, id ) instead.
    • com.tomtom.sdk.routing.route.instruction.autotransport.EnterAutoTransportInstruction(autoTransportType: AutoTransportType, borderCrossing: BorderCrossing?, routeOffset: Distance, maneuverPoint: GeoPoint, drivingSide: DrivingSide, combineWithNext: Boolean, announcements: List<Announcement> = emptyList(), previousSignificantRoad: Road? = null, nextSignificantRoad: Road? = null, routePath: List<InstructionPoint> = emptyList(), intersectionName: TextWithPhonetics? = null, signpost: Signpost? = null, landmark: Landmark? = null, sideStreetOffset: Distance? = null, trafficLightOffset: Distance? = null, id: UniqueId = UniqueId()) use EnterAutoTransportInstruction( autoTransportType, borderCrossing, routeOffset, maneuverPoint, drivingSide, previousSignificantRoad, nextSignificantRoad, routePath, intersectionName, signpost, landmark, sideStreetOffset, trafficLightOffset, id) instead.
    • com.tomtom.sdk.routing.route.instruction.autotransport.ExitAutoTransportInstruction( autoTransportType: AutoTransportType, borderCrossing: BorderCrossing?, routeOffset: Distance, maneuverPoint: GeoPoint, drivingSide: DrivingSide, combineWithNext: Boolean, announcements: List<Announcement> = emptyList(), previousSignificantRoad: Road? = null, nextSignificantRoad: Road? = null, routePath: List<InstructionPoint> = emptyList(), intersectionName: TextWithPhonetics? = null, signpost: Signpost? = null, landmark: Landmark? = null, sideStreetOffset: Distance? = null, trafficLightOffset: Distance? = null, id: UniqueId = UniqueId() ) use ExitAutoTransportInstruction( autoTransportType, borderCrossing, routeOffset, maneuverPoint, drivingSide, previousSignificantRoad, nextSignificantRoad, routePath, intersectionName, signpost, landmark, sideStreetOffset, trafficLightOffset, id) instead.
    • com.tomtom.sdk.routing.route.instruction.bordercrossing.BorderCrossingInstruction( borderCrossing: BorderCrossing, routeOffset: Distance, maneuverPoint: GeoPoint, drivingSide: DrivingSide, combineWithNext: Boolean, announcements: List<Announcement> = emptyList(), previousSignificantRoad: Road? = null, nextSignificantRoad: Road? = null, routePath: List<InstructionPoint> = emptyList(), intersectionName: TextWithPhonetics? = null, signpost: Signpost? = null, landmark: Landmark? = null, sideStreetOffset: Distance? = null, trafficLightOffset: Distance? = null, id: UniqueId = UniqueId() ) use BorderCrossingInstruction( borderCrossing, routeOffset, maneuverPoint, drivingSide, previousSignificantRoad, nextSignificantRoad, routePath, intersectionName, signpost, landmark, sideStreetOffset, trafficLightOffset, id) instead.
    • com.tomtom.sdk.routing.route.instruction.carpoollane.EnterCarpoolLaneInstruction( carpoolLaneDirection: CarpoolLaneDirection, routeOffset: Distance, maneuverPoint: GeoPoint, drivingSide: DrivingSide, combineWithNext: Boolean, announcements: List<Announcement> = emptyList(), previousSignificantRoad: Road? = null, nextSignificantRoad: Road? = null, routePath: List<InstructionPoint> = emptyList(), intersectionName: TextWithPhonetics? = null, signpost: Signpost? = null, landmark: Landmark? = null, sideStreetOffset: Distance? = null, trafficLightOffset: Distance? = null, id: UniqueId = UniqueId() ) use EnterCarpoolLaneInstruction( carpoolLaneDirection, routeOffset, maneuverPoint, drivingSide, previousSignificantRoad, nextSignificantRoad, routePath, intersectionName, signpost, landmark, sideStreetOffset, trafficLightOffset, id) instead.
    • com.tomtom.sdk.routing.route.instruction.carpoollane.ExitCarpoolLaneInstruction( carpoolLaneDirection: CarpoolLaneDirection, routeOffset: Distance, maneuverPoint: GeoPoint, drivingSide: DrivingSide, combineWithNext: Boolean, announcements: List<Announcement> = emptyList(), previousSignificantRoad: Road? = null, nextSignificantRoad: Road? = null, routePath: List<InstructionPoint> = emptyList(), intersectionName: TextWithPhonetics? = null, signpost: Signpost? = null, landmark: Landmark? = null, sideStreetOffset: Distance? = null, trafficLightOffset: Distance? = null, id: UniqueId = UniqueId() ) use ExitCarpoolLaneInstruction( carpoolLaneDirection, routeOffset, maneuverPoint, drivingSide, previousSignificantRoad, nextSignificantRoad, routePath, intersectionName, signpost, landmark, sideStreetOffset, trafficLightOffset, id) instead.
    • com.tomtom.sdk.routing.route.instruction.departure.DepartureInstruction( routeOffset: Distance, maneuverPoint: GeoPoint, drivingSide: DrivingSide, combineWithNext: Boolean, announcements: List<Announcement> = emptyList(), previousSignificantRoad: Road? = null, nextSignificantRoad: Road? = null, routePath: List<InstructionPoint> = emptyList(), intersectionName: TextWithPhonetics? = null, signpost: Signpost? = null, landmark: Landmark? = null, sideStreetOffset: Distance? = null, trafficLightOffset: Distance? = null, id: UniqueId = UniqueId() ) use DepartureInstruction( routeOffset, maneuverPoint, drivingSide, previousSignificantRoad, nextSignificantRoad, routePath, intersectionName, signpost, landmark, sideStreetOffset, trafficLightOffset, id) instead.
    • com.tomtom.sdk.routing.route.instruction.fork.ForkInstruction( forkDirection: ForkDirection, routeOffset: Distance, maneuverPoint: GeoPoint, drivingSide: DrivingSide, combineWithNext: Boolean, announcements: List<Announcement> = emptyList(), previousSignificantRoad: Road? = null, nextSignificantRoad: Road? = null, routePath: List<InstructionPoint> = emptyList(), intersectionName: TextWithPhonetics? = null, signpost: Signpost? = null, landmark: Landmark? = null, sideStreetOffset: Distance? = null, trafficLightOffset: Distance? = null, id: UniqueId = UniqueId() ) use ForkInstruction( forkDirection, routeOffset, maneuverPoint, drivingSide, previousSignificantRoad, nextSignificantRoad, routePath, intersectionName, signpost, landmark, sideStreetOffset, trafficLightOffset, id) instead.
    • com.tomtom.sdk.routing.route.instruction.highway.ExitHighwayInstruction( exitDirection: ExitDirection, routeOffset: Distance, maneuverPoint: GeoPoint, drivingSide: DrivingSide, combineWithNext: Boolean, announcements: List<Announcement> = emptyList(), previousSignificantRoad: Road? = null, nextSignificantRoad: Road? = null, routePath: List<InstructionPoint> = emptyList(), intersectionName: TextWithPhonetics? = null, signpost: Signpost? = null, landmark: Landmark? = null, sideStreetOffset: Distance? = null, trafficLightOffset: Distance? = null, id: UniqueId = UniqueId() ) use ExitHighwayInstruction( exitDirection, routeOffset, maneuverPoint, drivingSide, previousSignificantRoad, nextSignificantRoad, routePath, intersectionName, signpost, landmark, sideStreetOffset, trafficLightOffset, id) instead.
    • com.tomtom.sdk.routing.route.instruction.highway.SwitchHighwayInstruction( exitDirection: ExitDirection, routeOffset: Distance, maneuverPoint: GeoPoint, drivingSide: DrivingSide, combineWithNext: Boolean, announcements: List<Announcement> = emptyList(), previousSignificantRoad: Road? = null, nextSignificantRoad: Road? = null, routePath: List<InstructionPoint> = emptyList(), intersectionName: TextWithPhonetics? = null, signpost: Signpost? = null, landmark: Landmark? = null, sideStreetOffset: Distance? = null, trafficLightOffset: Distance? = null, id: UniqueId = UniqueId() ) use SwitchHighwayInstruction( exitDirection, routeOffset, maneuverPoint, drivingSide, previousSignificantRoad, nextSignificantRoad, routePath, intersectionName, signpost, landmark, sideStreetOffset, trafficLightOffset, id) instead.
    • com.tomtom.sdk.routing.route.instruction.mandatoryturn.MandatoryTurnInstruction( turnAngle: Angle, turnDirection: TurnDirection, routeOffset: Distance, maneuverPoint: GeoPoint, drivingSide: DrivingSide, combineWithNext: Boolean, announcements: List<Announcement> = emptyList(), previousSignificantRoad: Road? = null, nextSignificantRoad: Road? = null, routePath: List<InstructionPoint> = emptyList(), intersectionName: TextWithPhonetics? = null, signpost: Signpost? = null, landmark: Landmark? = null, sideStreetOffset: Distance? = null, trafficLightOffset: Distance? = null, id: UniqueId = UniqueId() ) use MandatoryTurnInstruction( turnAngle, turnDirection, routeOffset, maneuverPoint, drivingSide, previousSignificantRoad, nextSignificantRoad, routePath, intersectionName, signpost, landmark, sideStreetOffset, trafficLightOffset, id) instead.
    • com.tomtom.sdk.routing.route.instruction.merge.MergeInstruction( mergeSide: MergeSide?, routeOffset: Distance, maneuverPoint: GeoPoint, drivingSide: DrivingSide, combineWithNext: Boolean, announcements: List<Announcement> = emptyList(), previousSignificantRoad: Road? = null, nextSignificantRoad: Road? = null, routePath: List<InstructionPoint> = emptyList(), intersectionName: TextWithPhonetics? = null, signpost: Signpost? = null, landmark: Landmark? = null, sideStreetOffset: Distance? = null, trafficLightOffset: Distance? = null, id: UniqueId = UniqueId() ) use MergeInstruction( mergeSide, routeOffset, maneuverPoint, drivingSide, previousSignificantRoad, nextSignificantRoad, routePath, intersectionName, signpost, landmark, sideStreetOffset, trafficLightOffset, id) instead.
    • com.tomtom.sdk.routing.route.instruction.roundabout.ExitRoundaboutInstruction( turnAngle: Angle, exitNumber: Int?, quantizedTurnAngle: QuantizedTurnAngle, routeOffset: Distance, maneuverPoint: GeoPoint, drivingSide: DrivingSide, combineWithNext: Boolean, announcements: List<Announcement> = emptyList(), previousSignificantRoad: Road? = null, nextSignificantRoad: Road? = null, routePath: List<InstructionPoint> = emptyList(), intersectionName: TextWithPhonetics? = null, signpost: Signpost? = null, landmark: Landmark? = null, sideStreetOffset: Distance? = null, trafficLightOffset: Distance? = null, id: UniqueId = UniqueId() ) use ExitRoundaboutInstruction( routeOffset, maneuverPoint, drivingSide, previousSignificantRoad, nextSignificantRoad, routePath, intersectionName, signpost, landmark, sideStreetOffset, trafficLightOffset, id) instead.
    • com.tomtom.sdk.routing.route.instruction.roundabout.RoundaboutInstruction( turnAngle: Angle, exitNumber: Int?, quantizedTurnAngle: QuantizedTurnAngle, routeOffset: Distance, maneuverPoint: GeoPoint, drivingSide: DrivingSide, combineWithNext: Boolean, announcements: List<Announcement> = emptyList(), previousSignificantRoad: Road? = null, nextSignificantRoad: Road? = null, routePath: List<InstructionPoint> = emptyList(), intersectionName: TextWithPhonetics? = null, signpost: Signpost? = null, landmark: Landmark? = null, sideStreetOffset: Distance? = null, trafficLightOffset: Distance? = null, id: UniqueId = UniqueId() ) use RoundaboutInstruction( turnAngle, exitNumber, quantizedTurnAngle, routeOffset, maneuverPoint, drivingSide, previousSignificantRoad, nextSignificantRoad, routePath, intersectionName, signpost, landmark, sideStreetOffset, trafficLightOffset, id) instead.
    • com.tomtom.sdk.routing.route.instruction.tollgate.TollgateInstruction( tollgateName: TextWithPhonetics?, paymentTypes: Set<TollgatePaymentType>, routeOffset: Distance, maneuverPoint: GeoPoint, drivingSide: DrivingSide, combineWithNext: Boolean, announcements: List<Announcement> = emptyList(), previousSignificantRoad: Road? = null, nextSignificantRoad: Road? = null, routePath: List<InstructionPoint> = emptyList(), intersectionName: TextWithPhonetics? = null, signpost: Signpost? = null, landmark: Landmark? = null, sideStreetOffset: Distance? = null, trafficLightOffset: Distance? = null, id: UniqueId = UniqueId() ) use TollgateInstruction( tollgateName, paymentTypes, routeOffset, maneuverPoint, drivingSide, previousSignificantRoad, nextSignificantRoad, routePath, intersectionName, signpost, landmark, sideStreetOffset, trafficLightOffset, id) instead.
    • com.tomtom.sdk.routing.route.instruction.turn.TurnInstruction( turnAngle: Angle, turnDirection: TurnDirection, routeOffset: Distance, maneuverPoint: GeoPoint, drivingSide: DrivingSide, combineWithNext: Boolean, announcements: List<Announcement> = emptyList(), previousSignificantRoad: Road? = null, nextSignificantRoad: Road? = null, routePath: List<InstructionPoint> = emptyList(), intersectionName: TextWithPhonetics? = null, signpost: Signpost? = null, landmark: Landmark? = null, sideStreetOffset: Distance? = null, trafficLightOffset: Distance? = null, id: UniqueId = UniqueId() ) use TurnInstruction( turnAngle, turnDirection, routeOffset, maneuverPoint, drivingSide, previousSignificantRoad, nextSignificantRoad, routePath, intersectionName, signpost, landmark, sideStreetOffset, trafficLightOffset, id) instead.
    • com.tomtom.sdk.routing.route.instruction.turnaroundwhenpossible.TurnAroundWhenPossibleInstruction( routeOffset: Distance, maneuverPoint: GeoPoint, drivingSide: DrivingSide, combineWithNext: Boolean, announcements: List<Announcement> = emptyList(), previousSignificantRoad: Road? = null, nextSignificantRoad: Road? = null, routePath: List<InstructionPoint> = emptyList(), intersectionName: TextWithPhonetics? = null, signpost: Signpost? = null, landmark: Landmark? = null, sideStreetOffset: Distance? = null, trafficLightOffset: Distance? = null, id: UniqueId = UniqueId() ) use TurnAroundWhenPossibleInstruction( routeOffset, maneuverPoint, drivingSide, previousSignificantRoad, nextSignificantRoad, routePath, intersectionName, signpost, landmark, sideStreetOffset, trafficLightOffset, id) instead.
    • com.tomtom.sdk.routing.route.instruction.waypoint.WaypointInstruction( waypointSide: ItineraryPointRelativePosition, routeOffset: Distance, maneuverPoint: GeoPoint, drivingSide: DrivingSide, combineWithNext: Boolean, announcements: List<Announcement> = emptyList(), previousSignificantRoad: Road? = null, nextSignificantRoad: Road? = null, routePath: List<InstructionPoint> = emptyList(), intersectionName: TextWithPhonetics? = null, signpost: Signpost? = null, landmark: Landmark? = null, sideStreetOffset: Distance? = null, trafficLightOffset: Distance? = null, id: UniqueId = UniqueId() ) use WaypointInstruction( waypointSide, routeOffset, maneuverPoint, drivingSide, previousSignificantRoad, nextSignificantRoad, routePath, intersectionName, signpost, landmark, sideStreetOffset, trafficLightOffset, id) instead.
Removals
  • Remove RoutePlanner(context, apiKey, apiUri) and replace it with the ServiceUri constructor.
Updates
  • Enhance KDoc clarity for com.tomtom.sdk.search.dynamicdata.parking.probability.ParkingProbabilityOptions.targetTime.

    • The targetTime is dependent on the real-time calculation. If the time zone on a given device is set incorrectly, it can lead to ambiguous behavior which is now clearly explained in the ParkingProbabilityOptions KDoc.
  • Implement Search API call events.

  • Update KDoc for isRestricted field in EMobilityServiceProvider to specify OEM-specific usage.

Fixes
  • NeighborhoodName and postalName in com.tomtom.sdk.location.Address are now populated correctly from online search responses.
  • Fix failure when com.tomtom.sdk.location.poi.ev.AccessType.Company is passed in the com.tomtom.sdk.search.ev.EvSearchOptions.
  • Improve logging output for com.tomtom.sdk.search.common.error.SearchFailure instances. You can now see the failure type and message when logging these instances, which aids in debugging search-related issues.
  • Previously, sending feedback for a CrossStreet search result raised an exception. This is now fixed.