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 ofcom.tomtom.sdk.traffic.EffectCodeas Public Preview in documentation. - Fix incorrect documentation from the previously released Public Preview APIs for:
com.tomtom.sdk.datamanagement.navigationtile.NavigationTileStoreConfigurationcom.tomtom.sdk.datamanagement.nds.update.RegionGraphNodecom.tomtom.sdk.datamanagement.nds.update.UpdateInfocom.tomtom.sdk.datamanagement.nds.update.RegionsAlongPolylinecom.tomtom.sdk.datamanagement.nds.update.RegionsAroundPositioncom.tomtom.sdk.datamanagement.nds.update.automatic.AutomaticNdsStoreUpdaterConfigurationcom.tomtom.sdk.datamanagement.nds.update.automatic.AutomaticNdsStoreUpdaterConfiguration.AllRegionscom.tomtom.sdk.datamanagement.nds.update.automatic.AutomaticNdsStoreUpdaterConfiguration.RelevantRegionscom.tomtom.sdk.datamanagement.nds.update.automatic.AutomaticNdsStoreUpdaterConfiguration.RegionsAlongRoutecom.tomtom.sdk.map.display.dataprovider.hybrid.featuretoggle.HybridOnlineFirstMapFeaturecom.tomtom.sdk.safetylocations.common.SafetyLocationsConfigurationcom.tomtom.sdk.safetylocations.model.SafetyLocationcom.tomtom.sdk.telemetry.DefaultTelemetryConfigProvidercom.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.httppackage:HttpConfigurationHttpConfiguration(Context,List<HttpInterceptor>=,HttpSecurityConfiguration)HttpConfiguration.context:ContextHttpConfiguration.interceptors:List<HttpInterceptor>HttpConfiguration.securityConfig:HttpSecurityConfigurationHttpInitializer.initialize(HttpConfiguration)HttpSecurityConfigurationHttpSecurityConfiguration(X509TrustManager?=,X509KeyManager)HttpSecurityConfiguration.Companion.toX509TrustManager(ByteArray):X509TrustManagerHttpSecurityConfiguration.Companion.toX509TrustManager(Collection<X509Certificate>):X509TrustManagerHttpSecurityConfiguration.Companion.toX509TrustManager(File):X509TrustManagerHttpSecurityConfiguration.keyManager:X509KeyManagerHttpSecurityConfiguration.trustManager:X509TrustManager
-
Removals in the
com.tomtom.sdk.http.headerpackage:HttpHeaderHttpHeader(String,String)HttpHeader.name:StringHttpHeader.value:StringHttpHeadersHttpHeaders.BuilderHttpHeaders.Builder()HttpHeaders.Builder.add(HttpHeader):BuilderHttpHeaders.Builder.add(String,String):BuilderHttpHeaders.Builder.addAll(HttpHeaders):BuilderHttpHeaders.Builder.addAll(List<HttpHeader>):BuilderHttpHeaders.Builder.addAll(Map<String,String>):BuilderHttpHeaders.Builder.addAllMultipleValues(Map<String,List<String>>):BuilderHttpHeaders.Builder.addOrReplace(String,String):BuilderHttpHeaders.Builder.build():HttpHeadersHttpHeaders.Builder.removeAll():BuilderHttpHeaders.Builder.removeAll(String):BuilderHttpHeaders.Builder.to(String,Any)HttpHeaders.Companion.DEFAULT_CONTENT_TYPE:HttpHeaders.Companion.toHttpHeaders(Map<String, String>):HttpHeadersHttpHeaders.get(String):String?HttpHeaders.iterator():Iterator<HttpHeader>HttpHeaders.kt.headers(HttpHeaders.Builder.()→Unit):HttpHeadersHttpHeaders.mutate(Builder.()→Unit):HttpHeadersHttpHeaders.names():Set<String>HttpHeaders.size:IntHttpHeaders.toBuilder():BuilderHttpHeaders.value(String):String?HttpHeaders.values(String):List<String>
-
Removals in the
com.tomtom.sdk.http.interceptorpackage:HttpInterceptorHttpInterceptor.ChainHttpInterceptor.Chain.proceed(HttpRequest):HttpResponseHttpInterceptor.Chain.request():HttpRequestHttpInterceptor.intercept(Chain):HttpResponse
-
Removals in the
com.tomtom.sdk.http.requestpackage:HttpMethodHttpMethod.Companion.Delete:HttpMethod.Companion.Get:HttpMethod.Companion.Patch:HttpMethod.Companion.Post:HttpMethod.Companion.Put:HttpMethod.Companion.toHttpMethod(String):HttpMethodHttpMethod.toString():StringHttpRequestHttpRequest.BuilderHttpRequest.Builder()HttpRequest.Builder.addAllHeaders(Map<String,String>):BuilderHttpRequest.Builder.addHeader(String,String):BuilderHttpRequest.Builder.addOrReplaceHeader(String,String):BuilderHttpRequest.Builder.build():HttpRequestHttpRequest.Builder.get():BuilderHttpRequest.Builder.headers(HttpHeaders.Builder.()→Unit):BuilderHttpRequest.Builder.method(HttpMethod,HttpRequestBody=):BuilderHttpRequest.Builder.post(HttpRequestBody):BuilderHttpRequest.Builder.removeHeader(String):BuilderHttpRequest.Builder.url(HttpUrlBuilder.()→Unit):BuilderHttpRequest.Builder.url(String,HttpUrlBuilder.()→Unit=):BuilderHttpRequest.Builder.url(URI,HttpUrlBuilder.()→Unit=):BuilderHttpRequest.body:HttpRequestBodyHttpRequest.headers:HttpHeadersHttpRequest.kt.createGetRequest(HttpRequest.Builder.()→Unit):HttpRequestHttpRequest.kt.createPostRequest(HttpRequestBody,HttpRequest.Builder.()→Unit):HttpRequestHttpRequest.kt.createRequest(HttpRequest.Builder.()→Unit):HttpRequestHttpRequest.kt.mutateRequest(HttpRequest,HttpRequest.Builder.()→Unit):HttpRequestHttpRequest.method:HttpMethodHttpRequest.mutate(Builder.()→Unit):HttpRequestHttpRequest.toBuilder():BuilderHttpRequest.url:URIHttpRequestBodyHttpRequestBody.Companion.EMPTY:HttpRequestBody.Companion.toHttpRequestBody(ByteArray,String=):HttpRequestBodyHttpRequestBody.Companion.toHttpRequestBody(String,String=):HttpRequestBodyHttpRequestBody.content():ByteArrayHttpRequestBody.contentType():String?HttpRequestBody.length():Long
-
Removals in the
com.tomtom.sdk.http.responsepackage:HttpProtocolHttpProtocol.Companion.Http1_1:HttpProtocol.Companion.Http2:HttpProtocol.toString():StringHttpResponseHttpResponse.BuilderHttpResponse.Builder(HttpRequest)HttpResponse.Builder(HttpResponse)HttpResponse.Builder.addAllHeaders(Map<String,String>):BuilderHttpResponse.Builder.addHeader(String,String):BuilderHttpResponse.Builder.addOrReplaceHeader(String,String):BuilderHttpResponse.Builder.body(HttpResponseBody):BuilderHttpResponse.Builder.build():HttpResponseHttpResponse.Builder.code(Int):BuilderHttpResponse.Builder.headers(HttpHeaders.Builder.()→Unit):BuilderHttpResponse.Builder.message(String):BuilderHttpResponse.Builder.protocol(HttpProtocol):BuilderHttpResponse.Builder.removeHeader(String):BuilderHttpResponse.body:HttpResponseBodyHttpResponse.close()HttpResponse.code:IntHttpResponse.headers:HttpHeadersHttpResponse.isSuccessful:BooleanHttpResponse.kt.createResponse(HttpRequest,HttpResponse.Builder.()→Unit):HttpResponseHttpResponse.message:StringHttpResponse.mutate(Builder.()→Unit):HttpResponseHttpResponse.protocol:HttpProtocolHttpResponse.request:HttpRequestHttpResponse.toBuilder():BuilderHttpResponseBodyHttpResponseBody.Companion.EMPTY:HttpResponseBody.Companion.toHttpResponseBody(ByteArray,String):HttpResponseBodyHttpResponseBody.Companion.toHttpResponseBody(String,String):HttpResponseBodyHttpResponseBody.byteStream():InputStreamHttpResponseBody.consumeBytes():ByteArrayHttpResponseBody.contentType():String?HttpResponseBody.length():Long
-
Removals in the
com.tomtom.sdk.http.urlpackage:HttpUrlBuilderHttpUrlBuilder.Companion.toHttpUrlBuilder(String):HttpUrlBuilderHttpUrlBuilder.Companion.toHttpUrlBuilder(URI):HttpUrlBuilderHttpUrlBuilder.QueryParametersBuilderHttpUrlBuilder.QueryParametersBuilder()HttpUrlBuilder.QueryParametersBuilder(String?)HttpUrlBuilder.QueryParametersBuilder.add(String,String):QueryParametersBuilderHttpUrlBuilder.QueryParametersBuilder.addAll(Map<String,String>):QueryParametersBuilderHttpUrlBuilder.QueryParametersBuilder.addOrReplace(String,String):QueryParametersBuilderHttpUrlBuilder.QueryParametersBuilder.build():String?HttpUrlBuilder.QueryParametersBuilder.remove(String):QueryParametersBuilderHttpUrlBuilder.QueryParametersBuilder.removeAll():QueryParametersBuilderHttpUrlBuilder.QueryParametersBuilder.to(String,Any)HttpUrlBuilder.addAllQueryParams(Map<String,String>):HttpUrlBuilderHttpUrlBuilder.addOrReplaceQueryParam(String,String):HttpUrlBuilderHttpUrlBuilder.addQueryParam(String,String):HttpUrlBuilderHttpUrlBuilder.build():URIHttpUrlBuilder.host(String):HttpUrlBuilderHttpUrlBuilder.kt.mutate(URI,HttpUrlBuilder.()→Unit):URIHttpUrlBuilder.kt.queryIterator(URI):Iterator<Pair<String, String>>HttpUrlBuilder.kt.toUri(String):URIHttpUrlBuilder.kt.url(HttpUrlBuilder.()→Unit):URIHttpUrlBuilder.kt.url(String,HttpUrlBuilder.()→Unit):URIHttpUrlBuilder.kt.url(URI,HttpUrlBuilder.()→Unit):URIHttpUrlBuilder.path(String):HttpUrlBuilderHttpUrlBuilder.port(Int):HttpUrlBuilderHttpUrlBuilder.query(String):HttpUrlBuilderHttpUrlBuilder.queryParams(QueryParametersBuilder.()→Unit):HttpUrlBuilderHttpUrlBuilder.removeAllQueryParams():HttpUrlBuilderHttpUrlBuilder.removeQueryParam(String):HttpUrlBuilderHttpUrlBuilder.scheme(String):HttpUrlBuilder
Map
New features
NavigationVisualizationnow 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.SafetyLocationStylecom.tomtom.sdk.map.display.visualization.navigation.horizon.safetylocation.SafetyLocationMarkerStylecom.tomtom.sdk.map.display.visualization.navigation.horizon.safetylocation.TextStylecom.tomtom.sdk.map.display.visualization.poi.Poicom.tomtom.sdk.map.display.visualization.search.SearchConfigurationcom.tomtom.sdk.map.display.visualization.search.SearchVisualizationFactory.createcom.tomtom.sdk.map.display.visualization.search.SearchVisualizationResponsecom.tomtom.sdk.map.display.visualization.routing.RoutingVisualization.selectedRoute
Breaking changes
com.tomtom.sdk.map.display.visualization.navigation.horizon.safetylocation.SafetyLocationTypeis removed, usecom.tomtom.sdk.safetylocations.model.SafetyLocationTypeinstead.com.tomtom.sdk.map.display.visualization.navigation.horizon.safetylocation.SafetyLocationElementis removed, usecom.tomtom.sdk.safetylocations.model.SafetyLocationinstead.
Fixes
BetterRouteVisualizationnow exclusively suggests faster routes, resolving the issue of slower options being displayed.
Navigation
New features
- Extend
RoutePlanningOptionswith the ability to manage itinerary points. - To support navigation session restoration
TomTomNavigationoffers thecom.tomtom.sdk.navigation.TomTomNavigation.resume(NavigationResumeSnapshot)and thecom.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.OfflineTomTomNavigationFactorycom.tomtom.sdk.navigation.offline.Configuration
-
Promote the following APIs to Public Preview:
com.tomtom.sdk.navigation.datastoreselection.DataStoreSelectionEnginecom.tomtom.sdk.navigation.mapmatching.hybrid.HybridMapMatchingEngineFactory.create()com.tomtom.sdk.navigation.NavigationEngineRegistry.dataStoreMaintenanceEnginecom.tomtom.sdk.navigation.ui.NavigationUiOptions.adaptVoiceLanguagecom.tomtom.sdk.navigation.horizon.elements.hazard.HazardElement
-
Extend documentation for
TomTomNavigation, including adding examples on how to add/remove listeners and clarify documentation forTomTomNavigation.skipRouteStop. -
Fix incorrect documentation from the previously released Public Preview APIs:
com.tomtom.sdk.navigation.TomTomNavigation.resumecom.tomtom.sdk.navigation.navigationresumesnapshot.NavigationResumeSnapshotcom.tomtom.sdk.hazards.model.Hazardcom.tomtom.sdk.hazards.common.HazardsConfigurationcom.tomtom.sdk.navigation.HorizonUpdatedListener.onHorizonResetcom.tomtom.sdk.navigation.horizon.elements.hazard.HazardElementcom.tomtom.sdk.navigation.datastoreselection.DataStoreSelectionEngine.selectcom.tomtom.sdk.navigation.horizon.HorizonSnapshotState.HorizonSnapshotStatecom.tomtom.sdk.navigation.mapmatching.MapMatchingResult.MapMatchingResultcom.tomtom.sdk.navigation.resumesnapshotrenewer.NavigationResumeSnapshotRenewerFailurecom.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
Hazardsfeature displayed accurately based on locale settings. NdsStoreAccessSyncnow won’t ever throw when removing a listener.TomTomNavigationno longer freezes after route update.
Breaking changes
- When configuring offline navigation, the
NdsMapContextobject is no longer required. PassNdsStoredirectly instead. When the navigation stack should update the map as well, passNdsStoreUpdatertoo. - Extend
com.tomtom.sdk.hazards.model.Hazardwith propertycom.tomtom.sdk.navigation.horizon.elements.hazard.HazardElement.hazard. - Remove
com.tomtom.sdk.navigation.TomTomNavigationFactoryfrom the public API. - Move
DataStoreSelectionStrategyto Experimental.
Removals
- The following properties in the
com.tomtom.sdk.navigation.horizon.elements.hazardpackage 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.ChargingParkcom.tomtom.sdk.location.traceslogger.recorder.LocationTracesRecorderFailure
Routing
New features
- Add support for multimodal routing by introducing per-leg
routeTypeand per-waypointpauseTime. - Introduce the ability to specify reconstruction modes when using the supporting points in route planning requests.
- Add
Updatetocom.tomtom.sdk.routing.options.calculation.ReconstructionMode.
Updates
-
com.tomtom.sdk.routing.options.guidance.GuidanceOptionsconstructor is now in General Availability. -
Improve the documentation of the
com.tomtom.sdk.routing.options.guidance.GuidanceOptionsextendedSectionsparameter. -
Document
vehicleModelIdbehavior for the following vehicle types:com.tomtom.sdk.vehicle.Buscom.tomtom.sdk.vehicle.Carcom.tomtom.sdk.vehicle.Truckcom.tomtom.sdk.vehicle.Taxicom.tomtom.sdk.vehicle.Vancom.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-clienthas been removed from the public artifacts.
Deprecations
com.tomtom.sdk.routing.options.guidance.GuidanceOptions.guidanceVersionproperty is now deprecated.com.tomtom.sdk.routing.options.guidance.OnlineApiVersionclass is now deprecated.
Removals
-
Remove the values
com.tomtom.sdk.routing.options.guidance.AnnouncementPoints.Companion.Allandcom.tomtom.sdk.routing.options.guidance.AnnouncementPoints.Companion.None. -
Remove
GuidanceOptionsdeprecated constructor. -
Remove the following deprecated properties in the
com.tomtom.sdk.routing.options.guidancepackage:GuidanceOptions.announcementPointsGuidanceOptions.instructionTypeGuidanceOptions.progressPoints
-
Remove the following deprecated value classes in the
com.tomtom.sdk.routing.options.guidancepackage:AnnouncementPointsInstructionType
Search
Breaking changes
- Remove
OnlineAdditionalDataclient from the public API.
Deprecations
OnlineSearch.Companion.create(customPoiDataProviders, personalData)is now deprecated, usecreateWithPersonalDatainstead.
Traffic
Updates
-
Mark the following
com.tomtom.sdk.trafficAPIs as Public Preview:Traffic.isConnectedTraffic.trafficEventCountTraffic.updateLocale(Locale)Traffic.updateLocationProvider(LocationProvider)Traffic.updateRoutesForTraffic(List<List>)
-
Fix incorrect documentation from previously released Public Preview APIs for
com.tomtom.sdk.traffic:Traffic.isConnectedTraffic.updateLocaleTraffic.updateLocationProviderTraffic.updateRoutesForTrafficTraffic.getTrafficEventsTrafficEventsResult
Removals
- Remove deprecated API
com.tomtom.sdk.traffic.tpeg.TrafficTpeg.