Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,20 @@ To see all merged commits on the master branch that will be part of the next plo

where X.Y.Z is the semver of most recent plotly.js release.

## [3.7.0] -- 2026-07-03

### Changed
- Update `sendDataToCloud` modebar button to upload chart to Plotly Cloud [[#7802](https://github.com/plotly/plotly.js/pull/7802), [#7852](https://github.com/plotly/plotly.js/pull/7852), [#7854](https://github.com/plotly/plotly.js/pull/7854)]
- NOTE: The Plotly Cloud endpoint for receiving charts is not yet functional, so this button won't complete the upload.

### Fixed
- Fix stale `scattergl` error bars after toggling traces with mixed error bar visibility [[#7773](https://github.com/plotly/plotly.js/issues/7773)], with thanks to @JulienIcon for the contribution!
- Fix "unrecognized GUI edit: selections[0]..." warnings emitted after making a box or lasso selection and then calling `Plotly.react()` [[#7836](https://github.com/plotly/plotly.js/issues/7836)]
- Fix geo `fitbounds` to choose a compact longitude range when point data straddles the antimeridian [[#7837](https://github.com/plotly/plotly.js/pull/7837)], with thanks to @SharadhNaidu for the contribution!
- Preserve XML structural entities during decode when exporting SVG [[#7838](https://github.com/plotly/plotly.js/pull/7838)]
- Fix `Plotly.Fx.hover` crash on `scattermap` traces when called programmatically with a `pointNumber` selection [[#7882](https://github.com/plotly/plotly.js/pull/7882)]


## [3.6.0] -- 2026-06-01

### Added
Expand Down
4 changes: 2 additions & 2 deletions CITATION.cff
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ authors:
- family-names: "Samimi"
given-names: "Mojtaba"
title: "Open source Plotly charting library"
version: 3.6.0
version: 3.7.0
doi: 10.5281/zenodo.13964707
date-released: 2026-06-01
date-released: 2026-07-03
url: "https://github.com/plotly/plotly.js"
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ You may also consider using [`plotly.js-dist`](https://www.npmjs.com/package/plo

```html
<head>
<script src="https://cdn.plot.ly/plotly-3.6.0.min.js" charset="utf-8"></script>
<script src="https://cdn.plot.ly/plotly-3.7.0.min.js" charset="utf-8"></script>
</head>
<body>
<div id="gd"></div>
Expand All @@ -79,7 +79,7 @@ You may also consider using [`plotly.js-dist`](https://www.npmjs.com/package/plo
Alternatively, you may consider using [native ES6 import](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Modules) in the script tag.
```html
<script type="module">
import "https://cdn.plot.ly/plotly-3.6.0.min.js"
import "https://cdn.plot.ly/plotly-3.7.0.min.js"
Plotly.newPlot("gd", [{ y: [1, 2, 3] }])
</script>
```
Expand All @@ -89,7 +89,7 @@ Fastly supports Plotly.js with free CDN service. Read more at <https://www.fastl
### Un-minified versions are also available on CDN
While non-minified source files may contain characters outside UTF-8, it is recommended that you specify the `charset` when loading those bundles.
```html
<script src="https://cdn.plot.ly/plotly-3.6.0.js" charset="utf-8"></script>
<script src="https://cdn.plot.ly/plotly-3.7.0.js" charset="utf-8"></script>
```

> Please note that as of v2 the "plotly-latest" outputs (e.g. https://cdn.plot.ly/plotly-latest.min.js) will no longer be updated on the CDN, and will stay at the last v1 patch v1.58.5. Therefore, to use the CDN with plotly.js v2 and higher, you must specify an exact plotly.js version.
Expand Down
52 changes: 26 additions & 26 deletions dist/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,9 +46,9 @@ The main plotly.js bundles weight in at:
| 10.7 MB | 4.6 MB | 1.4 MB | 11 MB |

#### CDN links
> https://cdn.plot.ly/plotly-3.6.0.js
> https://cdn.plot.ly/plotly-3.7.0.js

> https://cdn.plot.ly/plotly-3.6.0.min.js
> https://cdn.plot.ly/plotly-3.7.0.min.js


#### npm packages
Expand Down Expand Up @@ -91,12 +91,12 @@ The `basic` partial bundle contains trace modules `bar`, `pie` and `scatter`.

| Raw size | Minified size | Minified + gzip size |
|------|-----------------|------------------------|
| 2.7 MB | 1.1 MB | 365.3 kB |
| 2.7 MB | 1.1 MB | 366.4 kB |

#### CDN links
> https://cdn.plot.ly/plotly-basic-3.6.0.js
> https://cdn.plot.ly/plotly-basic-3.7.0.js

> https://cdn.plot.ly/plotly-basic-3.6.0.min.js
> https://cdn.plot.ly/plotly-basic-3.7.0.min.js


#### npm packages
Expand All @@ -114,12 +114,12 @@ The `cartesian` partial bundle contains trace modules `bar`, `box`, `contour`, `

| Raw size | Minified size | Minified + gzip size |
|------|-----------------|------------------------|
| 3.4 MB | 1.4 MB | 463.5 kB |
| 3.4 MB | 1.4 MB | 464.8 kB |

#### CDN links
> https://cdn.plot.ly/plotly-cartesian-3.6.0.js
> https://cdn.plot.ly/plotly-cartesian-3.7.0.js

> https://cdn.plot.ly/plotly-cartesian-3.6.0.min.js
> https://cdn.plot.ly/plotly-cartesian-3.7.0.min.js


#### npm packages
Expand All @@ -137,12 +137,12 @@ The `geo` partial bundle contains trace modules `choropleth`, `scatter` and `sca

| Raw size | Minified size | Minified + gzip size |
|------|-----------------|------------------------|
| 3 MB | 1.2 MB | 415.7 kB |
| 3 MB | 1.2 MB | 417.4 kB |

#### CDN links
> https://cdn.plot.ly/plotly-geo-3.6.0.js
> https://cdn.plot.ly/plotly-geo-3.7.0.js

> https://cdn.plot.ly/plotly-geo-3.6.0.min.js
> https://cdn.plot.ly/plotly-geo-3.7.0.min.js


#### npm packages
Expand All @@ -160,12 +160,12 @@ The `gl3d` partial bundle contains trace modules `cone`, `isosurface`, `mesh3d`,

| Raw size | Minified size | Minified + gzip size |
|------|-----------------|------------------------|
| 4.2 MB | 1.6 MB | 527.9 kB |
| 4.2 MB | 1.6 MB | 529.2 kB |

#### CDN links
> https://cdn.plot.ly/plotly-gl3d-3.6.0.js
> https://cdn.plot.ly/plotly-gl3d-3.7.0.js

> https://cdn.plot.ly/plotly-gl3d-3.6.0.min.js
> https://cdn.plot.ly/plotly-gl3d-3.7.0.min.js


#### npm packages
Expand All @@ -183,12 +183,12 @@ The `gl2d` partial bundle contains trace modules `parcoords`, `scatter`, `scatte

| Raw size | Minified size | Minified + gzip size |
|------|-----------------|------------------------|
| 3.8 MB | 1.5 MB | 521.8 kB |
| 3.8 MB | 1.5 MB | 523.1 kB |

#### CDN links
> https://cdn.plot.ly/plotly-gl2d-3.6.0.js
> https://cdn.plot.ly/plotly-gl2d-3.7.0.js

> https://cdn.plot.ly/plotly-gl2d-3.6.0.min.js
> https://cdn.plot.ly/plotly-gl2d-3.7.0.min.js


#### npm packages
Expand All @@ -206,12 +206,12 @@ The `mapbox` partial bundle contains trace modules `choroplethmapbox`, `densitym

| Raw size | Minified size | Minified + gzip size |
|------|-----------------|------------------------|
| 4.5 MB | 1.9 MB | 580.7 kB |
| 4.5 MB | 1.9 MB | 582.2 kB |

#### CDN links
> https://cdn.plot.ly/plotly-mapbox-3.6.0.js
> https://cdn.plot.ly/plotly-mapbox-3.7.0.js

> https://cdn.plot.ly/plotly-mapbox-3.6.0.min.js
> https://cdn.plot.ly/plotly-mapbox-3.7.0.min.js


#### npm packages
Expand All @@ -229,12 +229,12 @@ The `finance` partial bundle contains trace modules `bar`, `candlestick`, `funne

| Raw size | Minified size | Minified + gzip size |
|------|-----------------|------------------------|
| 2.9 MB | 1.2 MB | 398.9 kB |
| 2.9 MB | 1.2 MB | 400 kB |

#### CDN links
> https://cdn.plot.ly/plotly-finance-3.6.0.js
> https://cdn.plot.ly/plotly-finance-3.7.0.js

> https://cdn.plot.ly/plotly-finance-3.6.0.min.js
> https://cdn.plot.ly/plotly-finance-3.7.0.min.js


#### npm packages
Expand All @@ -252,12 +252,12 @@ The `strict` partial bundle contains trace modules `bar`, `barpolar`, `box`, `ca

| Raw size | Minified size | Minified + gzip size |
|------|-----------------|------------------------|
| 11.5 MB | 4.9 MB | 1.5 MB |
| 11.5 MB | 5 MB | 1.5 MB |

#### CDN links
> https://cdn.plot.ly/plotly-strict-3.6.0.js
> https://cdn.plot.ly/plotly-strict-3.7.0.js

> https://cdn.plot.ly/plotly-strict-3.6.0.min.js
> https://cdn.plot.ly/plotly-strict-3.7.0.min.js


#### npm packages
Expand Down
8 changes: 4 additions & 4 deletions dist/plot-schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -279,7 +279,7 @@
"valType": "number"
},
"plotlyServerURL": {
"description": "When set it determines base URL for the 'Edit in Chart Studio' `showEditInChartStudio`/`showSendToCloud` mode bar button and the showLink/sendData on-graph link. To enable sending your data to Chart Studio Cloud, you need to set both `plotlyServerURL` to 'https://chart-studio.plotly.com' and also set `showSendToCloud` to true.",
"description": "Sets the URL for the `sendChartToCloud` modebar button. When clicked, the button will send the chart data to this URL.",
"dflt": "",
"valType": "string"
},
Expand Down Expand Up @@ -331,7 +331,7 @@
"valType": "boolean"
},
"showEditInChartStudio": {
"description": "Same as `showSendToCloud`, but use a pencil icon instead of a floppy-disk. Note that if both `showSendToCloud` and `showEditInChartStudio` are turned, only `showEditInChartStudio` will be honored.",
"description": "Deprecated. Use `showSendToCloud` instead.",
"dflt": false,
"valType": "boolean"
},
Expand All @@ -341,7 +341,7 @@
"valType": "boolean"
},
"showSendToCloud": {
"description": "Should we include a ModeBar button, labeled \"Edit in Chart Studio\", that sends this chart to chart-studio.plotly.com (formerly plot.ly) or another plotly server as specified by `plotlyServerURL` for editing, export, etc? Prior to version 1.43.0 this button was included by default, now it is opt-in using this flag. Note that this button can (depending on `plotlyServerURL` being set) send your data to an external server. However that server does not persist your data until you arrive at the Chart Studio and explicitly click \"Save\".",
"description": "Should we include a modebar button that sends this chart to a URL specified by `plotlyServerURL`, for sharing the chart with others? Note that this button will (after a confirmation step) send chart data to an external server.",
"dflt": false,
"valType": "boolean"
},
Expand Down Expand Up @@ -4639,7 +4639,7 @@
},
"remove": {
"arrayOk": true,
"description": "Determines which predefined modebar buttons to remove. Similar to `config.modeBarButtonsToRemove` option. This may include *autoScale2d*, *autoscale*, *editInChartStudio*, *editinchartstudio*, *hoverCompareCartesian*, *hovercompare*, *lasso*, *lasso2d*, *orbitRotation*, *orbitrotation*, *pan*, *pan2d*, *pan3d*, *reset*, *resetCameraDefault3d*, *resetCameraLastSave3d*, *resetGeo*, *resetSankeyGroup*, *resetScale2d*, *resetViewMap*, *resetViewMapbox*, *resetViews*, *resetcameradefault*, *resetcameralastsave*, *resetsankeygroup*, *resetscale*, *resetview*, *resetviews*, *select*, *select2d*, *sendDataToCloud*, *senddatatocloud*, *tableRotation*, *tablerotation*, *toImage*, *toggleHover*, *toggleSpikelines*, *togglehover*, *togglespikelines*, *toimage*, *zoom*, *zoom2d*, *zoom3d*, *zoomIn2d*, *zoomInGeo*, *zoomInMap*, *zoomInMapbox*, *zoomOut2d*, *zoomOutGeo*, *zoomOutMap*, *zoomOutMapbox*, *zoomin*, *zoomout*.",
"description": "Determines which predefined modebar buttons to remove. Similar to `config.modeBarButtonsToRemove` option. This may include *autoScale2d*, *autoscale*, *hoverCompareCartesian*, *hovercompare*, *lasso*, *lasso2d*, *orbitRotation*, *orbitrotation*, *pan*, *pan2d*, *pan3d*, *reset*, *resetCameraDefault3d*, *resetCameraLastSave3d*, *resetGeo*, *resetSankeyGroup*, *resetScale2d*, *resetViewMap*, *resetViewMapbox*, *resetViews*, *resetcameradefault*, *resetcameralastsave*, *resetsankeygroup*, *resetscale*, *resetview*, *resetviews*, *select*, *select2d*, *sendChartToCloud*, *sendcharttocloud*, *tableRotation*, *tablerotation*, *toImage*, *toggleHover*, *toggleSpikelines*, *togglehover*, *togglespikelines*, *toimage*, *zoom*, *zoom2d*, *zoom3d*, *zoomIn2d*, *zoomInGeo*, *zoomInMap*, *zoomInMapbox*, *zoomOut2d*, *zoomOutGeo*, *zoomOutMap*, *zoomOutMapbox*, *zoomin*, *zoomout*.",
"dflt": "",
"editType": "modebar",
"valType": "string"
Expand Down
204 changes: 144 additions & 60 deletions dist/plotly-basic.js

Large diffs are not rendered by default.

16 changes: 8 additions & 8 deletions dist/plotly-basic.min.js

Large diffs are not rendered by default.

268 changes: 176 additions & 92 deletions dist/plotly-cartesian.js

Large diffs are not rendered by default.

68 changes: 34 additions & 34 deletions dist/plotly-cartesian.min.js

Large diffs are not rendered by default.

225 changes: 157 additions & 68 deletions dist/plotly-finance.js

Large diffs are not rendered by default.

16 changes: 8 additions & 8 deletions dist/plotly-finance.min.js

Large diffs are not rendered by default.

10 changes: 7 additions & 3 deletions dist/plotly-geo-assets.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

304 changes: 220 additions & 84 deletions dist/plotly-geo.js

Large diffs are not rendered by default.

16 changes: 8 additions & 8 deletions dist/plotly-geo.min.js

Large diffs are not rendered by default.

297 changes: 194 additions & 103 deletions dist/plotly-gl2d.js

Large diffs are not rendered by default.

98 changes: 49 additions & 49 deletions dist/plotly-gl2d.min.js

Large diffs are not rendered by default.

1,448 changes: 766 additions & 682 deletions dist/plotly-gl3d.js

Large diffs are not rendered by default.

48 changes: 24 additions & 24 deletions dist/plotly-gl3d.min.js

Large diffs are not rendered by default.

756 changes: 434 additions & 322 deletions dist/plotly-mapbox.js

Large diffs are not rendered by default.

72 changes: 36 additions & 36 deletions dist/plotly-mapbox.min.js

Large diffs are not rendered by default.

Loading
Loading