releases.shpreview
Mapbox/Mapbox GL JS

Mapbox GL JS

$npx @buildinternet/releases show mapbox-gl-js
Mon
Wed
Fri
MayJunJulAugSepOctNovDecJanFebMarApr
Less
More
Releases14Avg4/moVersionsv3.19.0-beta.1 → v3.23.0
Nov 5, 2025

Features and improvements ✨

  • Experimental ESM support.
  • Remove experimental flag from model layer.
  • Conflate building parts together as a whole building.

Bug fixes 🐞

  • Fix line patterns not elevating properly on HD roads.
  • Sanitize attributions in AttributionControl.
  • Fix appearance optimization that resulted in wrong appearances being rendered.
Oct 23, 2025

Features and improvements ✨

  • Introduce experimental Appearances API for managing layer styling based on feature state.
  • Add Map setLayerProperty that combines setLayoutProperty & setPaintProperty into one method for convenience.
  • Add support for node/material overrides & other improvements to model source and layer.
  • Various improvements & fixes for upcoming 3D features (indoor, procedural buildings & elevated roads).
  • Add response headers to the sourcedata event data.
  • Improve TypeScript types for style specification.

Bug fixes 🐞

  • Fix raster particle layer not rendering correctly on styles with emissive light.
  • Fix icons of different sizes rendering incorrectly in appearances.
  • Fix worldview filtering with dynamic expressions.
  • Improve accuracy of queryRenderedFeatures for model layers.
  • Fix a bug with heatmap sometimes disappearing after switching projection.
  • Fix rendering of model layer with vector source on globe projection.
  • Fix flickering of fill-extrusion buildings when using clip layers.
  • Fix inaccuracies in 3D model query intersection.
  • Fix the passing of GeolocationPosition to geolocate event listeners.
  • Fix the placement of line-aligned text with a non-default scaleFactor.
Oct 9, 2025

Features and improvements ✨

  • Introduce experimental Appearances API for managing layer styling based on feature state.
  • Add Map setLayerProperty that combines setLayoutProperty & setPaintProperty into one method for convenience.
  • Add support for node/material overrides & other improvements to model source and layer.
  • Various improvements & fixes for upcoming 3D features (indoor, procedural buildings & elevated roads).

Bug fixes 🐞

  • Improve accuracy of queryRenderedFeatures for model layers.
  • Fix a bug with heatmap sometimes disappearing after switching projection.
  • Fix rendering of model layer with vector source on globe projection.
Sep 24, 2025

Features and improvements ✨

  • Add response headers to the sourcedata event data.
  • Improve TypeScript types for style specification.

Bug fixes 🐞

  • Fix flickering of fill-extrusion buildings when using clip layers.
  • Fix inaccuracies in 3D model query intersection.
  • Fix the passing of GeolocationPosition to geolocate event listeners.
  • Fix the placement of line-aligned text with a non-default scaleFactor.
Sep 10, 2025

3.15.0

Features and improvements ✨

  • Add queryRasterValue method for querying values in raster-array layers.
  • Add icon-image-use-theme property.
  • Add support for Mapbox vector tiles with precalculated line metrics (for line gradients).
  • Improve HD Roads loading performance.
  • Optimize applying LUT when updating images at runtime.
  • Improve TypeScript types in Style Spec validation methods.
  • Slightly improve hsla expression performance.
  • Optimize applying LUT for patterns.
  • Round queryRasterValue results to 12 decimal digits to fix precision issues.
  • Improvements on typing and testing.

Bug fixes 🐞

  • Fix an issue with refreshing expired raster array tiles.
  • Fix an error on GeoJSON with "Infinity" and similar ids.
  • Fix GL_INVALID_VALUE console warning on Mapbox Satellite Standard and a few other styles.
  • Fix model layer positioning during globe to mercator transition.
  • Fix an issue with incorrect transparency for some icons with LUT applied.
  • Fix an issue where updating *-occlusion-opacity properties didn't have any effect.
  • Fix an issue with MRT layers throwing an error when reloading.
  • Fix occlusion layer ordering.
  • Fix an issue where using too many data-driven properties on the symbol layer could break the map.
  • Fix gradients and interpolations with fully-transparent colors.
  • Fix model layer density reduction.
  • Fix performance regression on styles that use feature-state expressions.
Aug 25, 2025

3.15.0-beta.2

Features and improvements ✨

  • Slightly improve hsla expression performance.
  • Optimize applying LUT for patterns.
  • Round queryRasterValue results to 12 decimal digits to fix precision issues.

Bug fixes 🐞

  • Fix an error on GeoJSON with `"Infinity"`` and similar ids.
  • Fix GL_INVALID_VALUE console warning on Mapbox Satellite Standard and a few other styles.
  • Fix model layer positioning during globe to mercator transition.
  • Fix an issue with incorrect transparency for some icons with LUT applied.
  • Fix an issue where updating *-occlusion-opacity properties didn't have any effect.
Aug 13, 2025

Features and improvements ✨

  • Add queryRasterValue method for querying values in raster-array layers.
  • Add icon-image-use-theme property.
  • Add support for Mapbox vector tiles with precalculated line metrics (for line gradients).
  • Improve HD Roads loading performance.
  • Optimize applying LUT when updating images at runtime.
  • Improve TypeScript types in Style Spec validation methods.

Bug fixes 🐞

  • Fix an issue with refreshing expired raster array tiles.
Jul 30, 2025

Breaking changes ⚠️

  • Imported styles will use the glyphs URL template from the root style instead of their own.

Features and improvements ✨

  • Add a split expression to divide a string into an array of substrings based on a specified delimiter.
  • Improve memory usage for GeoJSON sources.

Bug fixes 🐞

  • Fix an issue with querying rendered features during the globe-to-Mercator transition.
  • Fix resources cleanup when removing a map with a terrain or/and vector icons.
  • Fix an issue where a single primary image was not rendered correctly with icon-image-cross-fade.
  • Fix an edge case involving the mixing of vertical and horizontal writing modes.
  • Fix rendering of multiple raster layers from a single raster-array source.
  • Fix restoration of maps with background patterns, heatmap, image, video, or raster sources after WebGL context loss.
  • Fix memory spike when calling setData on large datasets.
Jul 23, 2025

Bug fixes 🐞

  • Fix rendering of multiple raster layers from a single raster-array source.
  • Fix restoration of maps with background patterns, heatmap, image, video, or raster sources after WebGL context loss.
Jul 17, 2025

Breaking changes ⚠️

  • Imported styles will use the glyphs URL template from the root style instead of their own.

Features and improvements ✨

  • Add a split expression to divide a string into an array of substrings based on a specified delimiter.
  • Improve memory usage for GeoJSON sources.

Bug fixes 🐞

  • Fix an issue with querying rendered features during the globe-to-Mercator transition.
  • Fix resources cleanup when removing a map with a terrain or/and vector icons.
  • Fix an issue where a single primary image was not rendered correctly with icon-image-cross-fade.
  • Fix an edge case involving the mixing of vertical and horizontal writing modes.
Jun 17, 2025

Breaking changes ⚠️

  • interpolate expression will interpolate between non-alpha-premultiplied colors. The change might affect raster-particle-color, line-gradient, and heatmap-color.
  • rgb expression will return non-premultiplied-alpha color.

Features and improvements ✨

  • Add the ["worldview"] expression, which returns the current worldview of the map.
  • Add model-translation support for batched model layers.
  • Improve indoor level interaction.
  • Add support of gradient transforms in the fill style of vector icons.

Bug fixes 🐞

  • Fix querying and styling issues with multiple model layers referencing the same source.
  • Fix mapbox-gl-rtl-text v0.3.0 plugin not loading in certain configurations.
  • Fix icons with text-variable-anchor disappearing.
  • Fix minor distortions on vector icons in some cases.
  • Fix zooming over terrain with negative altitude values.
  • Fix interactions to not throw on mouseleave without mouseenter.
  • Fix shadow rendering issues on underground structures.
  • Fix striping artifacts when rendering shadows on some GPU configurations.
  • Fix errors when viewing a style with filtered model layers.
  • Fix parsing of color-use-theme property of 3D lights.
  • Fix feature-dependent config expressions (h/t @brncsk) #13453.
  • Fix reset of the indoor floorplan selection after moving the camera.
  • Fix excessive rerendering of the map after setStyle with the same URL of an import.
  • Fix source reloading during mercator-globe transition with terrain.
  • Fix color of semi-transparent vector icons.

Workflow 🛠️

  • Switched from CircleCI to GitHub Actions for continuous integration tests.
Jun 4, 2025

Breaking changes ⚠️

  • interpolate expression will interpolate between non-alpha-premultiplied colors. The change might affect raster-particle-color, line-gradient, and heatmap-color.
  • rgb expression will return non-premultiplied-alpha color.

Features and improvements ✨

  • Add the ["worldview"] expression, which returns the current worldview of the map.
  • Add model-translation support for batched model layers.
  • Improve indoor level interaction.
  • Add support of gradient transforms in the fill style of vector icons.

Bug fixes 🐞

  • Fix icons with text-variable-anchor disappearing.
  • Fix zooming over terrain with negative altitude values.
  • Fix interactions to not throw on mouseleave without mouseenter.
  • Fix errors when viewing a style with filtered model layers.
  • Fix parsing of color-use-theme property of 3D lights.
  • Fix feature-dependent config expressions (h/t @brncsk) #13453.
  • Fix reset of the indoor floorplan selection after moving the camera.
  • Fix excessive rerendering of the map after setStyle with the same URL of an import.
  • Fix source reloading during mercator-globe transition with terrain.
  • Fix color of semi-transparent vector icons.
May 8, 2025

Features and improvements ✨

  • Add experimental support for rendering 3D road intersections.
  • Add shadow rendering support for elevated lines.
  • Add wrapTileId property to CustomLayerInterface to control whether tile IDs are wrapped across world copies during rendering.
  • Add line-pattern-cross-fade, fill-pattern-cross-fade, and fill-extrusion-pattern-cross-fade properties for smooth transitions between pattern images.
  • Add support for extra_bounds in TileJSON for more fine-grained control over tile requests, particularly when dealing with sparse data coverage.
  • Improve performance by lazy loading 3D models.
  • Slightly improve JS bundle sizes.
  • Various TypeScript improvements.

Bug fixes 🐞

  • Fixed an issue where calling setData on symbol layers could cause flickering.
  • Expose CustomSourceInterface TypeScript type that was missing in the public interface.
  • Fix some edge cases related to rendering of elevated structures.
  • Relax line-gradient validation to work not only on GeoJSON, but also on vector tile sources if they have mapbox_clip_start and mapbox_clip_end properties precomputed.
  • Fix styleimagemissing event not firing in certain scenarios.
  • Fix rendering of fully stretchable vector icons.
  • Fix queryRenderedFeatures on Globe at low zoom levels.
Apr 24, 2025

Features and improvements ✨

  • Add experimental support for rendering 3D road intersections.
  • Add shadow rendering support for elevated lines.
  • Slightly improve JS bundle sizes.
  • Various TypeScript types improvements.

Bug fixes 🐞

  • Fixed an issue where calling setData on symbol layers could cause flickering.
  • Expose the CustomSourceInterface TypeScript type that is missing from the public interface.
  • Fix some edge cases related to the rendering of elevated structures.
  • Relax line-gradient validation to work not only on GeoJSON, but also on vector tile sources if they have mapbox_clip_start and mapbox_clip_end properties precomputed.

Bug fixes 🐞

  • Improve icon loading performance, in particular for landmark icons.
  • Fix undefined passed in Marker options not falling back to default values.
Apr 1, 2025

Breaking changes ⚠️

  • The at expression does not interpolate anymore. Please use at-interpolated if you want to keep the old behavior.

Features and improvements ✨

  • Add landmark icons. Landmark icons are stylized, uniquely designed POI icons that indicate the most popular and recognizable landmarks on the map. At the time of this release, we have landmarks for 5 cities: London, Berlin, New York City, San Francisco, and Tokyo.
  • Add at-interpolated expression as the interpolated counterpart to the at expression.
  • Add altitude marker property to adjust elevation. (h/t @yangtanyu) #13335.
  • Add getCooperativeGestures and setCooperativeGestures map methods to control cooperative gestures logic after the map is initialized.
  • Add getGlyphsUrl and setGlyphsUrl map methods to manage the glyphs endpoint URL.
  • Add pitchRotateKey map option to override the modifier key for rotate and pitch handlers.
  • Add filtering support for model layers.
  • Add support for vector icons color parameters with alpha values.

Bug fixes 🐞

  • Hide labels with unreadable angles.
  • Fix rendering of vector image in text on HiDPI screens.
  • Ensure Katakana and CJK symbols render correctly in vertical writing mode.
  • Fix popup position update on map move. (h/t @ThugRaven) #13412
  • Fix rendering of self-intersecting elevated lines.
  • Prevent line pattern from turning black at certain zoom levels when shadows are enabled.
  • Fix missing triangles in variable-width lines.
  • Improve Style-Spec validator types.
  • Fix reloading of tiles in style imports.
  • Fix issue where updated images were never cleared after patching them.
  • Fix rendering performance regression related to use-theme.
Mar 25, 2025

Breaking changes ⚠️

  • The at expression does not interpolate anymore. Please use at-interpolated if you want to keep the old behavior.

Features and improvements ✨

  • Add at-interpolated expression as the interpolated counterpart to the at expression.
  • Add altitude marker property to adjust elevation. (h/t @yangtanyu) #13335.
  • Add getCooperativeGestures and setCooperativeGestures map methods to control cooperative gestures logic after the map is initialized.
  • Add getGlyphsUrl and setGlyphsUrl map methods to manage the glyphs endpoint URL.
  • Add pitchRotateKey map option to override the modifier key for rotate and pitch handlers.
  • Add filtering support for model layers.

Bug fixes 🐞

  • Hide labels with unreadable angles.
  • Fix rendering of vector image in text on HiDPI screens.
  • Ensure Katakana and CJK symbols render correctly in vertical writing mode.
  • Fix popup position update on map move. (h/t @ThugRaven) #13412
  • Fix rendering of self-intersecting elevated lines.
  • Prevent line pattern from turning black at certain zoom levels when shadows are enabled.
Mar 19, 2025

Features and improvements ✨

  • Add at-interpolated expression as the interpolated counterpart to the at expression.
  • Add altitude marker property to adjust elevation. (h/t @yangtanyu) #13335.
  • Add getCooperativeGestures and setCooperativeGestures map methods to control cooperative gestures logic after the map is initialized.
  • Add getGlyphsUrl and setGlyphsUrl map methods to manage the glyphs endpoint URL.
  • Add pitchRotateKey map option to override the modifier key for rotate and pitch handlers.
  • Add filtering support for model layers.

Bug fixes 🐞

  • Hide labels with unreadable angles.
  • Fix rendering of vector image in text on HiDPI screens.
  • Ensure Katakana and CJK symbols render correctly in vertical writing mode.
  • Fix popup position update on map move. (h/t @ThugRaven) #13412
  • Fix rendering of self-intersecting elevated lines.
  • Prevent line pattern from turning black at certain zoom levels when shadows are enabled.
Feb 13, 2025

Features and improvements ✨

  • Add support for data-driven *-use-theme properties.
  • Improve rendering of complex SVG clip paths for vector icons.

Bug fixes 🐞

  • Fix issue where the close popup button was hidden from screen readers.
  • Fix updating of schema config values of imported styles.
  • Fix line placement symbol disappearing issue during transition from globe.
  • Fix queryRenderedFeatures not working on duplicated model layers.
  • Fix in-place update for SDF image.
  • Fix LUT not being applied to in-place updated image.
  • Fix various issues with using mouseenter and mouseleave with Interactions API.
  • Fix error with interactible map elements during interaction with a map that wasn't fully loaded.
  • Fix rendering of elevated and non-elevated lines on the same layer.
  • Fix pixel ratio handling for patterns with vector icons.
  • Fix positioning of vector icons with modified icon-size.
  • Fix a blank map issue after WebGL context loss.
  • Fix loss of precision for close to camera models.
  • Fix transparent models not being culled when terrain is enabled.
Jan 31, 2025

Features and improvements ✨

  • Add support for data-driven *-use-theme properties.
  • Improve rendering of complex SVG clip paths for vector icons.

Bug fixes 🐞

  • Fix issue where the close popup button was hidden from screen readers.
  • Fix queryRenderedFeatures not working on duplicated model layers.
  • Fix rendering of elevated and non-elevated lines on the same layer.
  • Fix a blank map issue after WebGL context loss.
Latest
v3.23.0
Tracking Since
Jun 17, 2022
Last checked May 1, 2026