Releases: mapbox/mapbox-gl-js
Releases · mapbox/mapbox-gl-js
v3.4.0
Features and improvements ✨
- Add
dynamic: true
option for GeoJSON sources that enables partial update API withsource.updateData
method. Further optimizations for this mode are expected in future releases. - Add
Map
setConfig
,getConfig
,setSchema
andgetSchema
methods for batch setting of style configuration options. - Add
config
option for theMap
constructor andsetStyle
methods for conveniently setting style configuration options on map initialization. - Add
icon-color-saturation
,icon-color-contrast
,icon-color-brightness-min
andicon-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
ignoringpadding
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
Features and improvements ✨
- Add
icon-color-saturation
,icon-color-contrast
,icon-color-brightness-min
andicon-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.
v3.3.0
Features and improvements ✨
- Add a new
raster-array
source type, representing a new experimental Mapbox Raster Tile format which encodes series of tiled raster data (such as weather time series). - Add a new
raster-particle
layer which animates particles of different speed and color based on underlyingraster-array
data. - Add
addImport
,moveImport
,updateImport
, andremoveImport
API methods. - Add
getSlot
, andsetSlot
API methods to control layers' slots. - Add landmarks and models support in
queryRenderedFeatures
. - Add
raster-elevation
support for tiled raster sources. - Add
config
expression support in fog. - Improve map loading performance.
Bug fixes 🐞
- Fix zooming with the pitched camera and
maxZoom
. - Fix memory leak after removing the map. (h/t @kamil-sienkiewicz-asi) #13110, #13116
- Fix broken horizon line for some camera values.
- Fix broken globe draping after updating style with
setStyle
. - Fix the
z
offset when the opacity is evaluated at 0 on the zoom change. - Fix the
format
expression in theconfig
expression. - Fix adding a marker to the map that is not loaded when fog is enabled.
- Fix symbol and icon rendering order when using
symbol-sort-key
property.
v3.3.0-beta.1
Features and improvements ✨
- Add raster particles layer.
- Add raster-array source.
- Add
addImport
,moveImport
,updateImport
, andremoveImport
API methods. - Add
getSlot
, andsetSlot
API methods to control layers' slots. - Add landmarks and models support in
queryRenderedFeatures
. - Add
raster-elevation
support for tiled raster sources. - Add
config
expression support in fog. - Improve map loading performance.
Bug fixes 🐞
- Fix zooming with the pitched camera and
maxZoom
. - Fix memory leak after removing the map. (h/t @kamil-sienkiewicz-asi) #13110, #13116
- Fix broken horizon line for some camera values.
- Fix broken globe draping after updating style with
setStyle
. - Fix the
z
offset when the opacity is evaluated at 0 on the zoom change. - Fix the
format
expression in theconfig
expression. - Fix adding a marker to the map that is not loaded when fog is enabled.
v3.2.0
Features and improvements ✨
- Improve map loading performance.
- Add a debug UI for the development build of GL JS, enabled with
devtools: true
inMap
options. - Add imports support in
map.areTilesLoaded
. - Add support of rotation of elevated raster layers.
- Add support of negative values for
fill-extrusion-flood-light-ground-radius
property. - Improve visual cutoff behavior of buildings when using
fill-extrusion-cutoff-fade-range
property.
Bug fixes 🐞
- Fix the moiré effects on patterns in tilted map views.
- Fix occasional rendering issues with semitransparent raster tiles on globe view.
- Fix
config
expression chaining through nested styles and other issues related to config scope. - Fix an issue where
map.flyTo
withpadding
option was setting and overriding map's padding. - Issue a warning instead of a validation error if
url
ortiles
is missing from source, i.e. in MapTiler source. - Remove role attribute for non-visible alerts. (h/t @jakubmakielkowski) #13051
- Fix an elevation of symbols above multiple fill extrusions, when some of them hidden or lowered.
- Fix a small callback-related memory leak. (h/t @temas) #13074
- Fix
config
andformat
expressions not working together. - Improve error reporting when a user environment doesn't support WebGL 2.
v3.2.0-beta.1
Features and improvements ✨
- Added imports support in
map.areTilesLoaded
. - Added support of rotation of elevated raster layers.
- Added support of negative values for
fill-extrusion-flood-light-ground-radius
property. - Config options of one imported fragment can be used in another fragments.
- Improved cutoff behavior of buildings.
Bug fixes 🐞
- Fix an issue where
map.flyTo
withpadding
option was setting and overriding map's padding. - Issue a warning instead of a validation error if
url
ortiles
is missing from source, i.e. in MapTiler source. - Fix the moiré effects on patterns in tilted map views.
- Removing role attribute for non-visible alerts. (h/t @jakubmakielkowski) #13051
- Fix an elevation of symbols above multiple fill extrusions, when some of them hidden or lowered.
- Fix
config
expression chaining through nested styles. - Proper clean up of actor cancel callbacks. (h/t @temas) #13074
v3.1.2
v3.1.1
Bug fixes 🐞
- Fix
fill-extrusions
not being displayed in alternative projections. - Fix an issue when WebGL might randomly crash to an unrecoverable state on some mobile devices, specifically Safari on iOS.
v3.1.0
Features and improvements ✨
- Improve performance for maps with many textures (such as styles with satellite imagery), fixing excessive memory usage. (h/t @tristan-morris) #12924
- Add
raster-elevation
property for elevating raster layers to a constant height (e.g. clouds over globe). - Add
raster-emissive-strength
andfill-extrusion-emissive-strength
properties for controlling 3D lighting on buildings and raster layers. - Add
Map
getConfigProperty
method for getting current style config values. - Add
config
support in terrain options. - Improve performance for pitched views with many fill extrusions on higher zoom levels.
- Allow turning off the terrain that is defined in the imports on the root-level Style by setting it to
null
. - Allow the partial terrain exaggeration update without specifying the source.
- Respect style schema restrictions (
minValue
,maxValue
,stepValue
,values
,type
) when evaluating config options.
Bug fixes 🐞
- Fix an issue where
center: [0, 0]
andzoom: 0
map options were ignored in favor of style settings. - Fix an issue with the camera not taking the short route when animating between locations across the anti-meridian.
- Fix an issue where a style with imports sometimes loaded in incomplete state.
- Fix an issue with rendering styles with nested imports.
- Fix an issue with sources not reloading when changing language and worldview.
- Fix an issue where updating a style fragment URL didn't work correctly.
- Fix an issue when adding a layer with explicit
slot
not taking precedence over thebefore
parameter for layer order. - Fix an issue where updating an image before initial image is loaded produced an error. (h/t @maciejmatu) #12928
- Fix an issue with incorrect collisions for elevated symbols.
- Fix an issue with
"camera-projection": "orthographic"
not working in styles with imports. - Fix an issue with tiles sometimes missing in terrain mode on views from a hill down on a valley.
- Fix compact attribution style when using global CSS that sets
box-sizing: border-box
. (h/t @simondriesen) #12982 - Remove redundant
aria-label
attribute in attribution control that fails accessibility conformance. (h/t @maggiewachs) #12981 - Disable terrain and hillshade when browser fingerprinting protection (e.g. in private browsing mode) prevents it from rendering correctly.
- Fix layer rendering when import requests are failing.
- Fix map
load
event not firing for the sources whose tiles are 404s. - Require either
url
ortiles
for tiled sources during validation. - Validate for empty layer and source IDs in runtime.
Changes since v3.1.0-beta.1
Features and improvements ✨
- Allow turning off the terrain that is defined in the imports on the root-level Style by setting it to
null
. - Allow the partial terrain exaggeration update without specifying the source.
- Respect style schema restrictions (
minValue
,maxValue
,stepValue
,values
,type
) when evaluating config options.
Bug fixes 🐞
- Disable terrain and hillshade when browser fingerprinting protection (e.g. in private browsing mode) prevents it from rendering correctly.
- Fix layer rendering when import requests are failing.
- Fix map
load
event not firing for the sources whose tiles are 404s. - Require either
url
ortiles
for tiled sources during validation. - Validate for empty layer and source IDs in runtime.
v3.1.0-beta.1
Features and improvements ✨
- Improve performance for maps with many textures (such as styles with satellite imagery), fixing excessive memory usage. (h/t @tristan-morris) #12924
- Add
raster-elevation
property for elevating raster layers to a constant height (e.g. clouds over globe). - Add
raster-emissive-strength
andfill-extrusion-emissive-strength
properties for controlling 3D lighting on buildings and raster layers. - Add
Map
getConfigProperty
method for getting current style config values. - Add
config
support in terrain options. - Improve performance for pitched views with many fill extrusions on higher zoom levels.
Bug fixes 🐞
- Fix an issue where
center: [0, 0]
andzoom: 0
map options were ignored in favor of style settings. - Fix an issue with the camera not taking the short route when animating between locations across the anti-meridian.
- Fix an issue where a style with imports sometimes loaded in incomplete state.
- Fix an issue with rendering styles with nested imports.
- Fix an issue with sources not reloading when changing language and worldview.
- Fix an issue where updating a style fragment URL didn't work correctly.
- Fix an issue when adding a layer with explicit
slot
not taking precedence over thebefore
parameter for layer order. - Fix an issue where updating an image before initial image is loaded produced an error. (h/t @maciejmatu) #12928
- Fix an issue with incorrect collisions for elevated symbols.
- Fix an issue with
"camera-projection": "orthographic"
not working in styles with imports. - Fix an issue with tiles sometimes missing in terrain mode on views from a hill down on a valley.
- Fix compact attribution style when using global CSS that sets
box-sizing: border-box
. (h/t @simondriesen) #12982 - Remove redundant
aria-label
attribute in attribution control that fails accessibility conformance. (h/t @maggiewachs) #12981