Added
- Add `splom` (aka scatter plot matrix) traces [[2505](https://github.com/plotly/plotly.js/pull/2505)]
- Add multi-selection and click-to-select on `parcoords` axes [[2415](https://github.com/plotly/plotly.js/pull/2415)]
- Add selection and improve legend items for `ohlc` and `candlestick` [[2561](https://github.com/plotly/plotly.js/pull/2561)]
- Add 'fixed size' layout shapes through new shape attributes
`xsizemode`, `ysizemode`, `xanchor` and `yanchor` [[2532](https://github.com/plotly/plotly.js/pull/2532)]
- Add layout attribute `selectdirection` to restrict select-box direction [[2506](https://github.com/plotly/plotly.js/pull/2506)]
- Add support for selections on graphs with range sliders [[2561](https://github.com/plotly/plotly.js/pull/2561)]
- Add support for ragged `table` inputs [[2511](https://github.com/plotly/plotly.js/pull/2511)]
- Add Czech (`cs`) locale [[2483](https://github.com/plotly/plotly.js/pull/2483)]
- Add Japanese (`ja`) locale [[2558](https://github.com/plotly/plotly.js/pull/2558)]
Changed
- Multiple performance improvements for cartesian subplots, most noticeable
on graphs with many cartesian subplots [[2474](https://github.com/plotly/plotly.js/pull/2474), [#2487](https://github.com/plotly/plotly.js/pull/2487), [#2527](https://github.com/plotly/plotly.js/pull/2527)]
- Use new `gl-mesh3d` version that attempts to make lighting results less
hardware-dependent [[2365](https://github.com/plotly/plotly.js/pull/2365)]
- New and improved point-clustering algorithm for `scattergl` [[2499](https://github.com/plotly/plotly.js/pull/2499)]
- Improved `regl-line2d` component [[2556](https://github.com/plotly/plotly.js/pull/2556)]
Fixed
- Fix memory leak in `parcoords` traces [[2415](https://github.com/plotly/plotly.js/pull/2415)]
- Fix `scattergl` `selectedpoints` clearance under select/lasso drag modes [[2492](https://github.com/plotly/plotly.js/pull/2492)]
- Fix `scattergl` horizontal lines rendering [[2564](https://github.com/plotly/plotly.js/pull/2564)]
- Fix `scattergl` unselected marker opacity for array marker opacity traces [[2503](https://github.com/plotly/plotly.js/pull/2503)]
- Fix `scattergl` hover over data gaps [[2499](https://github.com/plotly/plotly.js/pull/2499)]
- Fix `ohlc` on category axes [[2561](https://github.com/plotly/plotly.js/pull/2561)]
- Fix inconsistencies in `ohlc` and `candlestick` event data [[2561](https://github.com/plotly/plotly.js/pull/2561)]
- Fix hover `text` for `candlestick` traces [[2561](https://github.com/plotly/plotly.js/pull/2561)]
- Fix `scattermapbox` selections for traces with data gaps [[2513](https://github.com/plotly/plotly.js/pull/2513)]
- Fix `table` border cases that got previously cut off [[2511](https://github.com/plotly/plotly.js/pull/2511)]
- Fix `box` traces with one jittered outlier [[2530](https://github.com/plotly/plotly.js/pull/2530)]
- Fix `cliponfalse: false` on reversed axes [[2533](https://github.com/plotly/plotly.js/pull/2533)]
- Fix buggy `plot_bgcolor` rendering when updating axis `overlaying` attribute [[2516](https://github.com/plotly/plotly.js/pull/2516)]
- Fix buggy `Plotly.react` behavior for `carpet`, `contourcarpet`, `scattercarpet`,
`table` and x/y/z column `heatmap` traces [[2525](https://github.com/plotly/plotly.js/pull/2525)]
- Fix buggy `Plotly.react` behavior for `ohlc` and `candlestick` traces [[2561](https://github.com/plotly/plotly.js/pull/2561)]
- Fix ordered categories on graphs with `visible: false` traces [[2489](https://github.com/plotly/plotly.js/pull/2489)]
- Fix ordered categories in multi-subplot graphs [[2489](https://github.com/plotly/plotly.js/pull/2489)]
- Fix inconsistencies when ordering number and numeric string categories [[2489](https://github.com/plotly/plotly.js/pull/2489)]
- Fix format `days` in English locale [[2490](https://github.com/plotly/plotly.js/pull/2490)]
- Handle HTML links with encoded URIs correctly in svg text labels [[2471](https://github.com/plotly/plotly.js/pull/2471)]