Skip to content

Releases: stadiamaps/ferrostar

0.21.0

11 Nov 03:21
Compare
Choose a tag to compare

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

Fixed

New Contributors

Full Changelog: 0.20.1...0.21.0

0.20.1

05 Nov 15:18
Compare
Choose a tag to compare

No breaking changes; just a bunch of small improvements and dependency updates :)

What's Changed

Full Changelog: 0.20.0...0.20.1

0.20.0

01 Nov 03:15
Compare
Choose a tag to compare

Another epic release! The most exciting feature is support for arbitrary annotations on iOS. Annotations are JSON data that "annotates" each line segment (coordinate pair) for the entire route. We've included data models for the ones included in Valhalla, most notably speed limits, but you can add your own arbitrary fields too!

screenshot

Breaking changes

  • We made some changes to the navigation views on iOS; if you had a heavily customized view, you may get some compilation errors which should guide you to a fix.
  • Users of the simulated location provider may need to add a third argument to configure jitter. (Add a random jitter of 10 meters to make your GPS look a bit tipsy 🙃)
  • The interface to the instructions view on Android has changed rather significantly to include a view of upcoming steps.

What's Changed

New Contributors

Full Changelog: 0.19.0...0.20.0

0.19.0

22 Oct 15:49
Compare
Choose a tag to compare

What's Changed

Full Changelog: 0.18.0...0.19.0

0.18.0

17 Oct 16:24
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 0.17.0...0.18.0

0.17.0

02 Oct 04:36
Compare
Choose a tag to compare

What's Changed

  • [ios] pull down InstructionView handle to show remaining steps by @michaelkirk in #276
  • Bump thiserror from 1.0.63 to 1.0.64 in /common by @dependabot in #279
  • Bump rstest from 0.22.0 to 0.23.0 in /common by @dependabot in #280
  • Bump net.java.dev.jna:jna from 5.14.0 to 5.15.0 in /android by @dependabot in #282
  • Bump kotlinx-coroutines from 1.8.1 to 1.9.0 in /android by @dependabot in #283
  • Bump github.com/maplibre/swiftui-dsl from 0.0.29 to 0.1.0 by @dependabot in #278

Full Changelog: 0.16.0...0.17.0

0.16.0

01 Oct 03:48
Compare
Choose a tag to compare

What's Changed

Full Changelog: 0.15.0...0.16.0

0.15.0

27 Sep 03:01
Compare
Choose a tag to compare

What's Changed

  • Android demo is now more easily configurable with API keys via local.properties by @ianthetechie in #267
  • Breaking Support support for arbitrary Valhalla options (formerly we only merged costing opts) by @ianthetechie in #268

If you utilized the costingOptions parameter previously, note that it has been renamed to options. Swift will automatically force you to change due to its syntax, but Kotlin may silently accept existing source code unless you explicitly named all arguments. Since this release now merges all JSON options into the Valhalla request body, you will need to move your existing argument under the costing options key like so:

- {"bicycle": {"use_roads": 0.2}}
+ {"costing_options": {"bicycle": {"use_roads": 0.2}}}

Full Changelog: 0.14.0...0.15.0

0.14.0

25 Sep 03:42
Compare
Choose a tag to compare

What's Changed

Full Changelog: 0.13.3...0.14.0

0.13.3

24 Sep 17:06
Compare
Choose a tag to compare

This release fixes an issue with sources and documentation not downloading on Android.

Full Changelog: 0.13.2...0.13.3