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
11 changes: 11 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,17 @@ 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.5.1] -- 2026-05-01

### Changed

- Reduce NPM bundle size by removing unneeded files [[#7746](https://github.com/plotly/plotly.js/pull/7746)]

### Fixed

- Fix bug where certain `axis.minallowed` values could cause axis to be reversed [[#7761](https://github.com/plotly/plotly.js/pull/7761)]


## [3.5.0] -- 2026-04-03

### 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.5.0
version: 3.5.1
doi: 10.5281/zenodo.13964707
date-released: 2026-04-03
date-released: 2026-05-01
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.5.0.min.js" charset="utf-8"></script>
<script src="https://cdn.plot.ly/plotly-3.5.1.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.5.0.min.js"
import "https://cdn.plot.ly/plotly-3.5.1.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.5.0.js" charset="utf-8"></script>
<script src="https://cdn.plot.ly/plotly-3.5.1.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
36 changes: 18 additions & 18 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.5.0.js
> https://cdn.plot.ly/plotly-3.5.1.js

> https://cdn.plot.ly/plotly-3.5.0.min.js
> https://cdn.plot.ly/plotly-3.5.1.min.js


#### npm packages
Expand Down Expand Up @@ -94,9 +94,9 @@ The `basic` partial bundle contains trace modules `bar`, `pie` and `scatter`.
| 2.7 MB | 1.1 MB | 364.8 kB |

#### CDN links
> https://cdn.plot.ly/plotly-basic-3.5.0.js
> https://cdn.plot.ly/plotly-basic-3.5.1.js

> https://cdn.plot.ly/plotly-basic-3.5.0.min.js
> https://cdn.plot.ly/plotly-basic-3.5.1.min.js


#### npm packages
Expand All @@ -117,9 +117,9 @@ The `cartesian` partial bundle contains trace modules `bar`, `box`, `contour`, `
| 3.4 MB | 1.4 MB | 463 kB |

#### CDN links
> https://cdn.plot.ly/plotly-cartesian-3.5.0.js
> https://cdn.plot.ly/plotly-cartesian-3.5.1.js

> https://cdn.plot.ly/plotly-cartesian-3.5.0.min.js
> https://cdn.plot.ly/plotly-cartesian-3.5.1.min.js


#### npm packages
Expand All @@ -140,9 +140,9 @@ The `geo` partial bundle contains trace modules `choropleth`, `scatter` and `sca
| 3 MB | 1.2 MB | 415.2 kB |

#### CDN links
> https://cdn.plot.ly/plotly-geo-3.5.0.js
> https://cdn.plot.ly/plotly-geo-3.5.1.js

> https://cdn.plot.ly/plotly-geo-3.5.0.min.js
> https://cdn.plot.ly/plotly-geo-3.5.1.min.js


#### npm packages
Expand All @@ -163,9 +163,9 @@ The `gl3d` partial bundle contains trace modules `cone`, `isosurface`, `mesh3d`,
| 4.2 MB | 1.6 MB | 527.4 kB |

#### CDN links
> https://cdn.plot.ly/plotly-gl3d-3.5.0.js
> https://cdn.plot.ly/plotly-gl3d-3.5.1.js

> https://cdn.plot.ly/plotly-gl3d-3.5.0.min.js
> https://cdn.plot.ly/plotly-gl3d-3.5.1.min.js


#### npm packages
Expand All @@ -186,9 +186,9 @@ The `gl2d` partial bundle contains trace modules `parcoords`, `scatter`, `scatte
| 3.8 MB | 1.5 MB | 521.2 kB |

#### CDN links
> https://cdn.plot.ly/plotly-gl2d-3.5.0.js
> https://cdn.plot.ly/plotly-gl2d-3.5.1.js

> https://cdn.plot.ly/plotly-gl2d-3.5.0.min.js
> https://cdn.plot.ly/plotly-gl2d-3.5.1.min.js


#### npm packages
Expand All @@ -209,9 +209,9 @@ The `mapbox` partial bundle contains trace modules `choroplethmapbox`, `densitym
| 4.5 MB | 1.9 MB | 580.1 kB |

#### CDN links
> https://cdn.plot.ly/plotly-mapbox-3.5.0.js
> https://cdn.plot.ly/plotly-mapbox-3.5.1.js

> https://cdn.plot.ly/plotly-mapbox-3.5.0.min.js
> https://cdn.plot.ly/plotly-mapbox-3.5.1.min.js


#### npm packages
Expand All @@ -232,9 +232,9 @@ The `finance` partial bundle contains trace modules `bar`, `candlestick`, `funne
| 2.9 MB | 1.2 MB | 398.5 kB |

#### CDN links
> https://cdn.plot.ly/plotly-finance-3.5.0.js
> https://cdn.plot.ly/plotly-finance-3.5.1.js

> https://cdn.plot.ly/plotly-finance-3.5.0.min.js
> https://cdn.plot.ly/plotly-finance-3.5.1.min.js


#### npm packages
Expand All @@ -255,9 +255,9 @@ The `strict` partial bundle contains trace modules `bar`, `barpolar`, `box`, `ca
| 11.5 MB | 4.9 MB | 1.5 MB |

#### CDN links
> https://cdn.plot.ly/plotly-strict-3.5.0.js
> https://cdn.plot.ly/plotly-strict-3.5.1.js

> https://cdn.plot.ly/plotly-strict-3.5.0.min.js
> https://cdn.plot.ly/plotly-strict-3.5.1.min.js


#### npm packages
Expand Down
31 changes: 16 additions & 15 deletions dist/plotly-basic.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/**
* plotly.js (basic) v3.5.0
* plotly.js (basic) v3.5.1
* Copyright 2012-2026, Plotly, Inc.
* All rights reserved.
* Licensed under the MIT license
Expand Down Expand Up @@ -42,7 +42,7 @@ var Plotly = (() => {
var require_version = __commonJS({
"src/version.js"(exports) {
"use strict";
exports.version = "3.5.0";
exports.version = "3.5.1";
}
});

Expand Down Expand Up @@ -25552,20 +25552,21 @@ var Plotly = (() => {
var axrev = rng[1] < rng[0];
if (axrev) rng.reverse();
var bounds = Lib.simpleMap([minallowed, maxallowed], ax.r2l);
if (minallowed !== void 0 && rng[0] < bounds[0]) range[axrev ? 1 : 0] = minallowed;
if (maxallowed !== void 0 && rng[1] > bounds[1]) range[axrev ? 0 : 1] = maxallowed;
if (range[0] === range[1]) {
var minL = ax.l2r(minallowed);
var maxL = ax.l2r(maxallowed);
if (minallowed !== void 0 && rng[0] < bounds[0]) {
range[axrev ? 1 : 0] = minallowed;
rng[0] = bounds[0];
}
if (maxallowed !== void 0 && rng[1] > bounds[1]) {
range[axrev ? 0 : 1] = maxallowed;
rng[1] = bounds[1];
}
if (rng[0] >= rng[1]) {
if (minallowed !== void 0) {
var _max = minL + 1;
if (maxallowed !== void 0) _max = Math.min(_max, maxL);
range[axrev ? 1 : 0] = _max;
}
if (maxallowed !== void 0) {
var _min = maxL + 1;
if (minallowed !== void 0) _min = Math.max(_min, minL);
range[axrev ? 0 : 1] = _min;
var _max = bounds[0] + 1;
if (maxallowed !== void 0) _max = Math.min(_max, bounds[1]);
range[axrev ? 0 : 1] = ax.l2r(_max);
} else if (maxallowed !== void 0) {
range[axrev ? 1 : 0] = ax.l2r(bounds[1] - 1);
}
}
};
Expand Down
6 changes: 3 additions & 3 deletions dist/plotly-basic.min.js

Large diffs are not rendered by default.

31 changes: 16 additions & 15 deletions dist/plotly-cartesian.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/**
* plotly.js (cartesian) v3.5.0
* plotly.js (cartesian) v3.5.1
* Copyright 2012-2026, Plotly, Inc.
* All rights reserved.
* Licensed under the MIT license
Expand Down Expand Up @@ -42,7 +42,7 @@ var Plotly = (() => {
var require_version = __commonJS({
"src/version.js"(exports) {
"use strict";
exports.version = "3.5.0";
exports.version = "3.5.1";
}
});

Expand Down Expand Up @@ -25552,20 +25552,21 @@ var Plotly = (() => {
var axrev = rng[1] < rng[0];
if (axrev) rng.reverse();
var bounds = Lib.simpleMap([minallowed, maxallowed], ax.r2l);
if (minallowed !== void 0 && rng[0] < bounds[0]) range[axrev ? 1 : 0] = minallowed;
if (maxallowed !== void 0 && rng[1] > bounds[1]) range[axrev ? 0 : 1] = maxallowed;
if (range[0] === range[1]) {
var minL = ax.l2r(minallowed);
var maxL = ax.l2r(maxallowed);
if (minallowed !== void 0 && rng[0] < bounds[0]) {
range[axrev ? 1 : 0] = minallowed;
rng[0] = bounds[0];
}
if (maxallowed !== void 0 && rng[1] > bounds[1]) {
range[axrev ? 0 : 1] = maxallowed;
rng[1] = bounds[1];
}
if (rng[0] >= rng[1]) {
if (minallowed !== void 0) {
var _max = minL + 1;
if (maxallowed !== void 0) _max = Math.min(_max, maxL);
range[axrev ? 1 : 0] = _max;
}
if (maxallowed !== void 0) {
var _min = maxL + 1;
if (minallowed !== void 0) _min = Math.max(_min, minL);
range[axrev ? 0 : 1] = _min;
var _max = bounds[0] + 1;
if (maxallowed !== void 0) _max = Math.min(_max, bounds[1]);
range[axrev ? 0 : 1] = ax.l2r(_max);
} else if (maxallowed !== void 0) {
range[axrev ? 1 : 0] = ax.l2r(bounds[1] - 1);
}
}
};
Expand Down
22 changes: 11 additions & 11 deletions dist/plotly-cartesian.min.js

Large diffs are not rendered by default.

31 changes: 16 additions & 15 deletions dist/plotly-finance.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/**
* plotly.js (finance) v3.5.0
* plotly.js (finance) v3.5.1
* Copyright 2012-2026, Plotly, Inc.
* All rights reserved.
* Licensed under the MIT license
Expand Down Expand Up @@ -59,7 +59,7 @@ var Plotly = (() => {
var require_version = __commonJS({
"src/version.js"(exports) {
"use strict";
exports.version = "3.5.0";
exports.version = "3.5.1";
}
});

Expand Down Expand Up @@ -25569,20 +25569,21 @@ var Plotly = (() => {
var axrev = rng[1] < rng[0];
if (axrev) rng.reverse();
var bounds = Lib.simpleMap([minallowed, maxallowed], ax.r2l);
if (minallowed !== void 0 && rng[0] < bounds[0]) range[axrev ? 1 : 0] = minallowed;
if (maxallowed !== void 0 && rng[1] > bounds[1]) range[axrev ? 0 : 1] = maxallowed;
if (range[0] === range[1]) {
var minL = ax.l2r(minallowed);
var maxL = ax.l2r(maxallowed);
if (minallowed !== void 0 && rng[0] < bounds[0]) {
range[axrev ? 1 : 0] = minallowed;
rng[0] = bounds[0];
}
if (maxallowed !== void 0 && rng[1] > bounds[1]) {
range[axrev ? 0 : 1] = maxallowed;
rng[1] = bounds[1];
}
if (rng[0] >= rng[1]) {
if (minallowed !== void 0) {
var _max = minL + 1;
if (maxallowed !== void 0) _max = Math.min(_max, maxL);
range[axrev ? 1 : 0] = _max;
}
if (maxallowed !== void 0) {
var _min = maxL + 1;
if (minallowed !== void 0) _min = Math.max(_min, minL);
range[axrev ? 0 : 1] = _min;
var _max = bounds[0] + 1;
if (maxallowed !== void 0) _max = Math.min(_max, bounds[1]);
range[axrev ? 0 : 1] = ax.l2r(_max);
} else if (maxallowed !== void 0) {
range[axrev ? 1 : 0] = ax.l2r(bounds[1] - 1);
}
}
};
Expand Down
6 changes: 3 additions & 3 deletions dist/plotly-finance.min.js

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions dist/plotly-geo-assets.js

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

31 changes: 16 additions & 15 deletions dist/plotly-geo.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/**
* plotly.js (geo) v3.5.0
* plotly.js (geo) v3.5.1
* Copyright 2012-2026, Plotly, Inc.
* All rights reserved.
* Licensed under the MIT license
Expand Down Expand Up @@ -42,7 +42,7 @@ var Plotly = (() => {
var require_version = __commonJS({
"src/version.js"(exports) {
"use strict";
exports.version = "3.5.0";
exports.version = "3.5.1";
}
});

Expand Down Expand Up @@ -25552,20 +25552,21 @@ var Plotly = (() => {
var axrev = rng[1] < rng[0];
if (axrev) rng.reverse();
var bounds = Lib.simpleMap([minallowed, maxallowed], ax.r2l);
if (minallowed !== void 0 && rng[0] < bounds[0]) range[axrev ? 1 : 0] = minallowed;
if (maxallowed !== void 0 && rng[1] > bounds[1]) range[axrev ? 0 : 1] = maxallowed;
if (range[0] === range[1]) {
var minL = ax.l2r(minallowed);
var maxL = ax.l2r(maxallowed);
if (minallowed !== void 0 && rng[0] < bounds[0]) {
range[axrev ? 1 : 0] = minallowed;
rng[0] = bounds[0];
}
if (maxallowed !== void 0 && rng[1] > bounds[1]) {
range[axrev ? 0 : 1] = maxallowed;
rng[1] = bounds[1];
}
if (rng[0] >= rng[1]) {
if (minallowed !== void 0) {
var _max = minL + 1;
if (maxallowed !== void 0) _max = Math.min(_max, maxL);
range[axrev ? 1 : 0] = _max;
}
if (maxallowed !== void 0) {
var _min = maxL + 1;
if (minallowed !== void 0) _min = Math.max(_min, minL);
range[axrev ? 0 : 1] = _min;
var _max = bounds[0] + 1;
if (maxallowed !== void 0) _max = Math.min(_max, bounds[1]);
range[axrev ? 0 : 1] = ax.l2r(_max);
} else if (maxallowed !== void 0) {
range[axrev ? 1 : 0] = ax.l2r(bounds[1] - 1);
}
}
};
Expand Down
12 changes: 6 additions & 6 deletions dist/plotly-geo.min.js

Large diffs are not rendered by default.

Loading
Loading