# MapLibre GL JS v6.0.0-17 - Product: MapLibre GL JS (https://whatsnew.fyi/product/maplibre-gl-js) - Vendor: MapLibre - Date: 2026-06-24 - Version: v6.0.0-17 - Original notes: https://github.com/maplibre/maplibre-gl-js/releases/tag/v6.0.0-17 - Permalink: https://whatsnew.fyi/product/maplibre-gl-js/releases/v6.0.0-17 - Labels: Pre-release What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. --- - **changed** — All map events are now real classes that are instantiated when they are fired - **changed** — Renamed MapLibreZoomEvent to MapBoxZoomEvent - **added** — Added rollstart, roll, and rollend events to MapEventType - **added** — Added style.load event as MapStyleLoadEvent to MapEventType - **added** — Added event classes and type-map for Marker, Popup, GeolocateControl and FullscreenControl - **removed** — Removed MapDataEvent; data, dataloading, and dataabort events are now MapSourceDataEvent or MapStyleDataEvent - **changed** — Source data events now carry full source info including sourceId, tile, and sourceDataType - **added** — Added MapMovementEvent as the type for all camera-transition events - **changed** — Evented is now generic over an event-type map and abstract, allowing subclasses to get strongly-typed on, once, and off automatically - **changed** — Camera and Style events are now typed via MapEventType - **changed** — Source events are now typed via the new SourceEventType - **fixed** — Skip undefined properties during worker serialization ###### ✨ 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`) 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](https://github.com/maplibre/maplibre-gl-js/pull/7789)) (by [@HarelM](https://github.com/HarelM)) ###### 🐞 Bug fixes - Skip `undefined` properties during worker serialization ([#7801](https://github.com/maplibre/maplibre-gl-js/pull/7801)) (by [@xavierjs](https://github.com/xavierjs))