Check out the Pre-Release Announcement on our community forum for details about v2 Release Candidates
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
, andmapbox
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 - Add
partial-bundle
script to facilitate generation of custom bundles [#5527, #5508] - Implement "fast"
zsmooth
option forimage
trace [#5354, #5386],
with thanks to @almarklein for the contribution! - Implement various
marker.pattern
options inhistogram
,bar
andbarpolar
traces [#5520, #5537]
with thanks to @s417-lama for the contribution! - Implement
ticklabeloverflow
options on cartesian axes and colorbars to drop tick labels going outside div or domain [#5584] - Implement
(x|y|z)hoverformat
,(u|v|w)hoverformat
andvalueformat
to cartesian and gl3d traces [#5563]
Removed
- Drop support for old browsers IE9 and IE10 [#5376, #5380, #5460, #5491]
- Stop exporting v3 of d3 under
Plotly.d3
[#5400, #5406] - Stop attaching
_has*
plot types tofullLayout
[#5409] - Stop injecting MathJax config by default [#5514]
- Remove
sane-topojson
and MathJax v2.3 files from dist folder and change supported MathJax version to v2.7.5 [#5487, #5492, #5494] - Reduce the number of exported methods from
Plotly.Fx
andPlotly.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
andarea
traces as well as deprecated legacy
pre-scatterpolar
polar-related attributesbar.t
,bar.r
,
scatter.t
,scatter.r
,layout.radialaxis
,layout.angularaxis
and
gd.framework
[#5399, #5408, #5409, #5398, #5438]
Deprecated
- Deprecate
heatmapgl
andpointcloud
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, #5498]
- Display latitudes before longitudes in hoverlabels to comply with ISO 6709 (Standard representation of geographic point location by coordinates) [#5485]
- Adjust text shadow color in respect to
paper_bgcolor
for better dark mode display of
sankey
,parcoords
andparcats
traces [#5506] - Improve
sankey
text namely support pseudo-html, fixtextfont.color
and avoid clipping [#5531] - Make selection event data of
scattergl
on par withscatter
traces [#5534] - 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
forscattergl
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! - Hide gridlines and ticks overlapping "inside" ticklabels [#5550, #5586, #5589]
- Fix hover filter to display close period points [#5543]
- Fix spike on
bar
-like traces [#5542] - Fix displaying zero
threshold
forindicator
trace [#5430] - Fix axis constraints for
heatmapgl
[#5476] - Fix setTimeout functions to return in the case of undefined layouts [#5482]
- 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] - Provide links to all pull requests in the changelog [#5469]
- Fix syntax test on the dist files [#5471]
- Publish partial bundles using relevant tag from the package e.g.
latest
orrc
[#5467] - Place CDN publish script inside plotly.js repository [#5468, #5470]