Skip to content

Releases: mapbox/mapbox-maps-ios

v11.18.0-beta.1

18 Dec 14:56

Choose a tag to compare

v11.18.0-beta.1 Pre-release
Pre-release

Breaking changes ⚠️

  • Remove line-cutout-width and change line-cutout-opacity default to 1.0

Features ✨ and improvements 🏁

  • Add Standard Style color and 3D configuration options: colorBuildings, colorCommercial, colorEducation, colorIndustrial, colorLand, colorMedical, show3dBuildings, show3dFacades, show3dLandmarks, and show3dTrees.
  • Add experimental shadowDrawBeforeLayer property to directional light to allow specifying the position in the layer stack for drawing shadows on the ground.
  • Add ModelLayer.modelAllowDensityReduction property 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 userData payload for onSourceDataLoaded event 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

12 Dec 08:13

Choose a tag to compare

Changes

  • Internal fixes and performance improvements

Dependencies

  • Update MapboxCommon to 24.17.1.
  • Update MapboxCoreMaps to 11.17.1:

Dependency requirements:

  • Compatible version of Xcode: 16.2

v11.17.0

04 Dec 18:15

Choose a tag to compare

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.
  • Introduce MapInitOptions.mapStyle property. 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 StyleReloadPolicy to control style reload behavior. Use reloadPolicy: .always parameter in loadStyle() methods or MapStyle initializers to always reload the style even when the URI or JSON matches the currently loaded style. Defaults to .onlyIfChanged for optimal performance.
  • Introduce ScaleBarViewOptions.units property supporting metric, imperial, and nautical units, replacing the boolean useMetricUnits property.
  • Add fuelingStationModePointOfInterestLabels configuration 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), or none (hides both).
  • Add experimental scaleFactor parameter to MapOptions and MapSnapshotOptions for scaling icons and texts. Default value is 1.0.
  • Add experimental MapboxMap.setFeatureStateExpression(), removeFeatureStateExpression(), and resetFeatureStateExpressions() 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. See AppearancesExample for further details.
  • Add experimental async variants of MapboxMap.setLayerProperty(), setLayerProperties and updateLayer().
  • line-emissive-strength property is now data-driven, allowing different road types to be rendered in a single layer for improved performance
  • Promote ModelLayer to stable.
  • Add SymbolLayer.occlusionOpacityMode, SymbolLayer.iconColorBrightnessMax, SymbolLayer.iconColorBrightnessMin, SymbolLayer.iconColorContrast properties.
  • Add FillExtrusionLayer.castShadows property.
  • Add GeoJSONSource.minZoom property.
  • Add RasterArraySource.volatile experimental 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 OrnamentsManager when 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

28 Nov 21:17

Choose a tag to compare

v11.17.0-rc.3 Pre-release
Pre-release

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

21 Nov 20:10

Choose a tag to compare

v11.17.0-rc.2 Pre-release
Pre-release

Features ✨ and improvements 🏁

  • Cleanup GeometryCollection usage in favor of FlatGeometries
  • Procedural building optimisations
  • Support custom offline TTL header
  • line-emissive-strength property 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

24 Nov 11:55

Choose a tag to compare

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

20 Nov 21:25

Choose a tag to compare

v11.17.0-rc.1 Pre-release
Pre-release

Features ✨ and improvements 🏁

  • Cleanup GeometryCollection usage in favor of FlatGeometries
  • Procedural building optimisations
  • Support custom offline TTL header
  • line-emissive-strength property 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

14 Nov 16:46

Choose a tag to compare

v11.17.0-beta.2 Pre-release
Pre-release

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

14 Nov 19:10

Choose a tag to compare

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

14 Nov 14:23

Choose a tag to compare

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