✨ Features and improvements
- Add configurable fog as a root style specification (#10564)
- Add support for data-driven expressions in
line-dasharray
andline-cap
properties. (#10591) - Add support for data-driven
text-line-height
(#10612) - Add client-side elevation querying with
map.queryTerrainElevation(lngLat)
when terrain is active (#10602) - Reduce GPU memory footprint when terrain is active by sharing a single depth stencil renderbuffer for all draping (#10611)
- Optimize tile cover by preventing unnecessary tile loads when terrain is active (#10467)
- Batch render DOM elements to avoid reflow (#10530, #10567) (h/t zarov)
🐞 Bug fixes
- Fix style property transitions not invalidating the terrain render cache (#10485)
- Fix raster tile expiry data not being retained. (#10494) (h/t andycalder)
- Fix undefined type error when removing
line-gradient
paint property (#10557) - Fix unclustered points in a clustered GeoJSON source incorrectly snapping to a grid at high zoom levels. (#10523)
- Fix
map.loadImage
followed with a delay bymap.addImage
failing in Safari and Firefox. (#10524) - Allow conditional display of formatted images in text (#10553)
- Fix fill-extrusion elevation underflow below sea level (#10570)
- Fix dashed lines with square line caps. (#9561)
- Fix markers sometimes throwing an error after being removed from a 3D map. (#10478) (h/t andycalder)
- Set
type=button
on attribution button to prevent accidental form submit when map is nested in<form>
(#10531) - Fix nine documentation typos (#10546, #10548 #10551 #10646) (h/t coliff)