Releases: mapbox/mapbox-gl-js
Releases · mapbox/mapbox-gl-js
v3.8.0
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
andline-elevation-reference
properties. - Add experimental
scaleFactor
map option andsetScaleFactor
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
andfill-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
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
Features and improvements ✨
- Add
background-pitch-alignment
property of thebackground
layer, which is set tomap
by default but can now be set toviewport
. Useful for highlighting individual features by dimming the rest of the map with a semitransparent background. - Add new control positions (
top
,right
,bottom
, andleft
) (h/t @Ethan-Guttman). - Add
retainPadding
option for camera movement methods, which can be set tofalse
for pre-v3.4 padding behavior. - Add
config
expression support in layer filter. - Add symbol elevation properties:
symbol-z-offset
andsymbol-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
andMap#setLayoutProperty
methods. - Allow the
string
event type in Map event handlers. - Expose
RequestTransformFunction
,ResourceType
, andRequestParameters
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 toauto
. - Fix the issue where
minzoom
andmaxzoom
properties were ignored byclip
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
Features and improvements ✨
- Add
config
expression support in layer filter. - Add symbol elevation properties:
symbol-z-offset
andsymbol-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
andMap#setLayoutProperty
methods. - Allow the
string
event type in Map event handlers. - Expose
RequestTransformFunction
,ResourceType
, andRequestParameters
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 toauto
. - Fix the issue where
minzoom
andmaxzoom
properties were ignored byclip
layers. - Fix handling previously hidden models in
clip
layers. - Fix directional light
cast-shadows
property type.
v3.6.0
Features and improvements ✨
- Add wall rendering mode to the
fill-extrusion
layer by introducingfill-extrusion-line-width
andfill-extrusion-line-alignment
properties. Setfill-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 limitclip
layer to a specific style fragment. - Add
Map
idle
method to check whether a map is idle.
Bug fixes 🐞
- Fix
isSourceLoaded
flag onsourcedata
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
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 onsourcedata
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
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
v3.5.0
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 andMap
setColorTheme
method to enable colorization with a lookup table (LUT) images. - Significantly improve performance of
updateData
forGeoJSON
sources indynamic
mode. - Add
icon-occlusion-opacity
andtext-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
andline-trim-fade-range
properties to customize rendering of lines trimmed withline-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 missingstyle
property. - Fix errors when using
queryRenderedFeatures
on areas with missing DEM tiles when terrain is enabled.
v3.5.0-beta.1
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
andtext-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
whenprefers-reduced-motion
is set.