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.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.()→Unit):HttpHeaders
HttpHeaders.mutate(Builder.()→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.()→Unit):Builder
HttpRequest.Builder.method(HttpMethod,HttpRequestBody=):Builder
HttpRequest.Builder.post(HttpRequestBody):Builder
HttpRequest.Builder.removeHeader(String):Builder
HttpRequest.Builder.url(HttpUrlBuilder.()→Unit):Builder
HttpRequest.Builder.url(String,HttpUrlBuilder.()→Unit=):Builder
HttpRequest.Builder.url(URI,HttpUrlBuilder.()→Unit=):Builder
HttpRequest.body:HttpRequestBody
HttpRequest.headers:HttpHeaders
HttpRequest.kt.createGetRequest(HttpRequest.Builder.()→Unit):HttpRequest
HttpRequest.kt.createPostRequest(HttpRequestBody,HttpRequest.Builder.()→Unit):HttpRequest
HttpRequest.kt.createRequest(HttpRequest.Builder.()→Unit):HttpRequest
HttpRequest.kt.mutateRequest(HttpRequest,HttpRequest.Builder.()→Unit):HttpRequest
HttpRequest.method:HttpMethod
HttpRequest.mutate(Builder.()→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.()→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.()→Unit):HttpResponse
HttpResponse.message:String
HttpResponse.mutate(Builder.()→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.()→Unit):URI
HttpUrlBuilder.kt.queryIterator(URI):Iterator<Pair<String, String>>
HttpUrlBuilder.kt.toUri(String):URI
HttpUrlBuilder.kt.url(HttpUrlBuilder.()→Unit):URI
HttpUrlBuilder.kt.url(String,HttpUrlBuilder.()→Unit):URI
HttpUrlBuilder.kt.url(URI,HttpUrlBuilder.()→Unit):URI
HttpUrlBuilder.path(String):HttpUrlBuilder
HttpUrlBuilder.port(Int):HttpUrlBuilder
HttpUrlBuilder.query(String):HttpUrlBuilder
HttpUrlBuilder.queryParams(QueryParametersBuilder.()→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, usecom.tomtom.sdk.safetylocations.model.SafetyLocationType
instead.com.tomtom.sdk.map.display.visualization.navigation.horizon.safetylocation.SafetyLocationElement
is removed, usecom.tomtom.sdk.safetylocations.model.SafetyLocation
instead.
Fixes
BetterRouteVisualization
now exclusively suggests faster routes, resolving the issue of slower options being displayed.
Navigation
New features
- Extend
RoutePlanningOptions
with the ability to manage itinerary points. - To support navigation session restoration
TomTomNavigation
offers 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.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 forTomTomNavigation.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. PassNdsStore
directly instead. When the navigation stack should update the map as well, passNdsStoreUpdater
too. - Extend
com.tomtom.sdk.hazards.model.Hazard
with propertycom.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-waypointpauseTime
. - Introduce the ability to specify reconstruction modes when using the supporting points in route planning requests.
- Add
Update
tocom.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
andcom.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
Search
Breaking changes
- Remove
OnlineAdditionalData
client from the public API.
Deprecations
OnlineSearch.Companion.create(customPoiDataProviders, personalData)
is now deprecated, usecreateWithPersonalData
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
.