Skip to content

chore(deps): bump maplibre-gl from 5.24.0 to 6.2.0 - #346

Closed
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/npm_and_yarn/maplibre-gl-6.1.0
Closed

chore(deps): bump maplibre-gl from 5.24.0 to 6.2.0#346
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/npm_and_yarn/maplibre-gl-6.1.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Aug 5, 2026

Copy link
Copy Markdown
Contributor

Bumps maplibre-gl from 5.24.0 to 6.2.0.

Release notes

Sourced from maplibre-gl's releases.

v6.2.0

✨ Features and improvements

  • Add the fill-extrusion-rounded-corner-distance layout property, which replaces each fill-extrusion corner with an arc spanning the given distance (in meters) along the adjacent edges. The distance is clamped to 20% of each adjacent edge's length so that short edges don't collapse, and near-straight corners (turns below 5°) are left untouched. Defaults to 0, which keeps corners sharp (#7934) (by @​CommanderStorm)
  • Improve Mercator rendering performance by skipping a redundant clipping mask border pass (#8038) (by @​DoFabien)
  • Add a docker-compose service to build and serve the examples (#57) (#8026) (by @​clement-igonet)

🐞 Bug fixes

  • Fix rare rendering bug causing two adjacent layers with different data driven property set to render wrong (#8068) (by @​CommanderStorm)
  • Improve terrain elevation sampling performance by caching DEM tile lookups and coordinate transforms within each render (#8025) (by @​DoFabien)

v6.1.0

✨ Features and improvements

  • Add support for updating an ImageSource with an already-decoded image (HTMLImageElement, HTMLCanvasElement, ImageBitmap or ImageData) directly via ImageSource.updateImage({image}), skipping the network request (#7944) (by @​mondsichtung)
  • Add GeoJSONSource.getClusterOptions to get a source's current cluster options (cluster, clusterMaxZoom, clusterRadius) (#7948) (by @​lazerg)
  • Support global-state expressions in sky.*, light.* and projection.type properties (#7966, #7967, #7968) (by @​CommanderStorm)
  • Add MapOptions.rotateSpeed and MapOptions.pitchSpeed, the degrees the bearing/pitch change per pixel dragged (#7949) (by @​clement-igonet)
  • Show a grab cursor over draggable markers, including on non-interactive maps (#8019) (by @​hugosmoreira)

🐞 Bug fixes

  • Use role=img for non-interactive default markers and role=button when they become interactive (#7790) (by @​cat0825)
  • Fix an error thrown when a paint property transitions between arrays of different length (#6606) (by @​HarelM)
  • Fix renderer crash when RasterTileSource.setTiles/setUrl is called while the source contains errored tiles (#7911) (by @​lazerg)
  • Fix 3D buildings disappearing when the camera pitches up to look near the horizon, by growing tile-culling bounds as the frustum's bottom edge (from pitch and FOV) approaches horizontal (#7633) (by @​clement-igonet)
  • Fix globe latitude precision on some GPUs (e.g. Mali) by reformulating the mercator-to-sphere Y coordinate algebraically (exp + rational arithmetic instead of atan/sin/cos), avoiding float32 cancellation and imprecise hardware transcendentals near the equator; the runtime GPU atan-error measurement/correction this superseded has also been removed (#7419) (by @​clement-igonet)
  • Fix a race in RasterTileSource.loadTile and ImageSource.load where a tile/image aborted during an awaited transformRequest passed an undefined AbortController into the image request queue, crashing it with TypeError: Cannot read properties of undefined (reading 'signal') (#8004) (by @​jan-grzybek)
  • Fix setTerrain not destroying the previously active terrain when switching to a new configuration, which leaked its GPU resources and left the old source still configured as a terrain source (#7990) (by @​lazerg)
  • Fix fill and line layers being rendered twice near the antimeridian on globe when looking at poles or when zoomed out (#6248) (by @​pabueco)

v6.0.0

The following incorporates all the pre-releases for version 6 changes. Check-out our migration guide from v5 to v6 for more information.

✨ Features and improvements

  • ⚠️ Switch to an ESM-only distribution (maplibre-gl.mjs). The UMD bundles (maplibre-gl.js, maplibre-gl-csp.js) are no longer published. The CSP-specific bundle is also dropped: the ESM build loads its worker as a real URL, so worker-src blob: is no longer required. Consumers using <script src=".../maplibre-gl.js"> must switch to <script type="module">, and consumers using import maplibregl from 'maplibre-gl' must switch to import * as maplibregl from 'maplibre-gl' or named imports. See the docs ESM section or our migration guide for migration steps. (#6254) (by @​birkskyum)
  • ⚠️ Interpolate the light position in spherical coordinates instead of cartesian ones, so that a transition keeps its radial distance. (#7919) (by @​HarelM)
  • ⚠️ styleimagemissing is now a notify-only event instead of the previous callback that allowed to provide an image. This aligns the event with standard event semantics (notify, not resolve). Use Map.setMissingStyleImageResolver to on-demand supply images instead via an function that can now also be async. (#7892) (by @​birkskyum)
  • ⚠️ 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)
  • ⚠️ All map events are now real classes that are instantiated when they are fired. Renamed the Maps' BoxZoom handler from 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)
  • ⚠️ Update maplibre-gl-style-spec to version 25, which now throws an error with warning severity instead of silently failing on encoutering legacy expressions (#7792) (by @​HarelM)
  • ⚠️ 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)
  • ⚠️ zoomLevelsToOverscale default value was changed to 4 to support better handling of high level zoom with dense labels. This might have a side effect of changing a bit the results of queryRenderedFeatures and some rendering of polygon center label. To revert this change, set the value to undefined (#7537) (by @​HarelM)
  • ⚠️ Remove the second parameter from GeoJSONSource.setData (waitForCompletion) and remove the return value of this to allow future changes to the API (#7538) (by @​HarelM)

... (truncated)

Changelog

Sourced from maplibre-gl's changelog.

6.2.0

✨ Features and improvements

  • Add the fill-extrusion-rounded-corner-distance layout property, which replaces each fill-extrusion corner with an arc spanning the given distance (in meters) along the adjacent edges. The distance is clamped to 20% of each adjacent edge's length so that short edges don't collapse, and near-straight corners (turns below 5°) are left untouched. Defaults to 0, which keeps corners sharp (#7934) (by @​CommanderStorm)
  • Improve Mercator rendering performance by skipping a redundant clipping mask border pass (#8038) (by @​DoFabien)
  • Add a docker-compose service to build and serve the examples (#57) (#8026) (by @​clement-igonet)

🐞 Bug fixes

  • Fix rare rendering bug causing two adjacent layers with different data driven property set to render wrong (#8068) (by @​CommanderStorm)
  • Improve terrain elevation sampling performance by caching DEM tile lookups and coordinate transforms within each render (#8025) (by @​DoFabien)

6.1.0

✨ Features and improvements

  • Add support for updating an ImageSource with an already-decoded image (HTMLImageElement, HTMLCanvasElement, ImageBitmap or ImageData) directly via ImageSource.updateImage({image}), skipping the network request (#7944) (by @​mondsichtung)
  • Add GeoJSONSource.getClusterOptions to get a source's current cluster options (cluster, clusterMaxZoom, clusterRadius) (#7948) (by @​lazerg)
  • Support global-state expressions in sky.*, light.* and projection.type properties (#7966, #7967, #7968) (by @​CommanderStorm)
  • Add MapOptions.rotateSpeed and MapOptions.pitchSpeed, the degrees the bearing/pitch change per pixel dragged (#7949) (by @​clement-igonet)
  • Show a grab cursor over draggable markers, including on non-interactive maps (#8019) (by @​hugosmoreira)
  • ...Add new stuff here...

🐞 Bug fixes

  • Use role=img for non-interactive default markers and role=button when they become interactive (#7790) (by @​cat0825)
  • Fix an error thrown when a paint property transitions between arrays of different length (#6606) (by @​HarelM)
  • Fix renderer crash when RasterTileSource.setTiles/setUrl is called while the source contains errored tiles (#7911) (by @​lazerg)
  • Fix 3D buildings disappearing when the camera pitches up to look near the horizon, by growing tile-culling bounds as the frustum's bottom edge (from pitch and FOV) approaches horizontal (#7633) (by @​clement-igonet)
  • Fix globe latitude precision on some GPUs (e.g. Mali) by reformulating the mercator-to-sphere Y coordinate algebraically (exp + rational arithmetic instead of atan/sin/cos), avoiding float32 cancellation and imprecise hardware transcendentals near the equator; the runtime GPU atan-error measurement/correction this superseded has also been removed (#7419) (by @​clement-igonet)
  • Fix a race in RasterTileSource.loadTile and ImageSource.load where a tile/image aborted during an awaited transformRequest passed an undefined AbortController into the image request queue, crashing it with TypeError: Cannot read properties of undefined (reading 'signal') (#8004) (by @​jan-grzybek)
  • Fix setTerrain not destroying the previously active terrain when switching to a new configuration, which leaked its GPU resources and left the old source still configured as a terrain source (#7990) (by @​lazerg)
  • Fix fill and line layers being rendered twice near the antimeridian on globe when looking at poles or when zoomed out (#6248) (by @​pabueco)

6.0.0

The following incorporates all the pre-releases for version 6 changes. Check-out our migration guide from v5 to v6 for more information.

✨ Features and improvements

  • ⚠️ Switch to an ESM-only distribution (maplibre-gl.mjs). The UMD bundles (maplibre-gl.js, maplibre-gl-csp.js) are no longer published. The CSP-specific bundle is also dropped: the ESM build loads its worker as a real URL, so worker-src blob: is no longer required. Consumers using <script src=".../maplibre-gl.js"> must switch to <script type="module">, and consumers using import maplibregl from 'maplibre-gl' must switch to import * as maplibregl from 'maplibre-gl' or named imports. See the docs ESM section or our migration guide for migration steps. (#6254) (by @​birkskyum)
  • ⚠️ Interpolate the light position in spherical coordinates instead of cartesian ones, so that a transition keeps its radial distance. (#7919) (by @​HarelM)
  • ⚠️ styleimagemissing is now a notify-only event instead of the previous callback that allowed to provide an image. This aligns the event with standard event semantics (notify, not resolve). Use Map.setMissingStyleImageResolver to on-demand supply images instead via an function that can now also be async. (#7892) (by @​birkskyum)
  • ⚠️ 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)
  • ⚠️ All map events are now real classes that are instantiated when they are fired. Renamed the Maps' BoxZoom handler from 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)
  • ⚠️ Update maplibre-gl-style-spec to version 25, which now throws an error with warning severity instead of silently failing on encoutering legacy expressions (#7792) (by @​HarelM)
  • ⚠️ 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)
  • ⚠️ zoomLevelsToOverscale default value was changed to 4 to support better handling of high level zoom with dense labels. This might have a side effect of changing a bit the results of queryRenderedFeatures and some rendering of polygon center label. To revert this change, set the value to undefined (#7537) (by @​HarelM)
  • ⚠️ Remove the second parameter from GeoJSONSource.setData (waitForCompletion) and remove the return value of this to allow future changes to the API (#7538) (by @​HarelM)

... (truncated)

Commits
  • 5bba02d Bump js version to 6.2.0 (#8110)
  • 0bb5a5f chore: enable @​vitest/eslint-plugin rules and fix what they found (#8105)
  • 6c0935a docs: add nested GeoJSON properties to v5-to-v6 migration guide (#8104)
  • 0dee187 chore(deps-dev): bump jsdom from 29.1.1 to 30.0.1 (#8080)
  • bb28a54 chore(deps-dev): bump undici from 7.28.0 to 7.29.0 (#8099)
  • 66316c4 chore(deps-dev): bump svgo from 4.0.1 to 4.0.2 (#8101)
  • d05352e chore(deps-dev): bump brace-expansion from 1.1.15 to 1.1.18 (#8100)
  • a54b1fb chore(deps-dev): bump devtools-protocol from 0.0.1670834 to 0.0.1672245 (#8097)
  • 5ec810e perf: cache terrain elevation sampling (#8025)
  • 8364005 Remove remaining rollup dependencies (#8093)
  • Additional commits viewable in compare view

@dependabot dependabot Bot added dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code labels Aug 5, 2026
@dependabot
dependabot Bot requested a review from robbiebyrd as a code owner August 5, 2026 14:08
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code labels Aug 5, 2026
@github-actions

github-actions Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

⚠️ Playwright E2E — 0 passed · 10 failed · 0 flaky · 0 skipped

Full report

@github-actions

github-actions Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

⚠️ Playwright E2E — 0 passed · 10 failed · 0 flaky · 0 skipped

Full report

@dependabot @github

dependabot Bot commented on behalf of github Aug 12, 2026

Copy link
Copy Markdown
Contributor Author

A newer version of maplibre-gl exists, but since this PR has been edited by someone other than Dependabot I haven't updated it. You'll get a PR for the updated version as normal once this PR is merged.

@robbiebyrd

Copy link
Copy Markdown
Collaborator

@dependabot recreate

Bumps [maplibre-gl](https://github.com/maplibre/maplibre-gl-js) from 5.24.0 to 6.2.0.
- [Release notes](https://github.com/maplibre/maplibre-gl-js/releases)
- [Changelog](https://github.com/maplibre/maplibre-gl-js/blob/main/CHANGELOG.md)
- [Commits](maplibre/maplibre-gl-js@v5.24.0...v6.2.0)

---
updated-dependencies:
- dependency-name: maplibre-gl
  dependency-version: 6.1.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot changed the title chore(deps): bump maplibre-gl from 5.24.0 to 6.1.0 chore(deps): bump maplibre-gl from 5.24.0 to 6.2.0 Aug 13, 2026
@dependabot
dependabot Bot force-pushed the dependabot/npm_and_yarn/maplibre-gl-6.1.0 branch from b72e2e9 to 2952eb4 Compare August 13, 2026 14:25
@github-actions

Copy link
Copy Markdown
Contributor

⚠️ Playwright E2E — 0 passed · 11 failed · 0 flaky · 0 skipped

Full report

@robbiebyrd

Copy link
Copy Markdown
Collaborator

Superseded by #439 — closing. maplibre-gl 6.x ships ESM-only with a strict exports map, which breaks import maplibregl from "maplibre-gl" in FlightMap.tsx/WeatherMap.tsx (confirmed against MapLibre's own v5-to-v6 migration guide — the fix is a namespace import). #439 lands this same 5.24.0 → 6.2.0 bump with that fix applied, plus the oxlint migration needed to unblock the companion TypeScript 7 bump (#215).

@robbiebyrd robbiebyrd closed this Aug 18, 2026
@dependabot @github

dependabot Bot commented on behalf of github Aug 18, 2026

Copy link
Copy Markdown
Contributor Author

OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting @dependabot ignore this major version or @dependabot ignore this minor version. You can also ignore all major, minor, or patch releases for a dependency by adding an ignore condition with the desired update_types to your config file.

If you change your mind, just re-open this PR and I'll resolve any conflicts on it.

@dependabot
dependabot Bot deleted the dependabot/npm_and_yarn/maplibre-gl-6.1.0 branch August 18, 2026 17:47
@github-actions

Copy link
Copy Markdown
Contributor
PR Preview Action v1.8.1
Preview removed because the pull request was closed.
2026-08-18 17:48 UTC

robbiebyrd added a commit that referenced this pull request Aug 18, 2026
…maplibre-gl 6.2.0 (#439)

* chore(frontend): migrate eslint to oxlint, bump typescript 7.0.2 and maplibre-gl 6.2.0

typescript-eslint hard-refuses to run on TypeScript 7.x (dependabot PR #215
was blocked on this), so lint moves to oxlint, which has its own
TS/JSX parser independent of the installed typescript version. The
.oxlintrc.json reproduces the old eslint.config.js rule set 1:1
(react-hooks, react-refresh's only-export-components, jsx-a11y) and
explicitly disables oxlint's extra default-on rule categories (an
experimental React-Compiler-style rule set, plus extra jsx-a11y/unicorn
rules) that aren't part of prior CI behavior.

maplibre-gl 6.x (dependabot PR #346) ships ESM-only with a strict
exports map, which breaks `import maplibregl from "maplibre-gl"` per
the v5-to-v6 migration guide; switched FlightMap.tsx and WeatherMap.tsx
to `import * as maplibregl from "maplibre-gl"`.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

* chore(deps): close open Dependabot alerts (brace-expansion, immutable)

Removing eslint (and its glob/minimatch chain) already dropped
brace-expansion out of the tree entirely, but the repo's override floor
(>=5.0.6) predates the later 5.0.7/5.0.8/5.0.9 patches — bump it so a
future transitive reintroduction can't land a vulnerable version again.

immutable is pulled in transitively via sass-embedded (5.1.5, vulnerable
to two DoS advisories); add an override forcing >=5.1.8, same pattern
already used here for brace-expansion/undici/js-yaml/esbuild/@babel-core.
Resolves to 5.1.9.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

* fix(frontend): wire maplibre-gl 6.x worker URL explicitly for Vite

Reported after push: Flight Tracker's map failed to load in the browser
with maplibre-gl-worker.mjs 404s. maplibre-gl 6.x self-locates its
worker script off its own import.meta.url at runtime; Vite's dev-server
dependency optimizer pre-bundles maplibre-gl.mjs into node_modules/.vite/
deps/ without the worker file alongside it, so the default resolution
404s and the map silently falls back to slower main-thread tile parsing
(this is why it wasn't caught by the earlier browser check — the map
still rendered, just without vector-tile worker offload).

Fix is MapLibre's own documented Vite integration: import the worker
script via Vite's `?worker&url` suffix and hand it to setWorkerUrl()
before constructing any Map. Verified via network trace that the worker
now resolves (200) in dev and gets emitted as its own asset on build.

Test mocks for "maplibre-gl" needed a setWorkerUrl stub added since the
module now calls it at import time.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

---------

Co-authored-by: Robbie Byrd <robbie.byrd@level.co>
Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant