Skip to content

Releases: mapbox/mapbox-gl-js

v3.8.0

12 Nov 15:00
Compare
Choose a tag to compare

Features and improvements ✨

  • Add experimental support for style-defined featuresets, an upcoming way to query features in Mapbox Standard and other fragment-based styles.
  • Add experimental Map addInteraction/removeInteraction methods that make it easier to manage map interactions like clicking and hovering over features.
  • Add experimental support for elevated lines with line-cross-slope and line-elevation-reference properties.
  • Add experimental scaleFactor map option and setScaleFactor method to increase map label size (useful for improving accessibility or adjusting text size for different devices).
  • Add support for using line-progress expression in non-data-driven line properties.
  • Add experimental fill-extrusion-height-alignment and fill-extrusion-base-alignment properties to control fill extrusion top/bottom alignment.
  • Improve performance of dynamic brightness changes.
  • Minor optimizations to reduce load time.

Bug fixes 🐞

  • Fix localization when setting a worldview on the Mapbox Standard style.
  • Fix raster array rendering on some Android devices.
  • Fix an issue where fill-extrusion buildings would disappear when zooming out.
  • Fix line joins for thick semi-transparent or blurred lines.
  • Improve appearance of line corners with densely placed vertices.
  • Fix anti-alising aftifacts on blurred lines.
  • Fix call stack overflow caused by repeated addImport calls.
  • Fix failures when handling non-renderable characters.
  • Fix rendering of Osage script.
  • Fix certain edge cases when using config expression in filter properties.
  • Fix patterned fill extrusions being visible with zero opacity alpha.
  • Fix data-driven symbol-z-offset not working properly.
  • Fix fill extrusions on terrain producing WebGL warnings in some cases.
  • Fix line-emissive-strength not being applied to patterned lines.

v3.8.0-beta.1

25 Oct 15:01
fa70264
Compare
Choose a tag to compare
v3.8.0-beta.1 Pre-release
Pre-release

Features and improvements ✨

  • Minor optimizations to reduce load time.

Bug fixes 🐞

  • Fix raster array rendering on some Android devices.
  • Fix an issue where fill-extrusion buildings would disappear when zooming out.
  • Fix line joins for thick semi-transparent or blurred lines.
  • Improve appearance of line corners with densely placed vertices.
  • Fix anti-alising aftifacts on blurred lines.
  • Fix call stack overflow caused by repeated addImport calls.
  • Fix failures when handling non-renderable characters.
  • Fix the Osage script rendering.

v3.7.0

27 Sep 09:16
732345f
Compare
Choose a tag to compare

Features and improvements ✨

  • Add background-pitch-alignment property of the background layer, which is set to map by default but can now be set to viewport. Useful for highlighting individual features by dimming the rest of the map with a semitransparent background.
  • Add new control positions (top, right, bottom, and left) (h/t @Ethan-Guttman).
  • Add retainPadding option for camera movement methods, which can be set to false for pre-v3.4 padding behavior.
  • Add config expression support in layer filter.
  • Add symbol elevation properties: symbol-z-offset and symbol-elevation-reference.
  • Add the fill-z-offset property for fill layers.
  • Improve Map#fitBounds for the alternative projections.
  • Improve terrain hillshade lighting anchored to viewport.
  • Improve shadow casting from 3D models.
  • Improve error messages for invalid expressions.
  • Skip landmarks rendering when the camera is inside them.
  • Improve type checking for the Map#setPaintProperty and Map#setLayoutProperty methods.
  • Allow the string event type in Map event handlers.
  • Expose RequestTransformFunction, ResourceType, and RequestParameters types.
  • Improve texture memory footprint on some platforms.

Bug fixes 🐞

  • Fix feature filtering when using 3D lights.
  • Fix pattern rendering issues on some devices at high zoom levels.
  • Fix fill-extrusion-line-width rendering for large polygons
  • Fix symbol placement ordering when symbol-z-order is set to auto.
  • Fix the issue where minzoom and maxzoom properties were ignored by clip layers.
  • Fix handling previously hidden models in clip layers.
  • Fix directional light cast-shadows property type.
  • Fix an edge case that could produce setStencilMode-related error in the console with the dev build.
  • Fix an issue where some fill extrusions could temporarily disappear when zooming quickly in certain areas.
  • Fix an edge case that could cause flickering on a far plane on high zooms.

v3.7.0-beta.1

12 Sep 15:52
Compare
Choose a tag to compare
v3.7.0-beta.1 Pre-release
Pre-release

Features and improvements ✨

  • Add config expression support in layer filter.
  • Add symbol elevation properties: symbol-z-offset and symbol-elevation-reference.
  • Add the fill-z-offset property for fill layers.
  • Improve Map#fitBounds for the alternative projections.
  • Improve terrain hillshade lighting anchored to viewport.
  • Improve shadow casting from 3D models.
  • Improve error messages for invalid expressions.
  • Skip landmarks rendering when the camera is inside them.
  • Improve type checking for the Map#setPaintProperty and Map#setLayoutProperty methods.
  • Allow the string event type in Map event handlers.
  • Expose RequestTransformFunction, ResourceType, and RequestParameters types.

Bug fixes 🐞

  • Fix feature filtering when using 3D lights.
  • Fix pattern rendering issues on some devices at high zoom levels.
  • Fix fill-extrusion-line-width rendering for large polygons
  • Fix symbol placement ordering when symbol-z-order is set to auto.
  • Fix the issue where minzoom and maxzoom properties were ignored by clip layers.
  • Fix handling previously hidden models in clip layers.
  • Fix directional light cast-shadows property type.

v3.6.0

14 Aug 15:51
Compare
Choose a tag to compare

Features and improvements ✨

  • Add wall rendering mode to the fill-extrusion layer by introducing fill-extrusion-line-width and fill-extrusion-line-alignment properties. Set fill-extrusion-line-width to a non-zero value to render walls instead of a solid extrusion.
  • Improve initial load performance.
  • Add inner glow effect for negative circle-blur values.
  • Add raster-particle-elevation property.
  • Add support for inlining TileJSON in style source definitions using data field.
  • Improve 3D models' shadow appearance.
  • Improve performance of updating config values of a style.
  • Add more descriptive expression evaluation error messages.
  • Improve TypeScript typings.
  • Improve performance of symbol occlusion (visibility checks against terrain and 3D objects).
  • Add clip-layer-scope property to limit clip layer to a specific style fragment.
  • Add Map idle method to check whether a map is idle.

Bug fixes 🐞

  • Fix isSourceLoaded flag on sourcedata event for already loaded sources.
  • Fix firing load event when all tiles fail to load.
  • Fix performance issues when GeoJSON in dynamic mode is updated too frequently.
  • Fix GeoJSON line rendering in dynamic mode.
  • Fix rasterarray layer flickering from stale tiles cache.
  • Fix spikes when viewing terrain-enabled maps in certain environments.
  • Fix Map getLayer not working properly with custom layers.
  • Fix custom layer rendering issues on globe with high pitch.
  • Fix an issue with line-trim-offset on very long lines.
  • Fix rendering issues when ground effects overlap with line layers.
  • Fix landmark visibility issues near tile borders.
  • Fix accessibility issues with compact attribution button and logo.

v3.6.0-beta.1

31 Jul 16:01
Compare
Choose a tag to compare
v3.6.0-beta.1 Pre-release
Pre-release

Features and improvements ✨

  • Improve initial load performance.
  • Add inner glow effect for negative circle-blur values.
  • Add support for inlining TileJSON in style source definitions using data field.
  • Improve 3D models' shadow appearance.
  • Improve performance of updating config values of a style.
  • Add more descriptive expression evaluation error messages.
  • Improve TypeScript typings.

Bug fixes 🐞

  • Fix isSourceLoaded flag on sourcedata event for already loaded sources.
  • Fix firing load event when all tiles fail to load.
  • Fix performance issues when GeoJSON in dynamic mode is updated too frequently.
  • Fix rasterarray layer flickering from stale tiles cache.
  • Fix spikes when viewing terrain-enabled maps in certain environments.

v3.5.2

18 Jul 14:46
Compare
Choose a tag to compare

Features and improvements ✨

  • Improve 3D models rendering performance.
  • Slightly improve terrain rendering performance.
  • Improve TypeScript API, including strongly typed Map event listeners, improved type narrowing, and more.

Bug fixes 🐞

  • Fix raster particle data decoding and improve rendering quality.
  • Fix 3D lighting rendering when lookup tables (LUT) image is applied.
  • Fix shadows rendering artifacts on fill-extrusion-cutoff-fade-range.

v3.5.1

05 Jul 14:19
Compare
Choose a tag to compare

Revert default behavior of symbol occlusion behind terrain to maintain compatibility. Set icon-occlusion-opacity/text-occlusion-opacity properties to opt-in to new occlusion behavior.

v3.5.0

04 Jul 17:11
Compare
Choose a tag to compare

Breaking changes ⚠️

  • This release marks a significant transition for GL JS, moving from Flow to TypeScript. While we have maintained backward compatibility where possible, the community typings @types/mapbox-gl are not fully compatible with the new first-class typings. Users relying on the community typings may experience breaking changes. Please remove the @types/mapbox-gl dependency and refer to the v3.5.0 migration guide for instructions on upgrading, resolving common issues, and asking questions regarding the migration to the first-class typings. We welcome your feedback and contributions to make Mapbox GL JS better.

Features and improvements ✨

  • Add color-theme property and Map setColorTheme method to enable colorization with a lookup table (LUT) images.
  • Significantly improve performance of updateData for GeoJSON sources in dynamic mode.
  • Add icon-occlusion-opacity and text-occlusion-opacity properties to fade symbols behind models and landmarks.
  • Add line-occlusion-opacity property to fade lines behind 3D objects.
  • Add experimental clip layer to filter out rendering data.
  • Add experimental line-z-offset property for a non-globe view.
  • Add model-cutoff-fade-range property to control fade out of faraway 3D buildings.
  • Improve precision of line-pattern on long lines and higher zooms.
  • Add experimental line-trim-color and line-trim-fade-range properties to customize rendering of lines trimmed with line-trim-offset.
  • Add Map getSlots method for listing available slots of a style.

Bug fixes 🐞

  • Fix a performance regression in Standard style introduced in v3.4.0.
  • Fix icon rotation during globe transition.
  • Fix GeoJSON data loss due to frequent updateData calls.
  • Improve raster-particle layer animation.
  • Fix model-front-cutoff property for Meshopt-encoded models.
  • Fix errors in the console on empty 3D tiles.
  • Fix not properly detecting fingerprinting protection when adding terrain through setTerrain.
  • Fix style.load event missing style property.
  • Fix errors when using queryRenderedFeatures on areas with missing DEM tiles when terrain is enabled.

v3.5.0-beta.1

19 Jun 15:27
Compare
Choose a tag to compare
v3.5.0-beta.1 Pre-release
Pre-release

Breaking changes ⚠️

  • This release marks a significant transition for GL JS, moving from Flow to TypeScript. While we have maintained backward compatibility where possible, the community typings @types/mapbox-gl are not fully compatible with the new first-class typings. Users relying on the community typings may experience breaking changes. Please remove the @types/mapbox-gl dependency and refer to the v3.5.0 migration guide for instructions on upgrading, resolving common issues, and asking questions regarding the migration to the first-class typings. We welcome your feedback and contributions to make Mapbox GL JS better.

Features and improvements ✨

  • Add a color-theme property to enable colorization with a lookup table (LUT) images.
  • Add icon-occlusion-opacity and text-occlusion-opacity properties to fade symbols behind models and landmarks.
  • Add line-occlusion-opacity property to fade lines behind 3D objects.
  • Add experimental clip layer to filter out rendering data.
  • Add experimental line-z-offset property for a non-globe view.
  • Add model-cutoff-fade-range property support to control fade out of faraway 3D buildings.

Bug fixes 🐞

  • Fix icon rotation during globe transition.
  • Fix GeoJSON data loss due to frequent updateData calls.
  • Improve raster-particle layer animation.
  • Fix padding not being applied on flyTo when prefers-reduced-motion is set.