Skip to content

Releases: mapbox/mapbox-gl-js

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.

v3.4.0

24 May 07:46
Compare
Choose a tag to compare

Features and improvements ✨

  • Add dynamic: true option for GeoJSON sources that enables partial update API with source.updateData method. Further optimizations for this mode are expected in future releases.
  • Add Map setConfig, getConfig, setSchema and getSchema methods for batch setting of style configuration options.
  • Add config option for the Map constructor and setStyle methods for conveniently setting style configuration options on map initialization.
  • Add icon-color-saturation, icon-color-contrast, icon-color-brightness-min and icon-color-brightness-max to control symbol layer appearance.
  • Introduce a new line-join mode: none to improve line pattern distortions around joins.
  • Extend model-id property to support URIs (in addition to style-defined model references).
  • Expose more parameters in map devtools UI.

Bug fixes 🐞

  • Fix an issue with flyTo ignoring padding in its options.
  • Respect padding in cameraForBounds on globe view. (h/t @jonasnoki) #13126
  • Fix preloadOnly not preloading tiles from style imports.
  • Fix queryRenderedFeatures for non-integer ID in non-tiled model sources
  • Fix model-scale property for large number of 3D models.
  • Fix flickering of raster-particle layer on globe view.
  • Improve rendering of low-resolution raster-array data.
  • Fix an issue with GL JS bundle not building locally on Windows.
  • Fix multiple edge cases when using symbol-z-elevate.
  • Fix rendering issues with raster-particle layer on certain Android devices.
  • Fix shadow and lighting rendering issues in certain areas when using Mapbox Standard.

v3.4.0-beta.1

10 May 10:03
Compare
Choose a tag to compare
v3.4.0-beta.1 Pre-release
Pre-release

Features and improvements ✨

  • Add icon-color-saturation, icon-color-contrast, icon-color-brightness-min and icon-color-brightness-max to control symbol layer appearance.
  • Introduce a new line-join mode: none to improve line pattern distortions around joins.
  • Extend model-id property to support URIs (in addition to style-defined model references).

Bug fixes 🐞

  • Respect padding in cameraForBounds on globe view. (h/t @jonasnoki) #13126
  • Fix preloadOnly not preloading tiles from style imports.
  • Fix queryRenderedFeatures for non-integer ID in non-tiled model sources
  • Fix model-scale property for large number of 3D models.
  • Fix flickering of raster-particle layer on globe view.
  • Improve rendering of low-resolution raster-array data.