Skip to content

Releases: mapbox/mapbox-navigation-android

Navigation SDK v3.16.0-rc.1

10 Oct 10:38
Compare
Choose a tag to compare
Pre-release

Navigation SDK Core Framework 3.16.0-rc.1 - 10 October, 2025

Features

  • Added MapMatchingOptions.voiceUnits which allows applications to specify the unit system used for voice instructions in Map Matching.
  • Delay the start of the predictive cache when tiles are requested #6684

Bug fixes and improvements

  • Fix the bug that causes road cameras on alternative routes to not be removed from the road when its road is not active or passed during active guidance.
  • Fix ADAS tiles loading for ambient cache without consumer #7128
  • Improved Visual Turn Experience in Active Guidance and Free-Drive for High-Frequency Input #3863
  • The crash happens on route parsing with the steps=false #6889
  • Support settings for per-level routing tiles compression #6622

Known issues ⚠️

Other changes

Mapbox dependencies

This release depends on, and has been tested with, the following Mapbox dependencies:

  • Mapbox Maps SDK v11.16.0-rc.1 (release notes)
  • Mapbox Navigation Native v324.16.0-rc.1
  • Mapbox Core Common v24.16.0-rc.1
  • Mapbox Java v7.8.0 (release notes)

Navigation SDK v3.12.2

02 Oct 17:35
Compare
Choose a tag to compare

Navigation SDK Core Framework 3.12.2 - 02 October, 2025

Features

  • Expose roadEdgeId to LocationMatcherResult

Bug fixes and improvements

Mapbox dependencies

This release depends on, and has been tested with, the following Mapbox dependencies:

  • Mapbox Maps SDK v11.15.2 (release notes)
  • Mapbox Navigation Native v324.15.2
  • Mapbox Core Common v24.15.2
  • Mapbox Java v7.8.0 (release notes)

Navigation SDK v3.12.1

29 Sep 16:56
Compare
Choose a tag to compare

Navigation SDK Core Framework 3.12.1 - 29 September, 2025

Features

Bug fixes and improvements

  • Fix the bug that causes road cameras on alternative routes to be marked as passed but not removed from the map.
  • Further improve DR stability (better recovery with good GNSS and less wheel speed filtering).
  • Add support of per-level routing tiles compression settings.
  • Address a bug with missing alternatives on multi-leg routes.

Mapbox dependencies

This release depends on, and has been tested with, the following Mapbox dependencies:

  • Mapbox Maps SDK v11.15.1 (release notes)
  • Mapbox Navigation Native v324.15.1
  • Mapbox Core Common v24.15.1
  • Mapbox Java v7.8.0 (release notes)

Navigation SDK v3.16.0-beta.1

26 Sep 13:24
Compare
Choose a tag to compare
Pre-release

Navigation SDK Core Framework 3.16.0-beta.1 - 26 September, 2025

Notes

3.16.x is the next version after 3.12.x. For technical reasons, versions 3.13.x, 3.14.x and 3.15.x are skipped. Starting from 3.16.x, the Nav SDK minor version will be aligned with other Mapbox dependencies.

Features

  • Added AdasEdgeAttributes#isBuiltUpArea and AdasEdgeAttributes#roadItems properties.
  • Added a new RoadObjectMatcherOptions class that configures the road object matching behavior. Available through the NavigationOptions class.
  • Added RouteCalloutUiStateProvider class that allows to listen to Route Callout UI data.
    Normally, route callouts are drawn under the hood in NavSDK when this feature is enabled in MapboxRouteLineApiOptions.
    However, there might be cases when app wants to only get the callout data from NavSDK and attach the DVA itself.
    An example of such a case is using Mapbox Maps SDK Compose extensions: attaching a DVA for
    Compose MapboxMap is done via compose-specific API,
    which is not currently supported by NavSDK.
    In this case you may listen to RouteCalloutUiStateData updates via RouteCalloutUiStateProvider and use its information by attach a DVA.
  • Added experimental overloads for MapboxManeuverApi#getRoadShields and MapboxRouteShieldApi#getRouteShields that accept a ShieldFontConfig parameter, enabling custom font selection for route shields.
  • Added experimental MapboxNavigationSVGExternalFileResolver that can resolve fonts for SVG rendering from assets or use system fonts.
  • Updated MapboxNavigation.replanRoute() to now accept a new optional parameter of type ReplanRoutesCallback.

Bug fixes and improvements

  • Fix the bug that causes road cameras on alternative routes to be marked as passed but not removed from the map.
  • Fixed the incorrect order of callbacks when notifying about road cameras on the route.

Mapbox dependencies

This release depends on, and has been tested with, the following Mapbox dependencies:

  • Mapbox Maps SDK v11.16.0-beta.1 (release notes)
  • Mapbox Navigation Native v324.16.0-beta.1
  • Mapbox Core Common v24.16.0-beta.1
  • Mapbox Java v7.8.0 (release notes)

Navigation SDK v3.12.0

12 Sep 17:35
Compare
Choose a tag to compare

Navigation SDK Core Framework 3.12.0 - 12 September, 2025

Features

  • Expose PredictiveCacheLocationOptions.loadPredictiveCacheForAlternativeRoutes property
  • Added offline tileset version management with update availability checking, which is available via MapboxNavigation#tilesetVersionManager. See TilesetVersionManager for more information.
  • ⚠️ Behavioural bracking change: updated the default traffic colors on the primary route line (see changes in RouteLayerConstants.kt for details)
  • Added experimental overloads for MapboxManeuverApi#getRoadShields and MapboxRouteShieldApi#getRouteShields that accept a ShieldFontConfig parameter, enabling custom font selection for route shields.
  • Added experimental MapboxNavigationSVGExternalFileResolver that can resolve fonts for SVG rendering from assets or use system fonts.
  • Added RouteCalloutUiStateProvider class that allows to listen to Route Callout UI data.
    Normally, route callouts are drawn under the hood in NavSDK when this feature is enabled in MapboxRouteLineApiOptions.
    However, there might be cases when app wants to only get the callout data from NavSDK and attach the DVA itself.
    An example of such a case is using Mapbox Maps SDK Compose extensions: attaching a DVA for
    Compose MapboxMap is done via compose-specific API,
    which is not currently supported by NavSDK.
    In this case you may listen to RouteCalloutUiStateData updates via RouteCalloutUiStateProvider and use its information by attach a DVA.
  • Added ability to filter by data source in EV charging station search operations.
  • Added MapboxSpeedZoneInfo class to represent speed zone information. Available through UpcomingCamerasObserver::onSpeedZoneInfo and RoadCamerasMapCallback::onSpeedZoneInfo callbacks.
  • Added experimental support for ADAS tiles in the predictive cache. See PredictiveCacheNavigationOptions for more information.
  • Added support for Android 16 KB page-size devices. To consume SDK compatible with NDK 27 you need to add -ndk27 suffix to the artifact name, for example, com.mapbox.navigationcore:navigation -> com.mapbox.navigationcore:navigation-ndk27.
  • Added method overload TilesetDescriptorFactory#getLatest(Boolean) that allows to specify whether to include ADAS tiles.
  • Extracted TTS functionality into a new module audio.
  • DR improvements - more robust models for GNSS trust, road calibration, and wheel speed trust;
  • Improve main thread utilization by removing unintended locks (visible on systems with overloaded CPU)
  • Disable the defaults for collection of tunnel/bridge subgraphs in free drive. The clients will need to specify explicitly which objects to collect via AlertServiceOptions in the public SDK interface.
  • Added support of immediate update of location puck bearing in [NavigationLocationProvider] in case of overlapping key points.
  • RoadCamerasManager in active guidance now relies on new road_camera Directions API annotation, which improves the performance of the camera data retrieval and quality of the data.
  • Added MapboxRoadCamera::activeGuidanceInfo, containing information about the route id, leg index, geometry index and step intersection of the camera in active guidance.
  • ⚠️ Breaking changes in Experimental API. MapboxEvSearchClientFactory.#getInstance() no longer accepts access token as a parameter. The default MapboxOptions.accessToken will be used.
  • CarPlaceSearchOptions.accessToken and corresponding builder function has been deprecated because accessToken is no longer in use as the search component now uses the default MapboxOptions.accessToken.
  • Used legacy/custom date primitives in EV modules to support older Android API levels.
  • Added DriverNotification, DriverNotificationProvider interfaces with EvBetterRouteNotificationProvider and SlowTrafficNotificationProvider implementations. Add new DriverNotificationManager API to attach or detach providers and DriverNotificationManager.observeDriverNotification() to handle the flow of driver notifications.
  • Added default location providers.
  • Added EvBusyChargingStationNotificationProvider to notify when the EV is charging station is busy and propose alternative route.
  • Added experimental NavigationPerformance#performanceTracingEnabled which enables/disables internal performance trace sections.
  • Add MapboxRoadCamera::inOnRoute flag which indicates if the roiad camera is on the current route.
  • Add MapboxRoadCamerasDisplayConfig::showOnlyOnRoute config parameter to display only road cameras on the route.
  • Added support for EV charge point tariffs accessible via EvStation.tariffs.
  • New experimental property LocationMatcherResult.correctedLocationData is available.
  • New experimental function GraphAccessor.getAdasisEdgeAttributes() is available. It returns ADAS attributes for the requested edge.
  • Expose road type in the MapboxRoadCamera
  • Added support for section control speed cameras.
  • Extended MapboxTripProgressApi to provide information about time zone at leg/route destination.
  • Added TripProgressUpdateFormatter.getEstimatedTimeToArrival overload that formats ETA using a given time zone.
  • Added curvatures support on intersections in ADAS tiles
  • Reduced amount of error logs
  • Added periodic logs of Navigator/Cache configs
  • Added support for wheel speed usage during no signal simulation to determine passed distance for mobile profile
  • Improved off road transitions
  • ⚠️ Breaking changes in Experimental API MapboxRouteCalloutView#renderCallouts(RouteCalloutData,MapboxRouteLineView). It's required to associate Route line with Callout View.
  • Added experimental SearchAlongRouteUtils class to optimize search along routes scenario by providing optimally selected points.
  • Added experimental RoutingTilesOptions#hdTilesOptions to configure HD tiles endpoint.
  • DataInputsManager now can be used from any thread.
  • Added experimental Road Cameras modules to provide notifications about road cameras along the route and show them on the map.
  • Added option to display the route line with a blur effect.
  • Added experimental functions MapboxNavigation#startTripSessionWithPermissionCheck() and MapboxNavigation#startReplayTripSessionWithPermissionCheck that immediately throw IllegalStateException if they are called with withForegroundService parameter set to true, but Android foreground service permissions requirements are not met.
  • Added support for SVG junction views, see MapboxJunctionApi#generateJunction(instructions: BannerInstructions, @JunctionViewFormat format: String, consumer: MapboxNavigationConsumer<Expected<JunctionError, JunctionViewData>>).
  • Added experimental NavigationRoute#routeRefreshMetadata which contains data related to refresh of the route object.
  • 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 `PredictiveCacheS...
Read more

Navigation SDK v3.11.6

04 Sep 20:09
Compare
Choose a tag to compare

Navigation SDK Core Framework 3.11.6 - 04 September, 2025

  • Ignore invalid place types in offline search to prevent broken addresses
  • Avoid copying of ViewAnnotationOptions on every frame
  • Enforce optimization compile flags for the rendering code

Mapbox dependencies

This release depends on, and has been tested with, the following Mapbox dependencies:

  • Mapbox Java v7.6.0
  • Search SDK 2.14.3
  • Common SDK 24.14.4
  • Maps SDK 11.14.4

Navigation SDK v3.11.5

03 Sep 20:42
Compare
Choose a tag to compare

Navigation SDK Core Framework 3.11.5 - 03 September, 2025

Mapbox dependencies

This release depends on, and has been tested with, the following Mapbox dependencies:

  • Mapbox Java v7.6.0 (release notes)
  • Search SDK 2.14.2
  • Common SDK 24.14.4
  • Maps SDK 11.14.4

Navigation SDK v3.12.0-rc.1

29 Aug 05:26
Compare
Choose a tag to compare
Pre-release

Navigation SDK Core Framework 3.12.0-rc.1 - 28 August, 2025

Features

  • Added RouteCalloutUiStateProvider class that allows to listen to Route Callout UI data.
    Normally, route callouts are drawn under the hood in NavSDK when this feature is enabled in MapboxRouteLineApiOptions.
    However, there might be cases when app wants to only get the callout data from NavSDK and attach the DVA itself.
    An example of such a case is using Mapbox Maps SDK Compose extensions: attaching a DVA for
    Compose MapboxMap is done via compose-specific API,
    which is not currently supported by NavSDK.
    In this case you may listen to RouteCalloutUiStateData updates via RouteCalloutUiStateProvider and use its information by attach a DVA.

Bug fixes and improvements

  • Fixed the incorrect order of callbacks when notifying about road cameras on the route.

Known issues ⚠️

Other changes

Mapbox dependencies

This release depends on, and has been tested with, the following Mapbox dependencies:

Mapbox Navigation SDK 2.21.0

29 Aug 18:46
Compare
Choose a tag to compare

Mapbox Navigation SDK 2.21.0 - 29 August, 2025

Changelog

Features

  • Added support for Android 16 KB page-size devices. To consume SDK compatible with NDK 27 you need to add -ndk27 suffix to the artifact name, for example, com.mapbox.navigation:android -> com.mapbox.navigation:android-ndk27

Mapbox dependencies

This release depends on, and has been tested with, the following Mapbox dependencies:

  • Mapbox Maps SDK v10.19.0 (release notes)
  • Mapbox Navigation Native v207.0.0
  • Mapbox Core Common v23.11.4
  • Mapbox Java v7.1.0 (release notes)

Navigation SDK v3.11.3

18 Aug 14:33
Compare
Choose a tag to compare

Navigation SDK Core Framework 3.11.3 - 18 August, 2025

Features

  • Added a new notification alert OfflineManeuver:NotificationAlert.

Bug fixes and improvements

Mapbox dependencies

This release depends on, and has been tested with, the following Mapbox dependencies: