メインコンテンツまでスキップ

Releases

v3.4.0 latest - 01 October, 2024

  • Split MotionData into more accurate parts. Introduced ImuTemperatureData, OrientationData, RawAccelerometer, RawGravity, RawGyroscope and SpeedData.
  • Added unique route ID's after each subsequent restart.
  • Added filtering online routes that are too far from current location.
  • Added rerouting when server unrecognizes current route id to refresh or update alternatives.
  • Improved route completion logic. Completed state is triggered only if the puck is leaving the waypoint or after timeout reaching the waypoint threshold.
  • Signature of experimental EtcGateApi#updateEtcGateInfo function has been changed, now it accepts EtcGateApi.EtcGateInfo as a function parameter.
  • Experimental Data Inputs functionality has been removed from the core module to a separate datainputs module (MapboxNavigation#dataInputs and everything from the package com.mapbox.navigation.datainputs have been removed). Contact us to get more information on how to get access to the module.
  • Experimental Adasis functionality has been removed from the core module (MapboxNavigation's functions setAdasisMessageObserver, resetAdasisMessageObserver, updateExternalSensorData, and GraphAccessor#getAdasisEdgeAttributes have been removed). Contact us in case you're interested in ADASIS functionality.
  • Added experimental RoutingTilesOptions#fallbackNavigationTilesVersion which lets define version of navigation tiles to fallback in case of offline routing failure with navigation tiles defined in RoutingTilesOptions#tilesVersion.
  • Added experimental MapboxRouteLineViewOptions#fadeOnHighZoomsConfig and MapboxRouteArrowOptions#fadeOnHighZoomsConfig to configure smooth fading out of route line or/and arrows on high zoom levels.
  • The PredictiveCacheController(PredictiveCacheOptions) constructor is now deprecated. Use PredictiveCacheController(MapboxNavigation, PredictiveCacheOptions) instead.
  • Added NavigationScaleGestureHandlerOptions#followingRotationAngleThreshold that define threshold angle for rotation for FOLLOWING Navigation Camera state.
  • Added the ability to filter road names based on the system language
  • com.mapbox.navigation.base.road.model.RoadComponent objects that contain only slashes in their text are filtered out
  • Now EHorizonResultType.Type has a new element called EHorizonResultType.NOT_AVAILABLE.
  • Old MapboxNavigation.postUserFeedback() functions have been deprecated, use an overloading that accepts UserFeedback as a parameter.
  • Introduce MapboxRouteCalloutApi and MapboxRouteCalloutView to attach callouts to route lines with info about duration
  • Optimized memory usage in Directions API model classes by interning frequently occurring strings in JSON.
  • Added experimental MapboxNavigation#replanRoute to handle cases when user changes route options during active guidance, for example enabling avoid ferries.
  • Added DataInputsManager to allow the provision of data from external sensors to the navigator, see MapboxNavigation.dataInputsManager. Experimental EtcGateInfo has been moved to com.mapbox.navigation.core.datainputs package. EtcGateApi has been deprecated.
  • Removing the ExperimentalMapboxNavigationAPI flag for Search predictive cache.
  • [BREAKING CHANGE] PredictiveCacheOptions.unrecognizedTilesetDescriptorOptions has been renamed to PredictiveCacheOptions.predictiveCacheSearchOptionsList. Additionally, PredictiveCacheUnrecognizedTilesetDescriptorOptions has been renamed to PredictiveCacheSearchOptions. Now, only search-related options can be passed to PredictiveCacheSearchOptions.
  • Introduced experimental traffic adjustment mechanism during a drive and added TrafficOverrideOptions to control this feature
  • Changed Alternatives that deviate close to a destination point are removed before a fork is reached.
  • Added RerouteStrategyForMapMatchedRoutes to RerouteOptions. Reroute option enableLegacyBehaviorForMapMatchedRoute was removed, use NavigateToFinalDestination strategy instead.
  • Fixed unnecessary reroutes when using onboard router.
  • Fixed remaining alternative routes when passing fork points.
  • Improved updating alternative routes
  • Fixed CarSearchLocationProvider produces NullPointerException when using Mapbox Search SDK.
  • Fixed a bug causing some history files recorded during the previous app sessions not to be uploaded by the Copilot.
  • Fixed an issue where native memory was not being properly released after the MapboxNavigation object was destroyed.
  • Fixed the issue of unwanted rerouting occurring immediately after setting a new route
  • Fixed a crash caused by an overflow in the JNI global reference table.
  • Fixed an issue with vignettes in Romania and Bulgaria for offline routing when tolls are excluded.
  • Addressed several issues that occurred when switching to an alternative route.
  • Implementation of RerouteController#registerRerouteStateObserver now invokes observer immediately with current state instead of posting invocation to the main looper.
  • Fixed UI jank caused by on-device TextToSpeech player.
  • Removed PredictiveCacheController#removeSearchControllers and PredictiveCacheController#createSearchControllers. Now search predictive cache controller is created and destroyed together with PredictiveCacheController instance if PredictiveCacheOptions.predictiveCacheSearchOptionsList is provided.
  • Improve performance when handling large road objects on the eHorizon's MPP.
  • Fixed Routes that origin is out of primary route cannot be added as alternatives.
  • Fixed a crash due to incorrect OpenLR input data
  • Fixed a bug with spinning smoothed coordinate
  • Fixed issue for calculating the trim-offset value for the vanishing route line feature when the current geometry index emitted by route progress is greater than the value expected. Mapbox dependencies:
  • Mapbox Maps SDK v11.7.0 (release notes)
  • Mapbox Navigation Native v320.0.0
  • Mapbox Core Common v24.7.0
  • Mapbox Java v7.2.0 (release notes)
API Reference
Previous versions

v1.0.0-beta.1 - 13 December, 2023

API Reference

v1.0.0-beta.2 - 22 December, 2023

API Reference

v1.0.0-beta.3 - 19 January, 2024

Changelog

  • Introduced support of Mapbox Map Matching API, see MapboxNavigation#requestMapMatching.
  • Support more options for MapMatchingOptions.
  • Made MapboxNavigation constructor and onDestroy internal. To create an instance of MapboxNavigation use MapboxNavigationProvider#create; to destroy it use MapboxNavigationProvider#destroy.

API Reference

v1.0.0-beta.4 - 26 January, 2024

Changelog

  • Improved CustomRouterRule to work independently from device network setup.
  • Removed CustomRouterRule#baseUrl. Now CustomRouterRule intercepts all route and route refresh requests to Mapbox Directions API.
  • Fixed a bug with multiple instances of cache which resulted in excessive memory consumption.
  • Fixed an issue where reroute for multi-leg routes used to fail in case waypoint_names or waypoint_targets parameters were specified without an explicit waypoint_indices parameter.
  • Improved Map Matching to avoid false deviation of the location puck to a parallel street.
  • Improved handling of no storage available during navigation tiles downloading.
  • Improved handling of invalid config in DeviceProfile#customConfig.
  • Fixed a native crash in E-Horizon implementation caused by internal race condition.
  • Made MapboxReplayer constructor public.
  • Removed OnlineRouteAlternativesSwitch. Use NavigationRouteAlternativesObserver to receive an online alternative for the current offline route. Unlike OnlineRouteAlternativesSwitch, NavigationRouteAlternativesObserver doesn't switch to an online alternative automatically.
  • Changed structure of NavigationRoute. Now it can represent routes received from Mapbox Map Matching API as well as Mapbox Directions API. NavigationRoute#directionsResponse has been removed. Use NavigationRoute#waypoints, NavigationRoute#responseUUID, and NavigationRoute#responseMetadata to access data which used to be available via NavigationRoute#directionsResponse. NavigationRoute#routeOptions has been removed. Try to utilise data available in NavigationRoute, for example instead of using coordinates from route options, use NavigationRoute#waypoints. Temporary property NavigationRoute#evMaxCharge has been added to access maximum possible charge for the vehicle the route was requested for instead of navigationRoute.routeOptions.getUnrecognizedProperty("ev_max_charge").
  • Added MapMatchingSuccessfulResult#navigationRoutes which represent routes that could be set to navigator using MapboxNavigation#setNavigationRoutes.
  • Changed type of MapMatchingSuccessfulResult#matches from List<NavigationRoute> to List<MapMatchingMatch>. Now every item from MapMatchingSuccessfulResult#matches represents a Match Object from Mapbox Map Matching API.
  • Changed LocationOptions API. Now custom location providers that emit mocked locations are allowed. In order to set a custom location provider, you now need to invoke LocationOptions.Builder#locationProviderFactory and pass a factory that will create a DeviceLocationProvider implementation based on a request parameter together will location provider type, which can be one of: REAL, MOCKED, MIXED. Note that if your provider can emit non-real locations, it must set isMock extra flag value to true for such locations. To set this flag, use:
Location.Builder#extra(Value.valueOf(hashMapOf(LocationExtraKeys.IS_MOCK to Value.valueOf(true/false))))
  • Added Advanced Driver Assistance Systems (ADAS) functionality as an experimental API.
  • Added NavigationViewApi#recenterCamera() that allows to programatically recenter the camera position as if the recenter button was clicked.

API Reference

v1.0.0-beta.5 - 02 February, 2024

Changelog

  • The maneuver module now offers only API related to maneuver logic. Views was removed from the module
  • MapboxRecenterButton, MapboxRouteOverviewButton, MapboxRoadNameView, MapboxCameraModeButton have been removed from ui-maps module. MapboxExtendableButtonLayoutBinding has been removed from ui-base module.
  • New module libnavigation-tripdata is available. It accumulates core api from libnavui-shield , libnavui-tripprogress, libnavui-maneuver, libnavui-speedlimit modules, which have been removed.
  • Introduced support for highlighting 3D buildings.
  • Navigation Core Framework doesn't let creating NavigationRoute from json anymore. Use MapboxNavigation#requestRoutes and MapboxNavigation#requestMapMatching to request NavigationRoutes.
  • Added NavigationRoute#serialize and NavigationRoute#deserializeFrom to support immediate transfer of NavigationRoute between applications and processes with the same Navigation Core Framework version.
  • Fixed crash in CustomRouterRule caused by invalid url schema in request

API Reference

v1.0.0-rc.1 - 06 February, 2024

Changelog

  • Changed type of RouterOrigin. Now it's an annotation which defines possible string values for router origin.
  • RouterOrigin.Offboard is renamed to RouterOrigin.ONLINE.
  • RouterOrigin.Onboard is renamed to RouterOrigin.OFFLINE.
  • RouterOrigin.Custom is removed.
  • Navigation Core Framework automatically updates alternative routes and switches to an online alternative in case of an offline primary route. Register RoutesObserver to keep track of current routes. Use MapboxNavigation#setContinuousAlternativesEnabled to enable/disable automatic update.
  • NavigationRouteAlternativesObserver, RouteAlternativesObserver, NavigationRouteAlternativesRequestCallback, MapboxNavigation#registerRouteAlternativesObserver, MapboxNavigation#requestAlternativeRoutes were removed in favour of automatic alternatives update.
  • libnav-ui module has been renamed to libnavigation-voice. Package name has been changed to com.mapbox.navigation.voice.
  • Added support for RouteOptions#suppressVoiceInstructionLocalNames to onboard router.
  • Changed the semantics of Location#timestamp that you receive in onLocationMatcherResult, instead of being set to current system time it is now has location input time + lookahead (extrapolation) time.
  • Implement ADASIS message batching.
  • Split MapboxRouteLineOptions into MapboxRouteLineApiOptions and MapboxRouteLineViewOptions.
  • Split MapboxRouteLineOptions#displayRestrictedRoadSections into MapboxRouteLineApiOptions#calculateRestrictedRoadSections and MapboxRouteLineViewOptions#displayRestrictedRoadSections. You can have a set-up where some of your MapboxRouteLineViews display the restricted data and others don't. Set MapboxRouteLineApiOptions#calculateRestrictedRoadSections if at least one of your MapboxRouteLineViews will display the restricted data. Set MapboxRouteLineViewOptions#displayRestrictedRoadSections only to those views, who are going to display it.
  • Moved:
  1. MapboxRouteLineOptions.Builder#withRouteLineBelowLayerId to MapboxRouteLineViewOptions.Builder#routeLineBelowLayerId;
  2. MapboxRouteLineOptions.Builder#withTolerance to MapboxRouteLineViewOptions.Builder#tolerance;
  3. MapboxRouteLineOptions.Builder#withVanishingRouteLineEnabled to MapboxRouteLineApiOptions.Builder#vanishingRouteLineEnabled;
  4. MapboxRouteLineOptions#styleInactiveRouteLegsIndependently, MapboxRouteLineOptions#vanishingRouteLineEnabled and MapboxRouteLineOptions#vanishingRouteLineUpdateIntervalNano to MapboxRouteLineApiOptions.
  5. MapboxRouteLineOptions#softGradientTransition, MapboxRouteLineOptions#displaySoftGradientForTraffic, MapboxROuteLineOptions#shareLineGeometrySources, MapboxRouteLineOptions#lineDepthOcclusionFactor, MapboxRouteLineOptions#waypointLayerIconOffset, MapboxRouteLineOptions#waypointLayerIconAnchor and MapboxRouteLineOptions#iconPitchAlignment to MapboxRouteLineViewOptions.
  • Removed RouteLineResources class:
  1. routeLineColorResources, originWaypointIcon, destinationWaypointIcon, restrictedRoadDashArray, restrictedRoadOpacity and restrictedRoadLineWidth were moved to MapboxRouteLineViewOptions
  2. trafficBackfillRoadClasses was moved to MapboxRouteLineApiOptions
  3. scaleExpression properties were moved to MapboxRouteLineViewOptions#scaleExpressions wrapper of type RouteLineScaleExpressions
  4. roundedLineCap property was removed
  • Moved congestionRange properties from RouteLineColorResources to MapboxRouteLineApiOptions.
  • Removed MapboxRouteLineOptions#routeStyleDescriptors option.
  • Removed the possibility of modify and reading data from RouteLineSetValue, RouteLineClearValue and RouteLineUpdateValue. Do not use these classes on your side, just pass the objects between MapboxRouteLineAPI and MapboxRouteLineView.
  • MapboxRouteLineAPI#options and MapboxRouteLineView#options properties are no longer public.
  • Made RouteLineExpressionProvider and RouteLineTrimExpressionProvider internal.
  • Added a possibility to change a subset of MapboxRouteLineViewOptions in runtime without the need to recreate the components. The subset that can be changed is defined in MapboxRouteLineViewDynamicOptionsBuilder. To change the dynamic options in runtime, use the following code:
routeLineView.updateDynamicOptions(style) {
    routeLineColorResources(newColors)
    // ...
}
routeLineApi.getRouteDrawData {
    routeLineView.renderRouteDrawData(style, it)
}
  • Split RouteLineConfig#options into RouteLineConfig#apiOptions and RouteLineConfig#viewOptions
  • Added RouteLineConfig#viewOptionsUpdates.
  • Removed MapboxRouteLineApi#showRouteWithLegIndexHighlighted, MapboxRouteLineApi#setPrimaryTrafficColor and MapboxRouteLineApi#setAlternativeTrafficColor methods.
  • Changed MapboxRouteLineApi#setVanishingOffset method behavior in the following way: if the route had not been set to MapboxRouteLineApi prior to the point when setVanishingOffset was invoked, it will return an error now. Previously it used to return a value, which was, however, useless for rendering without the route.
  • Fixed an issue when soft gradient was not applied correctly in MapboxRouteLineApi#setVanishingOffset result.
  • Fix adas tiles eviction algorithm
  • Fixed a mapmatching issue where the position might have been snapped to the wrong part of a highway after leaving tunnel
  • Improve GNSS jump detection for better pitch based map-matching in tunnels
  • Eliminate border crossing object when moving to neutral waters and back

API Reference

v1.0.0-rc.2 - 16 February, 2024

Changelog

  • Removed LongRoutesOptimisationOptions. Navigation Core Framework is now optimized to handle long routes by default.
  • Added billing explanation logs. Now Navigation SDK explains in the logs why certain Active Guidance or Free Drive Trip session started/stopped/paused/resumed. Billing explanations have [BillingExplanation] prefix in the logcat.
  • Removed NavigaitonRoute#deserializeFrom and NavigationRoute#serialize from public API because it's too easy to misuse them and create a leak of resources.
  • RouterFailure.code has been replaced with RouterFailure.type. See RouterFailureType to find all possible error types.
  • Improve map-matching on elevated roads.
  • Added "mbx.RouteLine" history events. They will be collected automatically by NavSDK for both manual recorder and Copilot recorder when the recording is started. You can enable route line events collection for Copilot using CopilotOptions#shouldRecordRouteLineEvents option. It is disabled by default.
  • Improved EHorizon path evaluation.
  • Fixed leak of CarAppLifecycleOwner on every copilot start.
  • Added Polish translation for UI elements.

API Reference

v1.0.0-rc.3 - 01 March, 2024

Changelog

  • Resolved an issue where a crash could occur if telemetry sending settings were changed after creating MapboxNavigation.
  • Fixed an issue with vanishing route line not working for single-leg routes.
  • Eliminated waiting for online route in case of reroute if onboard is ready. For rerouting return the route that was calculated sooner will be returned, and the back-online feature is expected to handle the case of switching back to online.
  • Improved highway exits detection.
  • Improved passed alternatives handling.
  • Fixed an issue when onboard route calculation might have been cancelled if online router returned critical error.
  • Fixed an issue in processing ETC signals when distant projections where treated as valid map-matched locations.
  • Fixed leak of CarAppLifecycleOwner on every copilot start.
  • Fixed ADASIS generator errors related to the split edges.
  • Fixed ADAS cache tiles eviction mechanism.
  • Started handling "unlilimited" speed limits in ADASIS.
  • Started sending special type POSITION messages in OFF-ROAD mode.
  • Fixed ANR at com.mapbox.common.LifecycleUtils.hasServiceRunningInForeground(LifecycleUtils.kt:25).

Mapbox dependencies:

  • Mapbox Maps SDK v11.2.0 (release notes)
  • Mapbox Navigation Native v303.0.0
  • Mapbox Core Common v24.2.0
  • Mapbox Java v6.15.0 (release notes)

API Reference

v1.0.0-rc.4 - 18 March, 2024

Changelog

  • Added experimental property NavigationRoute#responseOriginAPI which describes API that Navigation CF used to generate data for NavigationRoute. NavigationRoute#responseOriginAPI could be used to form expectations from navigation experience given the fact that routes with ResponseOriginAPI.MAP_MATCHING_API has limited support currently.
  • Public data classes have been replaces with normal classes with generated equals, hashCode, toString. copy function and destructuring declarations are not available for affected classes. Affected classes are: ExclusionViolation, TripNotificationData, MatchableOpenLr, MatchableGeometry, MatchablePoint, ReplayEvents, ReplayEventGetStatus, ReplayEventUpdateLocation, ReplayEventLocation, RerouteState.Failed, RerouteState.RouteFetched, RouteOptionsResult.Succes, RouteOptionsResult.Error, NavigationSessionState.FreeDrive, NavigationSessionState.ActiveGuidance, SearchResultsEvent, SearchResultUsedEvent, HistoryPoint, HistoryRoutablePoint, HistorySearchResult, SearchResultUsed, SearchResults, FocalPoint, ViewportData, NavigationRouteLine, RouteLineDistancesIndex, RouteLineScaleValue.
  • Added support of seamless switch to an alternative route in case of deviation to the alternative route from a route received via MapboxNavigation#requestMapMatching.
  • Added RerouteOptions#enableLegacyBehaviorForMapMatchedRoute which lets enable reroute logic from Nav SDK v2 for routes generated by Mapbox Map Matching API.
  • Changed reroute state transition in case of deviation from a primary route which is received via MapboxNavigation#requestMapMatching when no alternative routes available to switch to. Reroute state used to be Idle, but now performs the following transition: Idle -> FetchingRoute -> Failed -> Idle.

Mapbox dependencies:

  • Mapbox Maps SDK v11.2.1 (release notes)
  • Mapbox Navigation Native v303.0.0-36f123f
  • Mapbox Core Common v24.2.0
  • Mapbox Java v6.15.0 (release notes)

API Reference

v3.0.0-rc.5 - 30 March, 2024

Changelog

  • The new ui-components module is now available. This module offers UI components that were previously accessible in Nav SDK v2.
  • Made RouteShieldError#url and RouteShieldOrigin#originalUrl nullable. They can be null in case the request had been cancelled before the URL was formed.
  • Improved road shield rendering behaviour for long text: now the closest length-wise available icon will be downloaded, previously it had been fixed to a maximum of 6 characters.
  • Added a Copilot option that allows to provide a different user id for history recording context.

Mapbox dependencies:

  • Mapbox Maps SDK v11.2.2 (release notes)
  • Mapbox Navigation Native v304.0.0
  • Mapbox Core Common v24.2.3
  • Mapbox Java v6.15.0 (release notes)

API Reference

v3.0.0 - 12 April, 2024

Changelog

  • Modules structure (mostly UI components modules) has been significantly changed. See migration guide for more information https://docs.mapbox.com/android/navigation/guides/migration-from-v2/#artifacts

  • Deprecated classes, functions and fields have been removed. See Nav SDK v2 documentation for more information about missing parts and migration guides.

  • com.mapbox.navigation.core.reroute.NavigationRerouteController has been merged with com.mapbox.navigation.core.reroute.RerouteController

  • Introduced support of Mapbox Map Matching API, see MapboxNavigation#requestMapMatching.

  • Changed LocationOptions API. Now custom location providers that emit mocked locations are allowed. See documentation to get more information.

  • Added Advanced Driver Assistance Systems (ADAS) functionality as an experimental API.

  • Added NavigationViewApi#recenterCamera() that allows to programatically recenter the camera position as if the recenter button was clicked.

  • Introduced support for highlighting 3D buildings.

  • Navigation Core Framework doesn't let creating NavigationRoute from json anymore. Use MapboxNavigation#requestRoutes and MapboxNavigation#requestMapMatching to request NavigationRoutes.

  • Changed type of RouterOrigin. Now it's an annotation which defines possible string values for router origin. RouterOrigin.Offboard is renamed to RouterOrigin.ONLINE, RouterOrigin.Onboard is renamed to RouterOrigin.OFFLINE, RouterOrigin.Custom is removed.

  • Navigation Core Framework automatically updates alternative routes and switches to an online alternative in case of an offline primary route. Register RoutesObserver to keep track of current routes. Use MapboxNavigation#setContinuousAlternativesEnabled to enable/disable automatic update.

  • NavigationRouteAlternativesObserver, RouteAlternativesObserver, NavigationRouteAlternativesRequestCallback, MapboxNavigation#registerRouteAlternativesObserver, MapboxNavigation#requestAlternativeRoutes were removed in favour of automatic alternatives update.

  • Added support for RouteOptions#suppressVoiceInstructionLocalNames to onboard router.

  • Changed the semantics of Location#timestamp that you receive in onLocationMatcherResult, instead of being set to current system time it is now has location input time + lookahead (extrapolation) time.

  • Route Line component has been refactored and significantly changed. See migration guide for more information: https://docs.mapbox.com/android/navigation/guides/migration-from-v2/#mapboxroutelineapi

  • Removed LongRoutesOptimisationOptions. Navigation Core Framework is now optimized to handle long routes by default.

  • RouterFailure.code has been replaced with RouterFailure.type. See RouterFailureType to find all possible error types.

  • Added "mbx.RouteLine" history events. They will be collected automatically by NavSDK for both manual recorder and Copilot recorder when the recording is started.
    You can enable route line events collection for Copilot using CopilotOptions#shouldRecordRouteLineEvents option. It is disabled by default.

  • Improved EHorizon path evaluation.

  • Added experimental property NavigationRoute#responseOriginAPI which describes API that Navigation CF used to generate data for NavigationRoute. NavigationRoute#responseOriginAPI could be used to form expectations from navigation experience given the fact that routes with ResponseOriginAPI.MAP_MATCHING_API has limited support currently.

  • Public data classes have been replaces with normal classes with generated equals, hashCode, toString. copy function and destructuring declarations are not available for affected classes.

  • Added support of seamless switch to an alternative route in case of deviation to the alternative route from a route received via MapboxNavigation#requestMapMatching.

  • The Android Auto components are live in GA, follow the https://docs.mapbox.com/android/navigation/guides/androidauto/ to add it to your project.

  • Made MapboxNavigation constructor and onDestroy internal. To create an instance of MapboxNavigation use MapboxNavigationProvider#create; to destroy it use MapboxNavigationProvider#destroy. 3274

  • Fixed a bug with multiple instances of cache which resulted in excessive memory consumption.

  • Fixed an issue where reroute for multi-leg routes used to fail in case waypoint_names or waypoint_targets parameters were specified without an explicit waypoint_indices parameter.

  • Improved handling of no storage available during navigation tiles downloading.

  • Improved handling of invalid config in DeviceProfile#customConfig.

  • Fixed a native crash in E-Horizon implementation caused by internal race condition.

  • Made MapboxReplayer constructor public.

  • Removed OnlineRouteAlternativesSwitch. Use NavigationRouteAlternativesObserver to receive an online alternative for the current offline route. Unlike OnlineRouteAlternativesSwitch, NavigationRouteAlternativesObserver doesn't switch to an online alternative automatically.

  • Changed structure of NavigationRoute. Now it can represent routes received from Mapbox Map Matching API as well as Mapbox Directions API. NavigationRoute#directionsResponse has been removed. Use NavigationRoute#waypoints and NavigationRoute#responseUUID to access data which used to be available via NavigationRoute#directionsResponse. NavigationRoute#routeOptions has been removed. Try to utilise data available in NavigationRoute, for example instead of using coordinates from route options, use NavigationRoute#waypoints. Temporary property NavigationRoute#evMaxCharge has been added to access maximum possible charge for the vehicle the route was requested for instead of navigationRoute.routeOptions.getUnrecognizedProperty("ev_max_charge").

  • Improve GNSS jump detection for better pitch based map-matching in tunnels

  • Eliminate border crossing object when moving to neutral waters and back

  • Fixed leak of CarAppLifecycleOwner on every copilot start.

  • Resolved an issue where a crash could occur if telemetry sending settings were changed after creating MapboxNavigation.

  • Fixed an issue with vanishing route line not working for single-leg routes.

  • Eliminated waiting for online route in case of reroute if onboard is ready. For rerouting return the route that was calculated sooner will be returned, and the back-online feature is expected to handle the case of switching back to online.

  • Improved highway exits detection.

  • Improved passed alternatives handling.

  • Fixed an issue when onboard route calculation might have been cancelled if online router returned critical error.

  • Fixed an issue in processing ETC signals when distant projections where treated as valid map-matched locations.

  • Fixed leak of CarAppLifecycleOwner on every copilot start.

  • Started sending special type POSITION messages in OFF-ROAD mode.

  • Fixed ANR at com.mapbox.common.LifecycleUtils.hasServiceRunningInForeground(LifecycleUtils.kt:25). #dd

  • Added RerouteOptions#enableLegacyBehaviorForMapMatchedRoute which lets enable reroute logic from Nav SDK v2 for routes generated by Mapbox Map Matching API.

  • Changed reroute state transition in case of deviation from a primary route which is received via MapboxNavigation#requestMapMatching when no alternative routes available to switch to. Reroute state used to be Idle, but now performs the following transition: Idle -> FetchingRoute -> Failed -> Idle.

  • Made RouteShieldError#url and RouteShieldOrigin#originalUrl nullable. They can be null in case the request had been cancelled before the URL was formed.

  • Improved road shield rendering behaviour for long text: now the closest length-wise available icon will be downloaded, previously it had been fixed to a maximum of 6 characters.

  • Added a Copilot option that allows to provide a different user id for history recording context.

  • Fixed an issue where incidents and closures far ahead along the route might have disappeared after route refresh.

  • Made RouteShieldError#url and RouteShieldOrigin#originalUrl nullable. They can be null in case the request had been cancelled before the URL was formed.

  • Improved road shield rendering behaviour for long text: now the closest length-wise available icon will be downloaded, previously it had been fixed to a maximum of 6 characters.

  • Improved tunnel exit detection.

  • Internal dependencies updated, which includes removal of unwanted URLs from the binary.

  • Improved incidents behavior: far away incidents are kept after partial route refresh.

  • Improved incidents behavior: expired incidents are removed on route refresh.

  • Improved incidents behavior: incidents with incorrect endTime are not removed.

  • Fixed EV route parsing issue.

  • Fixed a crash that could happen on incorrect waypoints in the route response.

  • Fixed continuous alternatives bugs leading to excessive getRoute calls. Mapbox dependencies:

  • Mapbox Maps SDK v11.3.0 (release notes)

  • Mapbox Navigation Native v305.0.0

  • Mapbox Core Common v24.3.1

  • Mapbox Java v6.15.0 (release notes)

API Reference

v3.0.1 - 22 April, 2024

Changelog

  • Added a new option PredictiveCacheMapsOptions.extraOptions that allows to specify extra tileset descriptor options.
  • Fixed an issue where there was no fallback to onboard router in some cases. Now we allow onboard routing in all cases except when the request was cancelled.
  • Fixed an issue related to cached ADAS data not being released.
  • Removed route alerts for border crossings in neutral waters.
  • Fixed a crash caused by filtered alternatives in cases where the primary route status is different from the incoming route status.
  • Fixed context leak on Activity recreation Mapbox dependencies:
  • Mapbox Maps SDK v11.3.0 (release notes)
  • Mapbox Navigation Native v305.0.1
  • Mapbox Core Common v24.3.1
  • Mapbox Java v6.15.0 (release notes)

API Reference

v3.0.2 - 26 April, 2024

Changelog

  • Continuous alternatives request behaviour improved: always do periodical requests and notify server with requests context and reason to serve better alternatives
  • Made RerouteState.Failed retryable in case reroute failed due to not having yet received a route progress for a new route that had just been set. Mapbox dependencies:
  • Mapbox Maps SDK v11.3.1 (release notes)
  • Mapbox Navigation Native v306.0.1
  • Mapbox Core Common v24.3.1
  • Mapbox Java v6.15.0 (release notes)

API Reference

v3.1.0-beta.1 - 07 May, 2024

Changelog

  • Added androidauto module, that brings Navigation Android Auto SDK. The module was carried over from Nav SDK v2 and has been adapted to work with the Maps v11.
  • Optimized predictive cache usage.
  • Added a new option PredictiveCacheMapsOptions.extraOptions that allows to specify extra tileset descriptor options.
  • Added a new option AdasisConfigProfileShortTypeOptions.historyAverageSpeed which specifies whether historyAverageSpeed data should be generated in ADASis messages.
  • Made RerouteState.Failed retryable in case reroute failed due to not having yet received a route progress for a new route that had just been set.
  • Added support for custom users in map matching requests.
  • Fixed an issue where there was no fallback to onboard router in some cases. Now we allow onboard routing in all cases except when the request was cancelled.
  • Fixed an issue related to cached ADAS data not being released.
  • Removed route alerts for border crossings in neutral waters.
  • Fixed a crash caused by filtered alternatives in cases where the primary route status is different from the incoming route status.
  • Fixed PredictiveCacheLocationOptions::routeBufferRadiusInMeters default value.
  • Fixed an issue where there was no fallback to onboard router in some cases. Now we allow onboard routing in all cases except when the request was cancelled.
  • Fixed an issue related to cached ADAS data not being released.
  • Removed route alerts for border crossings in neutral waters.
  • Fixed a crash caused by filtered alternatives in cases where the primary route status is different from the incoming route status.
  • Fixed context leak on Activity recreation
  • Improved alternative routes Navigation SDK generates during reroute. Mapbox dependencies:
  • Mapbox Maps SDK v11.4.0-beta.3 (release notes)
  • Mapbox Navigation Native v308.0.0
  • Mapbox Core Common v24.4.0-beta.3
  • Mapbox Java v6.15.0 (release notes)

API Reference

v3.0.3 - 17 May, 2024

Changelog

  • Improved alternative routes Navigation SDK generates during reroute. Mapbox dependencies:
  • Mapbox Maps SDK v11.3.1 (release notes)
  • Mapbox Navigation Native v306.0.2
  • Mapbox Core Common v24.3.1
  • Mapbox Java v6.15.0 (release notes)

API Reference

v3.1.0-rc.1 - 17 May, 2024

Changelog

  • Improved MapboxNavigationViewportDataSource behavior, it updates view port data only when map size is calculated which prevents from using incorrect data.
  • Optimized network consumption of Continuous Alternatives feature. Mapbox dependencies:
  • Mapbox Maps SDK v11.4.0-rc.2 (release notes)
  • Mapbox Navigation Native v309.0.0
  • Mapbox Core Common v24.4.0-rc.2
  • Mapbox Java v6.15.0 (release notes)

API Reference

v3.0.4 - 31 May, 2024

Changelog

  • Fixed a crash due to incorrect OpenLR input.
  • Fixed a fork point path recalculation after tunnel jumps.
  • Allow backward match in ETC cost. Mapbox dependencies:
  • Mapbox Maps SDK v11.3.1 (release notes)
  • Mapbox Navigation Native v306.0.3
  • Mapbox Core Common v24.3.1
  • Mapbox Java v6.15.0 (release notes)

API Reference

v3.1.0 - 04 June, 2024

Changelog

  • Improved MapboxNavigationViewportDataSource behavior, it updates view port data only when map size is calculated which prevents from using incorrect data.
  • Optimized network consumption of Continuous Alternatives feature.
  • Fixed a crash due to incorrect OpenLR input data.
  • Fixed a bug with spinning smoothed coordinate. Mapbox dependencies:
  • Mapbox Maps SDK v11.4.1 (release notes)
  • Mapbox Navigation Native v311.0.0
  • Mapbox Core Common v24.4.0
  • Mapbox Java v6.15.0 (release notes)

API Reference

v3.2.0-beta.1 - 13 June, 2024

Changelog

  • Added RerouteStrategyForMapMatchedRoutes to RerouteOptions. Reroute option enableLegacyBehaviorForMapMatchedRoute was removed, use NavigateToFinalDestination strategy instead.
  • Fixed a crash due to incorrect OpenLR input data
  • Fixed a bug with spinning smoothed coordinate
  • Fixed issue for calculating the trim-offset value for the vanishing route line feature when the current geometry index emitted by route progress is greater than the value expected. Mapbox dependencies:
  • Mapbox Maps SDK v11.5.0-beta.1 (release notes)
  • Mapbox Navigation Native v312.0.0
  • Mapbox Core Common v24.5.0-beta.4
  • Mapbox Java v6.15.0 (release notes)

API Reference

v3.2.0-rc.1 - 21 June, 2024

Changelog

  • Added experimental MapboxNavigation#replanRoute to handle cases when user changes route options during active guidance, for example enabling avoid ferries.
  • [BREAKING CHANGE] PredictiveCacheOptions.unrecognizedTilesetDescriptorOptions has been renamed to PredictiveCacheOptions.predictiveCacheSearchOptionsList. Additionally, PredictiveCacheUnrecognizedTilesetDescriptorOptions has been renamed to PredictiveCacheSearchOptions. Now, only search-related options can be passed to PredictiveCacheSearchOptions.
  • Implementation of RerouteController#registerRerouteStateObserver now invokes observer immediately with current state instead of posting invocation to the main looper.
    Mapbox dependencies:
  • Mapbox Maps SDK v11.5.0-rc.1 (release notes)
  • Mapbox Navigation Native v313.0.0
  • Mapbox Core Common v24.5.0-rc.1
  • Mapbox Java v6.15.0 (release notes)

API Reference

v3.2.0 - 10 July, 2024

Changelog

  • Introduced experimental traffic adjustment mechanism during a drive and added TrafficOverrideOptions to control this feature
  • Changed Alternatives that deviate close to a destination point are removed before a fork is reached.
  • Added experimental MapboxNavigation#replanRoute to handle cases when user changes route options during active guidance, for example enabling avoid ferries.
  • [BREAKING CHANGE] PredictiveCacheOptions.unrecognizedTilesetDescriptorOptions has been renamed to PredictiveCacheOptions.predictiveCacheSearchOptionsList. Additionally, PredictiveCacheUnrecognizedTilesetDescriptorOptions has been renamed to PredictiveCacheSearchOptions. Now, only search-related options can be passed to PredictiveCacheSearchOptions.
  • Fixed Routes that origin is out of primary route cannot be added as alternatives.
  • Implementation of RerouteController#registerRerouteStateObserver now invokes observer immediately with current state instead of posting invocation to the main looper.
    Mapbox dependencies:
  • Mapbox Maps SDK v11.5.0 (release notes)
  • Mapbox Navigation Native v314.0.0
  • Mapbox Core Common v24.5.0
  • Mapbox Java v6.15.0 (release notes)

API Reference

v3.3.0-beta.1 - 19 July, 2024

Changelog

  • Optimized memory usage in Directions API model classes by interning frequently occurring strings in JSON.
  • Added experimental MapboxNavigation#replanRoute to handle cases when user changes route options during active guidance, for example enabling avoid ferries.
  • Added DataInputsManager to allow the provision of data from external sensors to the navigator, see MapboxNavigation.dataInputsManager. Experimental EtcGateInfo has been moved to com.mapbox.navigation.core.datainputs package. EtcGateApi has been deprecated.
  • Removing the ExperimentalMapboxNavigationAPI flag for Search predictive cache.
  • [BREAKING CHANGE] PredictiveCacheOptions.unrecognizedTilesetDescriptorOptions has been renamed to PredictiveCacheOptions.predictiveCacheSearchOptionsList. Additionally, PredictiveCacheUnrecognizedTilesetDescriptorOptions has been renamed to PredictiveCacheSearchOptions. Now, only search-related options can be passed to PredictiveCacheSearchOptions.
  • Introduced experimental traffic adjustment mechanism during a drive and added TrafficOverrideOptions to control this feature
  • Changed Alternatives that deviate close to a destination point are removed before a fork is reached.
  • Implementation of RerouteController#registerRerouteStateObserver now invokes observer immediately with current state instead of posting invocation to the main looper.
  • Fixed UI jank caused by on-device TextToSpeech player.
  • Removed PredictiveCacheController#removeSearchControllers and PredictiveCacheController#createSearchControllers. Now search predictive cache controller is created and destroyed together with PredictiveCacheController instance if PredictiveCacheOptions.predictiveCacheSearchOptionsList is provided.
  • Improve performance when handling large road objects on the eHorizon's MPP.
  • Fixed Routes that origin is out of primary route cannot be added as alternatives. Mapbox dependencies:
  • Mapbox Maps SDK v11.6.0-beta.1 (release notes)
  • Mapbox Navigation Native v315.0.0
  • Mapbox Core Common v24.6.0-beta.1
  • Mapbox Java v7.1.0 (release notes)

API Reference

v3.3.0-rc.1 - 02 August, 2024

Changelog

  • Introduce MapboxRouteCalloutApi and MapboxRouteCalloutView to attach callouts to route lines with info about duration
  • Added the ability to filter road names based on the system language
  • com.mapbox.navigation.base.road.model.RoadComponent objects that contain only slashes in their text are filtered out
  • Fixed the issue of unwanted rerouting occurring immediately after setting a new route Mapbox dependencies:
  • Mapbox Maps SDK v11.6.0-rc.1 (release notes)
  • Mapbox Navigation Native v316.0.0
  • Mapbox Core Common v24.6.0-rc.1
  • Mapbox Java v7.1.0 (release notes)

API Reference

v3.3.0 - 16 August, 2024

Changelog

  • Added NavigationScaleGestureHandlerOptions#followingRotationAngleThreshold that define threshold angle for rotation for FOLLOWING Navigation Camera state.
  • Added MapboxRouteCalloutViewOptions that allows to customize route callouts appearance
  • Now EHorizonResultType.Type has a new element called EHorizonResultType.NOT_AVAILABLE.
  • Introduce MapboxRouteCalloutApi and MapboxRouteCalloutView to attach callouts to route lines with info about duration
  • Added the ability to filter road names based on the system language
  • com.mapbox.navigation.base.road.model.RoadComponent objects that contain only slashes in their text are filtered out
  • Optimized memory usage in Directions API model classes by interning frequently occurring strings in JSON.
  • Added experimental MapboxNavigation#replanRoute to handle cases when user changes route options during active guidance, for example enabling avoid ferries.
  • Added DataInputsManager to allow the provision of data from external sensors to the navigator, see MapboxNavigation.dataInputsManager. Experimental EtcGateInfo has been moved to com.mapbox.navigation.core.datainputs package. EtcGateApi has been deprecated.
  • Removing the ExperimentalMapboxNavigationAPI flag for Search predictive cache.
  • [BREAKING CHANGE] PredictiveCacheOptions.unrecognizedTilesetDescriptorOptions has been renamed to PredictiveCacheOptions.predictiveCacheSearchOptionsList. Additionally, PredictiveCacheUnrecognizedTilesetDescriptorOptions has been renamed to PredictiveCacheSearchOptions. Now, only search-related options can be passed to PredictiveCacheSearchOptions.
  • Introduced experimental traffic adjustment mechanism during a drive and added TrafficOverrideOptions to control this feature
  • Changed Alternatives that deviate close to a destination point are removed before a fork is reached.
  • Added RerouteStrategyForMapMatchedRoutes to RerouteOptions. Reroute option enableLegacyBehaviorForMapMatchedRoute was removed, use NavigateToFinalDestination strategy instead.
  • Fixed a crash caused by an overflow in the JNI global reference table.
  • Fixed an issue with vignettes in Romania and Bulgaria for offline routing when tolls are excluded.
  • Addressed several issues that occurred when switching to an alternative route.
  • Fixed the issue of unwanted rerouting occurring immediately after setting a new route
  • Implementation of RerouteController#registerRerouteStateObserver now invokes observer immediately with current state instead of posting invocation to the main looper.
  • Fixed UI jank caused by on-device TextToSpeech player.
  • Removed PredictiveCacheController#removeSearchControllers and PredictiveCacheController#createSearchControllers. Now search predictive cache controller is created and destroyed together with PredictiveCacheController instance if PredictiveCacheOptions.predictiveCacheSearchOptionsList is provided.
  • Improve performance when handling large road objects on the eHorizon's MPP.
  • Fixed Routes that origin is out of primary route cannot be added as alternatives.
  • Fixed a crash due to incorrect OpenLR input data
  • Fixed a bug with spinning smoothed coordinate
  • Fixed issue for calculating the trim-offset value for the vanishing route line feature when the current geometry index emitted by route progress is greater than the value expected. Mapbox dependencies:
  • Mapbox Maps SDK v11.6.0 (release notes)
  • Mapbox Navigation Native v317.0.0
  • Mapbox Core Common v24.6.0
  • Mapbox Java v7.1.0 (release notes)

API Reference

v3.2.1 - 23 August, 2024

Changelog

  • Added NavigationScaleGestureHandlerOptions#followingRotationAngleThreshold that define threshold angle for rotation for FOLLOWING Navigation Camera state.
  • Locations input: moved to the background thread
  • Improved runtime performance of positioning in dense areas. Introduced the possibility to enable output frequency throttling in situations when the system is not able to catch up with the real time. This is relevant only for high-frequency input.
  • Improved performance of tracking large road objects on the most probable path in eHorizon.
  • Fixed the crash in route alternatives during leg switching. Mapbox dependencies:
  • Mapbox Maps SDK v11.5.0 (release notes)
  • Mapbox Navigation Native v314.0.2
  • Mapbox Core Common v24.5.0
  • Mapbox Java v6.15.0 (release notes)

API Reference

v3.2.2 - 02 September, 2024

Changelog

Mapbox dependencies:

  • Mapbox Maps SDK v11.5.0 (release notes)
  • Mapbox Navigation Native v314.0.3
  • Mapbox Core Common v24.5.0
  • Mapbox Java v6.15.0 (release notes)

API Reference

v3.3.1 - 03 September, 2024

Changelog

Mapbox dependencies:

  • Mapbox Maps SDK v11.6.0 (release notes)
  • Mapbox Navigation Native v317.0.1
  • Mapbox Core Common v24.6.0
  • Mapbox Java v7.1.0 (release notes)

API Reference

v3.4.0-beta.1 - 05 September, 2024

Changelog

  • Signature of experimental EtcGateApi#updateEtcGateInfo function has been changed, now it accepts EtcGateApi.EtcGateInfo as a function parameter.
  • Experimental Data Inputs functionality has been removed from the core module to a separate datainputs module (MapboxNavigation#dataInputs and everything from the package com.mapbox.navigation.datainputs have been removed). Contact us to get more information on how to get access to the module.
  • Experimental Adasis functionality has been removed from the core module (MapboxNavigation's functions setAdasisMessageObserver, resetAdasisMessageObserver, updateExternalSensorData, and GraphAccessor#getAdasisEdgeAttributes have been removed). Contact us in case you're interested in ADASIS functionality.
  • Added experimental RoutingTilesOptions#fallbackNavigationTilesVersion which lets define version of navigation tiles to fallback in case of offline routing failure with navigation tiles defined in RoutingTilesOptions#tilesVersion.
  • Added experimental MapboxRouteLineViewOptions#fadeOnHighZoomsConfig and MapboxRouteArrowOptions#fadeOnHighZoomsConfig to configure smooth fading out of route line or/and arrows on high zoom levels.
  • The PredictiveCacheController(PredictiveCacheOptions) constructor is now deprecated. Use PredictiveCacheController(MapboxNavigation, PredictiveCacheOptions) instead.
  • Added NavigationScaleGestureHandlerOptions#followingRotationAngleThreshold that define threshold angle for rotation for FOLLOWING Navigation Camera state.
  • Added the ability to filter road names based on the system language
  • com.mapbox.navigation.base.road.model.RoadComponent objects that contain only slashes in their text are filtered out
  • Now EHorizonResultType.Type has a new element called EHorizonResultType.NOT_AVAILABLE.
  • Old MapboxNavigation.postUserFeedback() functions have been deprecated, use an overloading that accepts UserFeedback as a parameter.
  • Introduce MapboxRouteCalloutApi and MapboxRouteCalloutView to attach callouts to route lines with info about duration
  • Fixed a bug causing some history files recorded during the previous app sessions not to be uploaded by the Copilot.
  • Fixed an issue where native memory was not being properly released after the MapboxNavigation object was destroyed.
  • Fixed the issue of unwanted rerouting occurring immediately after setting a new route
  • Fixed a crash caused by an overflow in the JNI global reference table.
  • Fixed an issue with vignettes in Romania and Bulgaria for offline routing when tolls are excluded.
  • Addressed several issues that occurred when switching to an alternative route. Mapbox dependencies:
  • Mapbox Maps SDK v11.7.0-beta.1 (release notes)
  • Mapbox Navigation Native v318.0.0
  • Mapbox Core Common v24.7.0-beta.2
  • Mapbox Java v7.2.0 (release notes)

API Reference

v3.4.0-rc.1 - 17 September, 2024

Changelog

  • Improved route completion logic. Completed state is triggered only if the puck is leaving the waypoint or after timeout reaching the waypoint threshold.
  • Fixed CarSearchLocationProvider produces NullPointerException when using Mapbox Search SDK.
  • Improved updating alternative routes.

Mapbox dependencies:

  • Mapbox Maps SDK v11.7.0-rc.1 (release notes)
  • Mapbox Navigation Native v319.0.0
  • Mapbox Core Common v24.7.0-rc.2
  • Mapbox Java v7.2.0 (release notes)

API Reference
この{Type}は役に立ちましたか?