Skip to content

Releases: maplibre/maplibre-gl-js

v6.0.0-22

v6.0.0-22 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 15 Jul 12:34
Immutable release. Only release title and notes can be modified.
3bb7abe

✨ Features and improvements

  • Validate the terrain passed to map.setTerrain, which was previously applied unchecked (#7941) (by @HarelM)
  • Improve runtime error warnings to point at the offending style location (e.g. layers[3].paint.line-color, layers[3].filter) instead of just logging the bare error message (#7869) (by @CommanderStorm)
  • ⚠️ Interpolate the light position in spherical coordinates instead of cartesian ones, so that a transition keeps its radial distance. (#7919) (by @HarelM)

🐞 Bug fixes

  • Log style validation warnings instead of treating them as errors, so that a filter mixing legacy and expression syntax no longer aborts the style load and blanks the map (#7941) (by @HarelM)
  • Validate raster-dem sources passed to map.addSource, which were previously skipped. Stop a source type the style spec has no schema for, such as one registered with addSourceType, from failing the whole style. Previously only canvas was let through (#7941) (by @HarelM)

v6.0.0-21

v6.0.0-21 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 12 Jul 18:40
Immutable release. Only release title and notes can be modified.
59320f0

✨ Features and improvements

  • Improve terrain render-to-texture preparation performance by skipping sources that are not rendered to terrain textures (#7863) (by @DoFabien)
  • Add Map.setMissingStyleImageResolver for resolving missing style images with sync or async callbacks (#7850) (by @birkskyum)
  • ⚠️ Stop allowing styleimagemissing listeners to resolve the current image request; use Map.setMissingStyleImageResolver instead (#7892) (by @birkskyum)
  • Add RasterTileSource#setPremultiplyAlpha(false) to preserve raw RGBA tile values when alpha is used for data instead of opacity (#7235) (by @plantain).

v6.0.0-20

v6.0.0-20 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 05 Jul 12:37
Immutable release. Only release title and notes can be modified.
6d94d74

✨ Features and improvements

  • ⚠️ Map now composes a Camera instead of extending it (Map extends Evented directly and forwards the camera API). The internal map.transform was removed — use map's public API instead or open a PR if you need something that's not exposed. Removed the internal transform.getMatrixForModel helper (#7800) (by @HarelM)

🐞 Bug fixes

  • Fix line-layer-opacity/fill-layer-opacity clipping away a subsequent layer that shares the same source (#7867) (by @CommanderStorm)
  • Fix camera jump in flyTo when minZoom is set (#7743) (by @YuChunTsao)

v6.0.0-19

v6.0.0-19 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 05 Jul 08:59
Immutable release. Only release title and notes can be modified.
f2fc5e4

✨ Features and improvements

  • Drop the archived @mapbox/whoots-js dependency by inlining its single getTileBBox helper (#7838) (by @qorexdevs)
  • Debounce setImages broadcast to once per animation frame, fixing O(n²) serialization overhead when adding many images (#7614) (by @bradymadden97)

🐞 Bug fixes

  • Fix stale terrain depth and coordinate framebuffers when terrain tiles change without camera movement (#7812) (by @DoFabien)

v6.0.0-18

v6.0.0-18 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 29 Jun 06:35
Immutable release. Only release title and notes can be modified.
9ea262f

✨ Features and improvements

  • Improve terrain rendering performance by avoiding unnecessary terrain data lookups during Mercator render-to-texture passes (#7833) (by @DoFabien)
  • Reduce allocation pressure while constructing DEM data and sampling terrain elevations (#7814) (by @DoFabien)
  • Reuse terrain DEM texture when preparing terrain (#7813) (by @DoFabien)

🐞 Bug fixes

  • Fix a memory leak where aborting a worker request (e.g. a GeoJSON tile load cancelled while panning) left its promise pending forever, so the awaiting async frame and everything it captured was never released; Actor.sendAsync now rejects with an AbortError on abort (#7826) (by @kamil-sienkiewicz-asi)

v6.0.0-17

v6.0.0-17 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 24 Jun 07:51
Immutable release. Only release title and notes can be modified.
8857dc8

✨ Features and improvements

  • ⚠️ All map events are now real classes that are instantiated when they are fired. Renamed MapLibreZoomEvent to MapBoxZoomEvent, added the rollstart/roll/rollend and style.load (as MapStyleLoadEvent) events to MapEventType, and added event classes and type-map for Marker, Popup, GeolocateControl and FullscreenControl. Removed MapDataEvent: the data/dataloading/dataabort events are now MapSourceDataEvent | MapStyleDataEvent, so source data events carry the full source info (sourceId, tile, sourceDataType, …). Added MapMovementEvent as the type for all camera-transition events (move/zoom/rotate/pitch/roll/drag and their start/end variants). Evented is now generic over an event-type map (Evented<EventType>) and is abstract, so subclasses get strongly-typed on/once/off automatically without re-declaring overloads — this also types the events on Camera/Style (via MapEventType) and on the sources (via the new SourceEventType) (#7789) (by @HarelM)

🐞 Bug fixes

  • Skip undefined properties during worker serialization (#7801) (by @xavierjs)

v6.0.0-16

v6.0.0-16 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 17 Jun 11:28
Immutable release. Only release title and notes can be modified.
76248ea

✨ Features and improvements

  • ⚠️ Update maplibre-gl-style-spec to version 25, which has a breaking change in legacy expression validation (#7792) (by @HarelM)

🐞 Bug fixes

v6.0.0-15

v6.0.0-15 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 15 Jun 12:07
Immutable release. Only release title and notes can be modified.
8a6b900

✨ Features and improvements

  • Add fill-layer-opacity and line-layer-opacity paint properties, which apply opacity to the entire layer output uniformly (#7570) (by @CommanderStorm)
  • Build main and worker in same build context to extract shared chunk (#7745) (by @dangkyokhoang)

🐞 Bug fixes

  • Fix conflicting reloads of tiles causing an error in queryRenderedFeatures (#7765) (by @ckolin)

v6.0.0-14

v6.0.0-14 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 09 Jun 19:54
Immutable release. Only release title and notes can be modified.
dfa640c

✨ Features and improvements

  • Revert the line-opacity-driven offscreen rendering introduced in #7490 (#7764) (by @CommanderStorm).
  • ⚠️ Removed the remaining mapbox references in the code and in the tests. This changes the #pragma mapbox to #pragma maplibre in case you have shader code that relied on it. (#7761) (by @HarelM)

🐞 Bug fixes

  • Fix a race condition in geojson source after init and fast update data (#7734) (by @HarelM)

v6.0.0-13

v6.0.0-13 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 09 Jun 08:18
Immutable release. Only release title and notes can be modified.
33e1422

✨ Features and improvements

  • Improve ProjectionData matrix backing types for renderer and custom layer projection matrices (#6316) (by @cat0825)

🐞 Bug fixes

  • Fix camera jump on dragend with globe + terrain at low pitch (#7736) (by @kodeezabdullah)
  • Fix web font rendering by awaiting document.fonts.load() before TinySDF instantiation (#7735) (by @kodeezabdullah)
  • Remove the framebuffer completeness check that threw an unhandled Framebuffer is not complete error on transient GPU resource loss (e.g. when a tab wakes from sleep); incomplete framebuffers now self-heal on the next frame instead (#7303) (by @johanrd)
  • ⚠️ Disable icon scaling with offset, this is a render breaking change which we have decided to incorporate in both maplibre-gl-js and maplibre-native (#7742) (by @springmeyer and @HarelM)