Skip to content

Releases: plotly/plotly.js

v2.0.0-rc.0

17 Feb 14:40

Choose a tag to compare

v2.0.0-rc.0 Pre-release
Pre-release

Check out the Pre-Release Announcement on our community forum for details about this Release Candidate

Our commitment to semantic versioning requires us to make this next release a major version bump because we are making some backwards-incompatible changes to older and deprecated features (see below), but we see this as a low-risk maintenance release and we expect that the vast majority of users should plan to upgrade without fearing significant issues, including Javascript developers who embed Plotly.js directly in their apps or websites, as well as data scientists using Plotly.js via Plotly.py in a notebook environment, and of course Dash app developers!

Added

  • CSP safety: refactored to avoid usage of function constructors from basic, cartesian, finance, geo, and mapbox
    partial bundles and added tests to ensure that they will not again do so in the future [#5359, #5383, #5387],
    with thanks to Equinor for sponsoring the related development!
  • Add strict partial bundle [#5413, #5444], which includes
    the maximal subset of the library which does not rely on function constructors
  • Implement "fast" zsmooth option for image trace [#5354, #5386],
    with thanks to @almarklein for the contribution!

Removed

  • Drop support for old browsers IE9 and IE10 [#5376, #5380, #5460]
  • Stop exporting v3 of d3 under Plotly.d3 [#5400, #5406]
  • Stop attaching _has* plot types to fullLayout [#5409]
  • Reduce the number of exported methods from Plotly.Fx and Plotly.Plots in the API [#5420]
  • Drop Plotly.plot from the API [#5412, #5370, #5393]
  • Drop Plotly.Queue from the API [#5423]
  • Drop non-object role keys from attribute definition [#5425, #5432]
  • Drop deprecated contourgl and area traces as well as deprecated legacy
    pre-scatterpolar polar-related attributes bar.t, bar.r,
    scatter.t, scatter.r, layout.radialaxis, layout.angularaxis and
    gd.framework [#5399, #5408, #5409, #5398, #5438]

Deprecated

  • Deprecate heatmapgl and pointcloud trace types for later removal [#5447]

Changed

  • Add major versions e.g. "latest-v2" when publishing latest to CDN and keep "latest" for v1 [#5462]
  • Switch to native-promise-only module to handle es6 promises [#5358]
  • Switch to probe-image-size module to get width and height of images [#5388]
  • Relax test for plain objects to enable validation in node.js and multiple window contexts [#5411]
  • Fire plotly_unhover event when dragging [#5407],
    with thanks to @rreusser for the contribution!
  • Include transforms and calendars in partial bundles [#5379, #5422]
  • Require unminified mapbox-gl dependency for unminified bundles and
    revisit compression options for minified bundles [#5449]
  • Remove header comments from the source files and only add headers to the top of
    dist files at build time [#5436, #5446]
  • Guard against unexpected characters at build time [#5424]
  • More maintenance work listed under the the 60th milestone!

Fixed

  • Fix "toself" fill for scattergl traces to handle multiple polygons [#5355],
    with thanks to @ruijin for the contribution!
  • Fix element targeting on hover in shadow DOM [#5256],
    with thanks to @dbluhm for the contribution!
  • Fix displaying zero threshold for indicator trace [#5430]
  • Avoid duplicate keys in object literals within plotly builds [#5458]
  • Improve attribute compression and avoid redundant copyright comments in non-minified
    bundles [#5426, #5429, #5439]

v1.58.4

21 Dec 18:56

Choose a tag to compare

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!

v1.58.3

17 Dec 14:26

Choose a tag to compare

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]

v1.58.2

09 Dec 01:21

Choose a tag to compare

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]

v1.58.1

04 Dec 17:05

Choose a tag to compare

Fixed

  • Fix automargin bug for the case of short remaining height or width for plot [#5315],
    (regression introduced in 1.58.0)

v1.58.0

02 Dec 23:35

Choose a tag to compare

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]

v1.57.1

20 Oct 21:49

Choose a tag to compare

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]

v1.57.0

15 Oct 21:04

Choose a tag to compare

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!

v1.56.0

30 Sep 19:27

Choose a tag to compare

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]

v1.55.2

08 Sep 14:41

Choose a tag to compare

Fixed

  • Fix automargin when ticklabelmode is set to "period" [#5134]