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.
Navigation
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
fromMapOptions
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 anull
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 aNavigationVisualization
object, until API is removed, and use thecom.tomtom.sdk.map.display.TomTomMap.cameraTrackingMode
variable instead.
Navigation
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
andReplan
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()
andcopy(...)
methods incom.tomtom.sdk.navigation.arrival.ArrivalDetectionEngineOptions
. -
Deprecate the
com.tomtom.sdk.navigation.RouteUpdatedReason.Companion.Refresh
andcom.tomtom.sdk.navigation.RouteUpdatedReason.Companion.Increment
.Use the
com.tomtom.sdk.navigation.RouteUpdatedReason.Refresh
andcom.tomtom.sdk.navigation.RouteUpdatedReason.Increment
instead.- Replace usage of the
com.tomtom.sdk.navigation.RouteUpdatedReason.Companion.Refresh
with thecom.tomtom.sdk.navigation.RouteUpdatedReason.Refresh
class. - Replace usage of the
com.tomtom.sdk.navigation.RouteUpdatedReason.Companion.Increment
with thecom.tomtom.sdk.navigation.RouteUpdatedReason.Increment
class.
- Replace usage of the
Personalization
Breaking changes
-
Use
PersonalizationFailure
instead ofUserSettingsFailure
.- Remove
com.tomtom.sdk.personaldata.UserSettingsFailure
. - Add
com.tomtom.sdk.personaldata.PersonalizationFailure
.
- Remove
Routing
New features
- Activate the combustion engine for Orbis to enhance the Range feature.
- Enable
departAt
for theOnlineRangeCalculator
.
Updates
- Add support for
departAt
,arriveAt
,vehicleMaxSpeed
andArrivalSidePreference.CurbSide
on theOrbis
map. - Disallow creating
RoutePlanningOptions
withRouteLegOptions
that have only onesupportingPoint
. - 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 theOrbis
map. - Use route-level
AvoidOptions
when utilizing leg-levelRouteType
. - Use Routing SDK's
updateRoute
method along with Kotlin'splanRoute
to maintain charging information when updating a route.
Search
Updates
-
Move
copy
methods incom.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.
- Combine the two separate
Fixes
-
Enhance the Point of Interest (POI) details of an
EvSearchResult
by including category ID information: automatically populateevSearchResult.poi.categoryId
withStandardCategoryId.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
, andvoltageInVolts
for offline search functionality.