Skip to content

Releases: mapbox/mapbox-maps-ios

Mapbox Maps: v10.0.0-rc.6

11 Aug 16:51
Compare
Choose a tag to compare

Dependency requirements:

  • Compatible version of MapboxCoreMaps: v10.0.0-rc.6
  • Compatible version of MapboxCommon: v16.2.0
  • Compatible version of Xcode: 12.4
  • Compatible version of MacOS: Big Sur

Changes

Features ✨ and improvements 🏁

  • Added support for building with Xcode 13b3. (#564)
  • Added attribution to snapshots generated by Snapshotter. (567)
  • Added a convenience initializer for DownloadStatus (#454)

Bug fixes 🐞

  • Fixed an issue where panning was not enabled while zooming. (#474)

Direct download

Link to download binaries (append your own Mapbox access token scoped with DOWNLOADS:READ):

https://api.mapbox.com/downloads/v2/mobile-maps-ios/releases/ios/10.0.0-rc.6/MapboxMaps.zip?access_token=<access-token>

Mapbox Maps: v10.0.0-rc.5

28 Jul 20:21
Compare
Choose a tag to compare

Dependency requirements:

  • Compatible version of MapboxCoreMaps: v10.0.0-rc.5
  • Compatible version of MapboxCommon: 16.0.0
  • Compatible version of Xcode: 12.4
  • Compatible version of MacOS: Big Sur

Changes

Bug fixes 🐞

  • Fixed an issue where MapView positioning wasn't correct when used in containers such as UIStackView (#533)

Direct download

Link to download binaries (append your own Mapbox access token scoped with DOWNLOADS:READ):

https://api.mapbox.com/downloads/v2/mobile-maps-ios/releases/ios/10.0.0-rc.5/MapboxMaps.zip?access_token=<access-token>

Mapbox Maps: v10.0.0-rc.4

14 Jul 19:47
Compare
Choose a tag to compare

Dependency requirements:

  • Compatible version of MapboxCoreMaps: v10.0.0-rc.4
  • Compatible version of MapboxCommon: v15.0.0
  • Compatible version of Xcode: 12.4
  • Compatible version of MacOS: Big Sur

Changes

Features ✨ and improvements 🏁

  • Support text-writing-mode property for line symbol-placement text labels. (#522)
    Note: This change will bring following changes for CJK text block:
    1. For vertical CJK text, all the characters including Latin and Numbers will be vertically placed now. Previously, Latin and Numbers are horizontally placed.
    2. For horizontal CJK text, it may have a slight horizontal shift due to the anchor shift.
  • Expanded localizeLabels(into: Locale) to accept a [String]. This array will contain a list of layer ids that you will want to localize. (#512)

Breaking changes ⚠️

  • TileRegionError has a new case tileCountExceeded(String). (#522)
  • FlyToCameraAnimator.state will now be .inactive after it completes or is stopped. This change makes its behavior consistent with the behavior of BasicCameraAnimator. (#519)
  • Completion blocks added to BasicCameraAnimator will no longer be invoked as a side-effect of deinitialization. (#519)
  • Removed the SupportedLanguage enum. You may now use Locale(identifier: String) as intended. (#512)
  • Removed the MapView.locale property. Now, in order to localize values, you must call mapView.mapboxMap.style.localizeLabels(into: Locale). (#512)

Bug fixes 🐞

  • Clean up network listener after http file source gets out of scope. (#522)
  • Fix line-center anchor calculation when the anchor is very near to the line geometry point. (#522)
  • Fix threading issues in HTTP file source. (#522)
  • Fixed an issue that could cause flickering during ease to and basic animations (#519)
  • Fixed an issue that could result in ease to and basic animations never reaching their final values (#519)

Direct download

Link to download binaries (append your own Mapbox access token scoped with DOWNLOADS:READ):

https://api.mapbox.com/downloads/v2/mobile-maps-ios/releases/ios/10.0.0-rc.4/MapboxMaps.zip?access_token=<access-token>

Mapbox Maps: v10.0.0-rc.3

30 Jun 20:06
Compare
Choose a tag to compare

Dependency requirements:

  • Compatible version of MapboxCoreMaps: v10.0.0-rc.3
  • Compatible version of MapboxCommon: v14.2.0
  • Compatible version of Xcode: 12.4
  • Compatible version of MacOS: Big Sur

Changes

The Mapbox Maps SDK for iOS has moved to release candidate status and is now ready for production use.

Features ✨ and improvements 🏁

  • Introduced static method MapboxMap.clearData(for:completion:) and instance methods MapboxMap.clearData(completion:) and Snapshotter.clearData(completion:). These new methods allow clearing temporary map data. (#496)
  • MapLoadingError events now include source and tile information where appropriate. These new fields allow developers to understand what source or tile has failed to load and the reason for the failure. (#496)

Bug fixes 🐞

  • Fixed a runtime crash that occurred only when the SDK was included as an XCFramework (direct download). (#497)
  • Fixed an issue where animators created by fly to and ease to were not released until the next fly to or ease to began. (#505)
  • Fixed an issue where a complete animator would trigger redrawing unnecessarily. (#505)
  • Fix raster/v1 terrain tiles fetch failures caused by appending pixel ratio to the URLs when tile size is equal to 512 (#496)
  • Improve persistent layer pinning by keeping information about initial LayerPosition (#496)

Direct download

Link to download binaries (append your own Mapbox access token scoped with DOWNLOADS:READ):

https://api.mapbox.com/downloads/v2/mobile-maps-ios/releases/ios/10.0.0-rc.3/MapboxMaps.zip?access_token=<access-token>

Mapbox Maps: v10.0.0-rc.2

23 Jun 23:55
Compare
Choose a tag to compare

Dependency requirements:

  • Compatible version of MapboxCoreMaps: v10.0.0-rc.2
  • Compatible version of MapboxCommon: v14.0.1
  • Compatible version of Xcode: 12.4
  • Compatible version of MacOS: Big Sur

Changes

The Mapbox Maps SDK for iOS has moved to release candidate status and is now ready for production use.

Features ✨ and improvements 🏁

  • Introduced experimental Style._addPersistentLayer(with:layerPosition:), Style._isPersistentLayer(id:), Style._addPersistentCustomLayer(withId:layerHost:layerPosition:) APIs, so that the tagged layer and its associated resources remain when a style is reloaded. This improves performance of annotations during a style change. Experimental APIs should be considered liable to change in any SEMVER version. (#471, #473)
  • Annotations now will persist across style changes by default. (#475)
  • Adds localization support for v10 Maps SDK. This can be used by setting the mapView.locale. Use the SupportedLanguages enum, which lists currently supported Locale. (#480)
  • Fixed Tileset descriptor bug: Completion handler is called even if the OfflineManager instance goes out of scope.
  • Fixed text rendering when both 'text-rotate' and 'text-offset' are set.

Breaking changes ⚠️

  • MapboxMaps now pins exactly to MapboxCommon. (#485, #481)

Direct download

Link to download binaries (append your own Mapbox access token scoped with DOWNLOADS:READ):

https://api.mapbox.com/downloads/v2/mobile-maps-ios/releases/ios/10.0.0-rc.2/MapboxMaps.zip?access_token=<access-token>

Mapbox Maps: v10.0.0-rc.1

10 Jun 20:06
Compare
Choose a tag to compare

Dependency requirements:

  • Compatible version of MapboxCoreMaps: v10.0.0-rc.1
  • Compatible version of MapboxCommon: v14.0.1
  • Compatible version of Xcode: 12.4
  • Compatible version of MacOS: Big Sur

Changes

The Mapbox Maps SDK for iOS has moved to release candidate status and is now ready for production use.

Breaking changes ⚠️

  • Converted MapSnapshotOptions to a struct. (#430)
  • Removed CacheManager. In the following releases, an API to control temporary map data may be provided. (#440)
  • Changed ResourceOptions.cachePathURL to dataPathURL and removed cacheSize. (#440)
  • Annotations don't have a type property since they can be directly compared to a type. (451)
  • Internalize extensions of Core and Common types. (#449)

Features ✨ and improvements 🏁

  • Allows a developer to choose whether the puck is oriented based on heading or course via a new puckBearingSource option in mapView.location.options. By default, the puck will be oriented using heading. (#428)
  • All stock gesture recognizers are now public on the GestureManager. (450)
  • The tap gesture recognizer controlled by any given annotation manager is now public. (451)

Bug fixes 🐞

  • Fixed a bug where animations were not always honored. (#443)
  • Fixed an issue that vertical text was not positioned correctly if the text-offset property was used. (#440)
  • Emit .mapLoadingError when an empty token is provided for accessing Mapbox data sources. Before the fix, the application may crash if an empty token was provided and map tries to load data from Mapbox data source. (#440)
  • Do not emit .mapLoadingError when an empty URL is set to GeoJSON source. (#440)

Dependencies

  • Updated MapboxCoreMaps, MapboxCommon and Turf dependencies. (#440)

Direct download

Link to download binaries (append your own Mapbox access token scoped with DOWNLOADS:READ):

https://api.mapbox.com/downloads/v2/mobile-maps-ios/releases/ios/10.0.0-rc.1/MapboxMaps.zip?access_token=<access-token>

Mapbox Maps: v10.0.0-beta.21

03 Jun 22:24
Compare
Choose a tag to compare

Dependency requirements:

  • Compatible version of MapboxCoreMaps: v10.0.0-beta.23
  • Compatible version of MapboxCommon: v13.0.0
  • Compatible version of Xcode: 12.4
  • Compatible version of MacOS: Big Sur

Changes

10.0.0-beta.21 - June 3, 2021

Breaking changes ⚠️

  • Updated MapboxCoreMaps and MapboxCommon dependencies. (#388)
    • Removed the MBX prefix from MBXGeometry, MBXGeometryType and MBXFeature. Existing uses of the similar Turf types need to be fully namespaced, i.e. Turf.Feature
    • Introduced separate minZoom/maxZoom fields into CustomGeometrySourceOptions API instead of the formerly used zoomRange
    • Improved zooming performance.
    • Fixed terrain transparency issue when a sky layer is not used.
  • MapboxMap.__map is now private. (#374)
  • Added CameraManagerProtocol.setCameraBounds, MapboxMap.prefetchZoomDelta, MapboxMap.options, MapboxMap.reduceMemoryUse(), MapboxMap.resourceOptions and MapboxMap.elevation(at:). (#374)
  • Removed OfflineError.invalidResult and OfflineError.typeMismatch. (#374)
  • Updated Projection APIs to be more Swift-like. (#390)
  • Added ResourceOptionsManager and removed CredentialsManager which it replaces. ResourceOptions is now a struct. (#396)
  • Updated the ambient cache path. (#396)
  • Removed CameraAnimationsManager.setCamera() and renamed CameraManagerProtocol._setCamera to CameraManagerProtocol.setCamera(). Use MapView.mapboxMap.setCamera() to set the camera. (#426)
  • Removed MapCameraOptions and RenderOptions; this behavior has moved to both MapboxMap and MapView. (#427)
  • The Annotations library has been rebuilt to expose many more customization options for each annotation. (#398)
  • High level animations return Cancelable instead of CameraAnimator. (#400)

Bug fixes 🐞

  • Fixed a bug with TileStore.tileRegionGeometry returning invalid value. (#390)
  • Fixed a bug where the underlying renderer was not being destroyed. (#395)
  • Fixed a bug where the snapshotter completion handler was being called twice on cancellation.
    (#382)
  • Fixed a bug where GestureManager.delegate was inaccessible. (#401)

Features ✨ and improvements 🏁

  • Added Snapshotter.coordinateBounds(for:) and Snapshotter.camera(for:padding:bearing:pitch:). (#386)

Development 🛠

  • Dependency management for development of the SDK has moved to Swift Package Manager and the existing Cartfile has been removed.

Direct download

Link to download binaries (append your own Mapbox access token scoped with DOWNLOADS:READ):

https://api.mapbox.com/downloads/v2/mobile-maps-ios/releases/ios/10.0.0-beta.21/MapboxMaps.zip?access_token=<access-token>

Mapbox Maps: v10.0.0-beta.20

20 May 19:53
Compare
Choose a tag to compare

Dependency requirements:

  • Compatible version of MapboxCoreMaps: v10.0.0-beta.22
  • Compatible version of MapboxCommon: v12.0.0
  • Compatible version of Xcode: 12.4
  • Compatible version of MacOS: Big Sur

Changes

10.0.0-beta.20 - May 20, 2021

Breaking changes ⚠️

  • BaseMapView.on() has now been replaced by mapView.mapboxMap.onNext(...) -> Cancelable and mapView.mapboxMap.onEvery(...) -> Cancelable. (#339)
  • StyleURI, PreferredFPS, and AnimationOwner are now structs. (#285)
  • The layout and paint substructs for each layer are now merged into the root layer struct. (#362)
  • GestureOptions are owned by GestureManager directly. (#343)
  • LocationOptions are owned by LocationManager directly. (#344)
  • MapCameraOptions are owned by mapView.camera directly. (#345)
  • RenderOptions are owned by BaseMapView directly. (#350)
  • AnnotationOptions are owned by AnnotationManager directly. (#351)
  • MapView has been coalesced into BaseMapView and the resulting object is called MapView. (#353)
  • Style.uri is now an optional property. (#347)
  • Style is no longer a dependency on LocationSupportableMapView. (#352)
  • Style now has a more flat structure. Layout and Paint structs are now obsolete and Layer properties are at the root layer. (#362)
  • Changed LayerPosition to an enum. (#221)
  • Removed style from MapView; updated tests and examples to use mapboxMap.style. (#361)
  • The visibleFeatures APIs have been renamed to queryRenderedFeatures. (#361)
  • LoggingConfiguration is no longer public. (#361)
  • The following Swift wrappers have been added for existing types; these primarily change callbacks from using an internal MBXExpected type to using Swift's Result type. (#361)
    • CacheManager
    • HttpResponse
    • OfflineSwitch (which replaces NetworkConnectivity)
    • OfflineRegionManager (though this API is deprecated)
  • Adds loadStyleURI and loadStyleJSON to MapboxMap. (#354)

Bug fixes 🐞

  • Fixed an issue where the map's scale bar and compass view could trigger layoutSubviews() for the map view. (#338)

Direct download

Link to download binaries (append your own Mapbox access token scoped with DOWNLOADS:READ):

https://api.mapbox.com/downloads/v2/mobile-maps-ios/releases/ios/10.0.0-beta.20/MapboxMaps.zip?access_token=<access-token>

Mapbox Maps: v10.0.0-beta.19.1

07 May 19:22
Compare
Choose a tag to compare

Dependency requirements:

  • Compatible version of MapboxCoreMaps: 10.0.0-beta.21
  • Compatible version of MapboxCommon: 11.0.2
  • Compatible version of Xcode: 12.4
  • Compatible version of MacOS: Big Sur

Changes

Breaking changes ⚠️

  • OrnamentOptions.logo._isVisible and OrnamentOptions.attributionButton._isVisible have been replaced with OrnamentOptions.logo.visibility and OrnamentOptions.attributionButton.visibility. (#326)

Bug fixes 🐞

  • Fixed an issue where location pucks would not be rendered. (#331)

Direct download

Link to download binaries (append your own Mapbox access token scoped with DOWNLOADS:READ):

https://api.mapbox.com/downloads/v2/mobile-maps-ios/releases/ios/10.0.0-beta.19.1/MapboxMaps.zip?access_token=<access-token>

Mapbox Maps: v10.0.0-beta.19

06 May 19:42
Compare
Choose a tag to compare

Dependency requirements:

  • Compatible version of MapboxCoreMaps: 10.0.0-beta.21
  • Compatible version of MapboxCommon: 11.0.2
  • Compatible version of Xcode: 12.4
  • Compatible version of MacOS: Big Sur

Changes

Breaking changes ⚠️

  • camera(for:) methods have moved from BaseMapView to MapboxMap (#286)
    • The API has also been aligned with Android by:
      • Removing default values for parameters
      • Making bearing and pitch parameters optional
      • Adding the camera(for:camera:rect:) variant
  • OrnamentOptions should now be accessed via MapView.ornaments.options. MapConfig.ornaments has been removed. Updates can be applied directly to OrnamentsManager.options. Previously the map's ornament options were updated on MapConfig.ornaments with MapView.update. (#310)
  • OrnamentOptions now uses structs to manage options for individual ornaments. For example, OrnamentOptions.scaleBarPosition is now OrnamentOptions.scaleBar.position. (#318)
  • The LogoView class is now private. (#310)
  • Style has been significantly refactored, for example:
    • Synchronous APIs returning Result types now throw.
    • A number of APIs previously accessed via __map are now available via the Style object.
    • APIs with a get prefix have been renamed; for example getLayer<T>(with:type:) to layer<T>(withId:type:) throws and getSource<T>(id:type:) to source<T>(withId:type:) throws

Features ✨ and improvements 🏁

  • OrnamentsManager is now a public class and can be accessed via the MapView's ornaments property.
  • CompassDirectionFormatter is now public. It provides a string representation of a CLLocationDirection and supports the same languages as in pre-v10 versions of the Maps SDK. (#300)- OrnamentOptions should now be accessed via MapView.ornaments.options. Updates can be applied directly to the options property. Previously the map's ornament options were updated via MapConfig.ornaments. (#310)
  • The LogoView class is now private. (#310)

Direct download

Link to download binaries (append your own Mapbox access token scoped with DOWNLOADS:READ):

https://api.mapbox.com/downloads/v2/mobile-maps-ios/releases/ios/10.0.0-beta.19/MapboxMaps.zip?access_token=<access-token>