Release Notes

Version 0.44.0 - 15/01/2024

General

Breaking changes

  • com.tomtom.sdk.datamanagement.nds.update.RegionGraphNodeId and com.tomtom.sdk.datamanagement.nds.update.compositeregion.CompositeRegionId are not value class anymore. In com.tomtom.sdk.datamanagement.nds.update.MapOperation use com.tomtom.sdk.datamanagement.nds.update.RegionGraphNodeId for the nodeId variable. In package com.tomtom.sdk.datamanagement.nds.update.RegionGraphNode use com.tomtom.sdk.datamanagement.nds.update.RegionGraphNodeId for the id. In com.tomtom.sdk.datamanagement.nds.update.compositeregion.CompositeRegion use com.tomtom.sdk.datamanagement.nds.update.RegionGraphNodeId for the id. In com.tomtom.sdk.datamanagement.nds.update.compositeregion.CompositeRegionOperation use com.tomtom.sdk.datamanagement.nds.update.RegionGraphNodeId for the id. In com.tomtom.sdk.datamanagement.nds.update.compositeregion.CompositeRegionsUpdater.findCompositeRegions use com.tomtom.sdk.datamanagement.nds.update.RegionGraphNodeId for the regionGraphNodeId variable.
  • Added a Telemetry Configuration Provider.
  • Refactored Telemetry into a singleton.

Fixes

  • Fix a potential memory leak that might occur when creating TomTomNavigation.
  • Proper closing of coroutines on shutdown related to com.tomtom.sdk.hazards.online.OnlineHazards and com.tomtom.sdk.safetylocations.online.OnlineSafetyLocations.

Removals

  • Decommission TomTom Legacy SDK.

Updates

  • Reorder modules in the API reference navigation structure according to relevance and importance.

Known issues

An incorrect routing endpoint is set by default in Guidance v2, making route calculations impossible with version 0.44.0 for some customers. Potential problems include prompts for a valid API key, such as:

  • "Your API key is invalid."
  • "Your API key does not support either the Routing API or the Routing API with Extended Guidance endpoints.".

Resolution of the issue involves upgrading SDK to version 0.46.0 or later.

Map

Breaking changes

  • Converted PolygonOptions from data class to normal class.
  • Renamed com.tomtom.sdk.map.display.camera.FollowCameraOperatorConfig.ControlPoint.fov to com.tomtom.sdk.map.display.camera.FollowCameraOperatorConfig.ControlPoint.fieldOfView.
  • Renamed com.tomtom.sdk.map.display.camera.FollowCameraOperatorConfig.defaultFov to com.tomtom.sdk.map.display.camera.FollowCameraOperatorConfig.defaultFieldOfView.
  • Renamed com.tomtom.sdk.map.display.camera.FollowCameraOperatorConfig.showCombinedInstructionMaxZoom to com.tomtom.sdk.map.display.camera.FollowCameraOperatorConfig.combinedInstructionMaxZoom.
  • Renamed com.tomtom.sdk.map.display.camera.FollowCameraOperatorConfig.showCombinedInstructionMaxZoomChange to com.tomtom.sdk.map.display.camera.FollowCameraOperatorConfig.combinedInstructionMaxZoomChange.
  • Renamed the fov parameter in com.tomtom.sdk.map.display.camera.FollowCameraOperatorConfig.ControlPoint initializer to fieldOfView.
  • Renamed the fov parameter in com.tomtom.sdk.map.display.camera.FollowCameraOperatorConfig initializer to fieldOfView.

New Features

  • Add a route click listener to visualization modules.
  • Support geojson polygon clickability.
  • Support geojson polygon overlay properties.
  • Support geojson polygon properties.

Fixes

  • Make the coroutine cooperative in MapDisplayAssetDataProvider.
  • Use last known default, road level location position if map matched lane level position is invalid.

Updates

  • Class com.tomtom.sdk.map.display.camera.CameraTrackingMode.FollowDirection is now available in General Availability.
  • Class com.tomtom.sdk.map.display.camera.CameraTrackingMode.FollowNorthUp is now available in General Availability.
  • Class com.tomtom.sdk.map.display.camera.CameraTrackingMode.FollowRouteDirection is now available in General Availability.
  • Class com.tomtom.sdk.map.display.camera.CameraTrackingMode.FollowRouteNorthUp is now available in General Availability.
  • Class com.tomtom.sdk.map.display.camera.FollowCameraOperatorConfig is now available in General Availability.
  • Class com.tomtom.sdk.map.display.polygon.Polygon is now available in General Availability.
  • Class com.tomtom.sdk.map.display.polygon.PolygonClickListener is now available in General Availability.
  • Class com.tomtom.sdk.map.display.polygon.PolygonController is now available in General Availability.
  • Class com.tomtom.sdk.map.display.polygon.PolygonNotFoundException is now available in General Availability.
  • Class com.tomtom.sdk.map.display.polygon.PolygonOptions is now available in General Availability.
  • Promote POIVisualization and SearchVisualization to PP.

Breaking changes

  • OfflineTomTomNavigationFactory configuration properties are now internal.
  • OffRoadTomTomNavigation configuration properties are now internal.
  • Add com.tomtom.sdk.datamanagement:nds-store-updater for the dependency setup in the gradle files.
  • Added showBetterRouteProposalPanel flag to com.tomtom.sdk.navigation.ui.NavigationUiOptions in order to be able to enable/disable the better route proposal panel.
  • Constructor for com.tomtom.sdk.navigation.LocationSnapshot is no longer part of public API.
  • HybridTomTomNavigationFactory configuration properties are now internal.
  • Make com.tomtom.sdk.datamanagement.locationdecoder.LocationDecoder interface internal.
  • Make com.tomtom.sdk.navigation.DrivingHistorySnapshot constructor SDK internal.
  • Move NdsStoreUpdater to the new module onboard-nds-store-updater.
  • Prepare MapMatchingResult API to promotion.
  • Remove com.tomtom.sdk.datamanagement.nds.InvalidListenerException and use IllegalArgumentException instead.
  • Remove routeReplanner from Configuration of HybridTomTomNavigationFactory. Either provide onlinePlanner and offlinePlanner, or create a RouteReplanningEngine with your own re-planner via RouteReplanningEngineFactory.create(routeReplanner).
  • Remove SystemClockTimeProvider from the public API.
  • Remove data class modifier from com.tomtom.sdk.navigation.LocationSnapshot.
  • Rename com.tomtom.sdk.datamanagement.nds.OnStoreAccessChangedListener to StoreAccessChangedListener.
  • Renamed com.tomtom.sdk.navigation.progress.RouteProgress.remainingWaypointsProgress to remainingRouteStopsProgress.
  • The interfaces com.tomtom.sdk.datamanagement.datastore.UpdatableDataStore, com.tomtom.sdk.datamanagement.datastore.PositionUpdatable, and com.tomtom.sdk.datamanagement.datastore.ActiveRouteUpdatable are no longer generally available and should not be used in SDK user code.

Fixes

  • Extend lane level route window to avoid visual artefacts when the route window is updated.
  • Fix the detection of deviation when the waypoint is skipped.
  • The com.tomtom.sdk.navigation.progress.RouteProgress.remainingRouteStopsProgress contains only route stops whose offset is smaller than the distance along the route.

Updates

  • com.tomtom.sdk.datamanagement.nds.NdsStoreAccessSync is now available in General Availability.
  • com.tomtom.sdk.navigation.ConfigurationSnapshot is now available in General Availability.
  • com.tomtom.sdk.navigation.LocationSnapshot is now available in General Availability.
  • OnlineTomTomNavigationFactory configuration no longer behaves like a data class.
  • Add a simple constructor for HybridTomTomNavigationFactory configuration.
  • Add a simple constructor for OfflineTomTomNavigationFactory configuration.
  • Add a simple constructor for OffRoadTomTomNavigation configuration.
  • Add module and package level API documentation for mapmatching online engine.
  • Add new create method for NavigationTileStore.
  • Class com.tomtom.sdk.datamanagement.nds.MapIsNotAccessibleFailure is now available in General Availability.
  • Class com.tomtom.sdk.datamanagement.nds.NdsStoreFailure is now available in General Availability.
  • Com.tomtom.sdk.datamanagement.datastore.StoreAccessProvider is now available in General Availability.
  • Com.tomtom.sdk.datamanagement.navigationtile.NavigationTileStore is now available in General Availability.
  • Com.tomtom.sdk.datamanagement.nds.StoreAccessChangedListener is now available in General Availability.
  • Com.tomtom.sdk.navigation.mapmatching.MapMatchingResult is now available in General Availability.
  • Com.tomtom.sdk.navigation.mapmatching.MatchedLocation is now available in General Availability.
  • Destination RouteStopProgress added to com.tomtom.sdk.navigation.progress.RouteProgress.remainingRouteStopsProgress.
  • Improve the Telemetry configuration guide.
  • Promote com.tomtom.sdk.navigation.TomTomNavigation.setActiveRoutePlan to General Availability.
  • Update the wrong documentation about navigation on an imported route.
  • Warnings about NDS.Live-only NavigationTileStore parameters.

Routing

Breaking changes

  • Make OfflineRangeCalculator internal.

Updates

  • Class com.tomtom.sdk.routing.options.RangeCalculationOptions is now available in General Availability.
  • Class com.tomtom.sdk.routing.range.Budget.Distance is now available in General Availability.
  • Class com.tomtom.sdk.routing.range.Budget.Energy is now available in General Availability.
  • Class com.tomtom.sdk.routing.range.Budget.Fuel is now available in General Availability.
  • Class com.tomtom.sdk.routing.range.Budget.Time is now available in General Availability.
  • Class com.tomtom.sdk.routing.range.Budget is now available in General Availability.
  • Class com.tomtom.sdk.routing.range.Range is now available in General Availability.
  • Class com.tomtom.sdk.routing.range.RangeBoundary is now available in General Availability.
  • Promote ChargingOptions and ChargingStopsStrategy to GA.

Deprecations

  • Deprecate mistakenly exposed internal members MatchType::type and AreaType::value.

New Features

  • Implement requestGeometryData for hybrid search.

Fixes

  • Cancel the hybrid search engine coroutine scope when the engine is closed.
  • Cancel the online reverse geocoder engine coroutine scope when the engine is closed.
  • Throw IllegalStateException when using a hybrid reverse geocoder after closing it.
  • Throw an IllegalStateException when calling reverseGeocode after calling close in the offline reverse geocoder.

Updates

  • Cancel CoroutineScope in OfflineSearch.
  • Cancel CoroutineScope in OnlineWithCustomPoiSearch.
  • Cancel coroutines after closing in dynamic data APIs.
  • Document that the number of points in a route can impact data cost.
  • Document that the search results can be from a single country or geometry.
  • Implement calling any API on a closed offline search engine instance should throw IllegalStateException.
  • Implement calling any API on a closed online custom data search engine instance should throw IllegalStateException.
  • Implement calling any API on a closed online search engine instance should throw IllegalStateException.
  • Improve reverse geocoder API documentation.
  • Improve search API documentation.
  • Improve structured search API documentation.