Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update CHANGELOG.md #86

Closed
wants to merge 1 commit into from
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 13 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Changes to the Mapbox Navigation SDK for iOS

## Unreleased
## 4.0.0-beta.1
* Start & Stop Navigation in existing Map
- Removed: `NavigationViewController(for route: Route, dayStyle: Style, routeController: RouteController? = nil, locationManager: NavigationLocationManager? = nil, voiceController: RouteVoiceController? = nil)` use `NavigationViewController(dayStyleURL: URL, nightStyleURL: URL? = nil,directions: Directions = .shared, voiceController: RouteVoiceController = RouteVoiceController())` followed by `startNavigation(with route: Route, animated: Bool)` instead.
- To simulate a route, pass a `SimulatedLocationManager` to `startNavigation()` function:
Expand All @@ -14,7 +14,18 @@
self.startNavigation(with: route, animated: false)
#endif
```
* Custom location snapping in the `RouteController` via the delegate
boldtrn marked this conversation as resolved.
Show resolved Hide resolved
* Only require background audio when using speech synthesis by @michaelkirk in https://github.com/maplibre/maplibre-navigation-ios/pull/64
* Restore the ability to init NavVC without animations. by @michaelkirk in https://github.com/maplibre/maplibre-navigation-ios/pull/73
* Remove unnecessary keyboard tracking. by @michaelkirk in https://github.com/maplibre/maplibre-navigation-ios/pull/69
* Fix crash in EndOfRouteViewController and restore its presentation by @michaelkirk in https://github.com/maplibre/maplibre-navigation-ios/pull/71
* Fix retain cycles in RouteMapViewController by @michaelkirk in https://github.com/maplibre/maplibre-navigation-ios/pull/74
* Add "Build Example Project" to CI by @michaelkirk in https://github.com/maplibre/maplibre-navigation-ios/pull/77
Copy link
Collaborator

@michaelkirk michaelkirk Jul 25, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm personally in favor of having the changelog only include entries which are relevant to users. If they want every single PR they can look at Github, otherwise the important stuff just gets lost in the "tweaked the CI script" and "fixed tests". That work is important too, but it makes the changelog less useful to users.

(There are some inarguably useful ones added here - mostly ones that I forgot to add 😞)

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't feel super strongly about this btw, if people want to include every single PR in the changelog, I will choose another hill to die on. 😆

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, I agree, a changelog should contain changes 👍

Copy link
Collaborator Author

@hactar hactar Jul 26, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have no strong feelings about this either. My thoughts:

  • Who decides what is truly important and what isn't? Everything is a change, and someone who has had broken tests for months may be super excited about that specific change
  • More exposure for everyone who does a PR
  • It's much easier than manual change log maintenance: github generates this format at a click of the button, including links to the auther and the specific pr, while in the other case, we've had so many PRs that need to go through an additional "review loop" because someone forgot to update the changelog with their change, delaying progress, often by days or weeks - and the manual entries have no links to the pr, meaning if you ever are interested in details, you'll have to dig a bit.

You're welcome to dismiss this PR though if the manual changelog maintenance is preferred.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't have any strong feelings about this either, all good, just wanted to mention my opinion :)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I guess I should add my opinion and maybe we can come to a resolution :)

Core principles:

  • Make processes EASY so you don't have to think about them as either a contributor or maintainer
  • A changelog should inform users of what changed

Application:

  • Putting every PR in the changelog is an easy action (add a checklist to the PR template and/or CI checks)
  • A pure listing is technically informative, but it's not the best organization IMO.
  • Solution: Add headings that group PRs. Something like enhancement, deprecation, removal, and bug fix, along with notes about any breaking changes. Valhalla does a pretty good job at most of these, for example.

* Fix version 3 documentation by @hactar in https://github.com/maplibre/maplibre-navigation-ios/pull/81
* fix and re-run extract_localizable.sh by @michaelkirk in https://github.com/maplibre/maplibre-navigation-ios/pull/70
* SwiftUI Optimisation by @Patrick-Kladek in https://github.com/maplibre/maplibre-navigation-ios/pull/76
* Fix tests on german machine by @Patrick-Kladek in https://github.com/maplibre/maplibre-navigation-ios/pull/83
* Open RouteController to custom location snapping by @sotomski in https://github.com/maplibre/maplibre-navigation-ios/pull/85
* Clean up StyleManager and respect dynamic type by @michaelkirk in https://github.com/maplibre/maplibre-navigation-ios/pull/65

## 3.0.0 (Jun 15, 2024)
* 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.
Expand Down
Loading