[!IMPORTANT] A bug in the SDK's offline data management causes untracked data to accumulate instead of being removed under specific conditions. This leads to uncontrolled storage growth, potentially degrading system performance or causing complete unusability if disk space is exhausted. The required version for upgrade is 11.19.2, 11.20.2 or any version from 11.21.0 onward. This specific bug is only relevant to users who use tilestore offline regions.
queryRenderedRasterValues API that allows querying the rendered value(s) of any raster array layer at a given screen coordinate. Returns pixel data for all bands, enabling use cases such as displaying weather data values, elevation readouts, or other raster-based information directly from the rendered map. (@Nelarius, @maios)x-mapbox-offline-ttl HTTP header. When present, this header controls how long a cached tile remains valid for offline use, behaving as if expiry = now() + x-mapbox-offline-ttl with must-revalidate = true. This provides server-side control over offline tile freshness. (@Nelarius)text-field using the image expression now properly scale according to the text scale factor setting, ensuring consistent sizing between text and inline images. (@woodroof)lineElevationGroundScale property to scale elevated lines with terrain exaggeration. (@lasselammi)lineZOffset and lineElevationReference. (@lasselammi)SymbolScaleBehavior API to automatically scale map symbols (icons and text) based on system accessibility text size settings. Set symbolScaleBehavior to configure: .system (automatic scaling), .system(mapping:) (custom mapping function), or .fixed(scaleFactor:) (fixed scale, default is 1.0). Valid scale factor range is [0.8, 2.0]. Automatic scaling is opt-in; symbols default to fixed 1.0x scale. (@dserebriakov, @pjleonard37)ModelSource support with Model, ModelMaterialOverride, and ModelNodeOverride to enable interactive 3D models. Material overrides allow customization of color, emissive strength, opacity, and color mix intensity. Node overrides enable control of model part transformations such as rotating doors, landing gear, or propellers. Models can be updated via source-driven approach (modifying models directly) or feature-state driven approach (using expressions with feature state for dynamic control). For implementation examples, see Interactive3DModelFeatureStateExample (SwiftUI), Interactive3DModelSourceExample (UIKit), and Animated3DModelSourceExample (SwiftUI). (@stephanheigl, @evil159)avoid-symbol-layers collision detection was incorrectly active even with an empty layer list. (@dserebriakov, @OdNairy)icon-text-fit was not used. Previously, stretch areas were calculated with invalid default values, causing oversized or mispositioned icons. (@ibesora)TileStore.create(path:) is now deprecated. Use TileStore.setRootPath(_:) instead to configure the tile store location. (@tatiana-yan)ResourceOptions tile store APIs are now deprecated. Use the dedicated TileStore configuration methods instead of passing tile store settings through ResourceOptions. (@pozdnyakov)24.19.0.11.19.0.16.4Fetched May 1, 2026