releases.shpreview

v11.13.0

$npx @buildinternet/releases show rel_zt-FBhUNrju32rOGpwOMX

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

Fetched May 1, 2026