Release Notes

version 0.40.0 - 16/02/2024

General

New features

  • Add a route clicking listener to routing and Navigation Visualization.
  • Implement TelemetryConfigProvider.

Updates

  • Fix route splitter to use route offset instead of geopoint distances.

Map

Fixes

  • Adapt hillshading to style modes in Genesis map to prevent aggressive hillshading.
  • Fix flakiness in better route proposal collaboration tests.
  • Fix marker position not changing after setting the coordinate property.

Updates

  • Expose TomTomSDKMapDisplay.CurrentLocationViewModel as an experimental API.
  • Expose LLV experimental styles.
  • Update map documentation according to Usability testers' feedback.

Breaking changes

  • Add optional authentication URI parameter for SafetyLocations and Hazards.
  • Remove TomTomSDKHorizonEngineHybrid.HybridHorizonEngineFactory from the public API.
  • Remove TomTomSDKHorizonEngineTileStore.TileStoreHorizonEngineFactory from the public API.
  • Remove TomTomSDKHazards from the public API.
  • Remove TomTomSDKHorizonEngineOffline.OfflineHorizonEngineFactory from the public API.
  • Remove TomTomSDKHorizonEngineTileStore.TileStoreHorizonEngineFactory.create(dataStore:dataAdapters:) from the public API.
  • Remove TomTomSDKHorizonEngineUnified.HorizonEngineFactory from the public API.
  • Remove TomTomSDKNavigationEngines.RouteProgress.remainingTime and TomTomSDKNavigationEngines.RouteProgress.remainingDistance from the constructor.
    • The property TomTomSDKNavigationEngines.RouteProgress.remainingTime becomes computed.
    • The property TomTomSDKNavigationEngines.RouteProgress.remainingDistance becomes computed.
  • Remove TomTomSDKNavigationEngines.SafetyLocationElement.isZone from the public API.
  • Remove TomTomSDKNavigationHorizonDataAdapter. HorizonDataChangedObserver from the public API.
  • Remove TomTomSDKNavigationHorizonDataAdapter.HorizonDataAdapter as internal API.
  • Remove TomTomSDKNavigationHorizonDataAdapter.HorizonDataObject from the public API.
  • Remove TomTomSDKNavigationHorizonDataAdapter.HorizonDataSnapshot from the public API.
  • Remove TomTomSDKNavigationHorizonDataAdapter.HorizonDataType from the public API.
  • Remove TomTomSDKNavigationHorizonDataAdapter.LocationReference from the public API.
  • Remove TomTomSDKSafetyCameras from the public API.
  • Remove constructor TomTomSDKNavigationOnline.OnlineTomTomNavigationFactory.Configuration.init(locationProvider:routeReplanner:apiKey:navigationTileStore:dataStoreMaintenanceEngine:mapMatchingEngine:horizonEngine:routeTrackingEngine:routeProjectionEngine:guidanceEngine:arrivalDetectionEngine:routeProgressEngine:routeReplanningEngine:routeReplanningRetryPolicy:routeDeviationReplanningRetryPolicy:betterProposalAcceptanceMode:deviationReplanningMode:vehicleProvider:). instead, use constructor TomTomSDKNavigationOnline.OnlineTomTomNavigationFactory.Configuration.init(locationProvider:routeReplanner:apiKey:navigationTileStore:dataStoreMaintenanceEngine:mapMatchingEngine:horizonEngine:routeTrackingEngine:routeProjectionEngine:guidanceEngine:arrivalDetectionEngine:routeProgressEngine:routeReplanningEngine:routeReplanningRetryPolicy:routeDeviationReplanningRetryPolicy:betterProposalAcceptanceMode:deviationReplanningMode:vehicleProvider:safetyLocationsConfiguration:hazardsConfiguration:) instead.
  • Remove constructor. TomTomSDKNavigationHybrid.HybridTomTomNavigationFactory.Configuration.init(locationProvider:apiKey:navigationTileStore:ndsMapContext:hybridNavigationDataStore:dataStoreMaintenanceEngine:dataSourceSelectionEngine:mapMatchingEngine:horizonEngine:routeTrackingEngine:routeProjectionEngine:onlineRoutePlanner:offlineRoutePlanner:routeReplanner:guidanceEngine:arrivalDetectionEngine:routeProgressEngine:routeReplanningEngine:routeReplanningRetryPolicy:routeDeviationReplanningRetryPolicy:betterProposalAcceptanceMode:deviationReplanningMode:vehicleProvider:) instead, use constructor TomTomSDKNavigationHybrid.HybridTomTomNavigationFactory.Configuration.init(locationProvider:apiKey:navigationTileStore:ndsMapContext:hybridNavigationDataStore:dataStoreMaintenanceEngine:dataSourceSelectionEngine:mapMatchingEngine:horizonEngine:routeTrackingEngine:routeProjectionEngine:onlineRoutePlanner:offlineRoutePlanner:routeReplanner:guidanceEngine:arrivalDetectionEngine:routeProgressEngine:routeReplanningEngine:routeReplanningRetryPolicy:routeDeviationReplanningRetryPolicy:betterProposalAcceptanceMode:deviationReplanningMode:vehicleProvider:safetyLocationsConfiguration:hazardsConfiguration:) instead
  • Remove constructor. TomTomSDKNavigationOffline.OfflineTomTomNavigationFactory.Configuration.init(locationProvider:routeReplanner:ndsMapContext:mapMatchingEngine:horizonEngine:routeTrackingEngine:routeProjectionEngine:dataStoreMaintenanceEngine:guidanceEngine:arrivalDetectionEngine:routeProgressEngine:routeReplanningEngine:routeReplanningRetryPolicy:routeDeviationReplanningRetryPolicy:betterProposalAcceptanceMode:deviationReplanningMode:vehicleProvider:). instead, use constructor TomTomSDKNavigationOffline.OfflineTomTomNavigationFactory.Configuration.init(locationProvider:routeReplanner:ndsMapContext:mapMatchingEngine:horizonEngine:routeTrackingEngine:routeProjectionEngine:dataStoreMaintenanceEngine:guidanceEngine:arrivalDetectionEngine:routeProgressEngine:routeReplanningEngine:routeReplanningRetryPolicy:routeDeviationReplanningRetryPolicy:betterProposalAcceptanceMode:deviationReplanningMode:vehicleProvider:safetyLocationsConfiguration:hazardsConfiguration:) instead.
  • Remove the argument remainingTrafficDelay from RouteProgress constructor. Make the property RouteProgress.remainingTrafficDelay computed.
  • Remove the initializer TomTomSDKNavigationEngines.SafetyLocationElement.init(id:pathID:startOffset:endOffset:safetyLocation:isZone:) from the public API. Instead, use TomTomSDKNavigationEngines.SafetyLocationElement.init(id:pathID:startOffset:endOffset:safetyLocation:).
  • Rename TomTomNavigation.NavigationActiveRouteChangedObserver to TomTomNavigation.NavigationActiveRouteChangeObserver.
  • Rename TomTomNavigation.NavigationRouteAddedObserver to TomTomNavigation.NavigationRouteAddObserver.
  • Rename TomTomNavigation.NavigationRouteRemovedObserver to TomTomNavigation.NavigationRouteRemovedObserver.
  • The argument remainingRouteStopsProgress must be non-empty array in the constructor`RouteProgress.init(distanceAlongRoute:remainingRouteStopsProgress:remainingTrafficDelay:)`. The program stops execution if the array remainingRouteStopsProgress is empty.

Fixes

  • Fix flaky disappearance of safety locations on the horizon when navigation is stopped and then restarted.
  • Fix MapMatchingEngine reporting wrong match on leaving NDS map boundaries.
  • Fix simulating navigation with GPX file.

Removals

  • Remove NavigationHorizonDataAdapter.DecodedLocation from experimental API.
  • Remove NavigationHorizonDataAdapter.DecodingFailure from experimental API.
  • Remove NavigationHorizonDataAdapter.HorizonDataAdapter from experimental API.
  • Remove TomTomSDKCommon.SafetyLocationType from public API.
  • Rename TomTomSDKCommon.SafetyLocationType to TomTomSDKCommon.InternalSafetyLocationType.

Updates

  • Add remainingTrafficDelay property to RouteStopProgress. Use the remainingTrafficDelay argument in the constructor RouteStopProgress.init(routeStopID:remainingTime:remainingDistance:remainingTrafficDelay:).
  • Add inline documentation for TomTomSDKNavigation.DefaultTomTomNavigation.persistentNavigationState property.
  • Add inline documentation for TomTomSDKNavigation.DefaultTomTomNavigation.resume(persistentNavigationState:) method.
  • Add inline documentation for TomTomSDKNavigation.PersistentNavigationState public methods.
  • Add inline documentation for TomTomSDKNavigation.TomTomNavigation.persistentNavigationState property.
  • Add inline documentation for TomTomSDKNavigation.TomTomNavigation.resume(persistentNavigationState:) method.
  • Add the argument remainingTrafficDelay to RouteStopProgress constructor. Use the remainingTrafficDelay argument in the constructor RouteStopProgress.init(routeStopID:remainingTime:remainingDistance:remainingTrafficDelay:).
  • Added TomTomSDKCommon.SafetyLocation.SafetyLocationType enum as public representation for safety locations types.
  • Remove DispatchQueue.main.async wrapper from delegate calls.
  • The following API is available in General Availability:
    • TomTomSDKNavigationEngines.DangerousGoodsRestrictionsElement

Routing

Breaking changes

  • Rename TomTomSDKRoutingCommon.Vignette enum to TomTomSDKRoutingCommon.Vignettes.
  • Rename the TomTomSDKRoutingCommon.Request.vignette.allowVignette field to TomTomSDKRoutingCommon.Request.vignettes.allow(countries).
  • Rename the TomTomSDKRoutingCommon.Request.vignette.avoidVignette field to TomTomSDKRoutingCommon.Request.vignettes.avoid(countries).
  • Rename the TomTomSDKRoutingCommon.Request.vignette field to TomTomSDKRoutingCommon.Request.vignettes.

Deprecations

  • Deprecate the TomTomSDKRoute.AutoTransportType.skyCableTransporterBridge case. It was not used within NavSDK.

Updates

  • Document unsupported long-distance EV routing options.

Fixes

  • Prevent search operations from spanning after callback in TomTomSDKSearchOffline.OfflineSearch.search() to avoid unsynchronized access to the map and potential crash.

Updates

  • Add TomTomSDKSearchHybrid.HybridSearchError to Public Preview.
  • Return TomTomSDKSearchHybrid.HybridSearchError.cancelled when cancelling a hybrid search query.
  • Update search documentation according to Usability testers' feedback.

version 0.39.1 - 07/02/2024

General

Breaking changes

  • Removed TPEGTrafficClientConfiguration.InternalTPEGTrafficConfiguration.
  • Removed CLLocationCoordinate2D Equatable protocol conformance.
  • Removed CLLocationCoordinate2D Hashable protocol conformance.
  • Removed TomTomSDKAddonRangeVisualization framework.

Fixes

  • Updated routing default endpoint, which was incorrectly set in Guidance v2, making route calculations impossible for some customers.

Updates

  • TomTomSDKCommon.ADRTunnelRestrictionCode is now available in General Availability.
  • TomTomSDKCommon.AltitudeChangeEfficiency is now available in General Availability.
  • TomTomSDKCommon.AltitudeChangeEnergy is now available in General Availability.
  • TomTomSDKCommon.ChargeLevel is now available in General Availability.
  • TomTomSDKCommon.ChargingConnector is now available in General Availability.
  • TomTomSDKCommon.ChargingParameters is now available in General Availability.
  • TomTomSDKCommon.CombustionEngine is now available in General Availability.
  • TomTomSDKCommon.CombustionVehicleConsumption is now available in General Availability.
  • TomTomSDKCommon.CombustionVehicleEfficiency is now available in General Availability.
  • TomTomSDKCommon.ConformanceLock is now available in General Availability.
  • TomTomSDKCommon.ConformanceLocked is now available in General Availability.
  • TomTomSDKCommon.DrivingSide is now available in General Availability.
  • TomTomSDKCommon.ElectricEngine is now available in General Availability.
  • TomTomSDKCommon.ElectricVehicleConsumption is now available in General Availability.
  • TomTomSDKCommon.ElectricVehicleEfficiency is now available in General Availability.
  • TomTomSDKCommon.EngineType is now available in General Availability.
  • TomTomSDKCommon.HazmatClass is now available in General Availability.
  • TomTomSDKCommon.RoadShield is now available in General Availability.
  • TomTomSDKCommon.Vehicle is now available in General Availability.
  • TomTomSDKCommon.VehicleDimensions is now available in General Availability.
  • TomTomSDKCommon.VehicleError is now available in General Availability.
  • TomTomSDKCommon.VehicleModelID is now available in General Availability.
  • TomTomSDKCommon.VelocityChangeEfficiency is now available in General Availability.
  • TomTomSDKCommon.VoltageRange is now available in General Availability.
  • Updated conversion from Mapbox tiles to NDS tiles.

Location

Updates

  • Aligned action button in Location Preview Panel and replace icons.

Map

Breaking changes

  • TomTomSDKMapDisplay.PolygonOptions.strokeColor is now replaced by TomTomSDKMapDisplay.PolygonOptions.outlineColor.
  • TomTomSDKMapDisplay.PolygonOptions.strokeWidth is now replaced by TomTomSDKMapDisplay.PolygonOptions.outlineWidth.
  • Func RangeVisualizationFactory.create(map:style:) has been renamed to Func create(map:style:isGeoJSONStylizationEnabled:).
  • Removed TomTomSDKMapDisplay.CameraTrackingMode.followRouteNorthUp.
  • Renamed fov parameter in TomTomSDKMapDisplay.ControlPoint initializer to fieldOfView.
  • Renamed TomTomSDKMapDisplay.ControlPoint.fov to TomTomSDKMapDisplay.ControlPoint.fieldOfView.
  • Renamed TomTomSDKMapDisplay.FollowCameraOperatorConfig.defaultFov to TomTomSDKMapDisplay.FollowCameraOperatorConfig.defaultFieldOfView.
  • Renamed TomTomSDKMapDisplay.FollowCameraOperatorConfig.showCombinedInstructionMaxScale to TomTomSDKMapDisplay.FollowCameraOperatorConfig.combinedInstructionMaxScale.
  • Renamed TomTomSDKMapDisplay.FollowCameraOperatorConfig.showCombinedInstructionMaxZoomChange to TomTomSDKMapDisplay.FollowCameraOperatorConfig.combinedInstructionMaxZoomChange.

Deprecations

  • Deprecated TomTomSDKMapDisplay.CameraTrackingMode.follow(:). Use the TomTomSDKMapDisplay.CameraTrackingMode.followNorthUp(:) instead.
  • Deprecated TomTomSDKMapDisplay.CameraTrackingMode.follow. Use the TomTomSDKMapDisplay.CameraTrackingMode.followNorthUp(_:) instead.
  • Deprecated TomTomSDKMapDisplay.CameraTrackingMode.followDirection. Use the TomTomSDKMapDisplay.CameraTrackingMode.followDirection(_:) instead.
  • Deprecated TomTomSDKMapDisplay.CameraTrackingMode.followRoute(:). Use the TomTomSDKMapDisplay.CameraTrackingMode.followRouteDirection(:) instead.
  • Deprecated TomTomSDKMapDisplay.CameraTrackingMode.followRoute. Use the TomTomSDKMapDisplay.CameraTrackingMode.followRouteDirection(_:) instead.
  • Deprecated TomTomSDKMapDisplay.Polygon.bounds.
  • Deprecated TomTomSDKMapDisplay.Polygon.strokeColor, replacing it with TomTomSDKMapDisplay.Polygon.outlineColor.
  • Deprecated TomTomSDKMapDisplay.TextureOptions.isOverlayImage, replacing it with TomTomSDKMapDisplay.TextureOptions.isImageOverlay.

New features

  • Introduced GeoJSON polygon support in RangeVisualization.
  • Provided a version of the MapMatchingEngine that supports the UnifiedDataAccess factory exposed by the UnifiedMapDataStoreAccessProvider.

Updates

  • TomTomSDKMapDisplay.CameraTrackingMode is now available in General Availability.
  • TomTomSDKMapDisplay.FollowCameraOperatorConfig.RoadClass is now available in General Availability.
  • TomTomSDKMapDisplay.FollowCameraOperatorConfig is now available in General Availability.
  • Added full-fledged documentation for TomTomSDKMapDisplay.FollowCameraOperatorConfig.defaultFieldOfView.
  • Documentation was updated before deprecating several CameraTrackingMode operators.
  • Improved documentation for TomTomSDKMapDisplay.LocationIndicator and moved out magic numbers to Constants.
  • Replaced all usage of TomTomSDKMapDisplay.CameraTrackingMode.follow with TomTomSDKMapDisplay.CameraTrackingMode.followNorthUp(_:).
  • Replaced all usage of TomTomSDKMapDisplay.CameraTrackingMode.followDirection with TomTomSDKMapDisplay.CameraTrackingMode.followDirection(_:).
  • Replaced all usage of TomTomSDKMapDisplay.CameraTrackingMode.followRoute with TomTomSDKMapDisplay.CameraTrackingMode.followRouteDirection(_:).
  • Struct TomTomSDKMapDisplay.PolygonOptions is now available in General Availability.
  • Struct TomTomSDKMapDisplay.TextureOptions is now available in General Availability.

Breaking changes

  • NDSStoreUpdater.findRegionsAlongPolyline now throws MapUpdateError.InvalidLocation if the provided polyline contains any invalid location. To adapt to the changes, use a do-catch block.
  • NDSStoreUpdater.findRegionsAroundPosition now throws MapUpdateError.InvalidLocation if the provided position is invalid. To adapt to the changes, use a do-catch block.
  • TomTomSDKDataManagement.WriteAccessStatus is no longer available in the public API.
  • TomTomSDKDataManagementOffline.NDSMapUpdater.ndsMapAccessSync type was changed from TomTomSDKDataManagement.MapDataStoreAccessSyncing to TomTomSDKDataManagementOffline.NDSStoreAccessSync.
  • TomTomSDKDataManagementOffline.NDSStore.init(configuration:sync:) is now changed to TomTomSDKDataManagementOffline.NDSStore.init(configuration:).
  • TomTomSDKDataManagementOffline.NDSStoreAccessSync.init() is no longer available as a public API. NavSDK clients shouldn't create a TomTomSDKDataManagementOffline.NDSStoreAccessSync instance directly.
  • TomTomSDKDataManagementOffline.NDSStoreAccessSync.releaseWriteAccess(observer:) is no longer available as a public API.
  • TomTomSDKDataManagementOffline.NDSStoreAccessSync.requestWriteAccess(observer:timeout:) is no longer available as a public API.
  • TomTomSDKDataManagementOffline.NDSStoreAccessSync.SyncError.InvalidObserverError was changed to TomTomSDKDataManagementOffline.NDSStoreAccessSync.SyncError.InvalidObserver.
  • TomTomSDKNDSStoreUpdater.NDSStoreUpdater.ndsMapAccessSync type was changed from TomTomSDKDataManagement.MapDataStoreAccessSyncing to TomTomSDKDataManagementOffline.NDSStoreAccessSync.
  • Add typealias HazardId.
  • Added the property TomTomSDKNavigationEngines.RouteProgress.remainingTrafficDelay.
  • Changed TomTomSDKDataManagementOffline.NDSStoreAccessSync.addObserver(:) to be non-throwing.
  • Created enum HazardsFailure that describes the error occurring during the subscription request processing.
  • Created enum OnlineHazardsFactory to create a Hazards instance (create method).
  • Created interface Hazards to obtain hazard data (subscribe/unsubscribe/provide methods).
  • Created interface to listeners for hazard updates HazardsUpdateListener (onDataUpdated/onFailure methods).
  • Made the class HazardsProvider internal.
  • Refine interface HazardType.
  • Refined struct HazardsOptions and make it conform to Equatable.
  • Refined the struct Hazard, and make it conform to Equatable and Hashable.
  • Removed NavigationRouteObserver.didReplanRoute(replannedRoute:, reason:).
  • Removed TomTomSDKDataManagementOffline.NDSStoreAccessSync.SyncError.
  • Removed TomTomSDKNavigation.NavigationRouteObserver. didReplanRouteOnLanguageChange(replannedRoute:, reason:, locale:).
  • Removed TomTomSDKNavigationEngines.SafetyLocationElement.blackSpot.
  • Removed the TomTomSDKDataManagement.MapDataStoreAccessSyncing protocol.
  • Removed the TomTomSDKNavigationEngines.RouteProgress.extras property.
  • Removed the property TomTomSDKNavigationEngines.RouteProgress.currentGeoLocation; use the property TomTomSDKNavigationEngines.RouteProgress.remainingRouteStopsProgress.last.remainingDistance to calculate the distance to destination.
  • Renamed HazardsDataProvider interface to HazardsMqttDataProvider, made the interface HazardsMqttDataProvider internal, and use the public interface Hazards instead of HazardsMqttDataProvider.
  • Renamed the TomTomSDKNavigationEngines.RouteProgress.arrivalTime property to TomTomSDKNavigationEngines.RouteProgress.remainingTime.
  • Use the TomTomSDKDataManagementOffline.NDSStoreAccessSync class instead of the TomTomSDKDataManagement.MapDataStoreAccessSyncing protocol.

New features

  • Added forkPoints to Route.

Fixes

  • Fixed calculation of the VehicleHorizonPathPosition offset.
  • Fixed data race issue in SafetyLocationTileCache.
  • Now returning the correct safety locations within the bounding box.
  • Now using the correct unit for speed limits.
  • The NavigationEngines.RouteProgress.remainingRouteStopsProgress now contains only route stops whose offset is smaller than the distance along the route.

Updates

  • TomTomSDKDataManagementOffline.NDSStoreAccessSync is now available in General Availability.
  • TomTomSDKNavigationEngines.LocationSnapshot is now available in General Availability.
  • TomTomSDKVehicle.CombustionEngineProperty is now available in General Availability.
  • TomTomSDKVehicle.ElectricEngineProperty is now available in General Availability.
  • TomTomSDKVehicle.PropertyID is now available in General Availability.
  • TomTomSDKVehicle.VehicleProperty is now available in General Availability.

Routing

Breaking changes

  • Deprecated TomTomSDKRoute.TollRoadSection. Use TollSection instead.
  • Moved TomTomSDKRoutePlanner.Budget to TomTomSDKRangeCalculator.Budget. (#7847)(GOSDK-21589) Replace usages of the TomTomSDKRoutePlanner.Budget class with TomTomSDKRangeCalculator.Budget class.
  • Moved TomTomSDKRoutePlanner.RangeBoundary to TomTomSDKRangeCalculatorr.RangeBoundary. (#7847)(GOSDK-21589) Replace usages of the TomTomSDKRoutePlanner.RangeBoundary class with the TomTomSDKRangeCalculator.RangeBoundary class.
  • Moved TomTomSDKRoutePlanner.RangeCalculationOptions to TomTomSDKRangeCalculator.RangeCalculationOptions. (#7847)(GOSDK-21589) Replace usages of the TomTomSDKRoutePlanner.RangeCalculationOptions class with the TomTomSDKRangeCalculator.RangeCalculationOptions class.
  • Moved TomTomSDKRoutePlanner.RangeCalculator to TomTomSDKRangeCalculator.RangeCalculator. (#7847)(GOSDK-21589) Replace usages of the TomTomSDKRoutePlanner.RangeCalculator class with the TomTomSDKRangeCalculator.RangeCalculator class.
  • TomTomSDKRoutePlanner.Range is moved to TomTomSDKRangeCalculator.Range. (#7847)(GOSDK-21589) Replace usages of the TomTomSDKRoutePlanner.Range class with TomTomSDKRangeCalculator.Range class.

Deprecations

  • Deprecated the TomTomSDKRoute.DrivingSide struct. Use the TomTomSDKCommon.DrivingSide struct instead.
  • Deprecated the TomTomSDKRoute.RoadShield struct. Use the TomTomSDKCommon.RoadShield struct instead.

Fixes

  • Multiple EV-route replanning bug fixed.
  • The SpeedLimit section should only be requested only for motorized vehicles.

Updates

  • Promoted ChargingOptions and ChargingStopsStrategy to General Availability.

Search

Fixes

  • Fixed crash in binding of onboard search with Custom POI.
  • Fixed crash on Cancel call for SearchOffline in Bindings.

version 0.38.1 - 29/01/2024

General

Fixes

  • Updated routing default endpoint, which was incorrectly set in Guidance v2, making route calculations impossible for some customers.

version 0.38.0 - 17/01/2024

General

Breaking changes

  • TomTomSDKNDSStoreUpdater.CompositeRegion.children property is now optional. Existing checks for CompositeRegion.children.isEmpty should be replaced with CompositeRegion.children == nil checks. An alternative when iterating over the children is to use an empty list in case of nil as follows: CompositeRegion.children ?? []

Fixes

  • Avoiding now downloading the same file more than once and send only one finished callback for each download.
  • Fixed: could not build module TomTomSDKBindingMapDisplayInternal.

Removals

  • Decommissioned the TomTom Legacy SDK.

Updates

  • Promoted the TomTomSDKCommon.TTUnitRatio to General Availability.

Known issues

An incorrect routing endpoint is set by default in Guidance v2, making route calculations impossible with version 0.38.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.39.1 or later.

Location

Breaking changes

  • Made the TomTomSDKLocationProvider.MatchedLocation.mapPosition as internal.
  • Renamed the TomTomSDKLocationProvider.MatchedLocation.positionID to TomTomSDKLocationProvider.MatchedLocation.id.

Map

Breaking changes

  • Promoted the Route API to GA.
  • Renamed the TomTomSDKMapDisplay.CameraOperatorRoadClass class to TomTomSDKMapDisplay. FollowCameraOperatorConfig.RoadClass.

New Features

  • Introduced TrafficVisualization in the Routing visualization module.

Updates

  • Aligned documentation in TomTomSDKMapDisplay.Camera before promotion to GA.
  • Introduced CameraTrackingMode.followNorthUp, CameraTrackingMode.followRouteDirection cases.
  • Updated camera properties for default follow route operators.

Breaking changes

  • TomTomSDKNavigationEngines.RouteProgressEngine.calculateProgress(navigationSnapshot:) has a return type change from RouteProgress to [UUID : RouteProgress].
  • Added a new framework TomTomSDKNDSStoreUpdater. Details:
    • Moved all of the TomTomSDKDataManagementOffline.NDSStore methods and the updatesEnabled property to TomTomSDKNDSStoreUpdater.NDSStoreUpdater. This was done to encapsulate the required functionalities better (so now the TomTomSDKDataManagementOffline module provides only read-only access to the NDS map, while the TomTomSDKNDSStoreUpdater is used only for the update functionality).
    • Moved all of the existing types related to the map updates from TomTomSDKDataManagementOffline to TomTomSDKNDSStoreUpdater.
    • Added the TomTomSDKDataManagementOffline.NDSMapUpdater protocol to allow the use of a custom NDS update implementation in the TomTom SDK.
    • Added the TomTomSDKDataManagementOffline.NDSMapContext protocol to group together the NDSStore and the associated updater.
    • Removed TomTomSDKDataManagementOffline.NDSStoreConfiguration.ndsStoreUpdateConfig. Manually instantiating TomTomSDKNDSStoreUpdater.NDSStoreUpdater instead of using the NDS map update functionality.
    • Changed the argument from ndsStore: NDSStore to ndsStoreUpdater: NDSStoreUpdater in CompositeRegionsUpdater.init.
    • Changed the argument from ndsStore: NDSStore to ndsMapContext: NDSMapContext in the following places:
      • TomTomSDKNavigationDataStoreHybrid.HybridNavigationDataStore.init
      • TomTomSDKNavigationHybrid.HybridTomTomNavigationFactory.Configuration.init
      • TomTomSDKNavigationOffline.OfflineTomTomNavigationFactory.Configuration.init
    • Protocol TomTomSDKDataManagement.MapDataStoreAccessSyncing now inherits AnyObject, so it's no longer possible to implement it on a struct (it has to be a class).
    • Removed the NDSStoreUpdateConfig.geopoliticalView. Using the NDSStoreConfiguration.geopoliticalView instead. NDSStoreUpdater will use the geopolitical view of the supplied NDSStore (which is constructed with the NDSStoreConfiguration).
  • Changed the parameter type for TomTomSDKDataManagement. MapDataStoreAccessSyncing.addObserver(_:) from TomTomSDKDataManagement.OnStoreAccessChangedObserver to TomTomSDKDataManagement.StoreAccessChangedObserver.
  • Changed the parameter type for TomTomSDKDataManagement. MapDataStoreAccessSyncing.releaseWriteAccess(_:) from TomTomSDKDataManagement.OnStoreAccessChangedObserver to TomTomSDKDataManagement.StoreAccessChangedObserver.
  • Changed the parameter type for TomTomSDKDataManagement. MapDataStoreAccessSyncing.removeObserver(_:) from TomTomSDKDataManagement.OnStoreAccessChangedObserver to TomTomSDKDataManagement.StoreAccessChangedObserver.
  • Changed the parameter type for TomTomSDKDataManagement. MapDataStoreAccessSyncing.requestWriteAccess(_:) from TomTomSDKDataManagement.OnStoreAccessChangedObserver to TomTomSDKDataManagement.StoreAccessChangedObserver.
  • Marked as internal and renamed MapDataStoreAccess to StoreAccess to align with Android.
  • Moved the NDSStoreAccessSyncError to NDSStoreAccessSync.swift and renamed to SyncError.
  • Removed the didProposeRoutePlan notification from NavigationRouteObserver.
  • Removed the TomTomSDKNavigationEngines.DrivingHistorySnapshot from public API.
  • Removed the TomTomSDKNavigationEngines.MapMatchingResult.init(location:predictions:followedRouteIds:mapPosition:).
  • Removed the TomTomSDKNavigationEngines.MapMatchingResult.timestamp.
  • Removed the property TomTomSDKNavigationEngines.RouteSnapshot.projection from the public API.
  • Renamed the TomTomSDKDataManagement.OnStoreAccessChangedObserver.onStoreAccessChangedObserverId property to TomTomSDKDataManagement.StoreAccessChangedObserver.storeAccessChangedObserverID.
  • Renamed the TomTomSDKDataManagement.OnStoreAccessChangedObserver protocol to TomTomSDKDataManagement.StoreAccessChangedObserver.
  • Renamed the TomTomSDKDataManagementOffline.RegionGraphNodeState.InstallState to TomTomSDKDataManagementOffline.InstallState.
  • Renamed the TomTomSDKDataManagementOffline.RegionGraphNodeState.UpdateState to TomTomSDKDataManagementOffline.UpdateState.
  • Renamed the TomTomSDKNavigationEngines.MapMatchingResult.predictions to TomTomSDKNavigationEngines.MapMatchingResult.locationPredictions.
  • Restricted the TomTomSDKVehicle.VehicleProvider adoption to classes.
  • The TomTomSDKNavigationEngines.ConfigurationSnapshot constructor is no longer part of the public API.
  • Updated TomTomSDKNavigationEngines.MapMatchingResult.init(matchedLocation:timestamp:predictions:followedRouteIds:alternativeMatchedLocations:) parameters.
  • Using didAddRoute(:), didRemoveRoute(:) and didChangeActiveRoute() of NavigationRouteAddedObserver, NavigationRouteRemovedObserver and NavigationActiveRouteChangedObserver respectively.
  • Using the existential VehicleUpdateObserver in TomTomSDKVehicle.VehicleProvider.addVehicleUpdateObserver(:) and TomTomSDKVehicle.VehicleProvider.removeVehicleUpdateObserver(:).

New Features

  • Tracking route progress for multiple routes (active route and better proposal).

Fixes

  • Added documentation to the NavigationTileStore.
  • Avoiding unsafe unwrapping optionals in NavigationTileStore.checkConfiguration.
  • Removed the display of the Location Preview Panel if we are on the road.
  • Using correct unit for speed limits.
  • Сhanged the noNextInstructions error on the unavailableRoutePlan.

Updates

  • TomTomSDKDataManagement.StoreAccessChangedObserver is now available in General Availability.
  • TomTomSDKLocationProvider.MatchedLocation is now available in General Availability.
  • TomTomSDKNavigationEngines.BetterProposalAcceptanceMode is added to the TomTomSDKNavigation.TomTomNavigation protocol.
  • TomTomSDKNavigationEngines.ConfigurationSnapshot is now available in General Availability.
  • TomTomSDKNavigationEngines.MapMatchingResult is now available in General Availability.
  • TomTomSDKNavigationTileStore.NavigationTileStore is now available in General Availability.
  • Merged horizon elements if they are continuous.
  • Moved TomTomSDKNavigation.TomTomNavigation.betterProposalAcceptanceMode property to GA in the TomTomSDKNavigation.TomTomNavigation protocol scope.
  • Updated documentation in TomTomSDKNavigationEngines.WaypointArrivalState and TomTomSDKNavigationEngines.WaypointArrivalStatus.
  • Updated guides and code snippets to include the following new observers, TomTomNavigation.NavigationRouteAddedObserver, TomTomNavigation.NavigationRouteRemovedObserver, TomTomNavigation.NavigationRouteUpdateObserver and TomTomNavigation.NavigationActiveRouteChangedObserver.
  • Updated the documentation for the TomTomSDKNavigation.ProjectedRoute.

Routing

Breaking changes

  • TomTomRoutePlanner.OnlineAPIVersion is now available in General Availability.

Deprecations

  • Deprecated TomTomRoutePlanner.OnlineAPIVersion.v1 value. Use the TomTomSDKRoutePlanner.OnlineAPIVersion.v2 enum case instead.

New Features

  • Introduced new Toll section. The section presents parts of the road with the usage-based toll collection system (i.e., distance-based tolls, toll bridges and tunnels, weight-based tolls).
  • Provided a version of the RouteProjectionEngine that supports UnifiedDataAccess factory exposed by the UnifiedMapDataStoreAccessProvider.

Search

Deprecations

  • Deprecated the TomTomSDKSearchOffline.OfflineSearch class. Instead, use the TomTomSDKSearchOffline.OfflineSearchFactory to create an instance of offline search.
  • Deprecated the TomTomSDKStructuredSearchOffline.OfflineStructuredSearch class. Instead, use the TomTomSDKStructuredSearchOffline.OfflineStructuredSearchFactory to instantiate TomTomSDKStructuredSearch.StructuredSearch that provides offline support.
  • Deprecated the TomTomSDKStructuredSearchOffline.OfflineStructuredSearchSession class. Instead, use the TomTomSDKStructuredSearch.StructuredSearchSession protocol instead to access structured search functionality.

Updates

  • TomTomSDKReverseGeocoderHybrid.HybridReverseGeocoderFactory is now available in Public Preview.
  • TomTomSDKReverseGeocoderOffline. OfflineReverseGeocoderError is now available in General Availability.
  • TomTomSDKReverseGeocoderOffline. OfflineReverseGeocoderError is now available in Public Preview.
  • TomTomSDKReverseGeocoderOffline.OfflineReverseGeocoderFactory is now available in General Availability.
  • TomTomSDKSearchHybrid.HybridSearchFactory.create(apiKey:store:timeout:customPOIProviders:customAPIURL:) is now available in Public Preview.
  • TomTomSDKSearchHybrid.HybridSearchFactory is now available in Public Preview.
  • TomTomSDKStructuredSearch.StructuredSearchSession.goBack(step:completion:) is now available in General Availability.
  • TomTomSDKStructuredSearchOffline.OfflineStructuredSearchFactory.create(store:) is now available in General Availability.

Traffic

Breaking changes

  • Changed the configuration parameter type in function TrafficFactory.createWithTPEGProvider(store:configuration:locationEngine:) from TomTomSDKBindingTPEGTrafficInternal.TPEGTrafficClientConfiguration to TomTomSDKTrafficEngine.TPEGTrafficClientConfiguration.
  • Renamed TomTomSDKTraffic.TrafficService protocol to TomTomSDKTraffic.Traffic and made TomTomSDKTraffic.TrafficService a type alias of TomTomSDKTraffic.Traffic. Changed type of trafficService argument of TomTomSDKRoutePlannerOffline.OfflineRangeCalculator.init(store:trafficService:) from TomTomSDKTraffic.TrafficService to TomTomSDKTraffic.Traffic. Changed type of trafficService argument of TomTomSDKRoutePlannerOffline.OfflineRoutePlanner.init(store:trafficService:) from TomTomSDKTraffic.TrafficService to TomTomSDKTraffic.Traffic. Changed type of trafficService argument of TomTomSDKTrafficDataProvider.TrafficDataProviderFactory.createTrafficDataProvider(trafficService:) from TomTomSDKTraffic.TrafficService to TomTomSDKTraffic.Traffic. Changed the return type of TomTomSDKTrafficEngine.TrafficFactory.create(apiKey:store:locationEngine:) from TomTomSDKTraffic.TrafficService to TomTomSDKTraffic.Traffic. Changed the return type of TomTomSDKTrafficEngine.TrafficFactory.createWithTPEGProvider(apiKey:store:locationEngine:) from TomTomSDKTraffic.TrafficService to TomTomSDKTraffic.Traffic.

Deprecations

  • Deprecated TomTomSDKTrafficTPEG.TPEGTrafficService. Use TomTomSDKTrafficEngine.TrafficFactory instead.
  • Deprecated the TomTomSDKTrafficTPEG.TPEGTrafficClientConfiguration. Use TomTomSDKTrafficEngine.TPEGTrafficClientConfiguration instead.

version 0.37.0 - 21/12/2023

General

Known issues

An incorrect routing endpoint is set by default in Guidance v2, making route calculations impossible with version 0.37.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.39.1 or later.

Map

New Features

  • Aligned the reachability distance feature with Android.

Updates

  • Updated camera properties for default follow route operators.
  • Updated StyleDefinition inline-documentation.

Breaking changes

  • func shouldRetry(attempt: Int) -> Bool removed from TomTomSDKNavigation.ReplanningRetryPolicy .
  • Changed the NavigationTileStoreConfiguration.PrefetchingConfiguration.requestLaneTiles variable name to shouldRequestLaneTiles.
  • Default AreaAlongRoute is no longer optional.
  • Func TomTomSDKNavigation.ReplanningRetryPolicy.retryDelay(forAttempt:) has been renamed to func TomTomSDKNavigation.ReplanningRetryPolicy.calculateRetryDelay(forAttempt:).
  • Grouped caching and prefetching attributes in the NavigationTileStoreConfiguration.
  • Included the following observers under existing typealias TomTomSDKNavigation.NavigationObserver: TomTomSDKNavigation.NavigationRouteAddedObserver TomTomSDKNavigation.NavigationRouteRemovedObserver TomTomSDKNavigation.NavigationRouteUpdateObserver TomTomSDKNavigation..NavigationActiveRouteChangedObserver
  • Made the isLanguageAvailable method static in TomTomSDKTextToSpeechEngine.TextToSpeechEngine.
  • Remove MapUpdateObserver. To receive notifications of map updates, use RegionGraphObserver as the alternative.
  • Removed minDistanceAhead parameter from the primary constructor of TomTomSDKNavigationEngines.MainPathSearchOptions. To specify a value for minDistanceAhead, use the secondary constructor with the provided minDistanceAhead parameter.
  • Removed DefaultTomTomNavigation.acceptBetterProposal(), use selectActiveRoute(routeId: UUID) instead.
  • Removed the default implementations of adding and removing methods for the new observers from the TomTomNavigation interface due to the promotion of these methods to Public Preview.
    • Removed TomTomSDKNavigation.TomTomNavigation.addRouteAddedObserver(:), TomTomSDKNavigation.TomTomNavigation.addRouteRemovedObserver(:), TomTomSDKNavigation.TomTomNavigation.addRouteUpdateObserver(:), TomTomSDKNavigation.TomTomNavigation.addActiveRouteChangedObserver(:), TomTomSDKNavigation.TomTomNavigation.removeRouteAddedObserver(:), TomTomSDKNavigation.TomTomNavigation.removeRouteRemovedObserver(:), TomTomSDKNavigation.TomTomNavigation.removeRouteUpdateObserver(:), TomTomSDKNavigation.TomTomNavigation. removeActiveRouteChangedObserver(:)
  • Removed TomTomNavigation.acceptBetterProposal(), use selectActiveRoute(routeId: UUID) instead.
  • Renamed TomTomSDKNavigation.TomTomReplanningRetryPolicy to TomTomSDKNavigation.DefaultReplanningRetryPolicy.

Deprecations

  • Deprecated TomTomSDKNavigation.NavigationGuidanceObserver. Use TomTomSDKNavigation.GuidanceUpdateObserver and TomTomSDKNavigation.LaneGuidanceUpdateObserver instead.

Fixes

  • Corrected the route window built for horizon.
  • Took the message duration into consideration for announcing guidance instructions.

Updates

  • TomTomSDKNavigation.RouteTrackingStateUpdateObserver is now available in General Availability.
  • TomTomSDKNavigation.TomTomNavigation.addRouteTrackingStateUpdateObserver(_ observer:) is now available in General Availability.
  • TomTomSDKNavigation.TomTomNavigation.removeRouteTrackingStateUpdateObserver(_ observer:) is now available in General Availability.
  • TomTomSDKNavigationEngines.RouteTrackingState is now available in General Availability.
  • TomTomSDKNavigationEngines.UnfollowedRoute is now available in General Availability.
  • Added DefaultTomTomNavigation.selectActiveRoute(routeId: UUID).
  • Added TomTomNavigation.selectActiveRoute(routeId: UUID).
  • Define common model for safetylocations, and use it in SafetyCams and OnlineSafetyLocationsDataAdapter components.
  • Moving DefaultTomTomNavigation.selectActiveRoute(routeId:) to GA.
  • Moving TomTomNavigation.selectActiveRoute(routeId:) to GA.
  • NavigationTileStore.PersistentStorageEncryptionKeyProvider now in General Availability.
  • Promote the replacement for TomTomSDKNavigation.NavigationRouteObserver to Public Preview.
    • Use TomTomSDKNavigation.NavigationRouteAddedObserver , TomTomSDKNavigation. NavigationRouteRemovedObserver `,`TomTomSDKNavigation. NavigationRouteUpdateObserver and `TomTomSDKNavigation. NavigationActiveRouteChangedObserver `
    • Use TomTomSDKNavigation.NavigationEvent.RouteAddedEvent, TomTomSDKNavigation.NavigationEvent.routeRemovedEvent, TomTomSDKNavigation.NavigationEvent.routeUpdateEvent and TomTomSDKNavigation.NavigationEvent.activeRouteChangedEvent
    • Use TomTomSDKNavigation.TomTomNavigation.addRouteAddedObserver(:), TomTomSDKNavigation.TomTomNavigation.addRouteRemovedObserver(:), TomTomSDKNavigation.TomTomNavigation.addRouteUpdateObserver(:), TomTomSDKNavigation.TomTomNavigation.addActiveRouteChangedObserver(:), TomTomSDKNavigation.TomTomNavigation.removeRouteAddedObserver(:), TomTomSDKNavigation.TomTomNavigation.removeRouteRemovedObserver(:), TomTomSDKNavigation.TomTomNavigation.removeRouteUpdateObserver(:), TomTomSDKNavigation.TomTomNavigation. removeActiveRouteChangedObserver(:)
  • The following APIs are available in General Availability:
    • TomTomSDKCommon.RoadCategory
    • TomTomSDKNavigation.TomTomNavigation.addHorizonObserver(::)
    • TomTomSDKNavigation.TomTomNavigation.removeHorizonObserver(:)
    • TomTomSDKNavigation.NavigationHorizonObserver
    • TomTomSDKNavigationEngines.ExplicitDistancePolicy
    • TomTomSDKNavigationEngines.RouteLengthPolicy
    • TomTomSDKNavigationEngines.PathSearchDistancePolicy
    • TomTomSDKNavigationEngines.HorizonOptions
    • TomTomSDKNavigationEngines.HorizonElementType
    • TomTomSDKNavigationEngines.MainPathSearchOptions
    • TomTomSDKNavigationEngines.SubPathSearchOptions
    • TomTomSDKNavigationEngines.HorizonSnapshot
    • TomTomSDKNavigationEngines.HorizonPath
    • TomTomSDKNavigationEngines.HorizonPosition
    • TomTomSDKNavigationEngines.HorizonSnapshotState
    • TomTomSDKNavigationEngines.PathSearchDistance
    • TomTomSDKNavigationEngines.CityElement
    • TomTomSDKNavigationEngines.CountryInformationElement
    • TomTomSDKNavigationEngines.RegionalSpeedLimit
    • TomTomSDKNavigationEngines.GeneralRoadPropertiesElement
    • TomTomSDKNavigationEngines.HorizonElement
    • TomTomSDKNavigationEngines.PathGeometryElement
    • TomTomSDKNavigationEngines.SpeedLimitElement
    • TomTomSDKNavigationEngines.StreetElement
    • TomTomSDKNavigationEngines.VehicleRestrictionElement

Routing

Deprecations

  • Deprecated announcements and combineWithNext fields in TomTomSDKRoute.Instruction and all Instruction classes derived from it.
  • Deprecated TomTomRoutePlanner.InstructionType.
  • Deprecated TomTomSDKRoute.FollowInstruction.

Fixes

  • Fixed an issue with Section startPointIndex being out of bounds during mapping from response json.
  • Fixed the inconsistency of properties TomTomSDKRoute.Section.sectionLocation.startPointIndex and TomTomSDKRoute.Section.sectionLocation.endPointIndex with an updated route geometry after route update.

Updates

  • Created new SDK framework TomTomSDKRangeCalculator.

Search

Breaking changes

  • Added an index parameter to TomTomSDKSearchUI.SearchViewDelegate.didSelectResult.
  • Removed enum SearchOffline.SearchError. Use OfflineSearchError instead.

Updates

  • Enabled SearchUI to send feedback.
  • Introduced TomTomSDKStructuredSearchOffline.OfflineStructuredSearchFactory for creating StructuredSearch instances with offline support.

version 0.36.0 - 14/12/2023

General

Breaking changes

  • RegionGraphChangeEvents can now no longer be constructed by the client.
  • Replaced TomTomSDKCommon.Van.init(maxSpeed:isCommercial:combustionEngine:electricEngine:dimensions:modelID:) initializer with TomTomSDKCommon.Van.init(maxSpeed:isCommercial:combustionEngine:electricEngine:dimensions:loadType:generalLoadType:dangerousGoodsLoadType:adrTunnelRestrictionCode:modelID:).
  • The errorCode parameter of CompletedMapOperation is renamed to error.

New Features

  • Make TomTomSDKCommon.Van conforming to TomTomSDKCommon.CargoCapable protocol.

Known issues

An incorrect routing endpoint is set by default in Guidance v2, making route calculations impossible with version 0.36.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.39.1 or later.

Map

Breaking changes

  • Add FollowRouteNorthUp camera tracking mode.

New Features

  • Add support for single geoJSON polygon.
  • Implement better route proposals in NV module.
  • Introduce GeoJSON support for polygon overlay.

Fixes

  • Disable range visualization on the route by default.

Breaking changes

  • BetterProposalAcceptanceMode.default value was removed. Use BetterProposalAcceptanceMode.automatic instead.
  • Properties of TomTomSDKNavigation.NavigationSnapshotError.unavailableRoutePlan has been replaced with TomTomSDKNavigation.NavigationSnapshotError.unavailableTripSnapshot.
  • Removed TomTomSDKNavigation.DeviationReplanningMode.default case. Use TomTomSDKNavigation.DeviationReplanningMode.automatic instead.
  • Removed TomTomSDKNavigationEngines.HorizonElementType.regionType.
  • Removed TomTomSDKNavigationEngines.RegionElement. Use TomTomSDKNavigationEngines.CountryInformationElement.countryName instead of TomTomSDKNavigationEngines.RegionElement.country. Use TomTomSDKNavigationEngines.CountryInformationElement.regionName instead of TomTomSDKNavigationEngines.RegionElement.subCountry.
  • Removed TomTomSDKNavigationEngines.RoutePlanChangeReason.
  • Renamed TomTomSDKNavigation.NavigationRouteTrackingStateUpdateObserver.onRouteTrackingStateUpdate to TomTomSDKNavigation.NavigationRouteTrackingStateUpdateObserver.didUpdateRouteTrackingState.
  • Renamed TomTomSDKNavigationEngines.CountryInformationElement.countryCode to TomTomSDKNavigationEngines.CountryInformationElement.countryCodeISO3.
  • The following properties of TomTomSDKNavigation.NavigationSnapshot has been replaced or removed: NavigationSnapshot.location has been replaced with NavigationSnapshot.locationSnapshot.rawLocation. NavigationSnapshot.lastMapMatchingResult has been replaced with NavigationSnapshot.locationSnapshot.mapMatchingResult. NavigationSnapshot.locationContext has been replaced with NavigationSnapshot.locationSnapshot.locationContext. NavigationSnapshot.activeRouteData has been replaced with NavigationSnapshot.tripSnapshot.activeRoute and NavigationSnapshot.tripSnapshot.betterProposal. NavigationSnapshot.alternativeRoutePlans has been removed from NavigationSnapshot API level. NavigationSnapshot.currentRouteProgress has been replaced with NavigationSnapshot.tripSnapshot.activeRoute.routeProgress. NavigationSnapshot.currentWaypointsState has been replaced with NavigationSnapshot.tripSnapshot.activeRoute.nextWaypoint, NavigationSnapshot.tripSnapshot.activeRoute.numberOfVisitedWaypoints and NavigationSnapshot.tripSnapshot.activeRoute.waypointArrivalHistory. NavigationSnapshot.unitSystem has been replaced with NavigationSnapshot.configurationSnapshot.unitSystem. NavigationSnapshot.locale has been replaced with NavigationSnapshot.configurationSnapshot.language. NavigationSnapshot.hasArrived has been replaced with NavigationSnapshot.tripSnapshot.hasReachedDestination. NavigationSnapshot.projectedRoutes has been replaced with NavigationSnapshot.tripSnapshot.activeRoute.projection and NavigationSnapshot.tripSnapshot.betterProposal.projection. NavigationSnapshot.activeRoute has been removed from NavigationSnapshot API level.

New Features

  • Introduced new ConfigurationSnapshot API in Public Preview.
  • Introduced new DrivingHistorySnapshot API in Public Preview.
  • Introduced new LocationSnapshot API in Public Preview.
  • Introduced new RouteSnapshot API in Public Preview.
  • Introduced new TripSnapshot API in Public Preview.

Fixes

  • Fix out-of-memory crash during navigation with long route.

Updates

  • NavigationTileStore.AreaAlongRoute is now available in General Availability.
  • NavigationTileStore.CacheStorageConfiguration is now available in General Availability.
  • TomTomSDKNavigation.DeviationReplanningMode is now available in General Availability.
  • TomTomSDKNavigation.GuidanceUpdateObserver is now available in General Availability.
  • TomTomSDKNavigation.TomTomNavigation.deviationReplanningMode is now available in General Availability.
  • TomTomSDKNavigationEngines.BetterProposalAcceptanceMode promoted to GA.
  • Added collaboration tests for HorizonObservers.
  • Replaced current NavigationSnapshot properties with locationSnapshot, historySnapshot, configurationSnapshot, vehicleSnapshot, tripSnapshot properties.
  • The methods TomTomSDKNavigation.TomTomNavigation/addGuidanceUpdateObserver and TomTomSDKNavigation.TomTomNavigation/removeGuidanceUpdateObserver is now available in General Availability.
  • The methods TomTomSDKNavigation.TomTomNavigation/addLaneGuidanceUpdateObserver and TomTomSDKNavigation.TomTomNavigation/removeLaneGuidanceUpdateObserver is now available in General Availability.
  • Update the documentation for the methods in TomTomSDKNavigation.TomTomNavigation.

Routing

Breaking changes

  • TomTomSDKRoutePlanner.RoutingOptionsError is moved to TomTomSDKRoutingCommon.RoutingOptionsError. Replace usages of TomTomSDKRoutePlanner.RoutingOptionsError with TomTomSDKRoutingCommon.RoutingOptionsError.

Deprecations

  • Deprecated TomTomRoutePlanner.AnnouncementPoints.

Fixes

  • Changed the condition for the storing the last announcement instruction.
  • Not settin allow or avoid vignettes on Orbis.

Updates

  • TomTomSDKRoutePlanner.RoutePlanner.planRoute is now available in General Availability.

Search

Updates

  • Introduced a factory for OfflineSearch.
  • Updated search URL configuration used under TomTom Orbis Map feature toggle.

Traffic

Breaking changes

  • Removed functions and variables that should not be in the public interface: TomTomSDKTrafficTPEG.TPEGTrafficService.notifyMapLoaded(), TomTomSDKTrafficTPEG.TPEGTrafficService.notifyMapUnloading(), TomTomSDKTrafficTPEG.TPEGTrafficService.onAuthorizationStatusChanged(isGranted:) TomTomSDKTrafficTPEG.TPEGTrafficService.onHeadingUpdate(newHeading:lastLocation:), TomTomSDKTrafficTPEG.TPEGTrafficService.onLocationUpdated(location:), TomTomSDKTrafficTPEG.TPEGTrafficService.onReadOnlyAccessGranted(mapChanged:), TomTomSDKTrafficTPEG.TPEGTrafficService.onReadOnlyAccessReleaseRequested(accessReleased:), TomTomSDKTrafficTPEG.TPEGTrafficService.onStoreAccessChangedObserverId.

Updates

  • Introduced a provider agnostic traffic engine: TomTomSDKTrafficEngine.

version 0.35.0 - 05/12/2023

General

Breaking changes

  • Move numberOfAxles property from TomTomSDKCommon.Vehicle to TomTomSDKCommon.VehicleDimensions.
  • Move TomTomSDKVehicle.DefaultVehicleProvider to internal. Default vehicle provider is expected to be created via TomTomSDKVehicle.VehicleProviderFactory.create(vehicle: Vehicle).
  • Restrict to create own TomTomSDKCommon.Vehicle implementations.

Fixes

  • Changed error handling to not crash app on unsuccessful data poll.
  • Fix hyperlinks on the Copyrights screen in the demo app.
  • Updated renovate Map Data Access packages.

Updates

  • Conform OnboardDataManagement.RegionGraphNode and OnboardDataManagement.RegionGraph to the Equatable protocol. Add ObserveRegionGraphComponentTest for parity with Android
  • Moved VehicleType to General Availability.
  • Update security advisory in the documentation for API key storage.

Known issues

An incorrect routing endpoint is set by default in Guidance v2, making route calculations impossible with version 0.35.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.39.1 or later.

Location

Fixes

  • Fix crash due to linked multiple mapdataaccess-ndsmap and nds-sqlite calls to an uninitialized function.

Map

Fixes

  • Added new section Configuring the map in the quick start guide.
  • Fixed camera jumps during route replans.
  • Update vehicle restrictions online documentation to show how to correctly apply vehicle restrictions to the map.

Updates

  • Extend the DevPortal and the inline documentation about the usage and requirements of the custom location indicator model.

Breaking changes

  • Align TomTomNavigation.NavigationEvent enum labelling inconsistency.
  • Change CompositeRegionID.rawValue to internal. Use CompositeRegionID.description instead.
  • Change RegionGraphNodeID.value to internal. Use RegionGraphNodeID.description instead.
  • Make NavigationTileStore storeAccessHandle not optional.
  • Remove the default value of TomTomSDKNavigationEngines.PathSearchDistance.maxHorizonLength.
  • Remove the default value of TomTomSDKNavigationEngines.ExplicitDistancePolicy.searchDistance.
  • Remove the didChangeRoutes notification from NavigationRouteObserver. It has been replaced by didAddRoute, didRemoveRoute and didChangeActiveRoute notifications observed by NavigationRouteAddedObserver, NavigationRouteRemovedObserver and NavigationActiveRouteChangedObserver, respectively.
  • Remove TomTomSDKNavigationEngines.HorizonOptions.minDistanceAhead and add TomTomSDKNavigationEngines.MainPathSearchOptions.minDistanceAhead.

New Features

  • Added Location Preview panel on search on map.

Fixes

  • Fix out-of-memory crash during navigation with long route.
  • Fix pronunciation of "drive".
  • Fixed iOS Binding for SetActiveRoute in NavigationTIleStore.
  • Fixed the issue failing to process location update when starting navigation before map data has been loaded .
  • GetMapAsync wont execute on style load error.

Updates

  • TomTomSDKNavigation.LaneGuidanceUpdateObserver is now available in General Availability.
  • TomTomSDKNavigationEngines.GuidanceInstruction documentation updated.
  • Add documentation for TomTomSDKNavigation.NavigationEvents.
  • Update the documentation.

Routing

Breaking changes

  • Add avoidChargingParks parameter to ChargingOptions.
  • TomTomSDKRoutePlanner.AvoidOptions is moved to TomTomSDKRoutingCommon.AvoidOptions. Replace usages of TomTomSDKRoutePlanner.AvoidOptions class with TomTomSDKRoutingCommon.AvoidOptions class.
  • TomTomSDKRoutePlanner.AvoidType is moved to TomTomSDKRoutingCommon.AvoidType. Replace usages of TomTomSDKRoutePlanner.AvoidType class with TomTomSDKRoutingCommon.AvoidType class.
  • TomTomSDKRoutePlanner.ChargingOptions is moved to TomTomSDKRoutingCommon.ChargingOptions. Replace usages of TomTomSDKRoutePlanner.ChargingOptions class with TomTomSDKRoutingCommon.ChargingOptions class.
  • TomTomSDKRoutePlanner.ConsiderTraffic is moved to TomTomSDKRoutingCommon.ConsiderTraffic. Replace usages of TomTomSDKRoutePlanner.ConsiderTrafficclass with TomTomSDKRoutingCommon.ConsiderTraffic class.
  • TomTomSDKRoutePlanner.CostModel is moved to TomTomSDKRoutingCommon.CostModel. Replace usages of TomTomSDKRoutePlanner.CostModel class with TomTomSDKRoutingCommon.CostModel class.
  • TomTomSDKRoutePlanner.Hilliness is moved to TomTomSDKRoutingCommon.Hilliness. Replace usages of TomTomSDKRoutePlanner.Hillinessclass with TomTomSDKRoutingCommon.Hilliness class.
  • TomTomSDKRoutePlanner.Itinerary is moved to TomTomSDKRoutingCommon.Itinerary. Replace usages of TomTomSDKRoutePlanner.Itinerary class with TomTomSDKRoutingCommon.Itinerary class.
  • TomTomSDKRoutePlanner.QueryOptions is moved to TomTomSDKRoutingCommon.QueryOptions. Replace usages of TomTomSDKRoutePlanner.QueryOptions class with TomTomSDKRoutingCommon.QueryOptions class.
  • TomTomSDKRoutePlanner.RouteType is moved to TomTomSDKRoutingCommon.RouteType. Replace usages of TomTomSDKRoutePlanner.RouteType class with TomTomSDKRoutingCommon.RouteType class.
  • TomTomSDKRoutePlanner.Vignette is moved to TomTomSDKRoutingCommon.Vignette. Replace usages of TomTomSDKRoutePlanner.Vignette class with TomTomSDKRoutingCommon.Vignette class.
  • TomTomSDKRoutePlanner.WaypointOptimization is moved to TomTomSDKRoutingCommon.WaypointOptimization. Replace usages of TomTomSDKRoutePlanner.WaypointOptimization class with TomTomSDKRoutingCommon.WaypointOptimization class.
  • TomTomSDKRoutePlanner.Windingness is moved to TomTomSDKRoutingCommon.Windingness. Replace usages of TomTomSDKRoutePlanner.Windingness class with TomTomSDKRoutingCommon.Windingness class.

Deprecations

  • Deprecate TomTomSDKRoutePlanner.GuidanceOptions constructor and introduce a new one instead.

Fixes

  • Added next steps section on Planning a route page in documentation.

Updates

  • Customer now can avoid and/or allow specific countries that have vignette roads.

version 0.34.2 - 28/11/2023

General

Breaking changes

  • Add api state to feature toggle. EnumElement RuntimeFeatureType.fooFeature has been removed EnumElement RuntimeFeatureType.smoothStyleTransition has been removed EnumElement RuntimeFeatureType.newGestureInteractor is now with @_spi EnumElement RuntimeFeatureType.quickScaleGestureIsCentered is now with @_spi EnumElement RuntimeFeatureType.resolveLaneGroupByRoutingLinkOnly is now with @_spi EnumElement RuntimeFeatureType.tomtomOrbisMapFeature is now with @_spi EnumElement RuntimeFeatureType.useLegacyPathMapMatcher is now with @_spi EnumElement RuntimeFeatureType.useNDSLive is now with @_spi EnumElement RuntimeFeatureType.useOnlineFirstHybridTileDataProvider is now with @_spi EnumElement RuntimeFeatureType.useVoicePromptModeForTTS is now with @_spi
  • Change experimental API annotation for GeoJSONLineOptions.==(::) method to @_spi(Experimental).
  • Extend TomTomSDK.VehicleUpdateObserver.onVehicleUpdate(_ : Vehicle) with an extra updatedPropertyIDs parameter and rename it to TomTomSDK.VehicleUpdateObserver.didUpdateVehicle(_ : Vehicle, updatedPropertyIDs: [PropertyID])).
  • Rename TomTomSDKVehicle.DefaultVehicleProvider.updateVehicleState to TomTomSDKVehicle.DefautVehicleProvider.updateVehicle.

Removals

  • Remove adding specific vehicle property listeners of TomTomSDKVehicle.VehicleProvider.

Updates

  • Move updateVehicle and setVehicle from TomTomSDKVehicle.DefaultVehicleProvider to TomTomSDKVehicle.VehicleProvider protocol.
  • Promote TomTomSDKCommon.Cancellable to general availability.
  • Removed @_spi(Experimental) from tomtomOrbisMapFeature. Removed @_spi(Experimental) from import TomTomSDKFeatureToggle wherever tomtomOrbisMapFeature only is used among other @_spi(Experimental) cases .
  • Update TomTomSDKCommon.VehicleLoadType and TomTomSDKCommon.ADRTunnelRestrictionCode documentation.

Location

Updates

  • Added allowsBackgroundLocationUpdates property to DefaultCLLocationProvider class.

Map

Breaking changes

  • Constructor RouteStyle.init(activeLineColor:activeLineWidths:activeOutlineWidths:alternativeLineColor:alternativeLineWidths:alternativeOutlineWidths:alternativeLineColorOverrule:departureMarkerImage:destinationMarkerImage:waypointsMarkerImage:areWaypointsVisible:) has been changed to RouteStyle.init(activeLineColor:activeLineWidths:activeOutlineWidths:alternativeLineColor:alternativeLineWidths:alternativeOutlineWidths:alternativeLineColorOverrule:departureMarkerImage:destinationMarkerImage:waypointsMarkerImage:areWaypointsVisible:reachableDistanceMarkerImage:) Add end of range route marker to indicate the reachable distance on the route.

New Features

  • Introduce on-route traffic developer portal documentation.

Fixes

  • Fix API doc.

Breaking changes

  • Enable prefetching tiles along active route for NDS.Live tile store.
  • Remove TomTomSDKLocationContextProviderEngineHybrid. LocationContext is provided by HorizonEngine instead. HorizonEngine is instantiated internally in HybridTomTomNavigationFactory.create().
  • Remove TomTomSDKLocationContextProviderEngineOffline. LocationContext is provided by HorizonEngine instead. HorizonEngine is instantiated internally in OfflineTomTomNavigationFactory.create().
  • Remove TomTomSDKLocationContextProviderEngineTileStore. LocationContext is provided by HorizonEngine instead. HorizonEngine is instantiated internally in OnlineTomTomNavigationFactory.create().
  • Removed default values from NavigationEngine.RouteStopProgress initializer.
  • Renamed TomTomSDKNavigation.GuidanceUpdatedObserver to TomTomSDKNavigation.GuidanceUpdateObserver.
  • Renamed TomTomSDKNavigation.LaneGuidanceUpdatedObserver to TomTomSDKNavigation.LaneGuidanceUpdateObserver.
  • Replace TomTomNavigation.NavigationGuidanceObserver in the typealias TomTomNavigation.NavigationObserver by TomTomNavigation.GuidanceUpdateObserver and TomTomNavigation.LaneGuidanceUpdateObserver.
  • Split TomTomNavigation.GuidanceEvent to TomTomNavigation.GuidanceUpdatedEvent and TomTomNavigation.LaneGuidanceUpdatedEvent.

Fixes

  • Call onRouteReplanned when the replanning reason is refresh or increment.
  • Fix the problem with playing multiple messages in the TTS engine created by TomTomSDKTextToSpeech.makeTextToSpeech(ttsEngine:) method.
  • Synchronised access to shared data to prevent race condition.

Updates

  • NavigationEngine.RouteStopProgress promoted to GA.
  • TomTomNavigation.deviationReplanningMode is now available in Public Preview.
  • TomTomSDKNavigationEngines.GuidanceInstruction navigation updated.
  • Add LaneGuidanceUpdate documentation.
  • Promote LocationContext to GA.
  • Promote TomTomSDKNavigation.GuidanceUpdateObserver and TomTomSDKNavigation.LaneGuidanceUpdatedObserver to Public Preview .
  • Separate NavigationObservers into different files.
  • Update API documentation: TomTomNavigation.LaneGuidanceUpdateObserver, TomTomNavigation.GuidanceUpdateObserver.

Routing

Breaking changes

  • Remove default values for ChargingOptions.

Search

Breaking changes

  • Moved POI and related types from TomTomSDKSearch to TomTomSDKCommon module:
    • Enum OpeningHoursMode
    • Enum Source
    • Enum StandardCategoryID
    • Struct Brand
    • Struct FuelType
    • Struct OpeningHours
    • Struct POI
    • Struct POIID
    • Struct POICategoryID
    • Struct ChargingPark
  • Removed Enum TomTomSDKSearch.VehicleType. TomTomSDKCommon.VehicleType can be used instead.

Updates

  • TomTomSDKSearch.Search.FeedbackEvent is now available in General Availability.
  • TomTomSDKSearch.Search.FeedbackEventType is now available in General Availability.
  • TomTomSDKSearch.Search.FeedbackResultID is now available in General Availability.
  • TomTomSDKSearch.Search.FeedbackResultIDFactory is now available in General Availability.
  • TomTomSDKSearch.Search.sendFeedback() is now available in General Availability.
  • TomTomSDKSearchOffline.OfflineSearch.sendFeedback() is now available in General Availability.
  • TomTomSDKSearchOnline.OnlineSearch.sendFeedback() is now available in General Availability.
  • Promote TomTomSDKStructuredSearch.CandidateType to Public Preview.

version 0.33.1 - 15/11/2023

General

Updates

  • Documentation updated for TomTomSDKCommon.Observable and TomTomSDKCommon.ObservableHandler.
  • Improve documentation for TomTomSDKCommon.Vehicle.VehicleProperty and TomTomSDKCommon.Vehicle.PropertyID and the relationship between them.
  • Updated documentation for TomTomSDKCommon.GeoJSON.

Map

Updates

  • Move experimental APIs of SearchVisualization and POIVisualization to Public Preview.

Breaking changes

  • Legacy NavigationTileStore throws exception on initialization failure instead of returning nil.
  • Make TomTomNavigation.language property read only. Language can be set through new preferredLanguage property.
  • Remove LocationContextProviderEngine from DefaultTomTomNavigation, functionality is kept unchanged on top of HorizonEngine.
  • Revise persistent cache configuration parameters storagePath and storageMaxSize into CacheStorageConfig to mirror the Kotlin public API. Persistent cache now is enabled/disabled by setting the CacheStorageConfig to nil.

New Features

  • If a language change is performed during a replanning, inform when a new route is added to the session and it becomes active.

Fixes

  • Fixed the issue of empty location context in the case of horizon options that are registered before the navigation starts.

Updates

  • TomTomNavigation.addLanguageChangeObserver is now available in General Availability.
  • TomTomNavigation.language is now available in General Availability.
  • TomTomNavigation.NavigationChangeLanguageObserver is now available in General Availability.
  • TomTomNavigation.preferredLanguage is now available in General Availability.
  • TomTomNavigation.removeLanguageChangeObserver is now available in General Availability.
  • TomTomNavigation.unitSystem is now available in General Availability.
  • Added TomTomSDKNavigation.DefaultTomTomNavigation.HorizonError enum.
  • Change default guidance engine to TomTomDynamicGuidanceEngine.
  • Introduce TomTomNavigation.NavigationChangeLanguageObserver.
  • Introduce TomTomNavigation.preferredLanguage property for updating current navigationLanguage.
  • Introduce methods for adding and removing TomTomNavigation.NavigationChangeLanguageObserver to and from TomTomNavigation instance.

Routing

Updates

  • Allow requesting a route without instructions.
  • Introduction of separation of avoiding tolls and vignettes as two different features. Previously, ticking avoid tolls, would avoid vignettes and toll.

Search

Breaking changes

  • Removed searchResultID from FeedbackResultID protocol.

Deprecations

  • TomTomSDKSearch.OnlineSearch is deprecated. Replace `TomTomSDKSearchOnline.OnlineSearch.init.

Fixes

  • Make search find streets and addresses when searched along with a search area.

version 0.32.0 - 08/11/2023

General

Breaking changes

  • Rename Vehicle.VehicleProperty.commercialVehicle to Vehicle.VehicleProperty.isCommercial.
  • Rename Vehicle.VehicleUpdateOption to Vehicle.PropertyID.
  • Rename Vehicle.VehicleUpdateOption.commercialVehicle to Vehicle.PropertyID.isCommercial.

Updates

  • Removed duplicate entries under Pod from Building a navigation app documentation.

Location

New Features

  • Create Unified(NDA) OpenLR location decoder.

Map

Updates

  • Expand MapView inline documentation.
  • Expand Style inline-documentation.
  • Update style version to 25.1.*.

Breaking changes

  • Make NavigationTileStore init() throw on failure.
  • Rename TomTomSDKNavigationEngines.HorizonSnapshotState.extensionCounter to TomTomSDKNavigationEngines.HorizonSnapshotState.updateCounter.
  • Rename CombustionEngineParameter to CombustionEngineProperty.
  • Rename CombustionEngineParameter.auxiliaryFuelPower to CombustionEngineProperty.speedConsumption.
  • Rename CombustionEngineParameter.speedFuelConsumption to CombustionEngineProperty.speedConsumption.
  • Rename ElectricEngineParameter to ElectricEngineProperty.
  • Rename VehicleParameter to VehicleProperty.
  • Rename VehicleUpdateOption.auxiliaryFuelPower to VehicleUpdateOption.combustionAuxiliaryPower.
  • Rename VehicleUpdateOption.auxiliaryPower to VehicleUpdateOption.electricAuxiliaryPower.
  • Rename VehicleUpdateOption.speedConsumption to VehicleUpdateOption.electricSpeedConsumption.
  • Rename VehicleUpdateOption.speedFuelConsumption to VehicleUpdateOption.combustionSpeedConsumption.

New Features

  • Add use case example for LocationContext.
  • Introduce NavigationActiveRouteChangedObserver to inform when active routes have changed during the navigation session.

Updates

  • Align the trigger configs to the latest Instruction Engine spec.
  • Clear NDS.Live navigation cache when base URL changes.
  • Introduce new experimental protocols TomTomNavigation.GuidanceUpdatedObserver, TomTomNavigation.LaneGuidanceUpdatedObserver, TomTomNavigation.JunctionViewUpdatedObserver.
  • Route.RouteStop inline documentation was updated.
  • TomTomNavigation.departFromWaypoint(RouteStop) is now available in General Availability.
  • TomTomSDKNavigation.NavigationDestinationArrivalObserver is now available in General Availability.
  • TomTomSDKNavigation.NavigationDestinationArrivalObserver.didArriveAtDestinationOn(route:) renamed to TomTomSDKNavigation.NavigationDestinationArrivalObserver.didArriveAtDestination(route:).
  • TomTomSDKNavigation.TomTomNavigation.addDestinationArrivalObserver(_:) is now available in General Availability.
  • TomTomSDKNavigation.TomTomNavigation.removeDestinationArrivalObserver(_:) is now available in General Availability.
  • Update TomTomSDKNavigationEngines.LocationContext documentation.

Routing

Breaking changes

  • Removing the extra word 'budget' from cases inside of Budget enum which lives in TomTomSDKRoutePlanner.Budget.

Fixes

  • Fix online route planning on iOS 17.

Updates

  • Create and publish new SDK framework TomTomSDKRoutingCommon.
  • TomTomSDKRoutePlanner.Budget is now available in General Availability.

Search

Breaking changes

  • Extend TomTomSDKSearch.Search protocol with cancellation support via returned TomTomSDKCommon.Cancellable.
  • Remove TomTomSDKSearch.CustomRecord and TomTomSDKSearch.CustomSearchDataProvider.
  • Rename TomTomSDKSearch.CustomPOIRecord to TomTomSDKSearch.CustomPOI.
  • Rename TomTomSDKSearch.CustomPOISearchDataProvider to TomTomSDKSearch.CustomPOIProvider.
  • Replace TomTomSDKSearch.CancellableSearch protocol usage with TomTomSDKSearch.Search.
  • Replace TomTomSDKSearchOnline.OnlineSearchFactory.createOnlineCancellableSearch() with TomTomSDKSearchOnline.OnlineSearchFactory.create().
  • Replace TomTomSDKSearchOnline.OnlineSearchFactory.createOnlineSearch() with TomTomSDKSearchOnline.OnlineSearchFactory.create().

Deprecations

  • Replace TomTomSDKReverseGeocoderOnline.OnlineReverseGeocoder usages with `TomTomSDKReverseGeocoderOnline.OnlineReverseGeocoderFactory.create.

Fixes

  • Fixed a conversion bug for OfflineSearch.requestPOIDetails(options:completion:) request when 24h opening times are returned.

Updates

  • Promote TomTomSDKSearchOnline.OnlineSearchFactory to general availability.

version 0.31.0 - 30/10/2023

General

Fixes

  • Added missing offlineMapMatchingEngine in code snippet.
  • Disable assert in Release build.

Updates

  • MeasurementDecorator was covered with tests.
  • Split VehicleHorizon snippet to avoid expose SafetyLocation and Hazard on DP.
  • Test release note.

Location

New Features

  • Create LocationDecoder with OpenLR decoding method and replace MapProjector by NDS OpenLR decoder.

Map

New Features

  • Add Elastic Data Provider iOS Bindings swift part.

Fixes

  • Fix CLLocationCoordinate2D Equatable conformation.
  • Fix library not loaded error.
  • Fix wrong scale factor passed into map holder environment.

Updates

  • Promote RouteSection to GA.
  • Promote RouteSection.Type to GA.
  • Promote RouteSection.indexRange to GA.
  • Promote RouteSection.init.
  • Promote RouteSection.type to GA.
  • Remove Search visulization empty results retry mechanism.
  • Rename RouteSection.textureUri to RouteSection.textureURI.

Breaking changes

  • Removed methods:
  • TomTomSDKNavigation.TomTomNavigation.markWaypointAsVisited(waypoint: RouteStop)
  • TomTomSDKNavigation.DefaultTomTomNavigation.markWaypointAsVisited(waypoint: RouteStop) Use the following methods instead:
  • TomTomSDKNavigation.TomTomNavigation.departFromWaypoint(waypoint: RouteStop)
  • TomTomSDKNavigation.DefaultTomTomNavigation.departFromWaypoint(waypoint: RouteStop).

Fixes

  • Do not replan when current car position is off-road near origin.
  • Missing translation in the navigation UI.
  • Release note message.

Removals

  • TomTomSDKNavigation.RouteReplanningEngineOptions.defaultRouteUpdateMode,. TomTomSDKNavigation.RouteReplanningEngineOptions.defaultReplanInterval, TomTomSDKNavigation.RouteReplanningEngineOptions.defaultMinTrafficDelay, TomTomSDKNavigation.RouteReplanningEngineOptions.defaultMinTimeDifference was removed. Use the constants from TomTomSDKNavigation.RouteReplanningEngineOptions.Defaults enum instead.
  • TomTomSDKNavigation.TomTomArrivalDetectionEngine.defaultDestinationDistanceThreshold and. TomTomSDKNavigation.TomTomArrivalDetectionEngine.defaultTimeThreshold were removed.

Updates

  • `TomTomSDKNavigation.TomTomNavigation.addWaypointArrivalObserver.
  • `TomTomSDKNavigation.TomTomNavigation.removeWaypointArrivalObserver.
  • Added Equatable conformance to TomTomSDKNavigationEngines.RegionalSpeedLimit.
  • Added methods:
  • TomTomSDKNavigation.TomTomNavigation.departFromWaypoint(waypoint: RouteStop)
  • TomTomSDKNavigation.DefaultTomTomNavigation.departFromWaypoint(waypoint: RouteStop).
  • Promote GuidanceInstruction.drivingSide to GA.
  • TomTomSDKNavigation.NavigationOptions is now available in General Availability.
  • TomTomSDKNavigation.NavigationWaypointArrivalObserver is now available in General Availability.
  • TomTomSDKNavigation.RoutePlan is now available in General Availability.
  • TomTomSDKNavigation.TomTomGuidanceEngine.defaultAppendInstructionDistanceThreshold is deprecated now. Use the TomTomSDKNavigation.TomTomGuidanceEngine.Defaults.appendInstructionDistanceThreshold instead.

Routing

Breaking changes

  • Case names of TomTomSDKRoute.Consumption enum are shortened in a way that their arguments have labels.
  • Rename TomTomSDKRoute.Route.RouteInitializationError.routeGeometryEmpty to TomTomSDKRoute.Route.InitializationError.routeLegsEmpty.emptyGeometry.
  • Rename TomTomSDKRoute.Route.RouteInitializationError.routeLegsEmpty to TomTomSDKRoute.Route.IInitializationError.routeLegsEmpty.emptyLegs.
  • Rename TomTomSDKRoute.Route.RouteInitializationError to InitializationError.

New Features

  • Toll cost indication.

Updates

  • TomTomSDKRoute.Route has two init functions now; one in an experimental state containing junctionViewInformation parameter and the other init.
  • Add Planning EV Routes documentation.
  • Document Orbis unsupported options.
  • Promote TomTomSDKRoutePlanner.RangeBoundary to Public Preview.
  • Promote TomTomSDKRoutePlanner.RangeCalculationOptions.routeToInclude to Public Preview.
  • Promoting TomTomSDKRoute.Consumption to GA.
  • Promoting TomTomSDKRoute.RoutePoint and TomTomSDKRoute.Segment to GA.
  • TomTomSDKRoute.Route is now available in General Availability.
  • TomTomSDKRoute.Summary is now available in General Availability.
  • TomTomSDKRoutePlanner.GuidanceOptions is now available in General Availability.
  • Update documentation for InstructionPhonetics.

Search

Fixes

  • Added tests for OnlineSearch class.

Updates

  • TomTomSDKReverseGeocoderOnline.OnlineReverseGeocoderFactory is now available in General Availability.

version 0.30.0 - 19/10/2023

General

Breaking changes

  • Added enum TomTomSDKCommon.SpeedLimit to TomTomSDKCommon.
  • Renamed TomTomMapsPlatformFeature to TomTomOrbisMapFeature. From now on, use TomTomOrbisMapFeature instead of TomTomMapsPlatformFeature, allowing you to toggle the TomTom Orbis Maps within your application. For additional details, please refer to this link.

New Features

  • The Navigation SDK can now be integrated into your project using Swift Package Manager. We will continue to support Cocoapods alongside Swift Package Manager. For more details, check the Project Setup guide.

Updates

  • Updated documentation for continuous replanning and route deviation.

Map

New Features

  • Added Elastic Data Provider iOS Bindings.
  • Implemented tap observers for POIs in searchvisualization.

Fixes

  • Fixed overlapping markers bug.

Updates

  • Added geometry property to Route.
  • Added geometry property to RouteOptions.
  • Added tag property to RouteOptions.
  • Added textureUri property to RouteSection.
  • Added WidthByZoom struct.
  • Added widths property to RouteOptions.
  • Renamed RouteSection.range to RouteSection.indexRange.
  • Renamed RouteSection.RouteSectionError to RouteSection.Error.
  • Updated Elastic Data Provider iOS Bindings dependencies.

Breaking changes

  • Added speedLimit and roadCategory properties to TomTomSDKNavigationEngines.RegionalSpeedLimit
  • Added speedLimit property to TomTomSDKNavigationEngines.SpeedLimit
  • Added the TomTomSDKCommon.RoadCategory enum to TomTomSDKCommon.
  • Improved NDSStore creation.
  • Made struct TomTomSDKNavigationEngines.SpeedLimit conforming to Equatable protocol.
  • Removed enum TomTomSDKNavigationEngines.SpeedLimit from TomTomSDKNavigationEngines.
  • Removed NavigationOptions.alternativeRoutePlans. Alternative route plans are not supported.
  • Removed NavigationOptions.init(activeRoutePlan:, alternativeRoutePlans:). Add NavigationOptions.init(activeRoutePlan:) instead. Alternative route plans are not supported.
  • Removed option unknown from TomTomSDKCommon.SpeedLimit enum.
  • Removed speed, type, speedFog, speedSnow, speedRain properties from public struct TomTomSDKNavigationEngines.SpeedLimit
  • Removed roadType, isWeatherDependent, isTimeDependent, type, speed properties from TomTomSDKNavigationEngines.RegionalSpeedLimit
  • Removed RoutePlan.init(route:routingOptions:). Add RoutePlan.init(route:routePlanningOptions:) instead.
  • Removed the TomTomSDKNavigationEngines.RegionalSpeedLimit.RoadType enum from TomTomSDKNavigationEngines.RegionalSpeedLimit.
  • Renamed RoutePlan.routingOptions to RoutePlan.routePlanningOptions.
  • Renamed struct TomTomSDKNavigationEngines.SpeedLimits to TomTomSDKNavigationEngines.SpeedLimit.
  • Renamed TomTomSDKNavigationEngines.City to TomTomSDKNavigationEngines.CityElement.
  • Renamed TomTomSDKNavigationEngines.CountryInformation to TomTomSDKNavigationEngines.CountryInformationElement.
  • Renamed TomTomSDKNavigationEngines.DangerousGoodsRestriction to TomTomSDKNavigationEngines.DangerousGoodsRestrictionElement.
  • Renamed TomTomSDKNavigationEngines.GeneralRoadProperties to TomTomSDKNavigationEngines.GeneralRoadPropertiesElement.
  • Renamed TomTomSDKNavigationEngines.PathGeometry to TomTomSDKNavigationEngines.PathGeometryElement.
  • Renamed TomTomSDKNavigationEngines.Region to TomTomSDKNavigationEngines.RegionElement.
  • Renamed TomTomSDKNavigationEngines.SafetyLocation to TomTomSDKNavigationEngines.SafetyLocationElement.
  • Renamed TomTomSDKNavigationEngines.SpeedLimits to TomTomSDKNavigationEngines.SpeedLimitsElement.
  • Renamed TomTomSDKNavigationEngines.Street to TomTomSDKNavigationEngines.StreetElement.
  • Renamed TomTomSDKNavigationEngines.TrafficSign to TomTomSDKNavigationEngines.TrafficSignElement.
  • Renamed TomTomSDKNavigationEngines.VehicleRestriction to TomTomSDKNavigationEngines.VehicleRestrictionElement.

New Features

  • Added support for Bulgarian, Catalan, Slovak in spoken messages.

Fixes

  • Removed default implementation of TomTomNavigation start(), start(navigationOptions:) and update(navigationOptions:) methods.

Updates

  • Made NavigationOptions.activeRoutePlan immutable.
  • UseNDSLive disabled.

Routing

Breaking changes

  • Removed Array.sectionsWithRouteOffset(_:) and Section.updateRouteOffset(with:) usages. Create a new Section instance to have an updated offset.
  • Removed remainingRoutePoints from being public, since it is only used internally.

Fixes

  • Charging options can only be used with RouteType.Fast.

Updates

  • HybridRoutePlanner is now available in Public Preview.

Search

Fixes

  • Fix for crash in offline search for gas stations

version 0.29.0 - 06/10/2023

General

Breaking changes

  • Made DefaultTomTomNavigation internal.
  • Promoted some experimental APIs to Public Preview.

Fixes

  • Ensure valid links in API reference.

Map

Breaking changes

  • Updated type signature of FollowCameraOperatorConfig.ControlPointsMap from [String: ControlPoints] to [CameraOperatorRoadClass: ControlPoints].

New Features

  • Introduced new enum CameraOperatorRoadClass.

Removals

  • Removed FollowCameraOperatorConfig.RoadClass.

Breaking changes

  • Make TomTomSDKNavigation.TomTomNavigation a class-only protocol. Convert implementations of TomTomSDKNavigation.TomTomNavigation to classes.
  • Reverted DefaultTomTomNavigation from internal to deprecated.

New Features

  • Support city district, neighborhood and subCountry in horizon-based LocationContext.

Fixes

  • Make TomTomSDKNavigation.TomTomNavigation a class-only protocol to allow creation a weak references to its implementation.

Updates

  • Add location context collaboration tests for tile store.
  • NDS.Live navigation tile store can now be constructed without a persistent cache.

Routing

New Features

  • Offline route assets provider.

Fixes

  • Explicitly forbid to create requests with chargingOptions and enabled waypointOptimization parameters.

Updates

  • Clarify the documentation of the baseUrl parameter.

version 0.28.5 - 30/09/2023

version 0.28.4 - 30/09/2023

version 0.28.3 - 30/09/2023

version 0.28.2 - 21/09/2023

General

Updates

  • Ensure the file layout of the Cocoapods package is valid according to specification

Map

Updates

  • Promote these APIs to public preview TomTomSDKMapDisplay.MapView.setCurrentLocationButton(backgroundColor:forStyle:) TomTomSDKMapDisplay.MapView.setCurrentLocationButton(size:) TomTomSDKMapDisplay.MapView.setCompassButton(compassIcon:forStyle:) TomTomSDKMapDisplay.MapView.setCompassButton(northUpIcon:forStyle:) TomTomSDKMapDisplay.MapView.setCompassButton(backgroundColor:forStyle:) TomTomSDKMapDisplay.MapView.setCompassButton(size:).

Breaking changes

  • Remove TomTomSDKNavigation.EngineActions protocol, all APIs from TomTomSDKNavigation.EngineActions protocol were moved to TomTomSDKNavigation.TomTomNavigation.

New Features

  • Add minimal distance ahead for which snapshot update will be generated.

Updates

  • Make LocationContextProviderErrors public.
  • Prevent replanOnDeviation requests from cancelling each other.

Search

New Features

  • Introduce PersonalDataOffline API to inject personalized data and persist it in the offline storage.

version 0.28.0 - 14/09/2023

  • Package artifacts structure corrupted. Use build 0.28.2 or later

version 0.27.4 - 06/09/2023

Map

Updates

  • Fix crash when switching to routeOverview camera mode on certain conditions

New features

  • Stick to route when supporting points are passed

Fixes

  • Provided localization keys for some NIP strings

General

Updates

  • Promote Metadata API to Public Preview

Fixes

  • Round the double value to the nearest or even before converting to the integer value

version 0.26.1 - 14/08/2023

version 0.25.0 - 07/08/2023

Map

Updates

  • Remove Diagnostic API
  • Fix FPS measurement in Metrics API to measure GPU FPS

Search

New features

  • Add Cancellation support for Online Search API.

version 0.24.0 - 01/08/2023

Map

Updates

  • Add carplay to navigation demo app for debugging
  • Remove font names from copyright notices
  • Update style version to 24.4.*
  • Implement metric #5 - aggregated gestures FPS
  • Place MapMetricsMonitor API under feature toggle

Search

Updates

  • Promote TomTomSDKSearch.Source.custom to General Availability. RelNote: [SEARCH][INTERNAL] Remove unnecessary declarations for non-public APIs.

Updates

  • Make NavigationTileStoreAccess interface to use different tile store accesses in NavigationTileStore.

Fixes

  • Prevent route replan on deviation after route refresh

General

New features

  • Add NDS Live toggle.

Updates

  • Add guideline for cancellation APIs.

version 0.23.1 - 25/07/2023

Map

New features

  • Added new MapMetric: gestureFPS(Measurement<UnitFrequency&gt;, status: GestureState, type: GestureCategory)

Updates

  • Change drivingStyleFPS metric to be more accurate

Fixes

  • Fix marker layer mapping order

Routing

Updates

  • Guide: Importing, exporting, and modifying routes, added instructions on parsing GPX files using the cocoa pod library.

New features

  • Introduce OffRoad navigation factory.

version 0.22.1 - 13/07/2023

Map

Fixes

  • Fix marker layer mapping order
  • Fix tilt of the map property

Routing

Updates

  • Guide: Importing, exporting, and modifying routes, added instructions on parsing GPX files using the cocoa pod library.
  • Waypoints and custom routes guide updated with a setup section for creating NavigationConfiguration instance.

New features

  • Introduce navigation factories. RelNote: [NAVIGATION][UPDATE] Navigation handles updating of data stores internally.

Updates

  • Navigation handles updating of data stores internally.

version 0.21.1 - 06/07/2023

Map

Updates

  • Expose user properties on Metrics API

Fixes

  • Func TomTomMap.updateCameraTrackingMode(mode:config:) has been removed
  • Var CameraActions.followCameraConfig has been added as a protocol requirement

Routing

Updates

  • Clarify avoid behavior for routing in documentation.
  • Add missing low emission zone to docs

New features

  • Introduce factories for offline vehicle horizon, map matching, location context, route projection engines RelNote: [NAVIGATION][BREAKING CHANGE] Hybrid map matching, location context, route projection engine creation will require use of new factories
  • Introduce DataStoreMaintenanceEngine.

Updates

  • TomTomSDKNavigationEngines: Func RouteTrackingEngine.obtainTrackedRoutes(navigationSnapshot:) has been renamed to Func RouteTrackingEngine.obtainTrackingStates(navigationSnapshot:).
  • TomTomSDKNavigation: Func NavKitRouteTrackingEngine.obtainTrackedRoutes(navigationSnapshot:) has been renamed to RouteTrackingEngine.obtainTrackingStates(navigationSnapshot:).
  • TomTomSDKNavigation: Func NavigationRouteTrackingStateUpdateObserver.onRouteTrackingStateUpdate(route:routeTrackingState:) has been renamed to Func onRouteTrackingStateUpdate(routeTrackingState:).
  • TomTomSDKNavigation: Func NavigationRouteTrackingStateUpdateObserver.onRouteTrackingStateUpdate(route:routeTrackingState:) has parameter type change from TomTomSDKRoute.Route and TomTomSDKNavigationEngines.RouteTrackingState to TomTomSDKNavigationEngines.RouteTrackingState only.

Fixes

  • Removed the need to set automaticDeviationRouteFetching feature toggle to enable automatic replanning of trips in deviation.

version 0.20.0 - 26/06/2023

Map

Updates

  • Implement Metric #2 (Measure FPS) to Metrics API

Search

Fixes

  • Fix Parking Prices response parsing.

New features

  • Added deviationReplanningMode access on Navigation object, now this setting can be changed while navigation is running.

version 0.19.0 - 16/06/2023

Map

New features

  • Add IC/JCT POI, intersection, traffic light supports

Updates

  • Remove setNeedsLayout and layoutIfNeeded in AnnotationViewContainer and AnnotationContainerView
  • Replace Device Orientation with Interface Orientation
  • Introduce map loading time metric and add example to demo
  • Bump style version
  • Introduce and expose MapMetricsMonitor API

Fixes

  • Fix map loading time metric
  • Clear cache when changing the map.
  • Provide default value to delay parameter in TrafficIncident model.

Search

Updates

  • Prepare documentation for TomTomSDKSearchOnlineCustomData.
  • Move TomTomSDKSearchOnlineCustomData API to Public Preview.

Fixes

  • Fix Parking Prices response parsing.

version 0.18.1 - 07/06/2023

Map

Updates

  • Align maneuver length logic with android

Fixes

  • Fix satellite and custom style not working
  • Fix directional arrows length

Search

New features

  • Add cache support for the POI categories request of Online Search.

Fixes

  • Fix parking availability response parsing in DynamicData if only partial data is available

Routing

Fixes

  • Fix route planning cancellation

Updates

  • Trigger route projection before map matching in the main navigation pipeline
  • All electric engine parameters are now optionals
  • Check for obsolete map references and project route, if found

Removals

  • Delete locale parameter from location context engine initializers.

Fixes

  • Remove lane sections for removed departure instruction
  • Fix mapmatcher softDR usage decision.
  • Fixed crash when removing safety location

General

Updates

  • Add Orbis copyrights endpoint
  • Improve Swift Packages readability.

Fixes

  • Fix VRs documentation

version 0.14.5 - 04/06/2023

Map

New features

  • Snap zone geometry to route.

Routing

Fixes

  • Fix route planning cancellation

Updates

  • Remove sticking to route on deviation
  • Default vehicle provider guide with snippets

Fixes

  • Fix mapmatcher softDR usage decision.

General

Updates

  • Replace static images in VRs documentation with tables

version 0.13.0 - 29/04/2023

Map

New features

  • Add Search Visualization to show/hide pois
  • Snap zone elements to the route and remove end marker
  • Add safety camera support to nv addon
  • Add style changing example to demo app
  • Add search functionality to demo app
  • Add TPEG traffic data provider
  • Cleanup of componentization, removal of MapDispalyOnboardTileDataProvider

Updates

  • Migrate to travelModeProfile for tiles url query params
  • Remove sprite cache
  • Add support for ADR and Hazmat for vehicle restrictions
  • Update query param restriction to new style
  • Add logs to custom style example
  • Remove static metadata
  • Expose custom style url option in demo app
  • Style cache manager refactoring
  • Adds vehicle restriction dark style support.
  • Adds vehicle restriction dark style support.
  • Turn off all traffic incidents except on-route and turn it on when route is removed.
  • Orbis map change from 10-test to gosdk10-test
  • Update RouteOptions documentation
  • Update MapDelegate - removed unnecessary methods. Updated CameraActions.
  • Introduce OnlineCachePolicy Measurement<UnitInformationStorage&gt;
  • Marked metadata as GA
  • CameraUpdate and FitToCoordinatesOptions
  • CameraUpdate and FitToCoordinatesOptions deprecation "
  • Sprite cache improvements
  • CameraUpdate and FitToCoordinatesOptions deprecation
  • CameraUpdate properties setters depreatetion, FitToCoordinatesOptions deprecation
  • Offline map update.
  • Offline map documentation update, added missing part about fonts

Fixes

  • Fix amigo inheritence bug with map options
  • Fix tile caching issue.
  • Fix crash when API key is provided in MapOptions but not in MapsDisplayService
  • Fix deadlock when there is no internet connection
  • Remove race condition in NDSStoreAccessSync implementation.
  • Fix glitches in map shutdown example
  • Fix crash happening during mapview deallocation
  • Adjusted location validator’s range for valid horizontal accuracy
  • Offline map is shown again.
  • Add popup to notify there is no dark mode with satellite style
  • Fix crash on smooth transition example
  • Fix memory leak in TrafficDataProvider
  • Fix layers visibility between style modes
  • Fix keyboard and update search visibility on demo
  • Fix marker label default size
  • Fix Maneuver List Header Disappear

Search

Breaking changes

  • Replaced type of property resultTypes from Array to Set.
  • Changed property SearchOptions.searchAreas: Geometry? → [Geometry] (from simple optional to array)

Updates

  • Introduce new TomTomSDKSearchCommon component for sharing functionality between TomTomSDKSearch, TomTomSDKReverseGeocoder and TomTomSDKDynamicData components.
  • Cover all available DynamicData APIs in the public developer documentation.
  • Promote Hybrid Reverse Geocoder API to Public Preview
  • Update labels for Search, Reverse Geocoder, Dynamic Data documentation according to the related component API state.
  • Promote OnlineSearch APIs to the General Availability state, except OnlineSearch.sendFeedback, which promote to the Public Preview state.
  • Promote OfflineSearch APIs to the General Availability state, except OfflineSearch.sendFeedback.
  • Promote HybridSearch APIs to the Public Preview state, except HybridSearch.sendFeedback.
  • Promote FuelPriceProvider.requestFuelPrices and related types from TomTomSDKDynamicData to the General Availability API state.
  • Promote ParkingDetailProvider.requestParkingAvailability and related types from TomTomSDKDynamicData to the General Availability API state.
  • Promote ParkingDetailProvider.requestParkingPrice and related types from TomTomSDKDynamicData to Public Preview API state.
  • Promote OnlineDynamicDataProviderFactory from TomTomSDKDynamicDataOnline to the General Availability API state.
  • Promote Custom Search providers API and Feedback API to Public Preview.
  • Promote Search.requestPOIDetails() and related types to GA.
  • Promote Search.autocomplete() API and related types to GA.
  • Promote Search.requestPOICategories() and related types to GA.
  • Promote Search.requestGeometryData() API and related types to GA.
  • ParkingAvailabilityStatus.numberOfEmptySpots and ParkingAvailabilityStatus.emptySpotsCount receive nil in ParkingAvailabilityStatus.init as a default value.
  • TomTomSDKDynamicData: Constructor Availability.init(current:perPowerLevel:) has been removed
  • TomTomSDKDynamicData: Constructor EVChargingAvailabilityResponse.init(connectors:availabilityID:) has been removed
  • TomTomSDKDynamicData: Struct CurrentStatus has been removed
  • TomTomSDKDynamicData: Var Availability.current has been removed
  • TomTomSDKDynamicData: Var Availability.perPowerLevel has been removed
  • TomTomSDKDynamicData: Struct Connector has been renamed to Struct ConnectorAvailability
  • TomTomSDKDynamicData: Accessor Connector.type.Get() has return type change from Swift.String to TomTomSDKCommon.ConnectorType
  • TomTomSDKDynamicData: Accessor EVChargingAvailabilityOptions.availabilityID.Get() has return type change from Swift.String to TomTomSDKDynamicData.EVChargingAvailabilityID
  • TomTomSDKDynamicData: Accessor EVChargingAvailabilityResponse.availabilityID.Get() has return type change from Swift.String to TomTomSDKDynamicData.EVChargingAvailabilityID
  • TomTomSDKDynamicData: Accessor EVChargingAvailabilityResponse.connectors.Get() has return type change from [TomTomSDKDynamicData.Connector] to [TomTomSDKDynamicData.ConnectorAvailability]
  • TomTomSDKDynamicData: Constructor Connector.init(type:total:availability:) has parameter 0 type change from Swift.String to TomTomSDKCommon.ConnectorType
  • TomTomSDKDynamicData: Constructor Connector.init(type:total:availability:) has return type change from TomTomSDKDynamicData.Connector to TomTomSDKDynamicData.ConnectorAvailability
  • TomTomSDKDynamicData: Constructor EVChargingAvailabilityOptions.init(availabilityID:connectors:minPower:maxPower:) has parameter 0 type change from Swift.String to TomTomSDKDynamicData.EVChargingAvailabilityID
  • TomTomSDKDynamicData: Var Connector.type has declared type change from Swift.String to TomTomSDKCommon.ConnectorType
  • TomTomSDKDynamicData: Var EVChargingAvailabilityOptions.availabilityID has declared type change from Swift.String to TomTomSDKDynamicData.EVChargingAvailabilityID
  • TomTomSDKDynamicData: Var EVChargingAvailabilityResponse.availabilityID has declared type change from Swift.String to TomTomSDKDynamicData.EVChargingAvailabilityID
  • TomTomSDKDynamicData: Var EVChargingAvailabilityResponse.connectors has declared type change from [TomTomSDKDynamicData.Connector] to [TomTomSDKDynamicData.ConnectorAvailability]
  • Move ReverseGeocoder.AreaType enum from Public Preview to Generally Available
  • Convert SearchResultType from struct to enum
  • Move SearchRequestSummary struct inside SearchResponse struct
  • Move ReverseGeocoderSummary inside ReverseGeocoderResponse

Fixes

  • Fix OpeningHours conversion for Offline Search that resulted in an hour shift due to the daylight changes.
  • Fix OpeningHours conversion for Offline Search for 24/7 POIs.
  • Update PlaceMatch.navigablePosition using OfflineReverseGeocoder response instead of a query position.
  • Return the adjusted position in the Online Reverse Geocoder response instead of the position from the query.
  • Fix mapping for the POI Category code returned by OfflineSearch.autocomplete.
  • Adjust OpeningHours using time zone in Onboard Search

Routing

New features

  • Expose information on when and where path alternative forks off the primary route.
  • Expose low emission zones on route

Updates

  • Ensure the index of route point is not out of bounds
  • Publish a new guide on importing, exporting, and modifying routes.

Fixes

  • After refreshing a route, the instructions are not removed.
  • Remove conformance to Error from RoundaboutInstruction

Breaking changes

  • TomTomSDKCommon: Constructor DefaultDistanceRangeFormatter.init(ranges:language:) has been renamed to DefaultDistanceRangeFormatter.init(ranges:locale:)
  • TomTomSDKNavigationEngines: Var NavigationSnapshot.language has been renamed to NavigationSnapshot.locale
  • TomTomSDKTextToSpeechEngine: Func TextToSpeechEngine.changeLanguage(languageCode:) has been renamed to Func TextToSpeechEngine.changeLocale(with:)
  • TomTomSDKTextToSpeechEngine: Var TextToSpeechEngine.currentVoiceLanguage has been renamed to Var TextToSpeechEngine.locale
  • TomTomSDKTextToSpeechEngine: Func TextToSpeechEngine.isLanguageAvailable(_:) has been renamed to Func isLanguageAvailable(for:)
  • TomTomSDKTextToSpeechEngine: Func TextToSpeechEngine.isLanguageAvailable(_:) has parameter type change from Swift.String to Foundation.Locale
  • TomTomSDKDefaultTextToSpeech:Func SystemTextToSpeechEngine.isLanguageAvailable(_:) has been renamed to Func isLanguageAvailable(for:)
  • TomTomSDKDefaultTextToSpeech: Constructor SystemTextToSpeechEngine.init(language:gender:) has a parameter type change from Swift.String? to Foundation.Locale?
  • TomTomSDKDefaultTextToSpeech: Constructor SystemTextToSpeechEngine.init(voiceIdentifier:) has parameter type change from Swift.String to Foundation.Locale
  • TomTomSDKDefaultTextToSpeech: Func SystemTextToSpeechEngine.isLanguageAvailable(_:) has parameter type change from Swift.String to Foundation.Locale
  • TomTomSDKTextToSpeech: Func TextToSpeech.changeLanguage(languageCode:) has been renamed to Func changeLanguage(locale:)
  • TomTomSDKTextToSpeech: Func TextToSpeech.changeLanguage(languageCode:) has parameter type change from Swift.String to Foundation.Locale

New features

  • Add TomTomSDKDataManagementOffline.CompositeRegionsUpdater, to support the proper visualization of the NDS map (at the region set level).
  • Add support for Finnish and Mexican Spanish in spoken messages.
  • Improve NavigationTileStore config API.
  • Added new RouteLengthPolicy for Vehicle Horizon.
  • Add TrafficSign HorizonElement in Horizon Engine.
  • Add CountryInfromation HorizonElement in Horizon Engine.
  • Draw a dotted line connecting the drivable and final destination.
  • Add support for polyline pattern textures in navigation visualization service
  • Add support for polyline pattern textures.
  • Add NDSStoreAccessPermit as a way to specify the map license value (or keystore password) and add it as an argument to NDSStore.init (instead of keystorePassword).
  • Add support for polyline pattern textures to navigation visualization addon.

Updates

  • DefaultVehicleProvider.updateVehicleState and DefaultVehicleProvider.setVehicle may now throw VehicleError.invalidVehicleParameter
  • Extend GOSDK with testing of the server 3.0 map routing API endpoint
  • Move the TimeUtils file to the Triggering folder
  • VehicleProvider has now specific registration error. VehicleError cases renamed.
  • Extend VehicleProvider’s update options with battery curve and charging connectors.
  • Promote Guidance Instruction to GA
  • Move Route Instruction to GA

Removals

  • Remove the TimeProvider protocol

Fixes

  • HorizonElement ids are now stable
  • Use up-to-date vehicle during replanning.
  • Remove Start driving instruction from all replanned routes.
  • Fix for missing phonetics when static guidance engine is used
  • Set correct language in verbal message generator
  • filter out traversed supporting points in b2r request
  • Avoid crashes in map update code during the application termination.
  • Fix for arrival instruction’s offset being greater than route length
  • Fix for missing departure instruction
  • Fix for lane guidance with empty lanes
  • When recalculating deviation for primary route, always use 0 maxAlternatives to process the new route faster.
  • Remove CocoaMQTT framework dependency from all SDK modules
  • Progress updates were not sent until the location started moving along the route. This is now fixed.
  • Fix confirmation announcement inconsistency
  • Handle different variants of locale in GuidanceOptions

General

New features

  • A configuration parameter to allow background map update downloads is added.
  • Add experimental support for downloading map updates when the application moves to the background
  • Expose download cost of map region update.

Updates

  • Refactor logger - remove InternalLoggerOutput and ProxyLoggerOutput
  • Update Logger Documentation
  • Update VRs and LEZs Dev Portal documentation
  • Set automatically synthesized Equatable protocol conformance directly on types
  • Add vehicle restrictions to demo navigation app
  • Set developer dir in renovate flow
  • define depType for regex manager dependencies
  • Add fonts legal notice
  • Enable validation for missing inline-documentation in CommonSDK module
  • Add missing inline documentation for GA
  • Onboard map deployment guide update for Xcode 14 simulators
  • Dev portal documentation update
  • Add NavigationView to the "Build navigation app" guide.
  • Extend Unit Information Storage with missing values.

Fixes

  • add missing security attribute
  • The download manager now correctly retries when resuming a download with an expired temporary URL.
  • ObservableHandler is executing onFirstObserverAdded and onLastObserverRemoved on the requested queue; duplicated call of onLastObserverRemoved is removed.
  • Log messages from the download manager now end up correctly in log files
  • Report the correct error on no network connection during map update when background downloads are enabled.
  • Fix broken links in documentation
  • Fix crash when canceling map update download with backgrounds downloads enabled.
  • Downloading offline map updates no longer causes a large RAM usage.

version 0.2.3404 - 10/02/2023

Map

New features

  • Add traffic data provider framework for offline maps

Updates

  • Style version update to v24
  • Style version update to v24

Fixes

  • correct style file for hill shading
  • fix an issue about internal caching causes stale tile loading for offline maps

Search

Updates

  • Delete @objcMembers attribute from public APIs of TomTomSDKSearch module

New features

  • Bindings between Swift and Obj-C++ implementation of public Traffic API.
  • Enable Orbis routing with "Orbis Map" debug flag in the demo app

Updates

  • Validation in BorderCrossing
  • Validation in Tollgate Instructions

Fixes

  • Fix conversion error in route progress for offline predictions.

version 0.2.3323 - 03/02/2023

Map

New features

  • Add hill shade support for offline maps

General

New features

  • Introduce API for finding updateable regions around position

Updates

  • - Update PR template

version 0.2.3284 - 30/01/2023

Routing

Fixes

  • Fix routing with coordinates close to 0.0

Fixes

  • Fix incorrect given localization in Static Guidance Engine

version 0.2.3228 - 24/01/2023

Map

New features

  • Add field of view to CameraOptions

Search

Updates

  • Improve API state and documentation for StandardCategoryId

Fixes

  • Remove fuzzyLevel documentation
  • Remove fuzzyLevel documentation from SearchRequestSummary

New features

  • Add TomTomSDKDataManagementOffline.MapUpdateError.networkError error which is raised when Map Update operation fails due to a transient network connectivity error.

Updates

  • Update documentation in Route module

General

New features

  • Introduce API for finding updateable regions around position
  • Add proper stylization for the traffic incident markers

version 0.2.3145 - 16/01/2023

Breaking changes

  • Use InstructionPoint type for routePath property in Instruction types

version 0.2.3136 - 09/01/2023

Search

Updates

  • Make TomTomSDKDynamicData EV Charging Availability API a Public Preview API

Fixes

  • Remove OnStoreAccessChangedObserver protocol conformance from public API of TomTomSDKSearchOffline module

Fixes

  • Fix the issues in generated SSML (escaped characters)
  • Online/OfflineMapMatchingEngine stuck to route for too long after deviation.

General

Updates

  • Preparation of a common module for GA, marking public API as GA

version 0.2.3070 - 23/12/2022

Map

Updates

  • : AssetDataProvider

Fixes

  • Removed hill shading feature toggle

New features

  • Add horizon offline engine

Fixes

  • Fix replanning on language update

General

Updates

  • Update ConnectorType enum cases capitalisation

version 0.2.3010 - 16/12/2022

Map

Updates

  • Add publicly available vehicle restrictions

Fixes

  • Fix missing nullability specifiers in MapDisplayEngine
  • Fix for not working sprite caching

New features

  • Add more Horizon Elements to the Horizon Engine.
  • Add pt-BR, sv-SE, th-TH,

Updates

  • Use protocols of NDS and NavigationTileStore
  • Add additional check in Route RoadInformation

Fixes

  • Fix the naming of Route.coordinates property (it previously used some non-latin characters).
  • Update documentation references.

Location

Updates

  • Delete VehicleType from location context engines input parameter

General

Updates

  • All distributed GO SDK frameworks disabled Bitcode support

version 0.2.2929 - 12/12/2022

Map

New features

  • Add StyleContainer.init with bundle to public preview.

Search

New features

  • Add OnlineDynamicDataProviderFactory for creating implementations of DynamicData APIs

New features

  • Lane guidance is triggered properly for Routing API v2
  • Add API to get/set language

General

Updates

  • adding the Tag parameter to the annotation

Fixes

  • Added missing documentation for initializer of OnboardDataProvider

version 0.2.2884 - 05/12/2022

New features

  • Add a new API availableLanguages

Updates

  • Add language to GuidanceOptions

Fixes

  • Fix frozen instruction during navigation
  • Fix initialisation of language in TomTomDynamic guidance engine

General

New features

  • Update OnboardDataProvider
  • Add swith for zoomToRoutes when calling display routes
  • Switch for traffic incidents in the addon

Updates

  • Update public documentation
  • GoSDKRoute.Announcement.distanceInMeters became GoSDKRoute.Announcement.distance with type Measurement
  • GoSDKRoute.TollgateInstruction.tollgateName type became TextWithPhonetics.

version 0.2.2822 - 28/11/2022

Map

New features

  • Remove persistent tile cache when componentization is enabled

Updates

  • Rename Map to TomTomMap
  • Rename Map to TomTomMap
  • Rename Map to TomTomMap

Search

New features

  • Add API for custom POIs in Onboard Search

Fixes

  • Fix distance formatting in SearchUI

Routing

Updates

  • Documentation for LaneGuidance, Double to Measurement<UnitLength&gt;.

Breaking changes

  • TomTomSDKNavigationEngine: Func NavigationErrorObserver.didArrivalEngineFail(with:) has been renamed to Func NavigationErrorObserver.arrivalEngineFailed(with:)
  • TomTomSDKNavigationEngine: Func NavigationErrorObserver.didGuidanceEngineFail(with:) has been renamed to Func NavigationErrorObserver.guidanceEngineFailed(with:)
  • TomTomSDKNavigationEngine: Func NavigationErrorObserver.didHorizonEngineFail(with:) has been renamed to Func NavigationErrorObserver.horizonEngineFailed(with:)
  • TomTomSDKNavigationEngine: Func NavigationErrorObserver.didLocationContextEngineFail(with:) has been renamed to Func NavigationErrorObserver.locationContextEngineFailed(with:)
  • TomTomSDKNavigationEngine: Func NavigationErrorObserver.didMapMatchingEngineFail(with:) has been renamed to Func NavigationErrorObserver.mapMatchingEngineFailed(with:)
  • TomTomSDKNavigationEngine: Func NavigationErrorObserver.didRouteProgressDetectionEngineFail(with:) has been renamed to Func NavigationErrorObserver.routeProgressDetectionEngineFailed(with:)
  • TomTomSDKNavigationEngine: Func NavigationErrorObserver.didRouteReplanningEngineFail(with:) has been renamed to Func NavigationErrorObserver.routeReplanningEngineFailed(with:)
  • TomTomSDKNavigationEngine: Func NavigationErrorObserver.didRouteTrackingEngineFail(with:) has been renamed to Func NavigationErrorObserver.routeTrackingEngineFailed(with:)
  • TomTomSDKNavigationEngine: Func NavigationErrorObserver.didStartFail(with:) has been renamed to Func NavigationErrorObserver.navigationStartFailed(with:)

Updates

  • Update documentation for NavigationConfigurationBuilder

General

Updates

  • Move guidance related common.route APIs under instruction.
  • TomTomSDKCommon: Protocol MapDisplayDataProvider has been removed
  • TomTomSDKCommon: Protocol MapDisplayDataRequestToken has been removed
  • TomTomSDKCommon: Protocol MapTileDataProviding has been removed
  • TomTomSDKCommon: Struct MapTile has been removed
  • TomTomSDKCommon: Struct MapTileOptions has been removed

Fixes

  • Rename mapsKey parameter to apiKey

version 0.2.2746 - 18/11/2022

Search

Fixes

  • Distance formatting for the SearchUI uses dedicated rules for rounding and conversion to the smaller or larger distance units.

General

Updates

  • Rename FeatureToggleService → FeatureToggle
  • Rename LocationEngine → LocationProvider
  • Rename DefaultCLLocationEngine → DefaultCLLocationProvider
  • Rename SimulatedLocationEngine → SimulatedLocationProvider
  • Rename LocationEngineObservable → LocationProviderObservable
  • Rename LocationActions.activateLocationEngine() → LocationActions.activateLocationProvider()
  • Rename LocationActions.deactivateLocationEngine() → LocationActions.deactivateLocationProvider()
  • Rename LocationActions.locationEngine → LocationActions.locationProvider
  • Rename EngineActions.locationEngine → EngineActions.locationProvider
  • Rename EngineActions.mapMatchedLocationEngine → EngineActions.mapMatchedLocationProvider
  • Rename Navigation.locationEngine → Navigation.locationProvider
  • Rename Navigation.mapMatchedLocationEngine → Navigation.mapMatchedLocationProvider
  • Rename NavigationConfiguration.locationEngine → NavigationConfiguration.locationProvider
  • Rename DataStoreUpdater.updateLocationEngine → DataStoreUpdater.updateLocationProvider
  • Rename TPEGTrafficService.updateLocationEngine → TPEGTrafficService.updateLocationProvider
  • Rename module TomTomSDKHTTPFramework → TomTomSDKNetworking
  • Rename module TomTomSDKLocation → TomTomSDKLocationProvider
  • Rename module TomTomSDKMapsDisplay → TomTomSDKMapDisplay
  • Rename module TomTomSDKOnboardStyleProvider → TomTomSDKStyleProviderOffline
  • Rename module TomTomSDKNavigationView → TomTomSDKNavigationUI
  • Rename module TomTomSDKSystemTextToSpeechEngine → TomTomSDKDefaultTextToSpeech
  • Rename module TomTomSDKOnboardMapDisplayDataProvider → TomTomSDKMapDisplayDataProviderOffline
  • Rename module TomTomSDKDynamicRoutingApi → TomTomSDKRouteReplanner
  • Rename module TomTomSDKOnlineDynamicRoutingApi → TomTomSDKRouteReplannerDefault
  • Rename module TomTomSDKInternalDynamicRoutingApi → TomTomSDKRouteReplannerInternal
  • Rename module TomTomSDKHybridDynamicRouting → TomTomSDKRouteReplannerHybrid
  • Rename module TomTomSDKOnlineDynamicData → TomTomSDKDynamicDataOnline
  • Rename module TomTomSDKOnboardDataManagement → TomTomSDKDataManagementOffline
  • Rename module TomTomSDKRouting → TomTomSDKRoutePlanner
  • Rename module TomTomSDKOnlineRouting → TomTomSDKRoutePlannerOnline
  • Rename module TomTomSDKOnboardRouting → TomTomSDKRoutePlannerOffline
  • Rename module TomTomSDKHybridRouting → TomTomSDKRoutePlannerHybrid
  • Rename module TomTomSDKOnlineReverseGeocoder → TomTomSDKReverseGeocoderOnline
  • Rename module TomTomSDKOnboardReverseGeocoder → TomTomSDKReverseGeocoderOffline
  • Rename module TomTomSDKHybridReverseGeocoder → TomTomSDKReverseGeocoderHybrid
  • Rename module TomTomSDKNavigationVisualizationAddon → TomTomSDKAddonNavigationVisualization
  • Rename module TomTomSDKRangeVisualizationAddon → TomTomSDKAddonRangeVisualization
  • Rename module TomTomSDKUIComponents → TomTomSDKCommonUI
  • Rename module TomTomSDKTPEGTraffic → TomTomSDKTrafficTPEG
  • Rename module TomTomSDKOnlineRouteProjectionEngine → TomTomSDKRouteProjectionEngineTileStore
  • Rename module TomTomSDKOnboardStructuredSearch → TomTomSDKStructuredSearchOffline
  • Rename module TomTomSDKOnboardVehicleHorizonEngine → TomTomSDKHorizonEngineOffline

Fixes

  • improving links in documentation

version 0.2.2702 - 10/11/2022

Map

Fixes

  • Update watermarks with the new icons

Removals

  • Remove OnboardDataStoreUpdateContextEngine (deprecated by DataStoreUpdater)

General

Updates

  • Make utility network-related classes from TomTomSDKCommon module internal
  • Make TomTomSDKCommmon.ValueFormattingResult internal and make all methods of TomTomSDK.ValueWithUnitFormatter internal
  • Clarify API state of Common/Measurements.

Removals

  • Remove IDGenerator class from the public API of TomTomSDKCommon module
  • Remove obsolete internal API: AudioConfigurationProvider protocol from the TomTomSDKCommon module

Fixes

  • DemoViewModel doesn’t create 2 NavigationTileStores anymore; GeoArea-related classes' visibility also fixed.

version 0.2.2581 - 28/10/2022

Map

Updates

  • Add new destination marker image and set default departure marker icon as nil

Search

New features

  • Implement fuel prices search in TomTomSDKOnlineDynamicData module

Updates

  • Add fuel prices API to TomTomSDKDynamicData module

Fixes

  • Fixed broken links in the public documentation for Search and Reverse Geocoder
  • Fixed API reference links in the Search documentation.

Routing

Updates

  • Remodel consumption and add reachable offset in route summary.

General

New features

  • Add an API to cancel the NDS map operations (NDSStore.cancelAllMapOperations).
  • Remove usage of persistent tile cache for tiles when componentization is enabled
  • Current map operation and error handling

Updates

  • Minimize usage of setter function

Fixes

  • Fix hang or crash on error from NDSStore.schedule

version 0.2.2481 - 21/10/2022

Map

Fixes

  • Set chevron as default location indicator

New features

  • Add support for region configurations.

Updates

  • Move Traffic API to Public Preview.
  • Support dynamic unit changes in GuidanceEngine

Fixes

  • Fix incorrect country announcement when crossing border

Location

New features

  • Implement Area class.

General

New features

  • Make RegionGraphNodeID implement Comparable.

version 0.2.2436 - 14/10/2022

Map

Fixes

  • Fix zoom to routes during orientation.
  • Fix marker textbox shadow
  • Display shields

Routing

Updates

  • Route.Phonetics has been updated to support phoneticAlphabet.

New features

  • Add Dynamic Routing protocol to replan route.
  • Adding periodic announcements.

Fixes

  • Now when changing the LocationEngine, the position of the chevron will correctly reset.

General

New features

  • Add an API to uninstall the NDS map region (MapOperationType.uninstall).
  • [NAV-86120] Implement DCAS-based Transport

Updates

  • Added hill shading to documentation.

version 0.2.2314 - 10/10/2022

New features

  • Expose up-to-date state of a region

General

New features

  • Add support for installing and updating of the onboard NDS map regions to the OnboardDataManagement component (see NDSStore.schedule).

Fixes

  • Notify RegionGraphObserver on map region state changes.

version 0.2.2257 - 30/09/2022

Map

Fixes

  • Use more strict types in the public API
  • Fix typo in TomTomSDKMapsDisplay.MarkerLabelOptions

Search

New features

  • Updated documentation for the Hybrid Reverse Geocoder
  • Hybrid implementation for the POI Categories search

Updates

  • Hybrid implementation for the Along Route search
  • Implemented Hybrid fuzzy Search API

Fixes

  • Use SearchResultType.street for results filtering instead of the SearchResultType.address for OnboardSearch

Routing

New features

  • [BREAKING] Introduce flat RoutePoint structure and parse charging information from RoutePoint instead of LegSummary

Fixes

  • Hiding bindings' types to avoid class name with third parties.

New features

  • Enable/disable announcement generation option

Location

Updates

  • SimulatedLocationEngine supports using current timestamps

version 0.2.2163 - 22/09/2022

Map

New features

  • Add placement anchor to MarkerOptions

Search

New features

  • Adding hybrid autocomplete search query

Updates

  • Change the public API of HybridReverseGeocoder module; Module now needs to apiKey and MapDataStore at initialization

Routing

New features

  • Plan EV Route using planRoute api

Updates

  • Use new onboard-directions increment interface
  • Use new go-sdk-onboard-directions interface

Fixes

  • Handle LHP phonetics

Version: 0.2.2095 - 16/09/2022

Map

Fixes

  • Fixed style container API key dependency issue

Search

New features

  • Publish HybridReverseGeocoder module

Fixes

  • Fixed API documentation generation for the Reverse Geocoder
  • Fixed links in the autocomplete documentation

Routing

Updates

  • Improve error handling in snippets.

Fixes

  • Do not pass customEndpoint as parameter in request.

New features

  • Expose installed state of a region

Fixes

  • Now when changing the LocationEngine, the position of the chevron will correctly reset.

version 0.2.2025 - 09/09/2022

Map

New features

  • Anchored rotation

Search

New features

  • Hybrid implementation of the Reverse Geocoder in the HybridReverseGeocoderService

Routing

Updates

  • Next instruction based on route path
  • Allow builders in copy functions to fail.
  • Use heading for route planning in sample app.

Fixes

  • Add missing signpost information and display it on NIP

Fixes

  • Add missing exit number information to NIP

version 0.2.1989 - 02/09/2022

Map

Fixes

  • Hiding hill shading by default
  • Remove ClassicSimultaneousGestureHandler and rename ModernSimultaneousGestureHandler to SimultaneousGestureHandler
  • Fix for map gestures

Search

Updates

  • Added E2E tests for Online Search
  • Added considering geoBias for CircleGeometry search and RectangleGeometry search

Routing

Updates

  • Replace Routing.LatLngBounds with Common.BoundingBox
  • Provide default arguments for Itinerary.waypoints.
  • Add heading to ItineraryPoint to use in future RoutePlanningOptions.
  • Expose traffic length information in the Route Summary

Fixes

  • TomTomRouteReplanningEngine uses vehicle heading for route refresh.
  • Only request alternatives in replanning when necessary.
  • Correct documentation for traffic incidents on routes with supporting points.
  • Expose Traffic Delay information in the onboard route and route leg summary.
  • Fixed two documentation snippets.

New features

  • Introduce TomTom Dynamic guidance engine

Updates

  • Display follow icon when the next manoeuvre is far away
  • Implement option to adapt TTS language to a message language

Fixes

  • Fix early announcements for "Bear" instructions

General

Updates

  • Completed the first round of iterations to improve the documentation to build a navigation app

version 0.2.1903 - 26/08/2022

General

New features

  • Expose onboard map structure (in English only)

Fixes

  • Camera tracking mode developer portal guide isn’t up to date

version 0.2.1869 - 19/08/2022

Map

Updates

  • Implemented style URL builder class

Fixes

  • Fixed route overview position marker vertical offset

Search

New features

  • Search POI along route by POI categories
  • Search POI along route by POI categories
  • Search POI along route by POI categories
  • Onboard POI category search
  • Onboard POI category search

Updates

  • Added possibililty to convert SearchResult to Place
  • Property Distance in Place uses Measurement<UnitLength&gt;
  • Modify names and types for the search public API properties with repsent Sets

Routing

New features

  • Routing request language

Fixes

  • Add phonetic alphabet to route generated in online mode
  • Adds missing toll payment type to toll road sections.
  • If exit direction in instruction is not specified explicitly, derive it from the driving side.
  • Request extendedSections by using ProgressPoints.

New features

  • Show next intersection name in Japan
  • Show next intersection name in Japan
  • Show next intersection name in Japan

Fixes

  • add missing road numbers for online mode
  • Fix missing manoeuvre mappings
  • Fixed the issue with ETA going down fast at the end of a long Trip.

General

Fixes

  • fix build error

version 0.2.1773 - 12/08/2022

Search

Fixes

  • Additional data API restored as part of SearchService

version 0.2.1732 - 05/08/2022

Map

New features

  • add new styles for Satellite

Search

Updates

  • Use OptionSet for resultTypes property in AutocompleteQuery struct.
  • update AutocompleteQuery struct, remove AutocompleteQueryBuilder class.

Fixes

  • Fix API documentation formatting for AlongRouteQuery struct.

New features

  • Add OnboardDataStoreUpdateContextEngine notifying map updater of position/route

Fixes

  • Fixed issue where sometimes deviation was not detected, and the route was never updated.

General

Updates

  • Remove "Go" prefix from classes.

Fixes

  • Fixed a bug where the map object and the corresponding store access handle were not refreshed after a map update.
  • Remove CLLocationCoordinate2D conformance to Hashable, Decodable and Encodable.

version 0.2.1661 - 29/07/2022

Map

New features

  • MapVisualisation tile provider integrated with StoreAccessSync.

Updates

  • NDSStore and NDSStoreAccess are now passed behind corresponding protocols instead of as concrete classes.
  • NDSStore and NDSStoreAccess are now passed behind corresponding protocols instead of as concrete classes.

Search

Updates

  • Added charging park to the Fuzzy Search response

Removals

  • JSON types removed from the Online Search API

Routing

Fixes

  • Disabled activity indicator when avoidance route gets loaded

New features

  • SoftDR (extrapolate) support in OnboardMapMatchingEngine
  • Prediction support in OnboardMapMatchingEngine
  • SoftDR (extrapolate) support in OnboardMapMatchingEngine
  • Prediction support in OnboardMapMatchingEngine

Updates

  • Now RouteReplanningEngine has only a generic replan method instead of replanToRefresh or replanOnDeviation.
  • Removed onError closure callback from start method in Navigation class. Added didStartOnRoute interface in TomTomNavigationDelegate. Added didStartFailWithError inteface in TomTomNavigationErrorDelegate
  • Now RouteReplanningEngine has only a generic replan method instead of replanToRefresh or replanOnDeviation.

Fixes

  • Fix missing map references after replanning route.

General

New features

  • Added TTMeasurement Decorator for Measurement object, this enables easy conversion and initialization for Measurements.
  • Added TTMeasurement Decorator for Measurement object, this enables easy conversion and initialization for Measurements.

Removals

  • Measurement convenience initializers. This would possibly create conflicts with other SDKs.
  • Measurement convenience initializers. This would possibly create conflicts with other SDKs.

version 0.2.1607 - 20/07/2022

Fixes

  • Fix missing map references after replanning route.

version 0.2.1588 - 15/07/2022

Map

Fixes

  • Onboard map not shown on devices with non-latin1 locale

General

Updates

  • A new tutorial to build a navigation app was created.

version 0.2.1538 - 08/07/2022

Map

Fixes

  • Fixed missing country names on map by setting a default language
  • Improve naming in the public API types and methods List of changes:
  • Fixed issue when single tap was reported along to long press gesture

Search

Updates

  • Added mappings for the onboard reverse geocoder response for the folowwing properties: municipalitySubdivision,neighborhoodName and countrySubdivisionCode

Routing

Updates

  • Made "language" parameter in RoutingOptions default to device language.

New features

  • Added the possibility to specify the language in TomTomGuidanceEngine. If not specified device language will be used.

Updates

  • Add predictions property to MapMatchingResult struct

Fixes

  • Fixed crash where having 12H instead of 24H set up in date settings would cause the app to randomly crash when starting navigation.
  • Return the correct error for computation timeout.

General

Updates

  • Api reference documentation updated for TomTomSDKRoute module.

version 0.2.1455 - 01/07/2022

Map

New features

  • Dedicated sky color for light/dark mode
  • createDirectionUpFollowCameraOperator() is expose in GO SDK

New features

  • Now when a location is map matched, it will also return additional information about the route i’ds being followed.

Fixes

  • Added unit system setting on navigation Views. Now it is possible to set different imperial or metric units.

General

Updates

  • Project setup guides updated with information about required credentials for navigation modules
  • Separate project setup guides for maps and navigation.

Fixes

  • Fix crash when removing observer twice.

version 0.2.1400 - 21/06/2022

Routing

Updates

  • Improve documentation of RoutingService/RoutingOptions

version 0.2.1384 - 17/06/2022

Map

Updates

  • Added Support for V2.1 styles
  • Update layer_mapping.json
  • Update to CameraOptions and CameraProperties documentation
  • Replace Objective-C types used in public Swift API

Fixes

  • Error Handler for Invalid Zoom Level Configurations

Search

Updates

  • Added Search UI documentation
  • Add experimental API annotation to public APIs in GoSDKOnboardReverseGeocoder and GoSDKOnboardSearch
  • Add public preview API annotations to the GoSDKOnlineReverseGeocoder framework
  • Add public preview API annotation to APIs in the GoSDKSearch framework.
  • Add public preview API annotations to public API in the GoSDKOnlineSearch framework.

Routing

New features

  • Provide NDS map references in onboard routes
  • Provide NDS map references in onboard routes
  • Avoid areas in onboard routing
  • Avoid areas in onboard routing
  • Now, while planning a route, the correct form to calculate the route, regular or extended, is used depending on the options set.

Updates

  • Fixed misspelling in PedestrianSection struct name
  • Add carpool section type and urban section type to SectionType for the routing request.

Removals

  • Remove redundant trafficDelayInSeconds from
  • Remove redundant travelTimeInSeconds from
  • Remove redundant lengthInMeters
  • Remove unsupported TransportMode

Fixes

  • RouteSummaryView: fix frame with show correct view
  • Fix wrong distance to instruction after refreshing route.
  • Fixes unwanted departure guidance after route replanning.
  • Fix for distances to instructions being incorrect after updating navigatino with a better route.

General

Updates

  • Updated NK2 iOS component to Cross-platform BoM 77.19.10
  • Add carpool sections and urban sections to GoSDKRoute.Route

Fixes

  • Fixed crash when location predictions with negative speed are generated

Version 0.2.1182 - 27/05/2022

Map

Fixeses

  • Fixed a crash when map view is deallocated
  • Fixed a crash caused by mapKey placeholder not replaced when loading custom style
  • Fixed an incorrect route bringToFront behaviour resulting in inability to change route order to front one

Search

Deprecations

  • the following calls in Search API are now discontinued: downloadPoiPhoto, poiDetailsSearch

iOS version 0.2.1139

Updates:

  • information about missing layers exposed in Diagnostic API

iOS version 0.2.1126

Bug fixes:

  • Fix for a crash when the useMetalGraphicsBackend feature toggle is enabled
  • Fix for a crash when changing Custom style
  • Fix for incorrect route replanning reason ".unreachable"
  • Fix for a speed bubble colour not depended on current speed and speed limit
  • Fix for misspelled "Engine" in API DefaultMapMatchingEnigne

iOS version 0.2.1101

Updates:

  • Moved GoSDKCommon.Route related classes/protocols to new GoSDKRoute module

iOS version 0.2.1092

Bug fixes:

  • Fix for incorrect lane guidance after route replanning

iOS version 0.2.1050

Updates:

  • Improved documentation for map overlays
  • Added documentation for route replanning after deviation
  • Added voice instructions documentation
  • Added documentation guide for pins shrinking and fading

Bug fixes:

  • Fix for map springing back in opposite direction after panning
  • Fix for occasional discrepancies in directional arrows
  • Fix for polar cups not matching surrounding colour
  • Fix for Camera Operator zooming not working
  • Fix for logo visible briefly during map initialization

iOS version 0.2.1019

Bug fixes:

  • Fix for no arrival announcement

iOS version 0.2.967

New features:

  • Switch to online fonts
  • Search UI
  • Map overlays
  • Pin shrinking and fading
  • Update of map’s style file
  • Add "Route updated" notification to the UI component

Updated features:

  • Destruction of services
  • Change type of GeoLocation.timeMillis property to "Date"
  • Metric ranges for for visual instructions in NIP are not according to the spec
  • Imperial ranges for for visual instructions in NIP are not according to the spec
  • No route planning in progress screen

Bug fixes:

  • Documentation of AccuracyIndicatorType
  • Wrong location indicator after changing styleMode
  • Style Parsing Error with custom map style
  • Street name font size won’t change to driving view zoom level
  • Map gestures not working correctly
  • In Driving mode, panning of map always results in map moving down-side
  • First SLG infois not displayed in the route
  • Incorrect TTS translation for 1km
  • SLG triggering points are not same as android
  • Pan gesture works incorrectly when in camera follow the chevron mode
  • Verbal messages duplicated after route refresh