UNPKG

plotly.js

Version:

The open source javascript graphing library that powers plotly

1,099 lines (883 loc) 135 kB
# plotly.js changelog For more context information, please read through the [release notes](https://github.com/plotly/plotly.js/releases). To see all merged commits on the master branch that will be part of the next plotly.js release, go to: <https://github.com/plotly/plotly.js/compare/vX.Y.Z...master> where X.Y.Z is the semver of most recent plotly.js release. ## [1.58.4] -- 2020-12-21 ### Fixed - Fix `preserveDrawingBuffer` WebGL config for displaying transparent gl3d scenes on Apple devices running latest Safari versions (v13 and higher) [#5351] - Fix spelling [#5349, #5356] with thanks to @jbampton for the contribution! ## [1.58.3] -- 2020-12-17 ### Fixed - Fix `autorange` for inside tick label positions [#5332] - Fix "nonnegative" and "tozero" `rangemode` for inside tick label positions (regression introduced in 1.58.2) [#5331] - Fix missing categories and tick labels on react updates (regression introduced in 1.54.6) [#5345] - Fix to avoid "autoscale" error when axis `autorange` is set to false (regression introduced in 1.42.0) [#5336] ## [1.58.2] -- 2020-12-08 ### Fixed - Fix `root.color` error for `treemap` and `sunburst` traces (regression introduced in 1.58.0) [#5330] - Avoid infinite redraws to compute autorange for "inside" tick labels on the axes linked with `scaleanchor` and/or `matches` [#5329] - Provide padding for "inside" tick labels of various cartesian traces e.g. `heatmap`, `bar` and `line` plots [#5325] - Adjust position of multi-line dates for tick labels in respect to `side` and `ticklabelposition` on x-axis [#5326] - Move `tape` to dev-dependencies [#5323] ## [1.58.1] -- 2020-12-04 ### Fixed - Fix `automargin` bug for the case of short remaining height or width for plot [#5315], (regression introduced in 1.58.0) ## [1.58.0] -- 2020-12-02 ### Added - Add `ticklabelposition` attribute to cartesian axes and colorbars [#5275], this feature was anonymously sponsored: thank you to our sponsor! - Add "strict" `autotypenumbers` to axes and `layout` [#5240] - Add `itemwidth` to legends [#5212], with thanks to @s417-lama for the contribution! - Add `root.color` attribute to `sunburst` and `treemap` traces [#5232, #5245], with thanks to @thierryVergult for the contribution! ### Changed - Enable fast `image` rendering for all linear axes [#5307], with thanks to @almarklein for the contribution! - Rework `matches` and `scaleanchor` so they work together [#5287] ### Fixed - Fix hover on mobile and tablet devices for gl3d subplots [#5239] (regression introduced in 1.34.0), with thanks to @jdpaterson for the contribution! - Fix interactions when static/dynamic CSS transforms e.g. scale and translate are applied to the graph div or its parents [#5193, #5302], with thanks to @alexhartstone for the contribution! - Fix reordering of mapbox raster and image layers on update [#5269] - Fix `categoryorder` for missing values in cartesian traces [#5268] - Fix `automargin` bug to provide space for long axis labels [#5237] - Avoid styling of backgrounds during `automargin` redraws [#5236] - Fix displaying zero length bars with `staticPlot` config option [#5294] - Fix setting false locale to "en-US" [#5293] - Fix typo in Czech locale file [#5255], with thanks to @helb for the contribution! - Fix `gl3d` scene initialization [#5233] ## [1.57.1] -- 2020-10-20 ### Changed - Update template for new pull requests [#5220] - Provide a default `hovertemplate` label for attribute "base" in `bar` traces [#5216] ### Fixed - Fix `staticPlot` behaviour for `rangeslider` and `legend` [#5210], with thanks to @miqh for the contribution! - Fix `colorbar` react to new styles [#5217], with thanks to @anaplian for the contribution! - Fix `computed` margins when plot involves too many redraws [#5225] - Fix build issue for Chart Studio Cloud (regression introduced in 1.56.0) [#5223] ## [1.57.0] -- 2020-10-15 ### Added - Introduce "domain" axis references in layout `images`, `shapes` and `annotations` [#5014] - Add `rotation` attribute to `sunburst` traces [#5171, #5201], with thanks to @thierryVergult for the contribution! - Provide computed margins in "full-json" export [#5203], this feature was anonymously sponsored: thank you to our sponsor! ### Changed - Mention the "full-json" option in the `Plotly.toImage` warning [#5204] - Use current graph dimensions in `Plotly.downloadImage` [#5209] ### Fixed - Fix importing color modules for webpack users (regression introduced in 1.56.0) [#5189] - Fix positioning ticks and labels on axes with `rangebreaks` and/or "period" `ticklabelmode` [#5187, #5208] - Fix autorange computation when a category matches a range extreme [#5211], with thanks to @LoganWlv for the contribution! - Fix displaying modebar after `Plotly.restyle` [#5181], with thanks to @Yook74 for the contribution! ## [1.56.0] -- 2020-09-30 ### Added - Introduce period positioning attributes on date axes in various cartesian traces [#5074, #5175], this feature was anonymously sponsored: thank you to our sponsor! - Add `minexponent` attribute to improve control over SI prefixes in axis tick labels [#5121], with thanks to @ignamv for the contribution! - Add `sort` attribute to `sunburst` and `treemap` traces to disable automatic sort [#5164], with thanks to @thierryVergult for the contribution! - Handle `rgba` colors in `colorscale` of `surface` traces [#5166], with thanks to @lucapinello for the contribution! ### Changed - Disable undesirable text selections on graphs [#5165] - Adjust `tick0` for weekly periods [#5180] - More informative error messages when creating `sunburst` and `treemap` charts [#5163] ### Fixed - Fix positioning `legend` items [#5139], with thanks to @fredrikw for the contribution! - Fix rounding big numbers in `pie` and `sunburst` traces [#5152] - Display `marker` and `line` colors in `scatter3d` and `scattergl` when hovering [#4867] ## [1.55.2] -- 2020-09-08 ### Fixed - Fix `automargin` when `ticklabelmode` is set to "period" [#5134] ## [1.55.1] -- 2020-09-02 ### Fixed - Install `image-size` module in dependencies [#5119] ## [1.55.0] -- 2020-09-02 ### Added - Introduce "period" `ticklabelmode` on cartesian date axes [#4993, #5055, #5060, #5065, #5088, #5089], this feature was anonymously sponsored: thank you to our sponsor! - Add new formatting options for weeks and quarters [#5026], this feature was anonymously sponsored: thank you to our sponsor! - Add `source` attribute to `image` traces for fast rendering [#5075] - Add `zsmooth` attribute for discrete `heatmapgl` traces [#4953], with thanks to @ordiology for the contribution! - Add horizontal and vertical markers for arrow charts [#5010] - Add touch support to `rangeslider` [#5025], with thanks to @priyanomi, @cristiantx, @JasDev42 for their contribution! ### Changed - Improve contribution guide & readme, add code of conduct [#5068] - Bump various dev-dependencies namely bubleify and glslify [#5084, #5085, #5118] ### Fixed - Fix updating `title` and tick labels during transition with react [#5045] - Fix `table` wheel scroll for Firefox [#5051], with thanks to @ManelBH for the contribution! - Fix ISO-8601 short time zone format [#5015], with thanks to @mtgto for the contribution! - Fix numeric periods on date axes for `bar` with `base` [#5061] - Fix `bar` and `box` widths on categorical axes in "overlay" mode [#5072] - Fix `symbol` numbers in string format [#5073] - Fix gl2d marker sizes [#5093] - Fix default latitude span in `geo` subplots [#5033] - Improve axis tick increment [#5114] ## [1.54.7] -- 2020-07-23 ### Changed - Revert [#4904] to fix a template regression introduced in 1.54.4 [#5016] ## [1.54.6] -- 2020-07-09 ### Fixed - Link matching axes categories during `Plotly.relayout` calls (regression introduced in 1.54.2) [#4977] - Fix "median" aggregation transforms [#4969] - Fix `parcats` category order when the dimension only includes numbers [#4973] - Fix numeric sort in `ternary` drag [#4975] - Fix `heatmapgl` supply defaults not to add unimplemented attributes `xcalendar`, `ycalendar`, `xgap`, `ygap`, `zsmooth`, `zhoverformat`, `hoverongaps` and `hovertemplate` to `gd._fullData` [#4950] - Fix `contourgl` supply defaults not to add unimplemented attributes `xcalendar`, `ycalendar` to `gd._fullData` [#4951] ## [1.54.5] -- 2020-06-23 ### Fixed - Fix placement of dividers on reversed-range `multicategory` axes [#4939] - Fix placement of `candlestick`, `ohlc` and `box` plots on axes with `rangebreaks` [#4937] - Handle undefined layout and data arguments in `Plotly.validate` [#4938] ## [1.54.4] -- 2020-06-22 ### Changed - Bump `ecstatic`, `gl-selet-static`, `gl-plot2d` & `gl-plot3d` and drop `cwise` to simplify build process & address security warnings [#4929, #4930, #4934] ### Fixed - Fix setting width and color of lines via template various attributes namely `tickcolor`, `tickwidth`, `ticklen`, `linecolor`, `linewidth`, `zerolinecolor`, `zerolinewidth`, `gridcolor`, `gridwidth`, etc. [#4904] ## [1.54.3] -- 2020-06-16 ### Fixed - Fix `autosize` case of hidden div with non-px size [#4925] ## [1.54.2] -- 2020-06-10 ### Changed - Bump `regl` dependency to v1.6.1 [#4881] - Bump `ndarray` dependency to v1.0.19 [#4910] - Bump `mapbox-gl` dependency to v1.10.1 [#4859] - Improve docs about building Plotly with Angular [#4182] ### Fixed - Fix wheel event for IE-11 [#4385] - Fix `plot_bgcolor` react [#4816] - Fix `legend.title` react [#4827] - Fix `rangebreaks` on `candlestick` & `ohlc` traces [#4814] - Fix `rangebreaks` on `heatmap` traces with 2-D `z` array [#4821] - Fix `rangebreaks` on `histogram2d` traces [#4829] - Fix `rangebreaks` overlapping and tick positions [#4831] - Fix "array" `tickmode` on date & log axes [#4851] - Fix category order of matching axes when calling react [#4832] - Fix for bypassing non-string ids during matching axes [#4858] - Fix selection of single value `dimensions` in `parcoords` traces [#4878] - Fix `bar` lengths in milliseconds from `base` [#4900] - Fix gl3d ticks when converting dates to milliseconds (regression introduced in 1.21.0) [#4903] ## [1.54.1] -- 2020-05-04 ### Changed - Update dependencies in package.json & package-lock.json [#4799, #4800, #4802, #4805, #4811] ### Fixed - Set pointer-events only for editable shapes to allow pan, zoom & hover events to work inside shapes (regression introduced in 1.54.0) [#4810] - Update and validate various mocks [#4762] ## [1.54.0] -- 2020-04-30 ### Added - Introduce new drag modes "drawline", "drawrect", "drawcircle", "drawopenpath", "drawclosedpath" & add optional modebar buttons for drawing & removing new shapes inside cartesian subplots & add `newshape` and `activeshape` attributes to `layout` & add `editable` and `fillrule` attributes to `layout.shapes` [#4775] - Add `angle` and `allowoverlap` attributes to `marker` of `scattermapbox` traces [#4575, #4794] - Add Portuguese (Portugal) `pt-pt` locale [#4736] ### Changed - Bump WebGL modules including mapbox-gl and is-mobile [#4731, #4752, #4791] - Bump jsdom, d3-force, minify-stream, topojson-client and es6-promise [#4751, #4768, #4772, #4773, #4774] ### Fixed - Sanitize `sourceattribution` in mapbox `layers` [#4793] - Fix `react`to mapbox `style` changes [#4720] - Fix transform sort order with gaps [#4783] - Fix autorange for `bar` and `waterfall` when `base` is present [#4714] - Fix "extremes" `opacityscale` option for `volume` and `surface` [#4725] - Fix no-WebGL warning for `scattergl` and `splom` traces [#4777] - Fix notifier CSS to have a fallback in font stack [#4778] ## [1.53.0] -- 2020-03-31 ### Added - Introduce `rangebreaks` on date axes mainly thanks to [#4614] with API revision & improvements in [#4639, #4641, #4644, #4649, #4652, #4653, #4660, #4661, #4670, #4677, #4684, #4688, #4695, #4696, #4698, #4699], this feature was anonymously sponsored: thank you to our sponsor! - Introduce "(x|y) unified" `hovermode` [#4620, #4664, #4669, #4687], this feature was anonymously sponsored: thank you to our sponsor! - Add "hovered data" mode to `spikesnap` [#4665] - Add "full-json" export format to `Plotly.toImage` and `Plotly.dowloadImage` [#4593] - Add `node.customdata` and `link.customdata` to `sankey` traces [#4621] - Add `opacityscale` for `surface` traces [#4480] ### Changed - Improve `contour` labels (add extra pad) and correct minus sign [#4540] - Improve sizing text inside `pie` and `sunburst` (add extra pad) [#4519] - Improve display of spikelines when `spikedistance` is set to -1 [#4637] - Improve compare `hovermode` to include all points at same coordinate [#4664] - Improve `histogram` hover labels (harmonize start & end values) [#4662] - Display new colors on Plotly's logo [#4691] - Update links & descriptions to Chart Studio Cloud and plotly.com website [#4694] - Update contributing guidelines & add info about trace module architecture [#4624] - Require `config.plotlyServerURL` to be set for Chart Studio export [#4690] ### Fixed - Fix `Plotly.downloadImage` to match transparencies in gl3d plots with the on-screen render [#4566] - Fix amount of transparency applied by `opacity` in `surface` traces [#4480, #4642] - Fix gaps in `bar` traces (regression introduced in 1.50.0) [#4634] - Fix gaps in `funnel` & `waterfall` [#4663] - Fix `template` to set axis `type`, `tickformatstops`, `tick0`, `dtick`, `tickvals` and `tickmode` [#4670, #4685] ## [1.52.3] -- 2020-03-02 ## Fixed - Make identical bundles on different nodes [#4601] - Fix (regression introduced in 1.52.1) and improve interactive display of narrow points of `bar`-like traces [#4568] - Ensure text fits inside `sunburst` sectors with zero values [#4580] - Reset `splom` selectBatch and unselectBatch on updates [#4595] - Retry different mobile/tablet config to render gl3d subplots on various devices & browsers e.g. Brave [#4549] - Bump `is-mobile` to handle iPad Pro & iPad 7th + iOs v13 + Safari [#4548] - Fix `orthographic` hover after scroll zoom [#4562] - Preserve gl3d `scene aspectratio` after `orthographic` scroll zoom [#4578] - Include gl3d `scene.aspectmode` changes in relayout updates [#4579] - Apply utf-8 charset in test_dashboard [#4554] ## [1.52.2] -- 2020-02-03 ## Fixed - Handle 'missing' matching axes [#4529] - Fix hover for `mesh3d`, `isosurface` and `volume` when using `plotGlPixelRatio > 1` (bug introduced in 1.45.0) [#4534] - Fix hover of `mesh3d` traces with `facecolor` and `intensitymode: 'cell'` [#4539] - Fix gl3d rendering on iPad Pro & iPad 7th + iOs v13 + Safari [#4360, #4546] - Fix pixel-rounding logic for blank bars [#4522] - Fix `pathbar.visible` updates in `treemap` traces [#4516] - Fix `waterfall` `'closest'` hover when cursor is below the size axis [#4537] - Fix mapbox layout layer opacity for raster types [#4525] - Allow `0` in `grouby` transform `nameformat` templates [#4526] - Fix `Plotly.validate` for `valType:'any'` attributes [#4526] - Bump `d3-interpolate` to v1.4.0 [#4475] - Bump `d3-hierarchy` to v1.1.9 [#4475] - Fix typo in annotation `align` attribute description [#4528] - Fix `plot_bgcolor` and `paper_bgcolor` attribute description [#4536] - Fix `insidetextorientation` description for pie and sunburst traces [#4523] ## [1.52.1] -- 2020-01-13 ### Fixed - Fix handling of `geo.visible` false edge case in order to override `template.layout.geo.show*` attributes [#4483] ## [1.52.0] -- 2020-01-08 ### Added - Add `uniformtext` behavior to `bar`, `funnel`, `waterfall`, `pie`, `funnelarea`, `sunburst` and `treemap` traces [#4420, #4444, #4469] - Add "pre-computed" q1/median/q3 input signature for `box` traces [#4432] - Add support for legend titles [#4386] - Add legend items for `choropleth`, `choroplethmapbox`, `cone`, `densitymapbox`, `heatmap`, `histogram2d`, `isosurface`, `mesh3d`, `streamtube`, `surface`, `volume` traces [#4386, #4441] - Add "auto-fitting" behavior to geo subplots via `geo.fitbounds` attribute [#4419] - Add support for custom geojson geometries in `choropleth` and `scattergeo` traces [#4419] - Add "exclusive" and "inclusive" quartile-computing algorithm to `box` traces via `quartilemethod` attribute [#4432] - Add `insidetextorientation` attribute to `pie` and `sunburst` traces [#4420] - Add `intensitymode` to allow cell intensity values in `mesh3d` traces [#4446] - Add `featureidkey` attribute to `choroplethmapbox`, `choropleth` and `scattergeo` traces [#4419] - Add `geo.visible` shortcut attribute [#4419] - Add coordinates of mapbox subplot view as a derived property in `plotly_relayout` event data [#4413] - Add modebar buttons `zoomInMapbox` and `zoomOutMapbox` [#4398] - Add support for typed array in `groupby` transforms `groups` [#4410] - Add `notifyOnLogging` config option that allows log/warn/error messages to show up in notifiers pop-ups [#4464] - Enable loading locale bundles before plotly.js bundles [#4453] - Add Korean `ko` locale [#4315] ### Changed - Skip mapbox subplot map position updates while panning/zooming removing potential stuttering [#4418] - Optimize mapbox `raster` layout layer updates [#4418] - Improve `sunburst` and `treemap` click events behavior [#4454] - Improve attribute description of sunburst/treemap `outsidetextfont` [#4463] - Update source and dist file headers to 2020 [#4457] ### Fixed - Fix `streamtube` traces with numeric string coordinates (bug introduced in 1.51.0) [#4431] - Correctly handle different data orders in `isosurface` and `volume` traces [#4431] - Fix symbol numbers in `scattergl` and `splom` traces [#4465] - Fix `coloraxis` colorbars for `sunburst` and `treemap` with values colorscales [#4444] - Fix inside text fitting for `bar`, `funnel` and `waterfall` traces with set `textangle` [#4444] - Fix handling of invalid values and zero totals for `pie` and `funnelarea` [#4416] - Fix colorbar of `reversescale` colorscales of heatmap-coloring contours [#4437] - Fix colorbar templating for "non-root" colorscales [#4470] - Fix event data and some hover templates for x/y/z heatmap + contour [#4472] - Fix "toggleothers" behavior for graphs with traces not in legend [#4406] - Fix `histogram` bingroup logic when `calendars` module is not registered [#4439] - Fix "almost equal" `branchvalue: 'total'` partial sum cases [#4442] - Fix handling of `treemap` `pathbar.textfont` [#4444] ## [1.51.3] -- 2019-12-16 ### Fixed - Fix `Plotly.Plots.resize` edge cases ensuring now that its promises always resolve [#4392] - Fix position of link hover labels in vertical `sankey` [#4404] - Fix `box` autorange for traces with "inverted" notched [#4388] ## [1.51.2] -- 2019-11-25 ### Fixed - Fix `texttemplate`formatting on axes that define tick prefixes and suffixes [#4380, #4384] - Fix `cmin` and `cmax` computations during color value updates on shared color axes [#4366] - Fix `contour` and `histogram2dcontour` legend item rendering when `reversescale` is turned on [#4356] - Fix `contour` and `histogram2dcontour` legend item rendering when set to a shared color axis [#4356] - Handle missing `vertexcolor` and `facecolor` during `mesh3d` rendering [#4353] - No longer coerce `contour` and `colorscale` attributes for `mesh3d` when not needed [#4346] - Remove a duplicate function call in `parcoords` code [#4357] - Include `opacity` in the `surface` trace plot schema [#4344] - Mention `legend.bgcolor` default in attribute description [#4362] ## [1.51.1] -- 2019-11-04 ### Fixed - Fix `scattergl` missing points plot and react (bug introduced in 1.33.0) [#4323] - Skip non-numeric values in `image` trace plot [#4325] ## [1.51.0] -- 2019-10-29 ### Added - Add `image` trace type [#4289, #4307, #4313, #4319] - Add `automargin` attribute in pie traces, enabling outside text labels to push the margins [#4278] - Add `title.standoff` attribute to cartesian axes, setting the distance in pixels between the tick labels and the axis title [#4279] - Add `hoverongaps` attribute to `heatmap` and `contour` traces, for suppressing hover labels on missing data [#4291] - Add `args2` attribute to `updatemenus` buttons which can be used to create toggle buttons [#4305] - Add `zh-CN` locale [#4276, #4310] ### Changed - Introduce workarounds for "common" (aka axis) hover label clipping about the graph's viewport [#4298] - No longer accept trace `domain` settings where end is not greater than start [#4304] ### Fixed - Fix `streamtube` coloring and positioning when generated with non-`xyz` grid signatures [#4271] - Fix trace-type update calls on mapbox subplots [#4295] - Fix width of `box` and `violin` items on log position axes [#4283] - Fix box/meanline offset for one-sided vertical `violin` traces [#4314] - Fix missing gaps in some `scattergl` line traces [#4316] - Fix event data during scroll on gl3d subplots with orthographic projections [#4292] - Handle data with identical positions in `cone` traces [#4306] - Handle invalid entry before trying to render `treemap` trace [#4312] - Fix `heatmap` and `contour` description for `connectgaps` [#4284] ## [1.50.1] -- 2019-10-15 ### Fixed - Guard against mirrored + automargin `anchor:'free'` axes (bug introduced in 1.50.0) [#4273] - Fix `streamtube` trace `starts` case when missing a dimension [#4265] - Fix `scattergl` performance for drawing legend items of traces with typed arrays [#4268] - Fix legend item style for markers with typed array colors [#4268] - Do not attempt to re-hover on exiting subplots [#4269] - Fix "layout first" transition race condition [#4262] ## [1.50.0] -- 2019-10-07 ### Added - Add `treemap` trace type [#4185, #4219, #4227, #4242] - Add `texttemplate` attribute to all traces that support on-graph text [#4071, #4179] - Add date custom formatting in `hovertemplate` and `texttemplate` e.g. `'%{x|%b %-d, %Y}'` [#4071] - Add transition support to `bar` trace length, width, on-graph text positioning, marker style and error bars [#4180, #4186] - Add attribute `count`, colorscale support and many `hoverinfo` / `textinfo` flags to `sunburst` traces [#4185, #4245] - Add constraint info to `parcats` click and hover events [#4211] - Add support for legend scrolling via touch interactions [#3873, #4214] - Add `ru` and `uk` locales [#4204] - Publish minified dist npm packages for the main plotly.js bundle and all our partial bundles [#4169] ### Changed - Cap the number of redraws triggered by the auto-margin routine, which should prevent all potential infinite redraw loops [#4216] - Improve cartesian axis draw performance by (1) computing its bounding box only when required and (2) using a bounding-box computation cache [#4165] - Log message when margin-push values are too big to be considered during auto-margin computations [#4160] - Log message when legend position is constrained into graph viewbox [#4160] - Process layout image using data URI synchronously [#4105] - Adapt default axis ranges to `rangemode` values `'tozero'` and `'nonnegative'` [#4171] - Show zeroline even when no grid lines are present [#4189] - Use `mapbox-gl` version 1.3.2 [#4230] - Make `touchmove` event listener non passive on mobile drag [#4231] - Improve `streamtube` trace description [#4181] - Improve `indicator` trace description [#4246] - Improve legend `x` and `y` attribute descriptions [#4160] ### Fixed - Fix attempt at fixing gl3d in Chrome 77 problems [#4256] - Fix numerous legend positioning bug [#4160] - Fix numerous axis `automargin` bugs [#4165, #4216] - Correctly handle `<br>` and `\n` in `scattermapbox` on-graph text [#4176] - Fix `scattergl` hover over nulls (bug introduced in 1.45.0) [#4213] - Correctly remove off-screen annotations during pan interactions (bug introduced in 1.40.0) [#4170] - Fix `contour` and `contourcarpet` label formatting via colorbar settings (bug introduced in 1.48.0) [#4177] - Fix background rectangle dimensions for horizontal grouped legends [#4160] - Correctly handle non-linear axis types during transitions [#4249] - Fix `branchvalues: 'total'` for generated sunburst sectors [#4253] - Fix `Download plot` translations [#4148] - Fix `fr` translations for "Click to enter --- title" [#4204] - Fix tiny zoombox behavior [#4188] - Fix rendering of constraint contours with rounded-off edge path [#4102] - Fix "autoscale" modebar button bug where it sometimes toggled axis `showspikes` [#4241] - Fix multi-axis transition axis-to-axis range "leaks" [#4167] - Fix `toggleHover` and `resetViews` modebar buttons for some partial bundle + graph setups [#4184] - Correctly list `color-rgba` module as dependency [#4207] - Fix third-party dependency listing for `gl-cone3d` and `gl-streamtube3d` [#4208, #4215] - Fix `line.width` attr declaration in `*contour` traces [#4218] - Remove hover attribute from `carpet` and `contourcarpet` schema (as they do not support hover yet) [#4102] ## [1.49.5] -- 2019-09-18 ### Fixed - Clear rejected promises from queue when calling `Plotly.react` [#4197] - Do not attempt to remove non-existing mapbox layout source and layers [#4197] - Invalid mapbox layout layers with blank-string tile entries [#4197] - Fix hover labels for `choroplethmapbox` with number `locations` items [#4197] ## [1.49.4] -- 2019-08-22 ### Fixed - Fix access token validation logic for custom mapbox style URLs (regression introduced in 1.49.0) [#4144] - Fix rendering of cartesian ticks under `mirror: 'all'` [#4140] ## [1.49.3] -- 2019-08-20 ### Fixed - Fix graphs with `visible: false` `sankey` traces [#4123] - Fix `scattergl` with `mode: 'text'` and `text` arrays longer than the coordinates arrays [#4125, #4126] - Fix `rangeslider` positioning when left margin is pushed by other component [#4127] ## [1.49.2] -- 2019-08-13 ### Fixed - Fix gl3d hover behavior when multiple points share identical position [#4096] - Fix `mapbox-gl@1.1.1` dependency version listing in `package.json` [#4094] - Fix decimal and thousands separator declaration for Italian (`it`) locale [#4122] - Fix `indicator` `steps` attribute declaration [#4115] - Performance fix - use `Axes.prepTicks` (not `Axes.calcTicks`) for `indicator` number and delta formatting [#4099] ## [1.49.1] -- 2019-07-31 ### Fixed - Fix `parcoords` bug when dimension values are all zeroes (bug introduced in 1.49.0) [#4080] - Fix `parcoords` select line rendering when constraint range falls below range [#4083] - Fix `parcoords` select line rendering when selecting outside displayed axis range [#4087] - Fix `parcoords` select by click when preceded by click away from axis [#4089] - Fix `mapbox.style` values in attribution declaration [#4079] - Remove unused variable from `scatter3d` shader [#4090] ## [1.49.0] -- 2019-07-24 ### Added - Add `indicator` traces [#3978, #4007, #4014, #4037, #4029] - Add `choroplethmapbox` traces [#3988] - Add `densitymapbox` traces [#3993] - Add new mapbox `style` values: `open-street-map`, `carto-positron`, `carto-darkmatter`, `stamen-terrain`, `stamen-toner`, `stamen-watercolor` and `white-bg` that do not require a Mapbox access token [#3987, #4068] - Add support for `sourcetype` value `raster` and `image` and `type` `raster` for mapbox layout layers [#4006] - Add `below` attribute to `scattermapbox` traces [#4058] - Add support for `below: 'traces'` in mapbox layout layers [#4058] - Add `sourceattribution` attribute to mapbox layout layers [#4069] - Add `labelangle` and `labelside` attributes to `parcoords` traces [#3966] - Add `doubleClickDelay` config option [#3991] - Add `showEditInChartStudio` config option [#4061] ### Changed - Bump `mapbox-gl` to `v1.1.1` [#3987, #4035] - Include source attribution on mapbox subplots and image exports [#4069] - Improve mapbox error messages and attribute descriptions [#4035] - Do not try to resize hidden graph divs under `responsive:true` [#3972] - Improve robustness of `sankey` traces with circular links [#3932] - Use `URL.createObjectURL` during `Plotly.toImage` and `Plotly.downloadImage` improving performance [#4008] - Make `parcoords` pick layer 100% invisible [#3946] - (dev-only) drop "pull-font-svg" pre-process step [#4062] ### Fixed - Fix rendering of geo traces with `locationmode` and no base layers (bug introduced in 1.48.0) [#3994] - Fix lakes and rivers geometry on scoped geo subplots (bug introduced in 1.48.0) [#4048] - Fix `heatmap` rendering for traces with extra categorical coordinates (bug introduced in 1.48.0) [#4038] - Do not show zero-height bar rendering when their `marker.line.width` is zero (bug introduced in 1.48.3) [#4056] - Do not show prefix and suffix on log axis minor ticks showing digits [#4064] - Fix inconsistent `parcoords` behavior when data is outside range [#3794] - Fix `parcoods` default tick formatting [#3966, #4011, #4013] - Fix pseudo-html and MathJax rendering for `parcoords` traces [#3966] - Fix `marker.line.color` default for `choropleth` traces [#3988] - Fix `scatter3d` and `scattergl` handling of `rgb` colors with extra alpha values [#3904, #4009] - Fix zoomed-in box/violin hover labels edge cases [#3965] - Fix `hoverinfo` & `hovertemplate` initial, delta and final flags for `waterfall` traces [#3963] - Fix `hovertemplate` default number formatting for `choropleth`, `scattergeo`, `scatterpolar(gl)`, `barpolar` and `scatterternary` traces [#3968] - Remove `sliders` / `updatemenus` command observer mutation [#4023] - Fix plot-schema `anim` listing for traces that do not (yet) animate [#4024] - Fix `rangeslider` style during selections [#4022] - Fix per-value `categoryorder` for `box` and `violin` traces [#3983] - Fix handling of non-numeric `marker.line.width` array items [#4056, #4063] - Fix `downloadImage` for images of more than 2MB in size in Chrome [#4008] - Fix `plotly_clickannotation` triggering when `editable:true` [#3979] - Remove unused `font-atlas-sdf` dependency [#3952] - Fix `tickformat` attribute description links to d3 formatting language [#4044] - Fix typo in `error_(x|y).type` description [#4030] - Fix typo in `colorscale` description [#4060] ## [1.48.3] -- 2019-06-13 ### Fixed - Fix `hoverinfo` and `hovertemplate` behavior for `funnel` traces [#3958] ## [1.48.2] -- 2019-06-11 ### Fixed - Fix rendering after 1d -> 2d -> 1d drag motion under `dragmode: 'zoom'` (bug introduced in 1.48.0) [#3950] - Fix for `scattergl` hover and click events to give the 'top' point instead of the 'bottom' point [#3924] - Fix `contour` label rendering for non-monotonically increasing x/y [#3934] - Fix `carpet` axis title position for decreasing a/b coords [#3927] - Fix multiple single-valued overlaid autobinned `histogram` edge case [#3935] - Fix `parcoords` `tickvals` and `ticktext` documentation [#3925] ## [1.48.1] -- 2019-05-30 ### Fixed - Fix single-sample-point `histogram2d` traces with set bins settings [#3922] - Fix bingroup attributes for `histogram2dcontour` traces [#3922] - Fix hover label content on empty `histogram2d` bins [#3922] ## [1.48.0] -- 2019-05-28 ### Added - Add `funnel` traces [#3817, #3911] - Add `funnelarea` traces [#3876, #3912] - Add support for shared color axes via `coloraxis` attributes in the layout [#3803, #3786, #3901, #3916] - Add support for sorting categorical cartesian axes by value [#3864] - Add `bingroup` to `histogram`, `histogram2d` and `histogram2dcontour` to group traces to have compatible auto-bin values [#3845] - Add legend `itemclick` and `itemdoubleclick` attributes to set or disable the legend item click and double-click behavior [#3862] - Add `insidetextanchor` attribute for `bar` and `waterfall` traces [#3817] - Add `textangele` attribute for `bar` and `waterfall` traces [#3817] - Add `textinfo` to `waterfall` traces [#3790] - Add support for side-by-side `scatter3d` `marker` and `line` colorbars [#3803] - Add `meta` attribute to traces to complement `layout.meta` [#3865] - Emit `plotly_relayouting` during drag motion on subplots [#3888] - Add Swedish locale (`sv`) [#3821] ### Changed - Use `sane-topojson@v3.0.1` (backed by Natural Earth v4.1.0 shapefiles) to generate geographic features in `geo` subplots. Most notably, the Russia/Ukraine border has been updated [#3856] - Draw `box` and `violin` points as legend item when other parts have opacity `0` [#3846] - Draw `marker.line` for bars with no-span [#3848] - Do not make request for topojson files when drawing geo subplot without geographic features [#3856] ### Fixed - Fix `categoryarray` ordering for `heatmap` and `contour` traces [#3827] - Fix `heatmap` brick positioning for non-overlapping categories [#3827] - Fix `Plotly.update` calls that resulted in removal of modebar buttons [#3825] - Fix auto-range for one-sided `violin` with set `width` [#3842] - Fix hover label placement for one-sided `violin` with set `width` [#3842] - Fix `scattergl` mode ordering in/out of selections [#3810] - Fix `scattergl` unselected styling in/out of select/lasso dragmode [#3810] - Fix `automargin` edge cases where draw code can be stuck in infinite loops [#3811] - Fix `locationmode: 'USA-states'` on world scope under `50m` resolution [#3856] - Fix reset view interactions on geo subplots following `geo.scope` updates [#3856] - Fix `Plotly.animate` on graphs with multiple subplot types [#3860] - Fix `filter` transforms that result in empty coordinate arrays [#3766] - Fix handling of `0` number in `pie` and `sunburst` text and hover [#3847] - Fix `sunburst` text in sectors centered around theta=180 [#3907] - Fix handling of number `0` in `sunburst` ids/parents [#3903] - Fix selection range event data on category axes [#3869] - Fix `contour` with heatmap coloring rendering after graph resize [#3803] - Fix `histogram2d` hover label content for trace with bins spanning multiple `y` sample values [#3890] - Fix `parcoords` rendering of first value when it is part of own `constraintrange` [#3915] - Fix rgba colorscale fallback for `parcoords` traces [#3917] - Fix de-selected style of error bar on `bar` traces [#3644] - Fix hover labels rendering for some zoomed-in `violin` traces [#3889] - Fix `mesh3d` `vertexcolor` attribute description [#3688] ## [1.47.4] -- 2019-04-25 ### Fixed - Fix graphs with `sankey` and cartesian subplots [#3802] - Fix selection of `bar` traces on subplot with a range slider [#3806] ## [1.47.3] -- 2019-04-18 ### Fixed - Fix MathJax rendering in Firefox [#3783] - Fix `waterfall` hover under `hovermode: 'closest'` [#3778] - Fix `waterfall` `connector.line.width` updates [#3789] - Fix `waterfall` positioning on date axes [#3791] - Fix `waterfall` default connector line color [#3788] - Fix `hoverlabel.align` behavior for centered hover labels [#3781] ## [1.47.2] -- 2019-04-15 ### Fixed - Fix bar `'auto'` and `'inside'` `textposition` rendering on log size axes [#3762, #3773] - Fix matching axes autorange algorithm for date axes [#3772] - Fix SVG gradient rendering (colorbar and marker gradient) when `<base>` is present on page [#3765] ## [1.47.1] -- 2019-04-10 ### Fixed - Fix console errors during selections (bug introduced in 1.47.0) [#3755] ## [1.47.0] -- 2019-04-09 ### Added - New `volume` gl3d trace type [#3488] - Implement node grouping via box and lasso selections for `sankey` traces [#3712, #3750] - Implement `hovermode: 'x'` for `sankey` traces, allowing users to compare links in a flow on hover [#3730] - Add way for `Plotly.toImage` and `Plotly.downloadImage` to export images with current graph width/height by passing width/height option as `null` [#3746] - Add legend attribute `itemsizing` with value `'constant'` making legend item symbol sizing independent of the sizing of their corresponding trace item [#3732] - Add `hoverlabel.align` with value `'left'`, `'right'` and `'auto'` to set the horizontal alignment of the text content within hover labels [#3753] - Add `contour.start`, `contour.end` and `contour.size` attribute to `surface` traces [#3469] - Add `isosurface` and `volume` to the `gl3d` bundle [#3488] ### Changed - Allow re-plot during drag interactions [#3716] - Use high-precision in `scattergl` error bars shader [#3739] ### Fixed - Fix implementation of geo `lonaxis` and `lataxis` attribute `tick0` [#3706] - Fix `scrollZoom: false` configuration on mapbox subplots [#3745] - Fix rendering of alpha channel in `mesh3d` traces [#3744] - Fix `hoverlabel.namelength: 0` case [#3734] - Fix implementation of `hoverlabel.namelength` for `pie`, `sankey`, `sunburst` and the gl3d traces [#3734] - Fix `waterfall` rendering when transforms filter out all increasing or decreasing bars [#3720] - Fix clip-path attributes for pages with parenthesis in their `<base>` URL [#3725] ## [1.46.1] -- 2019-04-02 ### Fixed - Fix `bar` traces that set `textfont` but don't have `text` (bug introduced in 1.46.0) [#3715] - Fix hover text formatting in `waterfall` traces [#3711] - Fix `surface` and `mesh3d` color scales with more than 256 items [#3702] ## [1.46.0] -- 2019-04-01 ### Added - New `waterfall` trace type [#3531, #3708] - New `sunburst` trace type [#3594] - Add attributes `node.x` and `node.y` to `sankey` traces [#3583] - Implement `connectgaps` on `surface` traces [#3638] - Implement `hovertemplate` for `box` and `violin` points [#3685] ### Changed - Display hover labels above modebar, ensuring that the hover labels are always visible within the graph div [#3589, #3678] ### Fixed - Fix horizontal legend item wrapping by pushing overflowed items to newline [#3628] - Fix erroneous gap for histogram under relative `barmode` [#3652] - Fix position of overlapping grouped bars within trace [#3680] - Fix `violin` `bandwidth` logic for traces with identical values in sample [#3626] - Fix `violin` trace `scalegroup` description [#3687] - Fix stacked scatter for groupby traces [#3692] - Fix outside text on empty items in `bar` traces under `textposition: 'outside'` [#3701] - Fix `pie` un-hover event emission after updates [#3662, 3690] - Fix `scatter` line decimation algo for filled trace with far-away data points [#3696] - Fix `heatmap` and `contour` computation for traces with category coordinates containing `0` [#3691] - Fix zoom interactions on gl3d subplots using an orthographic projection [#3601] - Fix miscellaneous gl3d camera on-initialization bugs [#3585] - Fix `surface` contour line rendering in some Firefox versions [#3670] - Fix rendering of marker points and gl3d subplots on date axes (or with coordinates close to 64K floating limits) for WebGL-based traces on some iOS devices [#3666, #3672, #3674, #3676] - Fix center-aligned hover labels positioning [#3681] ## [1.45.3] -- 2019-03-19 ### Fixed - Fix legend click dispatch on legend item symbols (bug introduced in 1.44.0) [#3635] - Fix overlapping of "very close" hover labels [#3645] - Fix `hovermode` default logic for stacked `scatter` traces [#3646] - Fix `glPixelRatio` handling in `surface` contour lines [#3641] - Fix `gl2d` subplot zoombox appearance (bug introduced in 1.32.0) [#3647] - Fix axis label updates on `gl2d` subplots on scroll (bug introduced in 1.32.0) [#3647] - Fix `dragmode` relayout calls on `gl2d` subplots [#3647] - Improve info about `<extra>` in `hovertemplate` description [#3623] ## [1.45.2] -- 2019-03-07 ### Fixed - Fix webpack builds that include `sankey` by upgrading d3-sankey-circular to 0.33.0 (bug introduced in 1.45.0) [#3611] ## [1.45.1] -- 2019-03-05 ### Fixed - Fix axis automargin pushes for rotated tick labels [#3605] - Fix automargin logic on (very) small graphs [#3605] - Fix locales support in `hovertemplate` strings [#3586] - Fix gl3d reset camera buttons for scenes with orthographic projection [#3597] - Fix typed array support for `parcoords` dimensions values and `line.color` [#3598] - Fix `cone` rendering on some older browsers [#3591] - Fix `lightposition` behavior for `cone` traces [#3591] - Fix `lightposition` behavior for `streamtube` trace [#3593] - Remove unused files from `gl-cone3d` dependency [#3591] - Remove unused files from `gl-streamtube3d` dependency [#3593] ## [1.45.0] -- 2019-02-26 ### Added - Add support for circular networks in `sankey` traces [#3406, #3535, #3564] - Add matching axes behavior to cartesian axes via new axis attribute and new splom attribute dimensions attribute `matches` [#3506, #3565] - Add attributes `alignmentgroup` and `offsetgroup` to `bar`, `histogram`, `box` and `violin` traces to make cross-trace positioning easier [#3529] - Add support for orthographic projections in gl3d subplots via new attribute `scene.camera.projection.type` [#3550] - Add `cmid` and `zmid` colorscale attributes to pick the middle of the color range during the auto-colorscale computations [#3549] - Add support for `sankey` grouping via new attribute `groups` [#3556] - Add support for `sankey` concentration `colorscales` [#3501] - Add support for `hovertemplate` for all `gl3d` traces, `contour`, `heatmap`, `histogram*`, `parcats`, `scattercarpet` and `splom` traces [#3530] - Add `hovertext` attribute to all traces that support hover 'text', for consistency with traces that already have an `hovertext` attribute [#3553] - Add support for layout `meta` templating in trace `name`, `rangeselector`, `updatemenus` and `sliders` labels as well as within `hovertemplate` [#3548] - Add support for `opacity` to `isosurface` traces [#3545] - Add `mapbox.layers` attributes: `minzoom`, `maxzoom`, `line.dash` and `symbol.placement` [#3399] ### Changed - More consistency pass down WebGL pixel ratio to gl3d renderers, this leads to better axis line and error bar rendering on some hardwares [#3573] - Performance boost for `isosurface` trace generation [#3521] - Export template string regex of `Lib` [#3548] - Do no cluster points in `scattergl` trace with less than 1e5 data pts, this fixes reported "missing data points" scenarios [#3578] ### Fixed - Fix selection outline clearing during cartesian axis-range relayout calls (bug introduced in 1.42.0) [#3577] - Fix modebar interactions on graphs with `scatter3d` traces with marker colorscales (bug introduced in 1.44.0) [#3554] - Fix axis `automargin` for superimposed subplots (bug introduced in 1.44.3) [#3566] - Fix polar angular tick labels placement [#3538] - Fix `scattergl` updates after selections for trace with on-graph text [#3575] - Fix `responsive: true` config option for graph with WebGL traces [#3500] - Fix `modebar.bgcolor` for vertical modebars with wrapped buttons [#3500] - Fix `ohlc` and `candlestick` auto-range computations [#3544] ## [1.44.4] -- 2019-02-12 ### Fixed - Fix `Plotly.react` used with `uirevision` when removing traces [#3527] - Fix `scattergl` update calls that change the number of on-graph text elements [#3536] - Fix annotations SVG errors on trace-less subplots [#3534] - Fix `ohlc` and `candlestick` hover on blank coordinates (bug introduced in 1.43.2) [#3537] ## [1.44.3] -- 2019-02-06 ### Fixed - Fix axis `automargin` push offset which resulted in clipped tick labels in some scenarios [#3510] - Fix handling of alpha channel in marker, line and error bar `rgba` coloring in `scatter3d` traces [#3496] - Fix subplots with multiple `carpet` traces each with a `scattercarpet` trace on top of them [#3512] - Fix MathJax placement in ternary `aaxis` titles [#3513] ## [1.44.2] -- 2019-02-04 ### Fixed - Fix vertical modebars in IE11 [@3491] - Fix `hovertemplate` for traces with blank `name` [#3480] - Fix 3D grid lines and tick labels colored by rgba color with full transparency [#3494] - Fix white highlights rendering problems for `mesh3d` trace on some devices (bug introduced in 1.44.0) [#3483] - Fix `fill.color` description for `table` traces [#3481] ## [1.44.1] -- 2019-01-24 ### Fixed - Fix `mesh3d` rendering on (some) mobile devices (bug introduced in 1.44.0) [#3463] - Fix scene camera update when changing to `turntable` mode when `up.z` is zero (bug introduced in 1.43.0) [#3465, #3475] - Fix `react` when cartesian axis `scaleanchor` patterns change [#3461] - Fix "days" entries in polish (`pl`) locales [#3464] - Remove inner function declarations in our `vectorize-text` that caused bundling errors for some (bug introduced in 1.43.0) [#3474] ## [1.44.0] -- 2019-01-22 ### Added - Add `isosurface` gl3d trace type [#3438] - Add support for transitions from `Plotly.react` via new layout `transition` attribute [#3217] - Add `meta` layout attribute, intended for making references to strings in text templates [#3439] - Add support for `line.color` colorbars for `scatter3d` traces [#3384] - Add support for `hovertemplate` on `scatterpolar`, `scatterpolargl`, `scatterternary`, `barpolar`, `choropleth`, `scattergeo` and `scattermapbox` trace [#3398, #3436] - Add `width` attribute to `box` and `violin` traces [#3234] - Add support for `<sup>`, `<sup>`, `<b>`, `<i>` and `<em>` pseudo-html tags in extra (aka trace "name") hover labels [#3443] - Add support for div id as 1st arg to `Plotly.makeTemplate` [#3375] - Add `config` option in plot-schema JSON output [#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] - Use `glslify@7.0.0` across all our dependencies [#3421] ### Fixed - Fix `error_(x|y|z)` color attribute inheritance [#3408] - Fix `scrollZoom: false` config behavior for `geo`, `gl3d` and `mapbox` subplots [#3422] - Fix cartesian scroll zoom when `responsive` config option is turned on [#3424] - Fix cartesian scroll zoom when the page where the graph is embedded is scrollable [#3424] - Fix `box` / `violin` autorange edge cases [#3234] - Fix `box` / `violin` points hover labels on numeric positions [#3441, #3458] - Fix `box` / `violin` grouping algorithm for subplots with as many distinct positions as the number of traces [#3445] - Fix bar autorange calculations for trace with `base` above zero [#3452] - Fix bar + errorbar autorange calculations [#3452] - Fix `lightposition` behavior for `mesh3d` traces [#3415] - Fix legend `valign` behavior for `pie` traces [#3435] - Fix wrapped horizontal legends height edge cases [#3446] - Fix hover label alignment for hover labels with multi-line extra (aka trace "name") labels [#3443] - Fix cartesian axis domain lower limit [#3404] - Fix dynamic imports of `lib/` trace modules [#3448] - Fix `scl` and `reversescl` backward-compatible logic [#3423] - Fix range slider `borderwidth` attribute description [#3453] ## [1.43.2] -- 2019-01-08 First 2019 release. ### Fixed - Fix `uirevision` behavior for `gl3d`, `geo` and `mapbox` subplots [#3394] - Fix `reversescale` behavior for `surface`, `mesh3d` and `streamtube` traces (bug introduced in 1.43.0) [#3418] - Fix modebar hover styling (bug introduced in 1.43.0) [#3397] - Fix horizontal `box` / `violin` hover label misalignment under `hovermode:'closest'` [#3401] - Fix `ohlc` and `candlestick` hover for traces with empty items [#3366] - Fix `surface` trace `visible` logic [#3365] - Fix `mesh3d` trace `visible` logic [#3369] ## [1.43.1] -- 2018-12-21 ### Fixed - Fix z-axis auto-type for cartesian + gl3d graphs (bug introduced in 1.43.0) [#3360] - Fix `multicategory` axis coordinate sorting [#3362] - Fix `multicategory` y-axes clearance [#3354] - Fix contour label clipPath segments for reversed axes [#3352] - Fix axis autorange on double-click on graph `fixedrange:true` [#3351] ## [1.43.0] -- 2018-12-19 ### Added - Add `hovertemplate` attribute to `scatter`, `scattergl`, `bar`, `histogram`, `pie` and `sankey` traces [#3126, #3265, #3284] - Add `layout.title` placement attributes `x`, `y`, `xref`, `yref`, `xanchor`, `yanchor` and `pad` [#3276] - Add support for `<br>`, `<sup>`, and `<sub>` pseudo-html in `scatter3d` and `gl3d` scene text [#3207] - Add `multicategory` axis type, allowing for "multi-level" categorical axis labels and category dividers with axis attributes: `showdividers`, `dividercolor` and `diverwidth` [#3254, #3300, #3326] - Add cartesian axis attribute `tickson` with value '`boundaries`' to place categorical ticks on the category boundaries [#3254, #3275] - Add `uirevision` attributes to control the persistence of user-driven changes on the graph [#3236] - Add `legend.valign` to set the vertical alignment of the legend symbols with respect to their associated text labels [#3263] - Implement `arrayOk` `textposition` for `scatter3d` traces [#3200] - Add layout attributes `colorscale.sequential`, `colorscale.sequentialminus` and `colorscale.diverging` to set graph-wide colorscale defaults [#3274] - Add `dragmode: false` to disable all drag interactions on cartesian subplots [#3170] - Add `plotly.js-locales` npm packages that includes all official locales modules [#3223] - Add `watermark` config option to permanently show Plotly's logo in the mode bar (set to false by default) [#3280] - Add Finnish locale (`fi`) [#3325] ### Changed - Remove "Edit in Chart Studio" button by default [#3307] - `title` attributes linked to strings are now deprecated. Please use `title.text` instead to fill in your title text [#3276] - `title*` attributes are new deprecated. They moved to `title.*`. For example, `colorbar.titleside` is now `colorbar.title.side` [#3276] - No longer mutate `colorscale` values into user data [#3341] - No longer mutate `zmin`/`zmax`, `cmin`/`cmax` values into user data [#3341] ### Fixed - Fix `react` when updates trigger a new set of auto-margins [#3323] - Fix `scattergl` coloring when more than 255 marker colors are present [#3328, #3334] - More `scattergl` IE11 fixes [#3333, #3335] - Multiple `surface` rendering fixes [#3281] - Correctly default `scene.dragmode` to `'orbit'` when camera up vector is tilted [#3256] - Fix hover on `scatter3d` traces with `opacity: 1` on Ubuntu [#3301] - Fix console er