MapLibre GL JS v0.54.0 Release Notes

  • 💥 Breaking changes

    • 🐎 Turned localIdeographFontFamily map option on by default. This may change how CJK labels are rendered, but dramatically improves performance of CJK maps (because the browser no longer needs to download heavy amounts of font data from the server). Add localIdeographFontFamily: false to turn this off. #8008
    • ➕ Added Popup maxWidth option, set to "240px" by default. #7906

    Major features

    • ➕ Added support for updating and animating style images. #7999
    • ➕ Added support for generating style images dynamically (e.g. for drawing icons based on feature properties). #7987
    • ➕ Added antialiasing support for custom layers. #7821
    • ➕ Added a new mapbox-gl-csp.js bundle for strict CSP environments where worker-src: blob is disallowed. #8044

    Minor features and improvements

    • 👌 Improved performance of fill extrusions. #7821
    • 👌 Improved performance of symbol layers. #7967
    • 🐎 Slightly improved rendering performance in general. #7969
    • 🐎 Slightly improved performance of HTML markers. #8018
    • 👌 Improved diffing of styles with "visibility": "visible". #8005
    • 👌 Improved zoom buttons to grey out when reaching min/max zoom. #8023
    • ➕ Added a title to fullscreen control button. #8012
    • ➕ Added rel="noopener" attributes to links that lead to external websites (such as Mapbox logo and OpenStreetMap edit link) for improved security. #7914
    • ➕ Added tile size info when map.showTileBoundaries is turned on. #7963
    • Significantly improved load times of the benchmark suite. #8066
    • 👌 Improved behavior of canvasSource.pause to be more reliable and able to render a single frame. #8130

    🐛 Bug fixes

    • 🛠 Fixed a bug in Mac Safari 12+ where controls would disappear until you interact with the map. #8193
    • 🛠 Fixed a memory leak when calling source.setData(url) many times. #8035
    • 🛠 Fixed a bug where marker lost focus when dragging. #7799
    • 🛠 Fixed a bug where map.getCenter() returned a reference to an internal LngLat object instead of cloning it, leading to potential mutability bugs. #7922
    • 🛠 Fixed a bug where default HTML marker positioning was slightly off. #8074
    • 🛠 Fixed a bug where adding a fill extrusion layer for non-polygon layers would lead to visual artifacts. #7685
    • 🛠 Fixed intermittent Flow failures on CI. #8061
    • 🛠 Fixed a bug where calling Map#removeFeatureState does not remove the state from some tile zooms #8087
    • 🛠 Fixed a bug where removeFeatureState didn't work on features with id equal to 0. #8150 (h/t jutaz)