Swiftpack.co - Swift Packages by mapbox

Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.

Packages published by mapbox

mapbox/mapbox-navigation-ios v2.6.0-rc.1
Turn-by-turn navigation logic and UI in Swift on iOS
⭐️ 752
🕓 9 hours ago
🔖 Release Notes

Releases

The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
v2.6.0-rc.1
9 hours ago
[Changes](https://github.com/mapbox/mapbox-navigation-ios/compare/v2.6.0-beta.2...v2.6.0-rc.1) since [v2.6.0-beta.2](https://github.com/mapbox/mapbox-navigation-ios/releases/tag/v2.6.0-beta.2): ### Packaging * MapboxCoreNavigation now requires [MapboxDirections v2.6.0-rc.1](https://github.com/mapbox/mapbox-directions-swift/releases/tag/v2.6.0-rc.1). ([#3969](https://github.com/mapbox/mapbox-navigation-ios/pull/3969)) ### Other Changes * Update method deprecation for `HistoryRecording` protocol. Static methods are now preferred over instance ones. ([#3960](https://github.com/mapbox/mapbox-navigation-ios/pull/3960)) Documentation is [available online](https://docs.mapbox.com/ios/navigation/api/2.6.0-rc.1/) or within Xcode.
v2.6.0-beta.2
1 week ago
[Changes](https://github.com/mapbox/mapbox-navigation-ios/compare/v2.6.0-beta.1...v2.6.0-beta.2) since [v2.6.0-beta.1](https://github.com/mapbox/mapbox-navigation-ios/releases/tag/v2.6.0-beta.1): ### Packaging * MapboxNavigation now requires [MapboxMaps v10.6._x_](https://github.com/mapbox/mapbox-maps-ios/releases/tag/v10.6.0). ([#3955](https://github.com/mapbox/mapbox-navigation-ios/pull/3955)) * MapboxCoreNavigation now requires [MapboxNavigationNative v106._x_](https://github.com/mapbox/mapbox-navigation-native-ios/releases/tag/106.0.0). ([#3955](https://github.com/mapbox/mapbox-navigation-ios/pull/3955)) ### Camera * Fixed an issue where camera stops updating when `centerUpdatesAllowed`, `zoomUpdatesAllowed`, `bearingUpdatesAllowed`, `pitchUpdatesAllowed` or `paddingUpdatesAllowed` disabled in `OverviewCameraOptions` and `FollowingCameraOptions`. ([#3946](https://github.com/mapbox/mapbox-navigation-ios/pull/3946)) ### Other changes * Fixed an issue when alternative route lines overlapped the main route line during navigation. ([#3947](https://github.com/mapbox/mapbox-navigation-ios/pull/3947)) * Fixed an issue when rerouting to the route which does not originate on current user location, route line and camera jumped to route origin. ([#3943](https://github.com/mapbox/mapbox-navigation-ios/pull/3943)) * All logs that Navigation SDK produces are now sent to the `MapboxCommon` framework. You can intercept these logs in your own code using `LogConfiguration.registerLogWriterBackend(forLogWriter:)` method from `MapboxCommon` framework. ([#3944](https://github.com/mapbox/mapbox-navigation-ios/pull/3944)) * Fixed an issue where popped window doesn't get updated in appearance when style changes on phone. ([#3954](https://github.com/mapbox/mapbox-navigation-ios/pull/3954)) * Fixed an issue where detailed feedback items don't change color in different style. ([#3954](https://github.com/mapbox/mapbox-navigation-ios/pull/3954)) Documentation is [available online](https://docs.mapbox.com/ios/navigation/api/2.6.0-beta.2/) or within Xcode.
v2.6.0-beta.1
2 weeks ago
[Changes](https://github.com/mapbox/mapbox-navigation-ios/compare/v2.6.0-alpha.2...v2.6.0-beta.1) since [v2.6.0-alpha.2](https://github.com/mapbox/mapbox-navigation-ios/releases/tag/v2.6.0-alpha.2): ### Packaging * MapboxNavigation now requires [MapboxMaps v10.6.0-rc.1](https://github.com/mapbox/mapbox-maps-ios/releases/tag/v10.6.0-rc.1). ([#3913](https://github.com/mapbox/mapbox-navigation-ios/pull/3913)) * MapboxCoreNavigation now requires [MapboxNavigationNative v105.0.0](https://github.com/mapbox/mapbox-navigation-native-ios/releases/tag/105.0.0). ([#3913](https://github.com/mapbox/mapbox-navigation-ios/pull/3913)) * MapboxCoreNavigation now requires [MapboxDirections v2.6.0-beta.2](https://github.com/mapbox/mapbox-directions-swift/releases/tag/v2.6.0-beta.2). ([#3941](https://github.com/mapbox/mapbox-navigation-ios/pull/3941)) ### Routing * Added reporting `AlternativeRoute` during navigation sessions. Subscribe to `RouterDelegate.router(_:didUpdateAlternatives:removedAlternatives:)` or `Notification.Name.routeControllerDidUpdateAlternatives` notification to receive updates on actual alternative routes list. Switching to the alternative route could be monitored by observing `RouterDelegate.router(_:willTakeAlternativeRoute:at:)` and `RouterDelegate.router(_:didTakeAlternativeRouteAt:)` methods or `Notification.Name.routeControllerWillTakeAlternativeRoute` and `Notification.Name.routeControllerDidTakeAlternativeRoute` notifications. To configure alternative routes detection, setup `NavigationSettings.AlternativeRouteDetectionStrategy` before starting navigation. ([#3833](https://github.com/mapbox/mapbox-navigation-ios/pull/3833)) * During turn-by-turn navigation, the map view displays any alternative routes that are currently available. Tapping an alternative route switches to it, just like in a standalone `NavigationMapView`. ([#3850](https://github.com/mapbox/mapbox-navigation-ios/pull/3850)) * Implemented refreshing `RouteLeg.incidents` during a route refreshing. ([#3931](https://github.com/mapbox/mapbox-navigation-ios/pull/3931)) * The `HistoryRecording.stopRecordingHistory(writingFileWith:)` method can be called safely from the main thread. ([#3913](https://github.com/mapbox/mapbox-navigation-ios/pull/3913)) * Snapped locations are spaced more evenly when the application is connected to an external GPS or CarPlay device capable of high-frequency location updates and the user rounds a corner. ([#3913](https://github.com/mapbox/mapbox-navigation-ios/pull/3913)) * Fixed an issue where the user’s location would be snapped to the nearest road while the user moved around in a parking garage where the [parking aisles](https://wiki.openstreetmap.org/wiki/Tag:service%3Dparking_aisle) have not been mapped in detail. ([#3913](https://github.com/mapbox/mapbox-navigation-ios/pull/3913)) * Fixed an issue where `RouteController` sometimes took too long to detect that the user went off the route after making a turn or taking an off-ramp. ([#3913](https://github.com/mapbox/mapbox-navigation-ios/pull/3913)) * When proactive reroute happens, new departure voice instruction will not be pronounced anymore. ([#3937](https://github.com/mapbox/mapbox-navigation-ios/pull/3937)) * Fixed an issue where a departure instruction (e.g., “Head west”) was announced periodically in the middle of a trip due to proactive rerouting. ([#3937](https://github.com/mapbox/mapbox-navigation-ios/pull/3937)) ### Pricing * When calling `MapboxNavigationService.start()` and `MapboxNavigationService.stop()` billing session will be resumed and paused respectively. ([#3928](https://github.com/mapbox/mapbox-navigation-ios/pull/3928)) ### Map * Added `NavigationMapView.tolerance` property to configure the tolerance of map sources for route line, maneuver arrow, and restricted areas. The property controls the level of simplification by specifying the maximum allowed distance between the original line point and the simplified point. A higher tolerance value results in higher simplification. ([#3891](https://github.com/mapbox/mapbox-navigation-ios/pull/3891)) * Fixed an issue where camera kept receiving updates even after stopping `MapboxNavigationService`. ([#3928](https://github.com/mapbox/mapbox-navigation-ios/pull/3928)) * Added `NavigationViewController.showsContinuousAlternatives` and `CarPlayNavigationViewController.showsContinuousAlternatives` flags to toggle displaying alternative route's lines during navigation session. Use `NavigationMapView.show(continuousAlternatives:)` and `NavigationMapView.removeContinuousAlternativesRoutes()` methods for fine control over displayed routes. ([#3850](https://github.com/mapbox/mapbox-navigation-ios/pull/3850)) ### Other changes * Reduced peak memory usage in `TileStore`. Documentation is [available online](https://docs.mapbox.com/ios/navigation/api/2.6.0-beta.1/) or within Xcode.
v2.5.1
3 weeks ago
[Changes](https://github.com/mapbox/mapbox-navigation-ios/compare/v2.5.0...v2.5.1) since [v2.5.0](https://github.com/mapbox/mapbox-navigation-ios/releases/tag/v2.5.0): ### Packaging * MapboxCoreNavigation now requires [MapboxNavigationNative v101.0.1](https://github.com/mapbox/mapbox-navigation-native-ios/releases/tag/101.0.1). ([#3935](https://github.com/mapbox/mapbox-navigation-ios/pull/3935)) ### Other changes * Fixed multiple switching between alternative routes on reroute. ([#3935](https://github.com/mapbox/mapbox-navigation-ios/pull/3935)) * Fixed memory heap corruption crash. ([#3935](https://github.com/mapbox/mapbox-navigation-ios/pull/3935)) * Fixed an issue where `SimulatedLocationManager` would jump back to the beginning of the simulated route whenever `RouteController` reroutes the user onto a different route. ([#3929](https://github.com/mapbox/mapbox-navigation-ios/pull/3929)) Documentation is [available online](https://docs.mapbox.com/ios/navigation/api/2.5.1/) or within Xcode.
v2.6.0-alpha.2
4 weeks ago
[Changes](https://github.com/mapbox/mapbox-navigation-ios/compare/v2.6.0-alpha.1...v2.6.0-alpha.2) since [v2.6.0-alpha.1](https://github.com/mapbox/mapbox-navigation-ios/releases/tag/v2.6.0-alpha.1): ### Map * Added the `layerPosition` parameter to the `NavigationMapView.show(_:layerPosition:legIndex:)` method for controlling the position of the main route layer while presenting routes. ([#3897](https://github.com/mapbox/mapbox-navigation-ios/pull/3897)) ### CarPlay * Fixed an issue where route shields disappeared when the user enters a tunnel. ([#3882](https://github.com/mapbox/mapbox-navigation-ios/pull/3882)) * The map automatically chooses the night style when "Always Show Dark Maps" is enabled in the Appearance section of Settings. ([#3882](https://github.com/mapbox/mapbox-navigation-ios/pull/3882)) * Renamed the `VisualInstruction.carPlayManeuverLabelAttributedText(bounds:shieldHeight:window:)` to the `VisualInstruction.carPlayManeuverLabelAttributedText(bounds:shieldHeight:window:traitCollection:instructionLabelType:)` to have the ability to change color of the shield icons depending on provided trait collection. ([#3882](https://github.com/mapbox/mapbox-navigation-ios/pull/3882)) * Fixed an issue where a `StyleManager` for CarPlay would update the appearance on both CarPlay and the iOS device simultaneously. ([#3914](https://github.com/mapbox/mapbox-navigation-ios/pull/3914)) Documentation is [available online](https://docs.mapbox.com/ios/navigation/api/2.6.0-alpha.2/) or within Xcode.
v2.5.0
4 weeks ago
[Changes](https://github.com/mapbox/mapbox-navigation-ios/compare/v2.4.1...v2.5.0) since [v2.4.1](https://github.com/mapbox/mapbox-navigation-ios/releases/tag/v2.4.1): ## Packaging * MapboxNavigation now requires [MapboxMaps v10.5._x_](https://github.com/mapbox/mapbox-maps-ios/releases/tag/v10.5.0). ([#3869](https://github.com/mapbox/mapbox-navigation-ios/pull/3869)) * MapboxCoreNavigation now requires [MapboxDirections v2.5._x_](https://github.com/mapbox/mapbox-directions-swift/releases/tag/v2.5.0). ([#3920](https://github.com/mapbox/mapbox-navigation-ios/pull/3920)) * MapboxCoreNavigation now requires [MapboxNavigationNative v101._x_](https://github.com/mapbox/mapbox-navigation-native-ios/releases/tag/101.0.0). ([#3908](https://github.com/mapbox/mapbox-navigation-ios/pull/3908)) ## User interface * Added the `CarPlayManagerDelegate.carPlayManager(_:shouldUpdateNotificationFor:with:in:)` and `CarPlayManagerDelegate.carPlayManager(_:shouldShowNotificationFor:in:)` methods for controlling the display of user notifications while the application is in the background in CarPlay. ([#3828](https://github.com/mapbox/mapbox-navigation-ios/pull/3828)) * Fixed an issue where shields disappeared after the application returns to the foreground. ([#3840](https://github.com/mapbox/mapbox-navigation-ios/pull/3840)) * The top banner now shows shields that are more consistent with the map and current road name label. ([#3864](https://github.com/mapbox/mapbox-navigation-ios/pull/3864)) * Fixed an issue where exit views and generic shields in the top banner got outdated when the style changed during turn-by-turn navigation. ([#3864](https://github.com/mapbox/mapbox-navigation-ios/pull/3864)) * Fixed an issue where the current road name label used a generic white circle instead of the correct shield to represent a state route in the United States. ([#3870](https://github.com/mapbox/mapbox-navigation-ios/pull/3870)) * Lane guidance remains visible while the step table is visible. ([#3805](https://github.com/mapbox/mapbox-navigation-ios/pull/3805)) * Removed a transparent gap that appeared between the top banner and step table if the user completed a maneuver while the step table was visible. ([#3805](https://github.com/mapbox/mapbox-navigation-ios/pull/3805)) * Fixed an issue where a gray dashed line, which normally indicates a restricted-access road, appeared at the beginning of the route line even if there was no restriction. ([#3811](https://github.com/mapbox/mapbox-navigation-ios/pull/3811)) * Lane guidance views will now be shown even when all lanes a valid for the current route. ([#3903](https://github.com/mapbox/mapbox-navigation-ios/pull/3903)) * Fixed the crash of nonstop road shield updates when no valid road information contained in guidance instruction. ([#3911](https://github.com/mapbox/mapbox-navigation-ios/pull/3911)) ## User feedback * Added the `NavigationViewControllerDelegate.navigationViewController(_:didSubmitArrivalFeedback:)` method, which is called when the user submits a rating or comment at the end of a trip. ([#3842](https://github.com/mapbox/mapbox-navigation-ios/pull/3842)) * Fixed an issue where `EndOfRouteCommentView` is using dark style when only light style is allowed. ([#3845](https://github.com/mapbox/mapbox-navigation-ios/pull/3845)) ## Location tracking * Added the `Router.initialManeuverAvoidanceRadius` property for adjusting the likelihood that the user will be rerouted onto a cross street very close to the current location. ([#3754](https://github.com/mapbox/mapbox-navigation-ios/pull/3754)) * `UserPuckCourseView` no longer desaturates its color based on the age of the last location update. `RouteController` simulates location updates whenever Location Services is unable to receive real location updates. To ensure a steady stream of location updates outside of turn-by-turn navigation, install a `PassiveLocationManager`. ([#3836](https://github.com/mapbox/mapbox-navigation-ios/pull/3836)) * Fixed an issue where `UserPuckCourseView`’s color desaturated during turn-by-turn navigation even as the location was being updated. ([#3836](https://github.com/mapbox/mapbox-navigation-ios/pull/3836)) * Fixed an issue where the `PassiveLocationManager(directions:systemLocationManager:eventsManagerType:userInfo:datasetProfileIdentifier:)` initializer’s `datasetProfileIdentifier` argument was ignored. ([#3867](https://github.com/mapbox/mapbox-navigation-ios/pull/3867)) * Fixed an issue where the user location was sometimes snapped to a parallel street just before it merges with the actual street. ([#3862](https://github.com/mapbox/mapbox-navigation-ios/pull/3862)) * Fixed the possible crash after rerouting when `routeLineTracksTraversal` enabled. ([#3896](https://github.com/mapbox/mapbox-navigation-ios/pull/3896)) ## Routing * Renamed `routingProvider` to `customRoutingProvider` within the `NavigationService` class and `Router` protocol. You can continue to implement a `RoutingProvider` to customize how the router calculates a new route when rerouting, but the default value is now `nil` when using the built-in rerouting behavior. ([#3754](https://github.com/mapbox/mapbox-navigation-ios/pull/3754)) * Renamed the `NavigationService(routeResponse:routeIndex:routeOptions:routingProvider:credentials:locationSource:eventsManagerType:simulating:routerType:)` initializer to `NavigationService(routeResponse:routeIndex:routeOptions:customRoutingProvider:credentials:locationSource:eventsManagerType:simulating:routerType:)`. * Renamed the `NavigationService(routeResponse:routeIndex:routeOptions:routingProvider:credentials:locationSource:eventsManagerType:simulating:routerType:)` initializer to `NavigationService(routeResponse:routeIndex:routeOptions:customRoutingProvider:credentials:locationSource:eventsManagerType:simulating:routerType:)`. * Replaced the `NavigationService.routingProvider` property with `NavigationService.customRoutingProvider`. * Renamed the `Router(alongRouteAtIndex:in:options:routingProvider:dataSource:)` initializer to `Router(alongRouteAtIndex:in:options:customRoutingProvider:dataSource:)` * Replaced the `Router.routingProvider` property with `Router.customRoutingProvider`. * Renamed the `NavigationSettings.initialize(directions:tileStoreConfiguration:)` method to `NavigationSettings.initialize(directions:tileStoreConfiguration:routingProviderSource:)`. This method allows you to control whether the rerouting uses the network or offline routing data. ([#3754](https://github.com/mapbox/mapbox-navigation-ios/pull/3754), [#3824](https://github.com/mapbox/mapbox-navigation-ios/pull/3824)) * Fixed an issue where a failure to calculate a route offline could result in a successful result being passed to a `Directions.RouteCompletionHandler`. ## CarPlay * Fixed an issue where an active navigation using CarPlay application with route that contains multiple legs would cause a memory leak. ([#3877](https://github.com/mapbox/mapbox-navigation-ios/pull/3877)) ## Other changes * During turn-by-turn navigation, incidents along the route are now refreshed periodically along with traffic congestion. * When the user passes a named toll collection point, the `TollCollection` object obtained through the `Notification.Name.electronicHorizonDidPassRoadObject` notification now has the `TollCollection.name` property set. Documentation is [available online](https://docs.mapbox.com/ios/navigation/api/2.5.0/) or within Xcode.
v2.5.0-rc.3
4 weeks ago
[Changes](https://github.com/mapbox/mapbox-navigation-ios/compare/v2.5.0-rc.2...v2.5.0-rc.3) since [v2.5.0-rc.2](https://github.com/mapbox/mapbox-navigation-ios/releases/tag/v2.5.0-rc.2): ### Packaging * MapboxCoreNavigation now requires [MapboxNavigationNative v101._x_](https://github.com/mapbox/mapbox-navigation-native-ios/releases/tag/101.0.0). (#3908) ### Routing * Fixed an issue where the default routing mechanism couldn't make a reroute. (#3908) Documentation is [available online](https://docs.mapbox.com/ios/navigation/api/2.5.0-rc.3/) or within Xcode.
v2.6.0-alpha.1
5 weeks ago
[Changes](https://github.com/mapbox/mapbox-navigation-ios/compare/v2.5.0-rc.2...v2.6.0-alpha.1) since [v2.5.0-rc.2](https://github.com/mapbox/mapbox-navigation-ios/releases/tag/v2.5.0-rc.2): ### Routing * Added `Router.finishRouting()` method to finish routing session without dismissing related UI and logic components. (#3880) Documentation is [available online](https://docs.mapbox.com/ios/navigation/api/2.6.0-alpha.1/) or within Xcode.
v2.5.0-rc.2
5 weeks ago
[Changes](https://github.com/mapbox/mapbox-navigation-ios/compare/v2.5.0-rc.1...v2.5.0-rc.2) since [v2.5.0-rc.1](https://github.com/mapbox/mapbox-navigation-ios/releases/tag/v2.5.0-rc.1): ### Packaging * MapboxCoreNavigation now requires [MapboxDirections v2.5.0-rc.1](https://github.com/mapbox/mapbox-directions-swift/releases/tag/v2.5.0-rc.1). (#3901) ### User interface * Lane guidance views will now be shown even when all lanes a valid for the current route. (#3903) ### Location tracking * Fixed the possible crash after rerouting when `routeLineTracksTraversal` is enabled. (#3896) Documentation is [available online](https://docs.mapbox.com/ios/navigation/api/2.5.0-rc.2/) or within Xcode.
v2.5.0-rc.1
6 weeks ago
[Changes](https://github.com/mapbox/mapbox-navigation-ios/compare/v2.5.0-beta.3...v2.5.0-rc.1) since [v2.5.0-beta.3](https://github.com/mapbox/mapbox-navigation-ios/releases/tag/v2.5.0-beta.3): ### Packaging * MapboxNavigation now requires [MapboxMaps v10.5.0](https://github.com/mapbox/mapbox-maps-ios/releases/tag/v10.5.0). ([#3869](https://github.com/mapbox/mapbox-navigation-ios/pull/3869)) * MapboxCoreNavigation now requires [MapboxNavigationNative v100._x_](https://github.com/mapbox/mapbox-navigation-native-ios/releases/tag/100.0.0). ([#3888](https://github.com/mapbox/mapbox-navigation-ios/pull/3888)) ### Routing * Fixed an issue where a failure to calculate a route offline could result in a successful result being passed to a `Directions.RouteCompletionHandler`. ### CarPlay * Fixed an issue where an active navigation using CarPlay application with route that contains multiple legs would cause a memory leak. ([#3877](https://github.com/mapbox/mapbox-navigation-ios/pull/3877)) ### Other Changes * During turn-by-turn navigation, incidents along the route are now refreshed periodically along with traffic congestion. * When the user passes a named toll collection point, the `TollCollection` object obtained through the `Notification.Name.electronicHorizonDidPassRoadObject` notification now has the `TollCollection.name` property set.
iOS
mapbox/mapbox-maps-ios v10.6.0
Interactive, thoroughly customizable maps for iOS powered by vector tiles and Metal
⭐️ 202
🕓 1 week ago
🔖 Release Notes

Releases

The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
v10.6.0
1 week ago
## Changes * With the new Atmosphere API, you can change the color of the sky, space, or even stars (https://github.com/mapbox/mapbox-maps-ios/pull/1329). * 3D puck scale depends on Mercator projection now. Check out video samples in related PR (https://github.com/mapbox/mapbox-maps-ios/pull/1347). * There is a new API to check efficiently the existence of an image in `Style` based on its name (https://github.com/mapbox/mapbox-maps-ios/pull/1297). * Maps SDK now would automatically call `MapboxMap.reduceMemoryUse` every time the app goes to background (https://github.com/mapbox/mapbox-maps-ios/pull/1301). * We have slightly changed the SDK name in the attribution action sheet (https://github.com/mapbox/mapbox-maps-ios/pull/1338). * Annotation tap target was decreased to pre-10.5.0 release values (https://github.com/mapbox/mapbox-maps-ios/pull/1339). * We introduce the new experimental ModelLayer API that allows you to add arbitrary models over the MapView. Checkout [ModelLayerExample.swift](https://github.com/mapbox/mapbox-maps-ios/blob/v10.6.0/Apps/Examples/Examples/All%20Examples/ModelLayerExample.swift) to see a sample (https://github.com/mapbox/mapbox-maps-ios/pull/1348). ### Dependencies * Update to MapboxMobileEvents `1.0.8` (https://github.com/mapbox/mapbox-maps-ios/pull/1324). * Update to MapboxCommon to `22.0.0` (https://github.com/mapbox/mapbox-maps-ios/pull/1394). * Update to MapboxCoreMaps `10.6.0` (https://github.com/mapbox/mapbox-maps-ios/pull/1394): * <details> <summary>Changelog </summary> * Features ✨ and improvements 🏁 * Update mapbox-common to v22.0.0. * Reduce geometry on globe tile to increase rendering performance. * Minimise tiles relayout on camera zooming with globe view. Improve the overall performance and reduce latency of the cached tiles appearance. * Add minimum and maximum range check for sky layer property 'sky-atmosphere-sun' and 'sky-gradient-center'. If the input is invalid, the default property value will be used. * Add support for sending turnstile event in native for embedded platforms. * Use a single shared buffer across all globe tiles to increase performance. * Use shaders to calculate the 'line-trim-offset' property update. * Re-introduce partial tile loading to provide better TTRC. * The TilesetDescriptorOptions::pixelRatio parameter is now passed to the Tile Store and considered for the raster tile pack loading * Bug fixes 🐞 * Fix lag during night/day style switching when globe is enabled. * Fix crash on globe symbol placement that happens during style change. * Fix incorrect image source rendering with terrain enabled. * Fix in-memory tile cache for non-geometry tiles when the map projection changes. Before, the tiles cached while the previous projection was active could not be used with the new projection active. * Fix unexpected request delay for tiles taken from in-memory cache when minimumTileUpdateInterval is set. * Fix 'line-trim-offset' input losing precision via shader calculation. * Fix momentary appearance of pan tiles labels. * Fix for location indicator not rendered at horizon when terrain is enabled. * Fix for 'line-trim-offset' calculation not properly covering 'round' or 'square' line cap in line ends. </details> ### Dependency requirements: * Minimum compatible version of Xcode: `13.0.0`
v10.5.1
1 week ago
Requires Xcode 13.0.0 or later ### Changes * Address a bug impacting the performance of rendering the map in certain scenarios. ([#1386](https://github.com/mapbox/mapbox-maps-ios/pull/1386)) ### Dependencies * Update to MapboxCoreMaps 10.5.3 and MapboxCommon 21.3.0. (https://github.com/mapbox/mapbox-maps-ios/pull/1386) * Bug fixes 🐞 * Don't use timestamps for presenting Metal drawable, as it could introduce rendering delay.
v10.6.0-rc.1
3 weeks ago
Requires Xcode 13.0.0 or later ### Changes * Fix 3D puck sized incorrectly in the globe view. ([#1347](https://github.com/mapbox/mapbox-maps-ios/pull/1347)) ### Dependencies * Update to MapboxCoreMaps 10.6.0-rc.1 and MapboxCommon 22.0.0-rc.2. ([#1368](https://github.com/mapbox/mapbox-maps-ios/pull/1368)) * Features ✨ and improvements 🏁 * Minimise tiles relayout on camera zooming with globe view. Improve the overall performance and reduce latency of the cached tiles appearance. * Add minimum and maximum range check for sky layer property `sky-atmosphere-sun` and `sky-gradient-center`. If the input is invalid, the default property value will be used. * Share render data between vector render tiles referring to the same logical tile * Update mapbox-common to v22.0.0-rc.2 * Improve vertex buffer allocation of tile render data in Metal * Bug fixes 🐞 * Fix a bug where android test dependency was introduced as a strict version. * Fix an unexpected request update delay for tiles taken from in-memory cache when minimumTileUpdateInterval is set
v10.6.0-beta.2
4 weeks ago
Requires Xcode 13.0.0 or later ### Style * Introduce ModelLayer experimental API to render 3D models on the map. (#1348)
v10.6.0-beta.1
5 weeks ago
Requires Xcode 13.0.0 or later ## Style * Expose API to check whether an image exists in `Style`. (#1297) * Add Atmosphere API. This allows adding an atmosphere effect when using globe projection. See the new `Atmosphere` struct, `Style.setAtmosphere(_:)`, and `Style.removeAtmosphere()`. (#1329) ## SDK Internals * Call `MapboxMap.reduceMemoryUse` when application goes to background. (#1301) * Enable explicit drawing behavior for metal view(call `draw()` explicitly instead of `setNeedsDisplay` when view's content need to be redrawn) again. (#1331) ## Ornaments * Update SDK name in attribution action sheet. (#1338) ## Bug Fixes * Revert annotation tap handling to enable better precision. (#1339) ## Dependencies * Update to MapboxCoreMaps 10.6.0-beta.3 and MapboxCommon 22.0.0-beta.1. (#1335, #1342) * Features ✨ and improvements 🏁 * Use a single shared buffer across all globe tiles to increase globe rendering performance * Increase performance of 'line-trim-offset' rendering by using shader instead of expensive CPU calculations * The TilesetDescriptorOptions::pixelRatio parameter is now passed to the TileStore and considered for the raster tile pack loading. This enables loading of a raster tilepacks for retina displays. * Re-introduce partial tile loading feature that decreases map load times * Bug fixes 🐞 * Fix for momentary appearing of a lower zoom level tile labels during camera movement * Fix for location indicator not being rendered at the horizon when terrain is enabled * Fix for loading gltf models with interleaved buffers * Fix a bug that 'line-trim-offset' calculation did not property cover 'round' or 'square' line cap in line ends * Update to [MapboxMobileEvents v1.0.8.](https://github.com/mapbox/mapbox-events-ios/releases/tag/v1.0.8) (#1324)
v10.5.0
7 weeks ago
Minimum compatible version of Xcode: `13.0.0` ## Changes ### General * Add support for app extensions. (#1183) * Expose convenience properties and methods to transform `CoordinateBounds`. (#1226) * Add a prefix `maps-ios` to all Log message's category. (#1250) ### Style * Add support for runtime source properties. (#1267) * Fix localization crash on iOS 11 and 12. (#1278) * Add `Style.setLight(_:)`. (#1234) * Introduce `line-trim-offset` property for LineLayer. (#1231) * Move APIs for using globe projection from `MapboxMap` to `Style.setProjection(_:)` and `Style.projection`, and remove their experimental designation. (#1235) ### Annotations * Increase annotation tap target to conform to Apple Human Interface Guidelines. (#1283) ### Location * Start location services lazily. (#1262) ### MapboxMap * Expose API to set memory budget for `MapboxMap`. (#1288) * `MapboxMap.point(for: CLLocationCoordinate2D)` should only be used with visible coordinates. It now returns (-1, -1) if the coordinate is not visible. (#1195) * Add `MapboxMap.coordinateBoundsUnwrapped` which correctly handles scenarios that cross the antimeridian or wrap around the globe more than once. (#1241) ### Camera Animations * `BasicCameraAnimator.cancel()` and `.stopAnimation()` now invoke the completion blocks with `UIViewAnimatingPosition.current` instead of crashing with a `fatalError` when invoked prior to `.startAnimation()` or `.startAnimation(afterDelay:)`. (#1197) * `CameraAnimationsManager.stopAnimations()` will now cancel all animators regardless of their state. Previously, only animators with `state == .active` were canceled. (#1197) * Fix animator-related leaks. (#1200) * Animator completion handlers added to already-completed or canceled animators will now be invoked asynchronously on the main queue. (#1305) ### Gestures * Improve AnyTouchGestureRecognizer's interaction with other gesture recognizers. (#1210) * Increase deceleration cutoff threshold from 20 to 35 to prevent camera changes after the pan deceleration animation stops visually. (#1244) ### Offline * Deprecate `OfflineRegionManager.mergeOfflineDatabase(for:completion)`. Use `OfflineRegionManager.mergeOfflineDatabase(forPath:completion)` instead. (#1192) * Add `OfflineRegion.getStatus(completion:)`. (#1239) ### Viewport * Deprecate `FollowPuckViewportStateOptions.animationDuration` which was a workaround for the moving target problem. (#1228) * Update `DefaultViewportTransition` to solve the moving target problem. (#1245) ## Dependencies * Update to MapboxCoreMaps 10.5.1 and MapboxCommon 21.3.0. (#1235, #1281, #1310, #1313) ### Features ✨ and improvements 🏁 * Map projection API moved from Map to Style, in order to allow specifying the map projection in the style. API is no longer experimental. * Automatic transition between the globe and mercator projection updated to appear visually more subtle. * Update mapbox-common to v21.3.0. * Avoid repeated tile loading from network (or repeated tile decompression when the tile is fetched from the cache database) and repeated vector tile data allocation and parsing when loading render tiles referring to the same logical tile * Switch to use shader to calculate the 'line-trim-offset' property update. * Layer properties transitions performance improved if the layer is transitioning to the same constant value or if transitioning from/to data-driven property. * New line layer paint property introduced: '{"line-trim-offset", [trim-start, trim-end]}', to take the line trim-off percentage range based on the whole line range [0.0, 1.0]. The property will only be effective when 'line-gradient' property is set. The line part between [trim-start, trim-end] will be marked as transparent to make a line gradient a vanishing effect. If either 'trim-start' or 'trim-end' offset is out of valid range, the default range [0.0, 0.0] will be set. * Globe view controls revamped for more intuitive interaction with touch controls. * OfflineRegion::getStatus() API added to get the completion status and the local size of the existing legacy offline regions. ### Bug fixes 🐞 * The legacy offline region observer instance is not unnecessarily retained inside the engine. * Fix a bug of querying rendered feature for circle layer with map-pitch-alignment when the pitch is zero. * Fix a bug where zooming was not possible with terrain enabled and exaggeration 0. * Fix an issue where internal hsla() function was converted to an invalid rgba expression. * Fix a bug that 'line-trim-offset' calculation did not property cover 'round' or 'square' line cap in line ends. * Dispatched in-flight events will not be delivered if 'unsubscribe' is called before an event is delivered. * Fix an issue where some of the visible tiles could be erroneously culled during transition between globe and mercator projection. * Fixes issues where camera appears under terrain, or map gets bumpy repositioning after exaggeration change. * Disable terrain rendering if GPU does not support Vertex Texture Fetch. * Fixed a bug that occasionally prevents symbols from loading.
v10.5.0-rc.1
9 weeks ago
* Minimum compatible version of Xcode: `13.0.0` ## Changes * Add support for runtime source properties. (#1267) * Start location services lazily. (#1262) * Fix localization crash on iOS 11 and 12. (#1278) * Increase annotation tap target to conform to Apple Human Interface Guidelines. (#1283) * Update to MapboxCoreMaps 10.5.0-rc.1 and MapboxCommon 21.3.0-rc.2. (#1281) * Expose API to set memory budget for `MapboxMap`. (#1288)
v10.4.3
10 weeks ago
* Compatible version of Xcode: `12.5.1` ### Changes * Updates to MapboxCommon 21.2.1 to fix an issue with loading content from the cache. (#1271) * Fixes an issue where location services were started before they were needed. (#1262) ### Direct download Link to download binaries (append your own Mapbox access token [scoped with `DOWNLOADS:READ`](https://account.mapbox.com/)): ``` https://api.mapbox.com/downloads/v2/mobile-maps-ios/releases/ios/10.4.3/MapboxMaps.zip?access_token=<access-token> ```
v10.5.0-beta.1
11 weeks ago
### Changes * Mitigate `OfflineRegionManager.mergeOfflineDatabase(for:completion)` throwing `TypeConversionError.unexpectedType` on a successfull merge. Introduce `OfflineRegionManager.mergeOfflineDatabase(forPath:completion)` as the correct way to merge offline database. ([#1192](https://github.com/mapbox/mapbox-maps-ios/pull/1192)) * Limit MapboxMap.point(for: CLLocationCoordinate2D) to the bounds of map view ([#1195](https://github.com/mapbox/mapbox-maps-ios/pull/1195)) * Add support for app extensions. ([#1183](https://github.com/mapbox/mapbox-maps-ios/pull/1183)) * `BasicCameraAnimator.cancel()` and `.stopAnimation()` now invoke the completion blocks with `UIViewAnimatingPosition.current` instead of crashing with a `fatalError` when invoked prior to `.startAnimation()` or `.startAnimation(afterDelay:)`. ([#1197](https://github.com/mapbox/mapbox-maps-ios/pull/1197)) * `CameraAnimationsManager.stopAnimations()` will now cancel all animators regardless of their state. Previously, only animators with `state == .active` were canceled. ([#1197](https://github.com/mapbox/mapbox-maps-ios/pull/1197)) * Fix animator-related leaks. ([#1200](https://github.com/mapbox/mapbox-maps-ios/pull/1200)) * Improve AnyTouchGestureRecognizer's interaction with other gesture recognizers. ([#1210](https://github.com/mapbox/mapbox-maps-ios/pull/1210)) * Expose convenience properties and methods to transform `CoordinateBounds`. ([1226](https://github.com/mapbox/mapbox-maps-ios/pull/1226)) * Update annotation examples. ([#1215](https://github.com/mapbox/mapbox-maps-ios/pull/1215)) * Add `Style.setLight(_:)` to set light onto a style. Update `BuildingExtrusionsExample` with an example to set a light source on the style. ([#1234](https://github.com/mapbox/mapbox-maps-ios/pull/1234)) * Remove `FollowPuckViewportStateOptions.animationDuration`, a workaround for the moving target problem. ([#1228](https://github.com/mapbox/mapbox-maps-ios/pull/1228)) * Deprecate `FollowPuckViewportStateOptions.animationDuration`, a workaround for the moving target problem. ([#1228](https://github.com/mapbox/mapbox-maps-ios/pull/1228)) * Add map view example with `debugOptions`. ([#1225](https://github.com/mapbox/mapbox-maps-ios/pull/1225)) * Introduce `line-trim-offset` property for LineLayer. ([#1231](https://github.com/mapbox/mapbox-maps-ios/pull/1231)) * Add `MapboxMap.coordinateBoundsUnwrapped`. ([#1241](https://github.com/mapbox/mapbox-maps-ios/pull/1241)) * Update `DefaultViewportTransition` to solve the moving target problem. ([#1245](https://github.com/mapbox/mapbox-maps-ios/pull/1245)) * Increase deceleration cutoff threshold from 20 to 35 to prevent camera changes after animation stops. ([#1244](https://github.com/mapbox/mapbox-maps-ios/pull/1244)) * API for using globe projection has been moved to `Style.setProjection(_:)` and `Style.projection` and is no longer experimental. ([#1235](https://github.com/mapbox/mapbox-maps-ios/pull/1235)) * Add `OfflineRegion.getStatus(completion:)`. ([#1239](https://github.com/mapbox/mapbox-maps-ios/pull/1239)) * Add a prefix `maps-ios` to all Log message's category. ([#1250](https://github.com/mapbox/mapbox-maps-ios/pull/1250)) ### Dependencies * Update to MapboxCoreMaps 10.5.0-beta.1 and MapboxCommon 21.3.0-beta.2. ([#1235](https://github.com/mapbox/mapbox-maps-ios/pull/1235)) #### Breaking changes ⚠️ * Map projection API moved from Map to Style, in order to allow specifying the map projection in the style * Automatic transition between the globe and mercator projection updated to appear visually more subtle. #### Features ✨ and improvements 🏁 * Map render call optimized further by further reducing computational overhead. * Layer properties transitions performance improved if the layer is transitioning to the same constant value or if transitioning from/to data-driven property. * New line layer paint property introduced: '{"line-trim-offset", [trim-start, trim-end]}', to take the line trim-off percentage range based on the whole line range [0.0, 1.0]. The property will only be effective when 'line-gradient' property is set. The line part between [trim-start, trim-end] will be marked as transparent to make a line gradient a vanishing effect. If either 'trim-start' or 'trim-end' offset is out of valid range, the default range [0.0, 0.0] will be set. * Globe view controls revamped for more intuitive interaction with touch controls. * OfflineRegion::getStatus() API added to get the completion status and the local size of the existing legacy offline regions. #### Bug fixes 🐞 * Dispatched in-flight events will not be delivered if 'unsubscribe' is called before an event is delivered. * Transitions between globe and mercator projection do not cull tiles incorrectly anymore. * Terrain-related camera issues fixed, previously making it appear under terrain, or incorrectly repositioned after exaggeration change. * Terrain rendering disabled on GPUs not supporting Vertex Texture Fetch. * Fixed a bug that occasionally prevented symbols from loading. ### Dependency requirements: * Compatible version of Xcode: `13.0.0`
v10.4.2
11 weeks ago
### Changes * Add `OfflineRegion.getStatus(completion:)`. ([#1239](https://github.com/mapbox/mapbox-maps-ios/pull/1239)) * Update to MapboxCoreMaps 10.4.2 ([#1256](https://github.com/mapbox/mapbox-maps-ios/pull/1256)) #### Bug fixes 🐞 * Re-introduce the API to get the status of the existing offline regions, so that the clients can get the completion status and the local size of the existing legacy offline regions. ([#3192](https://github.com/mapbox/mapbox-gl-native-internal/pull/3192)) * Fixes a bug that occasionally prevents symbols from loading ([#3191](https://github.com/mapbox/mapbox-gl-native-internal/pull/3191)) ### Dependency requirements: * Compatible version of MapboxCoreMaps: `10.4.2` * Compatible version of MapboxCommon: `21.2.0` * Compatible version of Xcode: `12.5.1`
iOS
mapbox/MapboxStatic.swift v0.12.0
Static map snapshots with overlays in Swift or Objective-C on iOS, macOS, tvOS, and watchOS
⭐️ 171
🕓 Yesterday
🔖 Release Notes

Releases

The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
v0.12.0
1 year ago
[Changes](https://github.com/mapbox/MapboxStatic.swift/compare/v0.11.0...v0.12.0) since [v0.11.0](https://github.com/mapbox/MapboxGeocoder.swift/releases/tag/v0.11.0): * Increased the minimum deployment targets to iOS 10.0, macOS 10.12.0, tvOS 10.0, and watchOS 3.0. (#109) * Upgraded to Polyline v5.0. (#109)
v0.11.0
2 years ago
[Changes](https://github.com/mapbox/MapboxStatic.swift/compare/v0.10.0...v0.11.0) since [v0.10.0](https://github.com/mapbox/MapboxGeocoder.swift/releases/tag/v0.10.0): * This library can now be installed using Swift Package Manager. (#96) * Renamed `ClassicSnapshotOptions(mapIdentifiers:size:)` to `ClassicSnapshotOptions(tileSetIdentifiers:size:)` and `ClassicSnapshotOptions(mapIdentifiers:zoomLevel:size:)` to `ClassicSnapshotOptions(tileSetIdentifiers:zoomLevel:size:)`. (#100) * Migrated to Swift 5. (#101)
v0.10.0
3 years ago
[Changes](https://github.com/mapbox/MapboxStatic.swift/compare/v0.9.1...v0.10.0) since [v0.9.1](https://github.com/mapbox/MapboxGeocoder.swift/releases/tag/v0.9.1): * This library now depends on the [Polyline](https://github.com/raphaelmor/Polyline/) framework. (#53) * Upgraded to Swift 4. (#75) * Added support for watchOS on the fourth-generation Apple Watch. (#82)
v0.9.1
4 years ago
[Changes](https://github.com/mapbox/MapboxStatic.swift/compare/v0.9.0...v0.9.1) since [v0.9.0](https://github.com/mapbox/MapboxGeocoder.swift/releases/tag/v0.9.0): * Fixed a crash that could occur if another module extends UIColor with a `toHexString()` method. (#66)
v0.9.0
5 years ago
Changes since [v0.8.0](https://github.com/mapbox/MapboxGeocoder.swift/releases/tag/v0.8.0): * Removed the `strokeOpacity` and `fillOpacity` properties from Path in favor of the alpha components of the `strokeColor` and `fillColor` properties, respectively. (#61) * Fixed a linker error in Objective-C projects about “incompatible Objective-C category definitions”. (#60) * Fixed an issue causing Path overlays without fills to become closed polygons. (#58)
v0.8.0
5 years ago
This release upgrades the library to the Mapbox Static API, which is powered by [Mapbox GL](https://wiki.openstreetmap.org/wiki/Mapbox_GL). Snapshot [modern styles](https://www.mapbox.com/studio/styles/), rotated and tilted, with all the same overlay options as before ([#54](https://github.com/mapbox/MapboxStatic.swift/pull/54)). Changes since [v0.7.0](https://github.com/mapbox/MapboxStatic.swift/releases/tag/v0.7.0): * SnapshotOptions’ initializers have been replaced with new initializers that accept a style URL and SnapshotCamera. (SnapshotCamera is similar to [MGLMapCamera](https://www.mapbox.com/ios-sdk/api/3.5.0/Classes/MGLMapCamera.html) in the Mapbox iOS and macOS SDKs, except that you can specify either a zoom level or an altitude for convenience.) * ClassicSnapshotOptions connects to the classic Static API, retaining the functionality of the former SnapshotOptions. * Overlay options have remained relatively unchanged, although markers now support a wider selection of icon names in conjunction with SnapshotOptions, and you can choose to insert overlays below labels, roads, or other parts of the map. * SnapshotOptions adds a Mapbox logo and copyright notices by default. * `GeoJSON(object:)` is once again throwable. * Fixed warnings building with Swift 3.1. ([#55](https://github.com/mapbox/MapboxStatic.swift/pull/55))
v0.7.0
5 years ago
Changes since [v0.6.2](https://github.com/mapbox/MapboxStatic.swift/releases/tag/v0.6.2): - Migrated to Swift 3.0. If your application is written in Swift 2.3, you should stick to v0.6.x or use the swift2.3 branch. ([#50](https://github.com/mapbox/MapboxStatic.swift/pull/50)) - Fixed an issue causing the error “The sandbox is not in sync with the Podfile.lock” when updating a Carthage-based project that requires this framework. ([#51](https://github.com/mapbox/MapboxStatic.swift/pull/51))
v0.6.2
5 years ago
Changes since [v0.6.1](https://github.com/mapbox/MapboxStatic.swift/releases/tag/v0.6.1): - Migrated to Swift 2.3. - Fixed an error that occurred when archiving an application that links to this library. ([#38](https://github.com/mapbox/MapboxStatic.swift/pull/38)) - The user agent string sent by the Mac version of this library now says “macOS” instead of “OS X”. ([#36](https://github.com/mapbox/MapboxStatic.swift/pull/36)) - More reliably parse server responses. ([#40](https://github.com/mapbox/MapboxStatic.swift/pull/40)) - Clarified documentation. ([#39](https://github.com/mapbox/MapboxStatic.swift/pull/39)) To install this release via CocoaPods, point your Podfile to: ``` podspec pod 'MapboxStatic.swift', :git => 'https://github.com/mapbox/MapboxStatic.swift.git', :tag => 'v0.6.2' ```
v0.6.1
6 years ago
Changes since [v0.6.0](https://github.com/mapbox/MapboxStatic.swift/releases/tag/v0.6.0): - When the request fails due to rate limiting, an invalid access token, or other invalid input, the completion handler’s `error` parameter contains an NSError object with an explanation of the reason for the failure and a recovery suggestion. ([#32](https://github.com/mapbox/MapboxStatic.swift/pull/32), [#34](https://github.com/mapbox/MapboxStatic.swift/pull/34)) - Renamed `Snapshot.requestURL` to simply `URL`. ([#31](https://github.com/mapbox/MapboxStatic.swift/pull/31)) - Requests sent through this library now use a more specific user agent string, so you can more easily identify this library on [your Statistics page in Mapbox Studio](https://www.mapbox.com/studio/stats/). ([#33](https://github.com/mapbox/MapboxStatic.swift/pull/33)) - Fixed a crash when requesting images between 640 and 1,280 points tall or wide on Retina displays. To install this release via CocoaPods, point your Podfile to: ``` podspec pod 'MapboxStatic.swift', :git => 'https://github.com/mapbox/MapboxStatic.swift.git', :tag => 'v0.6.1' ```
v0.6.0
6 years ago
Changes since [v0.5.0](https://github.com/mapbox/MapboxStatic.swift/releases/tag/v0.5.0): - Added support for bridging to Objective-C code. All classes now inherit from `NSObject` and have prefixed Objective-C class names. ([#28](https://github.com/mapbox/MapboxStatic.swift/pull/28)) - Even if you aren’t using CocoaPods, you can now install the framework into tvOS and watchOS projects in addition to iOS and OS X projects. ([#25](https://github.com/mapbox/MapboxStatic.swift/pull/25)) - Fixed a compiler error that affected watchOS projects that installed this library via CocoaPods. ([#25](https://github.com/mapbox/MapboxStatic.swift/pull/25)) - A new `MarkerOptions` class conforms to a common `SnapshotOptionsProtocol` and inherits from `MarkerImage` like `Marker` does. `MarkerOptions` is responsible for configuring a request for a standalone marker from the classic Static API. ([#30](https://github.com/mapbox/MapboxStatic.swift/pull/30)) - Renamed the `mapIdentifier` parameter of SnapshotOptions’ initializers to reflect the fact that you can composite multiple tile sets together by specifying multiple map identifiers. ([#22](https://github.com/mapbox/MapboxStatic.swift/pull/22)) - Added Markdown documentation throughout the library. ([#23](https://github.com/mapbox/MapboxStatic.swift/pull/23), [#24](https://github.com/mapbox/MapboxStatic.swift/pull/24)) - `Overlay` is now a protocol. ([#23](https://github.com/mapbox/MapboxStatic.swift/pull/23)) - `Marker` and `CustomMarker` share a `Point` protocol. ([#23](https://github.com/mapbox/MapboxStatic.swift/pull/23)) - Renamed `MarkerSize` to `Size` and placed it under `Marker`. ([#23](https://github.com/mapbox/MapboxStatic.swift/pull/23)) - Renamed `SnapshotFormat` to simply `Format` and placed it under `SnapshotOptions`. - Added multiple convenience initializers to `Marker` that replace the `label` parameter with more specific parameters. ([#23](https://github.com/mapbox/MapboxStatic.swift/pull/23), [#28](https://github.com/mapbox/MapboxStatic.swift/pull/28)) - Renamed `GeoJSON(string:)` to `GeoJSON(objectString:)` and added a `GeoJSON(object:)` that takes structured data. ([#23](https://github.com/mapbox/MapboxStatic.swift/pull/23)) - Fixed an issue in which strings containing `?` or `)` passed into `Path`’s initializer would truncate the request URL, potentially causing the image request to fail. ([#26](https://github.com/mapbox/MapboxStatic.swift/pull/26)) - Fixed an incorrect assertion failure creating large snapshots on devices with 3× screens. ([#27](https://github.com/mapbox/MapboxStatic.swift/pull/27)) - Removed colors from overlay initializers in order to support multiple operating systems in Objective-C. Also removed other parameters from `Path`’s initializer since they make less sense without color parameters. ([#28](https://github.com/mapbox/MapboxStatic.swift/pull/28)) - Added members to `Path` that refer to coordinates with raw pointers instead of arrays to enable bridging to Objective-C with C arrays. ([#28](https://github.com/mapbox/MapboxStatic.swift/pull/28)) To install this release via CocoaPods, point your Podfile to: ``` podspec pod 'MapboxStatic.swift', :git => 'https://github.com/mapbox/MapboxStatic.swift.git', :tag => 'v0.6.0' ```
iOS macOS watchOS tvOS
mapbox/turf-swift v2.4.0
A Swift language port of Turf.js.
⭐️ 170
🕓 10 weeks ago
🔖 Release Notes

Releases

The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
v2.4.0
10 weeks ago
[Changes](https://github.com/mapbox/turf-swift/compare/v2.3.0...v2.4.0) since [v2.3.0](https://github.com/mapbox/turf-swift/releases/tag/v2.3.0): * Foreign members in GeoJSON are no longer encoded or decoded by default for performance reasons. To enable encoding or decoding of foreign members, set the `CodingUserInfoKey.includesForeignMembers` option to `true` in `JSONEncoder.userInfo` or `JSONDecoder.userInfo`, respectively. (#187) Documentation is [available online](https://mapbox.github.io/turf-swift/) or within Xcode.
v2.3.0
16 weeks ago
[Changes](https://github.com/mapbox/turf-swift/compare/v2.2.0...v2.3.0) since [v2.2.0](https://github.com/mapbox/turf-swift/releases/tag/v2.2.0): * Fixed an issue where a GeoJSON feature property set to the integer 0 or 1 was converted to a Boolean when encoding or decoding the feature. (#181) Documentation is [available online](https://mapbox.github.io/turf-swift/) or within Xcode.
v2.2.0
22 weeks ago
[Changes](https://github.com/mapbox/turf-swift/compare/v2.1.0...v2.2.0) since [v2.1.0](https://github.com/mapbox/turf-swift/releases/tag/v2.1.0): * The `Feature`, `FeatureCollection`, `GeometryCollection`, `LineString`, `MultiLineString`, `MultiPoint`, `MultiPolygon`, `Point`, and `Polygon` structs now conform to the `ForeignMemberContainer` protocol. [Foreign members](https://datatracker.ietf.org/doc/html/rfc7946#section-6.1) (unrecognized properties outside of `properties`) are stored in the `ForeignMemberContainer.foreignMembers` property and round-tripped to JSON. (#175) * `Ring` now conforms to the `Codable` protocol. (#175) Documentation is [available online](https://mapbox.github.io/turf-swift/) or within Xcode.
v2.1.0
32 weeks ago
[Changes](https://github.com/mapbox/turf-swift/compare/v2.0.0...v2.1.0) since [v2.0.0](https://github.com/mapbox/turf-swift/releases/tag/v2.0.0): * Added `LineString.trimmed(from:to:)` method that returns a sliced `LineString` based on the starting and stopping distances. * Added `Linestring.intersection(with:)` method that returns all the intersections of the `LineString` with another one. Documentation is [available online](https://mapbox.github.io/turf-swift/) or within Xcode.
v2.0.0
37 weeks ago
[Changes](https://github.com/mapbox/turf-swift/compare/v1.2.0...v2.0.0) since [v1.2.0](https://github.com/mapbox/turf-swift/releases/tag/v1.2.0): ## Packaging * ⚠️ Turf requires Xcode 12.0 or above to build from source. (#152) * ⚠️ When installing this library using Carthage, Carthage builds it with library evolution enabled. (#134) * Turf is now 100% documented. [A full API reference](https://mapbox.github.io/turf-swift/) is available online. (#162) ## Geometry * ⚠️ Replaced the Linux-specific definitions of `CLLocationCoordinate2D`, `CLLocationDirection`, `CLLocationDistance`, and `CLLocationDegrees` with `LocationCoordinate2D`, `LocationDirection`, `LocationDistance`, and `LocationDegrees`, respectively. On Apple platforms, the new types remain type aliases, so you can continue to use the familiar `CL`-prefixed Core Location types unless you are writing cross-platform code that supports Linux. (#132) * ⚠️ Combined the `GeoJSON` class and `GeoJSON` protocol into a unified `GeoJSONObject` enumeration. Use `JSONDecoder` instead of the `GeoJSON.parse(_:)` or `GeoJSON.parse<T: GeoJSONObject>(_:from:)` method. (#154) <table> <tr> <th scope="row">v1.<var>x</var></th> <td> ```swift if let feature = try GeoJSON.parse(data)?.decodedFeature, case let .lineString(lineString) = feature.geometry { … } ``` </td> </tr> <tr> <th scope="row">v2.0.0</th> <td> ```swift if case let .feature(feature) = try JSONDecoder().decode(GeoJSONObject.self, from: data), case let .lineString(lineString) = feature.geometry { … } ``` </td> </tr> </table> * ⚠️ Removed the `FeatureCollection.identifier` and `FeatureCollection.properties` properties with no replacement. These properties had been represented in GeoJSON by foreign members, which are not yet implemented. If you had been relying on the `identifier` or `properties` foreign members of FeatureCollection objects, move the data to each individual feature in the collection. (#154) <table> <tr> <th scope="row">v1.<var>x</var></th> <td> ```swift let uuid = UUID().description featureCollection.identifier = .string(uuid) ``` </td> </tr> <tr> <th scope="row">v2.0.0</th> <td> ```swift let uuid = UUID().description for feature in featureCollection.features { $0.identifier = .string(uuid) } ``` </td> </tr> </table> * ⚠️ The `Feature.properties` property is now a `JSONObject?` (in other words, `[String: JSONValue?]?`). JSONObject is type-checked at compile time instead of runtime, but you can initialize it using a literal or full-width conversion from `Any?`. Code that builds a JSON object using literals will have to be modified to either specify a `JSONValue` case for each value or call the `JSONObject(rawValue:)` initializer. (#154) <table> <tr> <th scope="row">v1.<var>x</var></th> <td> ```swift feature.properties = [ "name": "Wapakoneta", "population": 9_957, "favorite": isFavorite, ] let isBigCity = (feature.properties?["population"] as? Double).flatMap { $0 > 10_000 } ``` </td> </tr> <tr> <th scope="row">v2.0.0</th> <td> ```swift feature.properties = [ "name": "Wapakoneta", "population": 9_957, "favorite": .boolean(isFavorite), ] var isBigCity: Bool? if case let .number(population) = feature.properties?["population"] { isBigCity = population > 10_000 } ``` </td> </tr> </table> * ⚠️ The `Feature.geometry` property is now optional. (#154) * ⚠️ Removed the `Geometry.type` property. Use pattern matching (`case let`) instead. (#154) <table> <tr> <th scope="row">v1.<var>x</var></th> <td> ```swift if geometry.type == .Point { … } ``` </td> </tr> <tr> <th scope="row">v2.0.0</th> <td> ```swift if case .point = geometry { … } ``` </td> </tr> </table> * ⚠️ Removed the `Geometry.value` property. This type erasure is unnecessary and can potentially become a source of bugs. Use pattern matching instead. (#154) <table> <tr> <th scope="row">v1.<var>x</var></th> <td> ```swift if let point = geometry.value as? Point { … } ``` </td> </tr> <tr> <th scope="row">v2.0.0</th> <td> ```swift if case let .point(point) = geometry { … } ``` </td> </tr> </table> * ⚠️ Removed the `Number` enumeration in favor of a `Double`-typed `FeatureIdentifier.number(_:)` case. JSON doesn’t distinguish between integers and double-precision floating point numbers. Any distinction in the type system or encoded JSON is purely cosmetic. (#154) <table> <tr> <th scope="row">v1.<var>x</var></th> <td> ```swift let randomNumber = Int.random(in: 0...255) feature.identifier = .number(.int(randomNumber)) if let number = feature.identifier?.value as? Int { print("You rolled a \(number)!") } ``` </td> </tr> <tr> <th scope="row">v2.0.0</th> <td> ```swift let randomNumber = Int.random(in: 0...255) feature.identifier = .number(Double(randomNumber)) if let .number(number) = feature.identifier { print("You rolled a \(Int(number))!") } ``` </td> </tr> </table> * ⚠️ Renamed the `BoundingBox(_:_:)` initializer to `BoundingBox(southWest:northEast:)`. (#132) * `Feature` and `FeatureCollection` now conform to the `Equatable` protocol. (#154) * Each geometric type, such as `Point`, now conforms to the `Codable` and `Equatable` protocols. (#154) * `BoundingBox` and `FeatureIdentifier` now conform to the `Hashable` protocol. (#154, #159) ## Trigonometry * ⚠️ The `RadianCoordinate2D.direction(to:)` method now returns a `Measurement<UnitAngle>` instead of a `RadianDirection`, and the `RadianCoordinate2D.coordinate(at:facing:)` method now accepts a `Measurement<UnitAngle>` instance instead of a `RadianDirection`. The `LocationCoordinate2D.coordinate(at:facing:)` method can now accept a `Measurement<UnitAngle>` instance instead of a `LocationDirection` instance. (#143) * Added the `Polygon.smooth(iterations:)` method for polygon smoothing. (#137) * Added the `Polygon.simplify(tolerance:highestQuality)` method in both non-mutating and mutating forms. (#138) * Added the `LineString.bezier(resolution:sharpness:)` method for calculating a Bézier curve. (#140) * Added the `Polygon.center`, `Polygon.centroid`, and `Polygon.centerOfMass` properties. (#148) Documentation is [available online](https://mapbox.github.io/turf-swift/) or within Xcode.
v2.0.0-rc.2
38 weeks ago
[Changes](https://github.com/mapbox/turf-swift/compare/v2.0.0-rc.1...v2.0.0-rc.2) since [v2.0.0-rc.1](https://github.com/mapbox/turf-swift/releases/tag/v2.0.0-rc.1): ## Packaging * ⚠️ Turf requires Xcode 12.0 or above to build from source. (#152) ## Geometry * ⚠️ Replaced the `GeoJSON` class and `GeoJSON` protocol with a unified `GeoJSONObject` enumeration. Use `JSONDecoder` instead of the `GeoJSON.parse(_:)` or `GeoJSON.parse<T: GeoJSONObject>(_:from:)` method. (#154) <table> <tr> <th scope="row">v2.0.0-rc.1</th> <td> ```swift if let feature = try GeoJSON.parse(data)?.decodedFeature, case let .lineString(lineString) = feature.geometry { … } ``` </td> </tr> <tr> <th scope="row">v2.0.0-rc.2</th> <td> ```swift if case let .feature(feature) = try JSONDecoder().decode(GeoJSONObject.self, from: data), case let .lineString(lineString) = feature.geometry { … } ``` </td> </tr> </table> * ⚠️ Removed the `FeatureCollection.identifier` and `FeatureCollection.properties` properties with no replacement. These properties had been represented in GeoJSON by foreign members, which are not yet implemented. If you had been relying on the `identifier` or `properties` foreign members of FeatureCollection objects, move the data to each individual feature in the collection. (#154) <table> <tr> <th scope="row">v2.0.0-rc.1</th> <td> ```swift let uuid = UUID().description featureCollection.identifier = .string(uuid) ``` </td> </tr> <tr> <th scope="row">v2.0.0-rc.2</th> <td> ```swift let uuid = UUID().description for feature in featureCollection.features { $0.identifier = .string(uuid) } ``` </td> </tr> </table> * ⚠️ The `Feature.properties` property is now a `JSONObject?` (in other words, `[String: JSONValue?]?`). JSONObject is type-checked at compile time instead of runtime, but you can initialize it using a literal or full-width conversion from `Any?`. Code that builds a JSON object using literals will have to be modified to either specify a `JSONValue` case for each value or call the `JSONObject(rawValue:)` initializer. (#154) <table> <tr> <th scope="row">v2.0.0-rc.1</th> <td> ```swift feature.properties = [ "name": "Wapakoneta", "population": 9_957, "favorite": isFavorite, ] let isBigCity = (feature.properties?["population"] as? Double).flatMap { $0 > 10_000 } ``` </td> </tr> <tr> <th scope="row">v2.0.0-rc.2</th> <td> ```swift feature.properties = [ "name": "Wapakoneta", "population": 9_957, "favorite": .boolean(isFavorite), ] var isBigCity: Bool? if case let .number(population) = feature.properties?["population"] { isBigCity = population > 10_000 } ``` </td> </tr> </table> * ⚠️ The `Feature.geometry` property is now optional. (#154) * ⚠️ Removed the `Geometry.type` property. Use pattern matching (`case let`) instead. (#154) <table> <tr> <th scope="row">v2.0.0-rc.1</th> <td> ```swift if geometry.type == .Point { … } ``` </td> </tr> <tr> <th scope="row">v2.0.0-rc.2</th> <td> ```swift if case .point = geometry { … } ``` </td> </tr> </table> * ⚠️ Removed the `Geometry.value` property. This type erasure is unnecessary and can potentially become a source of bugs. Use pattern matching instead. (#154) <table> <tr> <th scope="row">v2.0.0-rc.1</th> <td> ```swift if let point = geometry.value as? Point { … } ``` </td> </tr> <tr> <th scope="row">v2.0.0-rc.2</th> <td> ```swift if case let .point(point) = geometry { … } ``` </td> </tr> </table> * ⚠️ Removed the `Number` enumeration in favor of a `Double`-typed `FeatureIdentifier.number(_:)` case. JSON doesn’t distinguish between integers and double-precision floating point numbers. Any distinction in the type system or encoded JSON is purely cosmetic. (#154) <table> <tr> <th scope="row">v2.0.0-rc.1</th> <td> ```swift let randomNumber = Int.random(in: 0...255) feature.identifier = .number(.int(randomNumber)) if let number = feature.identifier?.value as? Int { print("You rolled a \(number)!") } ``` </td> </tr> <tr> <th scope="row">v2.0.0-rc.2</th> <td> ```swift let randomNumber = Int.random(in: 0...255) feature.identifier = .number(Double(randomNumber)) if let .number(number) = feature.identifier { print("You rolled a \(Int(number))!") } ``` </td> </tr> </table> * `Feature` and `FeatureCollection` now conform to the `Equatable` protocol. (#154) * Each geometric type, such as `Point`, now conforms to the `Codable` and `Equatable` protocols. (#154) * `BoundingBox` now conforms to the `Hashable` protocol. (#154) ## Trigonometry * Fixed an issue where the `LineString.simplify(tolerance:highestQuality:)` method returned a highest-quality result even if the `highestQuality` parameter was set to `false`. (#152) * Fixed an issue where the `Polygon.simplify(tolerance:highestQuality:)` method incorrectly applied the tolerance. (#152) * Fixed an issue where the `Polygon.simplify(tolerance:highestQuality:)` method failed to simplify the polygon at all if any of the linear rings was a triangle. (#152)
v2.0.0-rc.1
46 weeks ago
[Changes](https://github.com/mapbox/turf-swift/compare/v2.0.0-beta.1...v2.0.0-rc.1) since [v2.0.0-beta.1](https://github.com/mapbox/turf-swift/releases/tag/v2.0.0-beta.1): * Made bezier feature on LineString public. (#140) * Added Polygon.centroid() and Polygon.centerOfMass() methods. (#148)
v2.0.0-beta.1
1 year ago
[Changes](https://github.com/mapbox/turf-swift/compare/v2.0.0-alpha.3...v2.0.0-beta.1) since [v2.0.0-alpha.3](https://github.com/mapbox/turf-swift/releases/tag/v2.0.0-alpha.3): * Added `Polygon.smooth(iterations:)` for polygon smoothing. (#137) * Added `Polygon.simplify(tolerance:highestQuality)` method in both non-mutating and mutating options. (#138) * Changed direction type in `RadianCoordinate2D.direction(to:)` and `RadianCoordinate2D.coordinate(at:facing:)` to `Measurement<UnitAngle>`. (#143) * Added `LocationCoordinate2D.coordinate(at:facing:)` with `Measurement<UnitAngle>` as direction type. (#143)
v2.0.0-alpha.3
1 year ago
[Changes](https://github.com/mapbox/turf-swift/compare/v2.0.0-alpha.2...v2.0.0-alpha.3) since [v2.0.0-alpha.2](https://github.com/mapbox/turf-swift/releases/tag/v2.0.0-alpha.2): ## Packaging * Restored support for tvOS, watchOS, and Linux. * This library once is once again distributed as source code. * When installing this library using Carthage, Carthage builds it with library evolution enabled. (#134) ## Other changes * Replaced the Linux-specific definitions of `CLLocationCoordinate2D`, `CLLocationDirection`, `CLLocationDistance`, and `CLLocationDegrees` with `LocationCoordinate2D`, `LocationDirection`, `LocationDistance`, and `LocationDegrees`, respectively. On Apple platforms, the new types remain type aliases, so you can continue to use the familiar `CL`-prefixed Core Location types unless you are writing cross-platform code that supports Linux. (#132) * Renamed `BoundingBox(_:_:)` to `BoundingBox(southWest:northEast:)`. (#132)
v2.0.0-alpha.2
1 year ago
* Enables library evolution for SPM, Carthage, and CocoaPods to unblock mapbox/mapbox-navigation-ios#2629 and mapbox/mapbox-navigation-ios#2794.
iOS macOS watchOS tvOS
mapbox/mapbox-directions-swift v2.6.0-rc.1
Traffic-aware directions and map matching in Swift on iOS, macOS, tvOS, watchOS, and Linux
⭐️ 140
🕓 7 hours ago
🔖 Release Notes

Releases

The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
v2.6.0-rc.1
12 hours ago
No public [changes](https://github.com/mapbox/mapbox-directions-swift/compare/v2.6.0-beta.2...v2.6.0-rc.1) since [v2.6.0-beta.2](https://github.com/mapbox/mapbox-directions-swift/releases/tag/v2.6.0-beta.2). Documentation is [available online](https://docs.mapbox.com/ios/directions/api/2.6.0-rc.1) or within Xcode.
v2.6.0-beta.2
2 weeks ago
[Changes](https://github.com/mapbox/mapbox-directions-swift/compare/v2.6.0-beta.1...v2.6.0-beta.2) since [v2.6.0-beta.1](https://github.com/mapbox/mapbox-directions-swift/releases/tag/v2.6.0-beta.1): * Added the `Intersection.railroadCrossing`, `Intersection.trafficSignal`, `Intersection.stopSign` and `Intersection.yieldSign` properties to indicate the kind of traffic control devices at an intersection along the route. #706 Documentation is [available online](https://docs.mapbox.com/ios/directions/api/2.6.0-beta.2) or within Xcode.
v2.6.0-beta.1
3 weeks ago
[Changes](https://github.com/mapbox/mapbox-directions-swift/compare/v2.5.0...v2.6.0-beta.1) since [v2.5.0](https://github.com/mapbox/mapbox-directions-swift/releases/tag/v2.5.0): * `MapboxDirections` now requires [Turf v2.4](https://github.com/mapbox/turf-swift/releases/tag/v2.4.0). ([#703](https://github.com/mapbox/mapbox-directions-swift/pull/703)) * Added the `RouteOptions.maximumWeight` property to compute routes that excludes roads with a lower weight limit. ([#694](https://github.com/mapbox/mapbox-directions-swift/pull/694)) * Added `Route.refreshLegIncidents(from:)` method to allow refreshing `RouteLeg.incidents` during a route refresh. ([#704](https://github.com/mapbox/mapbox-directions-swift/pull/704)) Documentation is [available online](https://docs.mapbox.com/ios/directions/api/2.6.0-beta.1) or within Xcode.
v2.5.0
4 weeks ago
[Changes](https://github.com/mapbox/mapbox-directions-swift/compare/v2.4.0...v2.5.0) since [v2.4.0](https://github.com/mapbox/mapbox-directions-swift/releases/tag/v2.4.0): * Added the `RestStop.name` property. ([#689](https://github.com/mapbox/mapbox-directions-swift/pull/689)) * Added the `TollCollection.name` property. ([#691](https://github.com/mapbox/mapbox-directions-swift/pull/691)) * Types that correspond to objects in the Mapbox Directions API response, such as `RouteResponse`, `RouteRefreshResponse`, `MatchResponse`, and `RouteStep`, now conform to the `ForeignMemberContainer` and `ForeignMemberClassContainer` protocols. Types that conform to these protocols can persist unrecognized properties in the response, such as properties that are in beta, even after coding and decoding. You can access these properties using the `ForeignMemberContainer.foreignMembers` and `ForeignMemberClassContainer.foreignMembers` properties. ([#669](https://github.com/mapbox/mapbox-directions-swift/pull/669)) * Fixed an issue where `RouteStep.distance`, `RouteStep.expectedTravelTime` and `RouteStep.typicalTravelTime` were rounded to one decimal place when being encoded. ([#697](https://github.com/mapbox/mapbox-directions-swift/pull/697)) * Fixed an issue where decoding a `RouteResponse` incorrectly set the `Waypoint.snappedDistance` property to `nil`. ([#669](https://github.com/mapbox/mapbox-directions-swift/pull/669)) * The `mapbox-directions-swift` command line tool now requests routes from the Mapbox Directions API if no input file is specified. ([#576](https://github.com/mapbox/mapbox-directions-swift/pull/576)) Documentation is [available online](https://docs.mapbox.com/ios/directions/api/2.5.0) or within Xcode.
v2.5.0-rc.1
5 weeks ago
No [changes](https://github.com/mapbox/mapbox-directions-swift/compare/v2.5.0-beta.1...v2.5.0-rc.1) since [v2.5.0-beta.1](https://github.com/mapbox/mapbox-directions-swift/releases/tag/v2.5.0-beta.1). Documentation is [available online](https://docs.mapbox.com/ios/directions/api/2.5.0-rc.1) or within Xcode.
v2.5.0-beta.1
7 weeks ago
[Changes](https://github.com/mapbox/mapbox-directions-swift/compare/v2.4.0...v2.5.0-beta.1) since [v2.4.0](https://github.com/mapbox/mapbox-directions-swift/releases/tag/v2.4.0): * Added the `RestStop.name` property. (#689) * Added the `TollCollection.name` property. (#691) * Types that correspond to objects in the Mapbox Directions API response, such as `RouteResponse`, `RouteRefreshResponse`, `MatchResponse`, and `RouteStep`, now conform to the `ForeignMemberContainer` and `ForeignMemberClassContainer` protocols. Types that conform to these protocols can persist unrecognized properties in the response, such as properties that are in beta, even after coding and decoding. You can access these properties using the `ForeignMemberContainer.foreignMembers` and `ForeignMemberClassContainer.foreignMembers` properties. (#669) * Fixed an issue where decoding a `RouteResponse` incorrectly set the `Waypoint.snappedDistance` property to `nil`. (#669) * The `mapbox-directions-swift` command line tool now requests routes from the Mapbox Directions API if no input file is specified. (#576) Documentation is [available online](https://docs.mapbox.com/ios/directions/api/2.5.0-beta.1) or within Xcode.
v2.4.0
10 weeks ago
[Changes](https://github.com/mapbox/mapbox-directions-swift/compare/v2.3.0...v2.4.0) since [v2.3.0](https://github.com/mapbox/mapbox-directions-swift/releases/tag/v2.3.0): * Fixed a crash that occurred when `RouteOptions.roadClassesToAvoid` or `RouteOptions.roadClassesToAllow` properties contained multiple road classes. * `RoadClasses.tunnel` and `RoadClasses.restricted` are no longer supported in `RouteOptions.roadClassesToAvoid` or `RouteOptions.roadClassesToAllow` properties * Added `DirectionsOptions(url:)`, `RouteOptions(url:)` and extended existing `DirectionsOptions(waypoints:profileIdentifier:queryItems:)`, `RouteOptions(waypoints:profileIdentifier:queryItems:)`, `MatchOptions(waypoints:profileIdentifier:queryItems:)` and related convenience init methods for deserializing corresponding options object using appropriate request URL or it's query items. ([#655](https://github.com/mapbox/mapbox-directions-swift/pull/655)) * Added `Incident` properties: `countryCode`, `countryCodeAlpha3`, `roadIsClosed`, `longDescription`, `numberOfBlockedLanes`, `congestionLevel`, `affectedRoadNames`. ([#672](https://github.com/mapbox/mapbox-directions-swift/pull/672)) * Added `departAt` and `arriveBy` properties to `RouteOptions` to allow configuring Directions routes calculation. ([#673](https://github.com/mapbox/mapbox-directions-swift/pull/673)) * Removed url request's `.json` suffix for Directions and Isochrones to follow V5 scheme. ([#678](https://github.com/mapbox/mapbox-directions-swift/pull/678)) Documentation is [available online](https://docs.mapbox.com/ios/directions/api/2.4.0) or within Xcode.
v2.4.0-rc.2
11 weeks ago
[Changes](https://github.com/mapbox/mapbox-directions-swift/compare/v2.4.0-rc.1...v2.4.0-rc.2) since [v2.4.0-rc.1](https://github.com/mapbox/mapbox-directions-swift/releases/tag/v2.4.0-rc.1): * Added `Incident` properties: `countryCode`, `countryCodeAlpha3`, `roadIsClosed`, `longDescription`, `numberOfBlockedLanes`, `congestionLevel`, `affectedRoadNames`. ([#672](https://github.com/mapbox/mapbox-directions-swift/pull/672)) * Added `departAt` and `arriveBy` properties to `RouteOptions` to allow configuring Directions routes calculation. ([#673](https://github.com/mapbox/mapbox-directions-swift/pull/673)) Documentation is [available online](https://docs.mapbox.com/ios/directions/api/2.4.0-rc.2) or within Xcode.
v2.4.0-rc.1
12 weeks ago
No [changes](https://github.com/mapbox/mapbox-directions-swift/compare/v2.4.0-beta.1...v2.4.0-rc.1) since [v2.4.0-beta.1](https://github.com/mapbox/mapbox-directions-swift/releases/tag/v2.4.0-beta.1). Documentation is [available online](https://docs.mapbox.com/ios/directions/api/2.4.0-rc.1) or within Xcode.
v2.4.0-beta.1
14 weeks ago
[Changes](https://github.com/mapbox/mapbox-directions-swift/compare/v2.3.0...v2.4.0-beta.1) since [v2.3.0](https://github.com/mapbox/mapbox-directions-swift/releases/tag/v2.3.0): * Fixed a crash that occurred when `RouteOptions.roadClassesToAvoid` or `RouteOptions.roadClassesToAllow` properties contained multiple road classes. (#664) * `RoadClasses.tunnel` and `RoadClasses.restricted` are no longer supported in `RouteOptions.roadClassesToAvoid` or `RouteOptions.roadClassesToAllow` properties (#664) * Added `DirectionsOptions(url:)`, `RouteOptions(url:)` and extended existing `DirectionsOptions(waypoints:profileIdentifier:queryItems:)`, `RouteOptions(waypoints:profileIdentifier:queryItems:)`, `MatchOptions(waypoints:profileIdentifier:queryItems:)` and related convenience init methods for deserializing corresponding options object using appropriate request URL or it's query items. (#655) Documentation is [available online](https://docs.mapbox.com/ios/directions/api/2.4.0-beta.1) or within Xcode.
iOS macOS watchOS tvOS
mapbox/mapbox-events-ios v1.0.8
Mapbox Events Framework for iOS
⭐️ 19
🕓 9 weeks ago
🔖 Release Notes

Releases

The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
v1.0.8
9 weeks ago
* Add .bcsymbolmap files to the release artifacts (#339) * Add permissionStatus field to the location event (#338) * Use MBXBundleVersion key as a framework bundle version (#337) * Fix leaking background tasks (#336, #340)
v1.0.7
23 weeks ago
* Add info.plist key to gather telemetry in low power mode (#328) * Fix a data race in userAgentString getter (#329)
v0.10.14
23 weeks ago
* Fix a data race in userAgentString getter (#330)
v0.10.13
36 weeks ago
- Fix null ptr access crash (https://github.com/mapbox/mapbox-events-ios/pull/322)
v1.0.6
36 weeks ago
- Fix null ptr access crash (https://github.com/mapbox/mapbox-events-ios/pull/322)
v1.0.5
38 weeks ago
* Use a serial GCD queue for sending events (#318) * Make locationManager initialization thread safe (#317) * Fixes race conditions in singleton initialization (#315) * Missing certificate pins added (#310)
v0.10.12
39 weeks ago
* Missing certificate pins added * Optimize user-agent string builder.
v1.0.4
42 weeks ago
* Optimize useragent string builder
v0.10.11
42 weeks ago
- Add missing $(...) in EXCLUDED_ARCHS value (#306)
v1.0.3
42 weeks ago
- Support 4096bit keys certificate pinning - Do not start background task if telemetry collection is disabled - Fix MMEEvent attributes decoding for iOS 15 - Offload networking tasks at the init phase
iOS
mapbox/mapbox-speech-swift v2.0.1
Natural-sounding text-to-speech in Swift or Objective-C on iOS, macOS, tvOS, and watchOS
⭐️ 15
🕓 2 days ago
🔖 Release Notes

Releases

The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
v2.0.1
2 days ago
[Changes](https://github.com/mapbox/mapbox-speech-swift/compare/v2.0.0...v2.0.1) since [v2.0.0](https://github.com/mapbox/mapbox-speech-swift/releases/tag/v2.0.0): * This library now reports information in user agent string whenever it's used in simulator environment. (#53)
v2.0.0
35 weeks ago
[Changes](https://github.com/mapbox/mapbox-speech-swift/compare/v1.0.0...v2.0.0) since [v1.0.0](https://github.com/mapbox/mapbox-speech-swift/releases/tag/v1.0.0): * `MBXAccessToken` is now used as default access token, in case if it's not found in Info.plist `MGLMapboxAccessToken` will be used. (#42) * Added support for `serviceAccessToken` ([#45](https://github.com/mapbox/mapbox-speech-swift/pull/45)). * Disabled code coverage report.
v2.0.0-rc.1
41 weeks ago
[Changes](https://github.com/mapbox/mapbox-speech-swift/compare/v2.0.0-alpha.1...v2.0.0-rc.1) since [v2.0.0-alpha.1](https://github.com/mapbox/mapbox-speech-swift/releases/tag/v2.0.0-alpha.1): * Added support for `serviceAccessToken` ([#45](https://github.com/mapbox/mapbox-speech-swift/pull/45)). * Disabled code coverage report
v2.0.0-alpha.1
1 year ago
[Changes](https://github.com/mapbox/mapbox-speech-swift/compare/v1.0.0...v2.0.0-alpha.1) since [v1.0.0](https://github.com/mapbox/mapbox-speech-swift/releases/tag/v1.0.0): * `MBXAccessToken` is now used as default access token, in case if it's not found in Info.plist `MGLMapboxAccessToken` will be used. (#42)
v1.0.0
1 year ago
No [changes](https://github.com/mapbox/mapbox-speech-swift/compare/v0.3.1...v1.0.0) since [v0.3.1](https://github.com/mapbox/mapbox-speech-swift/releases/tag/v0.3.1).
v0.3.1
1 year ago
[Changes](https://github.com/mapbox/mapbox-speech-swift/compare/v0.3.0...v0.3.1) since [v0.3.0](https://github.com/mapbox/mapbox-speech-swift/releases/tag/v0.3.0): * Minimum deployment targets are now set to `iOS 10.0`, `macOS 10.12.0`, `tvOS 10.0` and `watchOS 3.0` (#36). * Error check is performed in first place when handling `URLSessionDataTask` result (#35).
v0.3.0
2 years ago
[Changes](https://github.com/mapbox/mapbox-speech-swift/compare/v0.2.0...v0.3.0) since [v0.2.0](https://github.com/mapbox/mapbox-speech-swift/releases/tag/v0.2.0): * Swift is now required to directly use public types and methods defined by this library. If your application is written in Objective-C or Cocoa-AppleScript, you need to implement your own wrapper in Swift that bridges to Objective-C. (#31)
v0.2.0
2 years ago
[Changes](https://github.com/mapbox/mapbox-speech-swift/compare/v0.1.1...v0.2.0) since [v0.1.1](https://github.com/mapbox/mapbox-speech-swift/releases/tag/v0.1.1): * This library now supports macOS, tvOS, and watchOS. (#23) * This library can now be installed using Swift Package Manager 5. (#25)
v0.1.1
3 years ago
[Changes](https://github.com/mapbox/mapbox-speech-swift/compare/v0.1.0...v0.1.1) since [v0.1.0](https://github.com/mapbox/mapbox-speech-swift/releases/tag/v0.1.0): * Fixed a crash in `SpeechSynthesizer.url(forSynthesizing:)` when certain characters appeared in the SSML code. (#20)
v0.1.0
3 years ago
[Changes](https://github.com/mapbox/mapbox-speech-swift/compare/v0.0.2...v0.1.0) since [v0.0.2](https://github.com/mapbox/mapbox-speech-swift/releases/tag/v0.0.2): * Added the `SpeechSynthesizer.accessToken` and `SpeechSynthesizer.apiEndpoint` properties. (#18)
mapbox/mapbox-search-ios v1.0.0-beta.31
Search SDK for iOS with preconfigured UI in Swift
⭐️ 4
🕓 4 days ago
🔖 Release Notes

Releases

The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
Release v1.0.0-beta.31
4 days ago
### Added - [Core] `SearchSuggestion.categories` identifies categories of POI, optional. ### Updated - [Core] OfflineSearchEngine is a 1-step search now, which means that SearchResult's returned in the first step without SearchSuggestion selection. ### Dependencies: - **MapboxCommon**: v22.0.0 - **MapboxCoreSearch**: v0.56.0
Release v1.0.0-beta.30
3 weeks ago
## Public API changes ### Removed - `RecordsProviderInteractor.contains(identifier: String)` method removed. - `MapboxMobileEvents` dependecy. ### Added - `SearchError.searchRequestCancelled` in order to identify cancelled request. ## Known limitations - Analytics reports disabled for the `beta.30` + (unit tests), will be enabled again in `beta.31`. **MapboxCommon**: v21.3.0 **MapboxCoreSearch**: v0.54.1
Release v1.0.0-beta.29
8 weeks ago
## Release changes ### Fixed - `ignoreIndexableRecords` and `indexableRecordsDistanceThreshold` not respected when merging search options ## Dependencies **MapboxCommon**: v21.3.0 **MapboxCoreSearch**: 0.50.0
Release v1.0.0-beta.28
9 weeks ago
## Dependencies **MapboxCommon**: `21.3.0-rc.2` **MapboxCoreSearch**: `0.50.0`
Release v1.0.0-beta.27
9 weeks ago
## Dependencies **MapboxCommon**: `21.2.1`
Release v1.0.0-beta.26
12 weeks ago
## Changelog: ### Added - [UI] exposed search bar placeholder property: `MapboxSearchController.searchBarPlaceholder`. ### Fixed - Allow custom search bar placeholder: #36 - Latest `MapboxCommon` support: #38 ## Dependencies **MapboxCommon**: `21.2.0`
Release v.10.0-beta.25
13 weeks ago
## Changelog: ## Dependencies **MapboxCommon**: `21.2.0-rc.1`
Release v.10.0-beta.24
18 weeks ago
## Changelog: ### Fixed - ConstantCategoryDataProvider reference [#18](https://github.com/mapbox/search-ios/issues/18) ## Dependencies **MapboxCommon**: `21.1.0`
Release v1.0.0-beta.23
20 weeks ago
## Changelog: ### Added - [CORE] New property is available: `SearchResult.matchingName`. ### Fixed - ConstantCategoryDataProvider reference [#18](https://github.com/mapbox/search-ios/issues/18) ## Dependencies **MapboxCommon**: `21.1.x-rc.1` **MapboxMobileEvents**: `1.x.x`
Release v1.0.0-beta.22
22 weeks ago
## Changelog: ### Added - Missing result feedback type. - RecordsProviderInteractor.add(records: [IndexableRecord]) method for batch adding user records. - RecordsProviderInteractor.delete(identifiers: [String]) method for batch removing user records. ### Fixed - Cancelable renamed into SearchCancelable to prevent naming conflicts with Maps SDK. - ## Dependencies **MapboxCommon**: `21.x.x` **MapboxMobileEvents**: `1.x.x`
iOS macOS
mapbox/mapbox-accounts-ios v2.3.1
Integration between your mapbox.com account and Mapbox mobile SDKs on iOS
⭐️ 0
🕓 1 year ago
🔖 Release Notes

Releases

The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
v2.3.1
1 year ago
Changes since v2.3.0: * You can now use [Swift Package Manager](https://swift.org/package-manager/) to install this library. (#1)
iOS

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics