✨ Features and improvements
- Fire a
contextmenumap event on long press for touch devices (#373) (by @kirthi-b) - Transition paint, light and sky properties that read
global-statefrom the value they had when the state changes, where they snapped to the new value while holdingidlefor the transition duration (#8395) (by @avosa) - Speed up cross-tile symbol matching for sources with
promoteIdby keying symbols on their feature id as well as their label (#8470, continues #7665) (by @bradymadden97 and @johncarmack1984) - Add
Map#calculateAnchoredCameraOptionsto calculate camera options that place a geographic anchor at a screen position without moving the map (#8288) (by @xavierjs) - Skip the loaded-tile scan for constant
symbol-height-offsetlayers when computing tile coverage (#8424) (by @clement-igonet) - Type and document that an
addProtocolhandler may return anImageBitmaporHTMLImageElementfor an image resource, so decoded pixels are not encoded and decoded again (#8515) (by @MannXo)
🐞 Bug fixes
- Fade the globe atmosphere in with the camera's altitude, so the sky keeps the horizon until the atmosphere takes over from space (#8464) (by @birkskyum)
- Report worker script failures through the map
errorevent (#8018) (by @xavierjs) - Fix slow panning and zooming in Firefox on macOS since 6.8.0 (#8468) (by @timsluis and @birkskyum)
- Keep source-specific tile LOD settings from changing internal terrain render-to-texture tile selection (#8048) (by @DoFabien)
- Fix
map.setSky()silently keeping the old sky and firing noerrorevent when the value included a-transitionkey (#8375) (by @Yasser-Ameur) - Fix markers and popups misplaced after a projection change or by terrain that loads after the map settled. (#8433) (by @patte)
- Insert sanitized attribution HTML as DOM nodes instead of re-parsing a serialized string (#8528) (by @cherenkov)