Skip to content

Releases: maplibre/maplibre-gl-js

v3.2.2

06 Aug 11:07
7e4e0cd

Choose a tag to compare

https://github.com/maplibre/maplibre-gl-js
Changes since MapLibre GL JS v3.2.1:

✨ Features and improvements

🐞 Bug fixes

  • Properly check ImageBitmap (#2942, #2940)
  • VectorTileWorkerSource: fix reload for original's load parse would not pass the rawTileData and meta. (#2941)

v3.2.1

24 Jul 16:52
88818bc

Choose a tag to compare

https://github.com/maplibre/maplibre-gl-js
Changes since MapLibre GL JS v3.2.0:

✨ Features and improvements

  • Remove cooperative gesture screen from the accessibility tree since screenreaders cannot interact with the map using gestures
  • Add cooperated gestures example to the doc.(#2860)

🐞 Bug fixes

  • Incorrect distance field of view calculation for negative elevation, fixed by storing min elevation for the tile in view (#1655, #2858)
  • Fix reloadCallback not firing on VectorTileWorkerSource.reloadTile (#1874)
  • Fix RasterDEMTileSource not serializing its options correctly (#2895)
  • Remove node and jest from dist type checking, fix map event and other typing problems (#2898)

v3.2.0

10 Jul 05:33
541ac26

Choose a tag to compare

https://github.com/maplibre/maplibre-gl-js
Changes since MapLibre GL JS v3.1.0:

✨ Features and improvements

  • Change all internal exports to named exports(#2711)
  • Docs generation is now part of this repo(#2733)
  • Add className option to Marker constructor (#2729)
  • Immediately redraw the map after setting pixel ratio (#2674)
  • Add maxCanvasSize option to limit canvas size. It can prevent reaching the GL limits and reduce the load on the devices. Default value is [4096, 4096].
  • Reduce maxCanvasSize when hitting GL limits to avoid distortions (#2674)
  • Rewrite all the code comments in TSDocs, introduced a new documentaiton system and moved examples into this repository for better debug options (#2756)
  • ⚠️ Removed non documented Marker constructor parameter (#2756)

🐞 Bug fixes

  • Return undefined instead of throwing from Style.serialize() when the style hasn't loaded yet (#2712)
  • Don't throw an exception from checkMaxAngle when a label with length 0 is on the last segment of a line (#2710)
  • Fix the tap then drag zoom gesture detection to abort when the two taps are far away (#2673)
  • Fix regression - update pixel ratio when devicePixelRatio changes, restoring the v1.x behaviour (#2706)
  • Fix incorrect elevation calculation [#2772]

v3.2.0-pre.3

09 Jul 17:43
a3d63a3

Choose a tag to compare

v3.2.0-pre.3 Pre-release
Pre-release
Bump version to 3.2.0-pre.3 (#2831)

v3.2.0-pre.2

09 Jul 11:49
3b5a57f

Choose a tag to compare

v3.2.0-pre.2 Pre-release
Pre-release
Bump version to 3.2.0-pre.2 (#2825)

* Bump version to 3.2.0-pre.2

* Fix docs links to examples folder (#2826)

* Fix docs links to examples folder

* update more links

* Fix lowercase Issue

---------

Co-authored-by: Birk Skyum <74932975+birkskyum@users.noreply.github.com>

v3.2.0-pre.1

09 Jul 04:28
f75a9e6

Choose a tag to compare

v3.2.0-pre.1 Pre-release
Pre-release
Move examples to examples folder (#2818)

v3.1.0

13 Jun 21:27
4606607

Choose a tag to compare

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

29 May 16:52
6e84dcf

Choose a tag to compare

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

  • Fix RequestTransformFunction type to return RequestParameters or undefined (#2586)
  • Load EXT_color_buffer_float WebGL2 extension to fix heatmap in firefox (#2595)

v3.0.0

23 May 15:01
6a33333

Choose a tag to compare

https://github.com/maplibre/maplibre-gl-js
Changes since MapLibre GL JS v3.0.0-pre.9:

New features and improvements

  • Add transformCameraUpdate callback to Map options (#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 warnonce when 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 setiClusterOptions to update cluster properties of the added sources: fixing these issues (#429) and (#1384)
  • Add types for workerOptions and _options in geojson_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 sprite declarations 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)
  • QueryRenderedFeaturesOptions type 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 cooperativeGestures overlay is always "on top" (z-index) of map features (#1753)
  • Use willReadFrequently hint 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 once method to allow easier usage of async/await in this case (#1690)
  • Add pseudo (CSS) fullscreen as a fallback for iPhones (#1678)
  • Add updateData to GeoJSONSource which allows for partial data updates (#1605)
  • Add a RenderPool to render tiles onto textures for 3D (#1671)
  • Add map.getCameraTargetElevation() (#1558)
  • Add freezeElevation to AnimationOptions to 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 a resize event from the browser. Now it is ResizeObserverEntry, see more here.
  • ⚠️ Improve rendering of areas below sea level, and remove elevationOffset workaround (#1578)
  • ⚠️ Remove support for hsl css color in a format that does not comply with the CSS Color specification. Colors defined in hsl(110, 0.7, 0.055) format will no longer work, instead it is recommended to use the format with percentages hsl(110, 70%, 5.5%). (#2376)
  • ⚠️ Move terrain object from style.terrain to map.terrain (#1628)
  • ⚠️ Remove deprecated mapboxgl- css classes (use maplibregl- instead) (#1575)
  • ⚠️ Full transition from WebGL1 to WebGL2 (browser support) (#2512, #1891)
  • ⚠️ LngLat.toBounds() is replaced by a static method LngLatBounds.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 features property on MapLayerMouseEvent and MapLayerTouchEvent to be MapGeoJSONFeature[] in lieu of GeoJSON.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 getTerrain when fitBounds across the AM (#2155)
  • Fix LngLat toArray method return type...
Read more

v3.0.0-pre.9

19 May 13:50
ad566a6

Choose a tag to compare

v3.0.0-pre.9 Pre-release
Pre-release
Release 3.0.0-pre.9 (#2553)