✨ Features and improvements
- Add a
zoomToUserAccuracyoption toGeolocateControlOptionsto allow control over map zoom adjustments in line with the Geolocation Position update accuracy, whiletrackUserLocationistrue(#7908, #8324, continues #7909) (by @timsluis) - With
fill-extrusion-rounded-corner-distanceset, shade the walls of a rounded corner as one curved surface by sharing the vertex normal between walls that meet at a shallow angle, instead of one flat shade per arc segment (#8475) (by @clement-igonet) - Speed up symbol rendering when the set of visible tiles changes, by rewriting the opacity buffers only of the symbol buckets whose labels actually changed instead of every bucket of every symbol layer (#8434) (by @cherenkov)
- Add an
absolutePaddingoption toMap#cameraForBoundsandMap#fitBoundsto treatpaddingas the map's persistent padding instead of adding it to the current one (#8480) (by @sargunv)
🐞 Bug fixes
- fix(CanvasSource): catch load errors and fire map.error like ImageSource (#8448) (#8450) (by @SatvikMishra08)
- Fix
GeoJSONSourcestill sending its waiting updates to the worker after the source is removed (#8585) (by @clementperon) - Fix
GeoJSONSourcememory growing until the page crashes whensetDatais called faster than the worker handles it (#8585) (by @clementperon) - Fix the map rendering at the display rate instead of going idle over a DEM with a minimum below sea level when
centerClampedToGroundis false (#8605) (by @johncarmack1984) - Fix a gesture over terrain throwing the camera when the terrain under the center loads after the gesture begins or the terrain switches off before it ends (#8548) (by @johncarmack1984)
- Fix the terrain elevation reading 0 outside the drawn tiles while the camera is below the terrain, and make that read about 40 times cheaper (#8539) (by @johncarmack1984)
- Fix a hole around the poles of the globe in background, fill and line layers from zoom 3 (#8638) (by @birkskyum)
- Fix
jumpTo, and the setters that use it, pulling the center elevation onto the terrain whencenterClampedToGroundis false (#8566) (by @johncarmack1984) - Fix
GeoJSONSource#updateDataleaving stale clusters on untouched tiles after clustering was turned on withsetClusterOptions(#8613) (by @clementperon) - Fix
GeoJSONSource#setClusterOptionsclustering twice when called while new data is waiting to be sent (#8613) (by @clementperon) - Fix
GeoJSONSourcedata set withsetDatabeing overwritten by the result of an earlier URL load orupdateData(#8613) (by @clementperon) - Fix fill-extrusion walls facing exactly east or west skipping
fill-extrusion-vertical-gradientand rendering brighter than the other walls (#8604) (by @birkskyum) - Fix
easeToandflyTopulling the center elevation onto the terrain whencenterClampedToGroundis false (#8566) (by @johncarmack1984) - Fix
fill-outline-color, and the antialiased edge of fills, not being drawn when terrain is enabled (#4200) (by @clement-igonet) - Respect map padding when constraining the camera to max bounds, so the padded viewport can pan fully to its edges (#8501) (by @erenbati)
- Fix an unclosed disallowed tag in one attribution erasing the other attributions, by sanitizing each attribution before joining them (#8569) (by @sx4im)
- Fix
color-reliefwith acustomDEM encoding whoseredFactor,greenFactororblueFactoris 0, where every elevation stop packed to NaN and the color ramp collapsed (#6411) (by @drakeo338) - Fix
queryRenderedFeaturesmissing fill-extrusions on globe once it renders as mercator (#8560) (by @birkskyum) - Fix
line-offsetdistorting the line width around joins (#8570) (by @HarelM) - Cross-fade raster tiles when zooming out from a source's
maxzoom, where the tiles switched instantly (#8517) (by @cherenkov)