All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Traffic-influenced routing is now available for cars, busses, taxis, and trucks! Traffic-influenced routing profiles come in two variants:
- Adaptive traffic profiles use either current conditions or predictive data, automatically selecting the best one given your request parameters.
- Premium traffic profiles use both current conditions and predictive data to give you the best ETAs, isochrones, and routes.
We've also expanded the routing API with even more flexibility:
- Time-dependent routing: the new traffic profiles assume "departing now" by default. But you can also specify departure or arrival at a specific time. For time/distance matrix calculations, you can even specify this at the individual source/target level.
- Penalties (routing is allowed, but discouraged, so that these features can be avoided)
- Private access roads
- Alleys
- (Rail) ferries
- Elevator use
- Use of residential, service, or other undesirable roads by heavy vehicles
- Hard exclusions
- Cash-only tolls
- Unpaved roads
- Time vs distance preference: you can specify a percentage weight between the two instead of the default (time-based) or purely shortest
- Truck axle restrictions
Finally, we've launched version 2 of our time zone API! There is no significant difference in the functionality, but we've rectified a long-standing point of confusion with how we communicated offsets from standard time.
The most notable breaking change is that nearest roads requests now have their own costing model type. To migrate, simply switch to the new type. No endpoint functionality has changed.
We have also removed some properties from routing endpoint models which had no effect. For example, the Nearest Roads API does not return directions, but it still accepted a directions type parameter. Most existing code should continue to work as-is.
- Add two missing OSRM maneuver types which were mistakenly omitted.
- Support for the v2
search(forward geocoding) endpoint! The new API includes better structure, more details, and better address formatting.
- $result = $this->apiInstance->search("Telliskivi 60a/3, Tallinn, Estonia");
+ $result = $this->apiInstance->searchV2("Telliskivi 60a/3, Tallinn, Estonia");For an overview of the structural changes we've made in the V2 API, refer to the migration guide.
- Breaking change: The
maneuversproperty on route responses was previously marked as required. However, it is possible to explicitly request routes with this field removed. These would fail validation and the whole request would end with an exception in the API client. This has been fixed in this version, so the property is optional.
- New fields to the time zone API responses including localized timestamps in several standard formats.
- Fix a bug which caused structured search bulk requests to incorrectly spell the
postalcodefield.
- Add documentation for the geocoding metadata
queryfield.
- Removed boundary circle properties that were mistakenly added. They did not behave as expected, so this is a bug fix despite being a code-breaking change if you used it.
- Added missing water layers to context.
- Support for the v2 reverse geocoding endpoint! The new API includes better structure, more details, and better address formatting.
- $result = $this->apiInstance->reverse(59.444351, 24.750645);
+ $result = $this->apiInstance->reverseV2(59.444351, 24.750645);For an overview of the structural changes we've made in the V2 API, refer to the migration guide.
- Added the
wheelchairproperty to the OSM addendum model (it was in the API response, but not explicitly modeled). - Fix the types of the Natural Earth and Karmashapes identifiers
- Support for the v2 autocomplete and place details APIs!
- BREAKING: We have renamed the Place Details method to clarify its purpose.
If you want to keep using the v1 endpoint, you can amend your code like so:
- $result = $this->apiInstance->place([$this->kultuurikatel['gid']]);
+ $result = $this->apiInstance->placeDetails([$this->kultuurikatel['gid']]);To upgrade to the v2 Place Details endpoint, which features improved address formatting, use the new V2 method:
- $result = $this->apiInstance->place([$this->kultuurikatel['gid']]);
+ $result = $this->apiInstance->placeDetailsV2([$this->kultuurikatel['gid']]);For an overview of the structural changes we've made in the V2 API, refer to the migration guide.
- BREAKING: Renamed models containing Valhalla and Pelias in their names to be generic. These now have rout(e|ing) or geocod(e|ing) prefixes.
- Explicitly documented more properties on the geocoding feature model.
- Adds support for the
foursquaredata source. - Documents the
elevation_intervalparameter on certain routing requests.
- Support for the OSRM format and navigation aids
- Improve modeling of bulk geocoding
- Isochrone request models now support all costing models
- Add support for bulk geocoding
Initial release!