Skip to content

0.23.0 Migration Guide

Pablo Guardiola edited this page Dec 21, 2018 · 2 revisions

PRs that broke SEMVER:


In Remove MapboxNavigationOptions ignored by Navigator the following MapboxNavigationOptions were removed:

  • maxTurnCompletionOffset();
  • maneuverZoneRadius();
  • maximumDistanceOffRoute();
  • deadReckoningTimeInterval();
  • maxManipulatedCourseAngle();
  • userLocationSnapDistance();
  • secondsBeforeReroute();
  • snapToRoute();
  • enableOffRouteDetection();
  • manuallyEndNavigationUponCompletion();
  • metersRemainingTillArrival();
  • minimumDistanceBeforeRerouting();

These options were removed, because with the introduction of Navigator in https://github.com/mapbox/mapbox-navigation-android/pull/1265, we are no longer considering them in our core processing logic. We are going to look into allowing more configuration again as time progresses.


In Remove LocationValidator and force last Location if found, we remove the MapboxNavigationOption#locationAcceptableAccuracyInMetersThreshold(). We did this because this option was also not being considered. Navigator has its own Location filtering algorithms that will reject / accept updates for processing.


Add RouteProgressState to RouteProgress for current Navigator information we broke our RouteUtils API. Detecting an arrival event with RouteUtils#isArrivalEvent now only requires a RouteProgress:

// OLD
routeUtils.isArrivalEvent(@NonNull RouteProgress routeProgress, @NonNull Milestone milestone)

// NEW
@Override
public void onProgressChange(Location location, RouteProgress routeProgress) {
  RouteUtils routeUtils = new RouteUtils();
  boolean isArrival = routeUtils.isArrivalEvent(routeProgress);
}