Skip to content

[CHORE](deps)(deps): Bump maplibre-gl from 5.24.0 to 6.0.0 - #465

Merged
John McCall (lowlydba) merged 5 commits into
mainfrom
dependabot/npm_and_yarn/maplibre-gl-6.0.0
Aug 5, 2026
Merged

[CHORE](deps)(deps): Bump maplibre-gl from 5.24.0 to 6.0.0#465
John McCall (lowlydba) merged 5 commits into
mainfrom
dependabot/npm_and_yarn/maplibre-gl-6.0.0

Conversation

@dependabot

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

Copy link
Copy Markdown
Contributor

Bumps maplibre-gl from 5.24.0 to 6.0.0.

Release notes

Sourced from maplibre-gl's releases.

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)
  • ⚠️ The TypeScript target has been updated to ES2022. This results in smaller bundles and improved runtime performance by relying on modern JavaScript features and reducing transpilation. Consumers targeting browsers or using some tooling released before 2022 may need to transpile MapLibre or update. This change also aligns all internal build configurations to a single target instead of ES2016 + ES2019, avoiding inconsistencies in emitted code. (#7404) (by @​CommanderStorm)
  • ⚠️ WebGL (v1) support has been removed; WebGL2 is now required. In practical terms, this will not change how you interact with the map. This enables performance improvements (e.g. line opacity), Terrain3D enhancements, and several bug fixes. WebGL2 support has been widely available for years, and usage of the legacy path had plateaued, so maintaining it no longer justified the added complexity. To ease this breaking change, we have also refactored how we handle the case that no webgl is avaliable (e.g. due to browser restrictions). You can now listen to the webgl error via .on("error"). See caniuse.com/webgl2 for ecosystem support and our RFC for details. (#7453) (by @​CommanderStorm)
  • ⚠️ Support geojson nested objects, this is a breaking change as it encodes __$json__ before properties that used to be an object. It also parses them back, but this is still a breaking change if you assumed this bug existed. (#6992) (by HarelM)
  • ⚠️ Improve types for {get,set}LayoutProperty, {get,set}PaintProperty to be the actual type instead of string/any (#7481) (by @​CommanderStorm)
  • ⚠️ Refactored the Hash-based location control (the option that syncs map state to the URL like #map=5/1/2) to use URLSearchParams internally. This improves extensibility for custom use cases, but may break existing code that relies on the previous implementation. It also changes how certain edge cases are parsed—for example, strings like [#10](https://github.com/maplibre/maplibre-gl-js/issues/10)%2F3.00%2F-1.00 are now accepted, and hashes like #foo are normalized to #foo=. (#7073) (by @​CommanderStorm)
  • 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)
  • 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)
  • Add RasterTileSource#setPremultiplyAlpha(false) to preserve raw RGBA tile values when alpha is used for data instead of opacity (#7235) (by @​plantain).
  • 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)
  • 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)
  • 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)
  • Revert the line-opacity-driven offscreen rendering introduced in #7490 (#7764) (by @​CommanderStorm). The overlap-artefact fix is now driven by line-layer-opacity instead.
  • Improve ProjectionData matrix backing types for renderer and custom layer projection matrices (#6316) (by @​cat0825)
  • Optimization: vertex shader opacity culling for lines and fills #7711 (by @​xavierjs)
  • Use a shared FBO for the terrain cache render to texture #7637 (by @​xavierjs)
  • Use flat to opt out of interpolation for constant shader varyings (#7661) (by @​birkskyum)
  • Replace texImage2D with texStorage2D for immutable textures (#7643) (by @​birkskyum)
  • Enable mipmaps for non-power-of-two raster tiles, reducing aliasing at high pitch (#7641) (by @​birkskyum)
  • Use GLSL ES 3.00 layout qualifiers for vertex attribute locations, replacing runtime bindAttribLocation calls (#7644) (by @​birkskyum)
  • Adopt isolatedDeclarations and switch dts emitter from tsgo to oxc (#7566) (by @​birkskyum)
  • Improve 3D terrain performance (#7549) (by @​lucaswoj)

... (truncated)

Changelog

Sourced from maplibre-gl's changelog.

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)
  • ⚠️ The TypeScript target has been updated to ES2022. This results in smaller bundles and improved runtime performance by relying on modern JavaScript features and reducing transpilation. Consumers targeting browsers or using some tooling released before 2022 may need to transpile MapLibre or update. This change also aligns all internal build configurations to a single target instead of ES2016 + ES2019, avoiding inconsistencies in emitted code. (#7404) (by @​CommanderStorm)
  • ⚠️ WebGL (v1) support has been removed; WebGL2 is now required. In practical terms, this will not change how you interact with the map. This enables performance improvements (e.g. line opacity), Terrain3D enhancements, and several bug fixes. WebGL2 support has been widely available for years, and usage of the legacy path had plateaued, so maintaining it no longer justified the added complexity. To ease this breaking change, we have also refactored how we handle the case that no webgl is avaliable (e.g. due to browser restrictions). You can now listen to the webgl error via .on("error"). See caniuse.com/webgl2 for ecosystem support and our RFC for details. (#7453) (by @​CommanderStorm)
  • ⚠️ Support geojson nested objects, this is a breaking change as it encodes __$json__ before properties that used to be an object. It also parses them back, but this is still a breaking change if you assumed this bug existed. (#6992) (by HarelM)
  • ⚠️ Improve types for {get,set}LayoutProperty, {get,set}PaintProperty to be the actual type instead of string/any (#7481) (by @​CommanderStorm)
  • ⚠️ Refactored the Hash-based location control (the option that syncs map state to the URL like #map=5/1/2) to use URLSearchParams internally. This improves extensibility for custom use cases, but may break existing code that relies on the previous implementation. It also changes how certain edge cases are parsed—for example, strings like [#10](https://github.com/maplibre/maplibre-gl-js/issues/10)%2F3.00%2F-1.00 are now accepted, and hashes like #foo are normalized to #foo=. (#7073) (by @​CommanderStorm)
  • 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)
  • 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)
  • Add RasterTileSource#setPremultiplyAlpha(false) to preserve raw RGBA tile values when alpha is used for data instead of opacity (#7235) (by @​plantain).
  • 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)
  • 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)
  • 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)
  • Revert the line-opacity-driven offscreen rendering introduced in #7490 (#7764) (by @​CommanderStorm). The overlap-artefact fix is now driven by line-layer-opacity instead.
  • Improve ProjectionData matrix backing types for renderer and custom layer projection matrices (#6316) (by @​cat0825)
  • Optimization: vertex shader opacity culling for lines and fills #7711 (by @​xavierjs)
  • Use a shared FBO for the terrain cache render to texture #7637 (by @​xavierjs)
  • Use flat to opt out of interpolation for constant shader varyings (#7661) (by @​birkskyum)
  • Replace texImage2D with texStorage2D for immutable textures (#7643) (by @​birkskyum)
  • Enable mipmaps for non-power-of-two raster tiles, reducing aliasing at high pitch (#7641) (by @​birkskyum)
  • Use GLSL ES 3.00 layout qualifiers for vertex attribute locations, replacing runtime bindAttribLocation calls (#7644) (by @​birkskyum)
  • Adopt isolatedDeclarations and switch dts emitter from tsgo to oxc (#7566) (by @​birkskyum)
  • Improve 3D terrain performance (#7549) (by @​lucaswoj)

... (truncated)

Commits
  • 14dfbcf Bump js version to 6.0.0 (#7983)
  • 422815f chore(deps-dev): bump shell-quote from 1.8.4 to 1.10.0 (#7982)
  • e8e8999 chore(deps-dev): bump autoprefixer from 10.5.2 to 10.5.4 (#7969)
  • d28b4f9 chore(deps): bump github/codeql-action/autobuild from 4.37.0 to 4.37.1 (#7978)
  • ed0909f chore(deps): bump github/codeql-action/init from 4.37.0 to 4.37.1 (#7972)
  • 8959eee docs: Vite worker snippet needs ?worker&url, not ?url (#7981)
  • 7997dbd chore(deps): bump actions/checkout from 7.0.0 to 7.0.1 (#7979)
  • c2bb9e6 chore(deps-dev): bump vite from 8.1.4 to 8.1.5 (#7975)
  • 91c9dc4 chore(deps): bump zensical/zensical from 0.0.50 to 0.0.51 (#7977)
  • fa56dd5 chore(deps): bump github/codeql-action/analyze from 4.37.0 to 4.37.1 (#7976)
  • Additional commits viewable in compare view

@dependabot dependabot Bot added the bot label Aug 4, 2026
@dependabot
dependabot Bot requested a review from a team as a code owner August 4, 2026 21:44
@dependabot dependabot Bot added the bot label Aug 4, 2026
@github-actions

github-actions Bot commented Aug 4, 2026

Copy link
Copy Markdown

Super-linter summary

Language Validation result
JAVASCRIPT_ES Pass ✅
MARKDOWN Pass ✅
NATURAL_LANGUAGE Fail ❌
SQLFLUFF Pass ✅

Super-linter detected linting errors

For more information, see the GitHub Actions workflow run

Powered by Super-linter

NATURAL_LANGUAGE

/github/workspace/docs/schema/reference/base/land_use.md
  53:74  ✓ error  Incorrect term: “Key/value”, use “Key-value” instead  terminology

/github/workspace/docs/schema/reference/base/infrastructure.md
  48:74  ✓ error  Incorrect term: “Key/value”, use “Key-value” instead  terminology

/github/workspace/docs/schema/reference/base/land.md
  58:74  ✓ error  Incorrect term: “Key/value”, use “Key-value” instead  terminology

/github/workspace/docs/schema/reference/base/types/source_tags.md
  3:1  ✓ error  Incorrect term: “Key/value”, use “Key-value” instead  terminology

/github/workspace/docs/schema/reference/base/water.md
  69:74  ✓ error  Incorrect term: “Key/value”, use “Key-value” instead  terminology

/github/workspace/docs/schema/reference/places/place.md
  40:89  ✓ error  Incorrect term: “websites”, use “sites” instead  terminology

/github/workspace/docs/schema/reference/system/snake_case_string.md
  3:28  ✓ error  Incorrect term: “snake case”, use “snake_case” instead  terminology
  9:38  ✓ error  Incorrect term: “snake case”, use “snake_case” instead  terminology

/github/workspace/docs/schema/reference/system/ref/id.md
  1:3  ✓ error  Incorrect term: “Id”, use “ID” instead  terminology

✖ 9 problems (9 errors, 0 warnings, 0 infos)
✓ 9 fixable problems.
Try to run: $ textlint --fix [file]

Bumps [maplibre-gl](https://github.com/maplibre/maplibre-gl-js) from 5.24.0 to 6.0.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.0.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot
dependabot Bot force-pushed the dependabot/npm_and_yarn/maplibre-gl-6.0.0 branch from a4637ba to 3956dd4 Compare August 5, 2026 15:17
@lowlydba

Copy link
Copy Markdown
Contributor

Copilot This major bump broke things - assess errors, check migration notes from maplibre, try to get this in shape.

Co-authored-by: lowlydba <16843041+lowlydba@users.noreply.github.com>
@github-actions

github-actions Bot commented Aug 5, 2026

Copy link
Copy Markdown

🗺️ OMF Docs previews are live!

🆕 Auto-gen schema site (beta) https://staging.overturemaps.org/docs/pr/465/index.html
🗂️ Auto-gen schema ref main@7cd540d
🌍 Repo schema site https://staging.overturemaps.org/docs/pr/465-no-autogen/index.html
🕐 Updated Aug 05, 2026 17:11 UTC
📝 Commit 2f6f5ff

Auto-gen schema site is now available. This is an early preview of a future workflow where we will automatically generate and publish reference docs for the Overture Maps Format schema.

The auto-gen schema site may contain incomplete or inaccurate information as we are still refining the generation process, so please compare against the repo schema site and refer to the official Overture documentation for authoritative information.

Note

♻️ This preview updates automatically with each push to this PR.

* [BUG] fix maplibre-gl v6 map embeds not rendering

maplibre-gl v6 ships ESM-only. Its worker (maplibre-gl-worker.mjs)
statically imports a sibling chunk (maplibre-gl-shared.mjs), and per the
v5->v6 migration guide, bundler consumers must call setWorkerUrl()
explicitly since import.meta.url no longer resolves the worker inside a
bundle.

Rspack's asset handling for new URL(..., import.meta.url) only emits the
referenced file, not its sibling import, so maplibre-gl-shared.mjs 404s
(silently, since the dev server's SPA fallback serves index.html for the
missing path with a text/html content type). The worker then fails an
opaque module load, the map never fires load/idle, and nothing past the
background layer paints, matching the blank map on the branch deploy.

Copy both worker files verbatim into static/ via a prestart/prebuild
script instead, and point setWorkerUrl() at that static path with
useBaseUrl() so it respects the site's baseUrl in PR preview deploys.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Signed-off-by: John McCall <john@overturemaps.org>

* Chain worker copy into build/start instead of npm pre-hooks

sustainable-npm@v3.0.0 defaults ignore-scripts to true in CI, which
silently skips npm's automatic pre/post lifecycle hooks (prestart,
prebuild) while still running the script explicitly invoked by npm run.
That's why static/maplibre never got populated on the staging PR
preview even though the fix worked locally.

Verified by setting ignore-scripts=true locally and confirming
npm run build still copies the worker files into build/maplibre.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Signed-off-by: John McCall <john@overturemaps.org>

---------

Signed-off-by: John McCall <john@overturemaps.org>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: lowlydba <16843041+lowlydba@users.noreply.github.com>
…ease

Send a real User-Agent (CloudFront 403s Python-urllib from Actions runners),
retry the STAC fetch, and source the fallback release from docusaurus.config.js
so there's a single pin to keep fresh.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Signed-off-by: John McCall <john@overturemaps.org>
@lowlydba
John McCall (lowlydba) merged commit 040b301 into main Aug 5, 2026
19 of 21 checks passed
@lowlydba
John McCall (lowlydba) deleted the dependabot/npm_and_yarn/maplibre-gl-6.0.0 branch August 5, 2026 17:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants