Release Notes

Version 1.0.0 - 15/04/2024

TomTom Navigation SDK celebrates a milestone with version 1.0!

It comes with everything you would expect from a navigation solution: search, routing, turn-by-turn navigation, and first class map rendering and traffic.

Share your thoughts on this release by using the feedback button located at the bottom of the page.

General

Updates
  • Mark all subclasses and the toString() override of com.tomtom.sdk.traffic.EffectCode as Public Preview in documentation.
  • Fix incorrect documentation from the previously released Public Preview APIs for:
    • com.tomtom.sdk.datamanagement.navigationtile.NavigationTileStoreConfiguration
    • com.tomtom.sdk.datamanagement.nds.update.RegionGraphNode
    • com.tomtom.sdk.datamanagement.nds.update.UpdateInfo
    • com.tomtom.sdk.datamanagement.nds.update.RegionsAlongPolyline
    • com.tomtom.sdk.datamanagement.nds.update.RegionsAroundPosition
    • com.tomtom.sdk.datamanagement.nds.update.automatic.AutomaticNdsStoreUpdaterConfiguration
    • com.tomtom.sdk.datamanagement.nds.update.automatic.AutomaticNdsStoreUpdaterConfiguration.AllRegions
    • com.tomtom.sdk.datamanagement.nds.update.automatic.AutomaticNdsStoreUpdaterConfiguration.RelevantRegions
    • com.tomtom.sdk.datamanagement.nds.update.automatic.AutomaticNdsStoreUpdaterConfiguration.RegionsAlongRoute
    • com.tomtom.sdk.map.display.dataprovider.hybrid.featuretoggle.HybridOnlineFirstMapFeature
    • com.tomtom.sdk.safetylocations.common.SafetyLocationsConfiguration
    • com.tomtom.sdk.safetylocations.model.SafetyLocation
    • com.tomtom.sdk.telemetry.DefaultTelemetryConfigProvider
    • com.tomtom.sdk.datamanagement.navigationtile.AreaAlongRoute.corridorMinLength
Breaking changes
  • Update Android compileSDK to API level 34.
  • Update Android NDK to r26c.
Removals
  • Removals in the com.tomtom.sdk.http package:

    • HttpConfiguration
    • HttpConfiguration(Context,List<HttpInterceptor>=,HttpSecurityConfiguration)
    • HttpConfiguration.context:Context
    • HttpConfiguration.interceptors:List<HttpInterceptor>
    • HttpConfiguration.securityConfig:HttpSecurityConfiguration
    • HttpInitializer.initialize(HttpConfiguration)
    • HttpSecurityConfiguration
    • HttpSecurityConfiguration(X509TrustManager?=,X509KeyManager)
    • HttpSecurityConfiguration.Companion.toX509TrustManager(ByteArray):X509TrustManager
    • HttpSecurityConfiguration.Companion.toX509TrustManager(Collection<X509Certificate>):X509TrustManager
    • HttpSecurityConfiguration.Companion.toX509TrustManager(File):X509TrustManager
    • HttpSecurityConfiguration.keyManager:X509KeyManager
    • HttpSecurityConfiguration.trustManager:X509TrustManager
  • Removals in the com.tomtom.sdk.http.header package:

    • HttpHeader
    • HttpHeader(String,String)
    • HttpHeader.name:String
    • HttpHeader.value:String
    • HttpHeaders
    • HttpHeaders.Builder
    • HttpHeaders.Builder()
    • HttpHeaders.Builder.add(HttpHeader):Builder
    • HttpHeaders.Builder.add(String,String):Builder
    • HttpHeaders.Builder.addAll(HttpHeaders):Builder
    • HttpHeaders.Builder.addAll(List<HttpHeader>):Builder
    • HttpHeaders.Builder.addAll(Map<String,String>):Builder
    • HttpHeaders.Builder.addAllMultipleValues(Map<String,List<String>>):Builder
    • HttpHeaders.Builder.addOrReplace(String,String):Builder
    • HttpHeaders.Builder.build():HttpHeaders
    • HttpHeaders.Builder.removeAll():Builder
    • HttpHeaders.Builder.removeAll(String):Builder
    • HttpHeaders.Builder.to(String,Any)
    • HttpHeaders.Companion.DEFAULT_CONTENT_TYPE:
    • HttpHeaders.Companion.toHttpHeaders(Map<String, String>):HttpHeaders
    • HttpHeaders.get(String):String?
    • HttpHeaders.iterator():Iterator<HttpHeader>
    • HttpHeaders.kt.headers(HttpHeaders.Builder.()&rarr;Unit):HttpHeaders
    • HttpHeaders.mutate(Builder.()&rarr;Unit):HttpHeaders
    • HttpHeaders.names():Set<String>
    • HttpHeaders.size:Int
    • HttpHeaders.toBuilder():Builder
    • HttpHeaders.value(String):String?
    • HttpHeaders.values(String):List<String>
  • Removals in the com.tomtom.sdk.http.interceptor package:

    • HttpInterceptor
    • HttpInterceptor.Chain
    • HttpInterceptor.Chain.proceed(HttpRequest):HttpResponse
    • HttpInterceptor.Chain.request():HttpRequest
    • HttpInterceptor.intercept(Chain):HttpResponse
  • Removals in the com.tomtom.sdk.http.request package:

    • HttpMethod
    • HttpMethod.Companion.Delete:
    • HttpMethod.Companion.Get:
    • HttpMethod.Companion.Patch:
    • HttpMethod.Companion.Post:
    • HttpMethod.Companion.Put:
    • HttpMethod.Companion.toHttpMethod(String):HttpMethod
    • HttpMethod.toString():String
    • HttpRequest
    • HttpRequest.Builder
    • HttpRequest.Builder()
    • HttpRequest.Builder.addAllHeaders(Map<String,String>):Builder
    • HttpRequest.Builder.addHeader(String,String):Builder
    • HttpRequest.Builder.addOrReplaceHeader(String,String):Builder
    • HttpRequest.Builder.build():HttpRequest
    • HttpRequest.Builder.get():Builder
    • HttpRequest.Builder.headers(HttpHeaders.Builder.()&rarr;Unit):Builder
    • HttpRequest.Builder.method(HttpMethod,HttpRequestBody=):Builder
    • HttpRequest.Builder.post(HttpRequestBody):Builder
    • HttpRequest.Builder.removeHeader(String):Builder
    • HttpRequest.Builder.url(HttpUrlBuilder.()&rarr;Unit):Builder
    • HttpRequest.Builder.url(String,HttpUrlBuilder.()&rarr;Unit=):Builder
    • HttpRequest.Builder.url(URI,HttpUrlBuilder.()&rarr;Unit=):Builder
    • HttpRequest.body:HttpRequestBody
    • HttpRequest.headers:HttpHeaders
    • HttpRequest.kt.createGetRequest(HttpRequest.Builder.()&rarr;Unit):HttpRequest
    • HttpRequest.kt.createPostRequest(HttpRequestBody,HttpRequest.Builder.()&rarr;Unit):HttpRequest
    • HttpRequest.kt.createRequest(HttpRequest.Builder.()&rarr;Unit):HttpRequest
    • HttpRequest.kt.mutateRequest(HttpRequest,HttpRequest.Builder.()&rarr;Unit):HttpRequest
    • HttpRequest.method:HttpMethod
    • HttpRequest.mutate(Builder.()&rarr;Unit):HttpRequest
    • HttpRequest.toBuilder():Builder
    • HttpRequest.url:URI
    • HttpRequestBody
    • HttpRequestBody.Companion.EMPTY:
    • HttpRequestBody.Companion.toHttpRequestBody(ByteArray,String=):HttpRequestBody
    • HttpRequestBody.Companion.toHttpRequestBody(String,String=):HttpRequestBody
    • HttpRequestBody.content():ByteArray
    • HttpRequestBody.contentType():String?
    • HttpRequestBody.length():Long
  • Removals in the com.tomtom.sdk.http.response package:

    • HttpProtocol
    • HttpProtocol.Companion.Http1_1:
    • HttpProtocol.Companion.Http2:
    • HttpProtocol.toString():String
    • HttpResponse
    • HttpResponse.Builder
    • HttpResponse.Builder(HttpRequest)
    • HttpResponse.Builder(HttpResponse)
    • HttpResponse.Builder.addAllHeaders(Map<String,String>):Builder
    • HttpResponse.Builder.addHeader(String,String):Builder
    • HttpResponse.Builder.addOrReplaceHeader(String,String):Builder
    • HttpResponse.Builder.body(HttpResponseBody):Builder
    • HttpResponse.Builder.build():HttpResponse
    • HttpResponse.Builder.code(Int):Builder
    • HttpResponse.Builder.headers(HttpHeaders.Builder.()&rarr;Unit):Builder
    • HttpResponse.Builder.message(String):Builder
    • HttpResponse.Builder.protocol(HttpProtocol):Builder
    • HttpResponse.Builder.removeHeader(String):Builder
    • HttpResponse.body:HttpResponseBody
    • HttpResponse.close()
    • HttpResponse.code:Int
    • HttpResponse.headers:HttpHeaders
    • HttpResponse.isSuccessful:Boolean
    • HttpResponse.kt.createResponse(HttpRequest,HttpResponse.Builder.()&rarr;Unit):HttpResponse
    • HttpResponse.message:String
    • HttpResponse.mutate(Builder.()&rarr;Unit):HttpResponse
    • HttpResponse.protocol:HttpProtocol
    • HttpResponse.request:HttpRequest
    • HttpResponse.toBuilder():Builder
    • HttpResponseBody
    • HttpResponseBody.Companion.EMPTY:
    • HttpResponseBody.Companion.toHttpResponseBody(ByteArray,String):HttpResponseBody
    • HttpResponseBody.Companion.toHttpResponseBody(String,String):HttpResponseBody
    • HttpResponseBody.byteStream():InputStream
    • HttpResponseBody.consumeBytes():ByteArray
    • HttpResponseBody.contentType():String?
    • HttpResponseBody.length():Long
  • Removals in the com.tomtom.sdk.http.url package:

    • HttpUrlBuilder
    • HttpUrlBuilder.Companion.toHttpUrlBuilder(String):HttpUrlBuilder
    • HttpUrlBuilder.Companion.toHttpUrlBuilder(URI):HttpUrlBuilder
    • HttpUrlBuilder.QueryParametersBuilder
    • HttpUrlBuilder.QueryParametersBuilder()
    • HttpUrlBuilder.QueryParametersBuilder(String?)
    • HttpUrlBuilder.QueryParametersBuilder.add(String,String):QueryParametersBuilder
    • HttpUrlBuilder.QueryParametersBuilder.addAll(Map<String,String>):QueryParametersBuilder
    • HttpUrlBuilder.QueryParametersBuilder.addOrReplace(String,String):QueryParametersBuilder
    • HttpUrlBuilder.QueryParametersBuilder.build():String?
    • HttpUrlBuilder.QueryParametersBuilder.remove(String):QueryParametersBuilder
    • HttpUrlBuilder.QueryParametersBuilder.removeAll():QueryParametersBuilder
    • HttpUrlBuilder.QueryParametersBuilder.to(String,Any)
    • HttpUrlBuilder.addAllQueryParams(Map<String,String>):HttpUrlBuilder
    • HttpUrlBuilder.addOrReplaceQueryParam(String,String):HttpUrlBuilder
    • HttpUrlBuilder.addQueryParam(String,String):HttpUrlBuilder
    • HttpUrlBuilder.build():URI
    • HttpUrlBuilder.host(String):HttpUrlBuilder
    • HttpUrlBuilder.kt.mutate(URI,HttpUrlBuilder.()&rarr;Unit):URI
    • HttpUrlBuilder.kt.queryIterator(URI):Iterator<Pair<String, String>>
    • HttpUrlBuilder.kt.toUri(String):URI
    • HttpUrlBuilder.kt.url(HttpUrlBuilder.()&rarr;Unit):URI
    • HttpUrlBuilder.kt.url(String,HttpUrlBuilder.()&rarr;Unit):URI
    • HttpUrlBuilder.kt.url(URI,HttpUrlBuilder.()&rarr;Unit):URI
    • HttpUrlBuilder.path(String):HttpUrlBuilder
    • HttpUrlBuilder.port(Int):HttpUrlBuilder
    • HttpUrlBuilder.query(String):HttpUrlBuilder
    • HttpUrlBuilder.queryParams(QueryParametersBuilder.()&rarr;Unit):HttpUrlBuilder
    • HttpUrlBuilder.removeAllQueryParams():HttpUrlBuilder
    • HttpUrlBuilder.removeQueryParam(String):HttpUrlBuilder
    • HttpUrlBuilder.scheme(String):HttpUrlBuilder

Map

New features
  • NavigationVisualization now accurately reflects changes in the unit system.
Updates
  • Reduce aggressive hill-shading in offline maps.
  • Fix incorrect documentation from previously released Public Preview APIs:
    • com.tomtom.sdk.map.display.visualization.navigation.horizon.safetylocation.SafetyLocationStyle
    • com.tomtom.sdk.map.display.visualization.navigation.horizon.safetylocation.SafetyLocationMarkerStyle
    • com.tomtom.sdk.map.display.visualization.navigation.horizon.safetylocation.TextStyle
    • com.tomtom.sdk.map.display.visualization.poi.Poi
    • com.tomtom.sdk.map.display.visualization.search.SearchConfiguration
    • com.tomtom.sdk.map.display.visualization.search.SearchVisualizationFactory.create
    • com.tomtom.sdk.map.display.visualization.search.SearchVisualizationResponse
    • com.tomtom.sdk.map.display.visualization.routing.RoutingVisualization.selectedRoute
Breaking changes
  • com.tomtom.sdk.map.display.visualization.navigation.horizon.safetylocation.SafetyLocationType is removed, use com.tomtom.sdk.safetylocations.model.SafetyLocationType instead.
  • com.tomtom.sdk.map.display.visualization.navigation.horizon.safetylocation.SafetyLocationElement is removed, use com.tomtom.sdk.safetylocations.model.SafetyLocation instead.
Fixes
  • BetterRouteVisualization now exclusively suggests faster routes, resolving the issue of slower options being displayed.
New features
  • Extend RoutePlanningOptions with the ability to manage itinerary points.
  • To support navigation session restoration TomTomNavigation offers the com.tomtom.sdk.navigation.TomTomNavigation.resume(NavigationResumeSnapshot) and the com.tomtom.sdk.navigation.TomTomNavigation.navigationResumeSnapshot() methods.
  • Saving and resuming a navigation session can be done automatically using the com.tomtom.sdk.navigation.resumesnapshotrenewer.NavigationResumeSnapshotRenewer
Updates
  • The following APIs are available under General Availability:

    • com.tomtom.sdk.navigation.offline.OfflineTomTomNavigationFactory
    • com.tomtom.sdk.navigation.offline.Configuration
  • Promote the following APIs to Public Preview:

    • com.tomtom.sdk.navigation.datastoreselection.DataStoreSelectionEngine
    • com.tomtom.sdk.navigation.mapmatching.hybrid.HybridMapMatchingEngineFactory.create()
    • com.tomtom.sdk.navigation.NavigationEngineRegistry.dataStoreMaintenanceEngine
    • com.tomtom.sdk.navigation.ui.NavigationUiOptions.adaptVoiceLanguage
    • com.tomtom.sdk.navigation.horizon.elements.hazard.HazardElement
  • Extend documentation for TomTomNavigation, including adding examples on how to add/remove listeners and clarify documentation for TomTomNavigation.skipRouteStop.

  • Fix incorrect documentation from the previously released Public Preview APIs:

    • com.tomtom.sdk.navigation.TomTomNavigation.resume
    • com.tomtom.sdk.navigation.navigationresumesnapshot.NavigationResumeSnapshot
    • com.tomtom.sdk.hazards.model.Hazard
    • com.tomtom.sdk.hazards.common.HazardsConfiguration
    • com.tomtom.sdk.navigation.HorizonUpdatedListener.onHorizonReset
    • com.tomtom.sdk.navigation.horizon.elements.hazard.HazardElement
    • com.tomtom.sdk.navigation.datastoreselection.DataStoreSelectionEngine.select
    • com.tomtom.sdk.navigation.horizon.HorizonSnapshotState.HorizonSnapshotState
    • com.tomtom.sdk.navigation.mapmatching.MapMatchingResult.MapMatchingResult
    • com.tomtom.sdk.navigation.resumesnapshotrenewer.NavigationResumeSnapshotRenewerFailure
    • com.tomtom.sdk.navigation.navigationresumesnapshot.NavigationResumeSnapshot
Fixes
  • Application no longer becomes non-responsive for more than 5 seconds after calling TomTomNavigation.stop().
  • The estimated time for Hazards feature displayed accurately based on locale settings.
  • NdsStoreAccessSync now won't ever throw when removing a listener.
  • TomTomNavigation no longer freezes after route update.
Breaking changes
  • When configuring offline navigation, the NdsMapContext object is no longer required. Pass NdsStore directly instead. When the navigation stack should update the map as well, pass NdsStoreUpdater too.
  • Extend com.tomtom.sdk.hazards.model.Hazard with property com.tomtom.sdk.navigation.horizon.elements.hazard.HazardElement.hazard.
  • Remove com.tomtom.sdk.navigation.TomTomNavigationFactory from the public API.
  • Move DataStoreSelectionStrategy to Experimental.
Removals
  • The following properties in the com.tomtom.sdk.navigation.horizon.elements.hazard package are removed:
    • HazardElement.category.
    • HazardElement.detailedInformation.
    • HazardElement.expirationTime.
    • HazardElement.hazardId.
    • HazardElement.location.
    • HazardElement.severity.
    • HazardElement.type.

Location

Updates
  • Filter out predictions up to the current matched position in logging of LocationTracesRecorder.
  • Fix incorrect documentation from previously released Public Preview APIs:
    • com.tomtom.sdk.location.poi.ev.ChargingPark
    • com.tomtom.sdk.location.traceslogger.recorder.LocationTracesRecorderFailure

Routing

New features
  • Add support for multimodal routing by introducing per-leg routeType and per-waypoint pauseTime.
  • Introduce the ability to specify reconstruction modes when using the supporting points in route planning requests.
  • Add Update to com.tomtom.sdk.routing.options.calculation.ReconstructionMode.
Updates
  • com.tomtom.sdk.routing.options.guidance.GuidanceOptions constructor is now in General Availability.

  • Improve the documentation of the com.tomtom.sdk.routing.options.guidance.GuidanceOptions extendedSections parameter.

  • Document vehicleModelId behavior for the following vehicle types:

    • com.tomtom.sdk.vehicle.Bus
    • com.tomtom.sdk.vehicle.Car
    • com.tomtom.sdk.vehicle.Truck
    • com.tomtom.sdk.vehicle.Taxi
    • com.tomtom.sdk.vehicle.Van
    • com.tomtom.sdk.vehicle.Motorcycle
Fixes
  • When using com.tomtom.sdk.routing.options.RoutePlanningOptions.guidanceOptions, the usable vehicle types are limited to car, motorcycle, and truck.
Breaking changes
  • The routing-common-client has been removed from the public artifacts.
Deprecations
  • com.tomtom.sdk.routing.options.guidance.GuidanceOptions.guidanceVersion property is now deprecated.
  • com.tomtom.sdk.routing.options.guidance.OnlineApiVersion class is now deprecated.
Removals
  • Remove the values com.tomtom.sdk.routing.options.guidance.AnnouncementPoints.Companion.All and com.tomtom.sdk.routing.options.guidance.AnnouncementPoints.Companion.None.

  • Remove GuidanceOptions deprecated constructor.

  • Remove the following deprecated properties in the com.tomtom.sdk.routing.options.guidance package:

    • GuidanceOptions.announcementPoints
    • GuidanceOptions.instructionType
    • GuidanceOptions.progressPoints
  • Remove the following deprecated value classes in the com.tomtom.sdk.routing.options.guidance package:

    • AnnouncementPoints
    • InstructionType
Breaking changes
  • Remove OnlineAdditionalData client from the public API.
Deprecations
  • OnlineSearch.Companion.create(customPoiDataProviders, personalData) is now deprecated, use createWithPersonalData instead.

Traffic

Updates
  • Mark the following com.tomtom.sdk.traffic APIs as Public Preview:

    • Traffic.isConnected
    • Traffic.trafficEventCount
    • Traffic.updateLocale(Locale)
    • Traffic.updateLocationProvider(LocationProvider)
    • Traffic.updateRoutesForTraffic(List<List>)
  • Fix incorrect documentation from previously released Public Preview APIs for com.tomtom.sdk.traffic:

    • Traffic.isConnected
    • Traffic.updateLocale
    • Traffic.updateLocationProvider
    • Traffic.updateRoutesForTraffic
    • Traffic.getTrafficEvents
    • TrafficEventsResult
Removals
  • Remove deprecated API com.tomtom.sdk.traffic.tpeg.TrafficTpeg.