✨ Features and improvements
- Add
dragRotate: {around: 'pointer'}to turn and tilt the map around the point under the pointer, and{around: 'center', movement: 'circular' | 'linear'}, which replaces the deprecatedaroundCenter(#8628) (by @birkskyum) - Redraw fewer layers on terrain when a custom layer's
terrainTileRevisionor a feature state changes (#8782) (by @birkskyum) - Support the
hashoption in a projection registered withaddProjection(#8743) (by @birkskyum) - Add experimental
addProjection,removeProjection, a built-inidentityprojection and a{bbox}tile URL token for maps in a custom planar CRS with its own quad tile grid (#168, #5764) - Speed up tile loading by skipping point labels in the tile buffer, which the neighbouring tile draws (#8535) (by @cherenkov)
- Project GeoJSON sources on a map in a registered CRS, in the workers, from a
definitionstring and a projection handler (#8736) (by @johncarmack1984) - Support OpenType
vertforms in vertical labels rendered withfont-faces(#8489) (by @NEKOYASAN)
🐞 Bug fixes
- Fix a map in a registered projection going blank when its center crosses 180° (#8802) (by @birkskyum)
- Fix world projections like Equal Earth throwing and jumping when the mouse is in the space around the world (#8803) (by @birkskyum)
- Work around a regression in Safari 26.6 and later where the map stops loading tiles after the page was in the background (#8780) (by @birkskyum)
- Fix labels in Brahmic scripts such as Devanagari, Thai and Telugu mixing fonts or dropping letters when the style has a glyphs URL (#8741) (by @crackalamoo)
- Fix
setWorkerUrltreating a.cjsfragment or query marker as a module worker URL (#8769) (by @Anandb71) - Fix the terrain not finding a tile's own DEM data when the DEM source's maxzoom is below the terrain tile zoom (#8765) (by @johncarmack1984)
- Fix the camera dropping to sea level while the terrain under the center of a
jumpTo,easeToorflyToloads (#8549) (by @johncarmack1984) - Fix a grid of lines along tile borders in line layers of sliced overzoomed tiles when the source tile extent is larger than 4096, by scaling the clip buffer with the extent (#8705) (by @tordans)
- Fix the globe drag rounding its rotation to single precision (#8784) (by @johncarmack1984)
- Fix
loadandidlefiring before the other tiles finish loading when one tile fails (#8785) (by @johncarmack1984) - Avoid using
.innerHTML = …for the Popup close icon (#8795) (by @k-yle) - Fix a GeoJSON feature without coordinates staying out of the tiles after
updateDatagives it some, by updating geojson-vt to 6.3.0 (#8797) (by @johncarmack1984)