Releases: mapbox/mapbox-maps-ios
v11.9.0
Warning
This is the last SDK version to support iOS 12 and iOS 13.
The following release would have iOS 14 minimal deployment target requirement.
Warning
Mark symbolElevationReference
, symbolZOffset
, lineTrimColor
, lineTrimFadeRange
, lineZOffset
as Experimental in AnnotationManagers. This is potentially breaking change, however those properties are not marked as experimental only in AnnotationManagers by mistake.
In order to continue use them use the following import @_spi(Experimental) import MapboxMaps
.
Features ✨ and improvements 🏁
- New experimental weather effects – Snow and Rain.
- Experimental elevation support for
FillLayer
andPolygonAnnotation
(including corresponding manager and group).
ThezOffset
property is supported in theFillLayer
,SymbolLayer
,LineLayer
andPolygonAnnotation
now. - A new option to control the radius of the tap area for
TapInteraction
,LongPressInteraction
and interaction managers. - Expression got a new convenience constructor to make building basic expressions much faster, e.g.:
Exp(.eq, Exp(.get, "extrude"), "true")
. - Add
to-hsla
expression support. - Add an
ImageOptions
to specify image expression options. - Expose a
TileStore/clearAmbientCache()
method to clear ambient cache. - Add a new API to disable custom resizing implementation of the MapView. To disable the custom resizing implementation, set
MapView/resizingAnimation
to.none
. - Add a property
emphasisCircleGlowRange
toLocationIndicatorLayer
to control the glow effect of the emphasis circle – from the solid start to the fully transparent end. - Add support for
pitchAlignment
inBackgroundLayer
. - Add support for Base and Height alignment in
FillExtrusionLayer
. These properties will give you more control over building 3D rectangles on the terrain. - Promoted from experimental to stable:
- Add two separate Geofence examples in SwiftUI -
GeofencingPlayground
andGeofencingUserLocation
.
Bug fixes 🐞
- Function to update location for LocationIndicatorLayer now correctly encodes the data for the rendering engine.
Dependencies
- Update MapboxCommon to
24.9.0
. - Update MapboxCoreMaps to
11.9.0
.
Dependency requirements:
- Compatible version of Xcode:
15.2.0
v10.19.1
Changes
- Fix issue when highlighted state isn't being preserved across tile boundaries.
Dependencies
- Update MapboxCommon to
23.11.2
. - Update MapboxCoreMaps to
10.19.2
:
Dependency requirements:
- Compatible version of Xcode:
14.1.0
v11.9.0-rc.1
Changes
- Add a new API to disable custom resizing implementation of the MapView. To disable the custom resizing implementation, set
MapView.resizingAnimation
to.none
. - Add
to-hsla
expression support.
Dependencies
- Update MapboxCommon to
24.9.0-rc.1
. - Update MapboxCoreMaps to
11.9.0-rc.1
:
Dependency requirements:
- Compatible version of Xcode:
15.2.0
v11.5.3
Changes
- Add a way to filter attribution menu items.
Dependencies
- Update MapboxCommon to
24.5.0
. - Update MapboxCoreMaps to
11.5.3
Dependency requirements:
- Compatible version of Xcode:
15.2.0
v11.9.0-beta.1
Warning
Custom(non Mapbox-hosted) sprites could fail to load in some scenarios.
- Mark
symbolElevationReference
,symbolZOffset
,lineTrimColor
,lineTrimFadeRange
,lineZOffset
as Experimental in AnnotationManagers. This is potentially breaking change, however those properties are not marked as experimental only in AnnotationManagers by mistake.
In order to continue use them use the following import@_spi(Experimental) import MapboxMaps
.
Features ✨ and improvements 🏁
- Add two separete Geofence examples in SwiftUI -
GeofencingPlayground
andGeofencingUserLocation
- Add support for Base and Height alignment in FillExtrusionLayer.
- Add support for
pitchAlignment
in BackgroundLayer. - Add support for
zOffset
in FillLayer, PolygonAnnotation[Manager] and PolygonAnnotationGroup. - Add a property emphasisCircleGlowRange to LocationIndicatorLayer to control the glow effect of the emphasis circle – from the solid start to the fully transparent end.
- Add a new Expression initializer
init(_ operator: Operator, _ arguments: ExpressionArgumentConvertible...)
to simplify the creation of expressions with multiple arguments.
That initializer doesn't require to wrap arguments inArgument
cases. For example,Exp(.eq, Exp(.get, "extrude"), "true")
. - Expose a
TileStore/clearAmbientCache()
method to clear ambient cache. - Add new experimental
radius
parameter toTapInteraction
,LongPressInteraction
and interaction managers to control the radius of a tappable area. - Add a way to specify image expression options.
- Add new experimental APIs to control precipitation rendering. Snow and Rain are available now with an
@_spi(Experimental)
import prefix. - Add a way to filter attribution menu items.
Bug fixes 🐞
- Fix a crash on calling
LocationIndicatorLayer/location(coordinate:) function
due to missing 0 altitude value.
Dependencies
- Update MapboxCommon to
24.9.0-beta.1
. - Update MapboxCoreMaps to
11.9.0-beta.1
:-
Changelog
* Vector icons support: SDK will now download vector icons and rasterize them locally, which will results in better icon quality for icons resized via icon-size. Changeable colors support: icon expression can now have optional parameter to change named colors described in SVG icons metadata. * Add support for shadows from elevated structures. * fix dark shade * Fix rendering of interleaved SDF and non-SDF icons in the same layer * Fix line-emissive-strength not being applied to patterned lines * Fix shader fog computation being incorrectly enabled for landmarks * workaround for instancing on PowerVR devices. * Handle empty payloads for offline resources * Encapsulate config expression in assertion expression when expected return type is known * Fixed a bug which caused icon shifts in some cases
-
Dependency requirements:
- Compatible version of Xcode:
15.2.0
v11.8.0
Features ✨ and improvements 🏁
Important
Configuring Mapbox's secret token is no longer required when installing our SDKs.
- ✨ Introduce experimental Geofencing API. Please take a look at example showcase of Geofencing:
GeofencingPlayground
A tappable map interface where users can generate an isochrone-based geometry, which can then be added as a custom geofence.GeofencingUserLocation
A geofence surrounding the user's location, with a dynamic highlight color that changes to indicate specific geofence events.
- Refactor of the experimental Featuresets and Interactions API:
InteractiveFeature
is renamed toFeaturesetFeature
.- Introduce new
StandardPoiFeature
,StandardBuildingsFeature
,StandardPlaceLabelsFeature
. - Introduce new
FeaturesetDescriptor
.
- Generate
MapStyle.standard
andMapStyle.standardSatellite
from the style specification. Added the newStandardFont
type to represent the font family in these configurations. If you used a string variable, please update your code as the shown below:// Old: Map().mapStyle(.standard(font: fontValue)) Map().mapStyle(.standard(font: "lato")) // New: Map().mapStyle(.standard(font: StandardFont(rawValue: fontValue))) Map().mapStyle(.standard(font: .lato)) Map().mapStyle(.standard(font: "lato"))
- Introduce experimental property
MapboxMap.styleGlyphURL
. Use this property to apply custom fonts to the map at runtime, without modifying the base style. - Make
fill-extrusion-emissive-strength
property data-driven - Dispatch view annotations update before rendering
- Skip rendering landmarks when the camera is inside them
Bug fixes 🐞
- Fix a console warning (
Source x missing for layer x
) when using annotation managers. - [SwiftUI] Fixed crash when
ForEvery
was used with duplicated IDs. - Improve zooming performance on dynamic Standard terrain and optimize terrain re-rendering performance on e.g route line
line-trim-offset
change. - Respect polygons with holes on querying rendered features
- Fix self-overlap of line corners when large line-width is used
- Adjust conflation intersection test padding to fix disappearing fill-extrusion
- Fix TileCover bug with polygon horizontal edges
- Fix a bug with image dependent paint properties not getting a correct value after image become available
- Fix for fill-extrusion replacement reconciliation
- Clear tile pyramid on color theme change before the tiles are updated
- Fix missing images notifications for images within coalesce expression when other images in coalesce are present. Image expressions with two arguments are no longer being considered present if only second image is present.
- Fix crash on style pack load when no access token is set
- Fix crash on TerrainRenderer when using snapshotter
- Fix crash on re-creation of a custom raster source when different options are provided
- Return parsing errors if runtime added style import JSON is not valid
- Fix missing models in rendering result if
reduceMemoryUse
is called before taking snapshot - Fix the incorrect behaviour when using
symbol-z-oder
property - Fix raster-particle trail discontinuity at the antimeridian
- Fix the bug when MapView would ignore the new bounds size if there are more than a single resizing event in the animation.
- Encapsulate config expression in assertion expression when expected return type is known
💫️ Other
- Resolve autoMaxZoom for feature
- Fix texture gather for shadows not being selected correctly by default
- Performance improvements for runtime-added images
Dependencies
- Update MapboxCommon to
24.8.0
. - Update MapboxCoreMaps to
11.8.0
Dependency requirements:
- Compatible version of Xcode:
15.2.0
v11.8.0-rc.1
Features ✨ and improvements 🏁
- [geofencing][billing] Trigger billing event for geofencing
Bug fixes 🐞
- Fix the bug when MapView would ignore the new bounds size if there are more than a single resizing event in the animation.
- Encapsulate config expression in assertion expression when expected return type is known
- [geofencing] Fix
GeofencingUtils.isActive
in case we did not start geofencing
💫️ Other
- Resolve autoMaxZoom for feature
- Fix texture gather for shadows not being selected correctly by default
- Performance improvements for runtime-added images
Dependencies
- Update MapboxCommon to
24.8.0-rc.1
. - Update MapboxCoreMaps to
11.8.0-rc.1
:
Dependency requirements:
- Compatible version of Xcode:
15.2.0
v11.8.0-beta.1
Features ✨ and improvements 🏁
-
Introduce experimental Geofencing API. Implementation example: GeofencingExample.swift
-
Refactor of the experimental Featuresets and Interactions API:
InteractiveFeature
is renamed toFeaturesetFeature
.- Introduce new
StandardPoiFeature
,StandardBuildingsFeature
,StandardPlaceLabelsFeature
. - Introduce new
FeaturesetDescriptor
.
-
Generate
MapStyle.standard
andMapStyle.standardSatellite
from the style specification. Added the newStandardFont
type to represent the font family in these configurations. If you used a string variable, update your code:
// Old:
Map().mapStyle(.standard(font: fontValue))
Map().mapStyle(.standard(font: "lato"))
/// New:
Map().mapStyle(.standard(font: StandardFont(rawValue: fontValue)))
Map().mapStyle(.standard(font: .lato))
Map().mapStyle(.standard(font: "lato"))
- Introduce experimental property
MapboxMap.styleGlyphURL
. Use this property to apply custom fonts to the map at runtime, without modifying the base style. - Introduce new
styleGlyphURL
property. - Make
fill-extrusion-emissive-strength
property data-driven - Dispatch view annotations update before rendering
- Skip rendering landmarks when the camera is inside them
Bug fixes 🐞
- Fix a console warning (
Source x missing for layer x
) when using annotation managers. - [SwiftUI] Fixed crash when
ForEvery
was used with duplicated IDs. - Improve zooming performance on dynamic Standard terrain and optimize terrain re-rendering performance on e.g routeline line-trim-offset change.
- Respect polygons with holes on querying rendered features
- Fix self-overlap of line corners when large line-width is used
- Adjust conflation intersection test padding to fix disappearing fill-extrusion
- Fix TileCover bug with polygon horizontal edges
- Fix a bug with image dependent paint properties not getting a correct value after image become available
- Fix for fill-extrusion replacement reconciliation
- Clear tile pyramid on color theme change before the tiles are updated
- Fix missing images notifications for images within coalesce expression when other images in coalesce are present. Image expressions with two arguments are no longer being considered present if only second image is present.
- Fix crash on style pack load when no access token is set
- Fix crash in TerrainRenderer when using snapshotter
- Fix crash on re-creation of a custom raster source when different options are provided
- Return parsing errors if runtime added style import JSON is not valid
- Fix missing models in rendering result if
reduceMemoryUse
is called before taking snapshot - Fix the incorrect behaviour when using
symbol-z-oder
property - Fix raster-particle trail discontinuity at the antimeridian
Dependencies
- Update MapboxCommon to
24.8.0-beta.1
. - Update MapboxCoreMaps to
11.8.0-beta.1
:-
Changelog
-
Dependency requirements:
- Compatible version of Xcode:
15.2.0