Maplibre

Latest version: v0.2.8

Safety actively analyzes 706567 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 24 of 36

0.44.0

✨ Features and improvements

- The CSP policy of a page using mapbox-gl-js no longer needs to include `script-src 'unsafe-eval'` [559](https://github.com/mapbox/mapbox-gl-js/issues/559)
- Add `LngLatBoundsisEmpty()` method [5917](https://github.com/mapbox/mapbox-gl-js/pull/5917)
- Updated to flow 0.62.0 [5923](https://github.com/mapbox/mapbox-gl-js/issues/5923)
- Make compass and zoom controls optional ([5348](https://github.com/mapbox/mapbox-gl-js/pull/5348)) (h/t [matijs](https://github.com/matijs)))
- Add `collectResourceTiming` option to the enable collection of [Resource Timing](https://developer.mozilla.org/en-US/docs/Web/API/Resource_Timing_API/Using_the_Resource_Timing_API) data for requests that are made from Web Workers. ([#5948](https://github.com/mapbox/mapbox-gl-js/issues/5948))
- Improve user location dot appearance across browsers ([5498](https://github.com/mapbox/mapbox-gl-js/pull/5498)) (h/t [jasonbarry](https://github.com/jasonbarry)))

🐛 Bug fixes

- Fix error triggered by `==` and `!=` expressions [5947](https://github.com/mapbox/mapbox-gl-js/issues/5947)
- Image sources honor `renderWorldCopies` [5932](https://github.com/mapbox/mapbox-gl-js/pull/5932)
- Fix transitions to default fill-outline-color [5953](https://github.com/mapbox/mapbox-gl-js/issues/5953)
- Fix transitions for light properties [5982](https://github.com/mapbox/mapbox-gl-js/issues/5982)
- Fix minor symbol collisions on pitched maps [5913](https://github.com/mapbox/mapbox-gl-js/pull/5913)
- Fix memory leaks after `Mapremove()` [5943](https://github.com/mapbox/mapbox-gl-js/pull/5943), [#5951](https://github.com/mapbox/mapbox-gl-js/pull/5951)
- Fix bug wherein `GeoJSONSourcesetData()` caused labels to fade out and back in ([6002](https://github.com/mapbox/mapbox-gl-js/issues/6002))
- Fix bug that could cause incorrect collisions for labels placed very near to each other at low zoom levels ([5993](https://github.com/mapbox/mapbox-gl-js/issues/5993))
- Fix bug causing `move` events to be fired out of sync with actual map movements ([6005](https://github.com/mapbox/mapbox-gl-js/pull/6005))
- Fix bug wherein `Map` did not fire `mouseover` events ([6000](https://github.com/mapbox/mapbox-gl-js/pull/6000)] (h/t [jay-manday](https://github.com/jay-manday)))
- Fix bug causing blurry rendering of raster tiles ([4552](https://github.com/mapbox/mapbox-gl-js/issues/4552))
- Fix potential memory leak caused by removing layers ([5995](https://github.com/mapbox/mapbox-gl-js/issues/5995))
- Fix bug causing attribution icon to appear incorrectly in compact maps not using Mapbox data ([6042](https://github.com/mapbox/mapbox-gl-js/pull/6042))
- Fix positioning of default marker element ([6012](https://github.com/mapbox/mapbox-gl-js/pull/6012)) (h/t [andrewharvey](https://github.com/andrewharvey)))

0.43.0

⚠️ Breaking changes

- It is now an error to attempt to remove a source that is in use [5562](https://github.com/mapbox/mapbox-gl-js/pull/5562)
- It is now an error if the layer specified by the `before` parameter to `moveLayer` does not exist [5679](https://github.com/mapbox/mapbox-gl-js/pull/5679)
- `"colorSpace": "hcl"` now uses shortest-path interpolation for hue [5811](https://github.com/mapbox/mapbox-gl-js/issues/5811)

✨ Features and improvements

- Introduce client-side hillshading with `raster-dem` source type and `hillshade` layer type [5286](https://github.com/mapbox/mapbox-gl-js/pull/5286)
- GeoJSON sources take 2x less memory and generate tiles 20%–100% faster [5799](https://github.com/mapbox/mapbox-gl-js/pull/5799)
- Enable data-driven values for text-font [5698](https://github.com/mapbox/mapbox-gl-js/pull/5698)
- Enable data-driven values for heatmap-radius [5898](https://github.com/mapbox/mapbox-gl-js/pull/5898)
- Add getter and setter for offset on marker [5759](https://github.com/mapbox/mapbox-gl-js/pull/5759)
- Add `MaphasImage` [5775](https://github.com/mapbox/mapbox-gl-js/pull/5775)
- Improve typing for `==` and `!=` expressions [5840](https://github.com/mapbox/mapbox-gl-js/pull/5840)
- Made `coalesce` expressions more useful [5755](https://github.com/mapbox/mapbox-gl-js/issues/5755)
- Enable implicit type assertions for array types [5738](https://github.com/mapbox/mapbox-gl-js/pull/5738)
- Improve hash control precision [5767](https://github.com/mapbox/mapbox-gl-js/pull/5767)
- `supported()` now returns false on old IE 11 versions that don't support Web Worker blob URLs [5801](https://github.com/mapbox/mapbox-gl-js/pull/5801)
- Remove flow globals TileJSON and Transferable [5668](https://github.com/mapbox/mapbox-gl-js/pull/5668)
- Improve performance of image, video, and canvas sources [5845](https://github.com/mapbox/mapbox-gl-js/pull/5845)

🐛 Bug fixes

- Fix popups and markers lag during pan animation [4670](https://github.com/mapbox/mapbox-gl-js/issues/4670)
- Fix fading of symbol layers caused by setData [5716](https://github.com/mapbox/mapbox-gl-js/issues/5716)
- Fix behavior of `to-rgba` and `rgba` expressions [5778](https://github.com/mapbox/mapbox-gl-js/pull/5778), [#5866](https://github.com/mapbox/mapbox-gl-js/pull/5866)
- Fix cross-fading of `*-pattern` and `line-dasharray` [5791](https://github.com/mapbox/mapbox-gl-js/pull/5791)
- Fix `colorSpace` function property [5843](https://github.com/mapbox/mapbox-gl-js/pull/5843)
- Fix style diffing when changing GeoJSON source properties [5731](https://github.com/mapbox/mapbox-gl-js/issues/5731)
- Fix missing labels when zooming out from overzoomed tile [5827](https://github.com/mapbox/mapbox-gl-js/issues/5827)
- Fix missing labels when zooming out and quickly using setData [5837](https://github.com/mapbox/mapbox-gl-js/issues/5837)
- Handle NaN as input to step and interpolate expressions [5757](https://github.com/mapbox/mapbox-gl-js/pull/5757)
- Clone property values on input and output [5806](https://github.com/mapbox/mapbox-gl-js/pull/5806)
- Bump geojson-rewind dependency [5769](https://github.com/mapbox/mapbox-gl-js/pull/5769)
- Allow setting Marker's popup before LngLat [5893](https://github.com/mapbox/mapbox-gl-js/pull/5893)

0.42.2

🐛 Bug fixes

- Add box-sizing to the "mapboxgl-ctrl-scale"-class [5715](https://github.com/mapbox/mapbox-gl-js/pull/5715)
- Fix rendering in Safari [5712](https://github.com/mapbox/mapbox-gl-js/issues/5712)
- Fix "Cannot read property 'hasTransition' of undefined" error [5714](https://github.com/mapbox/mapbox-gl-js/issues/5714)
- Fix misplaced raster tiles [5713](https://github.com/mapbox/mapbox-gl-js/issues/5713)
- Fix raster tile fading [5722](https://github.com/mapbox/mapbox-gl-js/issues/5722)
- Ensure that an unset filter is undefined rather than null [5727](https://github.com/mapbox/mapbox-gl-js/pull/5727)
- Restore pitch-with-rotate to nav control [5725](https://github.com/mapbox/mapbox-gl-js/pull/5725)
- Validate container option in map constructor [5695](https://github.com/mapbox/mapbox-gl-js/pull/5695)
- Fix queryRenderedFeatures behavior for features displayed in multiple layers [5172](https://github.com/mapbox/mapbox-gl-js/issues/5172)

0.42.1

🐛 Bug fixes

- Workaround for map flashing bug on Chrome 62+ with Intel Iris Graphics 6100 cards [5704](https://github.com/mapbox/mapbox-gl-js/pull/5704)
- Rerender map when `map.showCollisionBoxes` is set to `false` [5673](https://github.com/mapbox/mapbox-gl-js/pull/5673)
- Fix transitions from property default values [5682](https://github.com/mapbox/mapbox-gl-js/pull/5682)
- Fix runtime updating of `heatmap-color` [5682](https://github.com/mapbox/mapbox-gl-js/pull/5682)
- Fix mobile Safari `history.replaceState` error [5613](https://github.com/mapbox/mapbox-gl-js/pull/5613)

✨ Features and improvements

- Provide default element for Marker class [5661](https://github.com/mapbox/mapbox-gl-js/pull/5661)

0.42.0

⚠️ Breaking changes

- Require that `heatmap-color` use expressions instead of stop functions [5624](https://github.com/mapbox/mapbox-gl-js/issues/5624)
- Remove support for validating and migrating v6 styles
- Remove support for validating v7 styles [5604](https://github.com/mapbox/mapbox-gl-js/pull/5604)
- Remove support for including `{tokens}` in expressions for `text-field` and `icon-image` [5599](https://github.com/mapbox/mapbox-gl-js/issues/5599)
- Split `curve` expression into `step` and `interpolate` expressions [5542](https://github.com/mapbox/mapbox-gl-js/pull/5542)
- Disallow interpolation in expressions for `line-dasharray` [5519](https://github.com/mapbox/mapbox-gl-js/pull/5519)

✨ Features and improvements

- Improve label collision detection [5150](https://github.com/mapbox/mapbox-gl-js/pull/5150)
- Labels from different sources will now collide with each other
- Collisions caused by rotation and pitch are now smoothly transitioned with a fade
- Improved algorithm for fewer erroneous collisions, denser label placement, and greater label stability during rotation
- Add `sqrt` expression [5493](https://github.com/mapbox/mapbox-gl-js/pull/5493)

🐛 Bug fixes and error reporting improvements

- Fix viewport calculations for `fitBounds` when both zooming and padding change [4846](https://github.com/mapbox/mapbox-gl-js/issues/4846)
- Fix WebGL "range out of bounds for buffer" error caused by sorted symbol layers [5620](https://github.com/mapbox/mapbox-gl-js/issues/5620)
- Fix symbol fading across tile reloads [5491](https://github.com/mapbox/mapbox-gl-js/issues/5491)
- Change tile rendering order to better match GL Native [5601](https://github.com/mapbox/mapbox-gl-js/pull/5601)
- Ensure no errors are triggered when calling `queryRenderedFeatures` on a heatmap layer [5594](https://github.com/mapbox/mapbox-gl-js/pull/5594)
- Fix bug causing `queryRenderedSymbols` to return results from different sources [5554](https://github.com/mapbox/mapbox-gl-js/issues/5554)
- Fix CJK rendering issues [5544](https://github.com/mapbox/mapbox-gl-js/issues/5544), [#5546](https://github.com/mapbox/mapbox-gl-js/issues/5546)
- Account for `circle-stroke-width` in `queryRenderedFeatures` [5514](https://github.com/mapbox/mapbox-gl-js/pull/5514)
- Fix rendering of fill layers atop raster layers [5513](https://github.com/mapbox/mapbox-gl-js/pull/5513)
- Fix rendering of circle layers with a `circle-stroke-opacity` of 0 [5496](https://github.com/mapbox/mapbox-gl-js/issues/5496)
- Fix memory leak caused by actor callbacks [5443](https://github.com/mapbox/mapbox-gl-js/issues/5443)
- Fix source cache size for raster sources with tile sizes other than 512px [4313](https://github.com/mapbox/mapbox-gl-js/issues/4313)
- Validate that zoom expressions only appear at the top level of an expression [5609](https://github.com/mapbox/mapbox-gl-js/issues/5609)
- Validate that step and interpolate expressions don't have any duplicate stops [5605](https://github.com/mapbox/mapbox-gl-js/issues/5605)
- Fix rendering for `icon-text-fit` with a data-driven `text-size` [5632](https://github.com/mapbox/mapbox-gl-js/pull/5632)
- Improve validation to catch uses of deprecated function syntax [5667](https://github.com/mapbox/mapbox-gl-js/pull/5667)
- Permit altitude coordinates in `position` field in GeoJSON [5608](https://github.com/mapbox/mapbox-gl-js/pull/5608)

0.41.0

:warning: Breaking changes

- Removed support for paint classes [3643](https://github.com/mapbox/mapbox-gl-js/pull/3643). Instead, use runtime styling APIs or `Map#setStyle`.
- Reverted the `canvas` source `contextType` option added in 0.40.0 [5449](https://github.com/mapbox/mapbox-gl-js/pull/5449)

:bug: Bug fixes

- Clip raster tiles to avoid tile overlap [5105](https://github.com/mapbox/mapbox-gl-js/pull/5105)
- Guard for offset edgecase in flyTo [5331](https://github.com/mapbox/mapbox-gl-js/pull/5331)
- Ensure the map is updated after the sprite loads [5367](https://github.com/mapbox/mapbox-gl-js/pull/5367)
- Limit animation duration on flyTo with maxDuration option [5349](https://github.com/mapbox/mapbox-gl-js/pull/5349)
- Make double-tapping on make zoom in by a factor of 2 on iOS [5274](https://github.com/mapbox/mapbox-gl-js/pull/5274)
- Fix rendering error with translucent raster tiles [5380](https://github.com/mapbox/mapbox-gl-js/pull/5380)
- Error if invalid 'before' argument is passed to MapaddLayer [5401](https://github.com/mapbox/mapbox-gl-js/pull/5401)
- Revert CanvasSource intermediary image buffer fix [5449](https://github.com/mapbox/mapbox-gl-js/pull/5449)

:sparkles: Features and improvements

- Use setData operation when diffing geojson sources [5332](https://github.com/mapbox/mapbox-gl-js/pull/5332)
- Return early from draw calls on layers where opacity=0 [5429](https://github.com/mapbox/mapbox-gl-js/pull/5429)
- A [heatmap](https://www.mapbox.com/mapbox-gl-js/example/heatmap-layer/) layer type is now available. This layer type allows you to visualize and explore massive datasets of points, reflecting the shape and density of data well while also looking beautiful. See [the blog post](https://blog.mapbox.com/sneak-peek-at-heatmaps-in-mapbox-gl-73b41d4b16ae) for further details.
![heatmap screenshot](https://cdn-images-1.medium.com/max/1600/1*Dme5MAgdA3pYdTRHUQzvLw.png)
- The value of a style property or filter can now be an [expression](https://www.mapbox.com/mapbox-gl-js/style-spec/#expressions). Expressions are a way of doing data-driven and zoom-driven styling that provides more flexibility and control, and unifies property and filter syntax.

Previously, data-driven and zoom-driven styling relied on stop functions: you specify a feature property and a set of input-output pairs that essentially define a “scale” for how the style should be calculated based on the feature property. For example, the following would set circle colors on a green-to-red scale based on the value of `feature.properties.population`:


"circle-color": {
"property": "population",
"stops": [
[0, "green"],
[1000000, "red"]
]
}


This approach is powerful, but we’ve seen a number of use cases that stop functions don't satisfy. Expressions provide the flexibility to address use cases like these:

**Multiple feature properties**
Using more than one feature property to calculate a given style property. E.g., styling land polygon colors based on both `feature.properties.land_use_category` and `feature.properties.elevation`.

**Arithmetic**
For some use cases it’s necessary to do some arithmetic on the input data. One example is sizing circles to represent quantitative data. Since a circle’s visual size on the screen is really its area (and A=πr^2), the right way to scale `circle-radius` is `square_root(feature.properties.input_data_value)`. Another example is unit conversions: feature data may include properties that are in some particular unit. Displaying such data in units appropriate to, say, a user’s preference or location, requires being able to do simple arithmetic (multiplication, division) on whatever value is in the data.

**Conditional logic**
This is a big one: basic if-then logic, for example to decide exactly what text to display for a label based on which properties are available in the feature or even the length of the name. A key example of this is properly supporting bilingual labels, where we have to decide whether to show local + English, local-only, or English-only, based on the data that’s available for each feature.

**String manipulation**
More dynamic control over label text with things like uppercase/lowercase/title case transforms, localized number formatting, etc. Without this functionality, crafting and iterating on label content entails a large data-prep burden.

**Filters**
Style layer filters had similar limitations. Moreover, they use a different syntax, even though their job is very similar to that of data-driven styling functions: filters say, “here’s how to look at a feature and decide whether to draw it,” and data-driven style functions say, “here’s how to look at a feature and decide how to size/color/place it.” Expressions provide a unified syntax for defining parts of a style that need to be calculated dynamically from feature data.

For information on the syntax and behavior of expressions, please see [the documentation](https://www.mapbox.com/mapbox-gl-js/style-spec/#expressions).

:wrench: Development workflow improvements

- Made the performance benchmarking runner more informative and statistically robust

Page 24 of 36

Links

Releases

Has known vulnerabilities

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.