11.32.0-rc.1 — Mapbox Maps iOS
Pre-releaseBreaking changes ⚠️
-
TileStore.loadTileRegionnow 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 ofcompletedResourceCountagainstrequiredResourceCountas the only way to notice. It now completes withTileRegionError.partialLoad; the region is still usable but incomplete, and the load can be reattempted with anotherloadTileRegioncall.
Features ✨ and improvements 🏁
-
Camera bounds APIs now support the globe projection
MapboxMap.coordinateBounds(for:),coordinateBoundsUnwrapped(for:),coordinateBoundsZoom(for:)andcoordinateBoundsZoomUnwrapped(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
TileRegionLoadProgressgainedbackoffUntil, the earliest point at which any request in the region can proceed, along withtotalTransfersWithBackoffCountandtotalScheduledBackoffTimefor 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 experimentalUIView.mbxViewAnnotationCollisionBoxwere 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 withallowOverlapset tofalse. Annotations that declare collision boxes are now laid out at their measured size before the boxes are collected. SwiftUI'sView.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, soTransitionOptions.durationapplies to these fades unlessenablePlacementTransitionsis disabled. -
active-anchorexpression 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-anchorand 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