October 10, 2018
✨ Features and improvements
- 🎉 Add Custom Layers that can be rendered into with user-provided WebGL code ([7039](https://github.com/mapbox/mapbox-gl-js/pull/7039))
- Add WebGL face culling for increased performance ([7178](https://github.com/mapbox/mapbox-gl-js/pull/7178))
- Improve speed of expression evaluation ([7334](https://github.com/mapbox/mapbox-gl-js/pull/7334))
- Automatically coerce to string for `concat` expression and `text-field` property ([6190](https://github.com/mapbox/mapbox-gl-js/issues/6190), fixed by [#7280](https://github.com/mapbox/mapbox-gl-js/pull/7280))
- Add `fill-extrusion-vertical-gradient` property for controlling shading of fill extrusions ([5768](https://github.com/mapbox/mapbox-gl-js/issues/5768), fixed by [#6841](https://github.com/mapbox/mapbox-gl-js/pull/6841))
- Add update functionality for images provided via `ImageSource` ([4050](https://github.com/mapbox/mapbox-gl-js/issues/4050), fixed by [#7342](https://github.com/mapbox/mapbox-gl-js/pull/7342)) (h/t [dcervelli](https://github.com/dcervelli))
🐛 Bug fixes
- **Expressions**
- Fix expressions that use `log2` and `log10` in IE11 ([7318](https://github.com/mapbox/mapbox-gl-js/issues/7318), fixed by [#7320](https://github.com/mapbox/mapbox-gl-js/pull/7320))
- Fix `let` expression stripping expected type during parsing ([7300](https://github.com/mapbox/mapbox-gl-js/issues/7300), fixed by [#7301](https://github.com/mapbox/mapbox-gl-js/pull/7301))
- Fix superfluous wrapping of literals in `literal` expression ([7336](https://github.com/mapbox/mapbox-gl-js/issues/7336), fixed by [#7337](https://github.com/mapbox/mapbox-gl-js/pull/7337))
- Allow calling `to-color` on values that are already of type `Color` ([7260](https://github.com/mapbox/mapbox-gl-js/pull/7260))
- Fix `to-array` for empty arrays (([7261](https://github.com/mapbox/mapbox-gl-js/pull/7261)))
- Fix identity functions for `text-field` when using formatted text ([7351](https://github.com/mapbox/mapbox-gl-js/pull/7351))
- Fix coercion of `null` to `0` in `to-number` expression ([7083](https://github.com/mapbox/mapbox-gl-js/issues/7083), fixed by [#7274](https://github.com/mapbox/mapbox-gl-js/pull/7274))
- **Canvas source**
- Fix missing repeats of `CanvasSource` when it crosses the antimeridian ([7273](https://github.com/mapbox/mapbox-gl-js/pull/7273))
- Fix `CanvasSource` not respecting alpha values set on `canvas` element ([7302](https://github.com/mapbox/mapbox-gl-js/issues/7302), fixed by [#7309](https://github.com/mapbox/mapbox-gl-js/pull/7309))
- **Rendering**
- Fix rendering of fill extrusions with really high heights ([7292](https://github.com/mapbox/mapbox-gl-js/pull/7292))
- Fix an error where the map state wouldn't return to `loaded` after certain runtime styling changes when there were errored tiles in the viewport ([7355](https://github.com/mapbox/mapbox-gl-js/pull/7355))
- Fix errors when rendering symbol layers without symbols ([7241](https://github.com/mapbox/mapbox-gl-js/issues/7241), fixed by [#7253](https://github.com/mapbox/mapbox-gl-js/pull/7253))
- Don't fade in symbols with `*-allow-overlap: true` when panning into the viewport ([7172](https://github.com/mapbox/mapbox-gl-js/issues/7172), fixed by[#7244](https://github.com/mapbox/mapbox-gl-js/pull/7244))
- **Library**
- Fix disambiguation for `mouseover` event ([7295](https://github.com/mapbox/mapbox-gl-js/issues/7295), fixed by [#7299](https://github.com/mapbox/mapbox-gl-js/pull/7299))
- Fix silent failure of `getImage` if an SVG is requested ([7312](https://github.com/mapbox/mapbox-gl-js/issues/7312), fixed by [#7313](https://github.com/mapbox/mapbox-gl-js/pull/7313))
- Fix empty control group box shadow ([7303](https://github.com/mapbox/mapbox-gl-js/issues/7303), fixed by [#7304](https://github.com/mapbox/mapbox-gl-js/pull/7304)) (h/t [Duder-onomy](https://github.com/Duder-onomy))
- Fixed an issue where a wrong timestamp was sent for Mapbox turnstile events ([7381](https://github.com/mapbox/mapbox-gl-js/pull/7381))
- Fixed a bug that lead to attribution not showing up correctly in Internet Explorer ([3945](https://github.com/mapbox/mapbox-gl-js/issues/3945), fixed by [#7391](https://github.com/mapbox/mapbox-gl-js/pull/7391))