Skip to content

Mapbox Maps: v10.0.0-rc.9

Choose a tag to compare

@sdk-release-bot sdk-release-bot released this 22 Sep 20:33
· 1846 commits to main since this release

Dependency requirements:

  • Compatible version of MapboxCoreMaps: v10.0.0-rc.9.1
  • Compatible version of MapboxCommon: v19.0.0
  • Compatible version of Xcode: 12.5
  • Compatible version of MacOS: Catalina

Changes

Breaking changes ⚠️

  • BasicCameraAnimator now keeps animators alive without the user storing the animator. (#646)
  • Experimental style APIs are now marked with @_spi(Experimental) and the previously used underscore prefixes have been removed. In order to access these methods, use @_spi(Experimental) to annotate the import statement for MapboxMaps. (#680)
  • RenderedQueryOptions.filter is now of type Expression instead of Any (#689)
  • OfflineRegionGeometryDefinition.geometry is now of type Turf.Geometry instead of MapboxCommon.Geometry (#689)
  • The HTTPResponse init methods that take MapboxCommon.Expected instead of Result are now correctly marked as refined for Swift. (#689)
  • The DownloadStatus init methods that take MapboxCommon.Expected instead of Result and NSNumber? instead of UInt64? are not correctly marked as refined for Swift. (#689)
  • GestureOptions.hapticFeedbackEnabled has been removed. (#663)
  • GestureManager.decelarationRate has been removed and GestureOptions.decelerationRate is the single source of truth. (#662)
  • GestureManager no longer conforms to NSObject and is not a UIGestureRecognizerDelegate. (#669)
  • TapGestureHandler.init was previously public by mistake and is now internal. (#677)
  • The behavior of GestureManager.options has been updated to better reflect the isEnabled state of the associated gesture recognizers. (#677)
  • The gesture recognizer properties of GestureManager are no longer Optional. (#677)
  • GestureType has been redesigned so that its cases have a 1-1 relationship with the built-in gestures. (#677)
  • GestureManager.rotationGestureRecognizer has been removed. Rotation is now handled by .pinchGestureRecognizer in addition to its preexisting handling of panning and zooming. (#696)
  • GestureManager.doubleTapToZoomOutGestureRecognizer has been replaced with .doubleTouchToZoomOutGestureRecognizer. (#696)
  • PanScrollingMode has been renamed to PanMode. (#696)
  • GestureOptions.zoomEnabled has been replaced by .doubleTapToZoomInEnabled, .doubleTouchToZoomOutEnabled, and .quickZoomEnabled. (#696)
  • GestureOptions.rotateEnabled has been removed. (#696)
  • GestureOptions.scrollEnabled has been renamed to .panEnabled. (#696)
  • GestureOptions.scrollingMode has been renamed to .panMode. (#696)
  • GestureOptions.decelerationRate has been renamed to .panDecelerationFactor. (#696)
  • GestureType.doubleTapToZoomOut has been replaced with .doubleTouchToZoomOut. (#696)
  • GestureType.rotate has been removed. (#696)
  • GestureType cases have been reordered for consistency with GestureOptions and GestureManager. (#696)

Features ✨ and improvements 🏁

  • Allow users to set the map's MapDebugOptions. (#648)
  • Implement 'promoteId' feature for geojson and vector sources. The feature allows to promote feature's property to a feature id, so that promoted id can be used with FeatureState API. (#660)
  • Tiled 3D model layer and source (#689)
  • Enable instant transitions for data driven symbol layer properties (#689)
  • Implement face culling for Metal (#689)
  • HTTPServiceInterface.getInstance() is now publicly available. (#689)
  • CameraState's fields are now vars instead of lets for testing purposes, and a public, memberwise initializer has been added. (#677)
  • PanScrollingMode now conforms to CaseIterable. (#677)
  • GestureType now conforms to CaseIterable. (#677)
  • Pan deceleration has been reimplemented to produce a more natural deceleration effect. (#692)
  • Expose new API to allow users to create a UIImage out of the last rendered MapView state. (#693)

Bug fixes 🐞

  • Fixes animations that are started within an UIKit animation context. (#684)
  • Fix transition between layers with all-constant properties (#689)
  • Fix rendering artifact for a line layer, when its line-gradient property is set at runtime. (#689)
  • Don't draw SDF images in text-field and issue warning for it (#689)
  • Fix incorrect return from StyleManager#getStyleLayerPropertyDefaultValue for 'text-field'. Now the default value is set to ["format", "" , {}] (#689)
  • GestureManager no longer sets itself as the delegate of all gestures in MapView when its options change. (#677)
  • Fixes an issue where tapping the compass could fail to set the bearing to 0 if there was already an animation running. Tapping the compass now cancels any existing animations. (#696)
  • Fixes issues with the pinch gesture when removing and re-adding one of the two required touches. (#696)
  • Fixes an issue where a pan gesture would fail if it interrupted the deceleration from a previous pan gesture. (#696)

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.9/MapboxMaps.zip?access_token=<access-token>