Mapbox welcomes participation and contributions from everyone.
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.
- Expose TilesetDescriptorFactory #4283
- Add building highlight on arrival #4078
- Add EHorizon isOneWay property #4295
- 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 thePredictiveCacheControler
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 (typicallyoverview
) 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
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
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.
- Added a callback to the
ArrivalObserver
specifically for waypoint experiences. #4238
- 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 theNavigationCamera
. You can read more about details in theMapboxNavigationViewportDataSource
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 defineCameraOptions.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
- When in the
- 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 theonWaypointArrival
andonFinalDestinationArrival
callbacks consistent, and can be specified through theArrivalController
asArrivalOptions
. #4250
Visit our 1.0.0 migration guide and the documentation pages for more information.
⚠️ ChangedDynamicCamera
's default tilt and zoom constraints to improve performance and readability of the map when in active navigation. #4262
Visit our 1.0.0 migration guide and the documentation pages for more information.
- Added additional route overview method to NavigationMapboxMap to display section of route not yet traveled rather than the full route. #4247
- 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
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.
⚠️ ChangedMapboxNavigation#requestRoutes
to not automatically set the result as the primary route for the navigation experience. When callingMapboxNavigation#requestRoutes
make sure to also callMapboxNavigation#setRoutes
with a result. This change allows for dispatching and managing multiple route requests concurrently, including cancelling withMapboxNavigation#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 ⚠️ ExpandedRouteArrowApi
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
- Significantly improved the rendering time of the route line and the time to select an alternative. #4244 #4222 #4209
⚠️ MadeUnitType
inMapboxDistanceFormatter
type-safe. #4224
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.
- 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 inRouteLineColorResources
. #4148 - Added multiple exclusion criteria and notification of exclusion violations. #4195
- 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 theMapboxRouteLineApi
class. #4106 - Split
TunnelEntrance
andRestrictedArea
alerts, madeRoadObjects
info values non-null. #4162
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.
Visit our 1.0.0 migration guide and the documentation pages for more information.
- Fixed speed limit. #4143
- Added default text placeholder to
TripNotification
view. #4156 - Fixed
TripNotification
view to always showStop Session
label. #4173 - Fixed bearings calculation on reroute. #4199
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.
- Implemented Guidance Views. See
MapboxJunctionApi
andMapboxJunctionView
for details. #4157 - Added
SnappingClosures
param to route request builder. #4161
- 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
- Added an example to show custom styling. #4178
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.
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.
- 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
Visit our 1.0.0 migration guide and the documentation pages for more information.
- 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
Visit our 1.0.0 migration guide and the documentation pages for more information.
- 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
Visit our 1.0.0 migration guide and the documentation pages for more information.
- Added auto-choosing the latest tiles version. 3931
- Added Nav-Native SDK version to
TileEndpointConfiguration
. 3918
- 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
Visit our 1.0.0 migration guide and the documentation pages for more information.
- Removed the
ACCESS_BACKGROUND_LOCATION
permission requirement. 3913
Visit our 1.0.0 migration guide and the documentation pages for more information.
- 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
Visit our 1.0.0 migration guide and the documentation pages for more information.
- Added
onFeedbackFlowFinished
method toFeedbackFlowListener
. 3850 - Exposed an option for the user to provide an arrival experience feedback when the navigation session is finished. See
NavigationFeedbackOptions
forNavigationView
integration andFeedbackArrivalFragment
for standalone. 3758 - Exposed APIs to support caching user feedback events. 3724
- Fixed Exception
Resource not found
when usingFeedbackDetailsFragment
. 3842 - Updated the detailed feedback flow to request additional information in a form after arrival instead of immediately when feedback is reported. See
NavigationFeedbackOptions
forNavigationView
integration andFeedbackDetailsFragment
for standalone. 3758
Visit our 1.0.0 migration guide and the documentation pages for more information.
- 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
Visit our 1.0.0 migration guide and the documentation pages for more information.
- Exposed GeoJsonOptions#withTolerance param for route line sources. 3819
- Added speedLimit to MapMatcher. 3839
- Added
onFeedbackFlowFinished
method toFeedbackFlowListener
. 3850
- Updated assets and resources translations. 3856
- Updated default routing tiles version to
2020_12_05-03_00_00
. 3857
Visit our 1.0.0 migration guide and the documentation pages for more information.
- Added an option in NavigationOptions for enable/disable route refresh. 3709
- Fixed Exception
Resource not found
when usingFeedbackDetailsFragment
. 3842
Visit our 1.0.0 migration guide and the documentation pages for more information.
- Updated the detailed feedback flow to request additional information in a form after arrival instead of immediately when feedback is reported. See
NavigationFeedbackOptions
forNavigationView
integration andFeedbackDetailsFragment
for standalone. #3758 - Exposed an option for the user to provide an arrival experience feedback when the navigation session is finished. See
NavigationFeedbackOptions
forNavigationView
integration andFeedbackArrivalFragment
for standalone. #3758 - Exposed APIs to support caching user feedback events. #3724
- Exposed current intersection index value in the
RouteProgress
. #3810
- 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
Visit our 1.0.0 migration guide and the documentation pages for more information.
- Route line calculations moved off of the main thread in order to improve performance and resolve ANR issue for long routes. #3789
- Added
equals
andhashCode
support forLocationEngineRequest
in Mapbox Events library so it's possible to compareNavigationOptions
classes. #3820
Visit our 1.0.0 migration guide and the documentation pages for more information.
- Added options that allow for custom polling rates. #3800
- 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 iflocation
is not available #3791
- 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
Visit our 1.0.0 migration guide and the documentation pages for more information.
- Send Free Drive events even if there're no
location
values. #3796
Visit our 1.0.0 migration guide and the documentation pages for more information.
- Avoid dropping events when destroying MapboxNavigation. #3770
- Fixed Null Pointer Exception when formatting date in Telemetry. #3770
Visit our 1.0.0 migration guide and the documentation pages for more information.
- Avoid dropping events when destroying MapboxNavigation. #3770
- Fixed Null Pointer Exception when formatting date in Telemetry. #3770
Visit our 1.0.0 migration guide and the documentation pages for more information.
- 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
- 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 theLineString
generated byRouteAlertUtils
. #3744
Visit our 1.0.0 migration guide and the documentation pages for more information.
- 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
toMapboxNavigation
useful to transport the navigator to a new location. #3701
- 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 inNavigationMapboxMap
when map matcher reports teleport. #3731 - Improved vanishing point's state when completing the leg of a route or going off-route. #3727
- Fixed an issue where
NavigationView
crashes when trying to build theDistanceFormatter
object. #3725
Visit our 1.0.0 migration guide and the documentation pages for more information.
- 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
Visit our 1.0.0 migration guide and the documentation pages for more information.
- Avoid an occasional crash when setting a route due a failed attempt to generate a route geometry with a buffer. #3710
Visit our 1.0.0 migration guide and the documentation pages for more information.
- Avoid an occasional crash when setting a route due a failed attempt to generate a route geometry with a buffer. #3710
Visit our 1.0.0 migration guide and the documentation pages for more information.
- Removed some synchronized disk access events from upstream library. #3675
- Improved exceptions handling when toggling native history collection. #3705
- 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
andinvalid-route
inconsistent when there were no available road edges to map-match to. The state will now reportoff-route
in those situations. #3705
- 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
Visit our 1.0.0 migration guide and the documentation pages for more information.
- 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
- Assign
currentHorizon
,currentType
andcurrentPosition
from the main thread to avoid synchronization issues #3653 - Keep the selected route as primary after map style has been changed #3664
- 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
Visit our 1.0.0 migration guide and the documentation pages for more information.
- 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
Visit our 1.0.0 migration guide and the documentation pages for more information.
- Added incident alerts #3640
- Fix replay bearing for small maneuvers #3636
- 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
Visit our 1.0.0 migration guide and the documentation pages for more information.
- Improved the time to first banner instructions by updating data from navigator status right after a route is set #3431
- 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
- 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
Today, we are releasing Navigation SDK (Core & UI components) v.1.0 for Android 🎉 🚀
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.
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.
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.
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!
Visit our 1.0.0 migration guide and the documentation pages for more information.
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
- Vanishing route line (deemphasizing the traveled portion of the route) can be slightly out of sync with the location puck.
Visit our 1.0.0 migration guide and the documentation pages for more information.
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
- Vanishing route line (deemphasizing the traveled portion of the route) can be slightly out of sync with the location puck.
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.
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
- Vanishing route line (deemphasizing the traveled portion of the route) can be slightly out of sync with the location puck.
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.
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
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.
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
- 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
- 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
- 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
- Fix synchronization issue in MapRouteLine / NavigationMapRoute #2256
- Disable sideloading functionality in Dynamic offline feature #2248
- Roundabout maneuver icon depicts counterclockwise movement when driving on the left #2228
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
- 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
- Fix notification instruction not updated for arrive maneuver #1959
- Bump mapbox-navigation-native version to 6.2.1 #1955
- 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
- 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
- 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
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
- 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
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
- 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
- Finish camera reset during MapboxMap cancel events #1830
- 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
- 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
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
- 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
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
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
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
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
- 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
- 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
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
- 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
- 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
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
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
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
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
- 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
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
- 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
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
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
- 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
- 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
- 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
- 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
- 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
- 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
- Fix NPE with MapRoute click listener #721
- Null check camera tracking #719
- Initialize metric session state in constructor #718
- 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
- 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
- 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
- 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
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
- 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
- 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
- Significant reroute metric fixes #348
- Avoid index out of bounds when drawing route line traffic #384
- 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
- Telemetry Updates
- 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
- 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
- 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
- Use AutoValue inside RouteProgress objects #74
- Directly use direction distance measurements instead of calculating them. #125
- Support for other direction profiles (cycling and walking) added.
- Fixed issue with step and leg indexes not getting restarted when reroute occurred.
- Resolved issue with second navigation session not kicking off service again (preventing listeners getting invoked).
- Added missing MapboxNavigationOptions getter inside the MapboxNavigation class.
MapboxNavigationOptions
added allowing for setting navigation variables.- Fixed issue with Alert Levels not happening at correct timing
- Split
RouteProgress
to include leg and step progress classes. - Reroute logic refactored.
- Initial release as a standalone package.