Release Notes

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.

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.