Release Notes

Version 0.52.0 - 21/06/2024

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

General

Breaking changes
  • TomTomSDKRoutingVisualization.TrafficVisualization now conforms to TomTomSDKCommon.ConformanceLocked. Remove all conformances outside NavSDK as TomTomSDKRoutingVisualization.TrafficVisualization isn't intended for external implementation.
  • Rename TomTomSDKRoutingVisualization.RoutingVisualization.zoomToRoutesEnabled to TomTomSDKRoutingVisualization.RoutingVisualization.isZoomToRoutesEnabled.
Updates
  • Optimize feature toggle data loading from file.

  • The following are now available in General Availability:

    • TomTomSDKRoutingVisualization.RoutingVisualization.addRouteTapObserver(:).
    • TomTomSDKRoutingVisualization.RoutingVisualization.plannedRoutes.
    • TomTomSDKRoutingVisualization.RoutingVisualization.removeRouteTapObserver(:).
    • TomTomSDKRoutingVisualization.RoutingVisualization.selectedRoute.
    • TomTomSDKRoutingVisualization.RoutingVisualization.selectRoute(:).
    • TomTomSDKRoutingVisualization.RoutingVisualization.traffic.
    • TomTomSDKRoutingVisualization.RoutingVisualization.zoomToRoutesEnabled.
    • TomTomSDKRoutingVisualization.TrafficVisualization.
    • TomTomSDKRoutingVisualization.TrafficVisualization.areTrafficIncidentsEnabled.
    • TomTomSDKRoutingVisualization.TrafficVisualization.trafficIncidents(on:).
    • TomTomSDKRoutingVisualization.RouteTapObserver.
    • TomTomSDKRoutingVisualization.RouteTapObserver.didTapOnRoute(routingRoute:, mapDisplayRoute:).
Deprecations
  • Deprecate the TomTomSDKRoutingVisualization.RoutingVisualization. isZoomToRoutePlanEnabled. Instead, use TomTomSDKRoutingVisualization.RoutingVisualization.isZoomToRoutesEnabled.
  • Deprecate the TomTomSDKRoutingVisualization.RoutingVisualization. setActiveRoute(:). Instead, use TomTomSDKRoutingVisualization.RoutingVisualization.selectRoute(:).
  • Deprecate the TomTomSDKRoutingVisualization.RoutingVisualization.activeRoute. Instead, use TomTomSDKRoutingVisualization.RoutingVisualization.selectedRoute.
  • Deprecate the TomTomSDKRoutingVisualization.RoutingVisualization.areTrafficIncidentsEnabled. Instead, use TomTomSDKRoutingVisualization.RoutingVisualization.traffic.areTrafficIncidentsEnabled.
  • Deprecate the TomTomSDKRoutingVisualization.RoutingVisualization.routes. Instead, use TomTomSDKRoutingVisualization.RoutingVisualization.plannedRoutes.
  • Deprecate the TomTomSDKRoutingVisualization.RoutingVisualization.trafficIncidents(on:). Instead, use TomTomSDKRoutingVisualization.RoutingVisualization.traffic.trafficIncidents(on:).

Map

Fixes
  • Fix wrongly scaled images that previously appeared on the map, especially when CarPlay was enabled.
Updates
  • The following are now available in General Availability:

    • TomTomSDKNavigationOnline.OnlineTomTomNavigationFactory.Configuration.init.
    • TomTomSDKNavigationOnline.OnlineTomTomNavigationFactory.Configuration.
    • TomTomSDKNavigationOnline.OnlineTomTomNavigationFactory.create(_:).
    • TomTomSDKNavigationOnline.OnlineTomTomNavigationFactory.
Fixes
  • TomTomSDKNavigation.navigationSnapshot is null until the first location is received and the map-matched. Previously, NavigationSnapshot returned default values (that are not useful) until the first processing pipeline was run.
  • A consecutive deviation after visiting a waypoint now automatically resets. Previously, it would not reset.
Deprecations
  • Deprecate the following data in the exit roundabout guidance instruction:

    • TomTomSDKNavigationEngines.ExitRoundaboutGuidanceInstruction.turnAngle
    • TomTomSDKNavigationEngines.ExitRoundaboutGuidanceInstruction.exitNumber
    • TomTomSDKNavigationEngines.ExitRoundaboutGuidanceInstruction.quantizedTurnAngle Use the corresponding properties in TomTomSDKNavigationEngines.RoundaboutGuidanceInstruction instead.
  • Deprecate the following data in the exit roundabout instruction:

    • TomTomSDKRoute.ExitRoundaboutInstruction.turnAngle
    • TomTomSDKRoute.ExitRoundaboutInstruction.exitNumber
    • TomTomSDKRoute.ExitRoundaboutInstruction.quantizedTurnAngle Use the corresponding properties in TomTomSDKRoute.RoundaboutInstruction instead.
Removals
  • Remove unused .voicePrompt case from the RuntimeFeatureType enum. This is redundant as it is already handled in AVAudioSession.

Personalization

Updates
  • The TomTomSDKPersonalData.PersonalLocation struct is now available in Public Preview.

Routing

Fixes
  • Prevent creation of TomTomSDKRoutePlanner.RoutePlanningOptions for electric vehicles with charging parameters if no charging options are specified. This prevents potential failed route plannings.
Breaking changes
  • TomTomSDKCommon.ChargingPoint.capabilities changed type from [Capability] to [Capability]?. Unwrap the property to use the value.
  • TomTomSDKCommon.ChargingPoint.evseID changed type from String to String?. Unwrap the property to use the value.
  • TomTomSDKCommon.ChargingPoint.init(evseID:capabilities:restrictions:status:connectors:physicalReference:) changed types for evseID parameter from String to String?. No actions are needed unless it's stored as a closure or a function; if it is, you must update parameter types accordingly.
  • TomTomSDKCommon.ChargingPoint.init(evseID:capabilities:restrictions:status:connectors:physicalReference:) changed types for capabilities and restrictions parameters to optional. No actions are needed unless it's stored as a closure or a function; if so, you must update the parameter types accordingly.
  • TomTomSDKCommon.ChargingPoint.restrictions changed type from [ParkingRestriction] to [ParkingRestriction]?. Unwrap the property to use the value.
  • Update TomTomSDKSearch.EVSearchResult.init() to accommodate new properties.
  • Update TomTomSDKSearch.EVSearchResult.name:String? to TomTomSDKSearch.EVSearchResult.names:[String]. Users need to update their code to handle a list of names instead of a single optional string.
  • Update TomTomSDKSearch.EVSearchResult.phone:String? to TomTomSDKSearch.EVSearchResult.phones:[String]. Users need to update their code to handle a list of names instead of a single optional string.
New features
  • Promote new APIs to allow optional standardID in TomTomSDKCommon.POICategoryID to General Availability and deprecate the old ones:

  • The following are now deprecated:

    • public init(standard: StandardCategoryID, mapSpecific: String? = nil) in struct POICategoryID. Instead, use POICategoryID(standardID:, mapSpecificID:) or POICategoryID(standardID:).
    • Case .nonStandard in enum TomTomSDKCommon.StandardCategoryID.
    • Property public var mapSpecific: String? in struct TomTomSDKCommon.POICategoryID.
    • Property public var standard: TomTomSDKCommon.StandardCategoryID in struct TomTomSDKCommon.POICategoryID.
  • The following are promoted to General Availability:

    • TomTomSDKCommon.POICategoryID.init(mapSpecificID:).
    • TomTomSDKCommon.POICategoryID.init(standardID:).
    • TomTomSDKCommon.POICategoryID.init(standardID:mapSpecificID:).
    • TomTomSDKCommon.POICategoryID.mapSpecificID.
    • TomTomSDKCommon.POICategoryID.standardID.
Updates
  • Add TomTomSDKSearch.EVSearchResult.emails:[String].