Releases: mapbox/mapbox-gl-js
Releases · mapbox/mapbox-gl-js
v3.24.0
Features and improvements ✨
- Introduce Level of Detail (LOD) support for landmark models, enabling automatic switching between model versions based on camera distance.
- Support additive blend mode with clamped density by setting the
line-blend-additive-clampproperty. - Improve rendering performance by reducing per-frame matrix allocations.
- Improve rendering performance via parallel shader compilation on supported devices.
- Improve rendering performance by advancing shader precompilation.
- Improve shadow rendering performance.
- Improve vector icon loading performance.
- Improve initial load by skipping redundant config-related style layers updates in Web Workers.
- Improve initial load by rescheduling shader precompilation to occur during browser idle time after the map's
idleevent. - Improve model processing performance.
- Improve performance and memory footprint by streamlining communication between the main thread and Web Workers.
- Reduce first-interaction jank by optimizing shader compilation pipeline behavior.
- Optimize expression parsing performance.
- Improve an error messaging for the
line-trim-offsetproperty withoutlineMetrics.
Bug fixes 🐞
- Fix LUT to properly work with premultiplied color.
- Fix a potential memory leak and crash occurring when a map was destroyed.
- Fix an issue where cross-fragments config values were not correctly updated.
v3.24.0-rc.1
Features and improvements ✨
- Introduce Level of Detail (LOD) support for landmark models, enabling automatic switching between model versions based on camera distance.
- Support additive blend mode with clamped density by setting the
line-blend-additive-clampproperty. - Improve rendering performance by reducing per-frame matrix allocations.
- Improve rendering performance via parallel shader compilation on supported devices.
- Improve rendering performance by advancing shader precompilation.
- Improve shadow rendering performance.
- Improve vector icon loading performance.
- Improve initial load by skipping redundant config-related style layers updates in Web Workers.
- Improve initial load by rescheduling shader precompilation to occur during browser idle time after the map's
idleevent. - Improve model processing performance.
- Improve performance and memory footprint by streamlining communication between the main thread and Web Workers.
- Reduce first-interaction jank by optimizing shader compilation pipeline behavior.
- Optimize expression parsing performance.
- Improve an error messaging for the
line-trim-offsetproperty withoutlineMetrics.
Bug fixes 🐞
- Fix LUT to properly work with premultiplied color.
- Fix a potential memory leak and crash occurring when a map was destroyed.
v3.23.1
v3.23.0
Features and improvements ✨
- Improve the performance of symbol layers on old devices.
- Add
TileProviderfor raster and raster-dem sources, adding support for PMTiles with raster tiles. - Enable client-side fontstack compositing by default. When multiple fonts are requested they are now fetched individually and composited on the client.
- Promote interactions API to stable.
- Add a bundler-friendly ESM bundle in the NPM package (
import mapboxgl from 'mapbox-gl/esm'). - Lazy-load procedural buildings and precipitation code when using the ESM entry point.
Bug fixes 🐞
- Fix values smaller than 1 in
line-dasharraynot working. - Fix a render issue where black boxes could appear instead of symbols briefly in some environments.
- Fix
scale-factorbeing applied twice to icons with feature-dependenticon-size. - Fix redundant WASM requests on map load when using the Standard style.
- Fix hillshade rendering issue when using Safari in private browsing mode.
v3.23.0-rc.2
Bug fixes 🐞
- Fix hillshade rendering issue when using Safari in private browsing mode.
3.23.0-rc.1
Features and improvements ✨
- Improve the performance of symbol layers on old devices.
- Add
TileProviderfor raster and raster-dem sources, adding support for PMTiles with raster tiles. - Enable client-side fontstack compositing by default. When multiple fonts are requested they are now fetched individually and composited on the client.
- Promote interactions API to stable.
- Add a bundler-friendly ESM bundle in the NPM package (
import mapboxgl from 'mapbox-gl/esm'). - Lazy-load procedural buildings and precipitation code when using the ESM entry point.
Bug fixes 🐞
- Fix values smaller than 1 in
line-dasharraynot working. - Fix a render issue where black boxes could appear instead of symbols briefly in some environments.
- Fix
scale-factorbeing applied twice to icons with feature-dependenticon-size. - Fix redundant WASM requests on map load when using the Standard style.
v3.22.0
Bug fixes 🐞
- Fix a crash on PowerVR devices.
- Fix nested scopes support in clip layers.
- Fix Webpack warning on dynamic imports.
- Skip sub-pixel line dilution for intentionally thin lines.
- Skip map-sessions request when
baseApiUrlis not a Mapbox host.
v3.22.0-rc.1
Bug fixes 🐞
- Fix a crash on PowerVR devices.
- Fix nested scopes support in clip layers.
- Skip sub-pixel line dilution for intentionally thin lines.
- Skip map-sessions request when
baseApiUrlis not a Mapbox host.
v3.21.0
Features and improvements ✨
- Introduce the
TileProviderAPI, a mechanism for extending GL JS with custom vector tile providers. - Add first-class support for PMTiles via the new
TileProviderAPI and an official plugin (mapbox-gl-pmtiles-provider.js) that loads on demand. - Add experimental
line-blend-modeproperty for rendering lines usingadditiveormultiplyblending. - Slightly improve overall map loading times.
- Improve symbol layer rendering performance (by adopting Uniform Buffer Objects for data-driven properties).
- Improve indoor maps loading performance.
Bug fixes 🐞
- Fix dragging gesture not working on the compass control.
- Various fixes and improvements for the Appearances API.
- Fix an edge case when combining custom icons with images included in the style's sprite.
- Fix
setWorldviewnot updating layout properties correctly. - Fix an issue when rendering stacked underground 3D roads.
- Fix line dashes with non-integer total array lengths.
- Fix various rendering issues when using
*-cutoff-fade-rangeproperties. - Fix
cliplayer not clippingfill-extrusionambient occlusion.
Breaking changes ⚠️
- Removed
mapbox-gl-unminified.jsbundle in the distribution — please switch to eithermapbox-gl.js,mapbox-gl-dev.js, or the newesm-min/mapbox-gl.jsESM bundle. - Removed
spriteFormatMapoption — now Mapbox styles will always use vector icons, while non-Mapbox styles will continue using classic raster sprites.
v3.21.0-rc.1
Features and improvements ✨
- Introduce the
TileProviderAPI, a mechanism for extending GL JS with custom vector tile providers. - Add first-class support for PMTiles via the new
TileProviderAPI and an official plugin (mapbox-gl-pmtiles-provider.js) that loads on demand. - Add experimental
line-blend-modeproperty for rendering lines usingadditiveormultiplyblending. - Slightly improve overall map loading times.
- Improve symbol layer rendering performance (by adopting Uniform Buffer Objects for data-driven properties).
- Improve indoor maps loading performance.
Bug fixes 🐞
- Fix dragging gesture not working on the compass control.
- Various fixes and improvements for the Appearances API.
- Fix an edge case when combining custom icons with images included in the style's sprite.
- Fix
setWorldviewnot updating layout properties correctly. - Fix an issue when rendering stacked underground 3D roads.
- Fix line dashes with non-integer total array lengths.
- Fix various rendering issues when using
*-cutoff-fade-rangeproperties.
Breaking changes ⚠️
- Removed
mapbox-gl-unminified.jsbundle in the distribution — please switch to eithermapbox-gl.js,mapbox-gl-dev.js, or the newesm-min/mapbox-gl.jsESM bundle. - Removed
spriteFormatMapoption — now Mapbox styles will always use vector icons, while non-Mapbox styles will continue using classic raster sprites.