releases.shpreview
Mapbox/Mapbox Maps iOS

Mapbox Maps iOS

$npx @buildinternet/releases show mapbox-maps-ios
Mon
Wed
Fri
MayJunJulAugSepOctNovDecJanFebMarApr
Less
More
Releases29Avg9/moVersionsv11.19.0-beta.1 → v11.23.0
Aug 15, 2025

Features ✨ and improvements 🏁

  • Add configuration option to configure attribution button tint color
  • Optimize LineBucket triangle allocation with reusable vector

Bug fixes 🐞

  • Fix tile border debug feature flickering on globe

Dependencies

  • Update MapboxCommon to 24.15.0-beta.2.
  • Update MapboxCoreMaps to 11.15.0-beta.2.

Dependency requirements:

  • Compatible version of Xcode: 16.2
Aug 13, 2025

Features ✨ and improvements 🏁

  • Introduce experimental Marker convenience API in Swift UI. Use Marker to quickly add a MapViewAnnotation pin at the specified coordinates with custom text and color.
Map {
  Marker(coordinate: CLLocationCoordinate2D(...))
    .text("My marker")
    .color(.blue)
    .stroke(.orange)
}
  • Enable camera animation hint during zoom out animations.
  • Make Metal shader feature texture binding more robust
  • Switch protozero usage to tag_and_type() API for improved validation
  • Improve fill extrusion parsing time by optimizing populateVertexVectors

Bug fixes 🐞

  • Allow to create text-field without any text
  • Make 2D Location Indicator bbox available only for visible puck positions
  • Limit the time spent in updating symbols when the view is animating
  • Re-enable symbol placement time limit by filtering only fastzoom animations
  • Check all tiles in integrity check
  • Consider X-Delta-Base header on 304 responses
  • Fix deadlock at GcdThreadPool::schedule
  • Do not crash on invalid strings conversion
  • Fix potential data race in mapbox token initialization
  • Serve empty tile from cache regardless of content type
  • Fix termination of schedulers
  • Correctness fixes for work limiting scheduler
  • Allow empty tiles with restricted formats and 400+ HTTP error code
  • Disable thread pool autoscaling
  • [Logs] Simplify categories
  • TileStore: Add delay for patch download retries
  • Fix some threading-related edge cases in the new patch logic
  • Use a memory pool allocator in our schedulers
  • Avoid copying strings to the logger's scheduler

Dependencies

  • Update MapboxCommon to 24.15.0-beta.1.
  • Update MapboxCoreMaps to 11.15.0-beta.1.

Dependency requirements:

  • Compatible version of Xcode: 16.2
Aug 7, 2025

Changes

  • Update MapboxCoreMaps to 11.14.1 and MapboxCommon to 24.14.1
    • Fix missing map loaded event in case vector tile is not found
    • Additional performance enhancements
</details>

Dependency requirements:

  • Compatible version of Xcode: 16.2
Jul 31, 2025

Features ✨ and improvements 🏁

  • Address the code sign issue The signature of “MapboxCommon.xcframework” cannot be validated and may have been compromised
  • New property *PatternCrossFade for LineLayer, FillLayer and FillExtrusionLayer. It controls the transition progress between image variants where 0 means the first variant to be used, 1 – the second. In between they will be blended altogether. This is important to have both images of the same size and type (raster/vector):
  • Added new split expression, which returns an array of substrings from a string, split by a delimiter parameter. For example, for an input property "level": "-2;-1;0;1;2;3" we could apply expression Exp(.split, Exp(.get, "level"), ";") to produce the output array like ["-2", "-1", "0", "1", "2", "3"].
  • Custom Layers: Added depth range parameter for 3D content rendering Custom layers now receive a depthRange parameter in CustomLayerRenderParameters that provides the depth range used for rendering 3D content. This parameter contains minimum and maximum depth values (ranging from 0 to 1) and enables proper depth testing for 3D primitives in custom layers. The default depth range is [0, 1], but may vary based on active features such as terrain and map projection. This change resolves issues where 3D content in custom layers could be incorrectly clipped when depth testing is enabled.
  • Improved zoom animation performance by preloading target tiles and reducing unnecessary intermediate tile processing, resulting in smoother camera transitions and reduced frame rate drops.

Bug fixes 🐞

  • Fixed placement for point symbols with symbol-z-offset
  • Fixed some icons being skipped in rare cases
  • Fixed text/icon intersections for optional texts/icons in some cases
  • Fix Dynamic View Annotations caches rebuilding on line-trim-offset updates
  • Fix symbol z-offset not working with fixed fill-extrusion-height
  • Fix a bug where cameraForCoordiantes with screen box oscillates when initial zoom is close to set max zoom
  • Skip unneeded tiles relayout when landmark icons get enabled
  • Fix a crash in disk cache code when fetching a high-zoom (z > 16) tile
  • Fix potential race conditions in the sprite loader
  • Fix potential data race in Mapbox token initialization
  • Minor fixes in TileStore service
  • Fix a crash when using CustomRasterSourceTileRenderer
  • Fixed FillExtrusionLayer flickering when transitioning between flat and globe projection

Dependencies

  • Update MapboxCommon to 24.14.0.
  • Update MapboxCoreMaps to 11.14.0.

Dependency requirements:

  • Compatible version of Xcode: 16.2
Jul 30, 2025

Changes

Internal improvements and optimizations.

Dependencies

  • Update MapboxCommon to 24.13.5.
  • Update MapboxCoreMaps to 11.13.5.

Dependency requirements:

  • Compatible version of Xcode: 16.2
Jul 22, 2025

Changes

Internal improvements and optimizations.

Dependencies

  • Update MapboxCommon to 24.13.4.
  • Update MapboxCoreMaps to 11.13.4.

Dependency requirements:

  • Compatible version of Xcode: 16.2
Jul 17, 2025

Changes

  • Address the code sign issue The signature of “MapboxCommon.xcframework” cannot be validated and may have been compromised

Bug fixes 🐞

  • Fix rasterization of images with positive mask coordinates

Dependencies

  • Update MapboxCommon to 24.9.1.
  • Update MapboxCoreMaps to 11.9.4:
    • <details> <summary>Changelog </summary>
</details>

Dependency requirements:

  • Compatible version of Xcode: 15.2.0

Changes

  • Address the code sign issue The signature of “MapboxCommon.xcframework” cannot be validated and may have been compromised

Dependencies

  • Update MapboxCommon to 24.14.0-rc.1:
    • Fix potential data race in Mapbox token initialization
    • Minor fixes in TileStore service
  • Update MapboxCoreMaps to 11.14.0-rc.1:
    • Improved zoom animation performance by preloading target tiles and reducing unnecessary intermediate tile processing, resulting in smoother camera transitions and reduced frame rate drops.
</details>

Dependency requirements:

  • Compatible version of Xcode: 16.2
Jul 15, 2025

Changes

  • Address the code sign issue The signature of “MapboxCommon.xcframework” cannot be validated and may have been compromised

Dependencies

  • Update MapboxCommon to 24.10.2.
  • Update MapboxCoreMaps to 11.10.4:
    • <details> <summary>Changelog </summary>
</details>

Dependency requirements:

  • Compatible version of Xcode: 15.2.0
Jul 14, 2025

Changes

  • Address the code sign issue The signature of “MapboxCommon.xcframework” cannot be validated and may have been compromised

Dependencies

  • Update MapboxCommon to 24.11.5.
  • Update MapboxCoreMaps to 11.11.5:
    • <details> <summary>Changelog </summary>
</details>

Dependency requirements:

  • Compatible version of Xcode: 15.2.0
Jul 11, 2025

Changes

  • Address the code sign issue The signature of “MapboxCommon.xcframework” cannot be validated and may have been compromised

Dependencies

  • Update MapboxCommon to 24.12.5.
  • Update MapboxCoreMaps to 11.12.5.

Dependency requirements:

  • Compatible version of Xcode: 16.2

Bug fixes 🐞

  • Address the codesign issue The signature of “MapboxCommon.xcframework” cannot be validated and may have been compromised

Dependencies

  • Update MapboxCommon to 24.5.2.

Dependency requirements:

  • Compatible version of Xcode: 16.2.0

Changes

  • Address the code sign issue The signature of “MapboxCommon.xcframework” cannot be validated and may have been compromised

Dependencies

  • Update MapboxCommon to 24.13.3.
  • Update MapboxCoreMaps to 11.13.3.

Dependency requirements:

  • Compatible version of Xcode: 16.2
Jul 8, 2025

Changes

  • Update dependencies

Dependencies

  • Update MapboxCommon to 24.13.2.
  • Update MapboxCoreMaps to 11.13.2.

Dependency requirements:

  • Compatible version of Xcode: 16.2

[!IMPORTANT] There is a known issue in this beta version related to certificate revocation and code signing. You may see an error stating that The signature of “MapboxCommon.xcframework” cannot be validated and may have been compromised or similar language. This issue is resolved in v11.14.0-rc.1. Additionally, this issue has been resolved in v11.13.3 and v11.12.5.

Features ✨ and improvements 🏁

  • New property -PatternCrossFade for LineLayer, FillLayer and FillExtrusionLayer. It controls the transition progress between image variants where 0 means the first variant to be used, 1 – the second. In between they will be blended altogether. This is important to have both images of the same size and type (raster/vector):
  • Added new split expression, which returns an array of substrings from a string, split by a delimiter parameter. For example, for an input property "level": "-2;-1;0;1;2;3" we could apply expression Exp(.split, Exp(.get, "level"), ";") to produce the output array like ["-2", "-1", "0", "1", "2", "3"].
  • Custom Layers: Added depth range parameter for 3D content rendering Custom layers now receive a depthRange parameter in CustomLayerRenderParameters that provides the depth range used for rendering 3D content. This parameter contains minimum and maximum depth values (ranging from 0 to 1) and enables proper depth testing for 3D primitives in custom layers. The default depth range is [0, 1], but may vary based on active features such as terrain and map projection. This change resolves issues where 3D content in custom layers could be incorrectly clipped when depth testing is enabled.

Bug fixes 🐞

  • Fixed placement for point symbols with symbol-z-offset
  • Fixed some icons being skipped in rare cases
  • Fixed text/icon intersections for optional texts/icons in some cases
  • Fix Dynamic View Annotations caches rebuilding on line-trim-offset updates
  • Fix symbol z-offset not working with fixed fill-extrusion-height
  • Fix a bug where cameraForCoordiantes with screen box oscillates when initial zoom is close to set max zoom
  • Skip unneeded tiles relayout when landmark icons get enabled
  • Fix a crash in disk cache code when fetching a high-zoom (z > 16) tile
  • Fix potential race conditions in the sprite loader

Dependencies

  • Update MapboxCommon to 24.14.0-beta.1.
  • Update MapboxCoreMaps to 11.14.0-beta.1.

Dependency requirements:

  • Compatible version of Xcode: 16.2
Jun 19, 2025

Bug fixes 🐞

  • Apply a more robust policy for retrying failed network requests
  • Fix a memory leak during icon rasterization

Dependencies

  • Update MapboxCommon to 24.13.1.
  • Update MapboxCoreMaps to 11.13.1:

Dependency requirements:

  • Compatible version of Xcode: 16.2
Jun 17, 2025

Breaking changes ⚠️

  • The experimental style MapStyle.standardExperimental is removed. Use MapStyle.standard instead.
  • PointAnnotation.iconImageCrossFade has been deprecated and setting value to it will not have any impact. Use PointAnnotationManager.iconImageCrossFadeTransition instead.

Features ✨ & Improvements 🏁

  • The Interactions and Featuresets API is promoted from experimental. It allows you to add interaction handlers to layers, Standard Style Featuresets (POI, Buildings and Place Labels), and the map itself in the consistent way. You can control the propagation of events, tappable area, and the order of event handling.
  • Methods GestureManager.onMapTap, GestureManager.onMapLongPress, GestureManager.onLayerTap, GestureManager.onLayerLongPress and their SwiftUI counterparts are deprecated. Use TapInteraction and LongPressInteraction instead.
// Before (SwiftUI)
Map()
    .onMapTapGesture { context in
        // Handle tap on map
    }
    .onLayerLongPressGesture("a-layer-id") { feature, context in
        // Handle press on a layer
        return true
    }

// After (SwiftUI)
Map {
    TapInteraction { feature in
        // Handle tap on map
        return true
    }

    LongPressInteraction(.layer("a-layer-id")) { feature, context in
        // Handle press on a layer
        return true
    }

    // Bonus: If you use Standard style, new API allows to handle tap on POI, Buildings and Place Labels
    TapInteraction(.standardPoi) { poi, feature in
        print("Tap on \(poi.name)")
        return true
    }
}
// Before (UIKit)
mapView.gestures.onMapTap.observe { context in
    // Handle Tap on Map
}.store(in: &cancelables)

mapView.gestures.onLayerLongPress("a-layer-id") { feature, context in
    // Handle Long press
    return true
}

// After (UIKit)
mapView.mapboxMap.addInteraction(TapInteraction { context in
    // Handle tap on map
    return true
})

mapView.mapboxMap.addInteraction(LongPressInteraction(.layer("a-layer-id")) { feature, context in
    // Handle long press on a layer
    return true
})

// Bonus: If you use Standard style, new API allows to handle tap on POI, Buildings and Place Labels
mapView.mapboxMap.addInteraction(TapInteraction(.standardPoi) { poi, feature in
    print("Tap on poi \(poi.name)")
    return true
})
  • Custom Layer Matrices API on Globe for Mobile
    Introducing the CustomLayerMapProjection, accessible via the CustomLayerRenderParameters instance. This new API provides utility functions for rendering primitives on the currently active map projection.
    Check out the CustomLayerExample.swift file for example usage of these new APIs.

    <img src="https://github.com/user-attachments/assets/5acdcdc5-b5e1-42aa-89df-2437ea1bf768" width="300" alt="Custom layer render demo"/>
  • Introduce experimental worldview expression.
  • Add new VectorSource.promoteId2 and GeoJSONSource.promoteId2. Deprecate VectorSource.promoteId and GeoJSONSource.promoteId. The newer version support the expression variant of promoteId, which can be used to dynamically nominate IDs to the features.
  • Expose new experimental properties: CircleLayer.circleElevationReference, FillLayer.fillConstructBridgeGuardRail, FillLayer.fillBridgeGuardRailColor, FillLayer.fillTunnelStructureColor.
  • Expose new showLandmarkIcons property in MapStyle.standard.
  • New example for elevated spiral line. Utilized the experimental API LineLayer/linezOffset.
  • Update Dynamic View Annotations to avoid overlapping symbol layers
  • StyleManager.image(withId:) can now retrieve vector icons
  • New at-interpolated expression added and separated from existing at expression.
  • Tile pack v2 format will now be used by default for endpoints that support it
  • Add support for shadows on elevated symbols
  • Support *colorUseTheme for Rain and Snow properties
  • Elevated bridge rail guard style support for color, emissive strength and enable/disable rail guard

Bug Fixes 🐞

  • Fixed disappearing volatile tiles on camera changes in offline mode when maximumStaleInterval is set.
  • Resolved frequent DVA repositioning issues.
  • Fixed fill patterns for elevated roads.
  • Tiles are now properly reloaded when the language setting is removed.
  • Limited the collision grid size for view annotations to improve performance.
  • Fix elevated lines rendering regression
  • Fix incorrect placement for symbols with symbol-z-elevate on Globe projection
  • Elevated symbol heights now change as smooth as building heights
  • Fix map flickering caused by the fill-extrusion pan tiles and missing stencil in 3D layers
  • Fix unstable placement for elevated symbols
  • Fix icon rasterization issue with luminance mask contexts
  • Fix clipPath and mask rendering for vector icon rasterization
  • Fix symbol order when SymbolLayer.symbolZElevate is true.
  • Fix issue that promoteId content is missing after vector source serialization
  • Fix semi-transparent landmark icons
  • Return null for config expression if requested config option is missing
  • Fix dotted lines on tile borders
  • Fix pattern not found error when using imports
  • Fix line layer not rendering when using LineLayer.linePattern inside an imported style
  • Fix flickering of elevated HD roads
  • Fix ground effect gradient not working with multiple polygons
  • Fix invisible line when interpolating LineLayer.lineWidth from 0 to 1 using line-progress
  • Fix temporary allocations in getDashPatternTexture
  • Fix a bug where cameraForCoordiantes with screen box oscillates when initial zoom is close to set max zoom
  • Skip unneeded tiles relayout when landmark icons get enabled
  • Fix a crash in disk cache code when fetching a high-zoom (z > 16) tile

💫️ Optimizations and other updates

  • Remove confusing error message when events are disabled and not sent
  • Tiled model translation support for 3D models
  • Flood light ground effect now shown on top of 3D objects
  • Support mapbox:// tile URLs without version and tiles
  • Reduce excessive allocations on the tile pyramid nodes re-creation
  • Avoid crash during centroid computation

Dependencies

  • Update MapboxCommon to 24.13.0.
  • Update MapboxCoreMaps to 11.13.0.

Dependency requirements:

  • Compatible version of Xcode: 16.2
Jun 3, 2025

Features ✨ & Improvements 🏁

  • Custom Layer Matrices API on Globe for Mobile
    Introducing the CustomLayerMapProjection, accessible via the CustomLayerRenderParameters instance. This new API provides utility functions for rendering primitives on the currently active map projection.
    Check out the CustomLayerExample.swift file for example usage of these new APIs.

    <img src="https://github.com/user-attachments/assets/5acdcdc5-b5e1-42aa-89df-2437ea1bf768" width="300" alt="Custom layer render demo"/>

Bug Fixes 🐞

  • Fixed disappearing volatile tiles on camera changes in offline mode when maximumStaleInterval is set.
  • Resolved frequent DVA repositioning issues.
  • Fixed fill patterns for elevated roads.
  • Tiles are now properly reloaded when the language setting is removed.
  • Limited the collision grid size for view annotations to improve performance.

Dependencies

  • Updated MapboxCommon to 24.13.0-rc.1
  • Updated MapboxCoreMaps to 11.13.0-rc.1

Dependency Requirements

  • Compatible Xcode version: 16.2
May 23, 2025

Changes

  • Limit view annotations collision grid size

Dependencies

  • Update MapboxCommon to 24.12.2.
  • Update MapboxCoreMaps to 11.12.2.

Dependency requirements:

  • Compatible version of Xcode: 16.2.0
May 20, 2025

Changes

Breaking changes ⚠️

  • The experimental style MapStyle.standardExperimental is removed. Use MapStyle.standard instead.
  • PointAnnotation.iconImageCrossFade has been deprecated and setting value to it will not have any impact. Use PointAnnotationManager.iconImageCrossFadeTransition instead.

Features ✨ and improvements 🏁

  • The Interactions and Featuresets API is promoted from experimental. The new API allows you to add interaction handlers to layers, Standard Style featuresets (POI, Buildings and Place Labels), and the map itself in the consistent way. You can control the propagation of events, tappable area, and the order of event handling.
    • Methods GestureManager.onMapTap, GestureManager.onMapLongPress, GestureManager.onLayerTap, GestureManager.onLayerLongPress and their SwiftUI counterparts are deprecated. Use TapInteraction and LongPressInteraction instead.
// Before (SwiftUI)
Map()
    .onMapTapGesture { context in
        // Handle tap on map
    }
    .onLayerLongPressGesture("a-layer-id") { feature, context in
        // Handle press on a layer
        return true
    }

// After (SwiftUI)
Map {
    TapInteraction { feature in
        // Handle tap on map
        return true
    }

    LongPressInteraction(.layer("a-layer-id")) { feature, context in
        // Handle press on a layer
        return true
    }

    // Bonus: If you use Standard style, new API allows to handle tap on POI, Buildings and Place Labels
    TapInteraction(.standardPoi) { poi, feature in
        print("Tap on \(poi.name)")
        return true
    }
}
// Before (UIKit)
mapView.gestures.onMapTap.observe { context in
    // Handle Tap on Map
}.store(in: &cancelables)

mapView.gestures.onLayerLongPress("a-layer-id") { feature, context in
    // Handle Long press
    return true
}

// After (UIKit)
mapView.mapboxMap.addInteraction(TapInteraction { context in
    // Handle tap on map
    return true
})

mapView.mapboxMap.addInteraction(LongPressInteraction(.layer("a-layer-id")) { feature, context in
    // Handle long press on a layer
    return true
})

// Bonus: If you use Standard style, new API allows to handle tap on POI, Buildings and Place Labels
mapView.mapboxMap.addInteraction(TapInteraction(.standardPoi) { poi, feature in
    print("Tap on poi \(poi.name)")
    return true
})
  • Add new VectorSource.promoteId2 and GeoJSONSource.promoteId2. Deprecate VectorSource.promoteId and GeoJSONSource.promoteId. The newer version support the expression variant of promoteId, which can be used to dynamically nominate IDs to the features.
  • Expose new experimental properties: CircleLayer.circleElevationReference, FillLayer.fillConstructBridgeGuardRail, FillLayer.fillBridgeGuardRailColor, FillLayer.fillTunnelStructureColor.
  • Expose new showLandmarkIcons property in MapStyle.standard.
  • New example for elevated spiral line using the experimental API LineLayer/linezOffset.

Update MapboxCoreMaps to 11.13.0-beta.1:

Features ✨ and improvements 🏁

  • Update Dynamic View Annotations to avoid overlapping symbol layers
  • StyleManager.getStyleImage() can now retrieve vector icons
  • New at-interpolated expression added and separated from existing at expression.
  • Tile pack v2 format will now be used by default for endpoints that support it
  • Add support for shadows on elevated symbols
  • Add screenShape MapOption for better culling on non-rectangular displays
  • Support color-use-theme for rain and snow
  • Elevated bridge rail guard style support for color, emissive strength and enable/disable rail guard

Bug fixes 🐞

  • Fix elevated lines rendering regression. Original report here.
  • Fix incorrect placement for symbols with symbol-z-elevate on Globe projection
  • Elevated symbol heights now change as smooth as building heights
  • Fix map flickering caused by the fill-extrusion pan tiles and missing stencil in 3D layers
  • Fix unstable placement for elevated symbols
  • Fix icon rasterization issue with luminance mask contexts
  • Fix clipPath and mask rendering for vector icon rasterization
  • Fix symbol order when symbol-z-elevate is true
  • Fix issue that promoteId content is missing after vector source serialization
  • Fix semi-transparent landmark icons
  • Return null for config expression if requested config option is missing
  • Fix dotted lines on tile borders
  • Fix pattern not found error when using imports
  • Fix line layer not rendering when using line-pattern inside an imported style
  • Fix flickering of elevated HD roads
  • Fix ground effect gradient not working with multiple polygons
  • Fix invisible line when interpolating line-width from 0 to 1 using line-progress
  • Fix temporary allocations in getDashPatternTexture

💫️ Optimizations and other updates

  • Remove confusing error message when events are disabled and not sent
  • Tiled model translation support for 3D models
  • Flood light ground effect now shown on top of 3D objects
  • Support mapbox:// tile URLs without version and tiles
  • Reduce excessive allocations on the tile pyramid nodes re-creation
  • Avoid re-allocations per frame on tileclippingMasksIDs
  • Use LayerUID uint16_t instead of std::string for map keys
  • Add simple bounds check to avoid crash during centroid computation

Update MapboxCommon to 24.13.0-beta.1:

Features ✨ and improvements 🏁

  • Support radius individually per point geofence geometry

Bug fixes 🐞

  • Fix possible offline cache migration issues
  • Fix iOS 18.4-18.5 network issues
  • Fix possible crashes in HTTP requests processing in case of invalid UTF-8 headers

Dependency requirements:

  • Compatible version of Xcode: 16.2
Latest
v11.23.0
Tracking Since
Dec 19, 2024
Last checked May 1, 2026