Skip to content

Releases: mapbox/mapbox-gl-js

v3.26.0

Choose a tag to compare

@dcoj dcoj released this 09 Jul 15:11

Breaking changes ⚠️

  • Remove transition and interpolated flags from the camera-projection style property — enum properties cannot be transitioned, so these flags were incorrect.

Features and improvements ✨

  • Make published TypeScript declarations self-contained, fixing consumer builds that failed with skipLibCheck: false.
  • Improve terrain raycast accuracy for mouse events, camera fitting, and other pointer interactions.
  • Improve landmark model LOD switching with size-based distance heuristics for better rendering performance.

Bug fixes 🐞

  • Fix hd-road-markup elevated lines rendering flat with zero-exaggeration terrain.
  • Fix viewport-y symbol sorting causing a Vertex buffer is not big enough for the draw call error when a symbol bucket had multiple segments.
  • Fix multilinestrings not displaying labels correctly.
  • Fix parametric colors sometimes loading the wrong cached image.

v3.26.0-rc.1

v3.26.0-rc.1 Pre-release
Pre-release

Choose a tag to compare

@dcoj dcoj released this 01 Jul 09:59

Breaking changes ⚠️

  • Remove transition and interpolated flags from the camera-projection style property — enum properties cannot be transitioned, so these flags were incorrect.

Features and improvements ✨

  • Make published TypeScript declarations self-contained, fixing consumer builds that failed with skipLibCheck: false.
  • Improve terrain raycast accuracy for mouse events, camera fitting, and other pointer interactions.
  • Improve landmark model LOD switching with size-based distance heuristics for better rendering performance.

Bug fixes 🐞

  • Fix hd-road-markup elevated lines rendering flat with zero-exaggeration terrain.
  • Fix viewport-y symbol sorting causing a Vertex buffer is not big enough for the draw call error when a symbol bucket had multiple segments.
  • Fix multilinestrings not displaying labels correctly.
  • Fix parametric colors sometimes loading the wrong cached image.

v3.25.0

Choose a tag to compare

@stepankuzmin stepankuzmin released this 17 Jun 11:48

Breaking changes ⚠️

  • Switch the ESM entry point to named exports (import * as mapboxgl from 'mapbox-gl/esm') so that modern bundlers can eliminate small unused parts of the code. Replace mapboxgl.accessToken with Map accessToken option. Most of the bundle still can't be statically eliminated, but this release also improves lazy loading of code at runtime, with more improvements on the way.

Features and improvements ✨

  • Extend Map getLayerProperty and setLayerProperty to support layer-level properties (minzoom, maxzoom, filter, slot, appearances)
  • Extend TileProvider API to accept ImageBitmap for raster and raster-dem providers.
  • Improve model loading and rendering performance.
  • Improve symbol rendering performance.
  • Improve performance of decoding and encoding vector tiles and other protobuf-encoded assets.
  • Improve color parsing performance, slightly improving load time for styles with many color values.
  • Extract indoor and part of the model rendering code to be loaded on demand when using the ESM entry point.
  • Add GeolocateControl ready event and setShowAccuracyCircle, setShowUserHeading, setFitBoundsOptions, setShowUserLocation methods.
  • Add KeyboardHandler disablePan/enablePan methods.
  • Add DragRotateHandler disablePitch/enablePitch methods.
  • Add TouchZoomRotateHandler disableTapDragZoom/enableTapDragZoom methods.
  • Expose Map setLanguage, getLanguage, setWorldview, getWorldview as stable public methods (previously private).
  • Remove all direct dependencies from package.json slightly improving NPM install size and time.
  • Improve anti-aliasing for lines with borders.
  • Implement automatic conflation of regular and HD road data in preparation for future Mapbox Standard updates.

Bug fixes 🐞

  • Fix an issue that sometimes caused black boxes to appear instead of symbol icons.
  • Fix precision issues on tile borders for elevated roads.
  • Fix rendering issues for stacked underground roads.
  • Fix minor vulnerabilities related to Object prototype pollution from an untrusted style or tiles.
  • Fix the Cutoff is currently disabled on terrain warning on Standard style.
  • Fix appearance conditions validation to accept compound expressions.
  • Fix issues with model cutout fading via model-line-cutout-mode property.
  • Fix an issue with step expression evaluation for symbol layers.
  • Fix an issue with custom layer rendering alongside data-driven line-emissive-strength

v3.24.1

Choose a tag to compare

@stepankuzmin stepankuzmin released this 12 Jun 14:54

Bug fixes 🐞

  • Fix an issue with custom layer rendering alongside data-driven line-emissive-strength.

v3.25.0-rc.1

v3.25.0-rc.1 Pre-release
Pre-release

Choose a tag to compare

@stepankuzmin stepankuzmin released this 04 Jun 13:58

Breaking changes ⚠️

  • Switch the ESM entry point to named exports (import * as mapboxgl from 'mapbox-gl/esm') so that modern bundlers can eliminate small unused parts of the code. Replace mapboxgl.accessToken with Map accessToken option. Most of the bundle still can't be statically eliminated, but this release also improves lazy loading of code at runtime, with more improvements on the way.

Features and improvements ✨

  • Extend Map getLayerProperty and setLayerProperty to support layer-level properties (minzoom, maxzoom, filter, slot, appearances)
  • Extend TileProvider API to accept ImageBitmap for raster and raster-dem providers.
  • Improve model loading and rendering performance.
  • Improve symbol rendering performance.
  • Improve performance of decoding and encoding vector tiles and other protobuf-encoded assets.
  • Improve color parsing performance, slightly improving load time for styles with many color values.
  • Extract indoor and part of the model rendering code to be loaded on demand when using the ESM entry point.
  • Add GeolocateControl ready event and setShowAccuracyCircle, setShowUserHeading, setFitBoundsOptions, setShowUserLocation methods.
  • Add KeyboardHandler disablePan/enablePan methods.
  • Add DragRotateHandler disablePitch/enablePitch methods.
  • Add TouchZoomRotateHandler disableTapDragZoom/enableTapDragZoom methods.
  • Expose Map setLanguage, getLanguage, setWorldview, getWorldview as stable public methods (previously private).
  • Remove all direct dependencies from package.json slightly improving NPM install size and time.
  • Improve anti-aliasing for lines with borders.
  • Implement automatic conflation of regular and HD road data in preparation for future Mapbox Standard updates.
  • Improve lightmap shading for model layers.

Bug fixes 🐞

  • Fix an issue that sometimes caused black boxes to appear instead of symbol icons.
  • Fix precision issues on tile borders for elevated roads.
  • Fix rendering issues for stacked underground roads.
  • Fix minor vulnerabilities related to Object prototype pollution from an untrusted style or tiles.
  • Fix the Cutoff is currently disabled on terrain warning on Standard style.
  • Fix appearance conditions validation to accept compound expressions.
  • Fix issues with model cutout fading via model-line-cutout-mode property.
  • Fix an issue with step expression evaluation for symbol layers.
  • Fix an issue with custom layer rendering alongside data-driven line-emissive-strength

v3.24.0

Choose a tag to compare

@ibesora ibesora released this 18 May 12:28

Features and improvements ✨

  • Introduce Level of Detail (LOD) support for landmark models, enabling automatic switching between model versions based on camera distance.
  • Support additive blend mode with clamped density by setting the line-blend-additive-clamp property.
  • Improve rendering performance by reducing per-frame matrix allocations.
  • Improve rendering performance via parallel shader compilation on supported devices.
  • Improve rendering performance by advancing shader precompilation.
  • Improve shadow rendering performance.
  • Improve vector icon loading performance.
  • Improve initial load by skipping redundant config-related style layers updates in Web Workers.
  • Improve initial load by rescheduling shader precompilation to occur during browser idle time after the map's idle event.
  • Improve model processing performance.
  • Improve performance and memory footprint by streamlining communication between the main thread and Web Workers.
  • Reduce first-interaction jank by optimizing shader compilation pipeline behavior.
  • Optimize expression parsing performance.
  • Improve an error messaging for the line-trim-offset property without lineMetrics.

Bug fixes 🐞

  • Fix LUT to properly work with premultiplied color.
  • Fix a potential memory leak and crash occurring when a map was destroyed.
  • Fix an issue where cross-fragments config values were not correctly updated.

v3.24.0-rc.1

v3.24.0-rc.1 Pre-release
Pre-release

Choose a tag to compare

@underoot underoot released this 06 May 11:04

Features and improvements ✨

  • Introduce Level of Detail (LOD) support for landmark models, enabling automatic switching between model versions based on camera distance.
  • Support additive blend mode with clamped density by setting the line-blend-additive-clamp property.
  • Improve rendering performance by reducing per-frame matrix allocations.
  • Improve rendering performance via parallel shader compilation on supported devices.
  • Improve rendering performance by advancing shader precompilation.
  • Improve shadow rendering performance.
  • Improve vector icon loading performance.
  • Improve initial load by skipping redundant config-related style layers updates in Web Workers.
  • Improve initial load by rescheduling shader precompilation to occur during browser idle time after the map's idle event.
  • Improve model processing performance.
  • Improve performance and memory footprint by streamlining communication between the main thread and Web Workers.
  • Reduce first-interaction jank by optimizing shader compilation pipeline behavior.
  • Optimize expression parsing performance.
  • Improve an error messaging for the line-trim-offset property without lineMetrics.

Bug fixes 🐞

  • Fix LUT to properly work with premultiplied color.
  • Fix a potential memory leak and crash occurring when a map was destroyed.

v3.23.1

Choose a tag to compare

@underoot underoot released this 04 May 13:17

Bug fixes 🐞

  • Fix a rendering error occurring with fill-extrusion layers when terrain is enabled in specific edge cases.

v3.23.0

Choose a tag to compare

@dcoj dcoj released this 29 Apr 12:56

Features and improvements ✨

  • Improve the performance of symbol layers on old devices.
  • Add TileProvider for raster and raster-dem sources, adding support for PMTiles with raster tiles.
  • Enable client-side fontstack compositing by default. When multiple fonts are requested they are now fetched individually and composited on the client.
  • Promote interactions API to stable.
  • Add a bundler-friendly ESM bundle in the NPM package (import mapboxgl from 'mapbox-gl/esm').
  • Lazy-load procedural buildings and precipitation code when using the ESM entry point.

Bug fixes 🐞

  • Fix values smaller than 1 in line-dasharray not working.
  • Fix a render issue where black boxes could appear instead of symbols briefly in some environments.
  • Fix scale-factor being applied twice to icons with feature-dependent icon-size.
  • Fix redundant WASM requests on map load when using the Standard style.
  • Fix hillshade rendering issue when using Safari in private browsing mode.

v3.23.0-rc.2

v3.23.0-rc.2 Pre-release
Pre-release

Choose a tag to compare

@dcoj dcoj released this 23 Apr 10:52

Bug fixes 🐞

  • Fix hillshade rendering issue when using Safari in private browsing mode.