Releases: mapbox/mapbox-maps-ios
Releases · mapbox/mapbox-maps-ios
v11.18.0-beta.1
Breaking changes ⚠️
- Remove
line-cutout-widthand changeline-cutout-opacitydefault to 1.0
Features ✨ and improvements 🏁
- Add Standard Style color and 3D configuration options:
colorBuildings,colorCommercial,colorEducation,colorIndustrial,colorLand,colorMedical,show3dBuildings,show3dFacades,show3dLandmarks, andshow3dTrees. - Add experimental
shadowDrawBeforeLayerproperty to directional light to allow specifying the position in the layer stack for drawing shadows on the ground. - Add
ModelLayer.modelAllowDensityReductionproperty to disable density reduction in model layers. - Add method to set tile store path to be used by default.
- Faster polygon triangulation for complex polygons.
- General fixes and performance improvements.
Bug fixes 🐞
- Fix
userDatapayload foronSourceDataLoadedevent during GeoJSON partial update.
Dependencies
- Update MapboxCommon to
24.18.0-beta.1. - Update MapboxCoreMaps to
11.18.0-beta.1.
Dependency requirements:
- Compatible version of Xcode:
16.2
v11.17.1
v11.17.0
Features ✨ and improvements 🏁
- Promote Geofencing APIs to stable
- Enhanced Background Monitoring for geofencing:
- Maps SDK now utilizes the region monitor to support geofencing in the background. This improvement allows for more reliable tracking without needing the app to be actively open.
- Enhanced Background Monitoring for geofencing:
- Introduce
MapInitOptions.mapStyleproperty. Use it to initialize map with a custom style.
// Before
let options = MapInitOptions(styleURI: .standardSatellite)
let mapView = MapView(frame: view.bounds, mapInitOptions: options)
mapView.mapboxMap.setStyleImportConfigProperties(for: "basemap", configs: ["lightPreset": "dusk"])
// After:
let options = MapInitOptions(mapStyle: .standardSatellite(lightPreset: .dusk))
let mapView = MapView(frame: view.bounds, mapInitOptions: options)- Add
StyleReloadPolicyto control style reload behavior. UsereloadPolicy: .alwaysparameter inloadStyle()methods orMapStyleinitializers to always reload the style even when the URI or JSON matches the currently loaded style. Defaults to.onlyIfChangedfor optimal performance. - Introduce
ScaleBarViewOptions.unitsproperty supporting metric, imperial, and nautical units, replacing the booleanuseMetricUnitsproperty. - Add
fuelingStationModePointOfInterestLabelsconfiguration option to Mapbox Standard and Standard Satellite styles. Control the visibility of fuel station and electric charging station POI labels with options:default(shows both),fuel(fuel stations only),electric(charging stations only), ornone(hides both). - Add experimental
scaleFactorparameter toMapOptionsandMapSnapshotOptionsfor scaling icons and texts. Default value is1.0. - Add experimental
MapboxMap.setFeatureStateExpression(),removeFeatureStateExpression(), andresetFeatureStateExpressions()APIs to efficiently update feature state for multiple features at once using expressions. - Introduce experimental support for Appearances. The Appearances layer property defines sets of appearance objects used to quickly change the visual styling of a layer based on a condition using
feature-state. SeeAppearancesExamplefor further details. - Add experimental async variants of
MapboxMap.setLayerProperty(),setLayerPropertiesandupdateLayer(). line-emissive-strengthproperty is now data-driven, allowing different road types to be rendered in a single layer for improved performance- Promote
ModelLayerto stable. - Add
SymbolLayer.occlusionOpacityMode,SymbolLayer.iconColorBrightnessMax,SymbolLayer.iconColorBrightnessMin,SymbolLayer.iconColorContrastproperties. - Add
FillExtrusionLayer.castShadowsproperty. - Add
GeoJSONSource.minZoomproperty. - Add
RasterArraySource.volatileexperimental property. - Enable use of MapboxCommon's location manager in MapView.
- Support custom offline TTL header
Bug fixes 🐞
- Fix an issue where the location indicator could show incorrect direction in landscape orientation.
- Fix custom layer rendering crash
- Fix feature state clean up when feature state expressions are used
- Fix crash in config-dependent interpolate expression on style switching
- Fix for model manager deleting renderer resources on custom thread
- Fix config expression evaluation to properly check dependencies in nested value expressions
- Reset style lights when switching to a new style
- Fix crash in
OrnamentsManagerwhen setting attribution color. - Fix terrain crash on style switches.
- Fix line patterns not elevating properly on HD roads.
- Fix uint underflow in work limiting scheduler.
- Fix rendering artefacts when persistent buffer mapping is enabled
- Fix view-aligned symbols with road elevation being cutout
Optimizations and enhancements 🚀
- Optimized shadow rendering by limiting extra tile requests to zoom levels 16 and above, improving performance at zoom 15
- Optimized fill-extrusion rendering at zoom 17-22 by preventing bucket overscaling, significantly reducing tile cache evictions and CPU overhead
- Cleanup GeometryCollection usage in favor of FlatGeometries
- Implement zoom expression evaluation for
line-cutout-width. - Procedural building optimisations
- Fix GeoJSON tiled model disappearance in fast zoom situations.
- Fix user data handling in GeoJSON source with shared cache
- Optimize memory usage in GridIndex and related code.
- Memory improvements for vertex buffers.
- Avoid extra allocations in Formatted objects.
- Logging improvements to reduce duplication.
Dependencies
- Update MapboxCommon to
24.17.0. - Update MapboxCoreMaps to
11.17.0.
Dependency requirements:
- Compatible version of Xcode:
16.2
v11.17.0-rc.3
Features ✨ and improvements 🏁
- Promote Geofencing APIs to stable.
Bug fixes 🐞
- Fix feature state clean up when feature state expressions are used
Dependencies
- Update MapboxCommon to
24.17.0-rc.3. - Update MapboxCoreMaps to
11.17.0-rc.3.
Dependency requirements:
- Compatible version of Xcode:
16.2
v11.17.0-rc.2
Features ✨ and improvements 🏁
- Cleanup GeometryCollection usage in favor of FlatGeometries
- Procedural building optimisations
- Support custom offline TTL header
line-emissive-strengthproperty is now data-driven, allowing different road types to be rendered in a single layer for improved performance- Enhanced Background Monitoring for geofencing:
Maps SDK now utilizes the region monitor to support geofencing in the background. This improvement allows for more reliable tracking without needing the app to be actively open.
Bug fixes 🐞
- Fix crash in config-dependent interpolate expression on style switching
- Fix for model manager deleting renderer resources on custom thread
- Fixed config expression evaluation to properly check dependencies
- Reset style lights when switching to a new style
- Optimized shadow rendering by limiting extra tile requests to zoom levels 16 and above, improving performance at zoom 15
- Optimized fill-extrusion rendering at zoom 17-22 by preventing bucket overscaling, significantly reducing tile cache evictions and CPU overhead
Dependencies
- Update MapboxCommon to
24.17.0-rc.2. - Update MapboxCoreMaps to
11.17.0-rc.2:
Dependency requirements:
- Compatible version of Xcode:
16.2
v11.16.6
Changes
Internal fixes and performance improvements
Dependencies
- Update MapboxCommon to
24.16.6. - Update MapboxCoreMaps to
11.16.6.
Dependency requirements:
- Compatible version of Xcode:
16.2
v11.17.0-rc.1
Features ✨ and improvements 🏁
- Cleanup GeometryCollection usage in favor of FlatGeometries
- Procedural building optimisations
- Support custom offline TTL header
line-emissive-strengthproperty is now data-driven, allowing different road types to be rendered in a single layer for improved performance
Bug fixes 🐞
- Fix crash in config-dependent interpolate expression on style switching
- Fix for model manager deleting renderer resources on custom thread
- Fixed config expression evaluation to properly check dependencies
- Reset style lights when switching to a new style
- Optimized shadow rendering by limiting extra tile requests to zoom levels 16 and above, improving performance at zoom 15
- Optimized fill-extrusion rendering at zoom 17-22 by preventing bucket overscaling, significantly reducing tile cache evictions and CPU overhead
Dependencies
- Update MapboxCommon to
24.17.0-rc.1. - Update MapboxCoreMaps to
11.17.0-rc.1.
Dependency requirements:
- Compatible version of Xcode:
16.2
v11.17.0-beta.2
Changes
Features ✨ and improvements 🏁
- Cleanup GeometryCollection usage in favor of FlatGeometries
- Procedural building optimisations
- Support custom offline TTL header
Bug fixes 🐞
- Fix crash in config-dependent interpolate expression on style switching
- Fix for model manager deleting renderer resources on custom thread
Dependencies
- Update MapboxCommon to
24.17.0-beta.2. - Update MapboxCoreMaps to
11.17.0-beta.2:
Dependency requirements:
- Compatible version of Xcode:
16.2
v11.16.4
Changes
Optimizations and enhancements 🚀
- Internal fixes and performance improvements
Dependencies
- Update MapboxCommon to
24.16.4. - Update MapboxCoreMaps to
11.16.4
Dependency requirements:
- Compatible version of Xcode:
16.2
v11.16.3
Changes
Optimizations and enhancements 🚀
- Internal fixes and performance improvements
Dependencies
- Update MapboxCommon to
24.16.3. - Update MapboxCoreMaps to
11.16.3.
Dependency requirements:
- Compatible version of Xcode:
16.2