Skip to content

Latest commit

 

History

History
1469 lines (1175 loc) · 131 KB

CHANGELOG.md

File metadata and controls

1469 lines (1175 loc) · 131 KB

Changelog for the Mapbox Navigation SDK for Android

Mapbox welcomes participation and contributions from everyone.

Mapbox Navigation SDK 2.0.0-beta.7 - April 23, 2021

For details on how v2 differs from v1 and guidance on migrating from v1 of the Mapbox Navigation SDK for Android to the v2 public preview, see 2.0 Navigation SDK Migration Guide.

Changelog

Features

  • Expose TilesetDescriptorFactory #4283
  • Add building highlight on arrival #4078
  • Add EHorizon isOneWay property #4295

Bug fixes and improvements

  • Bug fix for route line related concurrent modification of collection. #4298
  • Made route reference checks more robust in the MapboxNavigationViewportDataSource and improved logs to avoid situations where a route reference is mismatched and could produce incorrect frames or crash. #4302
  • Map ResourceOptions contains tile store instance (TileStore API). Tile store usage is enabled by default, ResourceOptions.tileStoreEnabled flag is introduced to disable it. This changed the integration with the PredictiveCacheControler which contains update integration docs. #4310
  • Removed Timber across SDK #4300
  • Fixed an issue with the NavigationCamera occasionally spinning around when a transition to a state (typically overview) finished. #4293
  • Fixed an issue with the NavigationCamera transitions occasionally finishing at an incorrect visual target. This could occur when a gesture interaction with the map preceded the transition. See mapbox-maps-android/issues/277 for details and workarounds. #4296
  • Introduced MapboxNavigationViewportDataSourceOptions.overviewFrameOptions.geometrySimplification which by default simplifies the route geometry used for overview framing by a factor of 25 to improve performance of frame generation, especially for longer routes. #4286

Mapbox dependencies

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

  • Mapbox Maps SDK v10.0.0-beta.18 (release notes)
  • Mapbox Navigation Native v48.0.4
  • Mapbox Core Common v11.0.2
  • Mapbox Java 5.9.0-alpha.5 (release notes)
  • Mapbox Android Core v3.1.1
  • Mapbox Android Telemetry v6.2.2

Mapbox Navigation SDK 2.0.0-beta.6 - April 16, 2021

For details on how v2 differs from v1 and guidance on migrating from v1 of the Mapbox Navigation SDK for Android to the v2 public preview, see 2.0 Navigation SDK Migration Guide.

Changelog

Features

  • Added a callback to the ArrivalObserver specifically for waypoint experiences. #4238

Bug fixes and improvements

  • Refactored the route line API to improve performance. #4271
  • Significantly changed the way how the MapboxNavigationViewportDataSource generates the camera frames that are later animated by the NavigationCamera. You can read more about details in the MapboxNavigationViewportDataSource class documentation. #4072 Highlights:
    • When in the FOLLOWING state, the first point of the framed geometry will be placed at the bottom edge of the provided padding, centered horizontally. This typically refers to the user's location provided to the viewport data source, if available.
    • If you use the MapboxNavigationViewportDataSource, you should explicitly define CameraOptions.padding in all other camera transitions that your app is executing.
    • New features:
      • calculating zoom level based on intersection density
      • automatic pitching to 0 near maneuvers
      • maximizing the view of the maneuver's geometry in pitch 0
      • bearing smoothing based on the direction to the upcoming maneuver
      • MapboxNavigationViewportDataSourceDebugger for visualizing frames and geometries
  • Fixed a bug for restricted road sections not getting cleared when calling API. #4254
  • Set TilesConfig inMemoryTileCache size to 1GB (1024 x 1024 x 1024). #4272
  • Fixed crash when routing new waypoints. #4263
  • Added check if RouteOptions has valid UUID to refresh route. #4260
  • Updated ArrivalObserver making the onWaypointArrival and onFinalDestinationArrival callbacks consistent, and can be specified through the ArrivalController as ArrivalOptions. #4250

Mapbox Navigation SDK 1.6.1 - April 14, 2021

Visit our 1.0.0 migration guide and the documentation pages for more information.

Changelog

Bug fixes and improvements

  • ⚠️ Changed DynamicCamera's default tilt and zoom constraints to improve performance and readability of the map when in active navigation. #4262

Mapbox Navigation SDK 1.6.0 - April 14, 2021

Visit our 1.0.0 migration guide and the documentation pages for more information.

Changelog

Features

  • Added additional route overview method to NavigationMapboxMap to display section of route not yet traveled rather than the full route. #4247

Bug fixes and improvements

  • Show maneuver icon and text in the notification tray after changing b/w day and night mode. #4256
  • Bug fix for restoring route line on map when bringing application into foreground just after a reroute. #4236

Mapbox Navigation SDK 2.0.0-beta.5 - April 9, 2021

For details on how v2 differs from v1 and guidance on migrating from v1 of the Mapbox Navigation SDK for Android to the v2 public preview, see 2.0 Navigation SDK Migration Guide.

Changelog

Features

  • ⚠️ Changed MapboxNavigation#requestRoutes to not automatically set the result as the primary route for the navigation experience. When calling MapboxNavigation#requestRoutes make sure to also call MapboxNavigation#setRoutes with a result. This change allows for dispatching and managing multiple route requests concurrently, including cancelling with MapboxNavigation#cancelRouteRequest. #4184
  • Exposed MapboxSoundButton. #4117
  • Exposed MapboxRecenterButton. #4226
  • Added support for signboard styling based on the stylesheet. See MapboxSignboardOptions. #4217
  • Added length, startGeometryIndex, endGeometryIndex to entrance/exit road objects when the source is the Directions API. #4235
  • ⚠️ Expanded RouteArrowApi functionality to include ability to add (and remove) multiple arrows to a map which also changes the method signatures. #3980
  • Added support for the composite sources in the PredictiveCacheController. #4241

Bug fixes and improvements

  • Significantly improved the rendering time of the route line and the time to select an alternative. #4244 #4222 #4209
  • ⚠️ Made UnitType in MapboxDistanceFormatter type-safe. #4224

Mapbox Navigation SDK 2.0.0-beta.4 - April 1, 2021

For details on how v2 differs from v1 and guidance on migrating from v1 of the Mapbox Navigation SDK for Android to the v2 public preview, see 2.0 Navigation SDK Migration Guide.

Changelog

Features

  • Added option to display road closures on the route traffic line. #4215
  • Added option in RouteLineResources to enable the display of restricted road sections of the route line. The restriction related color option is in RouteLineColorResources. #4148
  • Added multiple exclusion criteria and notification of exclusion violations. #4195

Bug fixes and improvements

  • Improved documentation for the suggested MapboxRouteLineOptions.Builder#withRouteLineBelowLayerId value. #4202
  • Fixed bearings calculation on reroute. #4169
  • Added suspend and callback versions of some methods in the MapboxRouteLineApi class. #4106
  • Split TunnelEntrance and RestrictedArea alerts, made RoadObjects info values non-null. #4162

Known issues

When integrating this release, you might run into a crash on startup caused by cached data incompatibility. To resolve the issue, clear the application cache.

Mapbox Navigation SDK 1.5.1 - March 31, 2021

Visit our 1.0.0 migration guide and the documentation pages for more information.

Changelog

Bug fixes and improvements

  • Fixed speed limit. #4143
  • Added default text placeholder to TripNotification view. #4156
  • Fixed TripNotification view to always show Stop Session label. #4173
  • Fixed bearings calculation on reroute. #4199

Mapbox Navigation SDK 2.0.0-beta.3 - March 26, 2021

For details on how v2 differs from v1 and guidance on migrating from v1 of the Mapbox Navigation SDK for Android to the v2 public preview, see 2.0 Navigation SDK Migration Guide.

Changelog

Features

  • Implemented Guidance Views. See MapboxJunctionApi and MapboxJunctionView for details. #4157
  • Added SnappingClosures param to route request builder. #4161

Bug fixes and improvements

  • Added text placeholder for TripNotification View. #4160
  • Fixed bug with missing annotations in reroute/faster route. #4171
  • Changed the timing of the Navigation Camera's transition to the Following state to improve the zoom-in relation to the centering animation. #4175

Other changes

  • Added an example to show custom styling. #4178

Known issues

When integrating this release, you might run into a crash on startup caused by cached data incompatibility. To resolve the issue, clear the application cache.

Mapbox Navigation SDK 2.0.0-beta.2 - March 19, 2021

For details on how v2 differs from v1 and guidance on migrating from v1 of the Mapbox Navigation SDK for Android to the v2 public preview, see 2.0 Navigation SDK Migration Guide.

Changelog

Bug fixes and improvements

  • Fix the issue that origin icon and destination icons are same. #4115
  • Fixes maneuver list cut in landscape mode. #4124
  • Refactor signboard and alter api. #4125
  • Fixes using the incorrect color the traveled route line casing. #4128
  • Added scaling options for the alternative route lines in the RouteLineResources class. #4129
  • Refactor snapshotter. #4132
  • Exposed option to override alternative route color based on route identifier. #4137
  • Refactored Voice module to use MapboxNavigationConsumer generic callback. #4138
  • Refactored moved nav-native -> SDK type mapping and roadobject models to core module. #4141
  • Introduce route overview button. #4142
  • Fix logical error in speed limit view. #4143
  • Fixed banner instruction and route progress mismatch when in multi-leg scenarios. #4154

Mapbox Navigation SDK 1.5.0 - March 13, 2021

Visit our 1.0.0 migration guide and the documentation pages for more information.

Changelog

Bug fixes and improvements

  • Improved logic to select turn lanes. #4006
  • Changed SpeechPlayerProvider: constructor deprecated, builder added, focusGain param added. #4052
  • Fixed Route refresh: refresh alternative route when selected. #4056

Mapbox Navigation SDK 1.5.0-alpha.2 - February 19, 2021

Visit our 1.0.0 migration guide and the documentation pages for more information.

Changelog

Bug fixes and improvements

  • Fixed RouteProgress#route which didn't have its congestion annotations updated after a route refresh. #4031
  • Fixed RouteProgerss#route which always returned a primary route even if an alternative was selected. #4031

Mapbox Navigation SDK 1.5.0-alpha.1 - February 12, 2021

Visit our 1.0.0 migration guide and the documentation pages for more information.

Changelog

Features

  • Added auto-choosing the latest tiles version. 3931
  • Added Nav-Native SDK version to TileEndpointConfiguration. 3918

Bug fixes and improvements

  • Fixed the Route Refresh feature which was failing on each request due to parser incompatibilities. 3986
  • Changed the default routing tiles version to 2021_01_24-03_00_00. 3933
  • Updated default routing tiles version to 2021_01_30-03_00_00. 3929
  • Added check for arrow head icon height and width to prevent reported crash. 3922
  • Fixed stop trip session issue. 3919

Mapbox Navigation SDK 1.4.0 - January 20, 2021

Visit our 1.0.0 migration guide and the documentation pages for more information.

Changelog

Bug fixes and improvements

  • Removed the ACCESS_BACKGROUND_LOCATION permission requirement. 3913

Mapbox Navigation SDK 1.4.0-rc.1 - January 13, 2021

Visit our 1.0.0 migration guide and the documentation pages for more information.

Changelog

Bug fixes and improvements

  • Fixed MapboxRouteOptionsUpdater: IndexOutOfBoundsException with 'bearings' combining. #3899
  • Fixed FeedbackFlow to skip Detailed Screen when detailed items aren't presented. #3882
  • Removed misleading min size annotation for addRoutes method and updated the documentation. #3877

Mapbox Navigation SDK 1.3.0 - December 17, 2020

Visit our 1.0.0 migration guide and the documentation pages for more information.

Changelog

Features

  • Added onFeedbackFlowFinished method to FeedbackFlowListener. 3850
  • Exposed an option for the user to provide an arrival experience feedback when the navigation session is finished. See NavigationFeedbackOptions for NavigationView integration and FeedbackArrivalFragment for standalone. 3758
  • Exposed APIs to support caching user feedback events. 3724

Bug fixes and improvements

  • Fixed Exception Resource not found when using FeedbackDetailsFragment. 3842
  • Updated the detailed feedback flow to request additional information in a form after arrival instead of immediately when feedback is reported. See NavigationFeedbackOptions for NavigationView integration and FeedbackDetailsFragment for standalone. 3758

Mapbox Navigation SDK 1.4.0-beta.1 - December 17, 2020

Visit our 1.0.0 migration guide and the documentation pages for more information.

Changelog

Bug fixes and improvements

  • Fixed maneuver view so that shows a generic roundabout icon if there's no angle data. #3867
  • Fixed rerouting and requesting faster routes when silent waypoints are present. The waypoints are now persisted and not dropped. #3581

Mapbox Navigation SDK 1.3.0-alpha.5 - December 9, 2020

Visit our 1.0.0 migration guide and the documentation pages for more information.

Changelog

Features

  • Exposed GeoJsonOptions#withTolerance param for route line sources. 3819
  • Added speedLimit to MapMatcher. 3839
  • Added onFeedbackFlowFinished method to FeedbackFlowListener. 3850

Bug fixes and improvements

  • Updated assets and resources translations. 3856
  • Updated default routing tiles version to 2020_12_05-03_00_00. 3857

Mapbox Navigation SDK 1.3.0-alpha.4 - December 2, 2020

Visit our 1.0.0 migration guide and the documentation pages for more information.

Changelog

Features

  • Added an option in NavigationOptions for enable/disable route refresh. 3709

Bug fixes and improvements

  • Fixed Exception Resource not found when using FeedbackDetailsFragment. 3842

Mapbox Navigation SDK 1.3.0-alpha.3 - November 27, 2020

Visit our 1.0.0 migration guide and the documentation pages for more information.

Changelog

Features

  • Updated the detailed feedback flow to request additional information in a form after arrival instead of immediately when feedback is reported. See NavigationFeedbackOptions for NavigationView integration and FeedbackDetailsFragment for standalone. #3758
  • Exposed an option for the user to provide an arrival experience feedback when the navigation session is finished. See NavigationFeedbackOptions for NavigationView integration and FeedbackArrivalFragment for standalone. #3758
  • Exposed APIs to support caching user feedback events. #3724
  • Exposed current intersection index value in the RouteProgress. #3810

Bug fixes and improvements

  • Updated default routing tiles version to 2020_11_21-03_00_00. #3812
  • Increased map-matching to route geometry precision threshold need to keep updating vanishing point to 3m. #3803

Mapbox Navigation SDK 1.2.1 - November 26, 2020

Visit our 1.0.0 migration guide and the documentation pages for more information.

Changelog

Features

  • Added options that allow for custom raw location polling rates via NavigationOptions. #3800 #3804

Bug fixes and improvements

  • Route line calculations moved off of the main thread in order to improve performance and resolve ANR issue for long routes. #3789
  • Added equals and hashCode support for LocationEngineRequest in Mapbox Events library so it's possible to compare NavigationOptions classes. #3820

Mapbox Navigation SDK 1.3.0-alpha.2 - November 18, 2020

Visit our 1.0.0 migration guide and the documentation pages for more information.

Changelog

Features

  • Added options that allow for custom polling rates. #3800

Bug fixes and improvements

  • A more performant and accurate method of finding an alternative route when the map is clicked. #3723
  • Route line calculations moved off of the main thread in order to improve performance and resolve ANR issue for long routes. #3789
  • Pass null to FreeDriveEvent if location is not available #3791

Other changes

  • Explicitly mark the required min Android SDK version of 21. The Nav SDK v1 series always supported only devices running Lollipop or higher (due to transitive dependencies). #3781

Mapbox Navigation SDK 1.2.0 - November 18, 2020

Visit our 1.0.0 migration guide and the documentation pages for more information.

Changelog

Bug fixes

  • Send Free Drive events even if there're no location values. #3796

Mapbox Navigation SDK 1.3.0-alpha.1 - November 12, 2020

Visit our 1.0.0 migration guide and the documentation pages for more information.

Changelog

Bug fixes

  • Avoid dropping events when destroying MapboxNavigation. #3770
  • Fixed Null Pointer Exception when formatting date in Telemetry. #3770

Mapbox Navigation SDK 1.2.0-rc.2 - November 12, 2020

Visit our 1.0.0 migration guide and the documentation pages for more information.

Changelog

Bug fixes

  • Avoid dropping events when destroying MapboxNavigation. #3770
  • Fixed Null Pointer Exception when formatting date in Telemetry. #3770

Mapbox Navigation SDK 1.2.0-rc.1 - November 11, 2020

Visit our 1.0.0 migration guide and the documentation pages for more information.

Changelog

Improvements

  • Added support for routing tiles v2. #3761
  • Uploaded Free Drive telemetry events to the server. #3751
  • Removed electronic horizon experimental note. #3748
  • Tracked appropriate telemetry events for waypoints. #3747
  • Introduced NavigationMapboxMap.Builder and exposed vanishing point update interval setting. #3745

Bug fixes

  • Fixed an issue where the location was sometimes map-matched to a road heading in the opposite direction if the raw location's accuracy was very poor. #3761
  • Included the last segment of RouteAlertGeometry represented in the LineString generated by RouteAlertUtils. #3744

Mapbox Navigation SDK 1.2.0-beta.1 - November 5, 2020

Visit our 1.0.0 migration guide and the documentation pages for more information.

Changelog

Features

  • Exposed MapMatcherResultObserver that provides additional information about the status of the enhanced location update and the confidence of decisions that the map matcher made to generate this position. #3730
  • Added resetTripSession to MapboxNavigation useful to transport the navigator to a new location. #3701

Improvements

  • Updated EHorizon mpp functions so they can return multiple Most Probable Paths if they have the same probability. #3740
  • For specified road classes, any section where the traffic is 'unknown' can be represented using the 'low' traffic congestion color rather than the 'unknown' traffic color. #3672
  • Taking advantage of new the MapMatcherResultObserver do an immediate transition in NavigationMapboxMap when map matcher reports teleport. #3731
  • Improved vanishing point's state when completing the leg of a route or going off-route. #3727

Bug fixes

  • Fixed an issue where NavigationView crashes when trying to build the DistanceFormatter object. #3725

Mapbox Navigation SDK 1.2.0-alpha.5 - October 29, 2020

Visit our 1.0.0 migration guide and the documentation pages for more information.

Changelog

Bug fixes

  • Avoid an occasional crash when setting a route due a failed attempt to generate a route geometry with a buffer. #3710
  • Fixed an issue where an outdated information was appended to a telemetry reroute event. #3716

Mapbox Navigation SDK 1.1.2 - October 29, 2020

Visit our 1.0.0 migration guide and the documentation pages for more information.

Changelog

Bug fixes

  • Avoid an occasional crash when setting a route due a failed attempt to generate a route geometry with a buffer. #3710

Mapbox Navigation SDK 1.0.1 - October 29, 2020

Visit our 1.0.0 migration guide and the documentation pages for more information.

Changelog

Bug fixes

  • Avoid an occasional crash when setting a route due a failed attempt to generate a route geometry with a buffer. #3710

Mapbox Navigation SDK 1.2.0-alpha.4 - October 28, 2020

Visit our 1.0.0 migration guide and the documentation pages for more information.

Changelog

Improvements

  • Removed some synchronized disk access events from upstream library. #3675
  • Improved exceptions handling when toggling native history collection. #3705

Bug fixes

  • Fixed additional edge cases that occured when trying to infer the route line's z-ordering on the map if not explicitly specified. #3687 #3702
  • Fixed an issue that would make off-route and invalid-route inconsistent when there were no available road edges to map-match to. The state will now report off-route in those situations. #3705

Other changes

  • Fixed BannerInstructions#willDisplay which was marked non-nullable and unusable from Kotlin codebases. #3679
  • Upgraded Maps SDK dependency to v9.6.0-beta.1. This includes performing an immediate puck/camera transition to the current location when resuming the map instead of an animated transition. #3677
  • Updated default routing tiles version to 2020_10_18-03_00_00. #3686

Mapbox Navigation SDK 1.2.0-alpha.3 - October 21, 2020

Visit our 1.0.0 migration guide and the documentation pages for more information.

Changelog

Improvements

  • Update the algorithm to calculate the vanishing point of the route to use EPSG:3857 projection instead of turf measurements. This greatly increases the precision, even on extremely long routes. It also improves the performance of the MapRouteLine. #3661

Bug fixes

  • Assign currentHorizon, currentType and currentPosition from the main thread to avoid synchronization issues #3653
  • Keep the selected route as primary after map style has been changed #3664

Other changes

  • Remove dependency of UI SDK on the modular notification classes. This fixes an issue where the default TripNotification implementation couldn't be replaced with a custom one. #3665

Mapbox Navigation SDK 1.1.1 - October 15, 2020

Visit our 1.0.0 migration guide and the documentation pages for more information.

Changelog

Other changes

  • Bump mapbox-common-native version to 7.1.1 #3651
  • Bump mapbox-android-telemetry version to 6.2.1 #3652
  • Bump mapbox-core version to 3.1.0 #3652

Mapbox Navigation SDK 1.2.0-alpha.1 - October 9, 2020

Visit our 1.0.0 migration guide and the documentation pages for more information.

Changelog

Features

  • Added incident alerts #3640

Bug fixes

  • Fix replay bearing for small maneuvers #3636

Other changes

  • Bump mapbox-navigation-native version to 24.0.0 #1955
  • Bump mapboxEvents dependency to 6.2.0 and mapboxCore dependency to 3.1.0 #3621
  • Bump Maps SDK to 9.6.0-alpha.1 #3632

Mapbox Navigation SDK 1.1.0 - October 7, 2020

Visit our 1.0.0 migration guide and the documentation pages for more information.

Changelog

Performance improvements

  • Improved the time to first banner instructions by updating data from navigator status right after a route is set #3431

Bug fixes

  • Fixed route / isOffRoute race condition which resulted in occasional missed offroute events #3424
  • Fixed incorrect telemetry location timestamp format which resulted in missing feedback events #3456
  • Fixed order of the routes ignored when drawing #3525
  • Fixed annotation of NavigationMapRoute.Builder#build to be @NonNull #3510
  • Adjusted RTL layout handling which fixed minor issues, especially in the InstructionView #3426
  • Resolved a bug where a route casing (route line border) was not visible #3472

Other changes

  • Move post user feedback out of companion #3529
  • Merged onboard, offboard and hybrid routers together, leaving only one modular router component #3498
  • Updated Mapbox Gradle plugins and contributing docs #3370
  • Updated return types, class annotations and docs, exposed route options updater #3429
  • Bumped Kotlin version to 1.4.0 and Coroutines version to 1.3.9 #3445
  • Fix missing destination marker regression when using the Drop-in UI #3462
  • Updated Nav UI day and night styles to new stable production v1 versions #3520

Mapbox Navigation SDK 1.0.0 - October 2, 2020

Today, we are releasing Navigation SDK (Core & UI components) v.1.0 for Android 🎉 🚀

Core Components

This upgrade features

  • a higher accuracy location engine which functions even in low GPS quality scenarios such as tunnels or overpasses,
  • free-drive mode which enables accurate location positioning even without an active route for daily commuting,
  • a new modular architecture that allows developers to customize the navigation experience for their use case,
  • and MAUs-based billing that provides predictability in costs to developers.

UI Components

This release as compared to legacy offers all the features but with much finer control and granularity. It mainly serves as a port of the legacy UI SDK implementation to use the 1.0 version of the Navigation SDK (Core components) and its features. The 1.0 UI Components also removes redundant methods & APIs while exposing new ones instead. It brings in new features, including:

  • Two different ways of providing feedback during a trip session, thereby helping Mapbox provide better route quality, turn-by-turn experiences, traffic congestion, etc.
  • Allowing developers to deemphasize portions of the route line behind the puck, thereby reflecting route progress state.
  • Providing UI components that visualize a single building footprint or extrusion. Great to use for marking the final destination in an improved arrival experience.

Pricing

Applications built with v1.0.0+ are billed based only on monthly active users, specifically "Navigation SDKs" MAUs. Navigation SDK MAUs include Directions API, Vector Tiles API, and Raster Tiles API requests with no upfront commitments or annual contracts. A Navigation SDK MAU becomes a billable event only once a user utilizes the Navigation SDK for turn-by-turn directions or for free-drive.

A single user is billed as one MAU across app upgrades as long as the app is not deleted. Deleting and re-installing an app that uses the Navigation SDK would result in an additional MAU. This happens because the SDK does not store personally identifying information.

To see the number of Navigation SDKs MAUs included in the free tier and the cost per Navigation SDKs MAU beyond the free tier, see the Navigation SDKs section of our pricing page.

Other docs

Visit our 1.0.0 migration guide and the documentation pages for more information.

Please review the developer documentation to start building with the Mapbox Navigation SDK v1.0 for Android.

Already use an older version of the Navigation SDK? Check out the migration guide to transition your project from the "legacy" Navigation SDK to the 1.0 version.

Let us know if you have any questions or run into issues and please open tickets in https://github.com/mapbox/mapbox-navigation-android/issues/new and we will take it from there! We would love your feedback.

Thank you!

Mapbox Navigation SDK 1.0.0-rc.8 - September 9, 2020

Visit our 1.0.0 migration guide and the documentation pages for more information.

Changelog

Changes since Mapbox Navigation SDK 1.0.0-rc.7:

  • Move post user feedback out of companion #3529
  • Fix missing destination marker regression when using the Drop-in UI #3462

Known issues

  • Vanishing route line (deemphasizing the traveled portion of the route) can be slightly out of sync with the location puck.

Mapbox Navigation SDK 1.0.0-rc.7 - September 2, 2020

Visit our 1.0.0 migration guide and the documentation pages for more information.

Changelog

Changes since Mapbox Navigation SDK 1.0.0-rc.6:

  • Fixed order of the routes ignored when drawing #3525
  • Updated Nav UI day and night styles to new stable production v1 versions #3520
  • Fixed annotation of NavigationMapRoute.Builder#build to be @NonNull #3510

Known issues

  • Vanishing route line (deemphasizing the traveled portion of the route) can be slightly out of sync with the location puck.

Mapbox Navigation SDK 1.0.0-rc.6 - August 26, 2020

This release accelerates the version naming of the Navigation UI SDK to match the Navigation Core SDK artifact, both are named 1.0.0-rc.6. Visit our 1.0.0 migration guide and the documentation pages for more information.

Changelog

Changes since the Mapbox Navigation UI 1.0.0-rc.1 and Core 1.0.0-rc.5:

  • Adjusted RTL layout handling which fixed minor issues, especially in the InstructionView #3426
  • Merged onboard, offboard and hybrid routers together, leaving only one modular router component #3498
  • Resolved a bug where a route casing (route line border) was not visible #3472

Known issues

  • Vanishing route line (deemphasizing the traveled portion of the route) can be slightly out of sync with the location puck.

Mapbox Navigation UI SDK 1.0.0-rc.1 & Mapbox Navigation Core SDK 1.0.0-rc.5 - August 19, 2020

This version introduces a UI component of the SDK compatible with the 1.0.0 pre-release series.

The 1.0 UI SDK release as compared to legacy offers all the features but with much finer control and granularity. This version mainly serves as a port of the legacy UI SDK implementation to use the 1.0 version of the Navigation Core SDK and its features. The 1.0 UI SDK also removes redundant methods & APIs while exposing new ones instead. The SDK also brings new features, including:

  • Two different ways of providing feedback during a trip session, thereby helping Mapbox provide better route quality, turn-by-turn experiences, traffic congestion, etc.

  • Allowing developers to deemphasize portions of the route line behind the puck, thereby reflecting route progress state.

  • Providing UI components that visualize a single building footprint or extrusion. Great to use for marking the final destination in an improved arrival experience.

Visit our 1.0.0 migration guide and the documentation pages for more information.

Changelog

Changes since the 1.0.0-rc.4 release of the Mapbox Navigation Core SDK:

  • Updated Mapbox Gradle plugins and contributing docs #3370
  • Fixed route / isOffRoute race condition which resulted in occasional missed offroute events #3424
  • Improved the time to first banner instructions by updating data from navigator status right after a route is set #3431
  • Updated return types, class annotations and docs, exposed route options updater #3429
  • Bumped Kotlin version to 1.4.0 and Coroutines version to 1.3.9 #3445
  • Fixed incorrect telemetry location timestamp format which resulted in missing feedback events #3456

Known issues

All of the issues are targeted to be resolved before this version becomes stable:

  • Casing (a darker border color) of the primary route line is missing.
  • Vanishing route line (deemphasizing the traveled portion of the route) can be slightly out of sync with the location puck.

Mapbox Navigation Core SDK 1.0.0-rc.x series

This upgrade features a higher accuracy location engine which functions even in low GPS quality scenarios such as tunnels or overpasses, free-drive mode which enables accurate location positioning even without an active route for daily commuting, a new modular architecture that allows developers to customize the navigation experience for their use case, and MAUs-based billing that provides predictability in costs to developers.

Please review the developer documentation to start building with the Mapbox Navigation SDK v1.0 for Android.

Already use an older version of the Navigation SDK? Check out the migration guide to transition your project from the "legacy" core Navigation SDK to the 1.0 version.

Let us know if you have any questions or run into issues and please open tickets in https://github.com/mapbox/mapbox-navigation-android/issues/new and we will take it from there! We would love your feedback.

Thank you!

  • Mapbox Navigation Core SDK 1.0.0-rc.4 - August 6, 2020
  • Mapbox Navigation Core SDK 1.0.0-rc.3 - July 27, 2020
  • Mapbox Navigation Core SDK 1.0.0-rc.2 - June 17, 2020
  • Mapbox Navigation Core SDK 1.0.0-rc.1 - June 3, 2020

v0.42.6 - March 16, 2020

  • Fix missing event telemetry when Proguard is enabled #2587
  • fix textAllCaps conflicting with material design #2585
  • Add missing RouteOptions to DirectionsBuilder #2573
  • Fix libandroid-navigation and libandroid-navigation-ui Javadoc task #2534

v0.42.5 - February 11, 2020

  • Backport #2315 to base-v0.42.1 #2318
  • Ensure to use valid MapRouteArrow and MapRouteLine Layer references during style change #2315
  • Cherry pick #2307 (master) into base-v0.42.1 #2308
  • Bump mapbox-navigation-native version to 7.0.0 in base-v0.42.1 branch #2294
  • Cherry pick #2287 (master) into base-v0.42.1 #2292

v0.42.4 - November 25, 2019

  • Bumped Java SDK dependency to 4.9.0 #2043
  • Update translations to latest Transifex #2273 #2277
  • Persist routes across style changes #2262
  • Off-route threshold options #2276

v0.42.3 - November 11, 2019

  • Fix synchronization issue in MapRouteLine / NavigationMapRoute #2256

v0.42.2 - November 6, 2019

  • Disable sideloading functionality in Dynamic offline feature #2248

v0.42.1 - October 18, 2019

  • Roundabout maneuver icon depicts counterclockwise movement when driving on the left #2228

v0.42.0 - September 20, 2019

Note: This release breaks SEMVER / contains API breaking changes. Please consult this migration guide for the necessary updates required.

  • Change driver feedback UI #2054
  • [SEMVER] Fix navigation view memory leak #2051
  • [SEMVER] Remove never used apis causing unnecessary memory issues #2052
  • [SEMVER] Fix backwards instructions in left-side driving scenarios #2044
  • Fix rerouting inside the NavigationUI #2010
  • Fix on route selection change listener being called if route is not visible #2035
  • [SEMVER] Fix NavigationStepData regression from #1890 #2015
  • Bump mapbox-android-sdk version to 8.2.1 #2013
  • Bump Mapbox Annotation Plugin version to v8 0.7.0 #2014
  • Auto generate license for the SDK #2002
  • Update translations to latest Transifex #2003

v0.41.0 - July 11, 2019

  • Fix navigation camera tracking the puck #1995
  • Move events from telemetry to nav sdk #1890
  • Fix DynamicCamera#CameraPosition.zoom NPE #1979
  • Update ComponentNavigationActivity example #1978

v0.40.0 - June 12, 2019

  • Fix notification instruction not updated for arrive maneuver #1959
  • Bump mapbox-navigation-native version to 6.2.1 #1955

v0.39.0 - May 29, 2019

  • Add check to avoid ArrayIndexOutOfBoundsExceptions from MapRouteLine#drawWayPoints #1951
  • Fix way name truncating too soon #1947
  • Fix instruction icon mismatch in between banner and notification #1946

v0.38.0 - May 16, 2019

  • Add option to load offline maps database for NavigationView #1895
  • Update Maps SDK to 7.4.0 #1907
  • Added walking options #1934
  • SoundButton clicklistener wasn't set properly #1937

v0.37.0 - May 1, 2019

  • Added check for legs to route refresh #1916
  • Improve PR Template #1915
  • Fix NavigationLauncherActivity camera animations #1913
  • Fix Navigation Launcher test app Activity incorrect profile regression #1914
  • Update Java Services to 4.7.0 #1906
  • Add connectivity status check to SpeechPlayer provider #1901
  • Fix intermediate way point arrival not triggered #1908
  • Check for valid DirectionsRoute in RouteRefresh #1909
  • ExampleActivity refactor for simplicity/stability #1884
  • Allow default notification color setting via MapboxNavigationOptions #1899

v0.36.0 - April 17, 2019

Note: This release breaks SEMVER / contains API breaking changes. Please consult this migration guide for the necessary updates required.

  • Prevent RouteLeg list access for current step creation #1896
  • Create NavigationViewRouter timeout to unblock routing state #1888
  • Bump mapbox-android-sdk version to 7.3.2 #1894
  • Add NavigationMapRoute attribute for styling route line cap expression #1818
  • Update navigator to 6.1.3 #1892
  • [SEMVER] Add NavigationMapboxMap#addCustomMarker for usage of SymbolManager #1891
  • Fix notification and banner ETAs not in sync #1889
  • Bump mapbox-navigation-native version to 6.1.2 #1885
  • Add offline version check to Navigation View Router #1864
  • Add offline options to Navigation Launcher #1862
  • [SEMVER] Add dynamic offline routing to NavigationView #1829

v0.35.0 - April 12, 2019

  • Github PR template refactor #1879
  • Add custom history events for MapboxNavigation #1881
  • Updated mapbox java to 4.6.0 #1877
  • Bump mapbox-android-sdk version to 7.3.1 #1880
  • Bump mapbox-android-telemetry version to 4.3.0 #1876
  • Bump mapbox-android-plugin-annotation-v7 version to 0.6.0 #1867
  • Add check to only start Route Processor Background Thread once #1866
  • Add periodic refresh #1855

v0.34.0 - April 2, 2019

Note: This release breaks SEMVER / contains API breaking changes. Please consult this migration guide for the necessary updates required.

  • Add remove offline routing tiles by bounding box functionality #1850
  • Update LocationComponent to use LocationComponentActivationOptions #1852
  • [SEMVER] Add NavigationCamera#update for MapboxMap animations #1849
  • Update Maps SDK to 7.3.0 #1844
  • Fix proguard #1816
  • Setup native crash monitor for test application #1841

v0.33.2 - March 22, 2019

  • Bump mapbox-navigation-native version to 6.0.0 #1836
  • Update NavigationCamera resetting state if transition cancelled #1835
  • Added metadata to NavigationPerformanceEvent #1820
  • Update NavigationView NavigationListener to triggered when initialized #1807

v0.33.1 - March 20, 2019

  • Finish camera reset during MapboxMap cancel events #1830

v0.33.0 - March 18, 2019

  • Add DirectionsRouteType for starting navigation with annotation data #1819
  • Added attribute to capture event name in performance trace event #1800
  • Add LocationComponent FPS throttle based on map zoom #1815
  • Fix null ResponseBody in VoiceInstructionLoader #1813

v0.32.0 - March 11, 2019

  • Adjust NavigationCamera zoom reset behavior #1802
  • Update Android Core to 1.2.0 #1805
  • Update Maps SDK to 7.2.0 #1804
  • Add RawLocationListener for direct updates from LocationEngine #1803
  • Fix event simulation flag field wrongly reported #1799
  • Fix missing cancel event / not sent #1796
  • Add manifest placeholder for enabling / disabling Crashlytics automatically #1795

v0.31.0 - March 6, 2019

Note: This release breaks SEMVER / contains API breaking changes. Please consult this migration guide for the necessary updates required.

  • [SEMVER] Remove directionsProfile from NavigationUiOptions #1787
  • Add initial GPS event #1777
  • Add Android P 440 density support to UrlDensityMap #1785
  • Add DepartEventFactory for handling route departure events #1772
  • Fix destination marker not drawn on Style reload #1779
  • Fix plugged wireless battery monitor check #1782
  • Fix navigation cancel button #1776
  • Fix NavigationRoute bearing order #1775
  • Add Github PR template #1766
  • Add Crashlytics to test app #1775

v0.30.0 - February 18, 2019

  • Fix battery charge reporter NPE #1750
  • Adjust continueStraight to default for NavigationRoute #1748
  • Bump NN version to 5.0.0 #1744
  • Ignore primary route update tasks with empty collections #1742

v0.29.0 - February 13, 2019

Note: This release breaks SEMVER / contains API breaking changes. Please consult this migration guide for the necessary updates required.

  • Added RouteRefresh as a wrapper class for MapboxDirectionsRefresh #1738
  • Bump mapbox sdk services version to 4.5.0 #1736
  • Prevent route feature collections IndexOutOfBoundsException in PrimaryRouteUpdateTask #1735
  • Update RouteRetrievalEvent #1731
  • Add interceptor and event listener support for NavigationRoute #1734
  • Add battery event #1729
  • Add silent waypoints support into NavigationRoute #1733
  • Update Maps SDK 7.1.2 #1728
  • Fix issue with mute persistence between navigation sessions / rotation #1726
  • Added RouteRetrievalEvent #1661
  • [SEMVER] Allow multiple route simulations with NavigationView #1724
  • Update Maps SDK 7.1.1 and Annotation Plugin 0.5.0 #1722
  • Return false for OnMapClick listeners #1717

v0.28.0 - January 30, 2019

Note: This release breaks SEMVER / contains API breaking changes. Please consult this migration guide for the necessary updates required.

  • Delay initialization of FpsDelegate / WayName in NavigationMapboxMap #1700
  • Update Maps SDK 7.1.0 #1712
  • [SEMVER] Added exit signs to the instruction banner and refactored instruction loader #1195
  • [SEMVER] Replace deprecated maker usage in NavigationMapboxMap with SymbolManager #1707
  • Add ManeuverView APIs for adjusting primary and secondary color #1709
  • Update translations from Transifex #1704
  • Provide default LocationComponent style when not found #1696
  • Update support lib 28.0.0 to fix issue with ViewModel restoration #1690
  • [SEMVER] Update TurnLaneView to use VectorDrawable instead of StyleKit #1695
  • Fix activation of default LocationEngine for LocationComponent #1701
  • Adjust route overview to account for lifecycle #1688

v0.27.0 - January 16, 2019

Note: This release breaks SEMVER / contains API breaking changes. Please consult this migration guide for the necessary updates required.

  • [SEMVER] Consume banner instructions from NN #1543
  • Update InstructionLoader API as public / taking BannerText #1683
  • Removed multiple instantiations of MapboxOfflineRouter from OfflineRegionDownloadActivity #1684
  • Add Streets Source v7 and v8 checks for way name layer #1679
  • Add dynamic map FPS adjustment for NavigationMapboxMap #1669
  • Add ability to disable auto-increment of RouteLeg index #1643
  • Tracking gestures management to true in default NavigationView styles #1682
  • Fix AlertView animation leak #1667
  • NavigationView do not allow way name to show in overview mode #1676
  • [SEMVER] Set ssmlAnouncement when using SpeechAnnouncementListener #1675
  • [SEMVER] Update Maps SDK 7.x and events 4.x with new location APIs #1615
  • Update dependencies: ConstraintLayout, mockito, leakCanary, robolectric #1668
  • Remove unused / package-private RouteStepProgress#nextStep #1666
  • Return the actual error coming back from NN when fetching an offline route fails #1660
  • Create RouteProgress after leg index check in RouteProcessorRunnable #1657
  • Use MapboxMap camera animation for resetting NavigationCamera #1658
  • Allow NavigationView to start navigation during existing session #1655
  • Happy 2019 🎉🚗 #1654
  • Bump Maps and Events dependencies #1651

v0.26.0 - December 20, 2018

Note: This release breaks SEMVER / contains API breaking changes. Please consult this migration guide for the necessary updates required.

  • NavigationMapRoute 2.0 #1387
  • [SEMVER] Use Android View instead of runtime styling for way name #1621
  • Update Maps SDK 6.8.0 #1642
  • Add waypoint targets support into NavigationRoute #1640

v0.25.0 - December 16, 2018

  • Update Navigator to 3.4.11 #1635
  • Bump mapbox-navigation-native version to 3.4.10 #1631
  • Changed the elevation of the InstructionView so that it doesn't encounter overlapping issues. #1089
  • Include 'exit roundabout' in Navigation Constants #1628
  • Fix voice instruction cache not getting initialized with injected speech player #1627
  • Fix turn-by-turn UI voice instructions repeated after a config change #1622
  • Check for successful tar response in TarFetchedCallback #1620
  • Generate unique filenames for archives in check binary size script #1619
  • Move SummaryBottomSheet above RecenterBtn in navigation_view_layout.xml #1616
  • Update script-git-version.gradle with try/catch #1617
  • Target API 28 and add FOREGROUND_SERVICE permission #1612
  • Add check to only cache instructions if the language setup is supported by Voice API #1610
  • Attempt to fix the coverage job #1601

v0.24.1 - December 5, 2018

  • Increment leg index upon way point arrival #1604
  • Update Navigator 3.4.9 #1603
  • Bump mapboxSdkServices version to 4.2.0 #1599
  • Setup CI to publish the sample app to Google Play #1597
  • Add last commit hash to test app settings #1590

v0.24.0 - December 3, 2018

Note: This release breaks SEMVER / contains API breaking changes. Please consult this migration guide for the necessary updates required.

  • Add proguard rule for MapboxTelemetry #1593
  • Update Navigator to 3.4.7 #1592
  • Bump mapbox-navigation-native version to 3.4.6 #1586
  • Update Java Services 4.1.1 #1585
  • Bump mapbox-android-sdk and mapbox-android-telemetry versions #1584
  • Only allow choosing an offline version with valid data #1583
  • Add bearing to origin of offline route requests in OfflineRouteFinder #1582
  • Update permissions and preferences for ExampleActivity #1581
  • Enable history recording in example activity #1580
  • Add write external permission storage to app AndroidManifest #1578

v0.24.0-beta.2 - November 29, 2018

  • Route tile download #1559
  • Update OfflineTileVersions visibility and add to MapboxOfflineRouter #1571
  • Fix the progressUpdateListener for Tile Pack Unpacking #1567
  • Update MapboxOfflineRoute APIs and callback naming #1569
  • Fix milestone / progress listener leaks from NavigationView #1552
  • Fix JSON file names (repo name) in check binary size script #1564
  • Fix malformed binary size JSON #1563
  • Integrate navigation state changes from latest events library version #1562
  • Ignore StyleKit files for codecov #1561
  • Check for DynamicCamera in ExampleViewModel shutdown #1560
  • Fix cache is closed crash #1555
  • Bump mapboxEvents and mapboxNavigator versions #1558
  • Check for valid route with length in MockNavigationActivity #1556
  • Update processor tests and remove unused helper code #1536
  • Add binary size metric and push to loading dock #1554
  • Fix UI tests with DirectionsRoute test fixture #1548
  • Add codecov.yml #1551
  • Nav Native API update #1547
  • Add listener for updates to map way name #1544
  • Ignore PendingIntent to re-open package with null Intent #1546
  • Always add FeatureCollection for way points in NavigationMapRoute #1542

v0.24.0-beta.1 - November 15, 2018

  • Prevent from requesting voice instructions if the cache has been previously closed and add a check to delete the cache if there are files #1540
  • Add offline functionality #1539
  • Remove unnecessary proguard rule resolved in Java services 4.1.0 #1532
  • [SEMVER] Fix navigation map route array index out of bounds exception and add clean up navigation launcher preferences support #1530
  • [SEMVER] Fix voice instructions cache #1481
  • Update Navigator to 3.4.0 #1525
  • Cancel outstanding Directions API requests onDestroy NavigationViewModel #1515
  • [SEMVER] Use most recent raw Location when building snapped Location #1522
  • Update translations to latest Transifex #1513
  • Update codecov badge to Navigation 😅 #1510
  • Update README.md with codecov badge #1509
  • Generate and push code coverage to codecov.io in CI #1506

v0.23.0 - November 7, 2018

Note: This release breaks SEMVER / contains API breaking changes. Please consult this migration guide for the necessary updates required.

  • [SEMVER] Add RouteProgressState to RouteProgress for current Navigator information #1502
  • [SEMVER] Remove LocationValidator and force last Location if found #1498
  • Update MapRouteProgressChangeListener to be aware of route visibility #1482
  • [SEMVER] Remove MapboxNavigationOptions ignored by Navigator #1500
  • Check for valid geocoding response in ExamplePresenter #1499
  • Better clarify the Mapbox Navigator dependency #1496
  • Add example test Activity for Navigation Test Application #1317
  • Bump mapbox-navigation-native version to 3.3.1 #1495
  • Add Mapbox Navigator TOS to the license #1494
  • Bump Maps SDK and Events versions #1493
  • Resume simulation for multi leg routes #1490
  • Remove dynamic padding way name adjustment for MapWayname #1473
  • Remove unnecessary force first location update from route (origin) #1488
  • Add CameraPosition option for initializing NavigationView #1483
  • Rebuild RemoteViews for MapboxNavigationNotification on each update #1474
  • Update time remaining TextView to auto-size for longer durations #1479
  • Fix mock location generation in ReplayRouteLocationConverter #1476
  • Update Maps SDK to 6.6.2 #1475
  • Bump mapbox-navigation-native version to 3.2.1 #1470
  • [SEMVER] Allow access to AlertView and the ability to enable or disable #1466
  • Update Transifex to latest German translations #1476

v0.22.0 - October 24, 2018

Note: This release breaks SEMVER / contains API breaking changes. Please consult this migration guide for the necessary updates required.

  • [SEMVER] Replace LocationLayerPlugin with LocationComponent #1438
  • Makes gradle.properties license listing consisting with repo #1456
  • Rebuild MapboxNavigationNotification for each update #1455
  • Update progruard rules to ensure Navigator is kept in release builds #1454
  • Adjust InstructionView primary and secondary loading logic #1451
  • Correct iconSize expression #1453
  • Update InstructionView to consume turn lane data from sub BannerText #1440
  • Fix MapWayname ProgressChangeListener leak #1442
  • Add base HistoryActivity for testing #1447
  • Fix sub BannerText loading shields for first time #1446
  • make use of fixed duration for non tracking statuses #1437
  • Check for valid index before updating steps in NavigationRouteProcessor #1435
  • Update UrlDensityMap for more screen densities #1436
  • Update Transifex latest translations #1433
  • Update Maps SDK 6.6.1 and Events 3.4.0 #1434
  • Stop scrolling before notifying InstructionListAdapter #1432
  • Add FusedLocationEngine to Test App #1373
  • Check for null maneuver type in ManeuverView #1429
  • Revert Shield URL density additions #1428
  • Add no value checks for FixLocation in MapboxNavigator #1426
  • Show turn lanes when sub BannerText is not present #1427
  • Log TimeFormatter error in place of IllegalArgumentException #1425
  • Filter queried Features for map way name #1156
  • Add tunnels functionality #1392
  • Load sub-banner Shield Images #1418
  • Fix shields not showing up for some display densities #1414
  • Bump Android Gradle plugin version to 3.2.1 #1415
  • [SEMVER] Added nav-native ETAs #1412
  • Delay start navigation until route received in MockNavigationActivity #1411
  • Update Maps v6.6.0 release #1310
  • [SEMVER] Consume Sub BannerText in InstructionView #1408
  • Fix component navigation activity camera issues #1407

v0.21.0 - October 5, 2018

Note: This release breaks SEMVER / contains API breaking changes.

  • Add CustomNavigationNotification notification channel #1388
  • [SEMVER] Add OnCameraTrackingChangedListener to NavigationMapboxMap #1386
  • Bump mapbox-android-plugin-locationlayer version to 0.10.0 #1382
  • Camera tracking modes selection with GPS and North as options #1377
  • Match min and max pitch values with iOS #1379
  • Migrate camera tracking logic to the LocationLayerPlugin #1372
  • CP: Use tracking animation multiplier 2x #1347
  • Fix multi on click listener NPE in recenter button #1374

v0.20.0 - September 30, 2018

Note: This release breaks SEMVER / contains API breaking changes.

  • Update Navigator to 3.1.3 #1364
  • Delay adding InstructionView default click listeners until subscribed #1362
  • Do not remove OffRouteListeners onArrival #1363

v0.20.0-beta.1 - September 30, 2018

  • Refine InstructionView update APIs #1355
  • Puck Gymnastics #1354
  • Fix MultiOnClickListener NPE #1353
  • [SEMVER] Ignore null locations #1352
  • Update nav native to 3.0.1 #1348
  • Add separate APIs for updating InstructionView #1340
  • Create MultiOnClickListener before View is attached #1345
  • Add navigator history functionality #1342
  • Navigation native #1336
  • Ignore navigation view orientation test #1331
  • Add NavigationMapboxMap APIs for showing multiple routes on map #1320
  • Add NavigationMapboxMap to set LocationLayer RenderMode #1319
  • Update Build Tools 28.0.3 #1313
  • Add default roundabout angle value for ManeuverView #1264
  • 0.19.0 release README bump #1306
  • Bump MAS version to 4.0.0 #1308

v0.19.0 - September 24, 2018

Note: This release breaks SEMVER / contains API breaking changes.

  • Fix route requests that include approaches and fix calculate remaining waypoints and waypoint names logic #1303
  • Added ability to hide/add listeners to buttons/alert views #1251
  • [SEMVER] Allow custom LocationEngine from NavigationViewOptions #1257
  • Add debug logging support back #1298
  • Make last location from replay route location engine null (by default) until the first location is received or assigned explicitly #1296
  • [SEMVER] Do not update MockLocationEngine route on rotation #1289
  • Fix mock navigation activity leak and fix location puck flying from current location to mock #1294
  • [SEMVER] Add location dispatcher to replay raw GPS traces #1039
  • Remove sonarqube integration #1290
  • Update Maps SDK to 6.5.0 and Events to 3.2.0 #1241
  • [SEMVER] Add onNavigationStopped callback for NavigationNotification #1283
  • [SEMVER] Added custom rounding increments for formatting distance #1231
  • [SEMVER] Simplify will voice api #1281
  • Update RouteEngine for NavigationView duplicate starts #1277
  • Fix recenter problem with Remove onMoveListener in onDestroy #1263
  • Update Milestone javadoc to explain ignored trigger behavior #1269
  • Fix route requests that include waypoint names #1260
  • Do not allow multiple ViewModel subscriptions in NavigationView #1275
  • Update Transfiex Translations #1258
  • Do not add Fragments to backstack in FragmentNavigationActivity #1256
  • bump location layer plugin version to 0.8.1 #1252
  • fix route leg progress current leg annotation javadoc broken link #1250
  • Save and restore map state on rotation for way name and camera tracking #1215
  • Add example with MapboxNavigation driving separate UI components #1219
  • Update NavigationView to guard against duplicate initializations #1247
  • [SEMVER] Add NavigationViewOption for default or custom SpeechPlayer #1232
  • Added Burmese, Finnish, Korean, Norwegian guidance
  • Add toggles in NavigationMapboxMap for traffic and incident data #1226
  • Update Map styles to V4 with incident coverage #1234
  • Add initialization logic for null RouteOptions #1229
  • add open pending intent which brings the existing task (activity) to the foreground when clicking the notification #1221

v0.18.0 - August 24, 2018

  • Add toggles in NavigationMapboxMap for traffic and incident data #1226
  • Update Map styles to V4 with incident coverage #1234
  • Add initialization logic for null RouteOptions #1229
  • Reopen the app when when clicking the whole notification #1221
  • Update Maps SDK to 6.4.0 and Events to 3.1.5 #1220
  • Do not scroll Instruction RecyclerView while animating #1214
  • Only reset night mode for EmbeddedNavigationActivity when isFinishing #1213
  • Add Boolean in MapboxSpeechPlayer to prevent IllegalStateException #1212

v0.17.0 - August 10, 2018

Note: This release breaks SEMVER / contains API breaking changes.

  • Bump MAS version to 3.4.1 #1203
  • Notify InstructionListAdapter after animation finishes #1143
  • Revert MAS version from 3.4.0 to 3.3.0 #1200
  • Update Java SDK to 3.4.0 #1196
  • [SEMVER] Allow access to NavigationMapboxMap and MapboxNavigation #1179
  • Retrieve feedback Strings from Resources #1194
  • Update README Snapshot #1186
  • Add gradle-versions-plugin to the project #1187
  • Add a null check to prevent NPE in NavigationViewModel onDestroy #1192
  • [SEMVER] Remove Location filter and check Location#getAccuracy #1157
  • Provide example of showing and hiding Fragment with NavigationView #1113
  • Added InstanceState to simplify saving the state #1162
  • Fix OffRoute engine cleared before service shutdown #1167
  • Transifex Updates #1145
  • Fix SpeechAnnouncementListener example and add tests #1166
  • Update dependencies LLP, ConstraintLayout #1172
  • Consolidate InstructionView DistanceFormatters #1174
  • Add ETA support for the notification back #1184
  • Fix exception when adding routes in NavigationMapRoute #1150
  • Check dispatcher on announcement and instruction events in ViewModel #1152
  • Update LeakCanary to 1.6.1 #1181
  • Re-initialize arrow sources in NavigationMapRoute after style loaded #1180
  • Use application Context for CustomNavigationNotification example #1182
  • Update README.md with UI build.gradle instructions #1148
  • Add maneuver view roundabout angle bottom limit #1144
  • Use roundabout degrees for "then" step in InstructionView #1141
  • Remove navigation listeners before clearing NavigationEngineFactory #1140
  • Prevent to use the map route until the map is ready and the route fetched #1134

v0.16.0 - July 20, 2018

Note: This release breaks SEMVER / contains API breaking changes.

  • Fixed error by only accepting SUCCESS state #1127
  • Make navigation map null when shutting navigation view down #1125
  • Update Maps SDK 6.3.0 and Telem 3.1.4 #1124
  • Fix IllegalArgumentException when updating InstructionList #1123
  • [SEMVER] Update MapboxNavigationNotification to consider 24 hour time formatting #1115
  • Prevent route overview animation with insufficient route data #1120
  • Prevent NavigationNotification update after unregistered #1118
  • Refactor InstructionListAdapter and limit roundabout degrees in ManeuverView #1064
  • Improve catching low point amounts #1122
  • Simplify find current banner and voice instructions algorithms #1117
  • Update TimeFormatter to include localized Strings #1106
  • Add InstructionListener for intercepting Voice / Banner Instructions #1107
  • NavigationService refactor and tests #1066
  • Add dual navigation map example to the test app #1092
  • Update LocationLayerPlugin 0.6.0 #1102
  • Fix navigation camera on start null pointer exception #1094
  • Fix navigation map route index out of bounds exception #1093
  • Ignore arrival checks after route has finished #1070
  • Added InstructionView list state to saveInstanceState #1079
  • Update Transifex translations #1088
  • Rename MapView id included in NavigationView #1087
  • Update Transifex translations #1078
  • Update navigation view activity (from the test app) naming #1076
  • Add end navigation functionality to navigation view #959
  • Fix voiceLanguage NPE and add tests for NavigationSpeechPlayer #1054
  • Fix vector drawables for < API 21 in test Application #1067
  • Re-did the navigation notification layout #1059
  • Setup AppCompatDelegate night mode to automatic #1063
  • Fix upcoming maneuver arrow underneath road labels #1053

v0.15.0 - June 21, 2018

  • Use theme attribute to update MapView map style URL #1018
  • Remove setting voiceLanguage / voice unitType in RouteFetcher #1046
  • Add distance remaining buffer to show first instruction immediately #1043
  • Revert maps SDK version to 6.1.3 #1044
  • Update Maps SDK to 6.2.0 #1042
  • Update to MAS 3.3.0 and add approaches / waypointNames to NavigationRoute #996
  • Fix upcoming arrow is drawn over annotations #1041
  • Added error logging for API voice errors #1036
  • Removed AndroidSpeechPlayer.UtteranceProgressListener and replaced wi… #1017
  • Added check for whether a language is supported by API voice before d… #1004
  • Updated NavigationRoute.language to take a Locale #1025
  • Add route overview button and animation to NavigationView #967
  • NavigationViewEventDispatcher remove navigation listeners in onDestroy #1013
  • Fixed issue where map still had focus when instruction list was visib… #1014
  • Remove origin, destination, unit type and locale from nav options #965
  • Remove metric arrival event reset for multiple waypoints #1022
  • Check for valid name property value in MapWayname #1031
  • Update NavigationActivity naming to avoid naming collisions #1020
  • Hide way name when camera is not tracking Location #1027
  • Add check to remove listener from location engine in NavigationService #1026
  • Fixed overlapping of button and compass by wrapping button content #990
  • Add missing arrival ManeuverViewMap pair #1007
  • Remove attempt to place route source when style layers are null #1006
  • Update LocationLayerPlugin to 0.5.3, MAS 3.2.0 #1010
  • Added extra call to onError for cases where a response is received bu… #997
  • Added InstructionViewCallback to allow views to be alerted when the in… #988
  • Update repositories block in build.gradle to have google() as the first entry #1000
  • Add wayname underneath navigation puck #953
  • Add upcoming maneuver arrow on the route line #934
  • Update InstructionView with BannerMilestone only with callback #969
  • Added onOffRoute call and removed queue from NavigationInstructionPlayer #986
  • Example cleanup #987
  • Check distance remaining before running OffRouteDetector logic #977
  • Add try catch when obtaining FragmentManager in InstructionView #973

v0.14.0 - May 30, 2018

  • Always provide DirectionsRoute in NavigationActivity #980
  • Update Maps SDK to 6.1.3 and Events library to 3.1.2 #975
  • Add List of Milestones to NavigationViewOptions #974
  • Remove origin, destination, unit type and locale from nav options #965
  • Update Maps SDK 6.1.2 #962
  • Disable debug logging for Telemetry and Image loading #961
  • Reset EventDispatcher in onDestroy #954
  • Fix link in CONTRIBUTING.md #952
  • Fix navigation guidance styles keys #948
  • Resume navigation state based on MapboxNavigation running #946
  • Initialize ViewModel EventDispatcher in NavigationView constructor #945
  • Add NavigationHelper check for valid step points using lineSlice #944
  • Use last BannerInstruction for arrival event #943
  • Downgrade min sdk version to 14 #942
  • Remove onStyleLoaded Callback in NavigationView #939
  • Update ConstraintLayout, Support Lib, and LocationLayerPlugin dependencies #938
  • Update translation Strings and add Burmese #937
  • Check for valid BannerInstructions when milestones are enabled #936
  • Added null check to make sure a file is actually returned #925
  • Update to Guidance V3 Map Styles #917
  • Check NavigationOptions in NavigationService #916
  • Remove AWS Polly dependency not needed anymore #914
  • Update localization.md #913
  • Dynamic abbreviations in banner instructions #887

v0.13.0 - May 2, 2018

  • Add missing uturn step maneuver modifier to should flip modifiers set #908
  • Bump Mapbox SDK Services to 3.1.0 version #907
  • Reverse maneuver sharp left resource #905
  • Fixed bug where we weren't checking if the unit type changed before l… #896
  • Remove use of LiveData for fetching DirectionsRoute and updating Location #894
  • Update String resources with new Transifex translations #889
  • Cancel delayed transitions when InstructionView is detached #885
  • Remove app name String resource from libandroid-navigation #884
  • Update localization.md #881
  • Fix Feedback FAB margins #878
  • Update new Transifex translation Strings #870
  • Check for null camera engine before returning from MapboxNavigation #866
  • Update Maps SDK 5.5.2 #865
  • Added null check for race condition when deleting instruction files #860
  • Add null start timestamp check for metric events #857
  • Add NavigationLauncherOption snap-to-route enabled #856
  • Use BannerText roundabout degrees + Banner and Voice Milestone Tests #854
  • Added null checks in case the user isn't using voice instructions #852
  • Add gradle-dependency-graph-generator-plugin to the project #850
  • Remove draw routes and add direction waypoints calls already being called #849
  • Add AutoValue Proguard rule #838
  • Validate route profile passed into RouteViewModel #829
  • Remove NavigationCamera ProgressChangeListener as public api #828
  • Upgrade RouteProgress Step Data #812
  • Integrate API Voice #751

v0.12.0 - April 3, 2018

  • Add MapboxNavigationOptions to adjust location validation thresholds #818
  • Set default driving profile and check for empty profile #816
  • Update to MAS 3.0.1 #815
  • Added safety for NONE_SPECIFIED type for voice units #811
  • Add stick to chosen route when re-routing with UI functionality #808
  • Remove NavigationView lifecycle observer and add Fragment Example #806
  • Add 12/24 hour format Navigation View Option #805
  • Fixed unit type was defaulting to imperial #804
  • Update ISSUE_TEMPLATE.md #798
  • Decrease Robo tests time to 5 minutes #795
  • Send departure event with a valid distance traveled #789
  • Remove last location check from location validation #788
  • Add localization instructions #785
  • Extract NavigationEngine processing logic and add tests #784
  • Fix OffRoute detection disabled bug #783
  • Create separate options for Launcher and View #782
  • Create LocationValidator for checking new location updates #690

v0.11.1 - March 16, 2018

  • Adjust sound layout margin #775
  • Fix distancesFromManeuver not being cleared #773
  • Allow setting of custom destination marker in theme #763
  • Fixed back button in NavigationViewActivity #768
  • Fixed unit type bug #769
  • Fix MapRoute listener not firing for index 0 #772
  • Stop scroll of InstructionList before hiding #766
  • Add baseUrl to NavigationRoute and Turf conversion #767
  • Force first location update without last location #756
  • Update EventListener Thread Safe #762
  • Create camera animation from time between updates #753
  • NavigationView Landscape Optimizations #749

v0.11.0 - March 7, 2018

  • Fix same point being added twice for LatLngBounds #741
  • Fix Recent Distances from maneuver Off-Route #739
  • Update MAS Dependencies #738
  • Update LocationLayerPlugin to 0.4.0 #734
  • Fix visibility bug with TurnLanes #733
  • Update Maps SDK 5.5.0 #732
  • Show first BannerInstruction immediately #731
  • Fix initialization of directions list #728
  • Default Dynamic Camera for Navigation UI #679

v0.10.0 - February 26, 2018

  • Fix NPE with MapRoute click listener #721
  • Null check camera tracking #719
  • Initialize metric session state in constructor #718

v0.10.0-beta.1 - February 16, 2018

  • Clear features so DirectionsRoute isn't redrawn when new style loads #706
  • Fix bug with MapRoute onClick #703
  • Fix flashing InstructionView list during re-routes #700
  • Fix FeedbackBottomSheet rotation bug #699
  • Check Turn / Then Banner on each update #696
  • Instructions based on locale #691
  • Cancel animation if AlertView detaches while running #689
  • Add bearing to RouteEngine requests #687
  • LocationViewModel obtain best LocationEngine #685
  • Dependencies Bump #684
  • Fix issue with startup in Night Mode #683
  • Cache route options / calculate remaining waypoints #680
  • Switched setOnMapClickListener() to addOnMapClickListener() #672
  • Locale distance formatter #668
  • Off-Route Bug Fixes #667
  • Update Default Zoom Level #655

v0.9.0 - January 23, 2018

  • Update Maps and Services dependencies #661
  • Add Maneuver type exit rotary constant #653
  • Moved WaypointNavigationActivity from the SDK to the test app #652
  • NavigationTelemetry update cue for changing configurations #648
  • Remove duplicate ViewModel updates #647
  • Track initialization of NavigationView #646
  • Update Maps SDK to 5.3.1 #645
  • Check for null directions route or geometry in SessionState #643
  • Remove NavigationViewModel as lifecycle observer #643
  • Exposes the MapboxMap in NavigationView with a getter method #642
  • Package delivery/ride sharing waypoint demo #641
  • Removed boolean that was preventing subsequent navigation sessions #640
  • Add FasterRouteDetector to check for quicker routes while navigating #638
  • Notification check for valid BannerInstructions before updating #637
  • Check for at least two coordinates when creating snapped location #636
  • Add language to NavigationViewOptions with default from RouteOptions #635
  • Add onDestroy as a method that must be implemented for NavigationView #632
  • Check for network connection before setting off-route #631
  • Add NavigationView style attribute for custom LocationLayer #627
  • Replace setOnScroll (now deprecated) with addOnScroll #626
  • Check for IndexOutOfBounds when calculating foreground percentage #625
  • Fix for listener bug #620

v0.8.0 - December 20, 2017

  • Update Maps SDK to 5.3.0 #617
  • Expose listeners in the NavigationView #614
  • Null check light / dark theme from NavigationLauncher #613
  • Add SSML parameter to Polly request #612

v0.8.0-beta.1 - December 15, 2017

  • Allow theme setting from NavigationViewOptions #595
  • Fix issue NavigationView simulation #594
  • Remove preference setup for unit type in RouteViewModel #593
  • Create other map issue in feedback adapter #592
  • Remove specified layer for map route #590
  • Guard against IndexOutOfBounds when updating last reroute event #589
  • Set original and current request identifier #585
  • Add SSML announcement option for VoiceInstructionMilestone #584
  • Remove duplicate subscriptions to the ViewModels #583
  • Return Milestone instead of identifier #579
  • DirectionsProfile for reroutes in NavigationView #575
  • Add custom notification support #564

v0.7.1 - December 6, 2017

Note: This release breaks SEMVER / contains API breaking changes.

  • Fix NPE with reroute metric events #565
  • Adjust metric listener reset #566
  • Update distance completed in off-route scenario #568
  • Update Maps SDK to 5.2.1 #570

v0.7.1-beta.1 - December 1, 2017

  • Expanded the width of route lines when zoomed out
  • Added support for displaying alternative routes on map
  • Adds exclude, voiceUnits, and banner instruction info to request/response #500
  • [SEMVER] Add Imperial / Metric support for UI & Notification #501
  • Add NavigationView as a lifecycle observer #506
  • Add Custom themes via XML for light / dark mode #507
  • Navigation Metrics Refactor #511
  • Add software layer type programmatically for Maneuver and Lane View #514
  • Use NavigationViewOptions in NavigationLauncher #524
  • Lifecycle aware Navigation Metrics #540

v0.7.0 - November 13, 2017

  • Updated to Mapbox Java 3.0 #373
  • Update InstructionView with secondary TextView #404
  • Fixed issue with bearing values in route requests #408
  • Updates and docs for NavigationRoute #413
  • Fixed native crash with initialization of navigation UI #423
  • Add validation utils class #424
  • Cancel notification when service is destroyed #409
  • Adjust API Milestone to handle new routes #425
  • Replaced maneuver arrows with custom StyleKit #362
  • Dynamic reroute tolerance #428
  • Add Telem location engine class name #401
  • Fixed snap to route object for snapped location #434
  • Directions list as dropdown #415
  • Feedback UI #383
  • Fixed bearing values not matching number of coordinates #435
  • Updated to new TurfConversion class #440
  • Removes duplicate check and adds test for new route #443
  • Show / hide recenter button when direction list is showing / hiding #441
  • Current step removed from instruction list #444
  • Change feedback timing #442
  • Updated Maneuver Icons #445
  • Fixed ordering of the bearings #455
  • "Then" Banner Instruction #456
  • NavigationQueueContainer Class to manage reroute and feedback queues #457
  • Update Turn lane Views to use StyleKit #466
  • Upgraded to Gradle 3.0 #453
  • Fixed up a few issues preventing all direction routes from working #469
  • AlertView integrated with post-reroute feedback #470
  • Fix leak when closing app with bottomsheet showing #472
  • Added issue template #418
  • Check for null raw location before setting bearing #476
  • Update location layer to 0.2.0 and re-add as lifecycle observe #473
  • Check for null or empty String speechUrl before playing #475
  • Create SpanUtil and SpanItem to more easily format Strings #477
  • Initialize click listeners after presenter / viewmodel is set #481
  • Fix bug with bottomsheet not hiding in night mode #483
  • Adjust Instruction Content Layout XML #465
  • Add telem absolute distance to destination track support #427
  • Fix issue where new route was not being detected #478
  • Fix bug with bottom sheet behavior null onConfigChange #490
  • Update lane stylekit and then maneuver bias #492
  • Add missing javadoc for feedback methods in MapboxNavigation #493
  • Portrait / landscape instruction layouts are different - only cast to View #494

v0.6.3 -October 18, 2017

  • Significant reroute metric fixes #348
  • Avoid index out of bounds when drawing route line traffic #384

v0.6.2 - October 7, 2017

  • Fixed an issue with the Location Engine not being activated correctly inside the Navigation-UI lib #321
  • Fixed bottom sheet not getting placed correctly when the device is rotated #320
  • Fixed missing reroute UI when a navigation session reroute occurs #319
  • Added logic to detect if the user did a u-turn which would require a reroute #312
  • Revert snap to route logic creating a new Location object which was causing location updates to occasionally get stuck at a maneuver point #308
  • Restructured the project so the studio projects opened from the root folder rather than having it nested inside the navigation folder #302
  • Notifications fixed for Android Oreo #298
  • OSRM-text-instructions removed #288
  • General code cleanup #287
  • Day and night mode and theme switching functionality added inside the Navigation-UI library #286
  • Metric reroute added - #296

v0.6.1 - September 28, 2017

  • Telemetry Updates

v0.6.0 - September 21, 2017

  • First iteration of the Navigation UI
  • Optimized Navigation features which were causing slowdowns on long steps - 219
  • Only decode step geometry when needed - 215
  • Introduced metrics
  • Cleaned up code and fixed several bugs

v0.5.0 - August 30, 2017

  • use followonstep inside routeprogress for instruction - #188
  • Persistent notification #177
  • Fixes crash occurring ocasionally at end of route - #175
  • Cleaned up RouteProgress object to use AutoValue builders - #164
  • Run calculations and cleaned up MapboxNavigation class - #151

v0.4.0 - August 1, 2017

  • Add new alert level concept called, milestones #84
  • Multiple way point support added #76
  • Support for congestion along the route #106
  • Default Milestones and text instructions #98 and
  • Several improvements and bug fixes for snap to route logic #97
  • Only update routeProgress when the user has a speed greater than 0 #118
  • Add radius to directions route request #119
  • Remove RouteUtils class #127
  • Remove hardcoded constant for seconds till reroute #121
  • Adds support for creating custom instructions for Milestones #122
  • RouteProgressChange callback will attempt to get instantly invoked when starting if a locations present #47
  • Upgrade to MAS 2.2.0 #153

v0.3.1 - June 8, 2017

  • Use AutoValue inside RouteProgress objects #74
  • Directly use direction distance measurements instead of calculating them. #125

v0.3 - June 5, 2017

v0.2 - May 15, 2017

v0.1 - April 20, 2017

  • Initial release as a standalone package.