# 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.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` mising 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 `
` 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 `` 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 `` 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 `` 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 ``, ``, ``, `` and `` 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 `
`, ``, and `` 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 error _Uncaught ax.dtick error: NaN_ in gl3d subplots [#3233] - Fix histogram hover event triggers when hovering from bar to bar [#3345] - Fix graphs with empty and non-empty histogram traces [#3343] - Fix contour labels on reversed axes [#3279] - Fix `autocolorscale` toggling [#3341] - Fix template support for `marker.colorscale` [#3341] - Fix `scatter3D` trace with `mode: 'lines+markers'` with line color array error [#3341] - Do not add `` href to SVG clip paths during toImage [#3272] - Fix table scrolling that leaked into window scope [#3327] - Fix fills on segment-less marker-less traces [#3282] - Fix rangesliders on reversed-range axes [#3304] - Fix rangesliders on `side: 'top'`x-axes [#3329] - Fix typed array support for `ohlc` and `candlestick` traces [#3342] - Fix `restyle` with `impliedEdits` on trace with `groupby` transforms [#3236] - Fix `editable: true` drag on `marker` colorbars [#3236] ## [1.42.5] -- 2018-11-08 ### Fixed - Fix `scattergl` / `scatterpolargl` with `mode: lines` and more than 1e5 pts (bug introduced in 1.42.0) [#3228] ## [1.42.4] -- 2018-11-07 ### Fixed - Remove rendering artifacts from `table` orca PDF exports [#3220] ## [1.42.3] -- 2018-11-06 ### Fixed - Fix `histogram` binning for typed array inputs (bug introduced in 1.42.0) [#3211] - Fix textfont color `restyle` calls for `pie` traces [#3214] - Fix textfont color `editType` for `bar` traces [#3214] - Fix array `hoverinfo` support for `ohlc` and `candelestick` [#3213] - Correctly list `parcats` hoverinfo attributes which does not support array inputs [#3213] ## [1.42.2] -- 2018-11-01 ### Fixed - Fix runaway loops for `scattergl` lines and fill traces (bug introduced in 1.42.0) [#3199] - Fix size and alignment vertical modebar [#3193] - Fix legend item rendering for traces with typed array marker settings [#3192] ## [1.42.1] -- 2018-10-31 ### Fixed - Fix IE regression introduced in 1.42.0 [#3187] - Fix `parcats` text-shadowing on dark `plot_bgcolor` [#3191] - Fix `scatter3d` text alignment [#3180] - Fix `hoverinfo` flags in attribute descriptions [#3158] - No longer coerce unused `hoverlabel` attribute in `parcoods` [#3158] - No longer coerce `transforms` attributes in traces that don't support them [#3158] ## [1.42.0] -- 2018-10-29 ### Added - Add `parcats` (aka parallel categories) trace type [#2963, #3072] - Add new gl3d tick and title auto-rotation algorithm that limits text overlaps [#3084, #3104, #3131] - Add support for reversed-range axes on gl3d subplots [#3141] - Add modebar layout style attributes: `orientation`, `bgcolor`, `color` and `activecolor` [#3068, #3091] - Add `title`, `titleposition` and `titlefont` attributes to `pie` traces [#2987] - Add `hoverlabel.split` attribute to `ohlc` and `candlestick` traces to split hover labels into multiple pieces [#2959] - Add support for `line.shape` values 'hv', 'vh', 'hvh' and 'vhv' in `scattergl` traces [#3087] - Add handler for `PlotlyConfig.MathJaxConfig: 'local'` to override our default MathJax behavior which modifies the global MathJax config on load [#2994] - Add support for graph div as first argument for `Plotly.makeTemplate` and `Plotly.validateTemplate` [#3111, #3118] - Implement trace, node and link hoverinfo for `sankey` traces [#3096, #3150] - Implement per-sector textfont settings in `pie` traces [#3130] ## Changed - Use new Plotly logo in "Produced with Plotly" modebar button [#3068] - Improve `histogram` autobin algorithm: allow partial bin specification, deprecate `autobin(x|y)` attributes, force stacked/grouped histograms to match size and have compatible `start` value [#3044] - Count distinct values for category and date axis auto-type, which improves the detection of "NaN" string values in numerical data [#3070] - Improve bar and pie textfont color inheritance [#3130] - Improve `splom` first-render, axis range relayout and marker restyle performance [#3057, #3161] - Make `splom` `xaxes` and `yaxes` list always have same length as the trace `dimensions` regardless of their partial visiblities [#3057] - Improve axis `overlaying` documentation [#3082] ### Fixed - Fix `gl3d` subplots on tablets [#3088] - Fix responsive behavior under flexbox and grid CSS [#3056, #3090, #3122] - Fix relayout calls turning back `autosize` on [#3120] - Fix MathJax rendering (for recent versions of MathJax) [#2994] - Fix `scattergl` update on graphs with fractional computed dimensions [#3132] - Fix `scattergl` symbols in MS Edge [#2750] - Fix `scattergl` selections on overlaying axes [#3067] - Fix `scattergl` `tozero` fills with bad values [#3087, #3168] - Fix `scattergl` fill layer ordering [#3087] - Fix `scattergl` lines on reversed-range axes [#3078] - Fix axis auto-type routine for boolean data [#3070] - Fix `splom` axis placement when the diagonal is missing [#3057] - Fix line `restyle` calls on `parcoords` traces [#3178] - Fix `parcoods` rendering after `hovermode` relayout calls [#3123] - Fix WebGL warnings for `scatter3d` traces with blank text items [#3171, #3177] - Fix WebGL warnings for `scatter3d` trace with empty lines [#3174] - Fix rendering of `scatter3d` lines for certain scene angles [#3163] - Fix handling of large pad values in `sankey` traces [#3143] - Fix `scatterpolargl` to `scatterpolar` toggling [#3098] - Fix `scatterpolargl` axis-autorange padding [#3098] - Fix `bar` text position for traces with set `base` [#3156] - Fix `bar` support for typed arrays for `width` and `offset` attributes [#3169] - Fix aggregate transforms with bad group values [#3093] - Fix transforms operating on auto-invisible traces [#3139] - Fix templating for polar and carpet axes [#3092, #3095] - Ignore invalid trace indices in restyle and update [#3114] - Fix grid style `relayout` calls on graph with large `splom` traces [#3067] - Fix logging on some old browsers [#3137] - Remove erroneous warning `WARN: unrecognized full object value` when relayouting array containers [#3053] ## [1.41.3] -- 2018-09-25 ### Fixed - Fix handling of hover `text` in `barpolar` traces [#3040] - Fix `scatterpolar[gl]` `text` placement in hover label [#3040] - Fix `pie` trace support for individual stroke width values [#3030] - Fix handling of CSS `max-width` and `max-height` in auto-size routine [#3033] - Rotate hover labels when `hovermode: 'y'` and a single trace produces multiple labels [#3043] - Rotate hover labels when `hovermode: 'closest'` and multiple labels are generated including one from an horizontal trace [#3043] - Fix hover label coloring on white bgcolor [#3048] - Do not coerce nor validate `polar?.bar*` attributes on subplots w/o visible `barpolar` traces [#3023] - Fix legacy polar attribute descriptions [#3023] ## [1.41.2] -- 2018-09-19 ### Fixed - Fix two-sided zoombox -> double-click -> one-sided zoombox behavior [#3028] ## [1.41.1] -- 2018-09-18 ### Fixed - Bring back hover labels on "touch" hover (bug introduced in 1.29.0) [#2997] - Fix MathJax rendering in legends [#3018] - Fix fill and layering for multiple stack-groups and unstacked `scatter` traces [#3005] - Fix removal of `scatter` traces with set `stackgroup` [#3005] - Fix stacked area gap insertion edge case [#3017] - Fix zeroline logic for `splom`-generated axes [#3015] - Fix `error_x` and `error_y` on `scatter3d` w/o `error_z` [#3011] - Fix `scatter3d` error bars on log axes [#2992] - Fix `Plotly.react` when updating geo axis `dtick` [#3016] - Fix `polar.hole=1` case [#3021] - Fix handling of `polar.sector` that span more than 360 degrees [#3021] ## [1.41.0] -- 2018-09-12 ### Added - Enable selection by clicking on points via new layout attribute `clickmode` and flag `'select'` [#2944] - Add stacked area charts via new attributes `stackgroup` and `stackgaps` in `scatter` traces [#2960] - Add `barpolar` traces - which replace and augment `area` traces [#2954] - Add `polar.hole` to punch hole at the middle of polar subplot offsetting the start of the radial range [#2977, #2996] - Add an 'inner' radial axis drag box on polar subplots [#2977] - Add `{responsive: true}` plot config option [#2974] - Emit `plotly_webglcontextlost` event on WebGL context lost [#2986] - Support all numbered HTML entities (decimal and hex) in text elements [#2932] - Add Welsh (`cy`) locale [#2945] ### Changed - Attribute meta information is now stripped be stripped out of bundles (made with bundlers that support browserify transforms) by default [#1584] - Draw polar axis ticks above polar axis lines [#2977] - Improve ordering of trace hover labels for matching positions [#2960] - Speed polar subplot radial drag interactions [#2954] - Improve pseudo-html conversion performance [#2932] - Bump `regl-splom` requirement to `^1.0.4` [#2956] - Bump `glslify` requirement to `^6.3.1` [#2990] - Use `gl-text` instead of `@etpinard/gl-text` [#2956] ### Fixed - Fix `scatter` ordering in inner SVG `` on some restyle calls [#2978] - Fix cartesian axis autorange edge cases [#2960] - Fix double-decoding of some HTML entities in text nodes [#2927] - Fix `scattergl` line traces rendered after non-line traces [#2990] - Fix legend positioning on graphs with very large margins [#2983] - Fix rendering of ternary subplots fix with `showticklabels: false` [#2993] - Fix show/hide updates of tick and tick labels on ternary subplots [#2993] - Fix handling of multi-selections in ternary subplots [#2944] - Fix `sankey` hover under `hovermode: false` [#2949] - Fix `sankey` positioning for non-default `domain.x` values [#2984] - Fix `type: 'date'` polar radial axes [#2954] - Fix send-to-cloud modebar buttons on graphs with typed arrays [#2995] - Fix handling of custom transforms that make their own data arrays in `Plotly.react`[#2973] - Fix missing violin and colorbar attributes in `gd._fullData` [#2850] ## [1.40.1] -- 2018-08-22 ### Changed - Bump `browserify` to `v16` [#2923] - Bump `glslify` to `v6.2.1` [#2923] - Use `color-normlize@1.3.0` throughout code base [#2923] ### Fixed - Fix logic for hiding zero lines when they conflict with axis lines [#2936] - Fix `exponentformat` values `'e'` and `'E'` on log axes [#2921] - Fix dynamic layer ordering of `heatmap` and `carpet` traces [#2917] - Fix `Plotly.downloadImage` when using graph id or figure object as first argument [#2931] - Fix regl-based rendering when WebGL buffer dimensions don't match canvas dimensions [#2939] ## [1.40.0] -- 2018-08-16 ### Added - Allow `contour`, `contourcarpet` and `histogram2dcontour` to have corresponding legend items using `showlegend` [#2891, #2914] - Add `scatterpolar` and `scatterpolargl` attributes `r0`, `dr`, `theta0` and `dtheta` [#2895] - Add layout attributes `piecolorway` and `extendpiecolors` for more control over `pie` colors [#2870] - Add splom attribute `dimensions[i].axis.type` to easily override axis type in splom-generated axes [#2899] - Add support for on-graph text in `scatterpolargl` traces [#2895] ### Changed - Use `derequire` browserify plugin to make bundling distributed npm package with browserify possible [#2905] - Speed up cartesian axis autorange edits (and thus double-click interactions) [#2823] - Do not clear WebGL context when `scattergl` graph has no `visible:true` traces, which speeds up e.g. legend interactions [#2860] - Compute data extremes per trace, which improves performance in some cases [#2860] - Use `` to render filled colorbars [#2910, #2914] - Rename trace module `setPositions` methods `crossTraceCalc` [#2868] - Use `regl@1.3.7` [#2863] ### Fixed - Fix scalar `marker.size` bounds in legend items [#2840] - Fix positioning of legend symbols for traces with fills [#2891] - Fix `scattergl` select -> double-click -> pan behavior [#2815] - Fix `scattergl` marker for IE11 [#2863] - Fix inheritance of explicit `pie` colors by later traces [#2870] - Fix layer ordering on graphs with multiple `contour` traces with heatmap coloring [#2891] - Fix layer ordering on `visible` toggling for `contour`-like traces [#2891] - Fix cases where colorbars would be drawn over its bounds [#2910] - Fix `tickwidth` edits on `ohlc` traces [#2823] - Fix labels on splom-generated axes with categorical data [#2899] - Fix handling of splom dimensions on axes of conflicting types [#2899] - Fix `splom` trace `visible` edits [#2860] - Fix `splom` select -> double-click -> pan behavior [#2899] - Fix `scatterpolargl` behavior during angular and radial drag interactions [#2888] - Fix handling of auto date ticks below our 100 microseconds limit [#2912] - Fix `scatter3d` attributes which had incorrectly labeled `textposition` and `textfont.family` as `arrayOk` and contained unimplemented `line.showscale` and `line.colorbar` [#2879] - Fix `scattergl` and `scatterpolargl` attribute declarations for `hoveron` [#2895] ## [1.39.4] -- 2018-08-02 ### Fixed - Fix tenths of milliseconds handling in old numeric date data (bug introduced in 1.21.0) [#2847] - Fix `yaxis` overlaying `yaxis2` layouts (bug introduced in 1.39.3) [#2857] ## [1.39.3] -- 2018-07-25 ### Fixed - Fix overlaying subplot configuration relayouts [#2831] - Fix trace toggling from position-editable horizontal legends [#2829] - Fix `[un]selected.marker.opacity` settings on `scattergeo` traces [#2827] - Fix selections on some Robinson projections [#2827] ## [1.39.2] -- 2018-07-16 ### Fixed - Fix scattergl selection after resize relayouts [#2801] - Fix scattergl layout replot edits [#2793] - Fix cartesian axis range animations (bug introduced in 1.37.0) [#2788] - Fix contour labels that require thousands suffixes [#2806] - Fix 'legendonly' legend items link to array `marker.symbol` [#2816] - Fix handling of duplicate points under `line.simplify` [#2814] - Fix transform removal via `Plotly.react` [#2805] - Fix out-of-subplot scroll zoom on some geo projection types [#2811] - Fix hover label in RTL pages [#2790] - Reduce minified bundle back to their 1.39.0 sizes [#2792] ## [1.39.1] -- 2018-07-09 ### Fixed - Fix mapbox subplots in our minified bundles (bug introduced in 1.39.0) [#2789] - Fix box and violin traces inner parts removal (bug introduced in 1.37.0) [#2785] ## [1.39.0] -- 2018-07-05 ### Added - Add distributed npm packages for the main plotly.js bundle and all our partial bundles for easy installation and bundling [#2670] - Add template machinery along with helpers methods `Plotly.makeTemplate` and `Plotly.validateTemplate` [#2764] - Add 3D `streamtube` traces [#2658] - Add support for on-graph text in `scattergl` traces [#2737, #2783] - Add `gridshape` attribute to polar subplots with values `'circular'` (the default) and `'linear'` (to draw polygon grids) [#2739] - Add `'range'` and `'change'` `aggregate` transform functions [#2764] - Add `visible` attribute to `rangeselector` and `updatemenu` buttons, slider steps and `mapbox` layout layers as well as `tickformatstops` items [#2761] - Add support for colorbar linked to `marker.color` values for `splom`, `scatterpolar` and `scatterpolargl` traces [#2681] - Revamp icon settings in custom mode bar buttons, allowing users to specify their own dimensions and SVG transforms [#2762] - Add `plotlyServerURL` config option [#2760] - Added no-WebGL warnings for graphs with `scattergl`, `scatterpolargl`, `splom` and `parcoords` traces [#2697] ### Changed - `plotly_afterplot` is now emitted after all edit types [#2773] - Trace `uid` is no longer mutated into user trace objects [#2681] - No longer add `marker.line` in `scattermapbox` fullData [#2766] - Use `regl@1.3.6` [#2694] - Use `mapbox-gl@0.45.0` [#2709] ### Fixed - Fix `Plotly.react`'s handling of changing auto-margins [#2681] - Make plotting/updating WebGL-based traces fail gracefully when WebGL isn't supported [#2697] - Fix mapbox layout layer updates [#2734] - Fix mapbox event inconsistencies [#2766] - Correctly emit `plotly_relayout` at end of scroll on mapbox subplots [#2709] - Fix `scatter3d` scalar `hovertext` handling [#2698] - Fix line decimation for segments crossing the viewport [#2705] - Fix `surface` trace contours when first level has length zero [#2712] - Fix `contour(x|y|z).highlight` partial settings [#2712] - Fix old date timezone precision in Chrome 67+ [#2747] - Fix `Plotly.validate` for attribute with trailing numbers (e.g. `x0`, `y1`) [#2761] - Fix x-only zoom moves when `xaxis.fixedrange: true`[#2776] - Fix colorbar edits for `parcoords` and `histogram` traces [#2681] - Fix bandwidth for single-value violins [#2775] - Sanitize `margin` after 'autosize' relayouts [#2758] - Make `Plots.resize` work when `layout` attribute is gone from graph div [#2710] - Fix `colorscale` attribute descriptions [#2658] ## [1.38.3] -- 2018-06-11 ### Fixed - Fix `cone` axis padding when under `sizemode: 'absolute'` [#2715] - Fix `cone` scaling on irregular grids [#2715] - Fix `cone` `sizemode: 'absolute'` scaling and attribute description [#2715] - Improve `cone` hover picking [#2715] - Fix exception during histogram cross-trace computation [#2724] - Fix handling of custom transforms that make their own data arrays [#2714] ## [1.38.2] -- 2018-06-04 ### Fixed - Fix bar text removal (bug introduced in 1.36.0) [#2689] - Fix handling number `0` in hover labels and on-graph text [#2682] ## [1.38.1] -- 2018-05-29 ### Fixed - Fix transforms on `scattergl` traces [#2677] - Fix `marker.line.width` scaling in `scattergl` traces [#2677] - Fix `[un]selected.marker.size` scaling in `scattergl` traces [#2677] - Create two not three WebGL contexts for scattergl/splom graphs (bug introduced 1.36.0) [#2656] - Fix `z` updates of interpolated values on heatmap and contour traces with gaps [#2657] - Fix select/pan double-click behavior when relayout from one another (bug introduced in 1.36.0) [#2668] - Fix shift selection behavior after pan/scroll (bug introduced in 1.36.0) [#2676] ## [1.38.0] -- 2018-05-23 ### Added - Add 3D `cone` traces to visualize vector fields [#2641, #2647] - Add ability to interactively change length and rotate line shapes [#2594] - Add `toImageButtonOptions` config object to override to-image mode bar button options [#2607] - Add Brazilian Portuguese (`pt-br`) locale [#2622] - Add Italian (`it`) locale [#2632] ### Changed - Improve cartesian scroll and pan (mostly) performance for graphs with many marker or/and text nodes [#2623] - Improve `splom` first render and axis-range relayout performance [#2628] - Improve multi-axis axis-range relayout performance by updating minimal set of axes instead of all axes [#2628] - Use "grab" cursor to denote when annotations and shapes are draggable [#2594] - Ignore zero and negative link values in `sankey` traces [#2629] - Ignore unused and malformed links `sankey` traces without logging [#2629] ### Fixed - Fix `scattergl` error bar computations when input value are numeric strings [#2620] - Fix `scattergl` error bar computations for `x0`/`dx` and `y0`/`dy` coordinates [#2620] - Fix `violin` kde span edge cases [#2650] - Make `sankey` traces accept numeric strings [#2629] - Fix axis range edits under axis constraints [#2620] - Fix "sloppy click" event emission during cartesian zoom [#2649] - Fix layout `grid` validation which lead to exceptions [#2638] - Fix `parcoords` rendering in old Safari version [#2612] - Link to https://get.webgl.org instead of http version in no WebGL message [#2617] ## [1.37.1] -- 2018-05-02 ### Fixed - Fix `Plotly.react` when adding/removing traces (bug introduced in 1.37.0) [#2603] ## [1.37.0] -- 2018-05-01 ### Added - Add `plotly_legendclick` and `plotly_legenddoubleclick` events [#2581] - Add Swahili (`sw`) locale [#2526] ### Changed - Improve cartesian trace update and removal by using more d3-iomatic patterns. This results in some performance improvements during redraws [#2574] - Our internal `Lib.nestedProperty` no longer prunes empty containers in `gd.data`, `gd.layout`, `gd._fullData` and `gd._fulllayout`. We made this change to clean up some of the `Plotly.react` internals. This also lead to a slight performance boost [#2577] ### Fixed - Fix `Plotly.react`'s handling of transformed traces [#2577] - Fix Safari support for `scattergl` and `splom` traces [#2593] - Fix `scattergl` point clustering edge cases [#2593] - Fix `scattergl` selection after double-click on graphs with more than 1e5 points [#2593] - Fix artificial number of lines limit in `scattergl` traces [#2568] - Fix typed array support in color array in `scattergl` traces [#2596] - Fix typed array support for `splom` traces [#2596] - Make `scatter` and `scattercarpet` coexist on same subplot [#2574] - Fix incorrect fallback border color for axis common hover labels [#2557] - Fix handling of blank editable legend items [#2587] - Fix spikelines positioning in Firefox [#2590] - Fix `Plotly.react` modebar updates when the locale changes [#2592] - Fix `scatter` selection performance regression (dating back to 1.32.0) [#2583] - Fix `plotly_beforeplot` and `plotly_beforehover` event handlers when attached with `gd.once` [#2581] ## [1.36.1] -- 2018-04-18 ### Fixed - Fix `scattergl` in dist and CDN bundles (due to `browser-pack-flat` discrepancy introduced in 1.36.0) by removing `browser-pack-flat` from our bundling pipeline [#2572] ## [1.36.0] -- 2018-04-17 ### Added - Add `splom` (aka scatter plot matrix) traces [#2505] - Add multi-selection and click-to-select on `parcoords` axes [#2415] - Add selection and improve legend items for `ohlc` and `candlestick` [#2561] - Add 'fixed size' layout shapes through new shape attributes `xsizemode`, `ysizemode`, `xanchor` and `yanchor` [#2532] - Add layout attribute `selectdirection` to restrict select-box direction [#2506] - Add support for selections on graphs with range sliders [#2561] - Add support for ragged `table` inputs [#2511] - Add Czech (`cs`) locale [#2483] - Add Japanese (`ja`) locale [#2558] ### Changed - Multiple performance improvements for cartesian subplots, most noticeable on graphs with many cartesian subplots [#2474, #2487, #2527] - Use new `gl-mesh3d` version that attempts to make lighting results less hardware-dependent [#2365] - New and improved point-clustering algorithm for `scattergl` [#2499] - Improved `regl-line2d` component [#2556] ### Fixed - Fix memory leak in `parcoords` traces [#2415] - Fix `scattergl` `selectedpoints` clearance under select/lasso drag modes [#2492] - Fix `scattergl` horizontal lines rendering [#2564] - Fix `scattergl` unselected marker opacity for array marker opacity traces [#2503] - Fix `scattergl` hover over data gaps [#2499] - Fix `ohlc` on category axes [#2561] - Fix inconsistencies in `ohlc` and `candlestick` event data [#2561] - Fix hover `text` for `candlestick` traces [#2561] - Fix `scattermapbox` selections for traces with data gaps [#2513] - Fix `table` border cases that got previously cut off [#2511] - Fix `box` traces with one jittered outlier [#2530] - Fix `cliponfalse: false` on reversed axes [#2533] - Fix buggy `plot_bgcolor` rendering when updating axis `overlaying` attribute [#2516] - Fix buggy `Plotly.react` behavior for `carpet`, `contourcarpet`, `scattercarpet`, `table` and x/y/z column `heatmap` traces [#2525] - Fix buggy `Plotly.react` behavior for `ohlc` and `candlestick` traces [#2561] - Fix ordered categories on graphs with `visible: false` traces [#2489] - Fix ordered categories in multi-subplot graphs [#2489] - Fix inconsistencies when ordering number and numeric string categories [#2489] - Fix format `days` in English locale [#2490] - Handle HTML links with encoded URIs correctly in svg text labels [#2471] ## [1.35.2] -- 2018-03-09 ### Fixed - Ping `mapbox-gl` to `0.44.1` so that users on fresh `npm install` do not get the wrong mapbox-gl version message [#2467] - Fix swapping between `scatter` and `scatter3d` traces and other potential problems caused by incorrect axis constraints resetting [#2465] ## [1.35.1] -- 2018-03-08 ### Fixed - Fix `scatterpolar` in dist and CDN bundles (due to `browser-pack-flat` discrepancy introduced in 1.35.0) [#2458] - Fix removing and adding scatter(gl) as not the first module [#2455] - Ensure we don't draw ticks if there are none to draw [#2454] ## [1.35.0] -- 2018-03-07 ### Added - Add `automargin` attribute to cartesian axes which auto-expands margins when ticks, tick labels and/or axis titles do not fit on the graph [#2243] - Add support for typed arrays as data array inputs [#2388] - Add layout `grids` attribute for easy subplot generation [#2399] - Implement `cliponaxis: false` for bar text [#2378] - Add opposite axis attributes for range slider to control y axis range behavior [#2364] - Generalize `hoverdistance` and `spikedistance` for area-like objects [#2379] - Bring `scattergl` auto-range logic to par with SVG `scatter` [#2404] - Add selected/unselected marker color size support to `scattermapbox` traces [#2361] ### Changed - Remove all circular dependencies in our `src/` directory [#2429] - Build our CDN bundles with `browser-pack-flat` browserify plugin [#2447] - Bump `mapbox-gl` to `v0.44.0` [#2361] - Bump `glslify` to `v6.1.1` [#2377] - Stop relinking `customdata`, `ids` and any matching objects in `gd._fullLayout` during `Plots.supplyDefaults` [#2375] ### Fixed - Fix buggy auto-range / auto-margin interaction leading to axis range inconsistencies on redraws (this bug was mostly noticeable on graphs with legends) [#2437] - Bring back `scattergl` lines under select/lasso `dragmode` (bug introduced in `1.33.0`) [#2377] - Fix `scattergl` visible toggling for graphs with multiple traces with different modes (bug introduced in `1.33.0`) [#2442] - Bring back `spikelines` for traces other than `scatter` (bug introduced in `1.33.0`) [#2379] - Fix `Plotly.Fx.hover` acting on multiple subplots (bug introduced in `1.32.0`) [#2379] - Fix range slider with stacked y axes positioning (bug introduced in `1.32.0`) [#2451] - Fix `scattergl` color clustering [#2377] - Fix `Plotly.restyle` for `scattergl` `fill` [#2377] - Fix multi-line y-axis label positioning [#2424] - Fix centered hover labels edge cases [#2440, #2445] - Fix hover labels in bar groups in compare mode [#2414] - Fix axes and axis lines removal [#2416] - Fix auto-sizing in `Plotly.react` [#2437] - Fix error bars for `Plotly.react` and uneven data arrays [#2360] - Fix edits for date-string referenced annotations [#2368] - Fix `z` hover labels with exponents [#2422] - Fix yet another histogram edge case [#2413] - Fix fall back for contour labels when there's only one contour [#2411] - Fix `scatterpolar` category angular period calculations [#2449] - Clear select outlines on mapbox zoomstart [#2361] - Fix legend click to causes legend scroll bug [#2426] ## [1.34.0] -- 2018-02-12 ### Added - Add `Plotly.react`, a new do-it-all API method that creates and update graphs using the same API signature [#2341] - Add constraint-type contours to `contour` traces [#2270] - Add `notched` and `notchwidth` attributes to `box` traces [#2305] - Add localization machinery to auto-formatted date axis ticks [#2261] - Add support for `text` in `mesh3d` traces [#2327] - Add support for scalar `text` in `surface` traces [#2327] - Make mode bar for graphs with multiple subplot types more usable [#2339] - Add `npm@5` package-lock file [#2323] ### Changed - All of gl-vis dependencies now use `gl-shader@4.2.1` [#2293, #2306] - All our dependencies and source now use `glslify@6.1.0` [#2326] ### Fixed - Prevent page scroll on mobile device on `gl2d` and `gl3d` subplots [#2296] - Fix multi-marker `scattergl` selection errors (bug introduced in `1.33.0`) [#2295] - Fix `Plotly.addTraces` in `scattergl` selection call backs (bug introduced in `1.33.0`) [#2298] - Fix trace `opacity` restyle for `scattergl` traces (bug introduced in `1.33.0`) [#2299] - Fix `scattergl` handling of `selectedpoints` across multiple traces [#2311] - Fix `scattergl` horizontal and vertical line rendering [#2340] - Fix restyle for scalar `hoverinfo` for `scatter3d`, `surface` and `mesh3d` traces [#2327] - Fix `table` when content-less cells and headers are supplied [#2314] - Fix `Plotly.animate` for attribute nested in `dimensions` containers [#2324] - Fix `hoverformat` on `visible: false` cartesian axes (bug introduced in `1.33.0`) [#2329] - Fix handling of double negative translate transform values [#2339] - Fix compare `hovermode` fallback for non-cartesian subplot types [#2339] - Fix animation error messages when overriding and ignoring frames updates [#2313] ## [1.33.1] -- 2018-01-24 ### Fixed - Fix selection on `scattergl` plots with >20k points [#2266] - Update Spanish localization with new strings [#2268] - Fix test_dashboard overly rigid restriction so parcoods works there [#2273] - Make `layout.colorway` compatible with `sankey` traces [#2277] - Fix click events on `fixedrange` subplots [#2279] - Remove ghost fill when trace data is emptied out [#2280] - Fix resizing of new `scattergl` plots [#2283] - Fix positioning of carpet axis titles for `cheaterslope` edge cases [#2285] - Fix coloring and hover info for heatmaps and contour maps with nonuniform bins [#2288] ## [1.33.0] -- 2018-01-18 ### Added - Completely rewritten `scattergl` trace type using `regl` [#2258] - Completely rewritten polar chart renderer accompanied by new `scatterpolar` and `scatterpolargl` trace types [#2200] - Add the ability to draw layout images and layout shapes on subplot with `scattergl` traces [#2258] - Add `fill` capabilities to `scattergl` traces [#2258] - Add `spikedistance`, `hoverdistance` and `skipsnap` for more customizable spikes and hover behavior on cartesian subplots [#2247] - Add official Spanish translation (locale `es`) [#2249] - Add official French translation (locale `fr`) [#2252] - Add locale machinery to annotation _new text_ placeholder [#2257] ### Changed - Old polar trace types (`scatter` with `(r,t)` coordinates, `bar` with `(r,t)` coordinates and `area`) are now deprecated. ### Fixed - Fix `gl2d` tick label on pan interaction regression [#2258] - Fix `candlestick` hover label regression (bug introduced in v1.32.0) [#2264] - Fix several `gl2d` axis related bugs with new regl-based `scattergl` [#2258] See full list under the On-par gl2d milestone https://github.com/plotly/plotly.js/milestone/3 - Fix several polar bugs with `scatterpolar` [#2200]. See full list under the On-par polar milestone https://github.com/plotly/plotly.js/milestone/2 - Fix `scattergl` marker.colorscale handling [#2258] - Fix ternary relayout calls involving axis tick styles and titles [#2200] - Fix decimal and thousands settings in `de` locale [#2246] - Make scroll handler _passive_, removing those annoying console warnings [#2251] ## [1.32.0] -- 2018-01-11 ### Added - Add localization machinery including an official German translation (locale `de`) [#2195, #2207, #2210, #2232, #2217] - Add `violin` trace type [#2116] - Add `selected` and `unselected` attribute containers to customize selection states [#2135] - Add support for multi-selections [#2140] - Add layout `colorway` to custom the trace-to-trace color sequence [#2156] - Add `tickformatstops` to set tick format per cartesian axis range [#1965] - Add hover labels and selections to box points [#2094] - Histogram events & bin hover label improvements [#2113] - Add support for aggregation in `pie` traces [#2117] - Add annotations `startarrowhead`, `arrowside`, `startarrowsize` and `startstandoff` attributes [#2164] - Add `zhoverformat` to format `z` values in `heatmap`, `contour` and 2d histogram traces [#2106, #2127] - Add `marker.opacity` to bar traces [#2163] - Add `Cividis` colorscale [#2178] - Implement transform inverse mapping [#2126, #2162] ### Changed - Selections are now persistent [#2135] - Make subplot initialization and removal more robust and consistent [#2227] - Share WebGL context between `gl2d` and `parcoords` subplots [#2159, #2238] - Rename _Save and edit plot in cloud_ mode bar button _Edit in Chart Studio_ [#2183] - Minify bundles using `minify-stream` instead of UglifyJS2 [#2187] - Update header for new year 2018 [#2231] - Remove `type="text/javascript"` from `