Releases: mapbox/mapbox-gl-js
Releases · mapbox/mapbox-gl-js
Release list
v3.26.0
Breaking changes ⚠️
- Remove
transitionandinterpolatedflags from thecamera-projectionstyle property — enum properties cannot be transitioned, so these flags were incorrect.
Features and improvements ✨
- Make published TypeScript declarations self-contained, fixing consumer builds that failed with
skipLibCheck: false. - Improve terrain raycast accuracy for mouse events, camera fitting, and other pointer interactions.
- Improve landmark model LOD switching with size-based distance heuristics for better rendering performance.
Bug fixes 🐞
- Fix
hd-road-markupelevated lines rendering flat with zero-exaggeration terrain. - Fix
viewport-ysymbol sorting causing aVertex buffer is not big enough for the draw callerror when a symbol bucket had multiple segments. - Fix multilinestrings not displaying labels correctly.
- Fix parametric colors sometimes loading the wrong cached image.
v3.26.0-rc.1
Breaking changes ⚠️
- Remove
transitionandinterpolatedflags from thecamera-projectionstyle property — enum properties cannot be transitioned, so these flags were incorrect.
Features and improvements ✨
- Make published TypeScript declarations self-contained, fixing consumer builds that failed with
skipLibCheck: false. - Improve terrain raycast accuracy for mouse events, camera fitting, and other pointer interactions.
- Improve landmark model LOD switching with size-based distance heuristics for better rendering performance.
Bug fixes 🐞
- Fix
hd-road-markupelevated lines rendering flat with zero-exaggeration terrain. - Fix
viewport-ysymbol sorting causing aVertex buffer is not big enough for the draw callerror when a symbol bucket had multiple segments. - Fix multilinestrings not displaying labels correctly.
- Fix parametric colors sometimes loading the wrong cached image.
v3.25.0
Breaking changes ⚠️
- Switch the ESM entry point to named exports (
import * as mapboxgl from 'mapbox-gl/esm') so that modern bundlers can eliminate small unused parts of the code. Replacemapboxgl.accessTokenwithMapaccessTokenoption. Most of the bundle still can't be statically eliminated, but this release also improves lazy loading of code at runtime, with more improvements on the way.
Features and improvements ✨
- Extend
MapgetLayerPropertyandsetLayerPropertyto support layer-level properties (minzoom,maxzoom,filter,slot,appearances) - Extend
TileProviderAPI to acceptImageBitmapforrasterandraster-demproviders. - Improve model loading and rendering performance.
- Improve symbol rendering performance.
- Improve performance of decoding and encoding vector tiles and other protobuf-encoded assets.
- Improve color parsing performance, slightly improving load time for styles with many color values.
- Extract indoor and part of the model rendering code to be loaded on demand when using the ESM entry point.
- Add
GeolocateControlreadyevent andsetShowAccuracyCircle,setShowUserHeading,setFitBoundsOptions,setShowUserLocationmethods. - Add
KeyboardHandlerdisablePan/enablePanmethods. - Add
DragRotateHandlerdisablePitch/enablePitchmethods. - Add
TouchZoomRotateHandlerdisableTapDragZoom/enableTapDragZoommethods. - Expose
MapsetLanguage,getLanguage,setWorldview,getWorldviewas stable public methods (previously private). - Remove all direct dependencies from
package.jsonslightly improving NPM install size and time. - Improve anti-aliasing for lines with borders.
- Implement automatic conflation of regular and HD road data in preparation for future Mapbox Standard updates.
Bug fixes 🐞
- Fix an issue that sometimes caused black boxes to appear instead of symbol icons.
- Fix precision issues on tile borders for elevated roads.
- Fix rendering issues for stacked underground roads.
- Fix minor vulnerabilities related to Object prototype pollution from an untrusted style or tiles.
- Fix the
Cutoff is currently disabled on terrainwarning on Standard style. - Fix appearance conditions validation to accept compound expressions.
- Fix issues with model cutout fading via
model-line-cutout-modeproperty. - Fix an issue with step expression evaluation for symbol layers.
- Fix an issue with custom layer rendering alongside data-driven
line-emissive-strength
v3.24.1
Bug fixes 🐞
- Fix an issue with custom layer rendering alongside data-driven
line-emissive-strength.
v3.25.0-rc.1
Breaking changes ⚠️
- Switch the ESM entry point to named exports (
import * as mapboxgl from 'mapbox-gl/esm') so that modern bundlers can eliminate small unused parts of the code. Replacemapboxgl.accessTokenwithMapaccessTokenoption. Most of the bundle still can't be statically eliminated, but this release also improves lazy loading of code at runtime, with more improvements on the way.
Features and improvements ✨
- Extend
MapgetLayerPropertyandsetLayerPropertyto support layer-level properties (minzoom,maxzoom,filter,slot,appearances) - Extend
TileProviderAPI to acceptImageBitmapforrasterandraster-demproviders. - Improve model loading and rendering performance.
- Improve symbol rendering performance.
- Improve performance of decoding and encoding vector tiles and other protobuf-encoded assets.
- Improve color parsing performance, slightly improving load time for styles with many color values.
- Extract indoor and part of the model rendering code to be loaded on demand when using the ESM entry point.
- Add
GeolocateControlreadyevent andsetShowAccuracyCircle,setShowUserHeading,setFitBoundsOptions,setShowUserLocationmethods. - Add
KeyboardHandlerdisablePan/enablePanmethods. - Add
DragRotateHandlerdisablePitch/enablePitchmethods. - Add
TouchZoomRotateHandlerdisableTapDragZoom/enableTapDragZoommethods. - Expose
MapsetLanguage,getLanguage,setWorldview,getWorldviewas stable public methods (previously private). - Remove all direct dependencies from
package.jsonslightly improving NPM install size and time. - Improve anti-aliasing for lines with borders.
- Implement automatic conflation of regular and HD road data in preparation for future Mapbox Standard updates.
- Improve lightmap shading for model layers.
Bug fixes 🐞
- Fix an issue that sometimes caused black boxes to appear instead of symbol icons.
- Fix precision issues on tile borders for elevated roads.
- Fix rendering issues for stacked underground roads.
- Fix minor vulnerabilities related to Object prototype pollution from an untrusted style or tiles.
- Fix the
Cutoff is currently disabled on terrainwarning on Standard style. - Fix appearance conditions validation to accept compound expressions.
- Fix issues with model cutout fading via
model-line-cutout-modeproperty. - Fix an issue with step expression evaluation for symbol layers.
- Fix an issue with custom layer rendering alongside data-driven
line-emissive-strength
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.