Release Notes
Version 2.3.0 - 28/05/2026
Discover the improvements and new features included in the following version.
Share your thoughts on this release by using the feedback button located at the bottom of the page.
General
Breaking changes
- Telemetry initialization will become mandatory 6 months after the next release.
Fixes
- Improve offline map download stability and performance by ensuring the HTTP client is created only once.
- Prevent crashes when cancelling HTTP streaming requests by avoiding stream cancellation on the main thread.
- Fix
NullPointerExceptionby restoring null-assertion operator in lazy route planner disposal. - Reduce the risk of crashes and ANRs when processing region graph updates.
Common
New features
- Quantities can now be constructed using an extension syntax like
5.meters.
Fixes
- Fix crashes in
okhttp3third party library code.
Data Management
Breaking changes
- Restrict
NdsMapContextto internal use, so it can no longer be used outside the SDK. It can still be constructed.
Fixes
- Prevent a possible deadlock during the initialization phase.
- Recreate
NavigationTileStorepersistent cache encryption key in some edge cases. - Retrieve
NDS.Livecache encryption key on a background thread to avoid potential ANRs during app startup ifNavigationTileStoreis initialized on the main thread. - Fix recovery when the Android keystore folder is missing.
- Fix several rare crashes that could happen during initialization of the
NDS.Livetile store.
Deprecations
- Deprecate
RegionIdtype because it is no longer used.
Location
Updates
- Enable filtering of entry point types by default.
- Use new
EntryPointTypeAPI. PersonalLocationTypeis now part ofExtendedflavor.
Map Visualization
Breaking changes
-
The following is now available in
Extendedflavor:com.tomtom.sdk.map.display.ui.LifecycleAwarecom.tomtom.sdk.map.display.ui.MapProvidercom.tomtom.sdk.map.display.ui.MapReadyCallbackcom.tomtom.sdk.map.display.ui.UiComponentClickListener
New features
- Enhance POI rendering by using details from
Place.detailsas a fallback whenPoiLocation.poiis null to ensure consistent map visualization.
Updates
- Add
OnRouteDetailstoCompleteflavor. - Add
Extendedflavor availability banner for non-compose guides. - Move all non-compose guides to a dedicated section.
Fixes
- Add
kotlinx.coroutines.flow.buffer(capacity: Int, onBufferOverflow: BufferOverflow)withBufferOverflow.DROP_OLDESTstrategy to the gesture event flow to prevent ANR errors. - Bind unbound
NavigationVisualizationAdapterto data flows in Compose. - Compute the carpet geometry in C++ to improve Map Visualization performance.
- Prevent a crash when creating
PlacesVisualizationmore than once. - Fix missing safety zones when a zone is defined with only two points.
- Allow multiple
com.tomtom.sdk.map.display.visualization.navigation.NavigationVisualizationinstances to be created simultaneously. - Fix incorrect
RouteStopID handling after selecting an alternative route, ensuring markers respond to the correct stop. - Improve synchronization of camera tracking mode updates in
CameraState. - Ensure better route tubes are visible on the map when using the composable
RoutingVisualizationto provide clearer alternative route options to the user. - Replace
TomTomMapinDefaultTrafficLightVisualizationwhen corresponding function is called. - Use correct TomTom Standard Styles with Premium renderer.
- Update
TrafficIncidentsIncidentParserto support both legacy numeric index and new string value formats for theicon_categoryfield to ensure backward compatibility with traffic incident data. - Do not throw
IllegalStateExceptionwhenDefaultMessageClientis closed. - Fix native crash on Premium Map Display shutdown.
- Prevent crash on range visualization primitive removal.
Deprecations
- Deprecate create APIs in
com.tomtom.sdk.map.display.visualization.poi.PoiVisualizationFactory. - Deprecate create APIs in
com.tomtom.sdk.map.display.visualization.range.RangeVisualizationFactory. - Deprecate primitive APIs in
com.tomtom.sdk.map.display.visualization.navigation.NavigationVisualizationFactory. - Deprecate primitive APIs in
com.tomtom.sdk.map.display.visualization.routing.RoutingVisualizationFactory. - The contents of the
com.tomtom.sdk.maps.visualization:poiis relocated tocom.tomtom.sdk.maps.visualization:visualization. The dependency oncom.tomtom.sdk.maps.visualization:poishould be removed. - The contents of the
com.tomtom.sdk.maps.visualization:rangeis relocated tocom.tomtom.sdk.maps.visualization:visualization. The dependency oncom.tomtom.sdk.maps.visualization:rangeshould be removed. - The contents of the
com.tomtom.sdk.maps.visualization:searchis relocated tocom.tomtom.sdk.maps.visualization:visualization. The dependency oncom.tomtom.sdk.maps.visualization:searchshould be removed.
Navigation
Breaking changes
- Move
com.tomtom.sdk.datamanagement.nds.update.AutomaticMapUpdateFailureListenertoExtendedflavor. - Optimize storage performance by disabling
com.tomtom.sdk.navigation.resumesnapshotrenewer.NavigationResumeSnapshotRenewersaves during route updates whensaveIntervalis set toDuration.INFINITE, which reduces flash storage I/O by avoiding unnecessary writes for dynamic data like traffic and ETA.
Updates
-
Move the following to
Restricted:com.tomtom.sdk.navigation.RoutePlanningOptions.addItineraryPointcom.tomtom.sdk.navigation.RoutePlanningOptions.removeItineraryPointcom.tomtom.sdk.navigation.RoutePlanningOptions.skipRouteStop
-
Rename
Preventiveinterim instruction toContinue Interimacross instruction generation. -
Update the API descriptions of:
com.tomtom.sdk.datamanagement.nds.update.compositeregion.CompositeRegionListenercom.tomtom.sdk.datamanagement.nds.update.RegionGraphListener
Fixes
- Add time mocking to align traffic dump timestamps with route planning times.
- Fix a crash when closing junction view engine while generating junction views.
- Do not show incorrect instruction icon when icon generation fails.
- Fix a crash (SIGSEGV) in AddCrossTileProhibitedComplexManeuvers that occurred when CrossTileCache held stale references after LRU eviction.
- Fix potential race condition on map replacement APIs.
- Generate Confirm announcement when Better Route Proposal is accepted automatically.
- Update instruction chaining to follow the UX rule where the first trigger occurs at either half of the MAIN-phase distance or at the CONFIRMATION phase to provide a more intuitive guidance experience.
- Do not repeat triggered announcements after passing continue interim instructions.
- No confusing road number in traffic jam warning in Japan, Korea and Taiwan.
Deprecations
- Deprecate all properties of navigation engine registry except guidance engine.
Personalization
Fixes
- Ensure favorite personal locations are correctly removed after being added from a recent destination.
Routing
Updates
ChargingOptionsparametersavoidChargingParksandchargingStopsStrategyare now part ofCompleteflavor.- Correct and enhance reconstruction modes documentation.
- Promote entry point routing to General Availability.
- The
com.tomtom.sdk.routing.buildEvRoutePlanningOptionsAPI is now available in General Availability. - Clarify what
close traffic eventsmeans, so it’s easier to understand when traffic events are considered close enough to be handled together.
Fixes
buildEvRoutePlanningOptionswill now successfully useavoidsthat are set as a parameter.RoutePlanningOptionsnow require validsupportingPointsto be set whenalternativeRoutesOptions.alternativeTypeisBetterRouteorCorridorRoute.BackToRouteresult now has charging park amenities information.- Improve diagnostic logging when using
vehicleModelId. - Do not propagate charging park to engine if source is offline search.
- Fix not calling
RoutePlanningCallbackwhen the caller of theRoutePlanner.planRoutedoes not hold a reference to the callback. - Fix setting the departure time for offline range requests.
- Restrict vehicle types to
Carwithin the SeSe Route Planning Options factories to ensure compatibility and prevent unsupported vehicle configurations. - Ensure onboard and online routing requests respect
avoidOptionsandconsiderTrafficeven whenrouteTypeis set tonull. - Reduce onboard Long Distance EV computation time when the initial battery charge is low.
- Automatically enable weather-based consumption adaptation when using a Vehicle Model ID to significantly improve route accuracy and range estimation for electric vehicles.
- Prevent potential deadlocks by improving the synchronization of the route planner shutdown process to ensure application stability.
Search
New features
- Add country code filter to search v3.
- Add time zones attribute for search v3.
- Enable geographical filter, poi category filter and result type filter for
PlacesSearchSuggest API.
Updates
-
com.tomtom.sdk.location.poi.StandardCategoryId.parent:StandardCategoryIdis now in General Availability. -
Improve support for eMobility Service Providers (EMSPs) in hybrid and offline search functionalities. The following changes were implemented:
- Integrated handling for restricted EMSPs, allowing better visibility of their status (restricted or not) via the enumeration API.
- On search responses, only non-restricted and accessible/allowed restricted EMSPs are included in the results, ensuring compliance with service limitations.
-
Move
FuelPriceProviderandParkingDetailProviderfromCompletetoExtendedflavor. -
Remove available charging options from Suggest response.
-
Search v3: Adjust
DiscoverResultJsonModel. -
The following APIs have been removed:
buildBrandInAreaSearchOptionsbuildPoiCategoryInAreaSearchOptions
Fixes
-
Improve Fallback Behavior for HTTP 4xx and 5xx Errors in Search. The following failure types are now handled more effectively:
SearchFailure.HttpFailurefor 401, 403, 408, and 429 errors will trigger a fallback to offline.SearchFailure.HttpFailurefor 5xx errors will now trigger a fallback to offline as well.
-
In online first search, return online results even if offline search fails which makes custom POI and personal location search unavailable.
-
Make custom POIs work with empty map with offline search.
-
Reverting the fallback Behavior for HTTP 4xx and 5xx Errors in Search which changed the following:
SearchFailure.HttpFailurefor 401, 403, 408, and 429 errors will trigger a fallback to offline.SearchFailure.HttpFailurefor 5xx errors will now trigger a fallback to offline as well.
-
The system no longer issues excessive reverse geocoding requests during route planning and waypoint interaction. This eliminates
429 TooManyRequestserrors and ensures addresses are displayed correctly without flickering. -
Remove
scorefield fromPoiDetailsResultJsonModelto prevent deserialization failure. -
Fix EV search failing when the backend returns an unrecognized value in the tariff restriction reservation policy field. No action is required by API users.
Telemetry
Updates
-
The following Telemetry API is now available in General Availability:
com.tomtom.sdk.telemetry.Telemetry.initialize
Fixes
- Only consider side roads on the same side as turn direction.
Deprecations
-
com.tomtom.sdk.telemetry.Consentandcom.tomtom.sdk.telemetry.Telemetry.initialize(context, configProvider)migration instructions.Before
Telemetry.initialize(context, configProvider)Telemetry.userConsent = Consent.PersonalizedAfter
1Telemetry.initialize(2 context,3 configProvider,4 locationProvider,5 initialConsent = UserConsent.TelemetryOn,6)78// Later, when the end-user changes their preference:9Telemetry.setConsent(UserConsent.LocationOnly)Important:
- When using the consent-aware APIs (
Telemetry.initializeoverloads that acceptinitialConsent/getInitialConsent,Telemetry.consentandTelemetry.setConsent), Telemetry must be initialized (or explicitly opted out by setting the consent toUserConsent.TelemetryOff) before using SDK components that may post telemetry events. Otherwise, the application may crash when Telemetry events are posted. - Telemetry initialization can only be performed once. Any subsequent attempt to reinitialize Telemetry will result in an exception.
- Start the
LocationProviderupdates before initializing Telemetry to avoid warnings.
- When using the consent-aware APIs (
-
Deprecate
com.tomtom.sdk.telemetry:sensorismodule. No replacement is provided. As a temporary solution, usecom.tomtom.sdk.telemetry:telemetry-protobuf-internalinstead. -
The following APIs will be deprecated:
com.tomtom.sdk.telemetry.Consentcom.tomtom.sdk.telemetry.Telemetry.initialize(context, configProvider)
Traffic
Fixes
- Handle
MapVersionMismatchErrorexception during traffic events decoding. - Preserve valid traffic events across batch decoding.
- Validate Locale objects provided by the client.
Virtual Horizon
Breaking changes
com.tomtom.sdk.datamanagement.nds.AccessReleasedCallbackis now available inExtendedflavor.com.tomtom.sdk.datamanagement.nds.AccessReleasedCallback.invoke()is now available inExtendedflavor.com.tomtom.sdk.datamanagement.nds.NdsStoreFailureis now available inExtendedflavor.
Updates
-
The following is now available in General Availability:
com.tomtom.sdk.hazards.model.BadRoadConditionssecondary constructorcom.tomtom.sdk.hazards.model.BadRoadConditions.Causecom.tomtom.sdk.hazards.model.BadRoadConditions.causescom.tomtom.sdk.hazards.model.ReducedVisibilitysecondary constructorcom.tomtom.sdk.hazards.model.ReducedVisibility.Causecom.tomtom.sdk.hazards.model.ReducedVisibility.causesto GAcom.tomtom.sdk.hazards.model.ObjectsOnRoadsecondary constructorcom.tomtom.sdk.hazards.model.ObjectsOnRoad.Causecom.tomtom.sdk.hazards.model.ObjectsOnRoad.causes
Fixes
- Reduce mobile data consumption by optimizing horizon search distance during navigation with a route.
- Publish synchronized
HorizonPositionandHorizonSnapshotto always use a consistent path identifier. - Display the correct speed limit for the current driving direction on two-way roads.
- Prevent application crashes during map updates while following a route. Validate input parameters if not existing map reference key is given as argument to Map Data Access.
Deprecations
-
Deprecate:
com.tomtom.sdk.hazards.model.BadRoadConditionsprimary constructorcom.tomtom.sdk.hazards.model.BadRoadConditions.hasPotholescom.tomtom.sdk.hazards.model.ReducedVisibilityprimary constructorcom.tomtom.sdk.hazards.model.ReducedVisibility.dueToHeavyRaincom.tomtom.sdk.hazards.model.ReducedVisibility.dueToFogcom.tomtom.sdk.hazards.model.ObjectsOnRoadprimary constructorcom.tomtom.sdk.hazards.model.ObjectsOnRoad.animalcom.tomtom.sdk.hazards.model.ObjectsOnRoad.people