Skip to content

11.32.0-rc.1 — Mapbox Maps iOS

Pre-release
Pre-release

Choose a tag to compare

@OdNairy OdNairy released this 23 Sep 08:45
· 6 commits to main since this release

Breaking changes ⚠️

  • TileStore.loadTileRegion now reports a partially downloaded region as a failure
    The completion previously received success even when some of the region's resources had failed to download, leaving a manual comparison of completedResourceCount against requiredResourceCount as the only way to notice. It now completes with TileRegionError.partialLoad; the region is still usable but incomplete, and the load can be reattempted with another loadTileRegion call.

Features ✨ and improvements 🏁

  • Camera bounds APIs now support the globe projection
    MapboxMap.coordinateBounds(for:), coordinateBoundsUnwrapped(for:), coordinateBoundsZoom(for:) and coordinateBoundsZoomUnwrapped(for:) computed bounds for a flat viewport, so under globe they reported an area that did not match what was on screen. They now use the same algorithm as Mapbox GL JS and return accurate bounds under both projections.

  • Tile region load progress now reports network backoff
    TileRegionLoadProgress gained backoffUntil, the earliest point at which any request in the region can proceed, along with totalTransfersWithBackoffCount and totalScheduledBackoffTime for the load as a whole. Progress callbacks now also fire when a load stalls on backoff, so a download waiting out rate limiting is distinguishable from one that has stopped.

Bug fixes 🐞

  • UIKit view annotations never hid on overlap when using marked collision subviews
    Subviews marked with the experimental UIView.mbxViewAnnotationCollisionBox were measured before the annotation had laid out its subviews, so their collision boxes reached the renderer with zero size and no overlap was ever detected, even with allowOverlap set to false. Annotations that declare collision boxes are now laid out at their measured size before the boxes are collected. SwiftUI's View.mbxViewAnnotationCollisionBox(_:) was never affected.

  • Occluded symbols ignored the configured placement transition duration
    Symbols hidden behind 3D buildings or terrain snapped between visible and hidden instead of fading, which shows up as flickering labels while the camera moves. Occlusion opacity is now advanced each frame from the time actually elapsed, so TransitionOptions.duration applies to these fades unless enablePlacementTransitions is disabled.

  • active-anchor expression was silently accepted where it cannot be resolved
    The active anchor is only known while symbols are being laid out, but the expression was allowed in filters, visibility, paint properties, text-anchor, text-variable-anchor and non-symbol layers, where it produced undefined results rather than an error. It is now rejected when the style is parsed, and remains available on the symbol layout properties that can resolve it.

Dependencies

  • Update MapboxCommon to 24.32.0-rc.1.
  • Update MapboxCoreMaps to 11.32.0-rc.1.

Dependency requirements:

  • Compatible version of Xcode: 26.5