Release Notes

Version 1.23.1 - 13/02/2025

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.

Fixes
  • Add Waypoint arrival dialog for landscape mode.

Version 1.23.0 - 12/02/2025

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
  • Feature toggle states are no longer persisted in preference storage. Applications are now responsible for managing their own persistent storage and restoring feature toggle states upon startup.
New features
  • Road level traffic-flow events are now concealed when displaying lane-level road information.
Updates
  • Improve the quality of traffic that is displayed and used in routing by matching OpenLR with TPEG inputs.

  • Previously, implicit persistent storage of feature toggles led to unexpected behaviors. Now, calling com.tomtom.sdk.featuretoggle.FeatureToggleController.initialize(Context) is not required before using feature toggles.

Fixes
  • The feature toggle controller is now always initialized with volatile storage. You can still explicitly initialize it with preference storage if desired.
  • When a custom listener is attached, the compassButton is now clickable.
  • You can now see route progress on the road level route when LLV is enabled.

Map

Updates
  • Remove @JvmOverloads from MapOptions constructor.
Fixes
  • Add default markers when null is passed for departure and destination route markers as the documentation states.

  • Improve LLV visibility.

    Show lane-level route visualization when lane geometry is visible, i.e., the zoom level is sufficiently high.

  • Now when calling com.tomtom.sdk.map.display.marker.MarkerContoller.removeMarkers with a null tag, it only removes markers without tag.

  • Previously, MapFragment ignored Android configuration change events. Now, this no longer occurs.

  • Previously, more than one style loading job could be executed at the same time. Now, the "IllegalStateException: Instance has been closed" crash no longer occurs.

  • Previously, there was a memory leak when route objects were held in DaichiStreamRouteClient. Now, the reference is properly cleaned up whenever the route is removed from the map.

  • Previously, when style was reloaded the halo state was not kept. Now, the chevron halo is visible after phone rotation.

Deprecations
  • Deprecate the com.tomtom.sdk.map.display.visualization.navigation.setCameraTrackingMode(trackingMode: CameraTrackingMode) class.

    You should call NavigationVisualization.setCameraTrackingMode(trackingMode: CameraTrackingMode.None) after creating a NavigationVisualization object, until API is removed, and use the com.tomtom.sdk.map.display.TomTomMap.cameraTrackingMode variable instead.

New features
  • Add Stop Sign component tests for NDA over NDS.Live and fix an error in the logic of comparing generated horizon elements with the expected test element.
  • Introduce a code skeleton to integrate traffic from route to Horizon under the feature toggle HorizonUsesRouteTrafficFeature.
Updates
  • Add telemetry for Better Route Proposal rejections while driving on a sub-optimal route.

  • Change com.tomtom.sdk.navigation.RouteUpdatedReason to an abstract class.

  • Convert the following class from data to regular:

    com.tomtom.sdk.navigation.arrival.ArrivalDetectionEngineOptions

  • Enhance the logic for triggering replanning when detecting deviations in the state of charge.

Fixes
  • Consider that the snapshot can change between shouldReplan and Replan when detecting a deviation in State of Charge (SoC).
  • Deviation is now detected when the progress jump is between 100m and 200m.
  • Ensure that the condition aligns with the check for the reason for route replanning. This correction addresses the issue where refreshing the route with reason RouteUpdatedReason.Refresh results in a different route ID.
  • Fix a crash in routing with ferries as avoidance criteria.
  • Fix exception of failed check thrown from HorizonSnapshot.elementGeometry by adding check before calculation.
  • Horizon now enables the POI logical access point to allow the application to receive rest area on highways from the Horizon API.
  • Implement fix for route refresh retries after initial network failure, preventing errors and unnecessary replans, ensuring smoother operations by excluding failed network attempts from the time check.
  • Lanes can no longer be disconnected from road level route extension.
  • Previously, meta data and region attributes were combined by an index. Now, they are combined by offsets.
  • Remove better route when it is no longer valid.
  • Remove double backslash from path in safety cameras and hazards authentication request.
  • Route refresh now works with FirstIncrement mode.
  • The detection of waypoint arrival now uses a threshold based on road properties of the waypoint's location instead of the current location.
  • When navigation is initiated and the current location fails to map-match onto the route geometry, subsequent route updates no longer fail due to differences between initial and updated route geometry.
  • You can now create NdsStore with a read-only map.
Deprecations
  • Deprecate componentN() and copy(...) methods in com.tomtom.sdk.navigation.arrival.ArrivalDetectionEngineOptions.

  • Deprecate the com.tomtom.sdk.navigation.RouteUpdatedReason.Companion.Refresh and com.tomtom.sdk.navigation.RouteUpdatedReason.Companion.Increment.

    Use the com.tomtom.sdk.navigation.RouteUpdatedReason.Refresh and com.tomtom.sdk.navigation.RouteUpdatedReason.Increment instead.

    • Replace usage of the com.tomtom.sdk.navigation.RouteUpdatedReason.Companion.Refresh with the com.tomtom.sdk.navigation.RouteUpdatedReason.Refresh class.
    • Replace usage of the com.tomtom.sdk.navigation.RouteUpdatedReason.Companion.Increment with the com.tomtom.sdk.navigation.RouteUpdatedReason.Increment class.

Personalization

Breaking changes
  • Use PersonalizationFailure instead of UserSettingsFailure.

    • Remove com.tomtom.sdk.personaldata.UserSettingsFailure.
    • Add com.tomtom.sdk.personaldata.PersonalizationFailure.

Routing

New features
  • Activate the combustion engine for Orbis to enhance the Range feature.
  • Enable departAt for the OnlineRangeCalculator.
Updates
  • Add support for departAt, arriveAt, vehicleMaxSpeed and ArrivalSidePreference.CurbSide on the Orbis map.
  • Disallow creating RoutePlanningOptions with RouteLegOptions that have only one supportingPoint.
  • Remove the vehicle heading parameter from the request when using route and updating reconstruction modes.
Fixes
  • Ensure chargingWaypoints is not used in online update route requests.
  • Ensure that the itinerary origin and destination align with match the supportingPoints.
  • Exclude entryPoints from Long Distance Electric Vehicle (LDEV) requests.
  • Improve the calculation of arrival times for routes to ensure accurate ETA calculations, particularly when the origin and destination are in different time zones.
  • Prevent sending unsupported vehicleCommercial parameters to Orbis to avoid a BadRequest error.
  • Update the documentation to indicate that maxSpeed is now supported on the Orbis map.
  • Use route-level AvoidOptions when utilizing leg-level RouteType.
  • Use Routing SDK's updateRoute method along with Kotlin's planRoute to maintain charging information when updating a route.
Updates
  • Move copy methods in com.tomtom.sdk.search.ev.EvSearchOptions to Alpha state.

    • Combine the two separate copy functions for geo-bias and along the route EV Search into one single function.
Fixes
  • Enhance the Point of Interest (POI) details of an EvSearchResult by including category ID information: automatically populate evSearchResult.poi.categoryId with StandardCategoryId.ElectricVehicleChargingStation.

  • Enhance the timeout behavior and fallback mechanism for Hybrid Search. This detects when Internet connection is unavailable and allows a fallback to an offline alternative.

    • Change default timeout for primary API from 30 to 5 seconds.
    • Introduce proactive fallback mechanism for Hybrid Search when there is no Internet connection available (fail right away, instead of waiting out the timeout).
  • Manage optional fields such as powerInWatts, currentInAmperes, currentType, and voltageInVolts for offline search functionality.