Releases: maplibre/maplibre-gl-js
Releases · maplibre/maplibre-gl-js
Release list
v3.1.0
https://github.com/maplibre/maplibre-gl-js
Changes since MapLibre GL JS v3.0.1:
✨ Features and improvements
- Expose map options.maxTileCacheZoomLevels to allow better control of tile cache (#2581)
🐞 Bug fixes
- Fix regression - Add webgl1 fallback to accomondate users without webgl2 support (#2653)
v3.0.1
https://github.com/maplibre/maplibre-gl-js
Changes since MapLibre GL JS v3.0.0:
✨ Features and improvements
- Update shaders to GLSL ES 3.0 (#2599)
🐞 Bug fixes
v3.0.0
https://github.com/maplibre/maplibre-gl-js
Changes since MapLibre GL JS v3.0.0-pre.9:
New features and improvements
- Add
transformCameraUpdatecallback toMapoptions (#2535) - Bump KDBush and supercluster for better memory efficiency (#2522)
- Improve performance by using HTMLImageElement to download raster source images when refreshExpiredTiles tiles is false (#2126)
- Set fetchPriority for HTMLImageElement to help improve raster-heavy scenarios (#2459)
- Reduce rendering calls on initial load. No reason to try rendering before the style is loaded. (#2464)
- Lazy load default style properties on demand to improve loading performance and reduce memory usage. (#2476)
- Add queryTerrainElevation allows getting terrain elevation in meters at a specific point (#2264)
- Improve performance by sending style layers to the worker thread before processing it on the main thread to allow parallel processing (#2131)
- Add Map.getImage() to retrieve previously-loaded images. (#2168)
- Add a method to enable/disable cooperative gestures
- Update CONTRIBUTING.md with details on setting up on M1 mac (#2196)
- Update default type of originalEvent in MapLibreEvent to be
unknown(#2243) - Improve performance when forcing full symbol placement by short-circuiting pause checks (#2241)
- Adding a
warnoncewhen terrain and hillshade source are the same (#2298) - Remove a deprecation warning by removing an empty texture that is no longer being used in the codebase (#2299)
- Improve initial loading performance by lazy serializing layers only when needed. (#2306)
- Add validateStyle MapOption to allow disabling style validation for faster performance in production environment. (#2390)
- Add
setiClusterOptionsto update cluster properties of the added sources: fixing these issues (#429) and (#1384) - Add types for
workerOptionsand_optionsingeojson_source.ts - Add fullscreenstart, fullscreenend events to FullscreenControl (#2128
- Throttle the image request queue while the map is moving to improve performance (#2097
- Add support for multiple
spritedeclarations in one style file (#1805) - Extract sprite image on demand to reduce memory usage and improve performance by reducing the number of getImageData calls (#1809)
QueryRenderedFeaturesOptionstype added to both of the params in queryRenderedFeatures in map.ts (#1900)- NavigationControlOptions is now optional when creating an instance of NavigationControl (#1754)
- Listen to webglcontextcreationerror event and give detailed debug info when it fails (#1715)
- Make sure
cooperativeGesturesoverlay is always "on top" (z-index) of map features (#1753) - Use
willReadFrequentlyhint to optimize 2D canvas usage and remove warnings (#1808) - Speed up the cross tile symbol index in certain circumstances (#1755)
- Improve rendering speed in scenes with many colliding symbolic icons and labels (#1757)
- Make request for ImageSource cancelable (#1802)
- Throttle the image request queue while the map is moving to improve performance (#2097)
- Return a promise from
oncemethod to allow easier usage of async/await in this case (#1690) - Add pseudo (CSS) fullscreen as a fallback for iPhones (#1678)
- Add
updateDatatoGeoJSONSourcewhich allows for partial data updates (#1605) - Add a RenderPool to render tiles onto textures for 3D (#1671)
- Add map.getCameraTargetElevation() (#1558)
- Add
freezeElevationtoAnimationOptionsto allow smooth camera movement in 3D (#1514, #1492) - Add map.setStyle's transformStyle option (#1632)
Potentially breaking changes
Most of these changes will not affect your code but read carefully through the list to asses if a migration is needed.
⚠️ Cancel unloaded tile request on zooming in across multiple zooms. Previously these requests were not cancelled. (#2377)⚠️ Resize map when container element is resized. The "resize"-related events now has different data associated with it (#2157, #2551). Previously the originalEvent field was the reason of this change, for example it could be aresizeevent from the browser. Now it isResizeObserverEntry, see more here.⚠️ Improve rendering of areas below sea level, and remove elevationOffset workaround (#1578)⚠️ Remove support forhslcss color in a format that does not comply with the CSS Color specification. Colors defined inhsl(110, 0.7, 0.055)format will no longer work, instead it is recommended to use the format with percentageshsl(110, 70%, 5.5%). (#2376)⚠️ Move terrain object from style.terrain to map.terrain (#1628)⚠️ Remove deprecatedmapboxgl-css classes (usemaplibregl-instead) (#1575)⚠️ Full transition from WebGL1 to WebGL2 (browser support) (#2512, #1891)⚠️ LngLat.toBounds()is replaced by a static methodLngLatBounds.fromLngLat()(#2188)⚠️ Make geojson data source a required field to align with the docs (#1396)⚠️ Improve control initial loading performance by forcing fadeDuration to 0 till first idle event (#2447)⚠️ Remove "mapbox-gl-supported" package from API. If needed, please reference it directly instead of going through MapLibre. (#2451)⚠️ Improve control performance by restricting worker count to a max of 1 except for Safari browser. (#2354)
Bug fixes
- Fix of incorrect dash in diagonal lines with a vector source at some zoom levels. (#2479)
- Fix event.isSourceLoaded to reflect the state of source loading for sourcedata event (#2543)
- Fix overlapping of 3D building parts when 3D Terrain is activated (#2513)
- Show 3D buildings located below sea level when 3D Terrain is activated (#2544)
- Fix
LngLatBounds.extend()to correctly handle{ lng: number, lat: number }coordinates. (#2425) - Fix the accuracy-circle in the geolocate control from randomly resizing. (#2450)
- Fix the type of the
featuresproperty onMapLayerMouseEventandMapLayerTouchEventto beMapGeoJSONFeature[]in lieu ofGeoJSON.Feature[](#2244) - Fix GeolocateControl error if removed quickly (#2391)
- Fix issue unloading sprite sheet when using
setStyle(style, {diff:true})(#2146) - Fix wrap coords in
getTerrainwhenfitBoundsacross the AM (#2155) - Fix LngLat
toArraymethod return type...
v3.0.0-pre.9
Release 3.0.0-pre.9 (#2553)
v3.0.0-pre.8
Release 3.0.0-pre.8 (#2548)
v3.0.0-pre.7
Release 3.0.0-pre.7 (#2534)
v3.0.0-pre.6
Release 3.0.0-pre.6 (#2510)
v3.0.0-pre.5
Bump version to 3.0.0-pre.5 (#2418)
v3.0.0-pre.4
Bemp version to 3.0.0-pre.4 (#2153)
v3.0.0-pre.3
Bemp version to 3.0.0-pre.3 (#2028)