plotly.js
Version:
The open source javascript graphing library that powers plotly
1,099 lines (883 loc) • 135 kB
Markdown
# 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