Skip to content

Releases: mapbox/mapbox-gl-js

v3.21.0

02 Apr 17:20

Choose a tag to compare

Features and improvements ✨

  • Introduce the TileProvider API, a mechanism for extending GL JS with custom vector tile providers.
  • Add first-class support for PMTiles via the new TileProvider API and an official plugin (``mapbox-gl-pmtiles-provider.js`) that loads on demand.
  • Add experimental line-blend-mode property for rendering lines using additive or multiply blending.
  • Slightly improve overall map loading times.
  • Improve symbol layer rendering performance (by adopting Uniform Buffer Objects for data-driven properties).
  • Improve indoor maps loading performance.

Bug fixes 🐞

  • Fix dragging gesture not working on the compass control.
  • Various fixes and improvements for the Appearances API.
  • Fix an edge case when combining custom icons with images included in the style's sprite.
  • Fix setWorldview not updating layout properties correctly.
  • Fix an issue when rendering stacked underground 3D roads.
  • Fix line dashes with non-integer total array lengths.
  • Fix various rendering issues when using *-cutoff-fade-range properties.
  • Fix clip layer not clipping fill-extrusion ambient occlusion.

Breaking changes ⚠️

  • Removed mapbox-gl-unminified.js bundle in the distribution — please switch to either mapbox-gl.js, mapbox-gl-dev.js, or the new esm-min/mapbox-gl.js ESM bundle.
  • Removed spriteFormat Map option — now Mapbox styles will always use vector icons, while non-Mapbox styles will continue using classic raster sprites.

v3.21.0-rc.1

26 Mar 15:06

Choose a tag to compare

v3.21.0-rc.1 Pre-release
Pre-release

Features and improvements ✨

  • Introduce the TileProvider API, a mechanism for extending GL JS with custom vector tile providers.
  • Add first-class support for PMTiles via the new TileProvider API and an official plugin (mapbox-gl-pmtiles-provider.js) that loads on demand.
  • Add experimental line-blend-mode property for rendering lines using additive or multiply blending.
  • Slightly improve overall map loading times.
  • Improve symbol layer rendering performance (by adopting Uniform Buffer Objects for data-driven properties).
  • Improve indoor maps loading performance.

Bug fixes 🐞

  • Fix dragging gesture not working on the compass control.
  • Various fixes and improvements for the Appearances API.
  • Fix an edge case when combining custom icons with images included in the style's sprite.
  • Fix setWorldview not updating layout properties correctly.
  • Fix an issue when rendering stacked underground 3D roads.
  • Fix line dashes with non-integer total array lengths.
  • Fix various rendering issues when using *-cutoff-fade-range properties.

Breaking changes ⚠️

  • Removed mapbox-gl-unminified.js bundle in the distribution — please switch to either mapbox-gl.js, mapbox-gl-dev.js, or the new esm-min/mapbox-gl.js ESM bundle.
  • Removed spriteFormat Map option — now Mapbox styles will always use vector icons, while non-Mapbox styles will continue using classic raster sprites.

v3.20.0

12 Mar 11:01

Choose a tag to compare

Features and improvements ✨

  • Improve memory efficiency by sharing image resources for symbol layers across map tiles.

Bug fixes 🐞

  • Fix icons disappearing when changing the color theme.
  • Fix display of symbols added via the Appearances runtime API.

v3.20.0-rc.2

06 Mar 10:03

Choose a tag to compare

v3.20.0-rc.2 Pre-release
Pre-release

Bug fixes 🐞

  • Fix icons disappearing when changing the color theme.

v3.20.0-rc.1

05 Mar 08:58

Choose a tag to compare

v3.20.0-rc.1 Pre-release
Pre-release

Features and improvements ✨

  • Improve memory efficiency by sharing image resources for symbol layers across map tiles.

Bug fixes 🐞

  • Fix display of symbols added via the Appearances runtime API.

v3.19.1

04 Mar 09:31

Choose a tag to compare

Bug fixes 🐞

  • Removed the unused @types/mapbox__point-geometry package that was causing some Typescript builds to fail

v3.19.0

25 Feb 12:41

Choose a tag to compare

3.19.0

Features and improvements ✨

  • Promote elevated lines properties to stable: line-z-offset and line-elevation-reference.
  • Add experimental text-size-scale-range and icon-size-scale-range style properties.
  • Add experimental Map#setScaleFactor/Map#getScaleFactor methods for controlling symbol layer scaling.
  • Apply global scale factor to images within text-field.
  • Fix z-fighting for elevated raster layers.
  • Add raster-elevation-reference paint property to elevate raster layers relative to ground instead of sea level.
  • Add line-elevation-ground-scale layout property to scale elevated lines with terrain exaggeration.
  • Use native async/await when loading models. Note: Please ensure GL JS is excluded from transpilation in your build setup.
  • Explicitly state minimum supported browser versions in browserslist.
  • Support pitch and distance expressions in filters.
  • Support incremental updates when using setFeatureState.
  • Add experimental Map#setNearClipOffset/Map#getNearClipOffset methods to control the near clip offset when ortohographic projections are used.

Bug fixes 🐞

  • Fix RasterArrayTileSource#reload() not working correctly.
  • Add request cancellation support to the ModelSource.
  • Fix flickering of aliased thin lines.
  • Fix elevated line bevel join artifacts at sharp corners.
  • Fix regressions in NavigationControl.
  • Fix namespace conflicts in different featuresets' selectors.
  • Recalculate layers with visibility: none in case properties were changed.
  • Fix bug in border update logic of fill-extrusion layer, overriding clip layer's behaviour.
  • Fix empty tiles on non-integer maxZoom when terrain was used.
  • Fix prototype pollution via Style JSON.

v3.19.0-beta.2

11 Feb 15:25

Choose a tag to compare

v3.19.0-beta.2 Pre-release
Pre-release

Features and improvements ✨

  • Promote elevated lines properties to stable: line-z-offset and line-elevation-reference.
  • Add experimental text-size-scale-range and icon-size-scale-range style properties.
  • Add experimental Map#setScaleFactor/Map#getScaleFactor methods for controlling symbol layer scaling.
  • Apply global scale factor to images within text-field.

Bug fixes 🐞

  • Fix RasterArrayTileSource#reload() not working correctly.
  • Add request cancellation support to the ModelSource.
  • Fix flickering of aliased thin lines.
  • Fix elevated line bevel join artifacts at sharp corners.

v3.19.0-beta.1

29 Jan 10:56

Choose a tag to compare

v3.19.0-beta.1 Pre-release
Pre-release

Features and improvements ✨

  • Fix z-fighting for elevated raster layers.
  • Add raster-elevation-reference paint property to elevate raster layers relative to ground instead of sea level.
  • Add line-elevation-ground-scale layout property to scale elevated lines with terrain exaggeration.
  • Use native async/await when loading models. Note: Please ensure GL JS is excluded from transpilation in your build setup.
  • Explicitly state minimum supported browser versions in browserslist.

Bug fixes 🐞

  • Fix regressions in NavigationControl.
  • Fix namespace conflicts in different featuresets' selectors.
  • Recalculate layers with visibility: none in case properties were changed.
  • Fix bug in border update logic of fill-extrusion layer, overriding clip layer's behaviour.

v3.18.1

22 Jan 12:18

Choose a tag to compare

Features and improvements ✨

  • Add support for visibility property in clip layers.
  • Improve raster-color precision for fine-grained value ranges.

Bug fixes 🐞

  • Fix color interpolation throwing errors in edge cases.
  • Fix appearances with no icon-size.
  • Fix disappearing symbols when used with elevated raster layers.