Announcements
This page contains important announcements about new Android features, fixes, or breaking changes shared in advance with our developer community. For the latest changes make sure to check the Release Notes page.
Announcing breaking changes: February 20, 2023
Maps
What is changing?
- We are removing the
message
andmessagePhonetics
parameters fromGuidanceAnnouncement
.
Navigation
What is changing?
- We are restructuring the
LocationContext
class to contain theAddress
andRoad
classes.
Announcing breaking changes: February 13, 2023
Maps
What is changing?
- In
NdsStoreConfiguration
, we are replacing the NDS keystore password string with the classNdsStoreAccessPermit
.
Search
What is changing?
- We are removing the timeout from
HybridReverseGeocoder
,OnlineReverseGeocoder
, andHybridSearch
. - We are renaming
ReverseGeocoder.EntityType
toAreaType
. - We are making
customApiUrl
optional incom.tomtom.sdk.search.reversegeocoder.online.create()
andcom.tomtom.sdk.search.reversegeocoder.hybrid.create()
. - We are removing the timeout from
OnlineAdditionalDataClient
.
Navigation
What is changing?
- We are removing the
DefaultRouteReplanner
andcom.tomtom.sdk.navigation:route-replanner-default
dependencies. - We are introducing
OnlineRouteReplannerFactory
to initialize theRouteReplanner
used for online navigation. - We are introducing
OfflineRouteReplannerFactory
to initialize theRouteReplanner
used for offline navigation. - We are changing the
HybridRouteReplanner.create
method to accept only `RoutePlanner`s for online and offline. - We are removing the method from
OfflineRouteReplannerFactory
that internally creates the RoutePlanner. - We are removing the method from
OnlineRouteReplannerFactory
that internally creates the RoutePlanner. - We are renaming the following:
GuidanceUpdateListener
toGuidanceUpdatedListener
.TomTomNavigation.addGuidanceUpdateListener
method toTomTomNavigation.addGuidanceUpdatedListener
.TomTomNavigation.removeGuidanceUpdateListener
method toTomTomNavigation.removeGuidanceUpdatedListener
.
Announcing breaking changes: February 6, 2023
Maps
What is changing?
- We are replacing
com.tomtom.sdk.map.display.map.ResourceCachePolicy
withcom.tomtom.sdk.map.display.map.OnlineCachePolicy
. - We are removing
durationFilter
fromcom.tomtom.sdk.map.display.map.OnlineCachePolicy
.
Minor change
- We are updating the style version to 24.0.x.
Search
What is changing?
- We are removing
com.tomtom.sdk.search.dynamicdata.model.fuelprice.FuelName
We are extending the use ofcom.tomtom.sdk.search.model.fuel.FuelType
for fuel prices within the dynamic POI data. - We are removing
geopoliticalView
fromcom.tomtom.sdk.search.SearchOptions
. - We are using
geopoliticalView
for construction ofcom.tomtom.sdk.search.online.OnlineSearch
,com.tomtom.sdk.search.offline.OfflineSearch
andcom.tomtom.sdk.search.hybrid.HybridSearch
. maxDetourDuration
inSearchOptions
is now an optional param that is pre-defined to one hour (for search along route requests).- We are moving
entryPoints
fromPoi
toPlace
. - We are removing
navigablePosition
fromPlaceMatch
in thereversegeocoder
and replacing it withentryPoints
inPlace
.
Navigation
What is changing?
- We are moving
TollgatePaymentType
from thecom.tomtom.sdk.routing.route.instruction.common
package tocom.tomtom.sdk.routing.route
. - We are adding support for manual announcements.
Announcing breaking changes: January 30, 2023
Maps
What is changing?
- We are changing the
com.tomtom.sdk.map.display.location.LocationMarker.LocationMarkerParams
customModel
property type fromString
toUri
.
Routing
What is changing?
- We are removing
Engine Type
fromCombustion Engine
andElectric Engine
. - We are converting the
hazmat
enum to a value type. We are changing the prefix fromUs
toUn
. - We are changing the
RoutingFailure
signature fromopen class RoutingFailure constructor(override val message: String) : RuntimeException(message)
toabstract class RoutingFailure private constructor(val message: String)
.
Announcing breaking changes: January 23, 2023
Maps
What is changing?
Minor changes
- We are fixing the move gesture inertia sensitivity, now it will be smaller especially on devices with a low DPI.
- We are fixing the quick scale gesture, now scaling will be linear.
- We are improving the rotation inertia calculation, in general, rotation inertia should be more substantial.
- We are marking all public APIs in the gesture-detectors module as @InternalTomTomSdkApi.
Search
What is changing?
PoiDetailsOptions
will usePoiId
instead ofSearchResultId
.PoiDetailsResponse
will returnPoiDetails
instead ofSearchResult
.- We are removing the
numResults
property from all classes ending withSummary
. - We are removing the
offset
property fromSearchRequestSummary
. - We are renaming the following:
inputQuery
toquery
inAutocompleteSummary
.category
topoiCategory
inAutocompleteSegment
andPoiCategoryResponse
.sortBy
tosortOrder
. At the same time, we are adding a "by" prefix to its enums, e.g.,byDetourTime
.Category
toPoiCategory
ResultType
toSearchResultType
SearchRequestSummary
toSearchSummary
Navigation
What is changing?
- We are moving the public interfaces of the navigation engines to a new module named
navigation:navigation-engines
. - We are renaming
ItineraryPointSide
toItineraryPointRelativePosition
. - We are adding validation for
tollgateName
andpaymentTypes
inTollgateInstruction
to ensure that at least one value is specified. - We are removing the
keepLeft
andkeepRight
values fromTurnDirection
.
Announcing breaking changes: January 16, 2023
Search
What is changing?
- We are renaming the value class from
GeoPoliticalView
toGeopoliticalView
inSearchOptions
.
Navigation
What is changing?
- We are renaming:
CountryInfo
toCountry
.RoadInformation
toRoad
.
- In Instruction.routePath we are replacing
RoutePoint
withInstructionPoint
. - We are removing the
travelTime
property fromInstruction
. - We are adding validation in
BorderCrossing
to ensure that the from and to countries are not the same country.
Announcing breaking changes: January 9, 2023
Search
What is changing?
- In the reverse geocoder:
- We are changing the type of
ReverseGeocoderOptions.heading
from Float tocom.tomtom.quantity.Angle
. - We are renaming
geometryType
in GeoGeometry totype
. - We are reusing
com.tomtom.sdk.geojson.geometry.Geometry
instead of defining a GeoGeometry type in the reverse geocoder module. - We are changing the type of a speed limit in
PlaceMatch
tocom.tomtom.kotlin.quantity.Speed
. - We are renaming the
reverseGeocoderOptions
parameter tooptions
in functions from the ReverseGeocoder interface. - We are removing map code from the reverse geocoder.
- We are renaming
ReverseGeocoderOptions.geoPoliticalView
togeopoliticalView
.
- We are changing the type of
Minor changes
- In the reverse geocoder:
- The
ReverseGeocoderOptions.geopoliticalView
property is initialized tonull
.
- The
Routing
What is changing?
- We are renaming
RoutingErrors
toRoutingFailures
and are reorganizing theRoutingFailure
packages.
Announcing breaking changes: January 2, 2023
General
What is changing?
- We are marking
Either
monad as internal API. - We are marking
com.tomtom.sdk.common.httpframeworkNavigationHttpInterceptor
as internal API. - We are marking
com.tomtom.sdk.common.httpframework.RequestObserver
as internal API. - We are marking
com.tomtom.sdk.common.httpframework.ResponseData
as internal API.
Navigation
What is changing?
- We are renaming:
NavigationError
toNavigationFailure
and convert to an abstract class.NavigationStartError
toNavigationFailure.NavigationStartFailure
.RouteUpdateError
toNavigationFailure.RouteUpdateError
.OnNavigationErrorListener
toNavigationFailureListener
.TomTomNavigation.addOnNavigationErrorListener
toTomTomNavigation.addNavigationFailureListener
andTomTomNavigation.removeOnNavigationErrorListener
toTomTomNavigation.removeNavigationFailureListener
.OnDestinationReachedListener
toDestinationReachedListener
.TomTomNavigation.addOnDestinationReachedListener
toTomTomNavigation.addDestinationReachedListener
andTomTomNavigation.removeOnDestinationReachedListener
toTomTomNavigation.removeDestinationReachedListener
.OnGuidanceUpdateListener
toGuidanceUpdateListener
.TomTomNavigation.addOnGuidanceUpdateListener
toTomTomNavigation.addGuidanceUpdateListener
andTomTomNavigation.removeOnGuidanceUpdateListener
toTomTomNavigation.removeGuidanceUpdateListener
.OnHorizonUpdatedListener
toHorizonUpdatedListener
.TomTomNavigation.addOnHorizonUpdateListener
toTomTomNavigation.addHorizonUpdatedListener
andTomTomNavigation.removeOnHorizonUpdateListener
toTomTomNavigation.removeHorizonUpdatedListener
.OnLaneGuidanceUpdateListener
toLaneGuidanceUpdatedListener
.TomTomNavigation.addOnLaneGuidanceUpdatedListener
toTomTomNavigation.addLaneGuidanceUpdatedListener
andTomTomNavigation.removeOnLaneGuidanceUpdatedListener
toTomTomNavigation.removeLaneGuidanceUpdatedListener
.OnLanguageChangedListener
toLanguageChangedListener
.TomTomNavigation.addOnLanguageChangedListener
toTomTomNavigation.addLanguageChangedListener
andTomTomNavigation.removeOnLanguageChangedListener
toTomTomNavigation.removeLanguageChangedListener
.OnLocationContextUpdateListener
toLocationContextUpdatedListener
.TomTomNavigation.addOnLocationContextUpdateListener
toTomTomNavigation.addLocationContextUpdatedListener
andTomTomNavigation.removeOnLocationContextUpdateListener
toTomTomNavigation.removeLocationContextUpdatedListener
.OnLocationMapMatchedListener
toLocationMapMatchedListener
.TomTomNavigation.addOnLocationMapMatchedListener
toTomTomNavigation.addLocationMapMatchedListener
andTomTomNavigation.removeOnLocationMapMatchedListener
toTomTomNavigation.removeLocationMapMatchedListener
.OnNavigationStartedListener
toNavigationStartedListener
.TomTomNavigation.addOnNavigationStartedListener
toTomTomNavigation.addNavigationStartedListener
andTomTomNavigation.removeOnNavigationStartedListener
toTomTomNavigation.removeNavigationStartedListener
.OnProgressUpdateListener
toProgressUpdatedListener
.TomTomNavigation.addOnProgressUpdateListener
toTomTomNavigation.addProgressUpdatedListener
andTomTomNavigation.removeOnProgressUpdateListener
toTomTomNavigation.removeProgressUpdatedListener
.OnReplannedRouteProposedListener
toReplannedRouteProposedListener
.TomTomNavigation.addOnReplannedRouteProposedListener
toTomTomNavigation.addReplannedRouteProposedListener
andTomTomNavigation.removeOnReplannedRouteProposedListener
toTomTomNavigation.removeReplannedRouteProposedListener
.OnRouteDeviationListener
toRouteDeviationListener
.TomTomNavigation.addOnRouteDeviationListener
toTomTomNavigation.addRouteDeviationListener
andTomTomNavigation.removeOnRouteDeviationListener
toTomTomNavigation.removeRouteDeviationListener
.RouteDeviationListener.onRouteDeviated
toRouteDeviationListener.onRouteDeviation
.OnRouteUpdatedListener
toRouteUpdatedListener
.TomTomNavigation.addOnRouteUpdatedListener
toTomTomNavigation.addRouteUpdatedListener
andTomTomNavigation.removeOnRouteUpdatedListener
toTomTomNavigation.removeRouteUpdatedListener
.OnWaypointVisitedListener
toWaypointVisitedListener
.TomTomNavigation.addOnWaypointVisitedListener
toTomTomNavigation.addWaypointVisitedListener
andTomTomNavigation.removeOnWaypointVisitedListener
toTomTomNavigation.removeWaypointVisitedListener
.OnRoutesChangedListener
toRoutesChangedListener
.TomTomNavigation.addOnRoutesChangedListener
toTomTomNavigation.addRoutesChangedListener
andTomTomNavigation.removeOnRoutesChangedListener
toTomTomNavigation.removeRoutesChangedListener
.OnGuidanceViewBoundariesChangeListener
toGuidanceViewBoundariesChangeListener
.
Announcing breaking changes: December 27, 2022
General
What is changing?
- We are renaming
com.tomtom.sdk.common.Callback::onError
tocom.tomtom.sdk.common.Callback::onFailure
Maps
What is changing?
- We are remodeling
InvalidPointException
toPointConversionFailure
. - We are changing
MapController.visibleRegion
property to a method. - We are remodeling
InvalidRegionException
toRegionCalculationFailure
. - We are converting:
CameraTrackingMode
to the "value class".GestureType
to the "value class".CapType
to the "value class".LocationMarkerOptions.Type
to the "value class".UnitSystem
to the "value class".LocationMarkerOptions.Type
to the "value class".Magnitude
to the "value class".PoiType
to the "value class".RoadType
to the "value class".ProbabilityOfOccurrence
to the "value class".RoadCoverage
to the "value class".
- We are renaming:
com.tomtom.sdk.map.gesture.OnScaleGestureListener
>com.tomtom.sdk.map.gesture.ScaleGestureListener
com.tomtom.sdk.map.gesture.OnDoubleTapListener
>com.tomtom.sdk.map.gesture.DoubleTapListener
com.tomtom.sdk.map.display.ui.currentlocation.CurrentLocationButton.removeOnCurrentLocationButtonClickListener()
>com.tomtom.sdk.map.display.ui.currentlocation.CurrentLocationButton.removeCurrentLocationButtonClickListener()
com.tomtom.sdk.map.display.ui.currentlocation.CurrentLocationButton.addOnCurrentLocationButtonClickListener()
>com.tomtom.sdk.map.display.ui.currentlocation.CurrentLocationButton.addCurrentLocationButtonClickListener()
com.tomtom.sdk.map.display.ui.compass.CompassButton.removeOnCompassButtonClickListener()
>com.tomtom.sdk.map.display.ui.compass.CompassButton.removeCompassButtonClickListener()
com.tomtom.sdk.map.display.ui.compass.CompassButton.addOnCompassButtonClickListener()
>com.tomtom.sdk.map.display.ui.compass.CompassButton.addCompassButtonClickListener()
com.tomtom.sdk.map.display.ui.OnUiComponentClickListener
>com.tomtom.sdk.map.display.ui.UiComponentClickListener
com.tomtom.sdk.map.display.ui.OnMapReadyCallback
>com.tomtom.sdk.map.display.ui.MapReadyCallback
com.tomtom.sdk.map.display.traffic.TrafficController.removeOnTrafficIncidentClickListener()
>com.tomtom.sdk.map.display.traffic.TrafficController.removeTrafficIncidentClickListener()
com.tomtom.sdk.map.display.traffic.TrafficController.addOnTrafficIncidentClickListener()
>com.tomtom.sdk.map.display.traffic.TrafficController.addTrafficIncidentClickListener()
com.tomtom.sdk.map.display.traffic.OnTrafficIncidentClickListener
>com.tomtom.sdk.map.display.traffic.TrafficIncidentClickListener
com.tomtom.sdk.map.display.route.RouteController.removeOnRouteClickListener()
>com.tomtom.sdk.map.display.route.RouteController.removeRouteClickListener()
com.tomtom.sdk.map.display.route.RouteController.addOnRouteClickListener()
>com.tomtom.sdk.map.display.route.RouteController.addRouteClickListener()
com.tomtom.sdk.map.display.route.OnRouteClickListener
>com.tomtom.sdk.map.display.route.RouteClickListener
com.tomtom.sdk.map.display.polyline.PolylineController.removeOnPolylineClickListener()
>com.tomtom.sdk.map.display.polyline.PolylineController.removePolylineClickListener()
com.tomtom.sdk.map.display.polyline.PolylineController.addOnPolylineClickListener()
>com.tomtom.sdk.map.display.polyline.PolylineController.addPolylineClickListener()
com.tomtom.sdk.map.display.polyline.OnPolylineClickListener
>com.tomtom.sdk.map.display.polyline.PolylineClickListener
com.tomtom.sdk.map.display.polygon.PolygonController.removeOnPolygonClickListener()
>com.tomtom.sdk.map.display.polygon.PolygonController.removePolygonClickListener()
com.tomtom.sdk.map.display.polygon.PolygonController.addOnPolygonClickListener()
>com.tomtom.sdk.map.display.polygon.PolygonController.addPolygonClickListener()
com.tomtom.sdk.map.display.polygon.OnPolygonClickListener
>com.tomtom.sdk.map.display.polygon.PolygonClickListener
com.tomtom.sdk.map.display.location.LocationController.removeOnLocationMarkerClickListener()
>com.tomtom.sdk.map.display.location.LocationController.removeLocationMarkerClickListener()
com.tomtom.sdk.map.display.location.LocationController.addOnLocationMarkerClickListener()
>com.tomtom.sdk.map.display.location.LocationController.addLocationMarkerClickListener()
com.tomtom.sdk.map.display.gesture.GesturesController.removeOnMapPanningListener()
> `com.tomtom.sdk.map.display.gesture.GesturesController.removeMapPanningListener()com.tomtom.sdk.map.display.gesture.GesturesController.addOnMapPanningListener()
>com.tomtom.sdk.map.display.gesture.GesturesController.addMapPanningListener()
com.tomtom.sdk.map.display.gesture.GesturesController.removeOnMapLongClickListener()
>com.tomtom.sdk.map.display.gesture.GesturesController.removeMapLongClickListener()
com.tomtom.sdk.map.display.gesture.GesturesController.addOnMapLongClickListener()
>com.tomtom.sdk.map.display.gesture.GesturesController.addMapLongClickListener()
com.tomtom.sdk.map.display.gesture.GesturesController.removeOnMapDoubleClickListener()
>com.tomtom.sdk.map.display.gesture.GesturesController.removeMapDoubleClickListener()
com.tomtom.sdk.map.display.gesture.GesturesController.addOnMapDoubleClickListener()
>com.tomtom.sdk.map.display.gesture.GesturesController.addMapDoubleClickListener()
com.tomtom.sdk.map.display.gesture.GesturesController.removeOnMapClickListener()
>com.tomtom.sdk.map.display.gesture.GesturesController.removeMapClickListener()
com.tomtom.sdk.map.display.gesture.GesturesController.addOnMapClickListener()
>com.tomtom.sdk.map.display.gesture.GesturesController.addMapClickListener()
com.tomtom.sdk.map.display.camera.CameraController.removeOnCameraSteadyListener()
>com.tomtom.sdk.map.display.camera.CameraController.removeCameraSteadyListener()
com.tomtom.sdk.map.display.camera.CameraController.addOnCameraSteadyListener()
>com.tomtom.sdk.map.display.camera.CameraController.addCameraSteadyListener()
com.tomtom.sdk.map.display.camera.CameraController.removeOnCameraChangeListener()
>com.tomtom.sdk.map.display.camera.CameraController.removeCameraChangeListener()
com.tomtom.sdk.map.display.camera.CameraController.addOnCameraChangeListener()
>com.tomtom.sdk.map.display.camera.CameraController.addCameraChangeListener()
com.tomtom.sdk.map.display.circle.removeOnCircleClickListener()
>com.tomtom.sdk.map.display.circle.removeCircleClickListener()
com.tomtom.sdk.map.display.circle.addOnCircleClickListener()
>com.tomtom.sdk.map.display.circle.addCircleClickListener()
com.tomtom.sdk.map.display.marker.MarkerController.removeOnMarkerSelectedListener()
>com.tomtom.sdk.map.display.marker.MarkerController.removeMarkerSelectionListener()
com.tomtom.sdk.map.display.marker.MarkerController.addOnMarkerSelectedListener()
>com.tomtom.sdk.map.display.marker.MarkerController.addMarkerSelectionListener()
com.tomtom.sdk.map.display.marker.MarkerController.removeOnMarkerLongClickListener()
>com.tomtom.sdk.map.display.marker.MarkerController.removeMarkerLongClickListener()
com.tomtom.sdk.map.display.marker.MarkerController.addOnMarkerLongClickListener()
>com.tomtom.sdk.map.display.marker.MarkerController.addMarkerLongClickListener()
com.tomtom.sdk.map.display.marker.MarkerController.removeOnMarkerClickListener()
>com.tomtom.sdk.map.display.marker.MarkerController.removeMarkerClickListener()
com.tomtom.sdk.map.display.marker.MarkerController.addOnMarkerClickListener()
>com.tomtom.sdk.map.display.marker.MarkerController.addMarkerClickListener()
com.tomtom.sdk.map.display.marker.OnMarkerSelectedListener
>com.tomtom.sdk.map.display.marker.MarkerSelectionListener
com.tomtom.sdk.map.display.marker.OnMarkerLongClickListener
>com.tomtom.sdk.map.display.marker.MarkerLongClickListener
com.tomtom.sdk.map.display.marker.OnMarkerClickListener
>com.tomtom.sdk.map.display.marker.MarkerClickListener
com.tomtom.sdk.map.display.location.OnLocationMarkerClickListener
>com.tomtom.sdk.map.display.location.LocationMarkerClickListener
com.tomtom.sdk.map.display.gesture.OnMapPanningListener
>com.tomtom.sdk.map.display.gesture.MapPanningListener
com.tomtom.sdk.map.display.gesture.OnMapLongClickListener
>com.tomtom.sdk.map.display.gesture.MapLongClickListener
com.tomtom.sdk.map.display.gesture.OnMapDoubleClickListener
>com.tomtom.sdk.map.display.gesture.MapDoubleClickListener
com.tomtom.sdk.map.display.gesture.OnMapClickListener
>com.tomtom.sdk.map.display.gesture.MapClickListener
com.tomtom.sdk.map.display.copyright.OnCopyrightsFetchedCallback
>com.tomtom.sdk.map.display.copyright.CopyrightsFetchingCallback
com.tomtom.sdk.map.display.common.OnCancellableActionCallback
>com.tomtom.sdk.map.display.camera.AnimateCameraCallback
com.tomtom.sdk.map.display.circle.OnCircleClickListener
>com.tomtom.sdk.map.display.circle.CircleClickListener
com.tomtom.sdk.map.display.camera.OnCameraChangeListener
>com.tomtom.sdk.map.display.camera.CameraChangeListener
com.tomtom.sdk.map.display.camera.OnCameraSteadyListener
>com.tomtom.sdk.map.display.camera.CameraSteadyListener
com.tomtom.sdk.map.display.style.OnStyleLoadedCallback
>com.tomtom.sdk.map.display.style.StyleLoadingCallback
Minor changes
- We are adding sections to
RouteOptions
. (The geometry stays as it is without any changes).
Search
What is changing?
- We are making reverse geocoder use locale instead of IETF language tag in ReverseGeocoderOptions.
Routing
What is changing?
- We are renaming
com.tomtom.sdk.routing.common.options
tocom.tomtom.sdk.routing.options
, also moved from routing:common to routing:model module - We are renaming
com.tomtom.sdk.routing.common.range
tocom.tomtom.sdk.routing.range
, also moved from routing:common to routing:model module - We are renaming
RoutePlanningResult
toRoutePlanningResponse
- We are moving
com.tomtom.sdk.routing.common.Error
tocom.tomtom.sdk.routing.error
, also moved from routing:common to routing:model module
Navigation
What is changing?
- We are introducing
EngineRegistry
for engines access inNavigationController
and bulk update. We are removing engines properties fromNavigationController
.
Announcing breaking changes: December 19, 2022
General
What is changing?
- We are remodelling error types across the whole GOSDK to make them more consistent.
- We are renaming
com.tomtom.sdk.map.display.diagnostics
events from Error to Failure. - We are changing the package:
com.tomtom.sdk.common.ev
tocom.tomtom.sdk.vehicle
Maps
What is changing?
- We are moving
TileCacheRouteProjectionEngineOptions
andOfflineRouteProjectionEngineOptions
toRouteProjectionEngineOptions
and moving into thenavigation:navigation
SDK module. - We are renaming
InvalidListenerError
>InvalidListenerException
. - We are renaming
MapIsNotAccessibleError
>MapIsNotAccessibleFailure
. - We are renaming
NdsStoreError
>NdsStoreFailure
. - We are composing
`[Circle|CircleOptions].radius
and[Circle|CircleOptions].radiusUnit
into a single object. - We are changing enum value from
RadiusUnit.PIXEL_DENSITY
toRadiusUnit.DENSITY_PIXEL
. - We are using platform
java.util.Locale
for setting language MapController.setLanguage(locale). - We are remodeling
StyleLoadingFailure
into a restricted class hierarchy. - We are renaming
OnStyleLoadedCallback.onError
>OnStyleLoadedCallback.onFailure
. - We are replacing
geometry
inRouteOptions
andRoute
withsegments
.
Search
What is changing?
- We are removing
ReverseGeocoderError
and replacing it withSearchError
. - We are renaming styles with
basic
in the name to usebase
instead.BasicLogoView
>BaseLogoView
(previously BasicLogoView)BasicCompassButton
>BaseCompassButton
BasicCurrentLocationButton
>BaseCurrentLocationButton
BasicScaleView
>BaseScaleView
**BasicScaleTextView
>BaseScaleTextView
- We are removing
evChargingStationSearch
methods from Search.kt. They will remain in EvChargingAvailabilityProvider.kt. - We are removing
OfflineUnsupportedError
. - We are modifying enum with value class for
EntityType
andSpreadingMode
. - We are removing the following classes, they should not have been used, as we do not support related POIs in response or search options.
RelatedPoi
RequestedPoiRelationType
PoiRelationType
Navigation
What is changing?
- The
RoadInformation
must now have at leastroadName
,roadNumbers
, orroadTypes
set. - We are adding a language parameter to
TaggedMessage
. - We are changing
GuidanceEngine.availableLanguages
type to a List of Locales. - We are renaming
RouteCoordinate
toRoutePoint
. - We are renaming
Route.routeCoordinates
property toRoute.routePoints
. - We are renaming
NavigationHistorySnapshot.visitedRouteCoordinates
property toNavigationHistorySnapshot.visitedRoutePoints
.
Announcing breaking changes: December 12, 2022
General
What is changing?
- We are making the units in the
Quantity
package plural (e.g.,METER
>Meters
). - We are removing the
toString
function in theQuantity
package from units and replaced withformat
. - We are converting enums in the
Quantity
package to value classes or abstract classes.
Maps
What is changing?
- We are converting
cameraTrackingMode
andcameraPosition
to properties instead of functions in the CameraController interface. - We are removing com.tomtom.sdk.map.display.common.Color in favor of using Integer with
@ColorInt
annotation. - We are changing Marker.tag type from
Any?
toString?
.
Minor changes
- We are adding a method to remove elements by tag to
CircleController
,MarkerController
,PolygonController
andPolylineController
.
Navigation
What is changing?
- We are renaming
AutocompleteSearchResponse
toAutocompleteResponse
. - We are renaming
AutocompleteSearchOptions
toAutocompleteOptions
. - We are renaming
AutocompleteSearchResponse
toAutocompleteResponse
. - We are changing navigation language to be reflected in guidance announcements.
- We are introducing
OnNavigationLanguageChangedListener
to signal change of navigation language. - The TTS language in the Navigation UI will change at the same time when the navigation language is changed.
- We are making the
point
property required inAnnouncement
.
Announcing breaking changes: December 5, 2022
Maps
What is changing?
- We are replacing com.tomtom.sdk.map.display.camera.AnimationDuration with kotlin.time.Duration
Search
Minor changes
- Introduction of a factory for creating instances of
FuelPriceProvider
,EvChargingAvailabilityProvider
, andParkingDetailProvider
. We are remvoingOnlineFuelPriceProvider
,OnlineEvChargingAvailabilityProvider
andOnlineParkingDetailProvider
from the public API. NOTE: these APIs will still be experimental. The interface implementations for dynamic data should be instantiated in the following way:
1 parkingDetailProvider = OnlineDynamicDataProviderFactory.createParkingDetailProvider(context, "YOUR_API_KEY")2 fuelPriceProvider = OnlineDynamicDataProviderFactory.createFuelPriceProvider(context, "YOUR_API_KEY")3 evChargingAvailabilityProvider = OnlineDynamicDataProviderFactory.createEvChargingAvailabilityProvider(context, "YOUR_API_KEY")
sessionId
inSearchOptions
andAutocompleteOptions
changing to java.util.UUID instead of String.- We are replacing CircleGeometry::radiusInMeters with CircleGeometry::radius (type is changing from Int to Distance).
- ReverseGeocoderOptions::radiusInMeters will be replaced with ReverseGeocoderOptions::radius (type is changing from Int to Distance).
Routing
What is changing?
- Making AlternativeRouteOptions.maxAlternatives non-optional.
Navigation
What is changing?
- Reordering instruction params to group defaulted params at the end of the constructor.
Announcing breaking changes: November 28, 2022
General
What is changing?
- Changing the package for ViewBoundaries from com.tomtom.sdk.common.ui to com.tomtom.sdk.common.android.ui.
Maps
What is changing?
- Replacing
Disposable
withAutoCloseable
.
Search
What is changing?
- Replacing the EV Charging Stations Availability API from Search and HybridSearch modules with the EV Charging Stations Availability API from the DynamicData module.
- Unifying Search and Search Along the Route.
- Removing the
offset
parameter from SearchOptions. - Removing the
fuzzyLevel
parameter from SearchOptions.
Announcing breaking changes: November 21, 2022
General
What is changing?
- Replacing
java.net.URI
withandroid.net.URI
- Removing Uris.toUri(): URI
- Uris.getUri(index: Int): URI > Uris.getUri(index: Int): Uri
- CacheConfig.clearCache(uri: URI) > CacheConfig.clearCache(uri: Uri)
- CacheConfig.loadBytesFromUri(uri: URI) > CacheConfig.loadBytesFromUri(uri: Uri)
- CacheConfig.loadFileFromUri(uri: URI) > CacheConfig.loadFileFromUri(uri: Uri)
- CacheConfig.loadStringFromUri(uri: URI) > CacheConfig.loadStringFromUri(uri: Uri)
Maps
What is changing?
- Replacing
java.net.URI
withandroid.net.URI
- DataProvider.canHandle(uri: URI) > DataProvider.canHandle(uri: Uri)
- DataProvider.requestResource(uri: URI, allowCaching:boolean, listener:DataProviderListener) > DataProvider.requestResource(uri: Uri, allowCaching:boolean, listener:DataProviderListener)
- DataProvider.canHandle(uri: URI) > DataProvider.canHandle(uri: Uri)
- DataProvider.requestResource(uri: URI, allowCaching: Boolean, listener: DataProviderListener) > requestResource(uri: Uri, allowCaching: Boolean, listener: DataProviderListener)
- StyleUriProvider.ONBOARD_BROWSING_LIGHT: URI > StyleUriProvider.ONBOARD_BROWSING_LIGHT: Uri
- StyleUriProvider.ONBOARD_BROWSING_DARK: URI > StyleUriProvider.ONBOARD_BROWSING_DARK: Uri
- StyleUriProvider.ONBOARD_DRIVING_LIGHT: URI > StyleUriProvider.ONBOARD_DRIVING_LIGHT: Uri ** StyleUriProvider.ONBOARD_DRIVING_DARK: URI > StyleUriProvider.ONBOARD_DRIVING_DARK: Uri
- StyleUriProvider.ONBOARD_LAYER_MAPPING: URI > StyleUriProvider.ONBOARD_LAYER_MAPPING: Uri
Routing
What is changing?
- Converting route stop source type to
enum class
Announcing changes to SDK artifacts: November 17, 2022
When is it expected?
Expected rollout date: November 21, 2022
What is changing?
With the upcoming release, we will rename some Android artifacts and group IDs to comply with the SDK-wide naming scheme. Historical artifacts remain available in the Artifactory. However, all new SDK development will be published under the updated artifact names.
What do you need to do?
If you want to be able to use the newest SDKs, you will need to remove all old dependencies used in your application module’s build.gradle
file and add matching entries with the updated names. We will communicate in the Release Notes the exact list of renamed artifacts.
Announcing breaking changes: November 14, 2022
General
What is changing?
- We are renaming the following packages:
- com.tomtom.sdk.navigation.matching > com.tomtom.sdk.navigation.mapmatching
- com.tomtom.sdk.navigation.matching.hybrid > com.tomtom.sdk.navigation.mapmatching.hybrid
- com.tomtom.sdk.navigation.matching.onboard > com.tomtom.sdk.navigation.mapmatching.offline
- com.tomtom.sdk.navigation.matching.online > com.tomtom.sdk.navigation.mapmatching.tilecache
- com.tomtom.sdk.navigation.routereplanning.online > com.tomtom.sdk.navigation.routereplanning
- com.tomtom.sdk.navigation.vehiclehorizon > com.tomtom.sdk.navigation.horizon
- com.tomtom.sdk.navigation.vehiclehorizon > com.tomtom.sdk.navigation.horizon.attributes
- com.tomtom.sdk.navigation.locationcontext > com.tomtom.sdk.navigation.locationcontext.common
- com.tomtom.sdk.navigation.locationcontext.onboard > com.tomtom.sdk.navigation.locationcontext.offline
- com.tomtom.sdk.navigation.locationcontext.online > com.tomtom.sdk.navigation.locationcontext.tilestore
- com.tomtom.sdk.navigation.projection > com.tomtom.sdk.routing.routeprojection.common
- com.tomtom.sdk.navigation.projection.online > com.tomtom.sdk.navigation.routeprojection.tilestore
- com.tomtom.sdk.range > com.tomtom.sdk.routing.range
- com.tomtom.sdk.range.offline > com.tomtom.sdk.routing.range.offline
- com.tomtom.sdk.range.online > com.tomtom.sdk.routing.range.online
- Replacing java.net.URI with android.net.URI
- Removing Uris.toUri(): URI
- Uris.getUri(index: Int): URI > Uris.getUri(index: Int): Uri
- CacheConfig.clearCache(uri: URI) > CacheConfig.clearCache(uri: Uri)
- CacheConfig.loadBytesFromUri(uri: URI) > CacheConfig.loadBytesFromUri(uri: Uri)
- CacheConfig.loadFileFromUri(uri: URI) > CacheConfig.loadFileFromUri(uri: Uri)
- CacheConfig.loadStringFromUri(uri: URI) > CacheConfig.loadStringFromUri(uri: Uri)
Maps
What is changing?
- Replacing
java.net.URI
withandroid.net.URI
- DataProvider.canHandle(uri: URI) > DataProvider.canHandle(uri: Uri)
- DataProvider.requestResource(uri: URI, allowCaching:boolean, listener:DataProviderListener) > DataProvider.requestResource(uri: Uri, allowCaching:boolean, listener:DataProviderListener)
- DataProvider.canHandle(uri: URI) > DataProvider.canHandle(uri: Uri)
- DataProvider.requestResource(uri: URI, allowCaching: Boolean, listener: DataProviderListener) > requestResource(uri: Uri, allowCaching: Boolean, listener: DataProviderListener)
- StyleUriProvider.ONBOARD_BROWSING_LIGHT: URI > StyleUriProvider.ONBOARD_BROWSING_LIGHT: Uri
- StyleUriProvider.ONBOARD_BROWSING_DARK: URI > StyleUriProvider.ONBOARD_BROWSING_DARK: Uri
- StyleUriProvider.ONBOARD_DRIVING_LIGHT: URI > StyleUriProvider.ONBOARD_DRIVING_LIGHT: Uri
- StyleUriProvider.ONBOARD_DRIVING_DARK: URI > StyleUriProvider.ONBOARD_DRIVING_DARK: Uri
- StyleUriProvider.ONBOARD_LAYER_MAPPING: URI > StyleUriProvider.ONBOARD_LAYER_MAPPING: Uri
Search
What is changing?
- Renaming the following interfaces:
ReverseGeocoderApi
>ReverseGeocoder
SearchApi
>Search
StructuredSearchApi
>StructuredSearch
ChargingStationAvailability
>EvChargingAvailabilityProvider
FuelPriceApi
>FuelPriceProvider
ParkingDetailsApi
>ParkingDetailsProvider
- Renaming the following implementations of
ReverseGeocoderApi
:OnboardReverseGeocoderApi
>OfflineReverseGeocoder
OnlineReverseGeocoderApi
>OnlineReverseGeocoder
HybridReverseGeocoderApi
>HybridReverseGeocoder
- Renaming the following implementations of SearchApi:
OnboardSearchApi
>OfflineSearch
OnlineSearchApi
>OnlineSearch
HybridSearchApi
>HybridSearch
- Changing the following:
OnboardStructuredSearchApi
, implementation ofStructuredSearchApi
toOfflineStructuredSearch
OnlineFuelPriceApi
, implementation ofFuelPriceApi
toOnlineFuelPriceProvider
OnlineParkingDetailsApi
, implementation ofParkingDetailsApi
toOnlineParkingDetailsProvider
OnlineChargingStationAvailability
, implementation ofChargingStationAvailability
toOnlineEvChargingAvailabilityProvider
ChargingStationAvailabilityOptions
toEvChargingAvailabilityOptions
ChargingStationAvailabilityResponse
toEvChargingAvailabilityResponse
ChargingStationAvailabilityCallback
toEvChargingAvailabilityCallback
EvConnectorAvailabilityId
toEvChargingAvailabilityId
Navigation
What is changing?
- Changing
TollgateInstruction.tollgateName
type toTextWithPhonetics
- Renaming
turnAngleInDegrees
toturnAngle
and changing its type toAngle
Announcing breaking changes: November 7, 2022
General
What is changing?
- We are removing:
common:telemetry
NetworkChecker
- We are moving:
common:ui
>navigation.ui
AppVersionProvider
>common:net
common:ttp
>apps:navigation-demo-app
Interpolation
>maps:display
IteratorExtensions
>com.tomtom.sdk.fileloader.handlers
- We are renaming:
com.tomtom.sdk.search.online.additionaldata
>com.tomtom.sdk.search.additionaldata.online
com.tomtom.sdk.search.hybrid.reversegeocoding
>com.tomtom.sdk.search.reversegeocoder.hybrid
com.tomtom.sdk.search.reversegeocoding
>com.tomtom.sdk.search.reversegeocoder
com.tomtom.sdk.search.onboard.reversegeocoding
>com.tomtom.sdk.search.reversegeocoder.offline
com.tomtom.sdk.search.online.reversegeocoding
>com.tomtom.sdk.search.reversegeocoder.online
com.tomtom.sdk.search.client
>com.tomtom.sdk.search
com.tomtom.sdk.search.hybrid.client
>com.tomtom.sdk.search.hybrid
com.tomtom.sdk.search.onboard.client
>com.tomtom.sdk.search.offline
com.tomtom.sdk.search.online.client
>com.tomtom.sdk.search.online
com.tomtom.sdk.search.onboard.structuredsearch
>com.tomtom.sdk.search.structuredsearch.offline
com.tomtom.sdk.search.dynamicdata.client
>com.tomtom.sdk.search.dynamicdata
com.tomtom.sdk.search.dynamicdata.client
>com.tomtom.sdk.search.dynamicdata.online
com.tomtom.sdk.telemetry.api
>com.tomtom.sdk.telemetry
com.tomtom.sdk.telemetry.client
>com.tomtom.sdk.telemetry
com.tomtom.sdk.vehicle.api
>com.tomtom.sdk.vehicle
Maps
What is changing?
- In previous SDKs, the NdsStore’s methods
addRegionGraphListener
andremoveRegionGraphListener
were accepting lambdas and then functional interfaces (SAM) could be passed to it. With the future SDK that will change and aRegionGraphListener
has to be implemented and passed in. There is also a difference in behavior as previously any changes to the state of the nodes in the graph would trigger anonRegionGraphChanged
notification. To increase the usability of the API, we will separate the notifications that impact the structure of the graph (new structure of the nodes) from those that notify changes in the state of the node.
Search
What is changing?
- We are renaming:
com.tomtom.sdk.search.online.additionaldata
>com.tomtom.sdk.search.additionaldata.online
com.tomtom.sdk.search.hybrid.reversegeocoding
>com.tomtom.sdk.search.reversegeocoder.hybrid
com.tomtom.sdk.search.reversegeocoding
>com.tomtom.sdk.search.reversegeocoder
com.tomtom.sdk.search.onboard.reversegeocoding
>com.tomtom.sdk.search.reversegeocoder.offline
com.tomtom.sdk.search.online.reversegeocoding
>com.tomtom.sdk.search.reversegeocoder.online
com.tomtom.sdk.search.client
>com.tomtom.sdk.search
com.tomtom.sdk.search.hybrid.client
>com.tomtom.sdk.search.hybrid
com.tomtom.sdk.search.onboard.client
>com.tomtom.sdk.search.offline
com.tomtom.sdk.search.online.client
>com.tomtom.sdk.search.online
com.tomtom.sdk.search.onboard.structuredsearch
>com.tomtom.sdk.search.structuredsearch.offline
com.tomtom.sdk.search.dynamicdata.client
>com.tomtom.sdk.search.dynamicdata
com.tomtom.sdk.search.dynamicdata.client
>com.tomtom.sdk.search.dynamicdata.online
Routing
What is changing?
- We are renaming:
com.tomtom.range.api
>com.tomtom.range
com.tomtom.range.onboard
>com.tomtom.range.offline
RangeApi
>RangeCalculator
OnlineRangeApi
>OnlineRangeCalculator
OnboardRangeApi
>OfflineRangeCalculator
Navigation
What is changing?
- We are removing the routing verbal message generator from the public API.
Announcing breaking changes: October 31, 2022
General
What is changing?
- We are moving
ChargingInformation
class tocom.tomtom.sdk.common.ev
package. - We are changing packages:
com.tomtom.sdk.featuretoggle
>com.tomtom.sdk.common.featuretoggle
. - We are renaming packages in maps-display, common, route, and location modules.
- We are renaming API classes in common and location modules.
Maps
What is changing?
- In previous SDKs, the NdsStore’s methods
addRegionGraphListener
andremoveRegionGraphListener
were accepting lambdas and then functional interfaces (SAM) could be passed to it. With the future SDK, that will change and aRegionGraphListener
must be implemented and passed in. There is also a difference in behavior. Previously, any changes to the state of the nodes in the graph would have triggered anonRegionGraphChanged
notification. To increase the usability of the API, we will separate the notifications that impact the structure of the graph (new structure of the nodes) from those that notify about changes in the state of the node.
Routing
What is changing?
- We are converting
AlternativeType
from enum to value class. - We are converting
SectionType
from enum to value class. - We are converting
ExtendedSections
from enum to value class. - We are converting
AvoidType
from enum to value class. - We are converting
Windingness
from enum to value class. - We are converting
Hilliness
from enum to value class. - We are converting
ProgressPoints
from enum to value class. - We are converting
ComputeTravelTimeFor
from enum to value class. - We are converting
ConsiderTraffic
enum to value class. - We are replacing
TravelModeSection
withVehicleRestrictedSection
. - We are removing
TravelMode
(enum) from Section and addingVehicleType
(value class) to Vehicle instead. - We are renaming
RoutingApi
toRoutePlanner
. - We are renaming
OnlineRoutingApi
toOnlineRoutePlanner
. - We are renaming
OnboardRoutingApi
toOfflineRoutePlanner
. - We are renaming
HybridRoutingApi
toHybridRoutePlanner
. - We are renaming
com.tomtom.routing.onboard
tocom.tomtom.routing.offline
. - We are renaming
com.tomtom.routing.api
tocom.tomtom.routing
.
Minor change
- We are adding field
routeCreationTimeInMillis
to Route.
Navigation
What is changing?
- We are removing
routeCreationTime
fromNavigationSnapshot
(move to Route). - We are moving
InstructionPhase
tocom.tomtom.sdk.navigation.guidance
. - We are removing
AnnouncementManeuver
and renamingInstruction.isPossibleToCombineWithNext
. - We are renaming the
GuidanceEngineFactory
method create tocreateStaticGuidanceEngine
, updating and enriching documentation forGuidanceEngineFactory
. - We are handling
GuidanceEngine
AUTO units option based on current country. - We are converting
AnnouncementPoints
from enum to value class. - We are removing
com.tomtom.sdk.navigation.guidance.AnnouncementGenerator
from public API. - We are removing
announcementGenerators
fromcom.tomtom.sdk.navigation.guidance.GuidanceEngineOptions
.