Skip to content

Releases: maplibre/maplibre-navigation-ios

4.0.0-beta.1

22 Jul 13:30
5143a0f
Compare
Choose a tag to compare
4.0.0-beta.1 Pre-release
Pre-release

Xcode doesn't list pre-releases when adding Packages via "add Package...". To test this release, specify the "exact version" 4.0.0-beta.1 in Xcode when adding https://github.com/maplibre/maplibre-navigation-ios.git

What's Changed

Navigation can now be started in an existing map, instead of a second map appearing over your existing map. This greatly reduces memory usages of apps, as well as improving the UX for users.

Old Behavior

before-existing-map

New Behavior

after-existing-map

New Contributors

Full Changelog: 3.0.0...4.0.0-beta.1

3.0.0

15 Jun 08:23
Compare
Choose a tag to compare
  • The speak method in RouteVoiceController can be used without a given RouteProgress or the RouteProgress can explicitly ignored so that it will not be added to the voice instruction.
  • RouteProgress is now optional in willSpeak method of VoiceControllerDelegate if the RouteProgress in the speak method of the RouteVoiceController is nil`.
  • Uses the Locale given in RouteOptions to create the corresponding AVSpeechSynthesisVoice.
  • Removed setCamera() from updateCourseTracking()
  • Added setCamera() to progressDidChange()
  • Allow to customize rerouting logic by implementing RouteControllerDelegate#routeControllerGetDirections
  • Add option to overwrite camera update via NavigationMapViewCourseTrackingDelegate#updateCamera
  • Remove MapboxVoiceController and Mapbox Speech dependency. If you would like to use MapboxSpeech, you can copy the deleted MapboxVoiceController into your project.
  • Updated MapLibre Native dependency to ios-v6.0.0 (https://github.com/maplibre/maplibre-native/releases/tag/ios-v6.0.0). Implementers need to change the prefix MGL to MLN for all MapLibre Native classes that are referenced.
  • Only snap location to route if the location is within the RouteControllerUserLocationSnappingDistance
  • Add support for Swift Package Manager while dropping Carthage and Cocoapods.
  • Initialization no longer tries to add mapbox://mapbox.mapbox-streets-v7 to all mapstyles.
  • Removed implicit default dependencies on MapBox tileservers by requiring explicit styles URLs in more places.
    • Merged in #45.
    • BREAKING: Removed MLNStyle extensions referencing non-functioning MapBox styles, e.g. MLNStyle.navigationGuidanceDayStyleURL.
    • Added Day/NightStyle(styleURL:) which takes an explicit URL to a hosting tileserver style.
    • Added Day/NightStyle(demoStyle: ()) as an explicit alternative when the user doesn't have a tileserver handy. This uses MapLibre's demo style and is intended for testing and demonstration use only.
    • Deprecated DayStyle()/NightStyle() initializers because they were backed by an implicit tile service. If these default styles are still used, they'll now use the MapLibre demo style.
    • NavigationViewController now expects explicit style URLs with NavigationViewController(route:dayStyleURL:nightStyleURL:...) or NavigationViewController(route:dayStyle:nightStyle:...)` and the existing initializer, which allowed "default" styles, is deprecated and uses the MapLibre demo styles.
  • Fix: NavigationViewController was not re-routing when the user went off route.
    • Merged in #47
  • Fix: NavigationViewController displayed incorrect speedMultiplier when using SimulatedLocationManager
    • Merged in #49

3.0.0-beta.1

31 May 18:56
3ffaa51
Compare
Choose a tag to compare
3.0.0-beta.1 Pre-release
Pre-release

Xcode doesn't list pre-releases when adding Packages via "add Package...". To test this release, specify the "exact version" 3.0.0-beta.1 in Xcode when adding https://github.com/maplibre/maplibre-navigation-ios.git

What's Changed

  • The speak method in RouteVoiceController can be used without a given RouteProgress or the RouteProgress can explicitly ignored so that it will not be added to the voice instruction.
  • RouteProgress is now optional in willSpeak method of VoiceControllerDelegate if the RouteProgress in the speak method of the RouteVoiceController is nil`.
  • Uses the Locale given in RouteOptions to create the corresponding AVSpeechSynthesisVoice.
  • Removed setCamera() from updateCourseTracking()
  • Added setCamera() to progressDidChange()
  • Allow to customize rerouting logic by implementing RouteControllerDelegate#routeControllerGetDirections
  • Add option to overwrite camera update via NavigationMapViewCourseTrackingDelegate#updateCamera
  • Remove MapboxVoiceController and Mapbox Speech dependency. If you would like to use MapboxSpeech, you can copy the deleted MapboxVoiceController into your project.
  • Updated MapLibre Native dependency to ios-v6.0.0 (https://github.com/maplibre/maplibre-native/releases/tag/ios-v6.0.0). Implementers need to change the prefix MGL to MLN for all MapLibre Native classes that are referenced.
  • Only snap location to route if the location is within the RouteControllerUserLocationSnappingDistance
  • Add support for Swift Package Manager while dropping Carthage and Cocoapods.
  • Initialization no longer tries to add mapbox://mapbox.mapbox-streets-v7 to all mapstyles.
  • Removed implicit default dependencies on MapBox tileservers by requiring explicit styles URLs in more places.
    • Merged in #45.
    • BREAKING: Removed MLNStyle extensions referencing non-functioning MapBox styles, e.g. MLNStyle.navigationGuidanceDayStyleURL.
    • Added Day/NightStyle(styleURL:) which takes an explicit URL to a hosting tileserver style.
    • Added Day/NightStyle(demoStyle: ()) as an explicit alternative when the user doesn't have a tileserver handy. This uses MapLibre's demo style and is intended for testing and demonstration use only.
    • Deprecated DayStyle()/NightStyle() initializers because they were backed by an implicit tile service. If these default styles are still used, they'll now use the MapLibre demo style.
    • NavigationViewController now expects explicit style URLs with NavigationViewController(route:dayStyleURL:nightStyleURL:...) or NavigationViewController(route:dayStyle:nightStyle:...)` and the existing initializer, which allowed "default" styles, is deprecated and uses the MapLibre demo styles.
  • Fix: NavigationViewController was not re-routing when the user went off route.
    • Merged in #47.

v2.0.0

31 May 10:58
07e943f
Compare
Choose a tag to compare
  • Upgrade minimum iOS version from 11.0 to 12.0.
  • Upgraded dependencies to support iOS 12.0
  • With this upgrade it is possible to build it with Xcode 13.4.

v1.0.7

13 Jan 23:03
16d4acd
Compare
Choose a tag to compare
  • Rerouting logic changed
    • Routes that are found when requesting a new route that are slower but more than 90% the same geometry will get applied. This is done to account for traffic on the route that could change the ETA dramatically
    • Added rerouteReason parameter in didRerouteAlong RouteControllerDelegate so the client can react accordingly
    • Added option to skip check for rerouting in RouteController where route should have 10+mins left before fetching a new route, called shouldCheckForRerouteInLastMinutes
  • Moved & renamed RouteControllerProactiveReroutingInterval to be an instance property of RouteController so the client can easily set this per route controller
  • Added shouldReturnTestingETAUpdateReroutes property to RouteController as an easy way to test an ETA update client-side. It uses two of the same test-routes between 52.02224357,5.78149084 and 52.03924958,5.55054131 with different ETA's to easily see the ETA change happen in the client's UI

v1.0.6

13 Jan 23:03
6db2d54
Compare
Choose a tag to compare
  • Changed Swift version from 4 to 5
  • Fixed some warnings
  • Updated Getting Started in README
  • Added Sample Code in README

v1.0.5

13 Jan 23:04
348355a
Compare
Choose a tag to compare
  • Moved to Maplibre normal version (5.12.2) instead of Maplibre pre-release Metal version (5.12.0-pre-1)

v1.0.4

13 Jan 23:05
92d68f5
Compare
Choose a tag to compare
  • Moved to Maplibre Metal version (5.12.0-pre.1) instead of Mapbox v5.3.0
  • Support for M1 simulator architectures

Project-related

  • This project can now be built for M1 simulator
  • Made the example app work again

v1.0.3

13 Jan 23:05
b48eac3
Compare
Choose a tag to compare
  • Fixed spamming server in case of route calculation failure

v1.0.2

13 Jan 23:06
d334f1a
Compare
Choose a tag to compare
  • DidReroute passed parameter if reroute was because a faster route was found