Mapbox welcomes participation and contributions from everyone.
- 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.