Mapbox
npx @buildinternet/releases get mapboxGradient borders for route lines land across GL JS, iOS, and Android, giving navigation UIs per-leg casing control without custom layer stacking.
Route line borders now interpolate by progress. The new lineBorderGradient property — available in GL JS, Maps iOS, and Maps Android — accepts a step or interpolate expression keyed to line-progress, letting the border shift color along a route's length. An active leg can use a different casing color than an upcoming leg, all within a single LineLayer. It takes precedence over lineBorderColor and requires a GeoJSON source with lineMetrics: true.
Field of view is now both animatable and narrower. The valid vertical FOV range expands from [11, 90] to [1, 90] degrees on iOS and Android, and GL JS adds map.setVerticalFieldOfView() with an animatable fov camera option. Narrow values align a map overlay with a magnified camera or video feed.
Road symbols follow HD elevation from a separate source. Cross-source HD road elevation for symbols ships across GL JS, Maps iOS 11.27.0, and Maps Android 11.27.0 — road labels and icons now rise with terrain even when the elevation source is not the symbol source.
GL JS bundles shrink with modular extraction. The v3.28.0-rc.1 release moves debug/development code, 3D model code, and the raster-array layer into optional ESM modules, reducing the core bundle for apps that don't use them. GL JS 3.27.0 also completed an upgrade to TypeScript 7.
Gesture and annotation stability improved. Maps Android 11.27.0 corrects fling animation firing in the opposite direction of a swipe at low zoom levels, fixes skipped-draw frames during zoom with shadow-casting layers, and repairs dynamic view annotation placement near tile edges. Navigation iOS 3.27.0 patches a crash during online-to-offline routing switches.