Added
- Add `isosurface` gl3d trace type [[3438](https://github.com/plotly/plotly.js/pull/3438)]
- Add support for transitions from `Plotly.react` via new layout
`transition` attribute [[3217](https://github.com/plotly/plotly.js/pull/3217)]
- Add `meta` layout attribute, intended for making references
to strings in text templates [[3439](https://github.com/plotly/plotly.js/pull/3439)]
- Add support for `line.color` colorbars for `scatter3d` traces [[3384](https://github.com/plotly/plotly.js/pull/3384)]
- Add support for `hovertemplate` on `scatterpolar`, `scatterpolargl`,
`scatterternary`, `barpolar`, `choropleth`, `scattergeo` and
`scattermapbox` trace [[3398](https://github.com/plotly/plotly.js/pull/3398), [#3436](https://github.com/plotly/plotly.js/pull/3436)]
- Add `width` attribute to `box` and `violin` traces [[3234](https://github.com/plotly/plotly.js/pull/3234)]
- Add support for `<sup>`, `<sup>`, `<b>`, `<i>` and `<em>` pseudo-html
tags in extra (aka trace "name") hover labels [[3443](https://github.com/plotly/plotly.js/pull/3443)]
- Add support for div id as 1st arg to `Plotly.makeTemplate` [[3375](https://github.com/plotly/plotly.js/pull/3375)]
- Add `config` option in plot-schema JSON output [[3376](https://github.com/plotly/plotly.js/pull/3376)]
Changed
- Config option `scrollZoom` is now a flaglist (instead of a boolean),
each flag corresponding to subplot types where scroll is to be enabled [[3422](https://github.com/plotly/plotly.js/pull/3422)]
- Use `glslify7.0.0` across all our dependencies [[3421](https://github.com/plotly/plotly.js/pull/3421)]
Fixed
- Fix `error_(x|y|z)` color attribute inheritance [[3408](https://github.com/plotly/plotly.js/pull/3408)]
- Fix `scrollZoom: false` config behavior for `geo`, `gl3d` and `mapbox` subplots [[3422](https://github.com/plotly/plotly.js/pull/3422)]
- Fix cartesian scroll zoom when `responsive` config option is turned on [[3424](https://github.com/plotly/plotly.js/pull/3424)]
- Fix cartesian scroll zoom when the page where the graph is embedded is scrollable [[3424](https://github.com/plotly/plotly.js/pull/3424)]
- Fix `box` / `violin` autorange edge cases [[3234](https://github.com/plotly/plotly.js/pull/3234)]
- Fix `box` / `violin` points hover labels on numeric positions [[3441](https://github.com/plotly/plotly.js/pull/3441), [#3458](https://github.com/plotly/plotly.js/pull/3458)]
- Fix `box` / `violin` grouping algorithm for subplots with as many distinct positions
as the number of traces [[3445](https://github.com/plotly/plotly.js/pull/3445)]
- Fix bar autorange calculations for trace with `base` above zero [[3452](https://github.com/plotly/plotly.js/pull/3452)]
- Fix bar + errorbar autorange calculations [[3452](https://github.com/plotly/plotly.js/pull/3452)]
- Fix `lightposition` behavior for `mesh3d` traces [[3415](https://github.com/plotly/plotly.js/pull/3415)]
- Fix legend `valign` behavior for `pie` traces [[3435](https://github.com/plotly/plotly.js/pull/3435)]
- Fix wrapped horizontal legends height edge cases [[3446](https://github.com/plotly/plotly.js/pull/3446)]
- Fix hover label alignment for hover labels with multi-line extra (aka trace "name") labels [[3443](https://github.com/plotly/plotly.js/pull/3443)]
- Fix cartesian axis domain lower limit [[3404](https://github.com/plotly/plotly.js/pull/3404)]
- Fix dynamic imports of `lib/` trace modules [[3448](https://github.com/plotly/plotly.js/pull/3448)]
- Fix `scl` and `reversescl` backward-compatible logic [[3423](https://github.com/plotly/plotly.js/pull/3423)]
- Fix range slider `borderwidth` attribute description [[3453](https://github.com/plotly/plotly.js/pull/3453)]