What's Changed
This release adds a route overview for Android, after some updates to the MapLibre Compose wrapper enabled bounding box cameras. This comes with a new button in the default UI which is shown automatically whenever the camera is following the user during navigation.
This release also includes a breaking change to the startNavigation
method of FerrostarCore
on Android. This previously returned a view model, but after discussing with major users, we determined that this was not a good approach. Every app, except for those that consist only of a navigation view presented "modally" for a single purpose, will have its own view model. Since view models are not composable, we determined that this method should no longer return anything.
This is a source breaking change, so the compiler will let you know that your code is broken. We will continue to ship a DefaultViewModel
to enable the super simple "modal" navigation use case without extra code, but you need to construct it yourself. We have also updated the demo app to reflect best practices, continuing to use the AppModule
object as a stand-in for dependency injection, and modeling things as they would be structured in most apps, without locking the demo app into a specific DI framework. In short, everything you need is exposed by the FerrostarCore
UI StateFlow
, and you can build your view model around this.
We have also bumped the minimum iOS version to 16, which is a breaking change. iOS 16 contains significant improvements to SwiftUI, which we will be incorporating over time.
Added
- Android route overview by @ianthetechie in #345
Fixed
- Fix issue with expanded full screen layout for instructions by @ianthetechie in #350
- Fix state flow of mute UI updates on Android by @ianthetechie in #351
- Fix initializing of traversed variable in distance_along by @almontasser in #353
New Contributors
- @almontasser made their first contribution in #353
Full Changelog: 0.20.1...0.21.0